Compare commits

...

10 Commits
3.11 ... 3.11

Author SHA1 Message Date
Christophe Nanteuil c8e6544251 traduction de xml - 2e partie (#190)
Reviewed-on: AFPy/python-docs-fr#190
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Co-committed-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
2024-04-03 15:00:25 +00:00
Christophe Nanteuil 5f4ef53ad1 Fin de la traduction de email (#186)
Reviewed-on: AFPy/python-docs-fr#186
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Co-committed-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
2024-03-23 13:26:29 +00:00
Christophe Nanteuil b363d3499a Début de traduction de XML (#187)
Pour information, la traduction m'a amené à créer cette [PR](https://github.com/python/cpython/pull/108848) dans CPython.

Reviewed-on: AFPy/python-docs-fr#187
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Co-committed-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
2024-03-23 13:25:51 +00:00
Christophe Nanteuil 605b8b2f39 traduction de email - 3e partie (#179)
Reviewed-on: AFPy/python-docs-fr#179
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Co-committed-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
2024-03-23 13:25:06 +00:00
Christophe Nanteuil c204eb0a05 poursuite de la traduction de email (#178)
Reviewed-on: AFPy/python-docs-fr#178
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Co-committed-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
2024-01-18 22:34:42 +00:00
Christophe Nanteuil 618c07a64d traduction de email.message (#177)
Reviewed-on: AFPy/python-docs-fr#177
Reviewed-by: Julien Palard <julien@palard.fr>
Co-authored-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
Co-committed-by: Christophe Nanteuil <christophe.nanteuil@gmail.com>
2024-01-17 21:36:22 +00:00
Christophe Nanteuil f2c7b5ad89 remplacement poignée et consommation humaine 2024-01-17 21:06:00 +00:00
Christophe Nanteuil b955d6b071 relecture de mdk 2024-01-17 21:06:00 +00:00
Christophe Nanteuil 395da5be95 poursuite de la traduction de extending 2024-01-17 21:06:00 +00:00
Loc Cosnier c09cf6d891 Révision d'un fuzzy de library/zoneinfo.po (#263)
Révision d'un fuzzy, qui n'en était pas vraiment un...

Closes #262

Reviewed-on: AFPy/python-docs-fr#263
Reviewed-by: Christophe Nanteuil <christophenan@noreply.localhost>
Co-authored-by: Loc Cosnier <loc.cosnier@pm.me>
Co-committed-by: Loc Cosnier <loc.cosnier@pm.me>
2024-01-02 15:15:41 +00:00
17 changed files with 3567 additions and 486 deletions

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
"PO-Revision-Date: 2021-02-07 20:03+0100\n"
"Last-Translator: \n"
"PO-Revision-Date: 2023-11-27 21:48+0100\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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 2.3\n"
"X-Generator: Poedit 3.2.2\n"
#: extending/newtypes.rst:7
msgid "Defining Extension Types: Assorted Topics"
@ -24,12 +24,16 @@ msgid ""
"This section aims to give a quick fly-by on the various type methods you can "
"implement and what they do."
msgstr ""
"Cette section vise à donner un aperçu rapide des différentes méthodes de "
"type que vous pouvez implémenter et de ce qu'elles font."
#: extending/newtypes.rst:14
msgid ""
"Here is the definition of :c:type:`PyTypeObject`, with some fields only used "
"in :ref:`debug builds <debug-build>` omitted:"
msgstr ""
"Voici la définition de :c:type:`PyTypeObject`, après avoir enlevé certains "
"champs utilisés uniquement dans :ref:`debug builds <debug-build>` :"
#: extending/newtypes.rst:20
msgid ""
@ -37,6 +41,9 @@ msgid ""
"type you want to define, the chances are very good that you will only "
"implement a handful of these."
msgstr ""
"Cela fait *beaucoup* de méthodes. Ne vous inquiétez pas trop cependant : si "
"vous souhaitez définir un type, il y a de fortes chances que vous "
"n'implémentiez qu'une petite partie d'entre elles."
#: extending/newtypes.rst:24
msgid ""
@ -47,6 +54,12 @@ msgid ""
"that includes the fields you need and then change the values to suit your "
"new type. ::"
msgstr ""
"Comme vous vous en doutez probablement maintenant, nous allons passer en "
"revue cela et donner plus d'informations sur les différents gestionnaires. "
"Nous ne suivrons pas l'ordre dans lequel ils sont définis dans la structure, "
"car l'ordre des champs résulte d'un certain historique. Il est souvent plus "
"facile de trouver un exemple qui inclut les champs dont vous avez besoin, "
"puis de modifier les valeurs en fonction de votre nouveau type ::"
#: extending/newtypes.rst:33
msgid ""
@ -54,6 +67,9 @@ msgid ""
"appear in various places, almost entirely for diagnostic purposes. Try to "
"choose something that will be helpful in such a situation! ::"
msgstr ""
"Le nom du type comme mentionné dans le chapitre précédent, cela apparaîtra "
"à divers endroits, presque entièrement à des fins de diagnostic. Essayez de "
"choisir quelque chose qui sera utile dans une telle situation ! ::"
#: extending/newtypes.rst:39
msgid ""
@ -63,6 +79,11 @@ msgid ""
"`~PyTypeObject.tp_itemsize` field comes in. This will be dealt with "
"later. ::"
msgstr ""
"Ces champs indiquent la quantité de mémoire à allouer à l'exécution lorsque "
"de nouveaux objets de ce type sont créés. Python prend en charge nativement "
"des structures de longueur variable (pensez : chaînes, *n*-uplets), c'est là "
"que le champ :c:member:`~PyTypeObject.tp_itemsize` entre en jeu. Cela sera "
"traité plus tard. ::"
#: extending/newtypes.rst:46
msgid ""
@ -83,7 +104,7 @@ msgstr ""
#: extending/newtypes.rst:54
msgid "Finalization and De-allocation"
msgstr "Finalisation et de-allocation"
msgstr "Finalisation et libération de mémoire"
#: extending/newtypes.rst:66
msgid ""
@ -93,12 +114,19 @@ msgid ""
"here. The object itself needs to be freed here as well. Here is an example "
"of this function::"
msgstr ""
"Cette fonction est appelée lorsque le compteur de références de l'instance "
"de votre type tombe à zéro et que l'interpréteur Python veut récupérer la "
"mémoire afférente. Si votre type a de la mémoire à libérer ou un autre "
"nettoyage à effectuer, vous pouvez le mettre ici. L'objet lui-même doit être "
"libéré ici aussi. Voici un exemple de cette fonction ::"
#: extending/newtypes.rst:79
msgid ""
"If your type supports garbage collection, the destructor should call :c:func:"
"`PyObject_GC_UnTrack` before clearing any member fields::"
msgstr ""
"Si votre type prend en charge le ramasse-miettes, le destructeur doit "
"appeler :c:func:`PyObject_GC_UnTrack` avant d'effacer les champs membres ::"
#: extending/newtypes.rst:95
msgid ""
@ -114,7 +142,21 @@ msgid ""
"the unsafe action, and restoring it when done. This can be done using the :"
"c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` functions::"
msgstr ""
"Une exigence importante de la fonction de libération de la mémoire est de ne "
"pas s'occuper de toutes les exceptions en attente. C'est important car les "
"fonctions de libération de la mémoire sont fréquemment appelées lorsque "
"l'interpréteur remonte la pile d'appels Python ; lorsque la pile est "
"remontée à cause d'une exception (plutôt que de retours normaux), les "
"fonctions de libération peuvent voir qu'une exception a déjà été définie. "
"Toute action effectuée par une fonction de libération de la mémoire pouvant "
"entraîner l'exécution de code Python supplémentaire peut détecter qu'une "
"exception a été définie. Cela peut conduire linterpréteur à se tromper sur "
"la nature de l'erreur. La bonne façon d'éviter cela est d'enregistrer une "
"exception en attente avant d'effectuer l'action non sécurisée et à la "
"restaurer une fois terminée. Cela peut être fait en utilisant les fonctions :"
"c:func:`PyErr_Fetch` et :c:func:`PyErr_Restore` ::"
# suit un :
#: extending/newtypes.rst:134
msgid ""
"There are limitations to what you can safely do in a deallocator function. "
@ -127,6 +169,17 @@ msgid ""
"(as in the example above) might end up calling :c:member:`~PyTypeObject."
"tp_dealloc` again, causing a double free and a crash."
msgstr ""
"des limites existent à ce que vous pouvez faire en toute sécurité dans une "
"fonction de libération de la mémoire. Tout d'abord, si votre type prend en "
"charge le ramasse-miettes (en utilisant :c:member:`~PyTypeObject."
"tp_traverse` et/ou :c:member:`~PyTypeObject.tp_clear`), certains membres de "
"l'objet peuvent avoir été effacés ou finalisés avant que :c:member:"
"`~PyTypeObject.tp_dealloc` ne soit appelé. Deuxièmement, dans :c:member:"
"`~PyTypeObject.tp_dealloc`, votre objet est dans un état instable : son "
"compteur de références est égal à zéro. Tout appel à un objet non trivial ou "
"à une API (comme dans l'exemple ci-dessus) peut finir par appeler :c:member:"
"`~PyTypeObject.tp_dealloc` à nouveau, provoquant une double libération et un "
"plantage."
#: extending/newtypes.rst:143
msgid ""
@ -134,6 +187,10 @@ msgid ""
"finalization code in :c:member:`~PyTypeObject.tp_dealloc`, and instead use "
"the new :c:member:`~PyTypeObject.tp_finalize` type method."
msgstr ""
"À partir de Python 3.4, il est recommandé de ne pas mettre de code de "
"finalisation complexe dans :c:member:`~PyTypeObject.tp_dealloc`, et "
"d'utiliser à la place la nouvelle méthode de type :c:member:`~PyTypeObject."
"tp_finalize`."
#: extending/newtypes.rst:148
msgid ":pep:`442` explains the new finalization scheme."
@ -149,6 +206,10 @@ msgid ""
"object: the :func:`repr` function, and the :func:`str` function. (The :func:"
"`print` function just calls :func:`str`.) These handlers are both optional."
msgstr ""
"En Python, il existe deux façons de générer une représentation textuelle "
"d'un objet : la fonction :func:`repr` et la fonction :func:`str` (la "
"fonction :func:`print` appelle simplement :func:`str`). Ces gestionnaires "
"sont tous deux facultatifs."
#: extending/newtypes.rst:166
msgid ""
@ -156,6 +217,9 @@ msgid ""
"containing a representation of the instance for which it is called. Here is "
"a simple example::"
msgstr ""
"Le gestionnaire :c:member:`~PyTypeObject.tp_repr` doit renvoyer un objet "
"chaîne contenant une représentation de l'instance pour laquelle il est "
"appelé. Voici un exemple simple ::"
#: extending/newtypes.rst:177
msgid ""
@ -163,6 +227,9 @@ msgid ""
"interpreter will supply a representation that uses the type's :c:member:"
"`~PyTypeObject.tp_name` and a uniquely identifying value for the object."
msgstr ""
"Si aucun gestionnaire :c:member:`~PyTypeObject.tp_repr` n'est spécifié, "
"l'interpréteur fournira une représentation qui utilise le type :c:member:"
"`~PyTypeObject.tp_name` et une valeur d'identification unique pour l'objet."
#: extending/newtypes.rst:181
msgid ""
@ -174,6 +241,14 @@ msgid ""
"human consumption. If :c:member:`~PyTypeObject.tp_str` is not specified, "
"the :c:member:`~PyTypeObject.tp_repr` handler is used instead."
msgstr ""
"Le gestionnaire :c:member:`~PyTypeObject.tp_str` est à :func:`str` ce que le "
"gestionnaire :c:member:`~PyTypeObject.tp_repr` décrit ci-dessus est à :func:"
"`repr` ; c'est-à-dire qu'il est appelé lorsque le code Python appelle :func:"
"`str` sur une instance de votre objet. Son implémentation est très similaire "
"à la fonction :c:member:`~PyTypeObject.tp_repr`, mais la chaîne résultante "
"est destinée à être lue par des utilisateurs. Si :c:member:`~PyTypeObject."
"tp_str` n'est pas spécifié, le gestionnaire :c:member:`~PyTypeObject."
"tp_repr` est utilisé à la place."
#: extending/newtypes.rst:188
msgid "Here is a simple example::"
@ -192,6 +267,13 @@ msgid ""
"an attribute is a special case, for which the new value passed to the "
"handler is ``NULL``."
msgstr ""
"Pour chaque objet pouvant prendre en charge des attributs, le type "
"correspondant doit fournir les fonctions qui contrôlent la façon dont les "
"attributs sont résolus. Il doit y avoir une fonction qui peut récupérer les "
"attributs (le cas échéant) et une autre pour définir les attributs (si la "
"définition des attributs est autorisée). La suppression d'un attribut est un "
"cas particulier, pour lequel la nouvelle valeur transmise au gestionnaire "
"est ``NULL``."
#: extending/newtypes.rst:208
msgid ""
@ -201,6 +283,12 @@ msgid ""
"`char\\*`, while the other accepts a :c:expr:`PyObject*`. Each type can use "
"whichever pair makes more sense for the implementation's convenience. ::"
msgstr ""
"Python prend en charge deux paires de gestionnaires d'attributs ; un type "
"qui prend en charge les attributs n'a besoin d'implémenter les fonctions que "
"pour une paire. La différence est qu'une paire prend le nom de l'attribut en "
"tant que :c:expr:`char\\*`, tandis que l'autre accepte un :c:expr:"
"`PyObject*`. Chaque type peut utiliser la paire la plus logique pour la "
"commodité de l'implémentation. ::"
#: extending/newtypes.rst:220
msgid ""
@ -212,6 +300,13 @@ msgid ""
"examples which have not been updated to use some of the new generic "
"mechanism that is available."
msgstr ""
"Si accéder aux attributs d'un objet est toujours une opération simple (ceci "
"sera expliqué brièvement), il existe des implémentations génériques qui "
"peuvent être utilisées pour fournir la version :c:expr:`PyObject*` des "
"fonctions de gestion des attributs. Le besoin réel de gestionnaires "
"d'attributs spécifiques au type a presque complètement disparu à partir de "
"Python 2.2, bien qu'il existe de nombreux exemples qui n'ont pas été mis à "
"jour pour utiliser certains des nouveaux mécanismes génériques disponibles."
#: extending/newtypes.rst:231
msgid "Generic Attribute Management"
@ -222,26 +317,37 @@ msgid ""
"Most extension types only use *simple* attributes. So, what makes the "
"attributes simple? There are only a couple of conditions that must be met:"
msgstr ""
"La plupart des types d'extensions n'utilisent que des attributs *simples*. "
"Alors, qu'est-ce qui rend les attributs simples ? Seules quelques conditions "
"doivent être remplies :"
# énumération
#: extending/newtypes.rst:236
msgid ""
"The name of the attributes must be known when :c:func:`PyType_Ready` is "
"called."
msgstr ""
"Le nom des attributs doivent être déjà connus lorsqu'on lance :c:func:"
"`PyType_Ready`."
"le nom des attributs doit être déjà connu lorsqu'on lance :c:func:"
"`PyType_Ready` ;"
# énumération
#: extending/newtypes.rst:239
msgid ""
"No special processing is needed to record that an attribute was looked up or "
"set, nor do actions need to be taken based on the value."
msgstr ""
"aucun traitement spécial n'est nécessaire pour enregistrer qu'un attribut a "
"été recherché ou défini, et aucune action ne doit être entreprise en "
"fonction de la valeur."
#: extending/newtypes.rst:242
msgid ""
"Note that this list does not place any restrictions on the values of the "
"attributes, when the values are computed, or how relevant data is stored."
msgstr ""
"Notez que cette liste n'impose aucune restriction sur les valeurs des "
"attributs, le moment où les valeurs sont calculées ou la manière dont les "
"données pertinentes sont stockées."
#: extending/newtypes.rst:245
msgid ""
@ -254,11 +360,19 @@ msgid ""
"`~PyTypeObject.tp_getattro` and :c:member:`~PyTypeObject.tp_setattro` fields "
"``NULL`` as well, allowing the base type to handle attributes."
msgstr ""
"Lorsque :c:func:`PyType_Ready` est appelé, il utilise trois tableaux "
"référencés par l'objet type pour créer des :term:`descripteurs <descriptor>` "
"qui sont placés dans le dictionnaire de l'objet type. Chaque descripteur "
"contrôle l'accès à un attribut de l'objet instance. Chacun des tableaux est "
"facultatif ; si les trois sont ``NULL``, les instances du type n'auront que "
"des attributs hérités de leur type de base et doivent laisser les champs :c:"
"member:`~PyTypeObject.tp_getattro` et :c:member:`~PyTypeObject .tp_setattro` "
"à ``NULL`` également, permettant au type de base de gérer les attributs."
#: extending/newtypes.rst:253
msgid "The tables are declared as three fields of the type object::"
msgstr ""
"Les tables sont déclarées sous la forme de trois champs de type objet ::"
"Les tableaux sont déclarés sous la forme de trois champs de type objet ::"
#: extending/newtypes.rst:259
msgid ""
@ -266,6 +380,9 @@ msgid ""
"array of :c:type:`PyMethodDef` structures. Each entry in the table is an "
"instance of this structure::"
msgstr ""
"Si :c:member:`~PyTypeObject.tp_methods` n'est pas ``NULL``, il doit faire "
"référence à un tableau de structures :c:type:`PyMethodDef`. Chaque entrée du "
"tableau est une instance de cette structure ::"
#: extending/newtypes.rst:270
msgid ""
@ -274,6 +391,11 @@ msgid ""
"needed at the end; it is a sentinel that marks the end of the array. The :"
"attr:`ml_name` field of the sentinel must be ``NULL``."
msgstr ""
"Une entrée doit être définie pour chaque méthode fournie par le type ; "
"aucune entrée n'est nécessaire pour les méthodes héritées d'un type ancêtre. "
"Une entrée supplémentaire est nécessaire à la fin ; c'est une sentinelle qui "
"marque la fin du tableau. Le champ :attr:`ml_name` de la sentinelle doit "
"être ``NULL``."
#: extending/newtypes.rst:275
msgid ""
@ -282,6 +404,10 @@ msgid ""
"access may be read-only or read-write. The structures in the table are "
"defined as::"
msgstr ""
"Le deuxième tableau est utilisé pour définir les attributs qui correspondent "
"directement aux données stockées dans l'instance. Divers types C natifs sont "
"pris en charge et l'accès peut être en lecture seule ou en lecture-écriture. "
"Les structures du tableau sont définies comme suit :"
#: extending/newtypes.rst:287
msgid ""
@ -293,12 +419,21 @@ msgid ""
"`flags` field is used to store flags which control how the attribute can be "
"accessed."
msgstr ""
"Pour chaque entrée du tableau, un :term:`descripteur <descriptor>` sera "
"construit et ajouté au type qui pourra extraire une valeur de la structure "
"de l'instance. Le champ :attr:`type` doit contenir l'un des codes de type "
"définis dans l'en-tête :file:`structmember.h` ; la valeur sera utilisée pour "
"déterminer comment convertir les valeurs Python vers et à partir des valeurs "
"C. Le champ :attr:`flags` est utilisé pour stocker les drapeaux qui "
"contrôlent l'accès à l'attribut."
#: extending/newtypes.rst:294
msgid ""
"The following flag constants are defined in :file:`structmember.h`; they may "
"be combined using bitwise-OR."
msgstr ""
"Les constantes de drapeaux suivantes sont définies dans :file:`structmember."
"h` ; elles peuvent être combinées à l'aide du *OU* binaire."
#: extending/newtypes.rst:298
msgid "Constant"
@ -317,15 +452,16 @@ msgid "Never writable."
msgstr "Jamais disponible en écriture."
#: extending/newtypes.rst:302
#, fuzzy
msgid ":const:`PY_AUDIT_READ`"
msgstr ":const:`READONLY`"
msgstr ":const:`PY_AUDIT_READ`"
#: extending/newtypes.rst:302
msgid ""
"Emit an ``object.__getattr__`` :ref:`audit events <audit-events>` before "
"reading."
msgstr ""
"Émet un :ref:`événement d'audit <audit-events>` ``object.__getattr__`` avant "
"la lecture."
#: extending/newtypes.rst:307
msgid ""
@ -334,6 +470,10 @@ msgid ""
"`PY_AUDIT_READ`, so fields that specify either :const:`RESTRICTED` or :const:"
"`READ_RESTRICTED` will also raise an audit event."
msgstr ""
":const:`RESTRICTED`, :const:`READ_RESTRICTED` et :const:`WRITE_RESTRICTED` "
"sont obsolètes. Cependant, :const:`READ_RESTRICTED` est un alias pour :const:"
"`PY_AUDIT_READ`, donc les champs qui spécifient :const:`RESTRICTED` ou :"
"const:`READ_RESTRICTED` déclenchent également un événement d'audit."
#: extending/newtypes.rst:320
msgid ""
@ -344,19 +484,21 @@ msgid ""
"the descriptor from the class object, and get the doc string using its :attr:"
"`__doc__` attribute."
msgstr ""
"Un avantage intéressant de l'utilisation de la table :c:member:"
"`~PyTypeObject.tp_members` pour construire les descripteurs qui sont "
"utilisés à l'exécution, est que à tout attribut défini de cette façon on "
"peut associer un *docstring*, en écrivant simplement le texte dans la table. "
"Une application peut utiliser l'API d'introspection pour récupérer le "
"descripteur de l'objet de classe, et utiliser son attribut :attr:`__doc__` "
"pour renvoyer le *docstring*."
"Un avantage intéressant de l'utilisation du tableau :c:member:`~PyTypeObject."
"tp_members` pour construire les descripteurs utilisés à l'exécution est que, "
"à tout attribut défini de cette façon, on peut associer une chaîne de "
"documentation (*docstring*), en écrivant simplement le texte dans le "
"tableau. Une application peut utiliser l'API d'introspection pour récupérer "
"le descripteur de l'objet de classe et utiliser son attribut :attr:`__doc__` "
"pour renvoyer la chaîne de documentation."
#: extending/newtypes.rst:326
msgid ""
"As with the :c:member:`~PyTypeObject.tp_methods` table, a sentinel entry "
"with a :attr:`name` value of ``NULL`` is required."
msgstr ""
"Comme pour le tableau :c:member:`~PyTypeObject.tp_methods`, une entrée "
"sentinelle avec une valeur ``NULL`` pour :attr:`name` est requise."
#: extending/newtypes.rst:340
msgid "Type-specific Attribute Management"
@ -372,6 +514,14 @@ msgid ""
"handler functions are called, so that if you do need to extend their "
"functionality, you'll understand what needs to be done."
msgstr ""
"Pour plus de simplicité, seule la version :c:expr:`char\\*` est montrée "
"ici ; le type du paramètre *name* est la seule différence entre les "
"variations :c:expr:`char\\*` et :c:expr:`PyObject*` de l'interface. Cet "
"exemple fait effectivement la même chose que l'exemple générique ci-dessus, "
"mais n'utilise pas le support générique ajouté dans Python 2.2. Il explique "
"comment les fonctions de gestionnaire sont appelées, de sorte que si vous "
"avez besoin d'étendre leurs fonctionnalités, vous comprendrez ce qui doit "
"être fait."
#: extending/newtypes.rst:350
msgid ""
@ -379,6 +529,9 @@ msgid ""
"requires an attribute look-up. It is called in the same situations where "
"the :meth:`__getattr__` method of a class would be called."
msgstr ""
"Le gestionnaire :c:member:`~PyTypeObject.tp_getattr` est appelé lorsque "
"l'objet nécessite une recherche d'attribut. Il est appelé dans les mêmes "
"situations que l'appel à la méthode :meth:`__getattr__` d'une classe."
#: extending/newtypes.rst:354
msgid "Here is an example::"
@ -393,6 +546,12 @@ msgid ""
"really all you wanted, the :c:member:`~PyTypeObject.tp_setattr` handler "
"should be set to ``NULL``. ::"
msgstr ""
"Le gestionnaire :c:member:`~PyTypeObject.tp_setattr` est appelé lorsque la "
"méthode :meth:`__setattr__` ou :meth:`__delattr__` d'une instance de classe "
"est appelée. Lorsqu'un attribut doit être supprimé, le troisième paramètre "
"est ``NULL``. Voici un exemple qui lève simplement une exception ; si "
"c'était vraiment tout ce que vous vouliez, le gestionnaire :c:member:"
"`~PyTypeObject.tp_setattr` devrait être défini sur ``NULL``. ::"
#: extending/newtypes.rst:384
msgid "Object Comparison"
@ -405,6 +564,11 @@ msgid ""
"methods <richcmpfuncs>`, like :meth:`__lt__`, and also called by :c:func:"
"`PyObject_RichCompare` and :c:func:`PyObject_RichCompareBool`."
msgstr ""
"Le gestionnaire :c:member:`~PyTypeObject.tp_richcompare` est appelé lorsque "
"des comparaisons sont nécessaires. Il est analogue aux :ref:`méthodes de "
"comparaison riches <richcmpfuncs>`, comme :meth:`__lt__`, et est également "
"appelé par :c:func:`PyObject_RichCompare` et :c:func:"
"`PyObject_RichCompareBool`."
#: extending/newtypes.rst:395
msgid ""
@ -416,22 +580,34 @@ msgid ""
"comparison is not implemented and the other object's comparison method "
"should be tried, or ``NULL`` if an exception was set."
msgstr ""
"Cette fonction est appelée avec deux objets Python et l'opérateur comme "
"arguments, où l'opérateur est ``Py_EQ``, ``Py_NE``, ``Py_LE``, ``Py_GE``, "
"``Py_LT`` ou ``Py_GT``. Elle doit comparer les deux objets conformément à "
"l'opérateur spécifié et renvoyer ``Py_True`` ou ``Py_False`` si la "
"comparaison a réussi, ``Py_NotImplemented`` pour indiquer que la comparaison "
"n'est pas implémentée et que la méthode de comparaison de l'autre objet doit "
"être essayée, ou ``NULL`` si une exception doit être levée."
#: extending/newtypes.rst:403
msgid ""
"Here is a sample implementation, for a datatype that is considered equal if "
"the size of an internal pointer is equal::"
msgstr ""
"Voici un exemple d'implémentation, pour un type de données où l'égalité "
"signifie que la taille d'un pointeur interne est égale :"
#: extending/newtypes.rst:433
msgid "Abstract Protocol Support"
msgstr "Support pour le protocole abstrait"
msgstr "Gestion de protocoles abstraits"
#: extending/newtypes.rst:435
msgid ""
"Python supports a variety of *abstract* 'protocols;' the specific interfaces "
"provided to use these interfaces are documented in :ref:`abstract`."
msgstr ""
"Python prend en charge divers « protocoles » *abstraits* ; les interfaces "
"spécifiques fournies pour utiliser ces interfaces sont documentées dans :ref:"
"`abstract`."
#: extending/newtypes.rst:439
msgid ""
@ -447,6 +623,19 @@ msgid ""
"values are non-``NULL``. The flag may be set to indicate the presence of a "
"slot, but a slot may still be unfilled.) ::"
msgstr ""
"Un certain nombre de ces interfaces abstraites ont été définies au début du "
"développement de l'implémentation Python. En particulier, les protocoles de "
"nombre, de correspondance et de séquence font partie de Python depuis le "
"début. D'autres protocoles ont été ajoutés au fil du temps. Pour les "
"protocoles qui dépendent de plusieurs routines de gestionnaire de "
"l'implémentation du type, les anciens protocoles ont été définis comme des "
"blocs facultatifs de gestionnaires référencés par l'objet type. Pour les "
"protocoles plus récents, il existe des emplacements supplémentaires dans "
"l'objet de type principal, avec un bit d'indicateur défini pour indiquer que "
"les emplacements sont présents et doivent être vérifiés par l'interpréteur "
"(le bit d'indicateur n'indique pas que les valeurs d'emplacement ne sont pas "
"``NULL`` ; il peut être défini pour indiquer la présence d'un emplacement, "
"mais un emplacement peut toujours être vide). ::"
#: extending/newtypes.rst:454
msgid ""
@ -458,12 +647,21 @@ msgid ""
"of these in the :file:`Objects` directory of the Python source "
"distribution. ::"
msgstr ""
"Si vous souhaitez que votre objet puisse agir comme un nombre, une séquence "
"ou un tableau de correspondances, placez l'adresse d'une structure qui "
"implémente le type C :c:type:`PyNumberMethods`, :c:type:`PySequenceMethods` "
"ou :c:type:`PyMappingMethods`, respectivement. C'est à vous de remplir cette "
"structure avec les valeurs appropriées. Vous pouvez trouver des exemples "
"d'utilisation de chacun d'entre eux dans le répertoire :file:`Objects` de la "
"distribution source de Python. ::"
#: extending/newtypes.rst:463
msgid ""
"This function, if you choose to provide it, should return a hash number for "
"an instance of your data type. Here is a simple example::"
msgstr ""
"Cette fonction, si vous la fournissez, doit renvoyer un condensat pour une "
"instance de votre type de données. Voici un exemple simple ::"
#: extending/newtypes.rst:476
msgid ""
@ -472,6 +670,10 @@ msgid ""
"which is why you should be careful to avoid returning it when hash "
"computation is successful, as seen above."
msgstr ""
":c:type:`Py_hash_t` est un type entier signé avec une largeur variable selon "
"la plate-forme. Renvoyer ``-1`` pour :c:member:`~PyTypeObject.tp_hash` "
"indique une erreur, c'est pourquoi vous devez faire attention à ne pas le "
"renvoyer lorsque le calcul du hachage est réussi, comme vu ci-dessus."
#: extending/newtypes.rst:485
msgid ""
@ -480,6 +682,10 @@ msgid ""
"script contains ``obj1('hello')``, the :c:member:`~PyTypeObject.tp_call` "
"handler is invoked."
msgstr ""
"Cette fonction est appelée lorsqu'une instance de votre type de données est "
 appelée », par exemple, si ``obj1`` est une instance de votre type de "
"données et que le script Python contient ``obj1('hello')``, le gestionnaire :"
"c:member:`~PyTypeObject.tp_call` est appelé."
#: extending/newtypes.rst:489
msgid "This function takes three arguments:"
@ -490,12 +696,16 @@ msgid ""
"*self* is the instance of the data type which is the subject of the call. If "
"the call is ``obj1('hello')``, then *self* is ``obj1``."
msgstr ""
"*self* est l'instance du type de données qui fait l'objet de l'appel. Si "
"l'appel est ``obj1('hello')``, alors *self* est ``obj1``."
#: extending/newtypes.rst:494
msgid ""
"*args* is a tuple containing the arguments to the call. You can use :c:func:"
"`PyArg_ParseTuple` to extract the arguments."
msgstr ""
"*args* est un *n*-uplet contenant les arguments de l'appel. Vous pouvez "
"utiliser :c:func:`PyArg_ParseTuple` pour extraire les arguments."
#: extending/newtypes.rst:497
msgid ""
@ -505,6 +715,12 @@ msgid ""
"to support keyword arguments and this is non-``NULL``, raise a :exc:"
"`TypeError` with a message saying that keyword arguments are not supported."
msgstr ""
"*kwds* est le dictionnaire d'arguments nommés qui ont été passés. Si ce "
"n'est pas ``NULL`` et que vous gérez les arguments nommés, utilisez :c:func:"
"`PyArg_ParseTupleAndKeywords` pour extraire les arguments. Si vous ne "
"souhaitez pas prendre en charge les arguments nommés et qu'il n'est pas "
"``NULL``, levez une :exc:`TypeError` avec un message indiquant que les "
"arguments nommés ne sont pas pris en charge."
#: extending/newtypes.rst:503
msgid "Here is a toy ``tp_call`` implementation::"
@ -520,6 +736,13 @@ msgid ""
"`~PyTypeObject.tp_iternext` corresponds to the Python :meth:`~iterator."
"__next__` method."
msgstr ""
"Ces fonctions prennent en charge le protocole itérateur. Les deux "
"gestionnaires prennent exactement un paramètre, l'instance pour laquelle ils "
"sont appelés, et renvoient une nouvelle référence. En cas d'erreur, ils "
"doivent définir une exception et renvoyer ``NULL``. :c:member:`~PyTypeObject."
"tp_iter` correspond à la méthode Python :meth:`__iter__`, tandis que :c:"
"member:`~PyTypeObject.tp_iternext` correspond à la méthode Python :meth:"
"`~iterator.__next__`."
#: extending/newtypes.rst:536
msgid ""
@ -549,6 +772,11 @@ msgid ""
"tp_iter` by returning a new reference to themselves -- and should also "
"therefore implement the :c:member:`~PyTypeObject.tp_iternext` handler."
msgstr ""
"Les objets qui ne peuvent être itérés qu'une seule fois (généralement en "
"raison d'effets de bord de l'itération, tels que les objets fichiers) "
"peuvent implémenter :c:member:`~PyTypeObject.tp_iter` en renvoyant une "
"nouvelle référence à eux-mêmes et doivent donc également implémenter le "
"gestionnaire :c:member:`~PyTypeObject.tp_iternext`."
#: extending/newtypes.rst:548
msgid ""
@ -564,6 +792,18 @@ msgid ""
"`~PyTypeObject.tp_iternext` should always set an exception and return "
"``NULL``."
msgstr ""
"Tout objet :term:`itérateur <iterator>` doit implémenter à la fois :c:member:"
"`~PyTypeObject.tp_iter` et :c:member:`~PyTypeObject.tp_iternext`. Le "
"gestionnaire :c:member:`~PyTypeObject.tp_iter` d'un itérateur doit renvoyer "
"une nouvelle référence de l'itérateur. Son gestionnaire :c:member:"
"`~PyTypeObject.tp_iternext` doit renvoyer une nouvelle référence à l'objet "
"suivant dans l'itération, s'il y en a un. Si l'itération a atteint la fin, :"
"c:member:`~PyTypeObject.tp_iternext` peut renvoyer ``NULL`` sans définir "
"d'exception, ou il peut définir :exc:`StopIteration` *en plus* de renvoyer "
"``NULL`` ; éviter de lever une exception peut donner des performances "
"légèrement meilleures. Si une erreur réelle se produit, :c:member:"
"`~PyTypeObject.tp_iternext` doit toujours définir une exception et renvoyer "
"``NULL``."
#: extending/newtypes.rst:564
msgid "Weak Reference Support"
@ -580,9 +820,10 @@ msgstr ""
"faible sans avoir à supporter le surcoût de la performance critique des "
"certains objets, tels que les nombres."
# suit un :
#: extending/newtypes.rst:571
msgid "Documentation for the :mod:`weakref` module."
msgstr "Documentation pour le module :mod:`weakref`."
msgstr "documentation pour le module :mod:`weakref`."
#: extending/newtypes.rst:573
msgid ""
@ -592,27 +833,28 @@ msgstr ""
"Pour qu'un objet soit faiblement référençable, le type d'extension doit "
"faire deux choses :"
# énumération
#: extending/newtypes.rst:575
#, fuzzy
msgid ""
"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`)."
msgstr ""
"Inclure un champ :c:type:`PyObject\\*` dans la structure d'objet C dédiée au "
"inclure un champ :c:expr:`PyObject*` dans la structure d'objet C dédiée au "
"mécanisme de référence faible. Le constructeur de l'objet doit le laisser à "
"la valeur ``NULL`` (ce qui est automatique lorsque l'on utilise le champ par "
"défaut :c:member:`~PyTypeObject.tp_alloc`)."
"défaut :c:member:`~PyTypeObject.tp_alloc`) ;"
# énumération
#: extending/newtypes.rst:580
msgid ""
"Set the :c:member:`~PyTypeObject.tp_weaklistoffset` type member to the "
"offset of the aforementioned field in the C object structure, so that the "
"interpreter knows how to access and modify that field."
msgstr ""
"Définissez le membre de type :c:member:`~PyTypeObject.tp_weaklistoffset` à "
"la valeur de décalage (*offset*) du champ susmentionné dans la structure de "
"définir le membre de type :c:member:`~PyTypeObject.tp_weaklistoffset` à la "
"valeur de décalage (*offset*) du champ susmentionné dans la structure de "
"l'objet *C*, afin que l'interpréteur sache comment accéder à ce champ et le "
"modifier."
@ -625,13 +867,11 @@ msgstr ""
"par le champ requis ::"
#: extending/newtypes.rst:592
#, 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 ::"
#: extending/newtypes.rst:600
#, fuzzy
msgid ""
"The only further addition is that ``tp_dealloc`` needs to clear any weak "
"references (by calling :c:func:`PyObject_ClearWeakRefs`) if the field is non-"
@ -690,73 +930,67 @@ msgstr "https://github.com/python/cpython"
#: extending/newtypes.rst:56
msgid "object"
msgstr ""
msgstr "objet"
#: extending/newtypes.rst:56
msgid "deallocation"
msgstr ""
msgstr "libération de mémoire"
#: extending/newtypes.rst:56
msgid "deallocation, object"
msgstr ""
msgstr "libération de mémoire, objet"
#: extending/newtypes.rst:56
msgid "finalization"
msgstr ""
msgstr "finalisation"
#: extending/newtypes.rst:56
msgid "finalization, of objects"
msgstr ""
msgstr "finalisation, d'objets"
#: extending/newtypes.rst:91
msgid "PyErr_Fetch()"
msgstr ""
msgstr "PyErr_Fetch()"
#: extending/newtypes.rst:91
msgid "PyErr_Restore()"
msgstr ""
msgstr "PyErr_Restore()"
#: extending/newtypes.rst:150
msgid "string"
msgstr ""
msgstr "chaîne"
#: extending/newtypes.rst:150
#, fuzzy
msgid "object representation"
msgstr "Présentation de l'objet"
msgstr "Représentation de l'objet"
#: extending/newtypes.rst:150
msgid "built-in function"
msgstr ""
msgstr "fonction native"
#: extending/newtypes.rst:150
msgid "repr"
msgstr ""
msgstr "repr"
#: extending/newtypes.rst:313
#, fuzzy
msgid "READONLY"
msgstr ":const:`READONLY`"
#: extending/newtypes.rst:313
#, fuzzy
msgid "READ_RESTRICTED"
msgstr ":const:`READ_RESTRICTED`"
#: extending/newtypes.rst:313
#, fuzzy
msgid "WRITE_RESTRICTED"
msgstr ":const:`WRITE_RESTRICTED`"
#: extending/newtypes.rst:313
#, fuzzy
msgid "RESTRICTED"
msgstr ":const:`RESTRICTED`"
#: extending/newtypes.rst:313
#, fuzzy
msgid "PY_AUDIT_READ"
msgstr ":const:`READONLY`"
msgstr ":const:`PY_AUDIT_READ`"
#~ msgid "Not readable in restricted mode."
#~ msgstr "Non disponible en lecture, dans le mode restreint."

View File

@ -6,28 +6,30 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-21 14:55+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2024-03-15 22:42+0100\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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.2.2\n"
#: library/email.charset.rst:2
msgid ":mod:`email.charset`: Representing character sets"
msgstr ""
msgstr ":mod:`email.charset` : représentation des jeux de caractères"
#: library/email.charset.rst:7
#, fuzzy
msgid "**Source code:** :source:`Lib/email/charset.py`"
msgstr "**Code source :** :source:`Lib/email/parser.py`"
msgstr "**Code source :** :source:`Lib/email/charset.py`"
#: library/email.charset.rst:11
msgid ""
"This module is part of the legacy (``Compat32``) email API. In the new API "
"only the aliases table is used."
msgstr ""
"Ce module fait partie de l'ancienne API de messagerie (``Compat32``). Dans "
"la nouvelle API, seule la table des alias est utilisée."
#: library/email.charset.rst:14
msgid ""
@ -45,14 +47,20 @@ msgid ""
"Instances of :class:`Charset` are used in several other modules within the :"
"mod:`email` package."
msgstr ""
"Ce module fournit une classe :class:`Charset` pour représenter les jeux de "
"caractères et les conversions de jeux de caractères dans les messages "
"électroniques, ainsi qu'un registre de jeux de caractères et plusieurs "
"méthodes pratiques pour manipuler ce registre. Les instances de :class:"
"`Charset` sont utilisées dans plusieurs autres modules du paquet :mod:"
"`email`."
#: library/email.charset.rst:22
msgid "Import this class from the :mod:`email.charset` module."
msgstr ""
msgstr "Importez cette classe depuis le module :mod:`email.charset`."
#: library/email.charset.rst:27
msgid "Map character sets to their email properties."
msgstr ""
msgstr "Associe les jeux de caractères à leurs propriétés d'e-mail."
#: library/email.charset.rst:29
msgid ""
@ -62,6 +70,13 @@ msgid ""
"codecs. Given a character set, it will do its best to provide information "
"on how to use that character set in an email message in an RFC-compliant way."
msgstr ""
"Cette classe fournit des informations sur les exigences imposées aux e-mails "
"pour un jeu de caractères spécifique. Elle fournit également des routines "
"pratiques pour la conversion entre les jeux de caractères, compte tenu de la "
"disponibilité des codecs applicables. Étant donné un jeu de caractères, elle "
"fait de son mieux pour fournir des informations sur la façon d'utiliser ce "
"jeu de caractères dans un message électronique d'une manière conforme à la "
"RFC."
#: library/email.charset.rst:35
msgid ""
@ -69,6 +84,10 @@ msgid ""
"used in email headers or bodies. Certain character sets must be converted "
"outright, and are not allowed in email."
msgstr ""
"Certains jeux de caractères doivent être encodés avec *quoted-printable* ou "
"en *base64* lorsqu'ils sont utilisés dans les en-têtes ou les corps des e-"
"mails. Certains jeux de caractères doivent être convertis directement et ne "
"sont pas autorisés dans les e-mails."
#: library/email.charset.rst:39
msgid ""
@ -82,10 +101,22 @@ msgid ""
"with base64, bodies will not be encoded, but output text will be converted "
"from the ``euc-jp`` character set to the ``iso-2022-jp`` character set."
msgstr ""
"Le *input_charset* facultatif est tel que décrit ci-dessous ; il est "
"toujours contraint en minuscules. Après avoir été normalisé par alias, il "
"est également utilisé comme recherche dans le registre des jeux de "
"caractères pour trouver le codage d'en-tête, le codage de corps et le codec "
"de conversion de sortie à utiliser pour le jeu de caractères. Par exemple, "
"si *input_charset* vaut ``iso-8859-1``, alors les en-têtes et les corps "
"seront encodés en utilisant *quoted-printable* et aucun codec de conversion "
"de sortie n'est nécessaire. Si *input_charset* vaut ``euc-jp``, alors les en-"
"têtes seront encodés en *base64*, les corps ne seront pas encodés, mais le "
"texte de sortie sera converti du jeu de caractères ``euc-jp`` vers le jeu de "
"caractères ``iso-2022-jp``."
#: library/email.charset.rst:49
msgid ":class:`Charset` instances have the following data attributes:"
msgstr ""
"Les instances de :class:`Charset` ont les attributs de données suivants :"
#: library/email.charset.rst:53
msgid ""
@ -93,6 +124,9 @@ msgid ""
"*official* email names (e.g. ``latin_1`` is converted to ``iso-8859-1``). "
"Defaults to 7-bit ``us-ascii``."
msgstr ""
"Jeu de caractères initial spécifié. Les alias communs sont convertis en "
"leurs noms de messagerie *officiels* (par exemple, ``latin_1`` est converti "
"en ``iso-8859-1``). Par défaut, ``us-ascii`` 7 bits."
#: library/email.charset.rst:60
msgid ""
@ -101,6 +135,11 @@ msgid ""
"``Charset.BASE64`` (for base64 encoding), or ``Charset.SHORTEST`` for the "
"shortest of QP or BASE64 encoding. Otherwise, it will be ``None``."
msgstr ""
"Si le jeu de caractères doit être encodé avant de pouvoir être utilisé dans "
"un en-tête d'e-mail, cet attribut est défini sur ``Charset.QP`` (pour "
"*quoted-printable*), ``Charset.BASE64`` (pour l'encodage en *base64*), ou "
"``Charset.SHORTEST`` pour le plus court des encodages QP ou BASE64. Sinon, "
"c'est ``None``."
#: library/email.charset.rst:69
msgid ""
@ -108,6 +147,9 @@ msgid ""
"body, which indeed may be different than the header encoding. ``Charset."
"SHORTEST`` is not allowed for *body_encoding*."
msgstr ""
"Identique à *header_encoding*, mais décrit l'encodage du corps du message "
"électronique, qui peut effectivement être différent de l'encodage de l'en-"
"tête. ``Charset.SHORTEST`` n'est pas autorisé pour *body_encoding*."
#: library/email.charset.rst:76
msgid ""
@ -116,6 +158,10 @@ msgid ""
"will contain the name of the character set output will be converted to. "
"Otherwise, it will be ``None``."
msgstr ""
"Certains jeux de caractères doivent être convertis avant de pouvoir être "
"utilisés dans les en-têtes ou le corps des e-mails. Si le *input_charset* "
"est un jeu de ce type, alors cet attribut contient le nom du jeu de "
"caractères vers lequel la sortie sera convertie. Sinon, il vaut ``None``."
#: library/email.charset.rst:84
msgid ""
@ -123,6 +169,8 @@ msgid ""
"Unicode. If no conversion codec is necessary, this attribute will be "
"``None``."
msgstr ""
"Nom du codec Python utilisé pour convertir le *input_charset* en Unicode. Si "
"aucun codec de conversion n'est nécessaire, cet attribut vaut ``None``."
#: library/email.charset.rst:91
msgid ""
@ -130,14 +178,19 @@ msgid ""
"*output_charset*. If no conversion codec is necessary, this attribute will "
"have the same value as the *input_codec*."
msgstr ""
"Nom du codec Python utilisé pour convertir Unicode en *output_charset*. Si "
"aucun codec de conversion n'est nécessaire, cet attribut a la même valeur "
"que le *input_codec*."
#: library/email.charset.rst:96
msgid ":class:`Charset` instances also have the following methods:"
msgstr ""
"Les instances de :class:`Charset` ont également les méthodes suivantes :"
#: library/email.charset.rst:100
msgid "Return the content transfer encoding used for body encoding."
msgstr ""
"Renvoie l'encodage de transfert de contenu utilisé pour l'encodage du corps."
#: library/email.charset.rst:102
msgid ""
@ -147,6 +200,11 @@ msgid ""
"function should then set the :mailheader:`Content-Transfer-Encoding` header "
"itself to whatever is appropriate."
msgstr ""
"Il s'agit soit de la chaîne ``quoted-printable`` ou ``base64`` selon "
"l'encodage utilisé, soit d'une fonction, vous devez alors appeler la "
"fonction avec un seul argument, l'objet Message étant encodé. La fonction "
"doit ensuite définir l'en-tête :mailheader:`Content-Transfer-Encoding` à la "
"valeur appropriée."
#: library/email.charset.rst:108
msgid ""
@ -154,30 +212,38 @@ msgid ""
"returns the string ``base64`` if *body_encoding* is ``BASE64``, and returns "
"the string ``7bit`` otherwise."
msgstr ""
"Renvoie la chaîne ``quoted-printable`` si *body_encoding* est ``QP``, "
"renvoie la chaîne ``base64`` si *body_encoding* est ``BASE64`` et renvoie la "
"chaîne ``7bit`` sinon."
#: library/email.charset.rst:115
msgid "Return the output character set."
msgstr ""
msgstr "Renvoie le jeu de caractères de sortie."
#: library/email.charset.rst:117
msgid ""
"This is the *output_charset* attribute if that is not ``None``, otherwise it "
"is *input_charset*."
msgstr ""
"C'est l'attribut *output_charset* si ce n'est pas ``None``, sinon c'est "
"*input_charset*."
#: library/email.charset.rst:123
msgid "Header-encode the string *string*."
msgstr ""
msgstr "Encode la chaîne *string* pour un en-tête."
#: library/email.charset.rst:125
msgid ""
"The type of encoding (base64 or quoted-printable) will be based on the "
"*header_encoding* attribute."
msgstr ""
"Le type d'encodage (*base64* ou *quoted-printable*) est basé sur l'attribut "
"*header_encoding*."
#: library/email.charset.rst:131
msgid "Header-encode a *string* by converting it first to bytes."
msgstr ""
"Encode *string* en la convertissant d'abord en octets, pour un en-tête."
#: library/email.charset.rst:133
msgid ""
@ -186,56 +252,77 @@ msgid ""
"iterator: each element returned from this iterator will provide the next "
"maximum line length."
msgstr ""
"C'est similaire à :meth:`header_encode` sauf que la chaîne est adaptée aux "
"longueurs de ligne maximales indiquées par l'argument *maxlengths*, qui doit "
"être un itérateur : chaque élément renvoyé par cet itérateur fournit la "
"prochaine longueur de ligne maximale."
#: library/email.charset.rst:141
msgid "Body-encode the string *string*."
msgstr ""
msgstr "Encode la chaîne *string* pour un usage en corps de message."
#: library/email.charset.rst:143
msgid ""
"The type of encoding (base64 or quoted-printable) will be based on the "
"*body_encoding* attribute."
msgstr ""
"Le type d'encodage (*base64* ou *quoted-printable*) est basé sur l'attribut "
"*body_encoding*."
#: library/email.charset.rst:146
msgid ""
"The :class:`Charset` class also provides a number of methods to support "
"standard operations and built-in functions."
msgstr ""
"La classe :class:`Charset` fournit également un certain nombre de méthodes "
"pour prendre en charge les opérations standard et les fonctions intégrées."
#: library/email.charset.rst:152
msgid ""
"Returns *input_charset* as a string coerced to lower case. :meth:`__repr__` "
"is an alias for :meth:`__str__`."
msgstr ""
"Renvoie *input_charset* sous la forme d'une chaîne contrainte en "
"minuscules. :meth:`__repr__` est un alias pour :meth:`__str__`."
#: library/email.charset.rst:158
msgid ""
"This method allows you to compare two :class:`Charset` instances for "
"equality."
msgstr ""
"Cette méthode vous permet de tester l'égalité de deux instances de :class:"
"`Charset`."
#: library/email.charset.rst:164
msgid ""
"This method allows you to compare two :class:`Charset` instances for "
"inequality."
msgstr ""
"Cette méthode vous permet de tester l'inégalité de deux instances de :class:"
"`Charset`."
#: library/email.charset.rst:167
msgid ""
"The :mod:`email.charset` module also provides the following functions for "
"adding new entries to the global character set, alias, and codec registries:"
msgstr ""
"Le module :mod:`email.charset` fournit également les fonctions suivantes "
"pour ajouter de nouvelles entrées à l'ensemble des jeux de caractères "
"globaux, aux registres d'alias et de codec :"
#: library/email.charset.rst:173
msgid "Add character properties to the global registry."
msgstr ""
"Ajoute des propriétés relatives d'un jeu de caractères dans le registre "
"global."
#: library/email.charset.rst:175
msgid ""
"*charset* is the input character set, and must be the canonical name of a "
"character set."
msgstr ""
"*charset* est le jeu de caractères d'entrée et doit être le nom canonique "
"d'un jeu de caractères."
#: library/email.charset.rst:178
msgid ""
@ -245,6 +332,11 @@ msgid ""
"encoding. ``SHORTEST`` is only valid for *header_enc*. The default is "
"``None`` for no encoding."
msgstr ""
"*header_enc* et *body_enc* (facultatifs) sont soit ``Charset.QP`` pour "
"*quoted-printable*, ``Charset.BASE64`` pour l'encodage *base64*, ``Charset."
"SHORTEST`` pour le plus court entre *quoted-printable* et *base64*, ou "
"``None`` pour aucun encodage. ``SHORTEST`` n'est valide que pour "
"*header_enc*. La valeur par défaut est ``None`` pour aucun encodage."
#: library/email.charset.rst:184
msgid ""
@ -253,6 +345,11 @@ msgid ""
"charset when the method :meth:`Charset.convert` is called. The default is "
"to output in the same character set as the input."
msgstr ""
"*output_charset* (facultatif) est le jeu de caractères dans lequel doit être "
"la sortie. Les conversions se poursuivent du jeu de caractères d'entrée, "
"vers Unicode, vers le jeu de caractères de sortie lorsque la méthode :meth:"
"`Charset.convert` est appelée. La valeur par défaut est de sortir dans le "
"même jeu de caractères que l'entrée."
#: library/email.charset.rst:189
msgid ""
@ -261,30 +358,44 @@ msgid ""
"codecs the module does not know about. See the :mod:`codecs` module's "
"documentation for more information."
msgstr ""
"*input_charset* et *output_charset* doivent avoir des entrées de codec "
"Unicode dans la table de correspondances du jeu de caractères au codec du "
"module ; utilisez :func:`add_codec` pour ajouter des codecs que le module ne "
"connaît pas. Voir la documentation du module :mod:`codecs` pour plus "
"d'informations."
#: library/email.charset.rst:194
msgid ""
"The global character set registry is kept in the module global dictionary "
"``CHARSETS``."
msgstr ""
"Le registre de jeux de caractères global est conservé dans le dictionnaire "
"global du module ``CHARSETS``."
#: library/email.charset.rst:200
msgid ""
"Add a character set alias. *alias* is the alias name, e.g. ``latin-1``. "
"*canonical* is the character set's canonical name, e.g. ``iso-8859-1``."
msgstr ""
"Ajoute un alias de jeu de caractères. *alias* est le nom d'alias, par ex. "
"``latin-1``. *canonical* est le nom canonique du jeu de caractères, par ex. "
"``iso-8859-1``."
#: library/email.charset.rst:203
msgid ""
"The global charset alias registry is kept in the module global dictionary "
"``ALIASES``."
msgstr ""
"Le registre global des alias du jeu de caractères est conservé dans le "
"dictionnaire global du module ``ALIASES``."
#: library/email.charset.rst:209
msgid ""
"Add a codec that map characters in the given character set to and from "
"Unicode."
msgstr ""
"Ajoute un codec qui fait correspondre les caractères du jeu de caractères "
"donné vers et depuis Unicode."
#: library/email.charset.rst:211
msgid ""
@ -292,3 +403,6 @@ msgid ""
"of a Python codec, as appropriate for the second argument to the :class:"
"`str`'s :meth:`~str.encode` method."
msgstr ""
"*charset* est le nom canonique d'un jeu de caractères. *codecname* est le "
"nom d'un codec Python (c.-à-d. une valeur valable comme second argument de "
"la méthode :meth:`~str.encode` de :class:`str`)."

View File

@ -6,22 +6,22 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2024-01-18 22:28+0100\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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.2.2\n"
#: library/email.generator.rst:2
msgid ":mod:`email.generator`: Generating MIME documents"
msgstr ""
msgstr ":mod:`email.generator` : génération de documents MIME"
#: library/email.generator.rst:7
#, fuzzy
msgid "**Source code:** :source:`Lib/email/generator.py`"
msgstr "**Code source :** :source:`Lib/email/iterators.py`"
msgstr "**Code source :** :source:`Lib/email/igenerator.py`"
#: library/email.generator.rst:11
msgid ""
@ -32,6 +32,12 @@ msgid ""
"console. Taking a message object structure and producing a serialized "
"representation is the job of the generator classes."
msgstr ""
"L'une des tâches les plus courantes consiste à générer la version plate "
"(sérialisée) du message électronique représenté par une structure d'objet "
"message. Vous devez le faire si vous voulez envoyer votre message via :meth:"
"`smtplib.SMTP.sendmail` ou le module :mod:`nntplib`, ou afficher le message "
"sur la console. Prendre une structure d'objet message et produire une "
"représentation sérialisée est le travail des classes génératrices."
#: library/email.generator.rst:18
msgid ""
@ -49,6 +55,20 @@ msgid ""
"changes to the :class:`~email.message.EmailMessage` object as defaults are "
"filled in.)"
msgstr ""
"Comme avec le module :mod:`email.parser`, vous n'êtes pas limité aux "
"fonctionnalités du générateur fourni ; vous pourriez en écrire un à partir "
"de zéro vous-même. Cependant, le générateur fourni sait comment générer la "
"plupart des e-mails d'une manière conforme aux normes, est conçu pour gérer "
"correctement les e-mails MIME et non MIME, et pour que les opérations (sur "
"des suites d'octets) d'analyse et de génération soient inverses, en "
"supposant que la même :mod:`~email.policy` est utilisée pour les deux. "
"Autrement dit, l'analyse du flux d'octets sérialisé via la classe :class:"
"`~email.parser.BytesParser` puis la régénération du flux d'octets sérialisé "
"à l'aide de :class:`BytesGenerator` devrait produire une sortie identique à "
"l'entrée [#]_ (d'un autre côté, l'utilisation du générateur sur un :class:"
"`~email.message.EmailMessage` construit par programme peut entraîner des "
"modifications de l'objet :class:`~email.message.EmailMessage` car les "
"valeurs par défaut sont renseignées)."
#: library/email.generator.rst:32
msgid ""
@ -59,6 +79,13 @@ msgid ""
"Content Transfer Encoding techniques for encoding email messages for "
"transport over channels that are not \"8 bit clean\"."
msgstr ""
"La classe :class:`Generator` peut être utilisée pour aplatir un message dans "
"une représentation sérialisée textuelle (par opposition à binaire), mais "
"comme Unicode ne peut pas représenter directement des données binaires, le "
"message est nécessairement transformé en quelque chose qui ne contient que "
"des caractères ASCII, en utilisant les techniques standard de codage de "
"transfert de contenu RFC pour le codage des messages électroniques pour le "
"transport sur des canaux qui ne sont pas « complétement 8 bits »."
#: library/email.generator.rst:39
msgid ""
@ -66,6 +93,9 @@ msgid ""
"`Generator` disables header folding for message parts of type ``multipart/"
"signed`` and all subparts."
msgstr ""
"Pour s'adapter au traitement reproductible des messages signés SMIME :class:"
"`Generator` ne raccourcit pas les en-têtes pour les parties de message de "
"type ``multipart/signed`` et toutes les sous-parties."
#: library/email.generator.rst:47
msgid ""
@ -74,6 +104,11 @@ msgid ""
"to the :meth:`write` method, to the :term:`file-like object` *outfp*. "
"*outfp* must support a ``write`` method that accepts binary data."
msgstr ""
"Renvoie un objet :class:`BytesGenerator` qui écrit tout message fourni à la "
"méthode :meth:`flatten`, ou tout texte encodé par *surrogateescape* fourni à "
"la méthode :meth:`write`, dans le :term:`objet simili-fichier <file-like "
"object>` *outfp*. *outfp* doit disposer d'une méthode ``write`` qui accepte "
"les données binaires."
#: library/email.generator.rst:153
msgid ""
@ -87,6 +122,15 @@ msgid ""
"`WHY THE CONTENT-LENGTH FORMAT IS BAD <https://www.jwz.org/doc/content-"
"length.html>`_)."
msgstr ""
"Si l'option *mangle_from_* est ``True``, place un caractère ``>`` devant "
"toute ligne du corps commençant par la chaîne exacte ``\"From \"``, c'est-à-"
"dire une ligne commençant par ``From`` suivi par une espace. *mangle_from_* "
"prend par défaut la valeur du paramètre :attr:`~email.policy.Policy."
"mangle_from_` de la *policy* (qui est ``True`` pour la politique :data:"
"`~email.policy.compat32` et ``False`` pour tous les autres). *mangle_from_* "
"est destiné à être utilisé lorsque les messages sont stockés au format Unix "
"*mbox* (voir :mod:`mailbox` et `WHY THE CONTENT-LENGTH FORMAT IS BAD "
"<https://www.jwz.org/doc/content-length.html>`_)."
#: library/email.generator.rst:163
msgid ""
@ -95,6 +139,10 @@ msgid ""
"*manheaderlen* is ``None`` (the default), wrap headers and other message "
"lines according to the *policy* settings."
msgstr ""
"Si *maxheaderlen* n'est pas ``None``, raccourcit toutes les lignes d'en-tête "
"qui sont plus longues que *maxheaderlen*, ou si ``0``, ne raccourcit aucun "
"en-tête. Si *manheaderlen* est ``None`` (valeur par défaut), formate les en-"
"têtes et autres lignes de message en fonction des paramètres de *policy*."
#: library/email.generator.rst:168
msgid ""
@ -104,16 +152,26 @@ msgid ""
"object passed to ``flatten`` to control the message generation. See :mod:"
"`email.policy` for details on what *policy* controls."
msgstr ""
"Si *policy* est spécifiée, utilise cette politique pour contrôler la "
"génération des messages. Si *policy* est ``None`` (par défaut), utilise la "
"politique associée à l'objet :class:`~email.message.Message` ou :class:"
"`~email.message.EmailMessage` passée à ``flatten`` pour contrôler la "
"génération des messages. Voir :mod:`email.policy` pour plus de détails sur "
"ce que *policy* contrôle."
# suit un :
#: library/email.generator.rst:174
msgid "Added the *policy* keyword."
msgstr ""
msgstr "ajout du mot-clé *policy*."
# suit un :
#: library/email.generator.rst:176
msgid ""
"The default behavior of the *mangle_from_* and *maxheaderlen* parameters is "
"to follow the policy."
msgstr ""
"le comportement par défaut des paramètres *mangle_from_* et *maxheaderlen* "
"est de suivre la politique."
#: library/email.generator.rst:83
msgid ""
@ -121,6 +179,9 @@ msgid ""
"*msg* to the output file specified when the :class:`BytesGenerator` instance "
"was created."
msgstr ""
"Affiche la représentation textuelle de la structure de l'objet message dont "
"la racine est *msg* dans le fichier de sortie spécifié lors de la création "
"de l'instance :class:`BytesGenerator`."
#: library/email.generator.rst:87
msgid ""
@ -137,6 +198,19 @@ msgid ""
"bytes in headers using the MIME ``unknown-8bit`` character set, thus "
"rendering them RFC-compliant."
msgstr ""
"Si l'option :attr:`~email.policy.Policy.cte_type` de :mod:`~email.policy` "
"est ``8bit`` (valeur par défaut), copie tous les en-têtes du message analysé "
"d'origine qui n'ont pas été modifiés en sortie avec tous les octets dont le "
"bit de poids fort identique à l'original, et conserve le :mailheader:"
"`Content-Transfer-Encoding` non-ASCII de toutes les parties du corps qui en "
"ont. Si ``cte_type`` est ``7bit``, convertit les octets avec le bit de poids "
"fort défini selon les besoins en utilisant un :mailheader:`Content-Transfer-"
"Encoding` compatible ASCII. Autrement dit, transforme les parties non ASCII :"
"mailheader:`Content-Transfer-Encoding` (:mailheader:`Content-Transfer-"
"Encoding: 8bit`) en un :mailheader:`Content-Transfer-Encoding` compatible "
"ASCII, et encode les octets non ASCII non valides de la RFC dans les en-"
"têtes utilisant le jeu de caractères MIME ``unknown-8bit``, les rendant "
"ainsi conformes à la RFC."
#: library/email.generator.rst:104 library/email.generator.rst:197
msgid ""
@ -146,6 +220,12 @@ msgid ""
"header, craft a standard one. The default is ``False``. Note that for "
"subparts, no envelope header is ever printed."
msgstr ""
"Si *unixfrom* est ``True``, affiche le délimiteur d'en-tête d'enveloppe "
"utilisé par le format de boîte aux lettres Unix (voir :mod:`mailbox`) avant "
"le premier des en-têtes :rfc:`5322` de l'objet message racine. Si l'objet "
"racine n'a pas d'en-tête d'enveloppe, en crée un standard. La valeur par "
"défaut est ``False``. Notez que pour les sous-parties, aucun en-tête "
"d'enveloppe n'est jamais imprimé."
#: library/email.generator.rst:110 library/email.generator.rst:203
msgid ""
@ -153,12 +233,17 @@ msgid ""
"the lines of the flattened message. If *linesep* is ``None`` (the default), "
"use the value specified in the *policy*."
msgstr ""
"Si *linesep* n'est pas ``None``, l'utilise comme caractère de séparation "
"entre toutes les lignes du message aplati. Si *linesep* est ``None`` (valeur "
"par défaut), utilise la valeur spécifiée dans la *policy*."
#: library/email.generator.rst:119
msgid ""
"Return an independent clone of this :class:`BytesGenerator` instance with "
"the exact same option settings, and *fp* as the new *outfp*."
msgstr ""
"Renvoie un clone indépendant de cette instance :class:`BytesGenerator` avec "
"exactement les mêmes paramètres d'option, et *fp* comme nouveau *outfp*."
#: library/email.generator.rst:125
msgid ""
@ -166,6 +251,9 @@ msgid ""
"handler, and pass it to the *write* method of the *outfp* passed to the :"
"class:`BytesGenerator`'s constructor."
msgstr ""
"Encode *s* en utilisant le codec ``ASCII`` et le gestionnaire d'erreurs "
"``surrogateescape``, et le passe à la méthode *write* du *outfp* passé au "
"constructeur de :class:`BytesGenerator`."
#: library/email.generator.rst:130
msgid ""
@ -175,6 +263,11 @@ msgid ""
"of a serialized binary representation of a message object. For more detail, "
"see :mod:`email.message`."
msgstr ""
"Par commodité, :class:`~email.message.EmailMessage` fournit les méthodes :"
"meth:`~email.message.EmailMessage.as_bytes` et ``bytes(aMessage)`` (alias :"
"meth:`~email.message .EmailMessage.__bytes__`), qui simplifient la "
"génération d'une représentation binaire sérialisée d'un objet message. Pour "
"plus de détails, voir :mod:`email.message`."
#: library/email.generator.rst:137
msgid ""
@ -186,6 +279,14 @@ msgid ""
"not \"8 bit clean\". In other words, most applications will want to be "
"using :class:`BytesGenerator`, and not :class:`Generator`."
msgstr ""
"Comme les chaînes ne peuvent pas représenter des données binaires, la "
"classe :class:`Generator` doit convertir toutes les données binaires de tout "
"message qu'elle aplatit en un format compatible ASCII, en les convertissant "
"en un :mailheader:`Content-Transfer_Encoding` compatible ASCII. En utilisant "
"la terminologie des RFC des e-mails, vous pouvez considérer cela comme un :"
"class:`Generator` sérialisant vers un flux d'entrées-sorties qui n'est pas "
 complètement 8 bits ». En d'autres termes, la plupart des applications "
"voudront utiliser :class:`BytesGenerator` et pas :class:`Generator`."
#: library/email.generator.rst:148
msgid ""
@ -194,6 +295,11 @@ msgid ""
"method, to the :term:`file-like object` *outfp*. *outfp* must support a "
"``write`` method that accepts string data."
msgstr ""
"Renvoie un objet :class:`Generator` qui écrit tout message fourni à la "
"méthode :meth:`flatten`, ou tout texte fourni à la méthode :meth:`write`, "
"dans l':term:`objet simili-fichier <file-like object>` *outfp*. *outfp* doit "
"prendre en charge une méthode ``write`` qui accepte les données de type "
"chaîne."
#: library/email.generator.rst:182
msgid ""
@ -201,6 +307,9 @@ msgid ""
"*msg* to the output file specified when the :class:`Generator` instance was "
"created."
msgstr ""
"Affiche la représentation textuelle de la structure de l'objet message dont "
"la racine est *msg* dans le fichier de sortie spécifié lors de la création "
"de l'instance :class:`Generator`."
#: library/email.generator.rst:186
msgid ""
@ -214,18 +323,33 @@ msgid ""
"Encoding`, and encode RFC-invalid non-ASCII bytes in headers using the MIME "
"``unknown-8bit`` character set, thus rendering them RFC-compliant."
msgstr ""
"Si l'option :mod:`~email.policy` :attr:`~email.policy.Policy.cte_type` est "
"``8bit``, génère le message comme si l'option était définie sur ``7bit`` "
"(c'est nécessaire car les chaînes ne peuvent pas représenter des octets non "
"ASCII). Convertit tous les octets avec le bit de poids fort défini selon les "
"besoins à l'aide d'un :mailheader:`Content-Transfer-Encoding` compatible "
"ASCII. Autrement dit, transforme les parties non ASCII :mailheader:`Content-"
"Transfer-Encoding` (:mailheader:`Content-Transfer-Encoding: 8bit`) en un :"
"mailheader:`Content-Transfer-Encoding` compatible ASCII, et encode les "
"octets non ASCII non valides RFC dans les en-têtes utilisant le jeu de "
"caractères MIME ``unknown-8bit``, les rendant ainsi conformes à la RFC."
# suit un :
#: library/email.generator.rst:209
msgid ""
"Added support for re-encoding ``8bit`` message bodies, and the *linesep* "
"argument."
msgstr ""
"ajout de la prise en charge du ré-encodage des corps de message ``8bit`` et "
"de l'argument *linesep*."
#: library/email.generator.rst:216
msgid ""
"Return an independent clone of this :class:`Generator` instance with the "
"exact same options, and *fp* as the new *outfp*."
msgstr ""
"Renvoie un clone indépendant de cette instance :class:`Generator` avec "
"exactement les mêmes options, et avec *fp* comme nouveau *outfp*."
#: library/email.generator.rst:222
msgid ""
@ -233,6 +357,10 @@ msgid ""
"`Generator`'s constructor. This provides just enough file-like API for :"
"class:`Generator` instances to be used in the :func:`print` function."
msgstr ""
"Écrit *s* dans la méthode *write* de *outfp* passé au constructeur de :class:"
"`Generator`. Cela fournit une API ressemblant suffisamment au type fichier "
"pour les instances de :class:`Generator` utilisées dans la fonction :func:"
"`print`."
#: library/email.generator.rst:228
msgid ""
@ -242,6 +370,11 @@ msgid ""
"of a formatted string representation of a message object. For more detail, "
"see :mod:`email.message`."
msgstr ""
"Par commodité, :class:`~email.message.EmailMessage` fournit les méthodes :"
"meth:`~email.message.EmailMessage.as_string` et ``str(aMessage)`` (alias :"
"meth:`~email.message .EmailMessage.__str__`), qui simplifient la génération "
"d'une représentation sous forme de chaîne formatée d'un objet message. Pour "
"plus de détails, voir :mod:`email.message`."
#: library/email.generator.rst:235
msgid ""
@ -251,6 +384,11 @@ msgid ""
"represented in the output stream by a string derived from a template filled "
"in with information about the part."
msgstr ""
"Le module :mod:`email.generator` fournit également une classe dérivée, :"
"class:`DecodedGenerator`, qui ressemble à la classe de base :class:"
"`Generator`, sauf que les parties non-\\ :mimetype:`text` ne sont pas "
"sérialisées, mais sont plutôt représentées dans le flux de sortie par une "
"chaîne dérivée d'un modèle rempli d'informations sur la partie concernée."
#: library/email.generator.rst:244
msgid ""
@ -261,54 +399,68 @@ msgid ""
"*fmt* using information from the part and print the resulting filled-in "
"string."
msgstr ""
"Agit comme :class:`Generator`, sauf que pour toute sous-partie du message "
"transmise à :meth:`Generator.flatten`, si la sous-partie est de type "
"principal :mimetype:`text`, affiche la charge utile décodée de la sous-"
"partie, et si le type principal n'est pas :mimetype:`text`, au lieu de "
"l'afficher, remplit la chaîne *fmt* en utilisant les informations de la "
"partie et affiche la chaîne remplie résultante."
#: library/email.generator.rst:251
msgid ""
"To fill in *fmt*, execute ``fmt % part_info``, where ``part_info`` is a "
"dictionary composed of the following keys and values:"
msgstr ""
"Pour remplir *fmt*, exécute ``fmt % part_info``, où ``part_info`` est un "
"dictionnaire composé des clés et valeurs suivantes :"
#: library/email.generator.rst:254
msgid "``type`` -- Full MIME type of the non-\\ :mimetype:`text` part"
msgstr ""
msgstr "``type`` Type MIME complet de la partie non-\\ :mimetype:`text`"
#: library/email.generator.rst:256
msgid "``maintype`` -- Main MIME type of the non-\\ :mimetype:`text` part"
msgstr ""
"``maintype`` Type MIME principal de la partie non-\\ :mimetype:`text`"
#: library/email.generator.rst:258
msgid "``subtype`` -- Sub-MIME type of the non-\\ :mimetype:`text` part"
msgstr ""
msgstr "``subtype`` Sous-type MIME de la partie non-\\ :mimetype:`text`"
#: library/email.generator.rst:260
msgid "``filename`` -- Filename of the non-\\ :mimetype:`text` part"
msgstr ""
msgstr "``filename`` Nom de fichier de la partie non-\\ :mimetype:`text`"
#: library/email.generator.rst:262
msgid ""
"``description`` -- Description associated with the non-\\ :mimetype:`text` "
"part"
msgstr ""
"``description`` Description associée à la partie non-\\ :mimetype:`text`"
#: library/email.generator.rst:264
msgid ""
"``encoding`` -- Content transfer encoding of the non-\\ :mimetype:`text` part"
msgstr ""
"``encoding`` Encodage du contenu de la partie non-\\ :mimetype:`text`"
#: library/email.generator.rst:266
msgid "If *fmt* is ``None``, use the following default *fmt*:"
msgstr ""
msgstr "Si *fmt* est ``None``, utilise le *fmt* par défaut suivant :"
#: library/email.generator.rst:268
msgid ""
"\"[Non-text (%(type)s) part of message omitted, filename %(filename)s]\""
msgstr ""
"\"[Non-text (%(type)s) part of message omitted, filename %(filename)s]\""
#: library/email.generator.rst:270
msgid ""
"Optional *_mangle_from_* and *maxheaderlen* are as with the :class:"
"`Generator` base class."
msgstr ""
"*_mangle_from_* et *maxheaderlen* sont optionnels et fonctionnent comme avec "
"la classe mère :class:`Generator`."
#: library/email.generator.rst:275
msgid "Footnotes"
@ -325,3 +477,11 @@ msgid ""
"parsing error recovery. It is a goal to fix these latter edge cases when "
"possible."
msgstr ""
"Cette déclaration suppose que vous utilisez le paramètre approprié pour "
"``unixfrom`` et qu'il n'y a pas de paramètres :mod:`policy` entraînant des "
"ajustements automatiques (par exemple, :attr:`~email.policy.Policy."
"refold_source` doit être ``none``, ce qui n'est *pas* la valeur par défaut). "
"Ce n'est pas non plus vrai à 100 %, car si le message n'est pas conforme aux "
"normes RFC, des informations sur le texte original sont parfois perdues lors "
"de la récupération d'erreur d'analyse. L'objectif est de résoudre ces "
"derniers cas extrêmes lorsque c'est possible."

View File

@ -6,22 +6,22 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2024-03-15 22:51+0100\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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.2.2\n"
#: library/email.header.rst:2
msgid ":mod:`email.header`: Internationalized headers"
msgstr ""
msgstr ":mod:`email.header` : en-têtes internationalisés"
#: library/email.header.rst:7
#, fuzzy
msgid "**Source code:** :source:`Lib/email/header.py`"
msgstr "**Code source :** :source:`Lib/email/encoders.py`"
msgstr "**Code source :** :source:`Lib/email/headers.py`"
#: library/email.header.rst:11
msgid ""
@ -32,6 +32,12 @@ msgid ""
"that need to completely control the character sets used when encoding "
"headers."
msgstr ""
"Ce module fait partie de l'ancienne API de messagerie (``Compat32``). Dans "
"l'API actuelle, l'encodage et le décodage des en-têtes sont gérés de manière "
"transparente par l'API de type dictionnaire de la classe :class:`~email."
"message.EmailMessage`. En plus des utilisations dans de l'ancien code, ce "
"module peut être utile dans les applications qui doivent contrôler "
"complètement les jeux de caractères utilisés lors de l'encodage des en-têtes."
#: library/email.header.rst:17
msgid ""
@ -49,6 +55,12 @@ msgid ""
"only. :rfc:`2822` is a specification written assuming email contains only 7-"
"bit ASCII characters."
msgstr ""
"La :rfc:`2822` est la norme de base qui décrit le format des messages "
"électroniques. Elle dérive de l'ancienne norme :rfc:`822` qui s'est "
"généralisée à une époque où la plupart des e-mails étaient composés "
"uniquement de caractères ASCII. La :rfc:`2822` est une spécification écrite "
"en supposant que le courrier électronique ne contient que des caractères "
"ASCII 7 bits."
#: library/email.header.rst:24
msgid ""
@ -61,6 +73,16 @@ msgid ""
"`2046`, :rfc:`2047`, and :rfc:`2231`. The :mod:`email` package supports "
"these standards in its :mod:`email.header` and :mod:`email.charset` modules."
msgstr ""
"Bien sûr, à mesure que le courrier électronique a été déployé dans le monde, "
"il s'est internationalisé, de sorte que des jeux de caractères spécifiques à "
"une langue peuvent désormais être utilisés dans les messages électroniques. "
"La norme de base exige toujours que les messages électroniques soient "
"transférés en utilisant uniquement des caractères ASCII 7 bits, de sorte "
"qu'un grand nombre de RFC décrivent comment encoder les e-mails contenant "
"des caractères non ASCII dans le format conforme à la :rfc:`2822`. Ces RFC "
"incluent la :rfc:`2045`, la :rfc:`2046`, la :rfc:`2047` et la :rfc:`2231`. "
"Le paquet :mod:`email` gère ces normes dans ses modules :mod:`email.header` "
"et :mod:`email.charset`."
#: library/email.header.rst:33
msgid ""
@ -71,6 +93,12 @@ msgid ""
"for the header value. Import the :class:`Header` class from the :mod:`email."
"header` module. For example::"
msgstr ""
"Si vous souhaitez inclure des caractères non-ASCII dans les en-têtes de vos "
"e-mails, par exemple dans les champs :mailheader:`Subject` ou :mailheader:"
"`To`, vous devez utiliser la classe :class:`Header` et affecter le champ "
"dans le :class:`~email.message.Message` à une instance de :class:`Header` au "
"lieu d'utiliser une chaîne pour la valeur de l'en-tête. Importez la classe :"
"class:`Header` du module :mod:`email.header`. Par exemple ::"
#: library/email.header.rst:50
msgid ""
@ -81,16 +109,25 @@ msgid ""
"mailheader:`Subject` field was properly :rfc:`2047` encoded. MIME-aware "
"mail readers would show this header using the embedded ISO-8859-1 character."
msgstr ""
"Remarquez ici comment nous voulions que le champ :mailheader:`Subject` "
"contienne un caractère non-ASCII : nous avons créé une instance :class:"
"`Header` et transmis le jeu de caractères dans lequel la chaîne d'octets "
"était encodée. Lorsque l'instance suivante :class:`~email.message.Message` a "
"été aplatie, le champ :mailheader:`Subject` était correctement encodé selon "
"la :rfc:`2047`. Les lecteurs de courrier compatibles MIME afficheraient cet "
"en-tête en utilisant le caractère ISO-8859-1 intégré."
#: library/email.header.rst:57
msgid "Here is the :class:`Header` class description:"
msgstr ""
msgstr "Voici la description de la classe :class:`Header` :"
#: library/email.header.rst:62
msgid ""
"Create a MIME-compliant header that can contain strings in different "
"character sets."
msgstr ""
"Crée un en-tête compatible MIME pouvant contenir des chaînes dans différents "
"jeux de caractères."
#: library/email.header.rst:65
msgid ""
@ -99,6 +136,11 @@ msgid ""
"meth:`append` method calls. *s* may be an instance of :class:`bytes` or :"
"class:`str`, but see the :meth:`append` documentation for semantics."
msgstr ""
"*s* (facultatif) est la valeur d'en-tête initiale. S'il vaut ``None`` "
"(valeur par défaut), la valeur d'en-tête initiale n'est pas définie. Vous "
"pouvez ensuite ajouter des choses à l'en-tête avec des appels de méthode :"
"meth:`append`. *s* peut être une instance de :class:`bytes` ou :class:`str`, "
"mais consultez la documentation :meth:`append` pour la sémantique."
#: library/email.header.rst:70
msgid ""
@ -109,6 +151,13 @@ msgid ""
"default), the ``us-ascii`` character set is used both as *s*'s initial "
"charset and as the default for subsequent :meth:`append` calls."
msgstr ""
"L'option *charset* sert à deux fins : elle a la même signification que "
"l'argument *charset* de la méthode :meth:`append`. Elle définit également le "
"jeu de caractères par défaut pour tous les appels suivants :meth:`append` "
"qui omettent l'argument *charset*. Si *charset* n'est pas fourni dans le "
"constructeur (par défaut), le jeu de caractères ``us-ascii`` est utilisé à "
"la fois comme jeu de caractères initial de *s* et comme jeu par défaut pour "
"les appels suivants à :meth:`append`."
#: library/email.header.rst:77
msgid ""
@ -119,6 +168,13 @@ msgid ""
"value for *header_name* is ``None``, meaning it is not taken into account "
"for the first line of a long, split header."
msgstr ""
"La longueur de ligne maximale peut être spécifiée explicitement via "
"*maxlinelen*. Pour diviser la première ligne en une valeur plus courte (pour "
"tenir compte de l'en-tête de champ qui n'est pas inclus dans *s*, par "
"exemple :mailheader:`Subject`) passez le nom du champ dans *header_name*. La "
"valeur par défaut *maxlinelen* est 76 et la valeur par défaut pour "
"*header_name* est ``None``, ce qui signifie qu'elle n'est pas prise en "
"compte pour la première ligne d'un long en-tête divisé."
#: library/email.header.rst:84
msgid ""
@ -127,15 +183,20 @@ msgid ""
"character will be prepended to continuation lines. *continuation_ws* "
"defaults to a single space character."
msgstr ""
"*continuation_ws* (facultatif) doit être conforme aux caractères de "
"reformatage :rfc:`2822` ; c'est généralement soit une espace, soit un "
"caractère de tabulation fixe. Ce caractère est ajouté aux lignes de "
"continuation. *continuation_ws* utilise par défaut une seule espace."
#: library/email.header.rst:89
msgid ""
"Optional *errors* is passed straight through to the :meth:`append` method."
msgstr ""
"*errors* (facultatif) est transmis directement à la méthode :meth:`append`."
#: library/email.header.rst:94
msgid "Append the string *s* to the MIME header."
msgstr ""
msgstr "Ajoute la chaîne *s* à l'en-tête MIME."
#: library/email.header.rst:96
msgid ""
@ -145,6 +206,11 @@ msgid ""
"``None`` (the default) means that the *charset* given in the constructor is "
"used."
msgstr ""
"Le *charset* facultatif, s'il est fourni, doit être une instance de :class:"
"`~email.charset.Charset` (voir :mod:`email.charset`) ou le nom d'un jeu de "
"caractères, qui est converti en une instance :class:`~email.charset."
"Charset`. Une valeur ``None`` (la valeur par défaut) signifie que le "
"*charset* donné dans le constructeur est utilisé."
#: library/email.header.rst:102
msgid ""
@ -153,12 +219,18 @@ msgid ""
"string, and a :exc:`UnicodeError` will be raised if the string cannot be "
"decoded with that character set."
msgstr ""
"*s* peut être une instance de :class:`bytes` ou :class:`str`. S'il s'agit "
"d'une instance de :class:`bytes`, alors *charset* est l'encodage de cette "
"chaîne d'octets et une :exc:`UnicodeError` est levée si la chaîne ne peut "
"pas être décodée avec ce jeu de caractères."
#: library/email.header.rst:107
msgid ""
"If *s* is an instance of :class:`str`, then *charset* is a hint specifying "
"the character set of the characters in the string."
msgstr ""
"Si *s* est une instance de :class:`str`, alors *charset* est une indication "
"spécifiant le jeu de caractères des caractères de la chaîne."
#: library/email.header.rst:110
msgid ""
@ -167,12 +239,18 @@ msgid ""
"charset. If the string cannot be encoded using the output codec, a "
"UnicodeError will be raised."
msgstr ""
"Dans les deux cas, lors de la production d'un en-tête conforme à la :rfc:"
"`2822` à l'aide des règles :rfc:`2047`, la chaîne est encodée à l'aide du "
"codec de sortie du jeu de caractères. Si la chaîne ne peut pas être encodée "
"à l'aide du codec de sortie, une erreur *UnicodeError* est levée."
#: library/email.header.rst:115
msgid ""
"Optional *errors* is passed as the errors argument to the decode call if *s* "
"is a byte string."
msgstr ""
"L'option *errors* est transmise comme argument d'erreurs à l'appel de "
"décodage si *s* est une chaîne d'octets."
#: library/email.header.rst:121
msgid ""
@ -180,6 +258,11 @@ msgid ""
"lines and encapsulating non-ASCII parts in base64 or quoted-printable "
"encodings."
msgstr ""
"Encode un en-tête de message dans un format conforme à la RFC, en "
"reformatant éventuellement de longues lignes et en encapsulant des parties "
"non ASCII dans des encodages base64 ou dits *quoted-printable* (c.-à-d. que, "
"par exemple, les caractères non ASCII sont représentés par un signe égal, "
"suivi de son numéro, exprimé en hexadécimal)."
#: library/email.header.rst:125
msgid ""
@ -193,12 +276,26 @@ msgid ""
"point when other split chars do not appear in the line being split. "
"Splitchars does not affect :RFC:`2047` encoded lines."
msgstr ""
"*splitchars* (facultatif) est une chaîne contenant des caractères auxquels "
"l'algorithme de fractionnement doit donner un poids supplémentaire lors du "
"reformatage normal de l'en-tête. Il s'agit d'une prise en charge très "
"approximative des « ruptures syntaxiques de niveau supérieur » de la :RFC:"
"`2822` : les points de séparation précédés d'un caractère de séparation sont "
"préférés lors de la séparation des lignes, les caractères étant préférés "
"dans l'ordre dans lequel ils apparaissent dans la chaîne. Une espace et une "
"tabulation peuvent être incluses dans la chaîne pour indiquer si la "
"préférence doit être donnée à l'une plutôt qu'à l'autre comme point de "
"partage lorsque d'autres caractères fractionnés n'apparaissent pas dans la "
"ligne fractionnée. *splitchars* n'affecte pas les lignes encodées selon la :"
"RFC:`2047`."
#: library/email.header.rst:135
msgid ""
"*maxlinelen*, if given, overrides the instance's value for the maximum line "
"length."
msgstr ""
"*maxlinelen*, s'il est fourni, remplace la valeur de l'instance pour la "
"longueur de ligne maximale."
#: library/email.header.rst:138
msgid ""
@ -207,16 +304,23 @@ msgid ""
"(``\\n``), but ``\\r\\n`` can be specified in order to produce headers with "
"RFC-compliant line separators."
msgstr ""
"*linesep* spécifie les caractères utilisés pour séparer les lignes de l'en-"
"tête plié. Il prend par défaut la valeur la plus utile pour le code "
"d'application Python (``\\n``), mais ``\\r\\n`` peut être spécifié afin de "
"produire des en-têtes avec des séparateurs de ligne conformes à la RFC."
# suit un :
#: library/email.header.rst:143
msgid "Added the *linesep* argument."
msgstr ""
msgstr "ajout de l'argument *linesep*."
#: library/email.header.rst:147
msgid ""
"The :class:`Header` class also provides a number of methods to support "
"standard operators and built-in functions."
msgstr ""
"La classe :class:`Header` fournit également un certain nombre de méthodes "
"pour prendre en charge les opérateurs standard et les fonctions intégrées."
#: library/email.header.rst:152
msgid ""
@ -226,33 +330,47 @@ msgid ""
"charset of ``'unknown-8bit'`` are decoded as ASCII using the ``'replace'`` "
"error handler."
msgstr ""
"Renvoie une approximation de :class:`Header` sous forme de chaîne, en "
"utilisant une longueur de ligne illimitée. Toutes les parties sont "
"converties en Unicode en utilisant l'encodage spécifié et réunies de manière "
"appropriée. Tous les morceaux avec un *charset* à ``'unknown-8bit'`` sont "
"décodés en ASCII en utilisant le gestionnaire d'erreurs ``'replace'``."
# suit un :
#: library/email.header.rst:158
msgid "Added handling for the ``'unknown-8bit'`` charset."
msgstr ""
msgstr "ajout de la gestion du jeu de caractères ``'unknown-8bit'``."
#: library/email.header.rst:164
msgid ""
"This method allows you to compare two :class:`Header` instances for equality."
msgstr ""
"Cette méthode vous permet de tester l'égalité de deux instances de :class:"
"`Header`."
#: library/email.header.rst:170
msgid ""
"This method allows you to compare two :class:`Header` instances for "
"inequality."
msgstr ""
"Cette méthode vous permet de tester l'inégalité de deux instances de :class:"
"`Header`."
#: library/email.header.rst:173
msgid ""
"The :mod:`email.header` module also provides the following convenient "
"functions."
msgstr ""
"Le module :mod:`email.header` fournit également les fonctions pratiques "
"suivantes."
#: library/email.header.rst:178
msgid ""
"Decode a message header value without converting the character set. The "
"header value is in *header*."
msgstr ""
"Décode une valeur d'en-tête de message sans convertir le jeu de caractères. "
"La valeur de l'en-tête est dans *header*."
#: library/email.header.rst:181
msgid ""
@ -261,16 +379,22 @@ msgid ""
"for non-encoded parts of the header, otherwise a lower case string "
"containing the name of the character set specified in the encoded string."
msgstr ""
"Cette fonction renvoie une liste de paires ``(decoded_string, charset)`` "
"contenant chacune des parties décodées de l'en-tête. *charset* est ``None`` "
"pour les parties non encodées de l'en-tête, sinon une chaîne en minuscules "
"contenant le nom du jeu de caractères spécifié dans la chaîne encodée."
#: library/email.header.rst:186
msgid "Here's an example::"
msgstr ""
msgstr "Voici un exemple ::"
#: library/email.header.rst:195
msgid ""
"Create a :class:`Header` instance from a sequence of pairs as returned by :"
"func:`decode_header`."
msgstr ""
"Crée une instance :class:`Header` à partir d'une séquence de paires "
"renvoyées par :func:`decode_header`."
#: library/email.header.rst:198
msgid ""
@ -278,6 +402,9 @@ msgid ""
"pairs of the format ``(decoded_string, charset)`` where *charset* is the "
"name of the character set."
msgstr ""
":func:`decode_header` prend une chaîne de valeur d'en-tête et renvoie une "
"séquence de paires au format ``(decoded_string, charset)`` où *charset* est "
"le nom du jeu de caractères."
#: library/email.header.rst:202
msgid ""
@ -285,3 +412,6 @@ msgid ""
"`Header` instance. Optional *maxlinelen*, *header_name*, and "
"*continuation_ws* are as in the :class:`Header` constructor."
msgstr ""
"Cette fonction prend l'une de ces séquences de paires et renvoie une "
"instance :class:`Header`. *maxlinelen*, *header_name* et *continuation_ws* "
"(facultatifs) s'utilisent comme dans le constructeur :class:`Header`."

View File

@ -6,25 +6,26 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2019-09-06 13:49+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2024-03-17 22:00+0100\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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.2.2\n"
#: library/email.headerregistry.rst:2
msgid ":mod:`email.headerregistry`: Custom Header Objects"
msgstr ""
msgstr ":mod:`email.headerregistry` : objets d'en-tête personnalisés"
#: library/email.headerregistry.rst:10
msgid "**Source code:** :source:`Lib/email/headerregistry.py`"
msgstr ""
msgstr "**Code source :** :source:`Lib/email/headerregistry.py`"
#: library/email.headerregistry.rst:14
msgid "[1]_"
msgstr ""
msgstr "[1]_"
#: library/email.headerregistry.rst:16
msgid ""
@ -37,6 +38,16 @@ msgid ""
"for various header types, but also provides an extension mechanism for "
"applications to add their own custom header types."
msgstr ""
"Les en-têtes sont représentés par des sous-classes personnalisées de :class:"
"`str`. La classe particulière utilisée pour représenter un en-tête donné est "
"déterminée par :attr:`~email.policy.EmailPolicy.header_factory` de la :mod:"
"`~email.policy` en vigueur lorsque les en-têtes sont créés. Cette section "
"documente la ``header_factory`` particulière implémentée par le paquet de "
"messagerie pour la gestion des messages électroniques conformes à la :RFC:"
"`5322`, qui fournit non seulement des objets d'en-tête personnalisés pour "
"différents types d'en-tête, mais fournit également un mécanisme d'extension "
"permettant aux applications d'ajouter leurs propres types d'en-tête "
"personnalisés."
#: library/email.headerregistry.rst:25
msgid ""
@ -51,6 +62,17 @@ msgid ""
"application program, but interfaces are provided for modifying the default "
"behavior for use by more complex applications."
msgstr ""
"Lors de l'utilisation de l'un des objets de définition de politique dérivés "
"de :data:`~email.policy.EmailPolicy`, tous les en-têtes sont produits par :"
"class:`.HeaderRegistry` et ont :class:`.BaseHeader` comme dernière classe "
"mère. Chaque classe d'en-tête a une classe mère supplémentaire qui est "
"déterminée par le type de l'en-tête. Par exemple, de nombreux en-têtes ont "
"la classe :class:`.UnstructuredHeader` comme autre classe mère. La deuxième "
"classe spécialisée pour un en-tête est déterminée par le nom de l'en-tête, "
"en utilisant un tableau de recherche stocké dans :class:`.HeaderRegistry`. "
"Tout cela est géré de manière transparente pour le programme d'application "
"typique, mais des interfaces sont fournies pour modifier le comportement par "
"défaut pour une utilisation par des applications plus complexes."
#: library/email.headerregistry.rst:36
msgid ""
@ -59,6 +81,10 @@ msgid ""
"HeaderRegistry`, and finally the support classes used to represent the data "
"parsed from structured headers."
msgstr ""
"Les sections ci-dessous documentent d'abord les classes mères d'en-tête et "
"leurs attributs, suivies de l'API pour modifier le comportement de :class:`."
"HeaderRegistry`, et enfin les classes de gestion utilisées pour représenter "
"les données analysées à partir d'en-têtes structurés."
#: library/email.headerregistry.rst:44
msgid ""
@ -66,10 +92,13 @@ msgid ""
"policy.EmailPolicy.header_factory` call. The string value of any header "
"object is the *value* fully decoded to unicode."
msgstr ""
"*name* et *value* sont passés à ``BaseHeader`` à partir de l'appel :attr:"
"`~email.policy.EmailPolicy.header_factory`. La valeur de chaîne de tout "
"objet d'en-tête est la *value* entièrement décodée en Unicode."
#: library/email.headerregistry.rst:48
msgid "This base class defines the following read-only properties:"
msgstr ""
msgstr "Cette classe mère définit les propriétés en lecture seule suivantes :"
#: library/email.headerregistry.rst:53
msgid ""
@ -77,6 +106,9 @@ msgid ""
"exactly the value passed in the :attr:`~email.policy.EmailPolicy."
"header_factory` call for *name*; that is, case is preserved."
msgstr ""
"Nom de l'en-tête (la partie du champ avant le ``:``). C'est exactement la "
"valeur passée dans l'appel :attr:`~email.policy.EmailPolicy.header_factory` "
"pour *name* ; c'est-à-dire que la casse est préservée."
#: library/email.headerregistry.rst:61
msgid ""
@ -85,6 +117,11 @@ msgid ""
"complete about detecting compliance issues. See the :mod:`~email.errors` "
"module for a discussion of the types of defects that may be reported."
msgstr ""
"*n*-uplet d'instances :exc:`~email.errors.HeaderDefect` signalant tout "
"problème de conformité avec les RFC détecté lors de l'analyse. Le paquet d'e-"
"mails tente d'être complet en ce qui concerne la détection des problèmes de "
"conformité. Voir le module :mod:`~email.errors` pour une discussion sur les "
"types de défauts qui peuvent être signalés."
#: library/email.headerregistry.rst:69
msgid ""
@ -93,6 +130,10 @@ msgid ""
"attribute is ``None``; it is expected that specialized header classes will "
"override this value as needed."
msgstr ""
"Nombre maximum d'en-têtes de ce type pouvant avoir le même ``name``. Une "
"valeur de ``None`` signifie illimité. La valeur ``BaseHeader`` pour cet "
"attribut est ``None`` ; les classes d'en-tête spécialisées sont censées "
"remplacer cette valeur si nécessaire."
#: library/email.headerregistry.rst:74
msgid ""
@ -100,6 +141,9 @@ msgid ""
"email library code and should not in general be called by application "
"programs:"
msgstr ""
"``BaseHeader`` fournit également la méthode suivante, qui est appelée par le "
"code de la bibliothèque de messagerie et ne doit généralement pas être "
"appelée par les programmes d'application :"
#: library/email.headerregistry.rst:80
msgid ""
@ -110,6 +154,13 @@ msgid ""
"`~email.policy.EmailPolicy.utf8` is ``False``, non-ASCII data will be :rfc:"
"`2047` encoded."
msgstr ""
"Renvoie une chaîne contenant les caractères :attr:`~email.policy.Policy."
"linesep` nécessaires pour remettre en forme correctement l'en-tête "
"conformément à *policy*. Un :attr:`~email.policy.Policy.cte_type` de "
"``8bit`` est traité comme s'il s'agissait de ``7bit``, car les en-têtes ne "
"peuvent pas contenir de données binaires arbitraires. Si :attr:`~email."
"policy.EmailPolicy.utf8` est ``False``, les données non-ASCII seront "
"encodées selon la :rfc:`2047`."
#: library/email.headerregistry.rst:88
msgid ""
@ -119,6 +170,11 @@ msgid ""
"specialized class provide a :func:`classmethod` named ``parse``. This "
"method is called as follows::"
msgstr ""
"``BaseHeader`` seule ne peut pas être utilisée pour créer un objet d'en-"
"tête. Elle définit un protocole avec lequel chaque en-tête spécialisé "
"coopère afin de produire l'objet d'en-tête. Plus précisément, ``BaseHeader`` "
"nécessite que la classe spécialisée fournisse une :func:`classmethod` nommée "
"``parse``. Cette méthode s'appelle comme suit ::"
#: library/email.headerregistry.rst:96
msgid ""
@ -132,6 +188,16 @@ msgid ""
"valid unicode characters as well so that it can parse un-encoded header "
"values."
msgstr ""
"``kwds`` est un dictionnaire contenant une clé pré-initialisée : "
"``defects``. ``defects`` est une liste vide. La méthode d'analyse doit "
"ajouter tous les défauts détectés à cette liste. Au retour, le dictionnaire "
"``kwds`` *doit* contenir des valeurs pour au moins les clés ``decoded`` et "
"``defects``. ``decoded`` doit être la valeur de la chaîne pour l'en-tête "
"(c'est-à-dire la valeur de l'en-tête entièrement décodée en Unicode). La "
"méthode d'analyse doit supposer que *string* peut contenir des parties "
"codées par transfert de contenu, mais doit également gérer correctement tous "
"les caractères Unicode valides afin de pouvoir analyser les valeurs d'en-"
"tête non codées."
#: library/email.headerregistry.rst:105
msgid ""
@ -140,6 +206,11 @@ msgid ""
"method if it wishes to set additional attributes beyond those provided by "
"``BaseHeader`` itself. Such an ``init`` method should look like this::"
msgstr ""
"``__new__`` de ``BaseHeader`` crée ensuite l'instance d'en-tête et appelle "
"sa méthode ``init``. La classe spécialisée n'a besoin de fournir une méthode "
"``init`` que si elle souhaite définir des attributs supplémentaires au-delà "
"de ceux fournis par ``BaseHeader`` lui-même. Une telle méthode ``init`` "
"devrait ressembler à ceci ::"
#: library/email.headerregistry.rst:114
msgid ""
@ -147,6 +218,9 @@ msgid ""
"dictionary should be removed and handled, and the remaining contents of "
"``kw`` (and ``args``) passed to the ``BaseHeader`` ``init`` method."
msgstr ""
"Autrement dit, tout ce que la classe spécialisée ajoute au dictionnaire "
"``kwds`` doit être supprimé et géré, et le contenu restant de ``kw`` (et "
"``args``) est passé à la méthode ``init`` de ``BaseHeader``."
#: library/email.headerregistry.rst:121
msgid ""
@ -155,6 +229,10 @@ msgid ""
"The classic example of an unstructured header is the :mailheader:`Subject` "
"header."
msgstr ""
"Un en-tête « non structuré » est le type d'en-tête par défaut dans la :rfc:"
"`5322`. Tout en-tête qui n'a pas de syntaxe spécifiée est traité comme non "
"structuré. L'exemple classique d'en-tête non structuré est l'en-tête :"
"mailheader:`Subject`."
#: library/email.headerregistry.rst:126
msgid ""
@ -168,22 +246,37 @@ msgid ""
"words. Defects are registered in such cases, as well as defects for issues "
"such as invalid characters within the encoded words or the non-encoded text."
msgstr ""
"Dans la :rfc:`5322`, un en-tête non structuré est une séquence de texte "
"arbitraire dans le jeu de caractères ASCII. :rfc:`2047`, cependant, possède "
"un mécanisme compatible :rfc:`5322` pour encoder du texte non-ASCII en tant "
"que caractères ASCII dans une valeur d'en-tête. Lorsqu'une *value* contenant "
"des mots encodés est passée au constructeur, l'analyseur "
"``UnstructuredHeader`` convertit ces mots encodés en Unicode, en suivant les "
"règles de la :rfc:`2047` pour le texte non structuré. L'analyseur utilise "
"des heuristiques pour tenter de décoder certains mots codés non conformes. "
"Des défauts sont enregistrés dans de tels cas, ainsi que des défauts pour "
"des problèmes tels que des caractères non valides dans les mots codés ou le "
"texte non codé."
#: library/email.headerregistry.rst:136
msgid "This header type provides no additional attributes."
msgstr ""
msgstr "Ce type d'en-tête ne fournit aucun attribut supplémentaire."
#: library/email.headerregistry.rst:141
msgid ""
":rfc:`5322` specifies a very specific format for dates within email headers. "
"The ``DateHeader`` parser recognizes that date format, as well as "
"recognizing a number of variant forms that are sometimes found \"in the "
"wild\"."
"recognizing a number of variant forms that are sometimes found \"in the wild"
"\"."
msgstr ""
"La :rfc:`5322` spécifie un format très spécifique pour les dates dans les en-"
"têtes de courrier électronique. L'analyseur ``DateHeader`` reconnaît ce "
"format de date, ainsi qu'un certain nombre de formes variantes que l'on "
"trouve parfois « dans la nature »."
#: library/email.headerregistry.rst:146 library/email.headerregistry.rst:188
msgid "This header type provides the following additional attributes:"
msgstr ""
msgstr "Ce type d'en-tête fournit les attributs supplémentaires suivants :"
#: library/email.headerregistry.rst:150
msgid ""
@ -196,12 +289,24 @@ msgid ""
"then :attr:`.datetime` will contain an aware ``datetime`` that uses :class:"
"`datetime.timezone` to record the timezone offset."
msgstr ""
"Si la valeur d'en-tête peut être reconnue comme une date valide d'une forme "
"ou d'une autre, cet attribut contient une instance :class:`~datetime."
"datetime` représentant cette date. Si le fuseau horaire de la date d'entrée "
"est spécifié comme ``-0000`` (indiquant qu'il est en UTC mais ne contient "
"aucune information sur le fuseau horaire source), alors :attr:`.datetime` "
"est une :class:`~datetime.datetime` naïve. Si un décalage de fuseau horaire "
"spécifique est trouvé (y compris ``+0000``), alors :attr:`.datetime` "
"contient un ``datetime`` avisé qui utilise :class:`datetime.timezone` pour "
"enregistrer le décalage lié au fuseau horaire."
#: library/email.headerregistry.rst:160
msgid ""
"The ``decoded`` value of the header is determined by formatting the "
"``datetime`` according to the :rfc:`5322` rules; that is, it is set to::"
msgstr ""
"La valeur ``decoded`` de l'en-tête est déterminée en formatant le "
"``datetime`` selon les règles de la :rfc:`5322` ; c'est-à-dire qu'elle est "
"définie sur ::"
#: library/email.headerregistry.rst:165
msgid ""
@ -209,6 +314,9 @@ msgid ""
"instance. This means, for example, that the following code is valid and "
"does what one would expect::"
msgstr ""
"Lors de la création d'un ``DateHeader``, *value* peut être une instance de :"
"class:`~datetime.datetime`. Cela signifie, par exemple, que le code suivant "
"est valide et fait ce à quoi on pourrait s'attendre ::"
#: library/email.headerregistry.rst:171
msgid ""
@ -217,18 +325,27 @@ msgid ""
"more useful is to use the :func:`~email.utils.localtime` function from the :"
"mod:`~email.utils` module::"
msgstr ""
"Comme il s'agit d'un ``datetime`` naïf, il est interprété comme un "
"horodatage UTC et la valeur résultante a un fuseau horaire de ``-0000``. Il "
"est beaucoup plus utile d'utiliser la fonction :func:`~email.utils."
"localtime` du module :mod:`~email.utils` ::"
#: library/email.headerregistry.rst:178
msgid ""
"This example sets the date header to the current time and date using the "
"current timezone offset."
msgstr ""
"Cet exemple définit l'en-tête de date sur l'heure et la date actuelles à "
"l'aide du décalage horaire actuel."
#: library/email.headerregistry.rst:184
msgid ""
"Address headers are one of the most complex structured header types. The "
"``AddressHeader`` class provides a generic interface to any address header."
msgstr ""
"Les en-têtes d'adresse sont l'un des types d'en-têtes structurés les plus "
"complexes. La classe ``AddressHeader`` fournit une interface générique à "
"n'importe quel en-tête d'adresse."
#: library/email.headerregistry.rst:193
msgid ""
@ -237,6 +354,10 @@ msgid ""
"in this list as single-address ``Groups`` whose :attr:`~.Group.display_name` "
"is ``None``."
msgstr ""
"*n*-uplet d'objets :class:`.Group` encodant les adresses et les groupes "
"trouvés dans la valeur d'en-tête. Les adresses qui ne font pas partie d'un "
"groupe sont représentées dans cette liste comme des ``Groups`` à adresse "
"unique dont :attr:`~.Group.display_name` est ``None``."
#: library/email.headerregistry.rst:201
msgid ""
@ -246,6 +367,11 @@ msgid ""
"point where the group occurs in the value (that is, the list of addresses is "
"\"flattened\" into a one dimensional list)."
msgstr ""
"*n*-uplet d'objets :class:`.Address` encodant toutes les adresses "
"individuelles à partir de la valeur d'en-tête. Si la valeur d'en-tête "
"contient des groupes, les adresses individuelles du groupe sont incluses "
"dans la liste au point où le groupe apparaît dans la valeur (c'est-à-dire "
"que la liste d'adresses est « aplatie » en une liste unidimensionnelle)."
#: library/email.headerregistry.rst:207
msgid ""
@ -255,6 +381,11 @@ msgid ""
"the :class:`str` value of the elements of the ``groups`` attribute with ``', "
"'``."
msgstr ""
"La valeur ``decoded`` de l'en-tête a tous les mots codés décodés en Unicode. "
"Les noms de domaine encodés en :class:`~encodings.idna` sont également "
"décodés en Unicode. La valeur ``decoded`` est définie en :ref:`joignant "
"<meth-str-join>` la valeur :class:`str` des éléments de l'attribut "
"``groups`` avec ``', '``."
#: library/email.headerregistry.rst:213
msgid ""
@ -264,11 +395,19 @@ msgid ""
"allows an address list to be copied with groups intact by using the list "
"obtained from the ``groups`` attribute of the source header."
msgstr ""
"Une liste d'objets :class:`.Address` et :class:`.Group` dans n'importe "
"quelle combinaison peut être utilisée pour définir la valeur d'un en-tête "
"d'adresse. Les objets ``Group`` dont le ``display_name`` est ``None`` sont "
"interprétés comme des adresses uniques, ce qui permet de copier une liste "
"d'adresses avec des groupes intacts en utilisant la liste obtenue à partir "
"de l'attribut ``groups`` de l'en-tête source."
#: library/email.headerregistry.rst:222
msgid ""
"A subclass of :class:`.AddressHeader` that adds one additional attribute:"
msgstr ""
"Sous-classe de :class:`.AddressHeader` qui ajoute un attribut "
"supplémentaire :"
#: library/email.headerregistry.rst:228
msgid ""
@ -277,6 +416,10 @@ msgid ""
"RFC under the default :mod:`~email.policy`), accessing this attribute will "
"result in a :exc:`ValueError`."
msgstr ""
"Adresse unique codée par la valeur d'en-tête. Si la valeur d'en-tête "
"contient en fait plus d'une adresse (ce qui serait une violation de la RFC "
"sous la valeur par défaut :mod:`~email.policy`), l'accès à cet attribut lève "
"une :exc:`ValueError`."
#: library/email.headerregistry.rst:234
msgid ""
@ -284,6 +427,9 @@ msgid ""
"``UniqueUnstructuredHeader``). The only difference is that in the "
"``Unique`` variant, :attr:`~.BaseHeader.max_count` is set to 1."
msgstr ""
"La plupart des classes ci-dessus ont également une variante ``Unique`` (par "
"exemple, ``UniqueUnstructuredHeader``). La seule différence est que dans la "
"variante ``Unique``, :attr:`~.BaseHeader.max_count` est définie sur 1."
#: library/email.headerregistry.rst:241
msgid ""
@ -293,19 +439,24 @@ msgid ""
"per :rfc:`2045`, then the header object will have non-``None`` values for "
"the following attributes:"
msgstr ""
"Il n'y a vraiment qu'une seule valeur valide pour l'en-tête :mailheader:"
"`MIME-Version`, et c'est ``1.0``. Au cas où, cette classe d'en-tête prend en "
"charge d'autres numéros de version valides. Si un numéro de version a une "
"valeur valide selon la :rfc:`2045`, alors l'objet d'en-tête a des valeurs "
"autres que ``None`` pour les attributs suivants :"
#: library/email.headerregistry.rst:249
msgid ""
"The version number as a string, with any whitespace and/or comments removed."
msgstr ""
msgstr "Numéro de version sous forme de chaîne, sans espaces ni commentaires."
#: library/email.headerregistry.rst:254
msgid "The major version number as an integer"
msgstr ""
msgstr "Numéro de version majeure sous forme d'entier"
#: library/email.headerregistry.rst:258
msgid "The minor version number as an integer"
msgstr ""
msgstr "Numéro de version mineure sous forme d'entier"
#: library/email.headerregistry.rst:263
msgid ""
@ -314,40 +465,54 @@ msgid ""
"take a list of supplemental parameters, which have a common format. This "
"class serves as a base for all the MIME headers that take parameters."
msgstr ""
"Les en-têtes MIME commencent tous par le préfixe ``'Content-'``. Chaque en-"
"tête spécifique a une certaine valeur, décrite par la classe de cet en-tête. "
"Certains peuvent également prendre une liste de paramètres supplémentaires, "
"qui ont un format commun. Cette classe sert de base à tous les en-têtes MIME "
"qui prennent des paramètres."
#: library/email.headerregistry.rst:270
msgid "A dictionary mapping parameter names to parameter values."
msgstr ""
"Dictionnaire de correspondance entre les noms de paramètres et leurs valeurs."
#: library/email.headerregistry.rst:275
msgid ""
"A :class:`ParameterizedMIMEHeader` class that handles the :mailheader:"
"`Content-Type` header."
msgstr ""
"Classe :class:`ParameterizedMIMEHeader` qui gère l'en-tête :mailheader:"
"`Content-Type`."
#: library/email.headerregistry.rst:280
msgid "The content type string, in the form ``maintype/subtype``."
msgstr ""
msgstr "Chaîne de type de contenu, sous la forme ``maintype/subtype``."
#: library/email.headerregistry.rst:289
msgid ""
"A :class:`ParameterizedMIMEHeader` class that handles the :mailheader:"
"`Content-Disposition` header."
msgstr ""
"Classe :class:`ParameterizedMIMEHeader` qui gère l'en-tête :mailheader:"
"`Content-Disposition`."
#: library/email.headerregistry.rst:294
msgid "``inline`` and ``attachment`` are the only valid values in common use."
msgstr ""
"``inline`` et ``attachment`` sont les seules valeurs valides couramment "
"utilisées."
#: library/email.headerregistry.rst:299
msgid "Handles the :mailheader:`Content-Transfer-Encoding` header."
msgstr ""
msgstr "Gère l'en-tête :mailheader:`Content-Transfer-Encoding`."
#: library/email.headerregistry.rst:303
msgid ""
"Valid values are ``7bit``, ``8bit``, ``base64``, and ``quoted-printable``. "
"See :rfc:`2045` for more information."
msgstr ""
"Les valeurs valides sont ``7bit``, ``8bit``, ``base64`` et ``quoted-"
"printable``. Voir la :rfc:`2045` pour plus d'informations."
#: library/email.headerregistry.rst:312
msgid ""
@ -361,14 +526,24 @@ msgid ""
"initialization. *base_class* is always the last class in the generated "
"class's ``__bases__`` list."
msgstr ""
"C'est la fabrique utilisée par :class:`~email.policy.EmailPolicy` par "
"défaut. ``HeaderRegistry`` construit la classe utilisée pour créer "
"dynamiquement une instance d'en-tête, en utilisant *base_class* et une "
"classe spécialisée récupérée à partir d'un registre qu'il contient. "
"Lorsqu'un nom d'en-tête donné n'apparaît pas dans le registre, la classe "
"spécifiée par *default_class* est utilisée comme classe spécialisée. Lorsque "
"*use_default_map* est ``True`` (valeur par défaut), la correspondance "
"standard des noms d'en-tête aux classes est copiée dans le registre lors de "
"l'initialisation. *base_class* est toujours la dernière classe dans la liste "
"``__bases__`` de la classe générée."
#: library/email.headerregistry.rst:322
msgid "The default mappings are:"
msgstr ""
msgstr "Les correspondances par défaut sont :"
#: library/email.headerregistry.rst:0
msgid "subject"
msgstr ""
msgstr "subject"
#: library/email.headerregistry.rst:324
msgid "UniqueUnstructuredHeader"
@ -376,7 +551,7 @@ msgstr "UniqueUnstructuredHeader"
#: library/email.headerregistry.rst:0
msgid "date"
msgstr ""
msgstr "date"
#: library/email.headerregistry.rst:325 library/email.headerregistry.rst:327
msgid "UniqueDateHeader"
@ -384,7 +559,7 @@ msgstr "UniqueDateHeader"
#: library/email.headerregistry.rst:0
msgid "resent-date"
msgstr ""
msgstr "resent-date"
#: library/email.headerregistry.rst:326
msgid "DateHeader"
@ -392,11 +567,11 @@ msgstr "DateHeader"
#: library/email.headerregistry.rst:0
msgid "orig-date"
msgstr ""
msgstr "orig-date"
#: library/email.headerregistry.rst:0
msgid "sender"
msgstr ""
msgstr "sender"
#: library/email.headerregistry.rst:328
msgid "UniqueSingleAddressHeader"
@ -404,7 +579,7 @@ msgstr "UniqueSingleAddressHeader"
#: library/email.headerregistry.rst:0
msgid "resent-sender"
msgstr ""
msgstr "resent-sender"
#: library/email.headerregistry.rst:329
msgid "SingleAddressHeader"
@ -412,7 +587,7 @@ msgstr "SingleAddressHeader"
#: library/email.headerregistry.rst:0
msgid "to"
msgstr ""
msgstr "to"
#: library/email.headerregistry.rst:330 library/email.headerregistry.rst:332
#: library/email.headerregistry.rst:334 library/email.headerregistry.rst:336
@ -422,7 +597,7 @@ msgstr "UniqueAddressHeader"
#: library/email.headerregistry.rst:0
msgid "resent-to"
msgstr ""
msgstr "resent-to"
#: library/email.headerregistry.rst:331 library/email.headerregistry.rst:333
#: library/email.headerregistry.rst:335 library/email.headerregistry.rst:337
@ -431,43 +606,43 @@ msgstr "AddressHeader"
#: library/email.headerregistry.rst:0
msgid "cc"
msgstr ""
msgstr "cc"
#: library/email.headerregistry.rst:0
msgid "resent-cc"
msgstr ""
msgstr "resent-cc"
#: library/email.headerregistry.rst:0
msgid "bcc"
msgstr ""
msgstr "bcc"
#: library/email.headerregistry.rst:0
msgid "resent-bcc"
msgstr ""
msgstr "resent-bcc"
#: library/email.headerregistry.rst:0
msgid "from"
msgstr ""
msgstr "from"
#: library/email.headerregistry.rst:0
msgid "resent-from"
msgstr ""
msgstr "resent-from"
#: library/email.headerregistry.rst:0
msgid "reply-to"
msgstr ""
msgstr "reply-to"
#: library/email.headerregistry.rst:0
msgid "mime-version"
msgstr ""
msgstr "mime-version"
#: library/email.headerregistry.rst:339
msgid "MIMEVersionHeader"
msgstr ""
msgstr "MIMEVersionHeader"
#: library/email.headerregistry.rst:0
msgid "content-type"
msgstr ""
msgstr "content-type"
#: library/email.headerregistry.rst:340
msgid "ContentTypeHeader"
@ -475,23 +650,23 @@ msgstr "ContentTypeHeader"
#: library/email.headerregistry.rst:0
msgid "content-disposition"
msgstr ""
msgstr "content-disposition"
#: library/email.headerregistry.rst:341
msgid "ContentDispositionHeader"
msgstr ""
msgstr "ContentDispositionHeader"
#: library/email.headerregistry.rst:0
msgid "content-transfer-encoding"
msgstr ""
msgstr "content-transfer-encoding"
#: library/email.headerregistry.rst:342
msgid "ContentTransferEncodingHeader"
msgstr ""
msgstr "ContentTransferEncodingHeader"
#: library/email.headerregistry.rst:0
msgid "message-id"
msgstr ""
msgstr "message-id"
#: library/email.headerregistry.rst:343
msgid "MessageIDHeader"
@ -499,7 +674,7 @@ msgstr "MessageIDHeader"
#: library/email.headerregistry.rst:345
msgid "``HeaderRegistry`` has the following methods:"
msgstr ""
msgstr "``HeaderRegistry`` a les méthodes suivantes :"
#: library/email.headerregistry.rst:350
msgid ""
@ -508,10 +683,15 @@ msgid ""
"along with *base_class*, to create the class used to instantiate headers "
"that match *name*."
msgstr ""
"*name* est le nom de l'en-tête à faire correspondre. Il est converti en "
"minuscules dans le registre. *cls* est la classe spécialisée à utiliser, "
"avec *base_class*, pour créer la classe utilisée pour instancier les en-"
"têtes qui correspondent à *name*."
#: library/email.headerregistry.rst:358
msgid "Construct and return a class to handle creating a *name* header."
msgstr ""
"Construit et renvoie une classe pour gérer la création d'un en-tête *name*."
#: library/email.headerregistry.rst:363
msgid ""
@ -521,6 +701,11 @@ msgid ""
"class's constructor, passing it the same argument list, and finally returns "
"the class instance created thereby."
msgstr ""
"Récupère l'en-tête spécialisé associé à *name* du registre (en utilisant "
"*default_class* si *name* n'apparaît pas dans le registre) et le compose "
"avec *base_class* pour produire une classe, appelle le constructeur de la "
"classe construite, en lui passant la même liste d'arguments, et renvoie "
"enfin l'instance de classe ainsi créée."
#: library/email.headerregistry.rst:370
msgid ""
@ -528,12 +713,18 @@ msgid ""
"structured headers and can, in general, be used by an application program to "
"construct structured values to assign to specific headers."
msgstr ""
"Les classes suivantes sont les classes utilisées pour représenter les "
"données analysées à partir d'en-têtes structurés et peuvent, en général, "
"être utilisées par un programme d'application pour construire des valeurs "
"structurées à affecter à des en-têtes spécifiques."
#: library/email.headerregistry.rst:377
msgid ""
"The class used to represent an email address. The general form of an "
"address is::"
msgstr ""
"Classe utilisée pour représenter une adresse e-mail. La forme générale d'une "
"adresse est :"
#: library/email.headerregistry.rst:382
msgid "or::"
@ -544,6 +735,8 @@ msgid ""
"where each part must conform to specific syntax rules spelled out in :rfc:"
"`5322`."
msgstr ""
"où chaque partie doit se conformer à des règles de syntaxe spécifiques "
"énoncées dans la :rfc:`5322`."
#: library/email.headerregistry.rst:389
msgid ""
@ -554,6 +747,13 @@ msgid ""
"will be property encoded when serialized. However, per the RFCs, unicode is "
"*not* allowed in the username portion of the address."
msgstr ""
"Pour plus de commodité, *addr_spec* peut être spécifié à la place de "
"*username* et *domain*, *username* et *domain* sont alors analysés à partir "
"de *addr_spec*. Une *addr_spec* doit être une chaîne correctement entre "
"guillemets RFC ; si ce n'est pas le cas, ``Address`` lève une erreur. Les "
"caractères Unicode sont autorisés et sont encodés proprement lors de la "
"sérialisation. Cependant, selon les RFC, lUnicode n'est *pas* autorisé dans "
"la partie nom d'utilisateur de l'adresse."
#: library/email.headerregistry.rst:398
msgid ""
@ -561,20 +761,26 @@ msgid ""
"If the address does not have a display name, this attribute will be an empty "
"string."
msgstr ""
"Partie du nom d'affichage de l'adresse, le cas échéant, avec toutes les "
"citations supprimées. Si l'adresse n'a pas de nom d'affichage, cet attribut "
"est une chaîne vide."
#: library/email.headerregistry.rst:404
msgid "The ``username`` portion of the address, with all quoting removed."
msgstr ""
msgstr "Partie ``username`` de l'adresse, sans guillemets."
#: library/email.headerregistry.rst:408
msgid "The ``domain`` portion of the address."
msgstr ""
msgstr "Partie ``domain`` de l'adresse."
#: library/email.headerregistry.rst:412
msgid ""
"The ``username@domain`` portion of the address, correctly quoted for use as "
"a bare address (the second form shown above). This attribute is not mutable."
msgstr ""
"Partie ``username@domain`` de l'adresse, correctement citée pour une "
"utilisation en tant qu'adresse nue (la deuxième forme illustrée ci-dessus). "
"Cet attribut n'est pas modifiable."
#: library/email.headerregistry.rst:418
msgid ""
@ -582,6 +788,9 @@ msgid ""
"`5322` rules, but with no Content Transfer Encoding of any non-ASCII "
"characters."
msgstr ""
"La valeur ``str`` de l'objet est l'adresse entre guillemets selon les règles "
"de la :rfc:`5322`, mais sans encodage de contenu pour les caractères non-"
"ASCII."
#: library/email.headerregistry.rst:422
msgid ""
@ -589,12 +798,17 @@ msgid ""
"``username`` and ``domain`` are both the empty string (or ``None``), then "
"the string value of the ``Address`` is ``<>``."
msgstr ""
"Pour prendre en charge SMTP (:rfc:`5321`), ``Address`` gère un cas "
"particulier : si ``username`` et ``domain`` sont tous deux la chaîne vide "
"(ou ``None``), alors la valeur de chaîne de ``Address`` est ``<>``."
#: library/email.headerregistry.rst:429
msgid ""
"The class used to represent an address group. The general form of an "
"address group is::"
msgstr ""
"Classe utilisée pour représenter un groupe d'adresses. La forme générale "
"d'un groupe d'adresses est :"
#: library/email.headerregistry.rst:434
msgid ""
@ -603,6 +817,11 @@ msgid ""
"single addresses that are not part of a group by setting *display_name* to "
"``None`` and providing a list of the single address as *addresses*."
msgstr ""
"Pour faciliter le traitement des listes d'adresses composées d'un mélange de "
"groupes et d'adresses uniques, un ``Group`` peut également être utilisé pour "
"représenter des adresses uniques qui ne font pas partie d'un groupe en "
"définissant *display_name* sur ``None`` et en fournissant une liste de "
"l'adresse unique sous la forme *adresses*."
#: library/email.headerregistry.rst:441
msgid ""
@ -610,12 +829,17 @@ msgid ""
"one ``Address`` in ``addresses``, then the ``Group`` represents a single "
"address that is not in a group."
msgstr ""
"``display_name`` du groupe. Si c'est ``None`` et qu'il y a exactement une "
"``Adress`` dans ``adresses``, alors le ``Group`` représente une seule "
"adresse qui n'est pas dans un groupe."
#: library/email.headerregistry.rst:447
msgid ""
"A possibly empty tuple of :class:`.Address` objects representing the "
"addresses in the group."
msgstr ""
"*n*-uplet éventuellement vide d'objets :class:`.Address` représentant les "
"adresses du groupe."
#: library/email.headerregistry.rst:452
msgid ""
@ -625,6 +849,10 @@ msgid ""
"``addresses`` list, the ``str`` value will be the same as the ``str`` of "
"that single ``Address``."
msgstr ""
"La valeur ``str`` d'un ``Group`` est formatée selon la :rfc:`5322`, mais "
"sans encodage de contenu pour les caractères non-ASCII. Si ``display_name`` "
"est ``None`` et qu'il y a une seule ``Address`` dans la liste ``addresses``, "
"la valeur ``str`` est la même que la ``str`` de cette seule ``Adress``."
#: library/email.headerregistry.rst:460
msgid "Footnotes"
@ -634,3 +862,5 @@ msgstr "Notes"
msgid ""
"Originally added in 3.3 as a :term:`provisional module <provisional package>`"
msgstr ""
"Ajouté à l'origine dans 3.3 en tant que :term:`paquet provisoire "
"<provisional package>`"

File diff suppressed because it is too large Load Diff

View File

@ -6,21 +6,22 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2024-03-15 22:55+0100\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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.2.2\n"
#: library/email.mime.rst:2
msgid ":mod:`email.mime`: Creating email and MIME objects from scratch"
msgstr ""
msgstr ":mod:`email.mime` : création d'objets e-mail et MIME à partir de zéro"
#: library/email.mime.rst:7
msgid "**Source code:** :source:`Lib/email/mime/`"
msgstr ""
msgstr "**Code source :** :source:`Lib/email/mime/`"
#: library/email.mime.rst:11
msgid ""
@ -29,6 +30,10 @@ msgid ""
"the new API, but in certain applications these classes may still be useful, "
"even in non-legacy code."
msgstr ""
"Ce module fait partie de l'ancienne API de messagerie (``Compat32``). Sa "
"fonctionnalité est partiellement remplacée par le :mod:`~email."
"contentmanager` dans la nouvelle API mais, dans certaines applications, ces "
"classes peuvent toujours être utiles, même dans du code pas si ancien."
#: library/email.mime.rst:16
msgid ""
@ -40,6 +45,14 @@ msgid ""
"`~email.message.Message` objects, move them around, etc. This makes a very "
"convenient interface for slicing-and-dicing MIME messages."
msgstr ""
"Habituellement, vous obtenez une structure d'objet message en passant un "
"fichier ou du texte à un analyseur, qui analyse le texte et renvoie l'objet "
"message racine. Cependant, vous pouvez également créer une structure de "
"message complète à partir de zéro, ou même des objets individuels :class:"
"`~email.message.Message` à la main. En fait, vous pouvez également prendre "
"une structure existante et ajouter de nouveaux objets :class:`~email.message."
"Message`, les déplacer, etc. Cela crée une interface très pratique pour "
"découper et manipuler chaque morceau de messages MIME."
#: library/email.mime.rst:24
msgid ""
@ -48,14 +61,19 @@ msgid ""
"manually. For MIME messages though, the :mod:`email` package provides some "
"convenient subclasses to make things easier."
msgstr ""
"Vous pouvez créer une nouvelle structure d'objet en créant des instances :"
"class:`~email.message.Message`, en ajoutant manuellement les pièces jointes "
"et tous les en-têtes appropriés. Pour les messages MIME cependant, le "
"paquet :mod:`email` fournit quelques sous-classes pratiques pour faciliter "
"les choses."
#: library/email.mime.rst:29
msgid "Here are the classes:"
msgstr ""
msgstr "Voici les classes :"
#: library/email.mime.rst:35
msgid "Module: :mod:`email.mime.base`"
msgstr "Module : :mod:`email.mime.base`"
msgstr "Module : :mod:`email.mime.base`"
#: library/email.mime.rst:37
msgid ""
@ -65,6 +83,11 @@ msgid ""
"provided primarily as a convenient base class for more specific MIME-aware "
"subclasses."
msgstr ""
"C'est la classe mère pour toutes les sous-classes spécifiques à MIME de :"
"class:`~email.message.Message`. Normalement, vous ne créerez pas d'instances "
"spécifiques de :class:`MIMEBase`, bien que cela soit possible. :class:"
"`MIMEBase` est fourni principalement comme une classe mère pratique pour des "
"sous-classes plus spécifiques compatibles MIME."
#: library/email.mime.rst:43
msgid ""
@ -74,12 +97,19 @@ msgid ""
"a parameter key/value dictionary and is passed directly to :meth:`Message."
"add_header <email.message.Message.add_header>`."
msgstr ""
"*_maintype* est le type majeur du :mailheader:`Content-Type` (par exemple :"
"mimetype:`text` ou :mimetype:`image`) et *_subtype* est le type mineur du :"
"mailheader:`Content-Type` (par exemple, :mimetype:`plain` ou :mimetype:"
"`gif`). *_params* est un paramètre dictionnaire clé-valeur et est transmis "
"directement à :meth:`Message.add_header <email.message.Message.add_header>`."
#: library/email.mime.rst:49
msgid ""
"If *policy* is specified, (defaults to the :class:`compat32 <email.policy."
"Compat32>` policy) it will be passed to :class:`~email.message.Message`."
msgstr ""
"Si *policy* est spécifiée, (par défaut la politique :class:`compat32 <email."
"policy.Compat32>`) elle est passée à :class:`~email.message.Message`."
#: library/email.mime.rst:53
msgid ""
@ -87,15 +117,19 @@ msgid ""
"(based on *_maintype*, *_subtype*, and *_params*), and a :mailheader:`MIME-"
"Version` header (always set to ``1.0``)."
msgstr ""
"La classe :class:`MIMEBase` ajoute toujours un en-tête :mailheader:`Content-"
"Type` (basé sur *_maintype*, *_subtype* et *_params*) et un en-tête :"
"mailheader:`MIME-Version` (toujours défini à ``1.0``)."
# suit un :
#: library/email.mime.rst:104 library/email.mime.rst:169
#: library/email.mime.rst:225 library/email.mime.rst:259
msgid "Added *policy* keyword-only parameter."
msgstr ""
msgstr "ajout du paramètre nommé *policy*."
#: library/email.mime.rst:65
msgid "Module: :mod:`email.mime.nonmultipart`"
msgstr "Module : :mod:`email.mime.nonmultipart`"
msgstr "Module : :mod:`email.mime.nonmultipart`"
#: library/email.mime.rst:67
msgid ""
@ -106,10 +140,16 @@ msgid ""
"`multipart` messages. If :meth:`~email.message.Message.attach` is called, "
"a :exc:`~email.errors.MultipartConversionError` exception is raised."
msgstr ""
"Sous-classe de :class:`~email.mime.base.MIMEBase`, c'est une classe mère "
"intermédiaire pour les messages MIME qui ne sont pas :mimetype:`multipart`. "
"Le but principal de cette classe est d'empêcher l'utilisation de la méthode :"
"meth:`~email.message.Message.attach`, qui n'a de sens que pour les messages :"
"mimetype:`multipart`. Si :meth:`~email.message.Message.attach` est appelée, "
"une exception :exc:`~email.errors.MultipartConversionError` est levée."
#: library/email.mime.rst:80
msgid "Module: :mod:`email.mime.multipart`"
msgstr "Module : :mod:`email.mime.multipart`"
msgstr "Module : :mod:`email.mime.multipart`"
#: library/email.mime.rst:82
msgid ""
@ -120,6 +160,12 @@ msgid ""
"`multipart/_subtype` will be added to the message object. A :mailheader:"
"`MIME-Version` header will also be added."
msgstr ""
"Sous-classe de :class:`~email.mime.base.MIMEBase`, c'est une classe mère "
"intermédiaire pour les messages MIME qui sont :mimetype:`multipart`. "
"*_subtype* (facultatif) est par défaut :mimetype:`mixed`, mais peut être "
"utilisé pour spécifier le sous-type du message. Un en-tête :mailheader:"
"`Content-Type` de :mimetype:`multipart/_subtype` sera ajouté à l'objet "
"message. Un en-tête :mailheader:`MIME-Version` sera également ajouté."
#: library/email.mime.rst:89
msgid ""
@ -127,6 +173,9 @@ msgid ""
"default), the boundary is calculated when needed (for example, when the "
"message is serialized)."
msgstr ""
"*boundary* (facultatif) est la chaîne de délimitation en plusieurs parties. "
"Si elle vaut ``None`` (la valeur par défaut), la délimitation est calculée "
"au besoin (par exemple, lorsque le message est sérialisé)."
#: library/email.mime.rst:93
msgid ""
@ -135,6 +184,10 @@ msgid ""
"subparts to the message by using the :meth:`Message.attach <email.message."
"Message.attach>` method."
msgstr ""
"*_subparts* est une séquence de sous-parties initiales pour la charge utile. "
"Il doit être possible de convertir cette séquence en une liste. Vous pouvez "
"toujours joindre de nouvelles sous-parties au message en utilisant la "
"méthode :meth:`Message.attach <email.message.Message.attach>`."
#: library/email.mime.rst:131 library/email.mime.rst:200
#: library/email.mime.rst:254
@ -142,6 +195,8 @@ msgid ""
"Optional *policy* argument defaults to :class:`compat32 <email.policy."
"Compat32>`."
msgstr ""
"L'argument facultatif *policy* est par défaut :class:`compat32 <email.policy."
"Compat32>`."
#: library/email.mime.rst:100
msgid ""
@ -149,10 +204,13 @@ msgid ""
"from the keyword arguments, or passed into the *_params* argument, which is "
"a keyword dictionary."
msgstr ""
"Des paramètres supplémentaires pour l'en-tête :mailheader:`Content-Type` "
"sont extraits des arguments nommés ou passés à l'argument *_params*, qui est "
"un dictionnaire de mots-clés."
#: library/email.mime.rst:113
msgid "Module: :mod:`email.mime.application`"
msgstr "Module : :mod:`email.mime.application`"
msgstr "Module : :mod:`email.mime.application`"
#: library/email.mime.rst:115
msgid ""
@ -162,6 +220,11 @@ msgid ""
"application data. Optional *_subtype* specifies the MIME subtype and "
"defaults to :mimetype:`octet-stream`."
msgstr ""
"Sous-classe de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la "
"classe :class:`MIMEApplication` est utilisée pour représenter les objets de "
"message MIME de type principal :mimetype:`application`. *_data* contient les "
"octets pour les données d'application brutes. L'option *_subtype* spécifie "
"le sous-type MIME et la valeur par défaut est :mimetype:`octet-stream`."
#: library/email.mime.rst:121
msgid ""
@ -174,14 +237,24 @@ msgid ""
"object as necessary. The default encoding is base64. See the :mod:`email."
"encoders` module for a list of the built-in encoders."
msgstr ""
"*_encoder* (facultatif) est un appelable (c'est-à-dire une fonction) qui "
"effectue le codage réel des données pour le transport. Cet appelable prend "
"un argument, qui est l'instance :class:`MIMEApplication`. Il doit utiliser :"
"meth:`~email.message.Message.get_payload` et :meth:`~email.message.Message."
"set_payload` pour modifier la charge utile sous forme codée. Il doit "
"également ajouter n'importe quel :mailheader:`Content-Transfer-Encoding` ou "
"d'autres en-têtes à l'objet message si nécessaire. L'encodage par défaut est "
"base64. Voir le module :mod:`email.encoders` pour une liste des encodeurs "
"intégrés."
#: library/email.mime.rst:167
msgid "*_params* are passed straight through to the base class constructor."
msgstr ""
"Les *_params* sont transmis directement au constructeur de la classe mère."
#: library/email.mime.rst:144
msgid "Module: :mod:`email.mime.audio`"
msgstr "Module : :mod:`email.mime.audio`"
msgstr "Module : :mod:`email.mime.audio`"
#: library/email.mime.rst:146
msgid ""
@ -194,6 +267,15 @@ msgid ""
"argument. If the minor type could not be guessed and *_subtype* was not "
"given, then :exc:`TypeError` is raised."
msgstr ""
"Sous-classe de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la "
"classe :class:`MIMEAudio` est utilisée pour créer des objets de message MIME "
"de type majeur :mimetype:`audio`. *_audiodata* contient les octets pour les "
"données audio brutes. Si ces données peuvent être décodées au format *au*, "
"*wav*, *aiff* ou *aifc*, alors le sous-type est automatiquement inclus dans "
"l'en-tête :mailheader:`Content-Type`. Sinon, vous pouvez spécifier "
"explicitement le sous-type audio via l'argument *_subtype*. Si le type "
"mineur n'a pas pu être deviné et que *_subtype* n'a pas été donné, alors "
"une :exc:`TypeError` est levée."
#: library/email.mime.rst:155
msgid ""
@ -206,10 +288,19 @@ msgid ""
"object as necessary. The default encoding is base64. See the :mod:`email."
"encoders` module for a list of the built-in encoders."
msgstr ""
"*_encoder* (facultatif) est un appelable (c'est-à-dire une fonction) qui "
"effectue le codage réel des données audio pour le transport. Cet appelable "
"prend un argument, qui est l'instance :class:`MIMEAudio`. Il doit utiliser :"
"meth:`~email.message.Message.get_payload` et :meth:`~email.message.Message."
"set_payload` pour modifier la charge utile sous forme codée. Il doit "
"également ajouter n'importe quel :mailheader:`Content-Transfer-Encoding` ou "
"d'autres en-têtes à l'objet message si nécessaire. L'encodage par défaut est "
"base64. Voir le module :mod:`email.encoders` pour une liste des encodeurs "
"intégrés."
#: library/email.mime.rst:178
msgid "Module: :mod:`email.mime.image`"
msgstr "Module : :mod:`email.mime.image`"
msgstr "Module : :mod:`email.mime.image`"
#: library/email.mime.rst:180
msgid ""
@ -223,6 +314,16 @@ msgid ""
"the minor type could not be guessed and *_subtype* was not given, then :exc:"
"`TypeError` is raised."
msgstr ""
"Sous-classe de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la "
"classe :class:`MIMEImage` est utilisée pour créer des objets de message MIME "
"de type principal :mimetype:`image`. *_imagedata* contient les octets pour "
"les données d'image brutes. Si ce type de données peut être détecté (*jpeg*, "
"*png*, *gif*, *tiff*, *rgb*, *pbm*, *pgm*, *ppm*, *rast*, *xbm*, *bmp*, "
"*webp* et *exr* sont essayés), alors le sous-type est automatiquement inclus "
"dans l'en-tête :mailheader:`Content-Type`. Sinon, vous pouvez spécifier "
"explicitement le sous-type d'image via l'argument *_subtype*. Si le type "
"mineur n'a pas pu être deviné et que *_subtype* n'a pas été donné, alors "
"une :exc:`TypeError` est levée."
#: library/email.mime.rst:190
msgid ""
@ -235,16 +336,27 @@ msgid ""
"object as necessary. The default encoding is base64. See the :mod:`email."
"encoders` module for a list of the built-in encoders."
msgstr ""
"*_encoder* (facultatif) est un appelable (c'est-à-dire une fonction) qui "
"effectue le codage réel des données d'image pour le transport. Cet appelable "
"prend un argument, qui est l'instance :class:`MIMEImage`. Il doit utiliser :"
"meth:`~email.message.Message.get_payload` et :meth:`~email.message.Message."
"set_payload` pour modifier la charge utile sous forme codée. Il doit "
"également ajouter n'importe quel :mailheader:`Content-Transfer-Encoding` ou "
"d'autres en-têtes à l'objet message si nécessaire. L'encodage par défaut est "
"base64. Voir le module :mod:`email.encoders` pour une liste des encodeurs "
"intégrés."
#: library/email.mime.rst:202
msgid ""
"*_params* are passed straight through to the :class:`~email.mime.base."
"MIMEBase` constructor."
msgstr ""
"Les *_params* sont transmis directement au constructeur :class:`~email.mime."
"base.MIMEBase`."
#: library/email.mime.rst:212
msgid "Module: :mod:`email.mime.message`"
msgstr "Module : :mod:`email.mime.message`"
msgstr "Module : :mod:`email.mime.message`"
#: library/email.mime.rst:214
msgid ""
@ -254,16 +366,23 @@ msgid ""
"class:`~email.message.Message` (or a subclass thereof), otherwise a :exc:"
"`TypeError` is raised."
msgstr ""
"Sous-classe de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la "
"classe :class:`MIMEMessage` est utilisée pour créer des objets MIME de type "
"principal :mimetype:`message`. *_msg* est utilisé comme charge utile et doit "
"être une instance de la classe :class:`~email.message.Message` (ou une sous-"
"classe de celle-ci), sinon une :exc:`TypeError` est levée."
#: library/email.mime.rst:220
msgid ""
"Optional *_subtype* sets the subtype of the message; it defaults to :"
"mimetype:`rfc822`."
msgstr ""
"L'option *_subtype* définit le sous-type du message ; par défaut c'est :"
"mimetype:`rfc822`."
#: library/email.mime.rst:232
msgid "Module: :mod:`email.mime.text`"
msgstr "Module : :mod:`email.mime.text`"
msgstr "Module : :mod:`email.mime.text`"
#: library/email.mime.rst:234
msgid ""
@ -277,6 +396,15 @@ msgid ""
"*_charset* parameter accepts either a string or a :class:`~email.charset."
"Charset` instance."
msgstr ""
"Sous-classe de :class:`~email.mime.nonmultipart.MIMENonMultipart`, la "
"classe :class:`MIMEText` est utilisée pour créer des objets MIME de type "
"principal :mimetype:`text`. *_text* est la chaîne de la charge utile. "
"*_subtype* est le type mineur et par défaut est :mimetype:`plain`. "
"*_charset* est le jeu de caractères du texte et est passé en argument au "
"constructeur :class:`~email.mime.nonmultipart.MIMENonMultipart` ; sa valeur "
"par défaut est ``us-ascii`` si la chaîne ne contient que des points de code "
"``ascii``, et ``utf-8`` sinon. Le paramètre *_charset* accepte soit une "
"chaîne soit une instance :class:`~email.charset.Charset`."
#: library/email.mime.rst:244
msgid ""
@ -290,7 +418,18 @@ msgid ""
"encode the new payload (and add a new :mailheader:`Content-Transfer-"
"Encoding` header)."
msgstr ""
"À moins que l'argument *_charset* ne soit explicitement défini sur ``None``, "
"l'objet *MIMEText* créé possède à la fois un en-tête :mailheader:`Content-"
"Type` avec un paramètre ``charset`` et un en-tête :mailheader:`Content-"
"Transfer-Encoding`. Cela signifie qu'un appel ultérieur à ``set_payload`` "
"n'entraîne pas l'encodage de la charge utile, même si un jeu de caractères "
"est passé dans la commande ``set_payload``. Vous pouvez « réinitialiser » ce "
"comportement en supprimant l'en-tête ``Content-Transfer-Encoding``, après "
"quoi un appel ``set_payload`` encodera automatiquement la nouvelle charge "
"utile (et ajoutera un nouvel en-tête :mailheader:`Content-Transfer-"
"Encoding`)."
#: library/email.mime.rst:256
msgid "*_charset* also accepts :class:`~email.charset.Charset` instances."
msgstr ""
"*_charset* accepte également les instances :class:`~email.charset.Charset`."

View File

@ -6,18 +6,18 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
"PO-Revision-Date: 2019-05-08 16:44+0200\n"
"Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
"PO-Revision-Date: 2024-01-18 22:43+0100\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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 2.2.1\n"
"X-Generator: Poedit 3.2.2\n"
#: library/email.parser.rst:2
msgid ":mod:`email.parser`: Parsing email messages"
msgstr ":mod:`email.parser` : Analyser des e-mails"
msgstr ":mod:`email.parser` : analyser des e-mails"
#: library/email.parser.rst:7
msgid "**Source code:** :source:`Lib/email/parser.py`"
@ -32,12 +32,12 @@ msgid ""
"or they can be created by parsing a serialized representation of the email "
"message."
msgstr ""
"Les instances de messages peuvent être créées de deux façons : elles peuvent "
"Les instances de messages peuvent être créées de deux façons : elles peuvent "
"être créées de toutes pièces en créant un objet :class:`~email.message."
"message.EmailMessage`, en ajoutant des en-têtes en utilisant l'interface de "
"dictionnaire, et en ajoutant un ou plusieurs corps de message en utilisant :"
"meth:`~email.message.message.EmailMessage.set_content` et les méthodes "
"associées, ou ils peuvent être créées en analysant une représentation "
"associées, ou elles peuvent être créées en analysant une représentation "
"sérialisée de l'e-mail."
#: library/email.parser.rst:18
@ -54,6 +54,18 @@ msgid ""
"meth:`~email.message.EmailMessage.iter_parts`, and :meth:`~email.message."
"EmailMessage.walk`."
msgstr ""
"Le paquet :mod:`email` fournit un analyseur standard qui comprend la plupart "
"des structures de documents de courrier électronique, y compris les "
"documents MIME. Vous pouvez passer à l'analyseur un objet *bytes*, chaîne ou "
"fichier, et l'analyseur vous renverra l'instance racine :class:`~email."
"message.EmailMessage` de la structure de l'objet. Pour les messages simples "
"non MIME, la charge utile de cet objet racine sera probablement une chaîne "
"contenant le texte du message. Pour les messages MIME, la méthode :meth:"
"`~email.message.EmailMessage.is_multipart` de l'objet racine renvoie "
"``True``, et les sous-parties sont accessibles via les méthodes de "
"manipulation de la charge utile, telles que :meth:`~ email.message."
"EmailMessage.get_body`, :meth:`~email.message.EmailMessage.iter_parts` et :"
"meth:`~email.message.EmailMessage.walk`."
#: library/email.parser.rst:30
msgid ""
@ -67,6 +79,15 @@ msgid ""
"message incrementally, and only returns the root object when you close the "
"parser."
msgstr ""
"Il existe en fait deux interfaces d'analyseur disponibles, l'API :class:"
"`Parser` et l'API incrémentale :class:`FeedParser`. L'API :class:`Parser` "
"est plus utile si vous avez le texte entier du message en mémoire ou si le "
"message entier réside dans un fichier sur le système de fichiers. :class:"
"`FeedParser` est plus appropriée lorsque vous lisez le message à partir d'un "
"flux qui peut bloquer en attente d'une entrée supplémentaire (comme la "
"lecture d'un message électronique à partir d'un connecteur réseau). :class:"
"`FeedParser` peut consommer et analyser le message de manière incrémentielle "
"et ne renvoie l'objet racine que lorsque vous fermez l'analyseur."
#: library/email.parser.rst:39
msgid ""
@ -77,6 +98,13 @@ msgid ""
"custom parser can create message object trees any way it finds necessary by "
"implementing custom versions of the appropriate :mod:`policy` methods."
msgstr ""
"Notez que l'analyseur peut être étendu de manière limitée et, bien sûr, vous "
"pouvez implémenter votre propre analyseur complètement à partir de zéro. "
"Toute la logique qui relie l'analyseur intégré au paquet :mod:`email` et la "
"classe :class:`~email.message.EmailMessage` est incarnée dans la classe :mod:"
"`policy`, de sorte qu'un analyseur personnalisé peut créer des arborescences "
"d'objet message comme il le juge nécessaire en implémentant des versions "
"personnalisées des méthodes :mod:`policy` appropriées."
#: library/email.parser.rst:49
msgid "FeedParser API"
@ -93,6 +121,15 @@ msgid ""
"`BytesParser` API may be more convenient for such use cases. The semantics "
"and results of the two parser APIs are identical."
msgstr ""
":class:`BytesFeedParser`, importée du module :mod:`email.feedparser`, "
"fournit une API propice à l'analyse incrémentielle des messages "
"électroniques, adaptée à la lecture du texte d'un message électronique à "
"partir d'une source qui peut bloquer (comme un connecteur). :class:"
"`BytesFeedParser` peut bien sûr être utilisée pour analyser un message "
"électronique entièrement contenu dans un :term:`objet octets-compatible "
"<bytes-like object>`, une chaîne ou un fichier, mais l'API :class:"
"`BytesParser` peut être plus pratique dans ces utilisations. La sémantique "
"et les résultats des deux API d'analyseurs sont identiques."
#: library/email.parser.rst:60
msgid ""
@ -106,10 +143,20 @@ msgid ""
"it found in a message. See the :mod:`email.errors` module for the list of "
"defects that it can find."
msgstr ""
"L'API de :class:`BytesFeedParser` est simple ; vous créez une instance, "
"l'alimentez d'une suite d'octets jusqu'à ce qu'il n'y en ait plus pour "
"l'alimenter, puis fermez l'analyseur pour récupérer l'objet message racine. :"
"class:`BytesFeedParser` est extrêmement précise lors de l'analyse des "
"messages conformes aux normes, et elle fait un très bon travail d'analyse "
"des messages non conformes, fournissant des informations sur ce qu'elle "
"considère comme non approprié dans un message. Elle remplit l'attribut :attr:"
"`~email.message.EmailMessage.defects` d'un objet message avec une liste de "
"tous les problèmes trouvés dans un message. Voir le module :mod:`email."
"errors` pour la liste des défauts qu'elle peut trouver."
#: library/email.parser.rst:70
msgid "Here is the API for the :class:`BytesFeedParser`:"
msgstr "Voici lAPI pour :class:`BytesFeedParser` :"
msgstr "Voici lAPI de :class:`BytesFeedParser` :"
#: library/email.parser.rst:75
msgid ""
@ -118,6 +165,10 @@ msgid ""
"message_factory` from the *policy*. Call *_factory* whenever a new message "
"object is needed."
msgstr ""
"Crée une instance :class:`BytesFeedParser`. *_factory* est un appelable "
"facultatif sans argument ; s'il n'est pas spécifié, elle utilise la :attr:"
"`~email.policy.Policy.message_factory` de la *policy*. Elle appelle "
"*_factory* chaque fois qu'un nouvel objet de message est nécessaire."
#: library/email.parser.rst:80
msgid ""
@ -130,20 +181,32 @@ msgid ""
"more information on what else *policy* controls, see the :mod:`~email."
"policy` documentation."
msgstr ""
"Si *policy* est spécifiée, elle utilise les règles spécifiées pour mettre à "
"jour la représentation du message. Si *policy* n'est pas définie, elle "
"utilise la stratégie :class:`compat32 <email.policy.Compat32>`, qui "
"maintient la rétrocompatibilité avec la version Python 3.2 du paquet de "
"messagerie et fournit :class:`~email.message.Message` comme usine par "
"défaut. Toutes les autres stratégies fournissent :class:`~email.message."
"EmailMessage` comme *_factory* par défaut. Pour plus d'informations sur ce "
"que *policy* régit, consultez la documentation :mod:`~email.policy`."
#: library/email.parser.rst:145
msgid ""
"Note: **The policy keyword should always be specified**; The default will "
"change to :data:`email.policy.default` in a future version of Python."
msgstr ""
"Remarque : **Le paramètre nommé « policy » doit toujours être spécifié** ; "
"La valeur par défaut deviendra :data:`email.policy.default` dans une future "
"version de Python."
# suit un :
#: library/email.parser.rst:122
msgid "Added the *policy* keyword."
msgstr ""
msgstr "ajout du paramètre nommé *policy*."
#: library/email.parser.rst:95
msgid "*_factory* defaults to the policy ``message_factory``."
msgstr ""
msgstr "*_factory* utilise par défaut la politique ``message_factory``."
#: library/email.parser.rst:100
msgid ""
@ -153,6 +216,12 @@ msgid ""
"any of the three common line endings: carriage return, newline, or carriage "
"return and newline (they can even be mixed)."
msgstr ""
"Alimente l'analyseur avec plus de données. *data* doit être un :term:`objet "
"octets-compatible <bytes-like object>` contenant une ou plusieurs lignes. "
"Les lignes peuvent être partielles et l'analyseur assemble correctement ces "
"lignes partielles. Les lignes peuvent avoir l'une des trois fins de ligne "
"courantes : retour chariot, nouvelle ligne ou retour chariot et nouvelle "
"ligne (elles peuvent même être mélangées)."
#: library/email.parser.rst:109
msgid ""
@ -160,6 +229,9 @@ msgid ""
"object. It is undefined what happens if :meth:`~feed` is called after this "
"method has been called."
msgstr ""
"Termine l'analyse de toutes les données précédemment alimentées et renvoie "
"l'objet message racine. Ce qui se passe si :meth:`~feed` est appelée après "
"l'appel de cette méthode n'est pas défini."
#: library/email.parser.rst:116
msgid ""
@ -169,6 +241,11 @@ msgid ""
"contain only ASCII text or, if :attr:`~email.policy.Policy.utf8` is "
"``True``, no binary attachments."
msgstr ""
"Fonctionne comme :class:`BytesFeedParser` sauf que l'entrée de la méthode :"
"meth:`~BytesFeedParser.feed` doit être une chaîne. Ceci est d'une utilité "
"limitée, car la seule façon pour qu'un tel message soit valide est qu'il ne "
"contienne que du texte ASCII ou, si :attr:`~email.policy.Policy.utf8` vaut "
"``True``, aucun binaire en pièce jointe."
#: library/email.parser.rst:126
msgid "Parser API"
@ -187,6 +264,16 @@ msgid ""
"do not attempt to parse the message body, instead setting the payload to the "
"raw body."
msgstr ""
"La classe :class:`BytesParser`, importée du module :mod:`email.parser`, "
"fournit une API qui peut être utilisée pour analyser un message lorsque le "
"contenu complet du message est disponible dans un :term:`objet octets-"
"compatible <bytes-like object>` ou un fichier. Le module :mod:`email.parser` "
"fournit également :class:`Parser` pour l'analyse des chaînes et des "
"analyseurs d'en-tête uniquement, :class:`BytesHeaderParser` et :class:"
"`HeaderParser`, qui peuvent être utilisés si vous ne vous intéressez qu'aux "
"en-têtes du message. :class:`BytesHeaderParser` et :class:`HeaderParser` "
"peuvent être beaucoup plus rapides dans ces situations, car ils n'essaient "
"pas d'analyser le corps du message."
#: library/email.parser.rst:141
msgid ""
@ -194,16 +281,21 @@ msgid ""
"have the same meaning and semantics as the *_factory* and *policy* arguments "
"of :class:`BytesFeedParser`."
msgstr ""
"Crée une instance :class:`BytesParser`. Les arguments *_class* et *policy* "
"ont la même signification et la même sémantique que les arguments *_factory* "
"et *policy* de :class:`BytesFeedParser`."
#: library/email.parser.rst:148
msgid ""
"Removed the *strict* argument that was deprecated in 2.4. Added the "
"*policy* keyword."
msgstr ""
"suppression de l'argument *strict* qui était obsolète dans 2.4. Ajout du "
"paramètre nommé *policy*."
#: library/email.parser.rst:200 library/email.parser.rst:280
msgid "*_class* defaults to the policy ``message_factory``."
msgstr ""
msgstr "*_class* utilise par défaut la politique ``message_factory``."
#: library/email.parser.rst:156
msgid ""
@ -211,6 +303,9 @@ msgid ""
"bytes, and return the message object. *fp* must support both the :meth:`~io."
"IOBase.readline` and the :meth:`~io.IOBase.read` methods."
msgstr ""
"Lit toutes les données de l'objet de type fichier binaire *fp*, analyse les "
"octets résultants et renvoie l'objet message. *fp* doit prendre en charge "
"les méthodes :meth:`~io.IOBase.readline` et :meth:`~io.IOBase.read`."
#: library/email.parser.rst:161
msgid ""
@ -222,6 +317,13 @@ msgid ""
"contain MIME-encoded subparts, including subparts with a :mailheader:"
"`Content-Transfer-Encoding` of ``8bit``)."
msgstr ""
"Les octets contenus dans *fp* doivent être formatés comme un bloc d'en-têtes "
"de style conforme à la :rfc:`5322` (ou, si :attr:`~email.policy.Policy.utf8` "
"est ``True``, à la :rfc:`6532`), éventuellement précédés d'un en-tête "
"d'enveloppe. Le bloc d'en-têtes se termine soit par la fin des données, soit "
"par une ligne blanche. Après le bloc d'en-têtes se trouve le corps du "
"message (qui peut contenir des sous-parties codées MIME, y compris des sous-"
"parties avec un :mailheader:`Content-Transfer-Encoding` de ``8bit``)."
#: library/email.parser.rst:169
msgid ""
@ -229,6 +331,9 @@ msgid ""
"reading the headers or not. The default is ``False``, meaning it parses the "
"entire contents of the file."
msgstr ""
"*headersonly* est un indicateur facultatif spécifiant s'il faut arrêter "
"l'analyse après avoir lu les en-têtes ou non. La valeur par défaut est "
"``False``, ce qui signifie qu'il analyse tout le contenu du fichier."
#: library/email.parser.rst:176
msgid ""
@ -237,26 +342,38 @@ msgid ""
"`bytes-like object` is equivalent to wrapping *bytes* in a :class:`~io."
"BytesIO` instance first and calling :meth:`parse`."
msgstr ""
"Semblable à la méthode :meth:`parse`, sauf qu'elle prend un :term:`objet "
"octets-compatible <bytes-like object>` au lieu d'un objet de type fichier. "
"Appeler cette méthode sur un :term:`objet octets-compatible <bytes-like "
"object>` équivaut à envelopper *bytes* dans une instance :class:`~io."
"BytesIO` d'abord et à appeler :meth:`parse`."
#: library/email.parser.rst:221
msgid "Optional *headersonly* is as with the :meth:`parse` method."
msgstr ""
"L'utilisation de l'option *headersonly* est identique à son utilisation dans "
"la méthode :meth:`parse`."
#: library/email.parser.rst:188
msgid ""
"Exactly like :class:`BytesParser`, except that *headersonly* defaults to "
"``True``."
msgstr ""
"Exactement comme :class:`BytesParser`, sauf que *headersonly* par défaut est "
"``True``."
#: library/email.parser.rst:196
msgid ""
"This class is parallel to :class:`BytesParser`, but handles string input."
msgstr ""
"Cette classe est semblable à :class:`BytesParser`, mais elle accepte une "
"chaîne en entrée."
#: library/email.parser.rst:245 library/email.parser.rst:268
#: library/email.parser.rst:278
msgid "Removed the *strict* argument. Added the *policy* keyword."
msgstr ""
"suppression de l'argument *strict*. Ajout de l'argument nommé *policy*."
#: library/email.parser.rst:205
msgid ""
@ -265,12 +382,18 @@ msgid ""
"the :meth:`~io.TextIOBase.readline` and the :meth:`~io.TextIOBase.read` "
"methods on file-like objects."
msgstr ""
"Lit toutes les données de l'objet de type fichier en mode texte *fp*, "
"analyse le texte résultant et renvoie l'objet message racine. *fp* doit "
"prendre en charge les méthodes :meth:`~io.TextIOBase.readline` et :meth:`~io."
"TextIOBase.read` sur les objets de type fichier."
#: library/email.parser.rst:210
msgid ""
"Other than the text mode requirement, this method operates like :meth:"
"`BytesParser.parse`."
msgstr ""
"Outre l'exigence du mode texte, cette méthode fonctionne comme :meth:"
"`BytesParser.parse`."
#: library/email.parser.rst:216
msgid ""
@ -279,11 +402,17 @@ msgid ""
"wrapping *text* in a :class:`~io.StringIO` instance first and calling :meth:"
"`parse`."
msgstr ""
"Similaire à la méthode :meth:`parse`, sauf qu'elle prend un objet chaîne au "
"lieu d'un objet de type fichier. Appeler cette méthode sur une chaîne "
"équivaut à envelopper *text* dans une instance :class:`~io.StringIO` d'abord "
"et à appeler :meth:`parse`."
#: library/email.parser.rst:226
msgid ""
"Exactly like :class:`Parser`, except that *headersonly* defaults to ``True``."
msgstr ""
"Exactement comme :class:`Parser`, sauf que *headersonly* par défaut est "
"``True``."
#: library/email.parser.rst:230
msgid ""
@ -291,6 +420,10 @@ msgid ""
"such a common task, four functions are provided as a convenience. They are "
"available in the top-level :mod:`email` package namespace."
msgstr ""
"Étant donné que la création d'une structure d'objet message à partir d'une "
"chaîne ou d'un objet fichier est une tâche très courante, quatre fonctions "
"sont fournies par commodité. Elles sont disponibles dans l'espace de noms de "
"paquet de niveau supérieur :mod:`email`."
#: library/email.parser.rst:239
msgid ""
@ -299,6 +432,10 @@ msgid ""
"*policy* are interpreted as with the :class:`~email.parser.BytesParser` "
"class constructor."
msgstr ""
"Renvoie une structure d'objet message à partir d'un :term:`objet octets-"
"compatible <bytes-like object>`. C'est équivalent à ``BytesParser()."
"parsebytes(s)``. *_class* et *policy* (facultatifs) sont interprétés comme "
"pour le constructeur de classe :class:`~email.parser.BytesParser`."
#: library/email.parser.rst:252
msgid ""
@ -307,6 +444,10 @@ msgid ""
"*policy* are interpreted as with the :class:`~email.parser.BytesParser` "
"class constructor."
msgstr ""
"Renvoie une arborescence d'objets message à partir d'un :term:`objet fichier "
"<file object>` binaire ouvert. C'est équivalent à ``BytesParser()."
"parse(fp)``. *_class* et *policy* sont interprétés comme pour le "
"constructeur de classe :class:`~email.parser.BytesParser`."
#: library/email.parser.rst:264
msgid ""
@ -314,6 +455,9 @@ msgid ""
"``Parser().parsestr(s)``. *_class* and *policy* are interpreted as with "
"the :class:`~email.parser.Parser` class constructor."
msgstr ""
"Renvoie une structure d'objet message à partir d'une chaîne. C'est "
"équivalent à ``Parser().parsestr(s)``. *_class* et *policy* sont interprétés "
"comme avec le constructeur de classe :class:`~email.parser.Parser`."
#: library/email.parser.rst:274
msgid ""
@ -321,12 +465,18 @@ msgid ""
"This is equivalent to ``Parser().parse(fp)``. *_class* and *policy* are "
"interpreted as with the :class:`~email.parser.Parser` class constructor."
msgstr ""
"Renvoie une arborescence de structures d'objets messages à partir d'un :term:"
"`objet fichier <file object>` ouvert. C'est équivalent à ``Parser()."
"parse(fp)``. *_class* et *policy* sont interprétés comme avec le "
"constructeur de classe :class:`~email.parser.Parser`."
#: library/email.parser.rst:283
msgid ""
"Here's an example of how you might use :func:`message_from_bytes` at an "
"interactive Python prompt::"
msgstr ""
"Voici un exemple d'utilisation :func:`message_from_bytes` dans une invite "
"Python interactive ::"
#: library/email.parser.rst:291
msgid "Additional notes"
@ -343,6 +493,11 @@ msgid ""
"for :meth:`~email.message.EmailMessage.is_multipart`, and :meth:`~email."
"message.EmailMessage.iter_parts` will yield an empty list."
msgstr ""
"La plupart des messages de type non-\\ :mimetype:`multipart` sont analysés "
"comme un seul objet de message avec une charge utile de type chaîne. Ces "
"objets renvoient ``False`` pour :meth:`~email.message.EmailMessage."
"is_multipart` et :meth:`~email.message.EmailMessage.iter_parts` donne une "
"liste vide."
#: library/email.parser.rst:300
msgid ""
@ -352,6 +507,11 @@ msgid ""
"EmailMessage.is_multipart`, and :meth:`~email.message.EmailMessage."
"iter_parts` will yield a list of subparts."
msgstr ""
"Tous les messages de type :mimetype:`multipart` sont analysés comme un objet "
"de message conteneur avec une liste d'objets de sous-messages pour leur "
"charge utile. Le message du conteneur externe renvoie ``True`` pour :meth:"
"`~email.message.EmailMessage.is_multipart` et :meth:`~email.message."
"EmailMessage.iter_parts` donne une liste de sous-parties."
#: library/email.parser.rst:306
msgid ""
@ -362,6 +522,12 @@ msgid ""
"The single element yielded by :meth:`~email.message.EmailMessage.iter_parts` "
"will be a sub-message object."
msgstr ""
"La plupart des messages avec un type de contenu de :mimetype:`message/\\*` "
"(tels que :mimetype:`message/delivery-status` et :mimetype:`message/rfc822`) "
"sont également analysés en tant qu'objet conteneur contenant une charge "
"utile de type « liste de longueur 1 ». Leur méthode :meth:`~email.message."
"EmailMessage.is_multipart` renvoie ``True``. L'élément unique généré par :"
"meth:`~email.message.EmailMessage.iter_parts` est un objet sous-message."
#: library/email.parser.rst:313
msgid ""
@ -374,3 +540,11 @@ msgid ""
"MultipartInvariantViolationDefect` class in their *defects* attribute list. "
"See :mod:`email.errors` for details."
msgstr ""
"Certains messages non conformes aux normes peuvent ne pas être cohérents en "
"interne quant à :mimetype:`multipart`. De tels messages peuvent avoir un en-"
"tête :mailheader:`Content-Type` de type :mimetype:`multipart`, mais leur "
"méthode :meth:`~email.message.EmailMessage.is_multipart` peut renvoyer "
"``False``. Si de tels messages ont été analysés avec la :class:`~email."
"parser.FeedParser`, ils auront une instance de la classe :class:`~email."
"errors.MultipartInvariantViolationDefect` dans leur liste d'attributs "
"*defects*. Voir :mod:`email.errors` pour plus de détails."

View File

@ -6,21 +6,22 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-18 17:17+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2024-03-17 11:54+0100\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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.2.2\n"
#: library/email.policy.rst:2
msgid ":mod:`email.policy`: Policy Objects"
msgstr ""
msgstr ":mod:`email.policy` : objets de définition de politique"
#: library/email.policy.rst:12
msgid "**Source code:** :source:`Lib/email/policy.py`"
msgstr ""
msgstr "**Code source :** :source:`Lib/email/policy.py`"
#: library/email.policy.rst:16
msgid ""
@ -36,12 +37,27 @@ msgid ""
"the standards, or that implement extensions you want to use in ways that "
"violate the standards."
msgstr ""
"Le principal objectif du paquet :mod:`email` est la gestion des messages "
"électroniques comme décrit par les diverses RFC de messagerie et MIME. "
"Cependant, le format général des messages électroniques (un bloc de champs "
"d'en-tête composés chacun d'un nom suivi de deux-points suivi d'une valeur, "
"le bloc entier suivi d'une ligne vide et d'un « corps » arbitraire), est un "
"format qui a trouvé son utilité en dehors du domaine du courrier "
"électronique. Certaines de ces utilisations sont assez conformes aux "
"principales RFC de messagerie, d'autres non. Même lorsque vous travaillez "
"avec des e-mails, il est parfois souhaitable de ne pas respecter strictement "
"les RFC, par exemple en générant des e-mails qui interagissent avec des "
"serveurs de messagerie qui ne respectent pas eux-mêmes les normes ou qui "
"implémentent des extensions que vous souhaitez utiliser d'une manière qui "
"enfreint les normes."
#: library/email.policy.rst:28
msgid ""
"Policy objects give the email package the flexibility to handle all these "
"disparate use cases."
msgstr ""
"Les objets de définition de politique donnent au paquet de messagerie la "
"flexibilité nécessaire pour gérer tous ces cas d'utilisation disparates."
#: library/email.policy.rst:31
msgid ""
@ -51,6 +67,12 @@ msgid ""
"email package to alter the default behavior. The settable values and their "
"defaults are described below."
msgstr ""
"Un objet :class:`Policy` encapsule un ensemble d'attributs et de méthodes "
"qui contrôlent le comportement de divers composants du paquet de messagerie "
"lors de son utilisation. Les instances :class:`Policy` peuvent être "
"transmises à diverses classes et méthodes dans le paquet de courrier "
"électronique pour modifier le comportement par défaut. Les valeurs réglables "
"et leurs valeurs par défaut sont décrites ci-dessous."
#: library/email.policy.rst:37
msgid ""
@ -62,6 +84,13 @@ msgid ""
"some cases, including bug compatibility) with the pre-Python3.3 version of "
"the email package."
msgstr ""
"Il existe une politique par défaut utilisée par toutes les classes dans le "
"paquet de messagerie. Pour toutes les classes :mod:`~email.parser` et les "
"fonctions pratiques associées, et pour la classe :class:`~email.message."
"Message`, il s'agit de la politique :class:`Compat32`, via son instance "
"correspondante prédéfinie :const:`compat32`. Cette politique fournit une "
"rétrocompatibilité complète (dans certains cas, y compris la compatibilité "
"des bogues) avec la version pré-Python3.3 du paquet de messagerie."
#: library/email.policy.rst:44
msgid ""
@ -69,6 +98,9 @@ msgid ""
"EmailMessage` is the :class:`EmailPolicy` policy, via its pre-defined "
"instance :data:`~default`."
msgstr ""
"Cette valeur par défaut pour le paramètre nommé *policy* de :class:`~email."
"message.EmailMessage` est la politique :class:`EmailPolicy`, via son "
"instance prédéfinie :data:`~default`."
#: library/email.policy.rst:48
msgid ""
@ -81,6 +113,15 @@ msgid ""
"policy from the message by default, but you can also pass a specific policy "
"to the generator that will override the one stored on the message object."
msgstr ""
"Lorsqu'un objet :class:`~email.message.Message` ou :class:`~email.message."
"EmailMessage` est créé, il acquiert une politique. Si le message est créé "
"par un :mod:`~email.parser`, la politique transmise à l'analyseur est la "
"politique utilisée par le message qu'il crée. Si le message est créé par le "
"programme, la stratégie peut être spécifiée lors de sa création. Lorsqu'un "
"message est passé à un :mod:`~email.generator`, le générateur utilise la "
"politique du message par défaut, mais vous pouvez également passer une "
"politique spécifique au générateur qui remplace celle stockée sur l'objet "
"message."
#: library/email.policy.rst:57
msgid ""
@ -90,6 +131,12 @@ msgid ""
"which policy you want to use** when calling any of the classes and functions "
"described in the :mod:`~email.parser` module."
msgstr ""
"La valeur par défaut du paramètre nommé *policy* pour les classes :mod:"
"`email.parser` et les fonctions pratiques de l'analyseur **va changer** dans "
"une future version de Python. Par conséquent, vous devez **toujours "
"spécifier explicitement la stratégie que vous souhaitez utiliser** lors de "
"l'appel de l'une des classes et fonctions décrites dans le module :mod:"
"`~email.parser`."
#: library/email.policy.rst:63
msgid ""
@ -102,6 +149,16 @@ msgid ""
"which implement the hooks that provide the standard behavior and the "
"backward compatible behavior and features, respectively."
msgstr ""
"La première partie de cette documentation couvre les fonctionnalités de :"
"class:`Policy`, une :term:`classe mère abstraite <abstract base class>` qui "
"définit les fonctionnalités communes à tous les objets de stratégie, y "
"compris :const:`compat32`. Cela inclut certaines méthodes automatiques "
"(*hooks* en anglais) appelées en interne par le paquet de messagerie, qu'une "
"stratégie personnalisée peut remplacer pour obtenir un comportement "
"différent. La deuxième partie décrit les classes concrètes :class:"
"`EmailPolicy` et :class:`Compat32`, qui implémentent les points d'entrée "
"automatiques qui fournissent respectivement le comportement standard et le "
"comportement et les fonctionnalités rétrocompatibles."
#: library/email.policy.rst:72
msgid ""
@ -110,6 +167,10 @@ msgid ""
"class:`Policy` instance that is a copy of the original but with the "
"specified attributes values changed."
msgstr ""
"Les instances :class:`Policy` sont immuables, mais elles peuvent être "
"clonées, en acceptant les mêmes arguments nommés que le constructeur de "
"classe et en renvoyant une nouvelle instance :class:`Policy` qui est une "
"copie de l'original mais avec les valeurs d'attributs spécifiées modifiées."
#: library/email.policy.rst:77
msgid ""
@ -117,6 +178,9 @@ msgid ""
"from a file on disk and pass it to the system ``sendmail`` program on a Unix "
"system:"
msgstr ""
"Par exemple, le code suivant peut être utilisé pour lire un message "
"électronique à partir d'un fichier sur le disque et le transmettre au "
"programme système ``sendmail`` sur un système Unix :"
#: library/email.policy.rst:114
msgid ""
@ -125,6 +189,10 @@ msgid ""
"into ``sendmail's`` ``stdin``, where the default policy would use ``\\n`` "
"line separators."
msgstr ""
"Ici, nous disons à :class:`~email.generator.BytesGenerator` d'utiliser les "
"caractères de séparation de ligne corrects de la RFC lors de la création de "
"la chaîne binaire à fournir à ``stdin`` de ``sendmail``, où la politique par "
"défaut utiliserait ``\\n`` comme séparateur de ligne."
#: library/email.policy.rst:119
msgid ""
@ -134,6 +202,12 @@ msgid ""
"from the previous example and writes the message to a file using the native "
"line separators for the platform on which it is running::"
msgstr ""
"Certaines méthodes du paquet de messagerie acceptent un argument nommé "
"*policy*, permettant à la politique d'être remplacée pour cette méthode. Par "
"exemple, le code suivant utilise la méthode :meth:`~email.message.Message."
"as_bytes` de l'objet *msg* de l'exemple précédent et écrit le message dans "
"un fichier en utilisant les séparateurs de ligne natifs de la plate-forme "
"sur laquelle il est en cours d'exécution ::"
#: library/email.policy.rst:130
msgid ""
@ -141,12 +215,18 @@ msgid ""
"policy object whose settings are a combination of the non-default values of "
"the summed objects::"
msgstr ""
"Les objets de stratégie peuvent également être combinés à l'aide de "
"l'opérateur d'addition, produisant un objet de stratégie dont les paramètres "
"sont une combinaison des objets additionnées (en ne prenant en compte que "
"les paramètres données explicitement) ::"
#: library/email.policy.rst:138
msgid ""
"This operation is not commutative; that is, the order in which the objects "
"are added matters. To illustrate::"
msgstr ""
"Cette opération n'est pas commutative ; c'est-à-dire que l'ordre dans lequel "
"les objets sont ajoutés est important. Pour illustrer ::"
#: library/email.policy.rst:153
msgid ""
@ -155,6 +235,11 @@ msgid ""
"implementation of the immutability property, the :meth:`clone` method, and "
"the constructor semantics."
msgstr ""
"C'est la :term:`classe mère abstraite <abstract base class>` pour toutes les "
"classes de définition de politique. Elle fournit des implémentations par "
"défaut pour quelques méthodes triviales, ainsi que l'implémentation de la "
"propriété d'immutabilité, la méthode :meth:`clone` et la sémantique du "
"constructeur."
#: library/email.policy.rst:158
msgid ""
@ -164,12 +249,21 @@ msgid ""
"value specified in the constructor will override the default value for the "
"corresponding attribute."
msgstr ""
"Le constructeur d'une classe de définition de politique peut recevoir divers "
"arguments nommés. Les arguments qui peuvent être spécifiés sont toutes les "
"propriétés qui ne sont pas des méthodes sur cette classe, plus toutes les "
"propriétés qui ne sont pas des méthodes supplémentaires sur la classe "
"concrète. Une valeur spécifiée dans le constructeur remplace la valeur par "
"défaut de l'attribut correspondant."
#: library/email.policy.rst:164
msgid ""
"This class defines the following properties, and thus values for the "
"following may be passed in the constructor of any policy class:"
msgstr ""
"Cette classe définit les propriétés suivantes, et ainsi les valeurs des "
"éléments suivants peuvent être passées dans le constructeur de n'importe "
"quelle classe de définition de politique :"
#: library/email.policy.rst:170
msgid ""
@ -177,6 +271,10 @@ msgid ""
"end of line character(s). Default is 78, per :rfc:`5322`. A value of ``0`` "
"or :const:`None` indicates that no line wrapping should be done at all."
msgstr ""
"La longueur maximale de toute ligne dans la sortie sérialisée, sans compter "
"le(s) caractère(s) de fin de ligne. La valeur par défaut est 78, selon la :"
"rfc:`5322`. Une valeur de ``0`` ou :const:`None` indique qu'aucun retour à "
"la ligne ne doit être fait."
#: library/email.policy.rst:178
msgid ""
@ -184,12 +282,17 @@ msgid ""
"is ``\\n`` because that's the internal end-of-line discipline used by "
"Python, though ``\\r\\n`` is required by the RFCs."
msgstr ""
"La chaîne à utiliser pour terminer les lignes dans la sortie sérialisée. La "
"valeur par défaut est ``\\n`` car c'est la définition interne de fin de "
"ligne utilisée par Python, bien que ``\\r\\n`` soit requis par les RFC."
#: library/email.policy.rst:185
msgid ""
"Controls the type of Content Transfer Encodings that may be or are required "
"to be used. The possible values are:"
msgstr ""
"Contrôle le type d'encodage de contenu qui peut ou doit être utilisé. Les "
"valeurs possibles sont :"
#: library/email.policy.rst:191
msgid "``7bit``"
@ -201,6 +304,9 @@ msgid ""
"necessary data will be encoded using either quoted-printable or base64 "
"encoding."
msgstr ""
"toutes les données doivent être « complétement 7 bits » (ASCII uniquement). "
"Cela signifie que si nécessaire, les données seront encodées à l'aide de "
"l'encodage *quoted-printable* ou *base64*."
#: library/email.policy.rst:195
msgid "``8bit``"
@ -213,6 +319,11 @@ msgid ""
"and :attr:`~EmailPolicy.utf8` below for exceptions), but body parts may use "
"the ``8bit`` CTE."
msgstr ""
"les données ne sont pas contraintes d'être uniquement sur 7 bits. Les "
"données dans les en-têtes doivent toujours être en ASCII uniquement et "
"seront donc encodées (voir :meth:`fold_binary` et :attr:`~EmailPolicy.utf8` "
"ci-dessous pour les exceptions), mais les parties du corps peuvent utiliser "
"le ``8bit`` CTE."
#: library/email.policy.rst:201
msgid ""
@ -221,6 +332,11 @@ msgid ""
"``Generator`` is operating under a policy that specifies ``cte_type=8bit``, "
"it will act as if ``cte_type`` is ``7bit``."
msgstr ""
"Une valeur ``cte_type`` de ``8bit`` ne fonctionne qu'avec "
"``BytesGenerator``, et pas avec ``Generator`` car les chaînes ne peuvent "
"pas contenir de données binaires. Si un ``Generator`` fonctionne sous une "
"politique qui spécifie ``cte_type=8bit``, il agit comme si ``cte_type`` "
"était ``7bit``."
#: library/email.policy.rst:209
msgid ""
@ -228,6 +344,9 @@ msgid ""
"const:`False` (the default), defects will be passed to the :meth:"
"`register_defect` method."
msgstr ""
"Si :const:`True`, tous les défauts rencontrés sont signalés comme des "
"erreurs. Si :const:`False` (la valeur par défaut), les défauts sont passés à "
"la méthode :meth:`register_defect`."
#: library/email.policy.rst:216
msgid ""
@ -235,10 +354,14 @@ msgid ""
"putting a ``>`` in front of them. This parameter is used when the message is "
"being serialized by a generator. Default: :const:`False`."
msgstr ""
"Si :const:`True`, les lignes commençant par *\"From \"* dans le corps sont "
"échappées en mettant un ``>`` devant elles. Ce paramètre est utilisé lorsque "
"le message est sérialisé par un générateur. Par défaut, vaut :const:`False`."
# suit un :
#: library/email.policy.rst:221
msgid "The *mangle_from_* parameter."
msgstr ""
msgstr "le paramètre *mangle_from_*."
#: library/email.policy.rst:227
msgid ""
@ -246,12 +369,18 @@ msgid ""
"parser when building messages. Defaults to ``None``, in which case :class:"
"`~email.message.Message` is used."
msgstr ""
"Une fonction de fabrique pour construire un nouvel objet de message vide. "
"Utilisé par l'analyseur lors de la construction des messages. La valeur par "
"défaut est ``None``, :class:`~email.message.Message` est alors utilisé."
#: library/email.policy.rst:233
msgid ""
"The following :class:`Policy` method is intended to be called by code using "
"the email library to create policy instances with custom settings:"
msgstr ""
"La méthode :class:`Policy` suivante est destinée à être appelée par le code "
"à l'aide de la bibliothèque de messagerie pour créer des instances de "
"stratégie avec des paramètres personnalisés :"
#: library/email.policy.rst:239
msgid ""
@ -259,6 +388,9 @@ msgid ""
"as the current instance, except where those attributes are given new values "
"by the keyword arguments."
msgstr ""
"Renvoie une nouvelle instance de :class:`Policy` dont les attributs ont les "
"mêmes valeurs que l'instance actuelle, sauf si ces attributs reçoivent de "
"nouvelles valeurs par les arguments nommés."
#: library/email.policy.rst:244
msgid ""
@ -266,12 +398,19 @@ msgid ""
"and are not intended to be called by an application using the email package. "
"A custom policy must implement all of these methods."
msgstr ""
"Les méthodes :class:`Policy` restantes sont appelées par le code du paquet "
"de messagerie et ne sont pas destinées à être appelées par une application "
"utilisant le paquet de messagerie. Une stratégie personnalisée doit "
"implémenter toutes ces méthodes."
#: library/email.policy.rst:251
msgid ""
"Handle a *defect* found on *obj*. When the email package calls this method, "
"*defect* will always be a subclass of :class:`~email.errors.Defect`."
msgstr ""
"Gère un *defect* trouvé sur *obj*. Lorsque le paquet de messagerie appelle "
"cette méthode, *defect* est toujours une sous-classe de :class:`~email."
"errors.Defect`."
#: library/email.policy.rst:255
msgid ""
@ -279,12 +418,17 @@ msgid ""
"is ``True``, *defect* is raised as an exception. If it is ``False`` (the "
"default), *obj* and *defect* are passed to :meth:`register_defect`."
msgstr ""
"L'implémentation par défaut vérifie le drapeau :attr:`raise_on_defect`. Si "
"c'est ``True``, *defect* est levé comme une exception. Si c'est ``False`` "
"(par défaut), *obj* et *defect* sont passés à :meth:`register_defect`."
#: library/email.policy.rst:262
msgid ""
"Register a *defect* on *obj*. In the email package, *defect* will always be "
"a subclass of :class:`~email.errors.Defect`."
msgstr ""
"Enregistre un *defect* sur *obj*. Dans le paquet de messagerie, *defect* "
"sera toujours une sous-classe de :class:`~email.errors.Defect`."
#: library/email.policy.rst:265
msgid ""
@ -295,10 +439,17 @@ msgid ""
"custom ``Message`` objects) should also provide such an attribute, otherwise "
"defects in parsed messages will raise unexpected errors."
msgstr ""
"L'implémentation par défaut appelle la méthode ``append`` de l'attribut "
"``defects`` de *obj*. Lorsque le paquet de courrier électronique appelle :"
"attr:`handle_defect`, *obj* a normalement un attribut ``defects`` qui a une "
"méthode ``append``. Les types d'objets personnalisés utilisés avec le paquet "
"de messagerie (par exemple, les objets ``Message`` personnalisés) doivent "
"également fournir un tel attribut, sinon les défauts dans les messages "
"analysés généreront des erreurs inattendues."
#: library/email.policy.rst:275
msgid "Return the maximum allowed number of headers named *name*."
msgstr ""
msgstr "Renvoie le nombre maximal autorisé d'en-têtes nommés *name*."
#: library/email.policy.rst:277
msgid ""
@ -307,6 +458,11 @@ msgid ""
"or ``None``, and there are already a number of headers with the name *name* "
"greater than or equal to the value returned, a :exc:`ValueError` is raised."
msgstr ""
"Appelé lorsqu'un en-tête est ajouté à un objet :class:`~email.message."
"EmailMessage` ou :class:`~email.message.Message`. Si la valeur renvoyée "
"n'est pas ``0`` ou ``None``, et qu'il y a déjà un certain nombre d'en-têtes "
"avec le nom *name* supérieur ou égal à la valeur renvoyée, une :exc:"
"`ValueError` est levée."
#: library/email.policy.rst:283
msgid ""
@ -317,10 +473,18 @@ msgid ""
"programmatically. (The limit is not observed by the parser, which will "
"faithfully produce as many headers as exist in the message being parsed.)"
msgstr ""
"Parce que le comportement par défaut de ``Message.__setitem__`` est "
"d'ajouter la valeur à la liste des en-têtes, il est facile de créer des en-"
"têtes en double sans s'en rendre compte. Cette méthode permet à certains en-"
"têtes d'être limités dans le nombre d'instances de cet en-tête qui peuvent "
"être ajoutées à un ``Message`` par programme (la limite n'est pas respectée "
"par l'analyseur, qui produit fidèlement autant d'en-têtes qu'il en existe "
"dans le message analysé)."
#: library/email.policy.rst:291
msgid "The default implementation returns ``None`` for all header names."
msgstr ""
"L'implémentation par défaut renvoie ``None`` pour tous les noms d'en-tête."
#: library/email.policy.rst:296
msgid ""
@ -331,6 +495,12 @@ msgid ""
"``(name, value)`` tuple that is to be stored in the ``Message`` to represent "
"the parsed header."
msgstr ""
"Le paquet de courrier électronique appelle cette méthode avec une liste de "
"chaînes, chaque chaîne se terminant par les caractères de séparation de "
"ligne trouvés dans la source analysée. La première ligne comprend le nom de "
"l'en-tête de champ et le séparateur. Tous les espaces blancs dans la source "
"sont préservés. La méthode doit renvoyer le couple ``(name, value)`` qui "
"doit être stocké dans le ``Message`` pour représenter l'en-tête analysé."
#: library/email.policy.rst:303
msgid ""
@ -340,14 +510,21 @@ msgid ""
"(all line separator characters removed, but whitespace kept intact), "
"stripped of leading whitespace."
msgstr ""
"Si une implémentation souhaite conserver la compatibilité avec les "
"politiques de paquet de messagerie existantes, *name* doit être le nom "
"préservé de la casse (tous les caractères jusqu'au séparateur ``:``), tandis "
"que *value* doit être la valeur dépliée (c.-à-d. tous les caractères de "
"séparation de ligne supprimés, mais les espaces blancs conservés intacts), "
"dépouillés des espaces blancs de tête."
#: library/email.policy.rst:309
msgid "*sourcelines* may contain surrogateescaped binary data."
msgstr ""
"*sourcelines* peut contenir des données binaires échappées de substitution."
#: library/email.policy.rst:327 library/email.policy.rst:343
msgid "There is no default implementation"
msgstr ""
msgstr "Il n'y a pas d'implémentation par défaut"
#: library/email.policy.rst:316
msgid ""
@ -357,6 +534,12 @@ msgid ""
"method should return the ``(name, value)`` tuple that is to be stored in the "
"``Message`` to represent the header."
msgstr ""
"Le paquet de courrier électronique appelle cette méthode avec le nom et la "
"valeur fournis par le programme d'application lorsque le programme "
"d'application modifie un ``Message`` par programme (par opposition à un "
"``Message`` créé par un analyseur). La méthode doit renvoyer le couple "
"``(name, value)`` qui doit être stocké dans le ``Message`` pour représenter "
"l'en-tête."
#: library/email.policy.rst:322
msgid ""
@ -364,6 +547,10 @@ msgid ""
"package policies, the *name* and *value* should be strings or string "
"subclasses that do not change the content of the passed in arguments."
msgstr ""
"Si une implémentation souhaite conserver la compatibilité avec les "
"politiques existantes du paquet de messagerie, le *name* et la *value* "
"doivent être des chaînes ou des sous-classes de chaînes qui ne modifient pas "
"le contenu des arguments transmis."
#: library/email.policy.rst:332
msgid ""
@ -375,12 +562,22 @@ msgid ""
"method is passed the specific name and value of the header destined to be "
"returned to the application."
msgstr ""
"Le paquet de courrier électronique appelle cette méthode avec le *name* et "
"la *value* actuellement stockés dans le ``Message`` lorsque cet en-tête est "
"demandé par le programme d'application, et tout ce que la méthode renvoie "
"est ce qui est renvoyé à l'application comme valeur de l'en-tête récupéré. "
"Notez qu'il peut y avoir plus d'un en-tête avec le même nom stocké dans le "
"``Message`` ; la méthode reçoit le nom et la valeur spécifiques de l'en-tête "
"destiné à être renvoyé à l'application."
#: library/email.policy.rst:340
msgid ""
"*value* may contain surrogateescaped binary data. There should be no "
"surrogateescaped binary data in the value returned by the method."
msgstr ""
"*value* peut contenir des données binaires de substitution échappées. Il ne "
"doit pas y avoir de données binaires échappées de substitution dans la "
"valeur renvoyée par la méthode."
#: library/email.policy.rst:348
msgid ""
@ -391,24 +588,40 @@ msgid ""
"attr:`linesep` characters at the appropriate places. See :rfc:`5322` for a "
"discussion of the rules for folding email headers."
msgstr ""
"Le paquet de courrier électronique appelle cette méthode avec le *name* et "
"la *value* actuellement stockés dans le ``Message`` pour un en-tête donné. "
"La méthode doit renvoyer une chaîne qui représente correctement cet en-tête "
 plié » (selon les paramètres de la politique) en mettant en forme le "
"couple *name* - *value* et en insérant les caractères :attr:`linesep` aux "
"endroits appropriés. Voir :rfc:`5322` pour une discussion sur les règles de "
"mise en forme (« pliage » ou *folding* en anglais) des en-têtes de courrier "
"électronique."
#: library/email.policy.rst:355
msgid ""
"*value* may contain surrogateescaped binary data. There should be no "
"surrogateescaped binary data in the string returned by the method."
msgstr ""
"*value* peut contenir des données binaires de substitution échappées. Il ne "
"doit pas y avoir de données binaires échappées de substitution dans la "
"chaîne renvoyée par la méthode."
#: library/email.policy.rst:361
msgid ""
"The same as :meth:`fold`, except that the returned value should be a bytes "
"object rather than a string."
msgstr ""
"Identique à :meth:`fold`, sauf que la valeur renvoyée doit être un objet "
"bytes plutôt qu'une chaîne."
#: library/email.policy.rst:364
msgid ""
"*value* may contain surrogateescaped binary data. These could be converted "
"back into binary data in the returned bytes object."
msgstr ""
"*value* peut contenir des données binaires de substitution échappées. Celles-"
"ci pourraient être reconverties en données binaires dans l'objet bytes "
"renvoyé."
#: library/email.policy.rst:371
msgid ""
@ -416,6 +629,9 @@ msgid ""
"compliant with the current email RFCs. These include (but are not limited "
"to) :rfc:`5322`, :rfc:`2047`, and the current MIME RFCs."
msgstr ""
"Cette :class:`Policy` concrète fournit un comportement destiné à être "
"entièrement conforme aux RFC de messagerie actuelles. Ce qui inclut (mais "
"n'est pas limité à) la :rfc:`5322`, la :rfc:`2047` et les RFC MIME actuelles."
#: library/email.policy.rst:375
msgid ""
@ -424,22 +640,32 @@ msgid ""
"on the type of the field. The parsing and folding algorithm fully "
"implement :rfc:`2047` and :rfc:`5322`."
msgstr ""
"Cette politique ajoute de nouveaux algorithmes d'analyse d'en-tête et de "
"mise en forme (« pliage »). Au lieu de simples chaînes, les en-têtes sont "
"des sous-classes ``str`` avec des attributs qui dépendent du type du champ. "
"L'algorithme d'analyse et de pliage implémente entièrement la :rfc:`2047` et "
"la :rfc:`5322`."
#: library/email.policy.rst:380
msgid ""
"The default value for the :attr:`~email.policy.Policy.message_factory` "
"attribute is :class:`~email.message.EmailMessage`."
msgstr ""
"La valeur par défaut de l'attribut :attr:`~email.policy.Policy."
"message_factory` est :class:`~email.message.EmailMessage`."
#: library/email.policy.rst:383
msgid ""
"In addition to the settable attributes listed above that apply to all "
"policies, this policy adds the following additional attributes:"
msgstr ""
"Outre les attributs définissables répertoriés ci-dessus qui s'appliquent à "
"toutes les règles, cette règle ajoute les attributs supplémentaires "
"suivants :"
#: library/email.policy.rst:386
msgid "[1]_"
msgstr ""
msgstr "[1]_"
#: library/email.policy.rst:391
msgid ""
@ -448,6 +674,11 @@ msgid ""
"use ``utf-8`` encoding for headers. Messages formatted in this way may be "
"passed to SMTP servers that support the ``SMTPUTF8`` extension (:rfc:`6531`)."
msgstr ""
"Si c'est ``False``, suit la :rfc:`5322`, en prenant en charge les caractères "
"non-ASCII dans les en-têtes en les encodant comme des « mots encodés ». Si "
"c'est ``True``, suit la :rfc:`6532` et utilise l'encodage ``utf-8`` pour les "
"en-têtes. Les messages formatés de cette manière peuvent être transmis aux "
"serveurs SMTP qui gèrent l'extension ``SMTPUTF8`` (:rfc:`6531`)."
#: library/email.policy.rst:400
msgid ""
@ -456,6 +687,11 @@ msgid ""
"indicates whether or not a generator should refold that value when "
"transforming the message back into serialized form. The possible values are:"
msgstr ""
"Si la valeur d'un en-tête dans l'objet ``Message`` provient d'un :mod:"
"`~email.parser` (au lieu d'être définie par un programme), cet attribut "
"indique si un générateur doit ou non remettre en forme cette valeur "
"lorsqu'il retransforme le message sous forme sérialisée. Les valeurs "
"possibles sont :"
#: library/email.policy.rst:407
msgid "``none``"
@ -464,6 +700,8 @@ msgstr "``none``"
#: library/email.policy.rst:407
msgid "all source values use original folding"
msgstr ""
"toutes les valeurs sources utilisent la mise en forme (*folding* en anglais) "
"d'origine"
#: library/email.policy.rst:409
msgid "``long``"
@ -474,6 +712,8 @@ msgid ""
"source values that have any line that is longer than ``max_line_length`` "
"will be refolded"
msgstr ""
"les valeurs sources dont une ligne est plus longue que ``max_line_length`` "
"sont remises en forme"
#: library/email.policy.rst:412
msgid "``all``"
@ -481,11 +721,11 @@ msgstr "``all``"
#: library/email.policy.rst:412
msgid "all values are refolded."
msgstr ""
msgstr "toutes les valeurs sont remises en forme."
#: library/email.policy.rst:415
msgid "The default is ``long``."
msgstr ""
msgstr "La valeur par défaut est ``long``."
#: library/email.policy.rst:420
msgid ""
@ -497,6 +737,15 @@ msgid ""
"field types, and the major MIME header field stypes. Support for additional "
"custom parsing will be added in the future."
msgstr ""
"Appelable qui prend deux arguments, ``name`` et ``value``, où ``name`` est "
"un nom de champ d'en-tête et ``value`` est une valeur de champ d'en-tête "
"dépliée (c-à-d. sans retours à la ligne de mise en forme), et renvoie une "
"sous-classe de chaîne qui représente cet en-tête. Un ``header_factory`` par "
"défaut (voir :mod:`~email.headerregistry`) est fourni qui prend en charge "
"l'analyse personnalisée pour les divers types de champs d'en-tête d'adresse "
"et de date :RFC:`5322`, et les principaux types de champs d'en-tête MIME. La "
"prise en charge d'une analyse personnalisée supplémentaire sera ajoutée à "
"l'avenir."
#: library/email.policy.rst:431
msgid ""
@ -508,12 +757,22 @@ msgid ""
"that were passed to it as additional arguments. By default "
"``content_manager`` is set to :data:`~email.contentmanager.raw_data_manager`."
msgstr ""
"Objet avec au moins deux méthodes : *get_content* et *set_content*. Lorsque "
"la méthode :meth:`~email.message.EmailMessage.get_content` ou :meth:`~email."
"message.EmailMessage.set_content` d'un objet :class:`~email.message."
"EmailMessage` est appelée, elle appelle la méthode correspondante de cet "
"objet, en lui transmettant l'objet message comme premier argument, et tous "
"les arguments positionnels ou nommés qui lui ont été transmis comme "
"arguments supplémentaires. Par défaut, ``content_manager`` est défini sur :"
"data:`~email.contentmanager.raw_data_manager`."
#: library/email.policy.rst:601
msgid ""
"The class provides the following concrete implementations of the abstract "
"methods of :class:`Policy`:"
msgstr ""
"La classe fournit les implémentations concrètes suivantes des méthodes "
"abstraites de :class:`Policy` :"
#: library/email.policy.rst:449
msgid ""
@ -521,6 +780,9 @@ msgid ""
"attribute of the specialized class used to represent the header with the "
"given name."
msgstr ""
"Renvoie la valeur de l'attribut :attr:`~email.headerregistry.BaseHeader."
"max_count` de la classe spécialisée utilisée pour représenter l'en-tête avec "
"le nom donné."
#: library/email.policy.rst:607
msgid ""
@ -529,6 +791,11 @@ msgid ""
"the first line, joining all subsequent lines together, and stripping any "
"trailing carriage return or linefeed characters."
msgstr ""
"Le nom est analysé comme le reste jusqu'au ``:`` et renvoyé sans "
"modification. La valeur est déterminée en supprimant les espaces blancs de "
"début du reste de la première ligne, en joignant toutes les lignes suivantes "
"et en supprimant tous les caractères de retour chariot ou de saut de ligne "
"de fin."
#: library/email.policy.rst:465
msgid ""
@ -538,6 +805,12 @@ msgid ""
"resulting header object is returned as the value. In this case a "
"``ValueError`` is raised if the input value contains CR or LF characters."
msgstr ""
"Le nom est renvoyé tel quel. Si la valeur d'entrée a un attribut ``name`` et "
"qu'elle correspond à *name* sans tenir compte de la casse, la valeur est "
"renvoyée inchangée. Sinon, le *name* et la *value* sont passés à "
"``header_factory``, et l'objet d'en-tête résultant est renvoyé comme valeur. "
"Dans ce cas, une ``ValueError`` est levée si la valeur d'entrée contient des "
"caractères CR ou LF."
#: library/email.policy.rst:475
msgid ""
@ -547,6 +820,11 @@ msgid ""
"returned. Any surrogateescaped bytes get turned into the unicode unknown-"
"character glyph."
msgstr ""
"Si la valeur a un attribut ``name``, elle est renvoyée sans modification. "
"Sinon, le *name* et la *value* sans les caractères CR ou LF sont passés à "
"``header_factory``, et l'objet d'en-tête résultant est renvoyé. Tous les "
"octets échappés de substitution sont transformés en glyphe Unicode de "
"caractère inconnu."
#: library/email.policy.rst:484
msgid ""
@ -559,6 +837,15 @@ msgid ""
"Folding of a header object is done by calling its ``fold`` method with the "
"current policy."
msgstr ""
"La mise en forme d'en-tête est contrôlée par le paramètre de politique :attr:"
"`refold_source`. Une valeur est considérée comme une « valeur source » si et "
"seulement si elle n'a pas d'attribut ``name`` (avoir un attribut ``name`` "
"signifie qu'il s'agit d'un objet d'en-tête quelconque). Si une valeur source "
"doit être mise en forme conformément à la politique, elle est convertie en "
"un objet d'en-tête en passant le *name* et la *value* avec tous les "
"caractères CR et LF supprimés à ``header_factory``. La mise en forme multi-"
"lignes d'un objet d'en-tête (« pliage » ou *folding* en anglais) se fait en "
"appelant sa méthode ``fold`` avec la politique actuelle."
#: library/email.policy.rst:493
msgid ""
@ -569,12 +856,21 @@ msgid ""
"``refold_source`` setting, which causes the binary data to be CTE encoded "
"using the ``unknown-8bit`` charset."
msgstr ""
"Les valeurs sources sont divisées en lignes en utilisant :meth:`~str."
"splitlines`. Si la valeur ne doit pas être remise en forme, les lignes sont "
"jointes en utilisant le caractère ``linesep`` de la politique et renvoyées. "
"L'exception concerne les lignes contenant des données binaires non ASCII. "
"Dans ce cas, la valeur est remise en forme quel que soit le paramètre "
"``refold_source``, ce qui entraîne le codage CTE des données binaires à "
"l'aide du jeu de caractères ``unknown-8bit``."
#: library/email.policy.rst:503
msgid ""
"The same as :meth:`fold` if :attr:`~Policy.cte_type` is ``7bit``, except "
"that the returned value is bytes."
msgstr ""
"Identique à :meth:`fold` si :attr:`~Policy.cte_type` vaut ``7bit``, sauf que "
"la valeur renvoyée est de type *bytes*."
#: library/email.policy.rst:506
msgid ""
@ -583,6 +879,12 @@ msgid ""
"the ``refold_header`` setting, since there is no way to know whether the "
"binary data consists of single byte characters or multibyte characters."
msgstr ""
"Si :attr:`~Policy.cte_type` est ``8bit``, les données binaires non-ASCII "
"sont reconverties en octets. Les en-têtes contenant des données binaires ne "
"sont pas remises en forme, quel que soit le paramètre ``refold_header``, "
"puisqu'il n'y a aucun moyen de savoir si les données binaires sont "
"constituées de caractères à un seul octet ou de caractères à plusieurs "
"octets."
#: library/email.policy.rst:513
msgid ""
@ -591,19 +893,30 @@ msgid ""
"these instances (in particular the ``HTTP`` instance) may be adjusted to "
"conform even more closely to the RFCs relevant to their domains."
msgstr ""
"Les instances suivantes de :class:`EmailPolicy` fournissent des valeurs par "
"défaut adaptées à des domaines d'application spécifiques. Notez qu'à "
"l'avenir, le comportement de ces instances (en particulier l'instance "
"``HTTP``) pourra être ajusté pour se conformer encore plus étroitement aux "
"RFC relatives à leurs domaines."
#: library/email.policy.rst:521
msgid ""
"An instance of ``EmailPolicy`` with all defaults unchanged. This policy "
"uses the standard Python ``\\n`` line endings rather than the RFC-correct "
"``\\r\\n``."
"uses the standard Python ``\\n`` line endings rather than the RFC-correct ``"
"\\r\\n``."
msgstr ""
"Une instance de ``EmailPolicy`` avec toutes les valeurs par défaut "
"inchangées. Cette politique utilise les fins de ligne standard Python "
"``\\n`` plutôt que le ``\\r\\n`` conforme à la RFC."
#: library/email.policy.rst:528
msgid ""
"Suitable for serializing messages in conformance with the email RFCs. Like "
"``default``, but with ``linesep`` set to ``\\r\\n``, which is RFC compliant."
msgstr ""
"Convient pour la sérialisation des messages conformément aux RFC des e-"
"mails. Comme ``default``, mais avec ``linesep`` défini sur ``\\r\\n``, ce "
"qui est conforme à la RFC."
#: library/email.policy.rst:535
msgid ""
@ -613,12 +926,21 @@ msgid ""
"sender or recipient addresses have non-ASCII characters (the :meth:`smtplib."
"SMTP.send_message` method handles this automatically)."
msgstr ""
"Identique à ``SMTP`` sauf que :attr:`~EmailPolicy.utf8` vaut ``True``. Utile "
"pour sérialiser des messages dans une banque de messages sans utiliser de "
"mots encodés dans les en-têtes. Ne doit être utilisée pour la transmission "
"SMTP que si les adresses de l'expéditeur ou du destinataire contiennent des "
"caractères non ASCII (la méthode :meth:`smtplib.SMTP.send_message` gère cela "
"automatiquement)."
#: library/email.policy.rst:544
msgid ""
"Suitable for serializing headers with for use in HTTP traffic. Like "
"``SMTP`` except that ``max_line_length`` is set to ``None`` (unlimited)."
msgstr ""
"Convient pour la sérialisation des en-têtes à utiliser dans le trafic HTTP. "
"Comme ``SMTP`` sauf que ``max_line_length`` est défini sur ``None`` "
"(illimité)."
#: library/email.policy.rst:550
msgid ""
@ -626,6 +948,9 @@ msgid ""
"``raise_on_defect`` is set to ``True``. This allows any policy to be made "
"strict by writing::"
msgstr ""
"Exemple de commodité. Identique à ``default`` sauf que ``raise_on_defect`` "
"est défini sur ``True``. Cela permet de rendre stricte toute politique en "
"écrivant ::"
#: library/email.policy.rst:557
msgid ""
@ -633,18 +958,26 @@ msgid ""
"of the email package is changed from the Python 3.2 API in the following "
"ways:"
msgstr ""
"Avec toutes ces :class:`EmailPolicies <.EmailPolicy>`, l'API effective du "
"paquet de messagerie est modifiée par rapport à l'API Python 3.2 de la "
"manière suivante :"
#: library/email.policy.rst:560
msgid ""
"Setting a header on a :class:`~email.message.Message` results in that header "
"being parsed and a header object created."
msgstr ""
"Définir un en-tête sur un :class:`~email.message.Message` entraîne l'analyse "
"de cet en-tête et la création d'un objet d'en-tête."
#: library/email.policy.rst:563
msgid ""
"Fetching a header value from a :class:`~email.message.Message` results in "
"that header being parsed and a header object created and returned."
msgstr ""
"La récupération d'une valeur d'en-tête à partir d'un :class:`~email.message."
"Message` entraîne l'analyse de cet en-tête ainsi que la création et le "
"renvoi d'un objet d'en-tête."
#: library/email.policy.rst:567
msgid ""
@ -652,6 +985,10 @@ msgid ""
"settings, is folded using an algorithm that fully implements the RFC folding "
"algorithms, including knowing where encoded words are required and allowed."
msgstr ""
"Tout objet d'en-tête, ou tout en-tête qui est remis en forme en raison des "
"paramètres de politique, est mis en forme à l'aide d'un algorithme qui "
"implémente entièrement les algorithmes de pliage de la RFC, notamment en "
"sachant où les mots encodés sont requis et autorisés."
#: library/email.policy.rst:572
msgid ""
@ -662,12 +999,21 @@ msgid ""
"created, using a unicode string, and the policy will take care of converting "
"the unicode string into the correct RFC encoded form."
msgstr ""
"Du point de vue de l'application, cela signifie que tout en-tête obtenu via :"
"class:`~email.message.EmailMessage` est un objet d'en-tête avec des "
"attributs supplémentaires, dont la valeur de chaîne est la valeur Unicode "
"entièrement décodée de l'en-tête. De même, un en-tête peut se voir attribuer "
"une nouvelle valeur, ou un nouvel en-tête créé, à l'aide d'une chaîne "
"Unicode, et la politique se chargera de convertir la chaîne Unicode dans la "
"forme encodée RFC correcte."
#: library/email.policy.rst:579
msgid ""
"The header objects and their attributes are described in :mod:`~email."
"headerregistry`."
msgstr ""
"Les objets d'en-tête et leurs attributs sont décrits dans :mod:`~email."
"headerregistry`."
#: library/email.policy.rst:586
msgid ""
@ -677,20 +1023,28 @@ msgid ""
"`compat32`, that is used as the default policy. Thus the default behavior "
"of the email package is to maintain compatibility with Python 3.2."
msgstr ""
"Cette :class:`Policy` concrète est la politique de rétrocompatibilité. Elle "
"reproduit le comportement du paquet de courrier électronique dans Python "
"3.2. Le module :mod:`~email.policy` définit également une instance de cette "
"classe, :const:`compat32`, qui est utilisée comme politique par défaut. "
"Ainsi, le comportement par défaut du paquet de messagerie est de maintenir "
"la compatibilité avec Python 3.2."
#: library/email.policy.rst:592
msgid ""
"The following attributes have values that are different from the :class:"
"`Policy` default:"
msgstr ""
"Les attributs suivants ont des valeurs différentes de la valeur par défaut "
"de :class:`Policy` :"
#: library/email.policy.rst:598
msgid "The default is ``True``."
msgstr ""
msgstr "La valeur par défaut est ``True``."
#: library/email.policy.rst:615
msgid "The name and value are returned unmodified."
msgstr ""
msgstr "Le nom et la valeur sont renvoyés sans modification."
#: library/email.policy.rst:620
msgid ""
@ -698,6 +1052,9 @@ msgid ""
"header.Header` object using the ``unknown-8bit`` charset. Otherwise it is "
"returned unmodified."
msgstr ""
"Si la valeur contient des données binaires, elle est convertie en un objet :"
"class:`~email.header.Header` en utilisant le jeu de caractères "
"``unknown-8bit``. Sinon, elle est renvoyée sans modification."
#: library/email.policy.rst:627
msgid ""
@ -706,6 +1063,11 @@ msgid ""
"resulting line to the ``max_line_length``. Non-ASCII binary data are CTE "
"encoded using the ``unknown-8bit`` charset."
msgstr ""
"Les en-têtes sont mis en forme à l'aide de l'algorithme de pliage :class:"
"`~email.header.Header`, qui préserve les sauts de ligne existants dans la "
"valeur et encapsule chaque ligne résultante dans la ``max_line_length``. Les "
"données binaires non-ASCII sont codées en CTE à l'aide du jeu de caractères "
"``unknown-8bit``."
#: library/email.policy.rst:635
msgid ""
@ -716,12 +1078,21 @@ msgid ""
"Otherwise the original source header is used, with its existing line breaks "
"and any (RFC invalid) binary data it may contain."
msgstr ""
"Les en-têtes sont mis en forme à l'aide de l'algorithme de pliage :class:"
"`~email.header.Header`, qui préserve les sauts de ligne existants dans la "
"valeur et encapsule chaque ligne résultante dans la ``max_line_length``. Si "
"``cte_type`` est ``7bit``, les données binaires non-ASCII sont encodées en "
"CTE en utilisant le jeu de caractères ``unknown-8bit``. Sinon, l'en-tête "
"source d'origine est utilisé, avec ses sauts de ligne existants et toutes "
"les données binaires (non conformes à la RFC) qu'il peut contenir."
#: library/email.policy.rst:645
msgid ""
"An instance of :class:`Compat32`, providing backward compatibility with the "
"behavior of the email package in Python 3.2."
msgstr ""
"Instance de :class:`Compat32`, offrant une rétrocompatibilité avec le "
"comportement du paquet de messagerie dans Python 3.2."
#: library/email.policy.rst:650
msgid "Footnotes"
@ -732,3 +1103,5 @@ msgid ""
"Originally added in 3.3 as a :term:`provisional feature <provisional "
"package>`."
msgstr ""
"Initialement ajouté dans 3.3 en tant que :term:`paquet provisoire "
"<provisional package>`."

View File

@ -6,28 +6,30 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-21 14:55+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2024-03-15 22:58+0100\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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.2.2\n"
#: library/email.utils.rst:2
msgid ":mod:`email.utils`: Miscellaneous utilities"
msgstr ""
msgstr ":mod:`email.utils` : utilitaires divers"
#: library/email.utils.rst:7
#, fuzzy
msgid "**Source code:** :source:`Lib/email/utils.py`"
msgstr "**Code source :** :source:`Lib/email/parser.py`"
msgstr "**Code source :** :source:`Lib/email/utils.py`"
#: library/email.utils.rst:11
msgid ""
"There are a couple of useful utilities provided in the :mod:`email.utils` "
"module:"
msgstr ""
"Il y a quelques utilitaires utiles fournis dans le module :mod:`email."
"utils` :"
#: library/email.utils.rst:16
msgid ""
@ -42,6 +44,16 @@ msgid ""
"``localtime`` to attempt to divine whether summer time is in effect for the "
"specified time."
msgstr ""
"Renvoie l'heure locale en tant qu'objet *datetime* avisé. S'il est appelé "
"sans arguments, renvoie l'heure actuelle. Sinon, l'argument *dt* doit être "
"une instance :class:`~datetime.datetime`, et il est converti dans le fuseau "
"horaire local en fonction de la base de données des fuseaux horaires du "
"système. Si *dt* est naïf (c'est-à-dire que ``dt.tzinfo`` vaut ``None``), il "
"est supposé être en heure locale. Dans ce cas, une valeur positive ou nulle "
"pour *isdst* amène ``localtime`` à supposer initialement que l'heure d'été "
"est ou n'est pas (respectivement) en vigueur pour l'heure spécifiée. Une "
"valeur négative pour *isdst* fait que ``localtime`` tente de deviner si "
"l'heure d'été est en vigueur pour l'heure spécifiée."
#: library/email.utils.rst:32
msgid ""
@ -53,10 +65,19 @@ msgid ""
"useful certain cases, such as a constructing distributed system that uses a "
"consistent domain name across multiple hosts."
msgstr ""
"Renvoie une chaîne adaptée à un en-tête :mailheader:`Message-ID` "
"compatible :rfc:`2822`. *idstring*, s'il est fourni, est une chaîne utilisée "
"pour renforcer l'unicité de l'identifiant du message. Le *domain* "
"facultatif, s'il est fourni, fournit la partie du *msgid* après le '@'. La "
"valeur par défaut est le nom d'hôte local. Il n'est normalement pas "
"nécessaire de remplacer cette valeur par défaut, mais cela peut être utile "
"dans certains cas, comme la construction d'un système distribué qui utilise "
"un nom de domaine cohérent sur plusieurs hôtes."
# suit un :
#: library/email.utils.rst:40
msgid "Added the *domain* keyword."
msgstr ""
msgstr "ajout du mot-clé *domaine*."
#: library/email.utils.rst:44
msgid ""
@ -65,12 +86,21 @@ msgid ""
"and formatting they provide is done automatically by the header parsing "
"machinery of the new API."
msgstr ""
"Les fonctions restantes font partie de l'ancienne API de messagerie "
"(``Compat32``). Il n'est pas nécessaire de les utiliser directement avec la "
"nouvelle API, car l'analyse et le formatage qu'elles fournissent sont "
"effectués automatiquement par le mécanisme d'analyse d'en-tête de la "
"nouvelle API."
#: library/email.utils.rst:52
msgid ""
"Return a new string with backslashes in *str* replaced by two backslashes, "
"and double quotes replaced by backslash-double quote."
msgstr ""
"Renvoie une nouvelle chaîne avec les barres obliques inverses (*backslash*) "
"dans *str* remplacées par deux barres obliques inverses et les guillemets "
"doubles remplacés par des guillemets doubles échappés par une barre oblique "
"inverse."
#: library/email.utils.rst:58
msgid ""
@ -78,6 +108,10 @@ msgid ""
"and begins with double quotes, they are stripped off. Likewise if *str* "
"ends and begins with angle brackets, they are stripped off."
msgstr ""
"Renvoie une nouvelle chaîne qui est une version *sans guillemets* de *str*. "
"Si *str* se termine et commence par des guillemets doubles, ils sont "
"supprimés. De même, si *str* est encadrée par des chevrons mathématiques, "
"ils sont supprimés."
#: library/email.utils.rst:65
msgid ""
@ -86,6 +120,11 @@ msgid ""
"*realname* and *email address* parts. Returns a tuple of that information, "
"unless the parse fails, in which case a 2-tuple of ``('', '')`` is returned."
msgstr ""
"Analyse l'adresse qui devrait être la valeur d'un champ contenant une "
"adresse tel que :mailheader:`To` ou :mailheader:`Cc` dans ses parties "
"constituantes *realname* et *email address*. Renvoie un *n*-uplet de cette "
"information, sauf si l'analyse échoue, alors un couple ``('', '')`` est "
"renvoyé."
#: library/email.utils.rst:73
msgid ""
@ -94,6 +133,11 @@ msgid ""
"mailheader:`To` or :mailheader:`Cc` header. If the first element of *pair* "
"is false, then the second element is returned unmodified."
msgstr ""
"L'inverse de :meth:`parseaddr`, elle prend un couple de la forme "
"``(realname, email_address)`` et renvoie la valeur de chaîne appropriée pour "
"un en-tête :mailheader:`To` ou :mailheader:`Cc`. Si le premier élément de "
"*pair* s'évalue à faux, alors le deuxième élément est renvoyé sans "
"modification."
#: library/email.utils.rst:78
msgid ""
@ -102,10 +146,15 @@ msgid ""
"characters. Can be an instance of :class:`str` or a :class:`~email.charset."
"Charset`. Defaults to ``utf-8``."
msgstr ""
"Le *charset* optionnel est le jeu de caractères qui est utilisé dans "
"l'encodage :rfc:`2047` du ``realname`` si le ``realname`` contient des "
"caractères non-ASCII. Cela peut être une instance de :class:`str` ou un :"
"class:`~email.charset.Charset`. La valeur par défaut est ``utf-8``."
# suit un :
#: library/email.utils.rst:83
msgid "Added the *charset* option."
msgstr ""
msgstr "ajout de l'option *charset*."
#: library/email.utils.rst:89
msgid ""
@ -114,6 +163,11 @@ msgid ""
"be returned by :meth:`Message.get_all <email.message.Message.get_all>`. "
"Here's a simple example that gets all the recipients of a message::"
msgstr ""
"Cette méthode renvoie une liste de couples de la forme renvoyée par "
"``parseaddr()``. *fieldvalues* est une séquence de valeurs de champ d'en-"
"tête pouvant être renvoyée par :meth:`Message.get_all <email.message.Message."
"get_all>`. Voici un exemple simple qui récupère tous les destinataires d'un "
"message ::"
#: library/email.utils.rst:105
msgid ""
@ -125,6 +179,14 @@ msgid ""
"be passed directly to :func:`time.mktime`; otherwise ``None`` will be "
"returned. Note that indexes 6, 7, and 8 of the result tuple are not usable."
msgstr ""
"Tente d'analyser une date selon les règles de la :rfc:`2822`. Cependant, "
"certains expéditeurs ne suivent pas ce format comme spécifié, donc :func:"
"`parsedate` fait son possible dans de tels cas. *date* est une chaîne "
"contenant une date :rfc:`2822`, telle que ``\"Mon, 20 Nov 1995 19:12:08 "
"-0500\"``. Si elle réussit à analyser la date, :func:`parsedate` renvoie un "
"9-uplet qui peut être passé directement à :func:`time.mktime` ; sinon "
"``None`` est renvoyé. Notez que les indices 6, 7 et 8 du *n*-uplet résultat "
"ne sont pas utilisables."
#: library/email.utils.rst:116
msgid ""
@ -136,6 +198,14 @@ msgid ""
"returned is ``0``, which represents UTC. Note that indexes 6, 7, and 8 of "
"the result tuple are not usable."
msgstr ""
"Effectue la même fonction que :func:`parsedate`, mais renvoie soit ``None`` "
"ou un 10-uplet ; les 9 premiers éléments constituent un *n*-uplet qui peut "
"être passé directement à :func:`time.mktime`, et le dixième est le décalage "
"du fuseau horaire de la date par rapport à UTC (qui est le terme officiel "
"pour *Greenwich Mean Time*) [#]_. Si la chaîne d'entrée n'a pas de fuseau "
"horaire, le dernier élément du *n*-uplet renvoyé est ``0``, qui représente "
"l'UTC. Notez que les indices 6, 7 et 8 du *n*-uplet résultat ne sont pas "
"utilisables."
#: library/email.utils.rst:126
msgid ""
@ -150,6 +220,17 @@ msgid ""
"offset, the ``datetime`` will be an aware ``datetime`` with the "
"corresponding a :class:`~datetime.timezone` :class:`~datetime.tzinfo`."
msgstr ""
"L'inverse de :func:`format_datetime`. Effectue la même fonction que :func:"
"`parsedate` mais, en cas de succès, renvoie un :mod:`~datetime.datetime` ; "
"sinon une ``ValueError`` est levée si *date* contient une valeur invalide "
"telle qu'une heure supérieure à 23 ou un décalage de fuseau horaire non "
"compris entre 24 et 24 heures. Si la date d'entrée a un fuseau horaire de "
"``-0000``, le ``datetime`` sera un ``datetime`` naïf, et si la date est "
"conforme aux RFC, elle représentera une heure en UTC mais sans indication du "
"fuseau horaire source réel du message d'où provient la date. Si la date "
"d'entrée a un autre décalage de fuseau horaire valide, le ``datetime`` sera "
"un ``datetime`` avisé avec le :class:`~datetime.timezone` :class:`~datetime."
"tzinfo` adéquat."
#: library/email.utils.rst:142
msgid ""
@ -157,10 +238,13 @@ msgid ""
"(seconds since the Epoch). If the timezone item in the tuple is ``None``, "
"assume local time."
msgstr ""
"Transforme un 10-uplet renvoyé par :func:`parsedate_tz` en un horodatage UTC "
"(en secondes depuis *Epoch*). Si l'élément de fuseau horaire dans le *n*-"
"uplet est ``None``, elle considère que l'heure est locale."
#: library/email.utils.rst:149
msgid "Returns a date string as per :rfc:`2822`, e.g.::"
msgstr ""
msgstr "Renvoie une chaîne de date conforme à la :rfc:`2822`, par exemple ::"
#: library/email.utils.rst:153
msgid ""
@ -168,6 +252,9 @@ msgid ""
"func:`time.gmtime` and :func:`time.localtime`, otherwise the current time is "
"used."
msgstr ""
"*timeval*, s'il est fourni, est une valeur de temps à virgule flottante "
"telle qu'acceptée par :func:`time.gmtime` et :func:`time.localtime`, sinon "
"l'heure actuelle est utilisée."
#: library/email.utils.rst:157
msgid ""
@ -176,6 +263,10 @@ msgid ""
"taking daylight savings time into account. The default is ``False`` meaning "
"UTC is used."
msgstr ""
"L'option *localtime* est un indicateur qui, lorsqu'il est ``True``, "
"interprète *timeval* et renvoie une date relative au fuseau horaire local au "
"lieu de UTC, en tenant correctement compte de l'heure d'été. La valeur par "
"défaut est ``False``, ce qui signifie que l'UTC est utilisée."
#: library/email.utils.rst:162
msgid ""
@ -184,6 +275,11 @@ msgid ""
"This is needed for some protocols (such as HTTP). This only applies when "
"*localtime* is ``False``. The default is ``False``."
msgstr ""
"L'option *usegmt* est un indicateur qui, lorsqu'il est ``True``, affiche une "
"chaîne de date avec le fuseau horaire sous la forme de la chaîne ASCII "
"``GMT``, plutôt qu'un ``-0000`` numérique. C'est nécessaire pour certains "
"protocoles (tels que HTTP). Cela ne s'applique que lorsque *localtime* est "
"``False``. La valeur par défaut est ``False``."
#: library/email.utils.rst:170
msgid ""
@ -196,10 +292,19 @@ msgid ""
"timezone offset. This provides a way to generate standards conformant HTTP "
"date headers."
msgstr ""
"Comme ``formatdate``, mais l'entrée est une instance :mod:`datetime`. S'il "
"s'agit d'un groupe date-heure naïf, il est considéré être « UTC sans "
"information sur le fuseau horaire source », et le ``-0000`` conventionnel "
"est utilisé pour le fuseau horaire. S'il s'agit d'un ``datetime`` avisé, "
"alors le décalage numérique du fuseau horaire est utilisé. S'il s'agit d'un "
"groupe date-heure avisé avec un décalage de fuseau horaire de zéro, alors "
"*usegmt* peut être défini sur ``True``, la chaîne ``GMT`` est alors utilisée "
"à la place du décalage numérique du fuseau horaire. Cela fournit un moyen de "
"générer des en-têtes de date HTTP conformes aux normes."
#: library/email.utils.rst:184
msgid "Decode the string *s* according to :rfc:`2231`."
msgstr ""
msgstr "Décode la chaîne *s* selon la :rfc:`2231`."
#: library/email.utils.rst:189
msgid ""
@ -209,6 +314,11 @@ msgid ""
"*language* is not, the string is encoded using the empty string for "
"*language*."
msgstr ""
"Encode la chaîne *s* selon la :rfc:`2231`. *charset* et *language*, s'ils "
"sont fournis, indiquent le jeu de caractères et le nom de la langue à "
"utiliser. Si aucun n'est donné, *s* est renvoyé telle quelle. Si *charset* "
"est donné mais que *language* ne l'est pas, la chaîne est encodée en "
"utilisant la chaîne vide pour *language*."
#: library/email.utils.rst:197
msgid ""
@ -221,18 +331,33 @@ msgid ""
"to use if the one in the :rfc:`2231` header is not known by Python; it "
"defaults to ``'us-ascii'``."
msgstr ""
"Lorsqu'un paramètre d'en-tête est encodé au format :rfc:`2231`, :meth:"
"`Message.get_param <email.message.Message.get_param>` peut renvoyer un "
"triplet contenant le jeu de caractères, la langue et la valeur. :func:"
"`collapse_rfc2231_value` transforme cela en une chaîne Unicode. *errors* "
"(facultatif) est passé à l'argument *errors* de la méthode :func:`~str."
"encode` de :class:`str` ; sa valeur par défaut est ``'replace'``. "
"*fallback_charset* (facultatif) spécifie le jeu de caractères à utiliser si "
"celui de l'en-tête :rfc:`2231` n'est pas connu de Python ; sa valeur par "
"défaut est ``'us-ascii'``."
#: library/email.utils.rst:206
msgid ""
"For convenience, if the *value* passed to :func:`collapse_rfc2231_value` is "
"not a tuple, it should be a string and it is returned unquoted."
msgstr ""
"Pour plus de commodité, si la *valeur* transmise à :func:"
"`collapse_rfc2231_value` n'est pas un *n*-uplet, ce doit être une chaîne et "
"elle est renvoyée sans guillemets."
#: library/email.utils.rst:212
msgid ""
"Decode parameters list according to :rfc:`2231`. *params* is a sequence of "
"2-tuples containing elements of the form ``(content-type, string-value)``."
msgstr ""
"Décode la liste des paramètres selon la :rfc:`2231`. *params* est une "
"séquence de couples contenant des éléments de la forme ``(content-type, "
"string-value)``."
#: library/email.utils.rst:217
msgid "Footnotes"
@ -244,3 +369,6 @@ msgid ""
"``time.timezone`` variable for the same timezone; the latter variable "
"follows the POSIX standard while this module follows :rfc:`2822`."
msgstr ""
"Notez que le signe du décalage horaire est l'opposé du signe de la variable "
"``time.timezone`` pour le même fuseau horaire ; cette dernière variable suit "
"la norme POSIX tandis que ce module suit la :rfc:`2822`."

View File

@ -6,23 +6,22 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2018-09-29 19:35+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2024-03-15 22:08+0100\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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.2.2\n"
#: library/xml.dom.minidom.rst:2
#, fuzzy
msgid ":mod:`xml.dom.minidom` --- Minimal DOM implementation"
msgstr ":mod:`xml.dom.minidom`: une implémentation minimale de DOM"
msgstr ":mod:`xml.dom.minidom` implémentation minimale de DOM"
#: library/xml.dom.minidom.rst:11
#, fuzzy
msgid "**Source code:** :source:`Lib/xml/dom/minidom.py`"
msgstr "**Code source:** :source:`Lib/xml/dom/__init__.py`"
msgstr "**Code source:** :source:`Lib/xml/dom/minidom.py`"
#: library/xml.dom.minidom.rst:15
msgid ""
@ -32,28 +31,39 @@ msgid ""
"Users who are not already proficient with the DOM should consider using the :"
"mod:`xml.etree.ElementTree` module for their XML processing instead."
msgstr ""
":mod:`xml.dom.minidom` est une implémentation minimale de l'interface "
"*Document Object Model*, avec une API similaire à celle d'autres langages. "
"Elle est censée être plus simple que le DOM complet et également nettement "
"plus petite. Les utilisateurs qui ne maîtrisent pas déjà le DOM devraient "
"plutôt envisager d'utiliser le module :mod:`xml.etree.ElementTree` pour leur "
"traitement XML."
# suit un :
#: library/xml.dom.minidom.rst:24
#, fuzzy
msgid ""
"The :mod:`xml.dom.minidom` module is not secure against maliciously "
"constructed data. If you need to parse untrusted or unauthenticated data "
"see :ref:`xml-vulnerabilities`."
msgstr ""
"Le module :mod:`xml.sax` n'est pas sécurisé contre les données construites "
"de façon malveillante. Si vous avez besoin d'analyser des données non "
"sécurisées ou non authentifiées, voir :ref:`xml-vulnerabilities`."
"le module :mod:`xml.dom.minidom` n'est pas sécurisé contre les données "
"construites de façon malveillante. Si vous avez besoin d'analyser des "
"données non sécurisées ou non authentifiées, référez-vous à :ref:`xml-"
"vulnerabilities`."
#: library/xml.dom.minidom.rst:29
msgid ""
"DOM applications typically start by parsing some XML into a DOM. With :mod:"
"`xml.dom.minidom`, this is done through the parse functions::"
msgstr ""
"Les applications DOM commencent généralement par analyser du XML dans un "
"DOM. Avec :mod:`xml.dom.minidom`, cela se fait via les fonctions d'analyse ::"
#: library/xml.dom.minidom.rst:41
msgid ""
"The :func:`parse` function can take either a filename or an open file object."
msgstr ""
"La fonction :func:`parse` peut prendre soit un nom de fichier, soit un objet "
"fichier ouvert."
#: library/xml.dom.minidom.rst:46
msgid ""
@ -63,12 +73,20 @@ msgid ""
"parser and activate namespace support; other parser configuration (like "
"setting an entity resolver) must have been done in advance."
msgstr ""
"Renvoie un :class:`Document` à partir de l'entrée donnée. *filename_or_file* "
"peut être soit un nom de fichier, soit un objet simili-fichier. *parser*, "
"s'il est donné, doit être un objet analyseur *SAX2*. Cette fonction modifie "
"le pointeur vers le document de l'analyseur et active la prise en charge des "
"espaces de noms ; les autres configurations de l'analyseur (comme la "
"définition d'un résolveur d'entité) doivent avoir été effectuées à l'avance."
#: library/xml.dom.minidom.rst:52
msgid ""
"If you have XML in a string, you can use the :func:`parseString` function "
"instead:"
msgstr ""
"Si votre XML se trouve dans une chaîne, vous pouvez utiliser la fonction :"
"func:`parseString` à la place :"
#: library/xml.dom.minidom.rst:58
msgid ""
@ -76,12 +94,16 @@ msgid ""
"an :class:`io.StringIO` object for the string and passes that on to :func:"
"`parse`."
msgstr ""
"Renvoie un :class:`Document` qui représente *string*. Cette méthode crée un "
"objet :class:`io.StringIO` pour la chaîne et le transmet à :func:`parse`."
#: library/xml.dom.minidom.rst:61
msgid ""
"Both functions return a :class:`Document` object representing the content of "
"the document."
msgstr ""
"Les deux fonctions renvoient un objet :class:`Document` représentant le "
"contenu du document."
#: library/xml.dom.minidom.rst:64
msgid ""
@ -93,6 +115,14 @@ msgid ""
"it's simply that these functions do not provide a parser implementation "
"themselves."
msgstr ""
"Ce que font les fonctions :func:`parse` et :func:`parseString`, c'est "
"connecter un analyseur XML avec un « constructeur DOM » qui peut accepter "
"les événements d'analyse de n'importe quel analyseur *SAX* et les convertir "
"en une arborescence DOM. Les noms des fonctions sont peut-être trompeurs, "
"mais sont faciles à comprendre lors de l'apprentissage des interfaces. "
"L'analyse du document sera terminée avant le retour de ces fonctions ; c'est "
"simplement que ces fonctions ne fournissent pas elles-mêmes d'implémentation "
"d'analyseur."
#: library/xml.dom.minidom.rst:71
msgid ""
@ -102,6 +132,11 @@ msgid ""
"mod:`xml.dom.minidom` module. Once you have a :class:`Document`, you can "
"add child nodes to it to populate the DOM::"
msgstr ""
"Vous pouvez également créer un :class:`Document` en appelant une méthode sur "
"un objet « DOM Implementation ». Vous pouvez obtenir cet objet soit en "
"appelant la fonction :func:`getDOMImplementation` du paquet :mod:`xml.dom` "
"ou du module :mod:`xml.dom.minidom`. Une fois que vous avez un :class:"
"`Document`, vous pouvez y ajouter des nœuds enfants pour remplir le DOM ::"
#: library/xml.dom.minidom.rst:86
msgid ""
@ -111,6 +146,12 @@ msgid ""
"attr:`documentElement` property. It gives you the main element in the XML "
"document: the one that holds all others. Here is an example program::"
msgstr ""
"Une fois que vous disposez d'un objet document DOM, vous pouvez accéder aux "
"parties de votre document XML via ses propriétés et méthodes. Ces propriétés "
"sont définies dans la spécification DOM. La propriété principale de l'objet "
"document est la propriété :attr:`documentElement`. Il vous donne l'élément "
"principal du document XML : celui qui contient tous les autres. Voici un "
"exemple de programme ::"
#: library/xml.dom.minidom.rst:95
msgid ""
@ -121,6 +162,12 @@ msgid ""
"Otherwise, Python's garbage collector will eventually take care of the "
"objects in the tree."
msgstr ""
"Lorsque vous avez terminé avec une arborescence DOM, vous pouvez "
"éventuellement appeler la méthode :meth:`unlink` pour favoriser un nettoyage "
"précoce des objets désormais inutiles. :meth:`unlink` est une extension "
"spécifique :mod:`xml.dom.minidom` de l'API DOM qui rend le nœud et ses "
"descendants essentiellement inutiles. Sinon, le ramasse-miettes de Python "
"finira par s'occuper des objets dans l'arborescence."
#: library/xml.dom.minidom.rst:104
msgid ""
@ -133,11 +180,12 @@ msgstr ""
#: library/xml.dom.minidom.rst:105
msgid "The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`."
msgstr ""
"La recommandation du *W3C* pour le DOM supporté par :mod:`xml.dom.minidom`."
"La recommandation du *W3C* pour le DOM pris en charge par :mod:`xml.dom."
"minidom`."
#: library/xml.dom.minidom.rst:111
msgid "DOM Objects"
msgstr ""
msgstr "Objets DOM"
#: library/xml.dom.minidom.rst:113
msgid ""
@ -145,6 +193,9 @@ msgid ""
"dom` module documentation. This section lists the differences between the "
"API and :mod:`xml.dom.minidom`."
msgstr ""
"La définition de l'API DOM pour Python est donnée dans le cadre de la "
"documentation du module :mod:`xml.dom`. Cette section répertorie les "
"différences entre l'API et :mod:`xml.dom.minidom`."
#: library/xml.dom.minidom.rst:120
msgid ""
@ -155,6 +206,13 @@ msgid ""
"practice. This only needs to be called on the :class:`Document` object, but "
"may be called on child nodes to discard children of that node."
msgstr ""
"Casse les références internes dans le DOM afin qu'elles soient récupérées "
"sur les versions de Python sans ramasse-miettes cyclique. Même lorsque le "
"ramasse-miettes cyclique est disponible, son utilisation peut libérer de "
"grandes quantités de mémoire disponibles plus tôt, donc l'appeler sur les "
"objets DOM dès qu'ils ne sont plus nécessaires est une bonne pratique. Il "
"est suffisant de l'appeler sur l'objet :class:`Document`, mais peut être "
"appelée sur les nœuds enfants pour éliminer les enfants de ce nœud."
#: library/xml.dom.minidom.rst:127
msgid ""
@ -162,6 +220,9 @@ msgid ""
"statement. The following code will automatically unlink *dom* when the :"
"keyword:`!with` block is exited::"
msgstr ""
"Vous pouvez éviter d'appeler cette méthode explicitement en utilisant "
"l'instruction :keyword:`with`. Le code suivant dissocie automatiquement "
"*dom* lorsque le bloc :keyword:`!with` est quitté ::"
#: library/xml.dom.minidom.rst:138
msgid ""
@ -172,12 +233,20 @@ msgid ""
"subnodes of the current one. The *newl* parameter specifies the string to "
"use to terminate newlines."
msgstr ""
"Écrit du XML dans l'objet *writer*. Cet objet reçoit du texte mais pas des "
"octets en entrée, il doit avoir une méthode :meth:`write` qui correspond à "
"celle de l'interface objet fichier. Le paramètre *indent* est l'indentation "
"du nœud actuel. Le paramètre *addindent* est l'indentation incrémentielle à "
"utiliser pour les sous-nœuds du nœud actuel. Le paramètre *newl* spécifie la "
"chaîne à utiliser pour terminer les nouvelles lignes."
#: library/xml.dom.minidom.rst:145
msgid ""
"For the :class:`Document` node, an additional keyword argument *encoding* "
"can be used to specify the encoding field of the XML header."
msgstr ""
"Pour le nœud :class:`Document`, un argument nommé supplémentaire *encoding* "
"peut être utilisé pour spécifier le champ d'encodage de l'en-tête XML."
#: library/xml.dom.minidom.rst:148
msgid ""
@ -187,23 +256,34 @@ msgid ""
"otherwise it is set to ``\"no\"``. Not stating the argument will omit the "
"declaration from the document."
msgstr ""
"De même, l'indication explicite de l'argument *standalone* entraîne l'ajout "
"des déclarations de document autonome au prologue du document XML. Si la "
"valeur est définie sur ``True``, ``standalone=\"yes\"`` est ajoutée, sinon "
"elle est définie sur ``\"no\"``. Par défaut la déclaration n'est pas écrite "
"dans le document."
# suit un :
#: library/xml.dom.minidom.rst:155
msgid ""
"The :meth:`writexml` method now preserves the attribute order specified by "
"the user."
msgstr ""
"la méthode :meth:`writexml` préserve désormais l'ordre des attributs "
"spécifié par l'utilisateur."
# suit un :
#: library/xml.dom.minidom.rst:159 library/xml.dom.minidom.rst:180
#: library/xml.dom.minidom.rst:199
msgid "The *standalone* parameter was added."
msgstr ""
msgstr "le paramètre *standalone* a été ajouté."
#: library/xml.dom.minidom.rst:164
msgid ""
"Return a string or byte string containing the XML represented by the DOM "
"node."
msgstr ""
"Renvoie une chaîne ou une chaîne d'octets contenant le XML représenté par le "
"nœud DOM."
#: library/xml.dom.minidom.rst:167
msgid ""
@ -213,16 +293,25 @@ msgid ""
"encoding. Encoding this string in an encoding other than UTF-8 is likely "
"incorrect, since UTF-8 is the default encoding of XML."
msgstr ""
"Avec un argument explicite *encoding* [1]_, le résultat est une chaîne "
"d'octets dans l'encodage spécifié. Sans argument *encoding*, le résultat est "
"une chaîne Unicode et la déclaration XML dans la chaîne résultante ne "
"spécifie pas d'encodage. Encoder cette chaîne dans un codage autre que UTF-8 "
"est probablement incorrect, puisque UTF-8 est l'encodage par défaut de XML."
#: library/xml.dom.minidom.rst:174 library/xml.dom.minidom.rst:193
msgid "The *standalone* argument behaves exactly as in :meth:`writexml`."
msgstr ""
"L'argument *standalone* se comporte exactement comme dans :meth:`writexml`."
# suit un :
#: library/xml.dom.minidom.rst:176
msgid ""
"The :meth:`toxml` method now preserves the attribute order specified by the "
"user."
msgstr ""
"la méthode :meth:`toxml` préserve désormais l'ordre des attributs spécifié "
"par l'utilisateur."
#: library/xml.dom.minidom.rst:186
msgid ""
@ -230,22 +319,31 @@ msgid ""
"indentation string and defaults to a tabulator; *newl* specifies the string "
"emitted at the end of each line and defaults to ``\\n``."
msgstr ""
"Renvoie une version du document agréablement mise en forme. *indent* "
"spécifie la chaîne d'indentation et est par défaut une tabulation ; *newl* "
"spécifie la chaîne émise à la fin de chaque ligne et la valeur par défaut "
"est ``\\n``."
#: library/xml.dom.minidom.rst:190
msgid ""
"The *encoding* argument behaves like the corresponding argument of :meth:"
"`toxml`."
msgstr ""
"L'argument *encoding* se comporte comme l'argument correspondant de :meth:"
"`toxml`."
# suit un :
#: library/xml.dom.minidom.rst:195
msgid ""
"The :meth:`toprettyxml` method now preserves the attribute order specified "
"by the user."
msgstr ""
"la méthode :meth:`toprettyxml` préserve désormais l'ordre des attributs "
"spécifié par l'utilisateur."
#: library/xml.dom.minidom.rst:205
msgid "DOM Example"
msgstr ""
msgstr "Exemple DOM"
#: library/xml.dom.minidom.rst:207
msgid ""
@ -253,22 +351,30 @@ msgid ""
"this particular case, we do not take much advantage of the flexibility of "
"the DOM."
msgstr ""
"Cet exemple de programme est un exemple assez réaliste de programme simple. "
"Dans ce cas particulier, nous ne profitons pas beaucoup de la flexibilité du "
"DOM."
#: library/xml.dom.minidom.rst:216
msgid "minidom and the DOM standard"
msgstr ""
msgstr "*minidom* et le standard DOM"
#: library/xml.dom.minidom.rst:218
msgid ""
"The :mod:`xml.dom.minidom` module is essentially a DOM 1.0-compatible DOM "
"with some DOM 2 features (primarily namespace features)."
msgstr ""
"Le module :mod:`xml.dom.minidom` est essentiellement une interface vers DOM "
"compatible DOM 1.0 avec certaines fonctionnalités DOM 2 (principalement des "
"fonctionnalités d'espace de noms)."
#: library/xml.dom.minidom.rst:221
msgid ""
"Usage of the DOM interface in Python is straight-forward. The following "
"mapping rules apply:"
msgstr ""
"L'utilisation de l'interface DOM en Python est simple. Les règles de "
"correspondances suivantes s'appliquent :"
#: library/xml.dom.minidom.rst:224
msgid ""
@ -278,6 +384,11 @@ msgid ""
"operations (and attributes) from the base interfaces, plus any new "
"operations."
msgstr ""
"Les interfaces sont accessibles via des objets d'instance. Les applications "
"ne doivent pas instancier les classes elles-mêmes ; elles doivent utiliser "
"les fonctions de création disponibles sur l'objet :class:`Document`. Les "
"interfaces dérivées prennent en charge toutes les opérations (et attributs) "
"des interfaces de base, ainsi que toutes les nouvelles opérations."
#: library/xml.dom.minidom.rst:229
msgid ""
@ -285,6 +396,10 @@ msgid ""
"parameters, the arguments are passed in normal order (from left to right). "
"There are no optional arguments. ``void`` operations return ``None``."
msgstr ""
"Les opérations sont utilisées comme méthodes. Puisque le DOM utilise "
"uniquement les paramètres :keyword:`in`, les arguments sont passés dans "
"l'ordre normal (de gauche à droite). Il n'y a pas d'argument facultatif. Les "
"opérations ``void`` renvoient ``None``."
#: library/xml.dom.minidom.rst:233
msgid ""
@ -293,12 +408,20 @@ msgid ""
"through accessor methods :meth:`_get_foo` and :meth:`_set_foo`. "
"``readonly`` attributes must not be changed; this is not enforced at runtime."
msgstr ""
"Les attributs *IDL* (*Interface Description Language*) correspondent aux "
"attributs d'instance. Pour des raisons de compatibilité avec la "
"correspondance OMG (*Object Management Group*) du langage *IDL* pour Python, "
"un attribut ``foo`` est également accessible via les méthodes d'accès :meth:"
"`_get_foo` et :meth:`_set_foo`. Les attributs ``readonly`` ne doivent pas "
"être modifiés ; ce n'est pas vérifié au moment de l'exécution."
#: library/xml.dom.minidom.rst:238
msgid ""
"The types ``short int``, ``unsigned int``, ``unsigned long long``, and "
"``boolean`` all map to Python integer objects."
msgstr ""
"Les types ``short int``, ``unsigned int``, ``unsigned long long`` et "
"``boolean`` correspondent tous à des objets entiers Python."
#: library/xml.dom.minidom.rst:241
msgid ""
@ -307,6 +430,11 @@ msgid ""
"of type ``DOMString`` may also be ``None`` where allowed to have the IDL "
"``null`` value by the DOM specification from the W3C."
msgstr ""
"Le type ``DOMString`` correspond aux chaînes Python. :mod:`xml.dom.minidom` "
"prend en charge soit les octets, soit les chaînes, et produit normalement "
"des chaînes. Les valeurs de type ``DOMString`` peuvent également être "
"``None`` là où la valeur *IDL* ``null`` est autorisée par la spécification "
"DOM du W3C."
#: library/xml.dom.minidom.rst:246
msgid ""
@ -314,6 +442,9 @@ msgid ""
"``xml.dom.minidom.Node.PROCESSING_INSTRUCTION_NODE``); they must not be "
"changed."
msgstr ""
"Les déclarations ``const`` correspondent aux variables dans leur portée "
"respective (par exemple ``xml.dom.minidom.Node."
"PROCESSING_INSTRUCTION_NODE``) ; elles ne doivent pas être modifiées."
#: library/xml.dom.minidom.rst:249
msgid ""
@ -321,6 +452,9 @@ msgid ""
"Instead, :mod:`xml.dom.minidom` uses standard Python exceptions such as :exc:"
"`TypeError` and :exc:`AttributeError`."
msgstr ""
"``DOMException`` n'est actuellement pas pris en charge dans :mod:`xml.dom."
"minidom`. En lieu et place, :mod:`xml.dom.minidom` utilise des exceptions "
"Python standard telles que :exc:`TypeError` et :exc:`AttributeError`."
#: library/xml.dom.minidom.rst:253
msgid ""
@ -330,11 +464,18 @@ msgid ""
"are, however, much more \"Pythonic\" than the interface defined in the W3C "
"recommendations."
msgstr ""
"Les objets :class:`NodeList` sont implémentés à l'aide du type de liste "
"natif de Python. Ces objets fournissent l'interface définie dans la "
"spécification DOM, mais avec les versions antérieures de Python, ils ne "
"prennent pas en charge l'API officielle. C'est cependant bien plus "
 Pythonique » que linterface définie dans les recommandations du W3C."
#: library/xml.dom.minidom.rst:259
msgid ""
"The following interfaces have no implementation in :mod:`xml.dom.minidom`:"
msgstr ""
"Les interfaces suivantes n'ont aucune implémentation dans :mod:`xml.dom."
"minidom` :"
#: library/xml.dom.minidom.rst:261
msgid ":class:`DOMTimeStamp`"
@ -349,6 +490,9 @@ msgid ""
"Most of these reflect information in the XML document that is not of general "
"utility to most DOM users."
msgstr ""
"La plupart d'entre elles reflètent des informations contenues dans le "
"document XML qui ne sont pas d'utilité générale pour la plupart des "
"utilisateurs du DOM."
#: library/xml.dom.minidom.rst:269
msgid "Footnotes"
@ -363,3 +507,9 @@ msgid ""
"EncodingDecl and https://www.iana.org/assignments/character-sets/character-"
"sets.xhtml."
msgstr ""
"Le nom de codage inclus dans la sortie XML doit être conforme aux normes "
"appropriées. Par exemple, ``\"UTF-8\"`` est valide, mais ``\"UTF8\"`` ne "
"l'est pas dans la déclaration d'un document XML, même si Python l'accepte "
"comme nom de codage. Voir https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-"
"EncodingDecl et https://www.iana.org/assignments/character-sets/character-"
"sets.xhtml."

View File

@ -6,23 +6,23 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2024-03-23 16:23+0100\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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.2.2\n"
#: library/xml.dom.pulldom.rst:2
#, fuzzy
msgid ":mod:`xml.dom.pulldom` --- Support for building partial DOM trees"
msgstr ""
":mod:`xml.dom.pulldom`: gestion de la construction partiel des arbres DOM"
":mod:`xml.dom.pulldom` — gestion de la construction partielle des arbres DOM"
#: library/xml.dom.pulldom.rst:9
msgid "**Source code:** :source:`Lib/xml/dom/pulldom.py`"
msgstr ""
msgstr "**Code source :** :source:`Lib/xml/dom/pulldom.py`"
#: library/xml.dom.pulldom.rst:13
msgid ""
@ -35,24 +35,38 @@ msgid ""
"over those events until either processing is finished or an error condition "
"occurs."
msgstr ""
"Le module :mod:`xml.dom.pulldom` fournit un « analyseur à flux tiré » auquel "
"on peut également demander de produire des fragments du document accessibles "
"via le DOM si nécessaire. Le concept de base consiste à extraire des "
 événements » d'un flux XML entrant et à les traiter. Contrairement à *SAX* "
"qui utilise également un modèle de traitement basé sur les événements avec "
"des rappels, l'utilisateur d'un analyseur à flux tiré est responsable de "
"l'extraction explicite des événements du flux, en parcourant ces événements "
"en boucle jusqu'à ce que le traitement soit terminé ou qu'une condition "
"d'erreur se produise."
# suit un :
#: library/xml.dom.pulldom.rst:24
#, fuzzy
msgid ""
"The :mod:`xml.dom.pulldom` module is not secure against maliciously "
"constructed data. If you need to parse untrusted or unauthenticated data "
"see :ref:`xml-vulnerabilities`."
msgstr ""
"Le module :mod:`xml.sax` n'est pas sécurisé contre les données construites "
"de façon malveillante. Si vous avez besoin d'analyser des données non "
"sécurisées ou non authentifiées, voir :ref:`xml-vulnerabilities`."
"le module :mod:`xml.dom.pulldom` n'est pas sécurisé contre les données "
"construites de façon malveillante. Si vous avez besoin d'analyser des "
"données non sécurisées ou non authentifiées, référez-vous à :ref:`xml-"
"vulnerabilities`."
# suit un :
#: library/xml.dom.pulldom.rst:30
msgid ""
"The SAX parser no longer processes general external entities by default to "
"increase security by default. To enable processing of external entities, "
"pass a custom parser instance in::"
msgstr ""
"l'analyseur *SAX* ne traite plus les entités externes générales par défaut "
"pour augmenter la sécurité par défaut. Pour activer le traitement des "
"entités externes, transmettez une instance d'analyseur personnalisée à ::"
#: library/xml.dom.pulldom.rst:43
msgid "Example::"
@ -60,7 +74,7 @@ msgstr "Exemple ::"
#: library/xml.dom.pulldom.rst:54
msgid "``event`` is a constant and can be one of:"
msgstr ""
msgstr "``event`` est une constante parmi les éléments suivants :"
#: library/xml.dom.pulldom.rst:56
msgid ":data:`START_ELEMENT`"
@ -99,6 +113,8 @@ msgid ""
"``node`` is an object of type :class:`xml.dom.minidom.Document`, :class:`xml."
"dom.minidom.Element` or :class:`xml.dom.minidom.Text`."
msgstr ""
"``node`` est un objet de type :class:`xml.dom.minidom.Document`, :class:`xml."
"dom.minidom.Element` ou :class:`xml.dom.minidom.Text`."
#: library/xml.dom.pulldom.rst:68
msgid ""
@ -111,10 +127,19 @@ msgid ""
"in the document at any given point) or to make use of the :func:"
"`DOMEventStream.expandNode` method and switch to DOM-related processing."
msgstr ""
"Puisque le document est traité comme un flux « plat » dévénements, "
 larborescence » du document est implicitement parcourue et les éléments "
"souhaités sont trouvés quelle que soit leur profondeur dans larborescence. "
"En d'autres termes, il n'est pas nécessaire de prendre en compte les "
"problèmes hiérarchiques tels que la recherche récursive des nœuds du "
"document, même dans le cas où le contexte des éléments est important, et où "
"il faudrait soit maintenir un état lié au contexte (c'est-à-dire se souvenir "
"où l'on se trouve dans le document à un moment donné), soit utiliser la "
"méthode :func:`DOMEventStream.expandNode` et passer au traitement lié du DOM."
#: library/xml.dom.pulldom.rst:85
msgid "Subclass of :class:`xml.sax.handler.ContentHandler`."
msgstr ""
msgstr "Sous-classe de :class:`xml.sax.handler.ContentHandler`."
#: library/xml.dom.pulldom.rst:90
msgid ""
@ -125,35 +150,47 @@ msgid ""
"other parser configuration (like setting an entity resolver) must have been "
"done in advance."
msgstr ""
"Renvoie un :class:`DOMEventStream` à partir de l'entrée donnée. "
"*stream_or_string* peut être soit un nom de fichier, soit un objet simili-"
"fichier. *parser*, s'il est donné, doit être un objet :class:`~xml.sax."
"xmlreader.XMLReader`. Cette fonction modifie le gestionnaire de documents de "
"l'analyseur et active la prise en charge des espaces de noms ; les autres "
"configurations de l'analyseur (comme la définition d'un résolveur d'entité) "
"doivent avoir été effectuées à l'avance."
#: library/xml.dom.pulldom.rst:97
msgid ""
"If you have XML in a string, you can use the :func:`parseString` function "
"instead:"
msgstr ""
"Si vous avez du XML dans une chaîne, vous pouvez utiliser la fonction :func:"
"`parseString` à la place :"
#: library/xml.dom.pulldom.rst:101
msgid ""
"Return a :class:`DOMEventStream` that represents the (Unicode) *string*."
msgstr ""
msgstr "Renvoie un :class:`DOMEventStream` qui représente *string* (Unicode)."
#: library/xml.dom.pulldom.rst:105
msgid "Default value for the *bufsize* parameter to :func:`parse`."
msgstr ""
msgstr "Valeur par défaut du paramètre *bufsize* de :func:`parse`."
#: library/xml.dom.pulldom.rst:107
msgid ""
"The value of this variable can be changed before calling :func:`parse` and "
"the new value will take effect."
msgstr ""
"La valeur de cette variable peut être modifiée avant d'appeler :func:`parse` "
"et la nouvelle valeur prendra effet."
#: library/xml.dom.pulldom.rst:113
msgid "DOMEventStream Objects"
msgstr ""
msgstr "Objets *DOMEventStream*"
# suit un :
#: library/xml.dom.pulldom.rst:117
msgid "Support for :meth:`__getitem__` method has been removed."
msgstr ""
msgstr "la méthode :meth:`__getitem__` n'est plus prise en charge."
#: library/xml.dom.pulldom.rst:122
msgid ""
@ -164,7 +201,14 @@ msgid ""
"`CHARACTERS`. The current node does not contain information about its "
"children, unless :func:`expandNode` is called."
msgstr ""
"Renvoie un *n*-uplet contenant *event* et le *node* actuel sous la forme "
"d'un :class:`xml.dom.minidom.Document` si l'événement est égal à :data:"
"`START_DOCUMENT`, un :class:`xml.dom.minidom.Element` si l'événement est "
"égal à :data:`START_ELEMENT` ou :data:`END_ELEMENT`, ou un :class:`xml.dom."
"minidom.Text` si l'événement est égal à :data:`CHARACTERS`. Le nœud actuel "
"ne contient pas d'informations sur ses enfants, sauf si :func:`expandNode` "
"est appelé."
#: library/xml.dom.pulldom.rst:132
msgid "Expands all children of *node* into *node*. Example::"
msgstr ""
msgstr "Développe tous les enfants de *node* dans *node*. Par exemple ::"

File diff suppressed because it is too large Load Diff

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-23 14:38+0200\n"
"PO-Revision-Date: 2021-04-27 18:40+0200\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"PO-Revision-Date: 2023-09-02 17:24+0200\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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 2.2\n"
"X-Generator: Poedit 3.2.2\n"
#: library/xml.rst:4
msgid "XML Processing Modules"
@ -30,15 +30,17 @@ msgstr ""
"Les interfaces de Python de traitement de XML sont regroupées dans le paquet "
"``xml``."
# suit un :
#: library/xml.rst:20
msgid ""
"The XML modules are not secure against erroneous or maliciously constructed "
"data. If you need to parse untrusted or unauthenticated data see the :ref:"
"`xml-vulnerabilities` and :ref:`defusedxml-package` sections."
msgstr ""
"Les modules XML ne sont pas protégés contre les données mal construites ou "
"malicieuses. Si vous devez parcourir des données douteuses non authentifiées "
"voir les sections :ref:`xml-vulnerabilities` et :ref:`defusedxml-package`."
"les modules XML ne sont pas protégés contre les données mal construites ou "
"malveillantes. Si vous devez parcourir des données douteuses non "
"authentifiées, lisez les sections :ref:`xml-vulnerabilities` et :ref:"
"`defusedxml-package`."
#: library/xml.rst:25
msgid ""
@ -48,17 +50,17 @@ msgid ""
"be available."
msgstr ""
"Il est important de noter que les modules dans le paquet :mod:`xml` "
"nécessitent qu'au moins un analyseur compatible SAX soit disponible. "
"L'analyseur Expat est inclus dans Python, ainsi le module :mod:`xml.parsers."
"expat` est toujours disponible."
"nécessitent qu'au moins un analyseur compatible *SAX* soit disponible. "
"L'analyseur *Expat* est inclus dans Python, ainsi le module :mod:`xml."
"parsers.expat` est toujours disponible."
#: library/xml.rst:30
msgid ""
"The documentation for the :mod:`xml.dom` and :mod:`xml.sax` packages are the "
"definition of the Python bindings for the DOM and SAX interfaces."
msgstr ""
"La documentation des *bindings* des interfaces DOM et SAX se trouve dans :"
"mod:`xml.dom` et :mod:`xml.sax`."
"La documentation des interfaces vers *DOM* et *SAX* se trouve dans :mod:`xml."
"dom` et :mod:`xml.sax`."
#: library/xml.rst:33
msgid "The XML handling submodules are:"
@ -69,29 +71,29 @@ msgid ""
":mod:`xml.etree.ElementTree`: the ElementTree API, a simple and lightweight "
"XML processor"
msgstr ""
":mod:`xml.etree.ElementTree`: l'API ElementTree, un processeur simple et "
":mod:`xml.etree.ElementTree` : l'API *ElementTree*, un processeur simple et "
"léger"
#: library/xml.rst:40
msgid ":mod:`xml.dom`: the DOM API definition"
msgstr ":mod:`xml.dom`: la définition de l'API DOM"
msgstr ":mod:`xml.dom` : la définition de l'API DOM"
#: library/xml.rst:41
msgid ":mod:`xml.dom.minidom`: a minimal DOM implementation"
msgstr ":mod:`xml.dom.minidom`: une implémentation minimale de DOM"
msgstr ":mod:`xml.dom.minidom` : une implémentation minimale de DOM"
#: library/xml.rst:42
msgid ":mod:`xml.dom.pulldom`: support for building partial DOM trees"
msgstr ""
":mod:`xml.dom.pulldom`: gestion de la construction partiel des arbres DOM"
":mod:`xml.dom.pulldom` : gestion de la construction partielle des arbres DOM"
#: library/xml.rst:46
msgid ":mod:`xml.sax`: SAX2 base classes and convenience functions"
msgstr ":mod:`xml.sax`: classes de bases SAX2 base et fonctions utilitaires"
msgstr ":mod:`xml.sax` : classes mères *SAX2* et fonctions utilitaires"
#: library/xml.rst:47
msgid ":mod:`xml.parsers.expat`: the Expat parser binding"
msgstr ":mod:`xml.parsers.expat`: le *binding* de l'analyseur Expat"
msgstr ":mod:`xml.parsers.expat` : l'interface de l'analyseur *Expat*"
#: library/xml.rst:53
msgid "XML vulnerabilities"
@ -105,10 +107,10 @@ msgid ""
"or circumvent firewalls."
msgstr ""
"Les modules de traitement XML ne sont pas sécurisés contre les données "
"construite malicieusement. Un attaquant peut abuser des fonctionnalités XML "
"pour exécuter des attaques par déni de service, accéder des fichiers locaux, "
"générer des connexions réseaux à d'autres machines ou contourner des pare-"
"feux."
"construites malicieusement. Un attaquant peut abuser des fonctionnalités XML "
"pour exécuter des attaques par déni de service, accéder à des fichiers "
"locaux, générer des connexions réseaux à d'autres machines ou contourner des "
"pare-feux."
#: library/xml.rst:60
msgid ""
@ -124,32 +126,31 @@ msgstr "type"
#: library/xml.rst:64
msgid "sax"
msgstr "sax"
msgstr "*sax*"
#: library/xml.rst:64
msgid "etree"
msgstr "etree"
msgstr "*etree*"
#: library/xml.rst:64
msgid "minidom"
msgstr "minidom"
msgstr "*minidom*"
#: library/xml.rst:64
msgid "pulldom"
msgstr "pulldom"
msgstr "*pulldom*"
#: library/xml.rst:64
msgid "xmlrpc"
msgstr "xmlrpc"
msgstr "*xmlrpc*"
#: library/xml.rst:66
msgid "billion laughs"
msgstr "*billion laughs*"
#: library/xml.rst:67
#, fuzzy
msgid "**Vulnerable** (1)"
msgstr "**Vulnérable**"
msgstr "**Vulnérable** (1)"
#: library/xml.rst:67
msgid "quadratic blowup"
@ -160,19 +161,16 @@ msgid "external entity expansion"
msgstr "*external entity expansion*"
#: library/xml.rst:69
#, fuzzy
msgid "Safe (5)"
msgstr "Sûr (4)"
msgstr "Sûr (5)"
#: library/xml.rst:68
#, fuzzy
msgid "Safe (2)"
msgstr "Sûr (4)"
msgstr "Sûr (2)"
#: library/xml.rst:68
#, fuzzy
msgid "Safe (3)"
msgstr "Sûr (4)"
msgstr "Sûr (3)"
#: library/xml.rst:68
msgid "Safe (4)"
@ -201,6 +199,11 @@ msgid ""
"to potential reliance on system-provided libraries. Check :const:`pyexpat."
"EXPAT_VERSION`."
msgstr ""
"*Expat* 2.4.1 et les versions ultérieures ne sont pas vulnérables aux "
"vulnérabilités *billlion laughs* et *quadratic blowup*. Les éléments sont "
"toujours répertoriés comme vulnérables en raison de leur dépendance "
"potentielle à l'égard des bibliothèques fournies par le système. Vérifiez :"
"const:`pyexpat.EXPAT_VERSION`."
#: library/xml.rst:77
msgid ""
@ -215,8 +218,8 @@ msgid ""
":mod:`xml.dom.minidom` doesn't expand external entities and simply returns "
"the unexpanded entity verbatim."
msgstr ""
":mod:`xml.dom.minidom` n'étend pas les entités externe et renvoie simplement "
"le verbatim de l'entité non étendu."
":mod:`xml.dom.minidom` n'étend pas les entités externes et renvoie "
"simplement l'entité mot pour mot (non étendue)."
#: library/xml.rst:81
msgid ":mod:`xmlrpclib` doesn't expand external entities and omits them."
@ -227,8 +230,8 @@ msgid ""
"Since Python 3.7.1, external general entities are no longer processed by "
"default."
msgstr ""
"Depuis Python 3.7.1, les entités générales externes ne sont plus traitées "
"par défaut depuis Python."
"Depuis Python 3.7.1, par défaut les entités générales externes ne sont plus "
"traitées."
#: library/xml.rst:91
msgid "billion laughs / exponential entity expansion"
@ -242,11 +245,11 @@ msgid ""
"string. The exponential expansion results in several gigabytes of text and "
"consumes lots of memory and CPU time."
msgstr ""
"L'attaque `Billion Laughs`_ -- aussi connue comme *exponential entity "
"expansion* -- utilise de multiples niveaux d'entités imbriquées. Chaque "
"L'attaque `Billion Laughs`_ aussi connue comme *exponential entity "
"expansion* utilise de multiples niveaux d'entités imbriquées. Chaque "
"entité se réfère à une autre entité de multiple fois. L'entité finale "
"contiens une chaîne courte. Le résultat de l'expansion exponentielle génère "
"plusieurs gigaoctet de texte et consomme beaucoup de mémoire et de temps "
"contient une chaîne courte. Le résultat de l'expansion exponentielle génère "
"plusieurs gigaoctets de texte et consomme beaucoup de mémoire et de temps "
"processeur."
#: library/xml.rst:98
@ -254,7 +257,6 @@ 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 "
@ -287,9 +289,9 @@ msgid ""
"implications as the external entity expansion issue."
msgstr ""
"Certaines bibliothèques XML comme :mod:`xml.dom.pulldom` de Python récupère "
"les documents de définitions de types (DTD) depuis des emplacements distants "
"ou locaux. La fonctionnalité a des implications similaires que le problème "
"d'extension d'entités externes."
"les documents de définitions de types (*DTD*) depuis des emplacements "
"distants ou locaux. La fonctionnalité a des implications similaires au "
"problème d'extension d'entités externes."
#: library/xml.rst:111
msgid ""
@ -309,8 +311,9 @@ msgid ""
"The documentation for `defusedxml`_ on PyPI has further information about "
"all known attack vectors with examples and references."
msgstr ""
"La documentation de `defusedxml`_ sur PyPI contient plus d'informations sur "
"tous les vecteurs d'attaques connus ainsi que des exemples et des références."
"La documentation de `defusedxml`_ sur *PyPI* contient plus d'informations "
"sur tous les vecteurs d'attaques connus ainsi que des exemples et des "
"références."
#: library/xml.rst:123
msgid "The :mod:`defusedxml` Package"
@ -325,11 +328,12 @@ msgid ""
"documentation on more XML exploits such as XPath injection."
msgstr ""
"`defusedxml`_ est un paquet écrit exclusivement en Python avec des sous-"
"classe modifiées de tous les analyseurs de la *stdlib* XML qui empêche "
"toutes opérations potentiellement malicieuses. L'utilisation de ce paquet "
"est recommandé pour tous serveurs qui analyseraient des donnés XML non "
"fiables. Le paquet inclut également des exemples d'attaques et une "
"documentation plus fournie sur plus d'attaques XML comme *XPath injection*."
"classes modifiées de tous les analyseurs de la bibliothèque standard XML qui "
"empêchent toutes les opérations potentiellement malicieuses. L'utilisation "
"de ce paquet est recommandée pour tout serveur qui analyse des données XML "
"non fiables. Le paquet inclut également des exemples d'attaques et une "
"documentation plus fournie sur davantage d'attaques XML comme *XPath "
"injection*."
#~ msgid "Safe (1)"
#~ msgstr "Sûr (1)"

View File

@ -6,21 +6,22 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2024-03-23 16:49+0100\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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.2.2\n"
#: library/xml.sax.handler.rst:2
msgid ":mod:`xml.sax.handler` --- Base classes for SAX handlers"
msgstr ""
msgstr ":mod:`xml.sax.handler` — Classes mères pour les gestionnaires *SAX*"
#: library/xml.sax.handler.rst:10
msgid "**Source code:** :source:`Lib/xml/sax/handler.py`"
msgstr ""
msgstr "**Code source :** :source:`Lib/xml/sax/handler.py`"
#: library/xml.sax.handler.rst:14
msgid ""
@ -32,6 +33,14 @@ msgid ""
"module :mod:`xml.sax.handler`, so that all methods get default "
"implementations."
msgstr ""
"L'API *SAX* définit cinq types de gestionnaires : les gestionnaires de "
"contenu, les gestionnaires de *DTD*, les gestionnaires d'erreurs, les "
"résolveurs d'entités et les gestionnaires lexicaux. Les applications n'ont "
"normalement besoin d'implémenter que les interfaces dont les événements les "
"intéressent ; elles peuvent implémenter les interfaces dans un seul objet ou "
"dans plusieurs objets. Les implémentations de gestionnaires doivent hériter "
"des classes mères fournies dans le module :mod:`xml.sax.handler`, afin que "
"toutes les méthodes aient des implémentations par défaut."
#: library/xml.sax.handler.rst:24
msgid ""
@ -39,16 +48,21 @@ msgid ""
"applications. The order of events in this interface mirrors the order of the "
"information in the document."
msgstr ""
"Il s'agit de l'interface de rappel principale de *SAX* et de la plus "
"importante pour les applications. L'ordre des événements dans cette "
"interface reflète l'ordre des informations dans le document."
#: library/xml.sax.handler.rst:31
msgid "Handle DTD events."
msgstr ""
msgstr "Gestionnaires d'évènements *DTD*"
#: library/xml.sax.handler.rst:33
msgid ""
"This interface specifies only those DTD events required for basic parsing "
"(unparsed entities and attributes)."
msgstr ""
"Cette interface concerne uniquement les événements *DTD* requis pour une "
"analyse basique (entités et attributs non analysés)."
#: library/xml.sax.handler.rst:39
msgid ""
@ -56,6 +70,10 @@ msgid ""
"this interface, then register the object with your Parser, the parser will "
"call the method in your object to resolve all external entities."
msgstr ""
"Interface de base pour résoudre les entités. Si vous créez un objet "
"implémentant cette interface, puis enregistrez l'objet auprès de votre "
"analyseur, l'analyseur appellera la méthode de votre objet pour résoudre "
"toutes les entités externes."
#: library/xml.sax.handler.rst:46
msgid ""
@ -63,186 +81,227 @@ msgid ""
"application. The methods of this object control whether errors are "
"immediately converted to exceptions or are handled in some other way."
msgstr ""
"Interface utilisée par l'analyseur pour présenter des messages d'erreur et "
"d'avertissement à l'application. Les méthodes de cet objet permettent de "
"choisir si les erreurs doivent être immédiatement converties en exceptions "
"ou si elles doivent être traitées d'une autre manière."
#: library/xml.sax.handler.rst:53
msgid ""
"Interface used by the parser to represent low frequency events which may not "
"be of interest to many applications."
msgstr ""
"Interface utilisée par l'analyseur pour représenter des événements rares qui "
"n'intéressent que peu d'applications."
#: library/xml.sax.handler.rst:56
msgid ""
"In addition to these classes, :mod:`xml.sax.handler` provides symbolic "
"constants for the feature and property names."
msgstr ""
"En plus de ces classes, :mod:`xml.sax.handler` fournit des constantes "
"symboliques pour les noms de fonctionnalités et de propriétés."
#: library/xml.sax.handler.rst:62
msgid "value: ``\"http://xml.org/sax/features/namespaces\"``"
msgstr ""
msgstr "valeur : ``\"http://xml.org/sax/features/namespaces\"``"
#: library/xml.sax.handler.rst:63
msgid "true: Perform Namespace processing."
msgstr ""
msgstr "vrai : effectue le traitement de l'espace de noms."
#: library/xml.sax.handler.rst:65
msgid ""
"false: Optionally do not perform Namespace processing (implies namespace-"
"prefixes; default)."
msgstr ""
"faux : n'effectue pas le traitement des espaces de noms (implique *namespace-"
"prefixes* ; valeur par défaut)."
#: library/xml.sax.handler.rst:76 library/xml.sax.handler.rst:94
#: library/xml.sax.handler.rst:102 library/xml.sax.handler.rst:112
#: library/xml.sax.handler.rst:144
msgid "access: (parsing) read-only; (not parsing) read/write"
msgstr ""
"accès : (lors de l'analyse) en lecture seule ; (hors de l'analyse) lecture-"
"écriture"
#: library/xml.sax.handler.rst:71
msgid "value: ``\"http://xml.org/sax/features/namespace-prefixes\"``"
msgstr ""
msgstr "valeur : ``\"http://xml.org/sax/features/namespace-prefixes\"``"
#: library/xml.sax.handler.rst:73
msgid ""
"true: Report the original prefixed names and attributes used for Namespace "
"declarations."
msgstr ""
"vrai : renvoie les noms et attributs avec les préfixes originaux utilisés "
"dans les déclarations d'espaces de noms."
#: library/xml.sax.handler.rst:75
msgid ""
"false: Do not report attributes used for Namespace declarations, and "
"optionally do not report original prefixed names (default)."
msgstr ""
"faux : ne renvoie pas les attributs utilisés pour les déclarations d'espaces "
"de noms et, éventuellement, ne signale pas les noms avec les préfixes "
"originaux (par défaut)."
#: library/xml.sax.handler.rst:81
msgid "value: ``\"http://xml.org/sax/features/string-interning\"``"
msgstr ""
msgstr "valeur : ``\"http://xml.org/sax/features/string-interning\"``"
#: library/xml.sax.handler.rst:83
msgid ""
"true: All element names, prefixes, attribute names, Namespace URIs, and "
"local names are interned using the built-in intern function."
msgstr ""
"vrai : tous les noms d'éléments, préfixes, noms d'attributs, URI d'espace de "
"noms et noms locaux sont rendus internes à l'aide de la fonction native "
"correspondante."
#: library/xml.sax.handler.rst:84
msgid ""
"false: Names are not necessarily interned, although they may be (default)."
msgstr ""
"faux : les noms ne sont pas nécessairement rendus internes, bien qu'ils "
"puissent l'être (par défaut)."
#: library/xml.sax.handler.rst:90
msgid "value: ``\"http://xml.org/sax/features/validation\"``"
msgstr ""
msgstr "valeur : ``\"http://xml.org/sax/features/validation\"``"
#: library/xml.sax.handler.rst:92
msgid ""
"true: Report all validation errors (implies external-general-entities and "
"external-parameter-entities)."
msgstr ""
"vrai : signale toutes les erreurs de validation (implique *external-general-"
"entities* et *external-parameter-entities*)."
#: library/xml.sax.handler.rst:93
msgid "false: Do not report validation errors."
msgstr ""
msgstr "faux : ne signale pas les erreurs de validation."
#: library/xml.sax.handler.rst:99
msgid "value: ``\"http://xml.org/sax/features/external-general-entities\"``"
msgstr ""
msgstr "valeur : ``\"http://xml.org/sax/features/external-general-entities\"``"
#: library/xml.sax.handler.rst:100
msgid "true: Include all external general (text) entities."
msgstr ""
msgstr "vrai : Inclut toutes les entités générales (texte) externes."
#: library/xml.sax.handler.rst:101
msgid "false: Do not include external general entities."
msgstr ""
msgstr "faux : n'inclut pas les entités générales externes."
#: library/xml.sax.handler.rst:107
msgid "value: ``\"http://xml.org/sax/features/external-parameter-entities\"``"
msgstr ""
"valeur : ``\"http://xml.org/sax/features/external-parameter-entities\"``"
#: library/xml.sax.handler.rst:109
msgid ""
"true: Include all external parameter entities, including the external DTD "
"subset."
msgstr ""
"vrai : Inclut toutes les entités de paramètres externes, y compris les sous-"
"ensembles *DTD* externes."
#: library/xml.sax.handler.rst:111
msgid ""
"false: Do not include any external parameter entities, even the external DTD "
"subset."
msgstr ""
"faux : n'inclue aucune entité de paramètre externe, même les sous-ensembles "
"*DTD* externes."
#: library/xml.sax.handler.rst:117
msgid "List of all features."
msgstr ""
msgstr "Liste de toutes les fonctionnalités."
#: library/xml.sax.handler.rst:122
msgid "value: ``\"http://xml.org/sax/properties/lexical-handler\"``"
msgstr ""
msgstr "valeur : ``\"http://xml.org/sax/properties/lexical-handler\"``"
#: library/xml.sax.handler.rst:123
msgid "data type: xml.sax.handler.LexicalHandler (not supported in Python 2)"
msgstr ""
"type de données : xml.sax.handler.LexicalHandler (non pris en charge dans "
"Python 2)"
#: library/xml.sax.handler.rst:125
msgid ""
"description: An optional extension handler for lexical events like comments."
msgstr ""
"description : gestionnaire d'extension facultatif pour les événements "
"lexicaux tels que les commentaires."
#: library/xml.sax.handler.rst:126 library/xml.sax.handler.rst:135
msgid "access: read/write"
msgstr ""
msgstr "accès : lecture-écriture"
#: library/xml.sax.handler.rst:131
msgid "value: ``\"http://xml.org/sax/properties/declaration-handler\"``"
msgstr ""
msgstr "valeur : ``\"http://xml.org/sax/properties/declaration-handler\"``"
#: library/xml.sax.handler.rst:132
msgid "data type: xml.sax.sax2lib.DeclHandler (not supported in Python 2)"
msgstr ""
"type de données : xml.sax.sax2lib.DeclHandler (non pris en charge dans "
"Python 2)"
#: library/xml.sax.handler.rst:134
msgid ""
"description: An optional extension handler for DTD-related events other than "
"notations and unparsed entities."
msgstr ""
"description : gestionnaire d'extension facultatif pour les événements liés à "
"la *DTD* autres que les notations et les entités non analysées."
#: library/xml.sax.handler.rst:140
msgid "value: ``\"http://xml.org/sax/properties/dom-node\"``"
msgstr ""
msgstr "valeur : ``\"http://xml.org/sax/properties/dom-node\"``"
#: library/xml.sax.handler.rst:141
msgid "data type: org.w3c.dom.Node (not supported in Python 2)"
msgstr ""
msgstr "type de données : org.w3c.dom.Node (non pris en charge dans Python 2)"
#: library/xml.sax.handler.rst:143
msgid ""
"description: When parsing, the current DOM node being visited if this is a "
"DOM iterator; when not parsing, the root DOM node for iteration."
msgstr ""
"description : lors de l'analyse, le nœud DOM actuel visité s'il s'agit d'un "
"itérateur DOM ; hors de l'analyse, le nœud racine du DOM pour l'itération."
#: library/xml.sax.handler.rst:149
msgid "value: ``\"http://xml.org/sax/properties/xml-string\"``"
msgstr ""
msgstr "valeur : ``\"http://xml.org/sax/properties/xml-string\"``"
#: library/xml.sax.handler.rst:150
msgid "data type: Bytes"
msgstr ""
msgstr "type de données : octets"
#: library/xml.sax.handler.rst:152
msgid ""
"description: The literal string of characters that was the source for the "
"current event."
msgstr ""
"description : chaîne littérale de caractères qui était la source de "
"l'événement en cours."
#: library/xml.sax.handler.rst:153
msgid "access: read-only"
msgstr ""
msgstr "accès : lecture seule"
#: library/xml.sax.handler.rst:158
msgid "List of all known property names."
msgstr ""
msgstr "Liste de tous les noms de propriétés connus."
#: library/xml.sax.handler.rst:164
msgid "ContentHandler Objects"
msgstr ""
msgstr "Objets *ContentHandler*"
#: library/xml.sax.handler.rst:166
msgid ""
@ -250,12 +309,17 @@ msgid ""
"application. The following methods are called by the parser on the "
"appropriate events in the input document:"
msgstr ""
"Les utilisateurs doivent sous-classer :class:`ContentHandler` dans leur "
"application. Les méthodes suivantes sont appelées par l'analyseur pour "
"notifier les événements appropriés dans le document d'entrée :"
#: library/xml.sax.handler.rst:173
msgid ""
"Called by the parser to give the application a locator for locating the "
"origin of document events."
msgstr ""
"Appelé par l'analyseur pour donner à l'application un localisateur "
"permettant de localiser l'origine des événements du document."
#: library/xml.sax.handler.rst:176
msgid ""
@ -264,6 +328,10 @@ msgid ""
"application by invoking this method before invoking any of the other methods "
"in the DocumentHandler interface."
msgstr ""
"Les analyseurs *SAX* sont fortement encouragés (bien que ce ne soit pas "
"absolument obligatoire) à fournir un localisateur : s'ils le font, ils "
"doivent fournir le localisateur à l'application en appelant cette méthode "
"avant d'invoquer l'une des autres méthodes de l'interface *DocumentHandler*."
#: library/xml.sax.handler.rst:181
msgid ""
@ -274,6 +342,13 @@ msgid ""
"business rules). The information returned by the locator is probably not "
"sufficient for use with a search engine."
msgstr ""
"Le localisateur permet à l'application de déterminer la position finale de "
"tout événement lié au document, même si l'analyseur ne signale pas d'erreur. "
"En règle générale, l'application utilise ces informations pour signaler ses "
"propres erreurs (telles que le contenu d'un champ texte qui ne correspond "
"pas aux règles métier d'une application). Les informations renvoyées par le "
"localisateur ne sont probablement pas suffisantes pour être utilisées avec "
"un moteur de recherche."
#: library/xml.sax.handler.rst:188
msgid ""
@ -281,20 +356,26 @@ msgid ""
"invocation of the events in this interface. The application should not "
"attempt to use it at any other time."
msgstr ""
"Notez que le localisateur renvoie des informations correctes pendant la "
"durée de l'invocation des événements dans cette interface. L'application ne "
"doit pas tenter de l'utiliser à un autre moment."
#: library/xml.sax.handler.rst:195
msgid "Receive notification of the beginning of a document."
msgstr ""
msgstr "Reçoit la notification correspondant au début du document."
#: library/xml.sax.handler.rst:197
msgid ""
"The SAX parser will invoke this method only once, before any other methods "
"in this interface or in DTDHandler (except for :meth:`setDocumentLocator`)."
msgstr ""
"L'analyseur *SAX* invoque cette méthode une seule fois, avant toute autre "
"méthode dans cette interface ou dans *DTDHandler* (sauf pour :meth:"
"`setDocumentLocator`)."
#: library/xml.sax.handler.rst:203
msgid "Receive notification of the end of a document."
msgstr ""
msgstr "Reçoit la notification correspondant à la fin du document."
#: library/xml.sax.handler.rst:205
msgid ""
@ -303,10 +384,14 @@ msgid ""
"until it has either abandoned parsing (because of an unrecoverable error) or "
"reached the end of input."
msgstr ""
"L'analyseur *SAX* n'invoque cette méthode qu'une seule fois et c'est la "
"dernière méthode invoquée lors de l'analyse. L'analyseur ne doit pas "
"invoquer cette méthode tant qu'il n'a pas abandonné l'analyse (en raison "
"d'une erreur irrécupérable) ou atteint la fin de l'entrée."
#: library/xml.sax.handler.rst:213
msgid "Begin the scope of a prefix-URI Namespace mapping."
msgstr ""
msgstr "Commence la portée dune correspondance despace de noms préfixe-URI."
#: library/xml.sax.handler.rst:215
msgid ""
@ -315,6 +400,10 @@ msgid ""
"element and attribute names when the ``feature_namespaces`` feature is "
"enabled (the default)."
msgstr ""
"Les informations de cet événement ne sont pas nécessaires au traitement "
"normal des espaces de noms : le lecteur XML *SAX* remplace automatiquement "
"les préfixes des noms d'éléments et d'attributs lorsque la fonctionnalité "
"``feature_namespaces`` est activée (la valeur par défaut)."
#: library/xml.sax.handler.rst:220
msgid ""
@ -324,6 +413,12 @@ msgid ""
"events supply the information to the application to expand prefixes in those "
"contexts itself, if necessary."
msgstr ""
"Il existe cependant des cas où les applications doivent utiliser des "
"préfixes dans des champs textes ou dans les valeurs d'attribut, où ils ne "
"peuvent pas être développés automatiquement en toute sécurité ; les "
"événements :meth:`startPrefixMapping` et :meth:`endPrefixMapping` "
"fournissent les informations à l'application pour développer elle-même les "
"préfixes dans ces contextes, si nécessaire."
#: library/xml.sax.handler.rst:228
msgid ""
@ -334,10 +429,16 @@ msgid ""
"after the corresponding :meth:`endElement` event, but their order is not "
"guaranteed."
msgstr ""
"Notez qu'il n'est pas garanti que les événements :meth:`startPrefixMapping` "
"et :meth:`endPrefixMapping` soient correctement imbriqués les uns par "
"rapport aux autres : tout événement :meth:`startPrefixMapping` se produit "
"avant l'événement :meth:`startElement` correspondant, et tout événement :"
"meth:`endPrefixMapping` se produit après l'événement :meth:`endElement` "
"correspondant, mais leur ordre n'est pas garanti."
#: library/xml.sax.handler.rst:238
msgid "End the scope of a prefix-URI mapping."
msgstr ""
msgstr "Termine la portée dune correspondance préfixe-URI."
#: library/xml.sax.handler.rst:240
msgid ""
@ -345,10 +446,13 @@ msgid ""
"after the corresponding :meth:`endElement` event, but the order of :meth:"
"`endPrefixMapping` events is not otherwise guaranteed."
msgstr ""
"Voir :meth:`startPrefixMapping` pour plus de détails. Cet événement se "
"produit toujours après l'événement :meth:`endElement` correspondant, mais "
"l'ordre des événements :meth:`endPrefixMapping` n'est pas garanti entre eux."
#: library/xml.sax.handler.rst:247
msgid "Signals the start of an element in non-namespace mode."
msgstr ""
msgstr "Signale le début dun élément en mode sans espaces de noms."
#: library/xml.sax.handler.rst:249
msgid ""
@ -360,20 +464,29 @@ msgid ""
"a copy of the attributes. To keep a copy of the attributes, use the :meth:"
"`copy` method of the *attrs* object."
msgstr ""
"Le paramètre *name* contient le nom brut XML 1.0 du type d'élément sous "
"forme de chaîne et le paramètre *attrs* contient un objet de l'interface :"
"class:`~xml.sax.xmlreader.Attributes` (voir :ref:`attributes-objects`) "
"contenant les attributs de l'élément. L'objet passé comme *attrs* peut être "
"réutilisé par l'analyseur ; conserver une référence à celui-ci nest pas un "
"moyen fiable de conserver une copie des attributs. Pour conserver une copie "
"des attributs, utilisez la méthode :meth:`copy` de l'objet *attrs*."
#: library/xml.sax.handler.rst:261
msgid "Signals the end of an element in non-namespace mode."
msgstr ""
msgstr "Signale la fin d'un élément en mode sans espaces de noms."
#: library/xml.sax.handler.rst:263
msgid ""
"The *name* parameter contains the name of the element type, just as with "
"the :meth:`startElement` event."
msgstr ""
"Le paramètre *name* contient le nom du type d'élément, tout comme pour "
"l'événement :meth:`startElement`."
#: library/xml.sax.handler.rst:269
msgid "Signals the start of an element in namespace mode."
msgstr ""
msgstr "Signale le début dun élément en mode avec espaces de noms."
#: library/xml.sax.handler.rst:271
msgid ""
@ -388,26 +501,40 @@ msgid ""
"attributes. To keep a copy of the attributes, use the :meth:`copy` method "
"of the *attrs* object."
msgstr ""
"Le paramètre *name* contient le nom du type d'élément sous forme de *n*-"
"uplet ``(uri, localname)``, le paramètre *qname* contient le nom XML 1.0 "
"brut utilisé dans le document source et le paramètre *attrs* contient une "
"instance de l'interface :class:`~xml.sax.xmlreader.AttributesNS` (voir :ref:"
"`attributes-ns-objects`) contenant les attributs de l'élément. Si aucun "
"espace de noms n'est associé à l'élément, le composant *uri* de *name* est "
"``None``. L'objet passé comme *attrs* peut être réutilisé par l'analyseur ; "
"conserver une référence à celui-ci nest pas un moyen fiable de conserver "
"une copie des attributs. Pour conserver une copie des attributs, utilisez la "
"méthode :meth:`copy` de l'objet *attrs*."
#: library/xml.sax.handler.rst:282
msgid ""
"Parsers may set the *qname* parameter to ``None``, unless the "
"``feature_namespace_prefixes`` feature is activated."
msgstr ""
"Les analyseurs peuvent définir le paramètre *qname* à ``None``, à moins que "
"la fonctionnalité ``feature_namespace_prefixes`` ne soit activée."
#: library/xml.sax.handler.rst:288
msgid "Signals the end of an element in namespace mode."
msgstr ""
msgstr "Signale la fin d'un élément en mode avec espaces de noms."
#: library/xml.sax.handler.rst:290
msgid ""
"The *name* parameter contains the name of the element type, just as with "
"the :meth:`startElementNS` method, likewise the *qname* parameter."
msgstr ""
"Le paramètre *name* contient le nom du type d'élément, tout comme avec la "
"méthode :meth:`startElementNS`, de même que le paramètre *qname*."
#: library/xml.sax.handler.rst:296
msgid "Receive notification of character data."
msgstr ""
msgstr "Reçoit une notification correspondant à des données de type caractère."
#: library/xml.sax.handler.rst:298
msgid ""
@ -417,13 +544,22 @@ msgid ""
"single event must come from the same external entity so that the Locator "
"provides useful information."
msgstr ""
"L'analyseur appelle cette méthode pour signaler chaque morceau de données de "
"caractères. Les analyseurs *SAX* peuvent renvoyer toutes les données de "
"caractères contiguës en un seul morceau ou ils peuvent les diviser en "
"plusieurs morceaux ; cependant, tous les caractères d'un événement doivent "
"provenir de la même entité externe afin que le localisateur fournisse des "
"informations utiles."
#: library/xml.sax.handler.rst:304
msgid ""
"*content* may be a string or bytes instance; the ``expat`` reader module "
"always produces strings."
msgstr ""
"*content* peut être une instance de chaîne ou d'octets ; le module lecteur "
"``expat`` produit toujours des chaînes."
# suit un :
#: library/xml.sax.handler.rst:309
msgid ""
"The earlier SAX 1 interface provided by the Python XML Special Interest "
@ -433,10 +569,19 @@ msgid ""
"interface, use *content* instead of slicing content with the old *offset* "
"and *length* parameters."
msgstr ""
"l'interface *SAX 1* précédente fournie par Python XML utilisait une "
"interface plus proche de Java pour cette méthode. Étant donné que la plupart "
"des analyseurs utilisés à partir de Python ne tiraient pas parti de "
"lancienne interface, la signature la plus simple a été choisie pour la "
"remplacer. Pour convertir l'ancien code vers la nouvelle interface, utilisez "
"*content* au lieu de découper le contenu avec les anciens paramètres "
"*offset* et *length*."
#: library/xml.sax.handler.rst:318
msgid "Receive notification of ignorable whitespace in element content."
msgstr ""
"Reçoit une notification en cas d'espaces pouvant être ignorées dans le "
"contenu de l'élément."
#: library/xml.sax.handler.rst:320
msgid ""
@ -445,6 +590,11 @@ msgid ""
"validating parsers may also use this method if they are capable of parsing "
"and using content models."
msgstr ""
"Les analyseurs validateurs doivent utiliser cette méthode pour signaler "
"chaque morceau d'espaces pouvant être ignorées (voir la recommandation W3C "
"XML 1.0, section 2.10) : les analyseurs non validateurs peuvent également "
"utiliser cette méthode s'ils sont capables d'analyser et d'utiliser des "
"modèles de contenu."
#: library/xml.sax.handler.rst:325
msgid ""
@ -453,10 +603,14 @@ msgid ""
"single event must come from the same external entity, so that the Locator "
"provides useful information."
msgstr ""
"Les analyseurs *SAX* peuvent renvoyer tous les espaces contigües en un seul "
"morceau ou ils peuvent le diviser en plusieurs morceaux ; cependant, tous "
"les caractères d'un événement doivent provenir de la même entité externe, "
"afin que le localisateur fournisse des informations utiles."
#: library/xml.sax.handler.rst:333
msgid "Receive notification of a processing instruction."
msgstr ""
msgstr "Reçoit une notification correspondant à une instruction de traitement."
#: library/xml.sax.handler.rst:335
msgid ""
@ -464,16 +618,22 @@ msgid ""
"found: note that processing instructions may occur before or after the main "
"document element."
msgstr ""
"L'analyseur invoque cette méthode une fois pour chaque instruction de "
"traitement trouvée : notez que les instructions de traitement peuvent "
"survenir avant ou après l'élément principal du document."
#: library/xml.sax.handler.rst:339
msgid ""
"A SAX parser should never report an XML declaration (XML 1.0, section 2.8) "
"or a text declaration (XML 1.0, section 4.3.1) using this method."
msgstr ""
"Un analyseur *SAX* ne doit jamais rapporter une déclaration XML (XML 1.0, "
"section 2.8) ou une déclaration texte (XML 1.0, section 4.3.1) en utilisant "
"cette méthode."
#: library/xml.sax.handler.rst:345
msgid "Receive notification of a skipped entity."
msgstr ""
msgstr "Reçoit une notification correspondant à une entité ignorée."
#: library/xml.sax.handler.rst:347
msgid ""
@ -484,26 +644,32 @@ msgid ""
"values of the ``feature_external_ges`` and the ``feature_external_pes`` "
"properties."
msgstr ""
"L'analyseur invoque cette méthode une fois pour chaque entité ignorée. Les "
"processeurs non validateurs peuvent ignorer les entités s'ils n'ont pas vu "
"les déclarations (parce que, par exemple, l'entité a été déclarée dans un "
"sous-ensemble *DTD* externe). Tous les processeurs peuvent ignorer les "
"entités externes, en fonction des valeurs des propriétés "
"``feature_external_ges`` et ``feature_external_pes``."
#: library/xml.sax.handler.rst:357
msgid "DTDHandler Objects"
msgstr ""
msgstr "Objets *DTDHandler*"
#: library/xml.sax.handler.rst:359
msgid ":class:`DTDHandler` instances provide the following methods:"
msgstr ""
msgstr "Les instances :class:`DTDHandler` fournissent les méthodes suivantes :"
#: library/xml.sax.handler.rst:364
msgid "Handle a notation declaration event."
msgstr ""
msgstr "Gère un événement de déclaration de notation."
#: library/xml.sax.handler.rst:369
msgid "Handle an unparsed entity declaration event."
msgstr ""
msgstr "Gère un événement de déclaration d'entité non analysé."
#: library/xml.sax.handler.rst:375
msgid "EntityResolver Objects"
msgstr ""
msgstr "Objets *EntityResolver*"
#: library/xml.sax.handler.rst:380
msgid ""
@ -511,10 +677,13 @@ msgid ""
"identifier to read from as a string, or an InputSource to read from. The "
"default implementation returns *systemId*."
msgstr ""
"Résout l'identifiant système d'une entité et renvoie soit l'identifiant "
"système à partir duquel lire sous forme de chaîne, soit un *InputSource* à "
"partir duquel lire. L'implémentation par défaut renvoie *systemId*."
#: library/xml.sax.handler.rst:388
msgid "ErrorHandler Objects"
msgstr ""
msgstr "Objets *ErrorHandler*"
#: library/xml.sax.handler.rst:390
msgid ""
@ -528,6 +697,16 @@ msgid ""
"Errors and warnings may be converted to an exception by raising the passed-"
"in exception object."
msgstr ""
"Les objets avec cette interface sont utilisés pour recevoir des informations "
"d'erreur et d'avertissement de :class:`~xml.sax.xmlreader.XMLReader`. Si "
"vous créez un objet qui implémente cette interface, puis enregistrez l'objet "
"avec votre :class:`~xml.sax.xmlreader.XMLReader`, l'analyseur appellera les "
"méthodes de votre objet pour signaler tous les avertissements et erreurs. Il "
"existe trois niveaux d'erreurs disponibles : les avertissements, les erreurs "
"(éventuellement) récupérables et les erreurs irrécupérables. Toutes les "
"méthodes prennent un :exc:`SAXParseException` comme seul paramètre. Les "
"erreurs et les avertissements peuvent être convertis en exception en levant "
"l'objet d'exception transmis."
#: library/xml.sax.handler.rst:403
msgid ""
@ -537,12 +716,19 @@ msgid ""
"to continue may allow additional errors to be discovered in the input "
"document."
msgstr ""
"Appelée lorsque l'analyseur rencontre une erreur récupérable. Si cette "
"méthode ne génère pas d'exception, l'analyse peut continuer, mais "
"l'application ne doit pas attendre d'autres informations concernant le "
"document. Autoriser l'analyseur à continuer peut permettre de découvrir des "
"erreurs supplémentaires dans le document d'entrée."
#: library/xml.sax.handler.rst:411
msgid ""
"Called when the parser encounters an error it cannot recover from; parsing "
"is expected to terminate when this method returns."
msgstr ""
"Appelée lorsque l'analyseur rencontre une erreur irrécupérable ; l'analyse "
"devrait se terminer au retour de cette méthode."
#: library/xml.sax.handler.rst:417
msgid ""
@ -551,14 +737,19 @@ msgid ""
"document information will continue to be passed to the application. Raising "
"an exception in this method will cause parsing to end."
msgstr ""
"Appelée lorsque l'analyseur présente des informations d'avertissement "
"mineures à l'application. L'analyse devrait se poursuivre lorsque cette "
"méthode termine et les informations du document continueront d'être "
"transmises à l'application. La levée dune exception dans cette méthode "
"entraîne la fin de lanalyse."
#: library/xml.sax.handler.rst:426
msgid "LexicalHandler Objects"
msgstr ""
msgstr "Objets *LexicalHandler*"
#: library/xml.sax.handler.rst:427
msgid "Optional SAX2 handler for lexical events."
msgstr ""
msgstr "Gestionnaire *SAX2* facultatif pour les événements lexicaux."
#: library/xml.sax.handler.rst:429
msgid ""
@ -568,39 +759,53 @@ msgid ""
"boundaries for the DTD and for any CDATA sections. The lexical handlers are "
"used in the same manner as content handlers."
msgstr ""
"Ce gestionnaire est utilisé pour obtenir des informations lexicales "
"relatives à un document XML. Les informations lexicales incluent des "
"informations décrivant le codage du document utilisé et les commentaires XML "
"intégrés dans le document, ainsi que les limites des sections pour la *DTD* "
"et pour toutes les sections *CDATA*. Les gestionnaires lexicaux sont "
"utilisés de la même manière que les gestionnaires de contenu."
#: library/xml.sax.handler.rst:435
msgid ""
"Set the LexicalHandler of an XMLReader by using the setProperty method with "
"the property identifier ``'http://xml.org/sax/properties/lexical-handler'``."
msgstr ""
"Définissez le *LexicalHandler* d'un *XMLReader* en utilisant la méthode "
"*setProperty* avec l'identifiant de propriété ``'http://xml.org/sax/"
"properties/lexical-handler'``."
#: library/xml.sax.handler.rst:442
msgid ""
"Reports a comment anywhere in the document (including the DTD and outside "
"the document element)."
msgstr ""
"Signale un commentaire n'importe où dans le document (y compris la *DTD* et "
"en dehors de l'élément de document)."
#: library/xml.sax.handler.rst:447
msgid ""
"Reports the start of the DTD declarations if the document has an associated "
"DTD."
msgstr ""
"Signale le début des déclarations *DTD* si le document a une *DTD* associée."
#: library/xml.sax.handler.rst:452
msgid "Reports the end of DTD declaration."
msgstr ""
msgstr "Signale la fin de la déclaration de la *DTD*."
#: library/xml.sax.handler.rst:456
msgid "Reports the start of a CDATA marked section."
msgstr ""
msgstr "Signale le début dune section marquée *CDATA*."
#: library/xml.sax.handler.rst:458
msgid ""
"The contents of the CDATA marked section will be reported through the "
"characters handler."
msgstr ""
"Le contenu de la section marquée *CDATA* est signalé via le gestionnaire de "
"données de type caractère."
#: library/xml.sax.handler.rst:463
msgid "Reports the end of a CDATA marked section."
msgstr ""
msgstr "Signale la fin dune section marquée *CDATA*."

View File

@ -6,18 +6,18 @@ 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: 2019-11-17 23:11+0100\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"PO-Revision-Date: 2023-09-07 23:01+0200\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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 2.2.4\n"
"X-Generator: Poedit 3.2.2\n"
#: library/xml.sax.rst:2
msgid ":mod:`xml.sax` --- Support for SAX2 parsers"
msgstr ":mod:`xml.sax` — Prise en charge des analyseurs SAX2"
msgstr ":mod:`xml.sax` — Prise en charge des analyseurs *SAX2*"
#: library/xml.sax.rst:11
msgid "**Source code:** :source:`Lib/xml/sax/__init__.py`"
@ -31,20 +31,22 @@ msgid ""
"users of the SAX API."
msgstr ""
"Le paquet :mod:`xml.sax` fournit des modules qui implémentent l'interface "
"*Simple API for XML (SAX)* pour Python. Le paquet en lui même fournit les "
"exceptions SAX et les fonctions les plus utiles qui seront le plus utilisées "
"par les utilisateurs de SAX API."
"*Simple API for XML (SAX)* pour Python. Le paquet en lui-même fournit les "
"exceptions *SAX* et les fonctions les plus utiles qui sont le plus utilisées "
"par les utilisateurs de l'API *SAX*."
# suit un :
#: library/xml.sax.rst:23
msgid ""
"The :mod:`xml.sax` module is not secure against maliciously constructed "
"data. If you need to parse untrusted or unauthenticated data see :ref:`xml-"
"vulnerabilities`."
msgstr ""
"Le module :mod:`xml.sax` n'est pas sécurisé contre les données construites "
"le module :mod:`xml.sax` n'est pas sécurisé contre les données construites "
"de façon malveillante. Si vous avez besoin d'analyser des données non "
"sécurisées ou non authentifiées, voir :ref:`xml-vulnerabilities`."
"sécurisées ou non authentifiées, lisez :ref:`xml-vulnerabilities`."
# suit un :
#: library/xml.sax.rst:29
msgid ""
"The SAX parser no longer processes general external entities by default to "
@ -54,13 +56,13 @@ msgid ""
"xmlreader.XMLReader.setFeature` on the parser object and argument :data:"
"`~xml.sax.handler.feature_external_ges`."
msgstr ""
"L'analyseur SAX ne traite plus les entités externes générales par défaut "
"l'analyseur *SAX* ne traite plus les entités externes générales par défaut "
"pour augmenter la sécurité. Auparavant, l'analyseur créait des connexions "
"réseau pour extraire des fichiers distants ou des fichiers locaux chargés à "
"partir du système de fichiers pour les DTD et les entités. La fonctionnalité "
"peut être activée à nouveau avec la méthode :meth:`~xml.sax.xmlreader."
"XMLReader.setFeature` sur l'objet analyseur et l'argument :data:`~xml.sax."
"handler.feature_external_ges`."
"partir du système de fichiers pour les *DTD* et les entités. La "
"fonctionnalité peut être activée à nouveau avec la méthode :meth:`~xml.sax."
"xmlreader.XMLReader.setFeature` sur l'objet analyseur et l'argument :data:"
"`~xml.sax.handler.feature_external_ges`."
#: library/xml.sax.rst:36
msgid "The convenience functions are:"
@ -74,16 +76,17 @@ msgid ""
"`create_parser`. Modules listed in *parser_list* will be used before "
"modules in the default list of parsers."
msgstr ""
"Crée et renvoie un objet SAX :class:`~xml.sax.xmlreader.XMLReader`. Le "
"premier analyseur trouvé sera utilisé. Si *parser_list* est fourni, il doit "
"Crée et renvoie un objet :class:`~xml.sax.xmlreader.XMLReader` *SAX*. Le "
"premier analyseur trouvé est utilisé. Si *parser_list* est fourni, il doit "
"être un itérable de chaînes de caractères qui nomme des modules qui ont une "
"fonction nommée :func:`create_parser`. Les modules listés dans *parser_list* "
"seront utilisés avant les modules dans la liste par défaut des analyseurs."
"sont utilisés avant les modules dans la liste par défaut des analyseurs."
# suit un :
#: library/xml.sax.rst:47
msgid "The *parser_list* argument can be any iterable, not just a list."
msgstr ""
"L'argument *parser_list* peut être n'importe quel itérable, pas seulement "
"l'argument *parser_list* peut être n'importe quel itérable, pas seulement "
"une liste."
#: library/xml.sax.rst:53
@ -96,13 +99,13 @@ msgid ""
"errors. There is no return value; all work must be done by the *handler* "
"passed in."
msgstr ""
"Crée un analyseur SAX et l'utilise pour analyser un document. Le document "
"Crée un analyseur *SAX* et l'utilise pour analyser un document. Le document "
"transmis comme *filename_or_stream*, peut être un nom de fichier ou un objet "
"fichier. Le paramètre *handler* doit être une instance SAX :class:`~handler."
"ContentHandler`. Si un *error_handler* est donné, il doit être un SAX :class:"
"`~handler.ErrorHandler` ; si omis, :exc:`SAXParseException` sera levé sur "
"toutes les erreurs. Il n'y a pas de valeur de retour, tout le travail doit "
"être fait par le *handler* transmis."
"fichier. Le paramètre *handler* doit être une instance :class:`~handler."
"ContentHandler` *SAX*. Si un *error_handler* est donné, il doit être un :"
"class:`~handler.ErrorHandler` *SAX* ; s'il est omis, une :exc:"
"`SAXParseException` est levée sur toutes les erreurs. Il n'y a pas de valeur "
"de retour, tout le travail doit être fait par le *handler* transmis."
#: library/xml.sax.rst:64
msgid ""
@ -110,13 +113,14 @@ msgid ""
"parameter. *string* must be a :class:`str` instance or a :term:`bytes-like "
"object`."
msgstr ""
"Similaire à :func:`parse`, mais qui analyse à partir d'un espace mémoire "
"Similaire à :func:`parse`, mais analyse à partir d'un espace mémoire "
"*string* reçu en tant que paramètre. *string* doit être une instance :class:"
"`str` ou un objet :term:`bytes-like object`."
"`str` ou un objet :term:`octet-compatible <bytes-like object>`."
# suit un :
#: library/xml.sax.rst:68
msgid "Added support of :class:`str` instances."
msgstr "Ajout du support des instances :class:`str`."
msgstr "ajout de la gestion des instances :class:`str`."
#: library/xml.sax.rst:71
msgid ""
@ -131,9 +135,9 @@ msgid ""
"During parsing, methods on the handler objects are called based on "
"structural and syntactic events from the input data."
msgstr ""
"Une application SAX typique utilise trois types d'objets: les *readers*, les "
"*handlers* et les sources d'entrée. \"Reader\" dans ce contexte est un "
"autre terme pour le analyseur, c'est-à-dire un morceau de code qui lit les "
"Une application *SAX* typique utilise trois types d'objets : les *readers*, "
"les *handlers* et les sources d'entrée. *Reader* dans ce contexte est un "
"autre terme pour « analyseur », c'est-à-dire un morceau de code qui lit les "
"octets ou les caractères de la source d'entrée et qui produit une séquence "
"d'événements. Les événements sont ensuite distribués aux objets du "
"*handler*, c'est-à-dire que le lecteur appelle une méthode sur le *handler*. "
@ -159,17 +163,17 @@ msgid ""
"the handler classes are also available from :mod:`xml.sax`. These "
"interfaces are described below."
msgstr ""
"Pour ces objets, seules les interfaces sont pertinentes; elles ne sont pas "
"Pour ces objets, seules les interfaces sont pertinentes ; elles ne sont pas "
"normalement instanciées par l'application elle-même. Puisque Python n'a pas "
"de notion explicite d'interface, elles sont formellement introduites en tant "
"que classes, mais les applications peuvent utiliser des implémentations qui "
"n'héritent pas des classes fournies. Les interfaces :class:`~xml.sax."
"xmlreader.InputSource`, :class:`~xml.sax.xmlreader.Locator`, :class:`~xml."
"sax.xmlreader.Attributes`, :class:`~xml.sax.xmlreader.AttributesNS`, et :"
"sax.xmlreader.Attributes`, :class:`~xml.sax.xmlreader.AttributesNS` et :"
"class:`~xml.sax.xmlreader.XMLReader` sont définies dans le module :mod:`xml."
"sax.xmlreader`. Les interfaces du *handler* sont définies dans :mod:`xml.sax."
"handler`. Pour plus de commodité, :class:`xml.sax.xmlreader.InputSource` "
"(qui est souvent instancié directement) et les classes du *handler* sont "
"(qui est souvent instanciée directement) et les classes du *handler* sont "
"également disponibles à partir de :mod:`xml.sax`. Ces interfaces sont "
"décrites ci-dessous."
@ -192,8 +196,8 @@ msgid ""
"container for information."
msgstr ""
"Encapsule une erreur ou un avertissement XML. Cette classe peut contenir une "
"erreur de base ou une information d'avertissement soit du analyseur XML ou "
"de l'application: elle peut être sous-classée pour fournir des "
"erreur de base ou une information d'avertissement soit de l'analyseur XML ou "
"de l'application : elle peut être sous-classée pour fournir des "
"fonctionnalités supplémentaires ou pour ajouter une localisation. Noter que "
"même si les *handlers* définis dans l'interface :class:`~xml.sax.handler."
"ErrorHandler` reçoivent des instances de cette exception, ce n'est pas "
@ -207,14 +211,14 @@ msgid ""
"an exception that was caught by the parsing code and is being passed along "
"as information."
msgstr ""
"Quand instancié, *msg* devrait être une description lisible par l'homme de "
"l'erreur. Le paramètre optionnel *exception*, s'il est donné, devrait être "
"Quand elle est instanciée, *msg* doit être une description intelligible de "
"l'erreur. Le paramètre optionnel *exception*, s'il est donné, doit être "
"``None`` ou une exception qui a été interceptée par le code d'analyse et qui "
"est transmise comme information."
#: library/xml.sax.rst:113
msgid "This is the base class for the other SAX exception classes."
msgstr "Ceci est la classe de base pour les autres classes d'exception SAX."
msgstr "Ceci est la classe de base pour les autres classes d'exception *SAX*."
#: library/xml.sax.rst:118
msgid ""
@ -225,10 +229,10 @@ msgid ""
"as the :class:`SAXException` interface."
msgstr ""
"Sous-classe de :exc:`SAXException` élevée sur les erreurs d'analyse. Les "
"instances de cette classe sont passées aux méthodes de l'interface SAX :"
"class:`~xml.sax.handler.ErrorHandler` pour fournir des informations sur "
"l'erreur d'analyse. Cette classe supporte aussi l'interface SAX :class:`~xml."
"sax.xmlreader.Locator` comme l'interface :class:`SAXException`."
"instances de cette classe sont passées aux méthodes de l'interface :class:"
"`~xml.sax.handler.ErrorHandler` *SAX* pour fournir des informations sur "
"l'erreur d'analyse. Cette classe prend aussi en charge l'interface *SAX* :"
"class:`~xml.sax.xmlreader.Locator` comme l'interface :class:`SAXException`."
#: library/xml.sax.rst:128
msgid ""
@ -236,10 +240,10 @@ msgid ""
"XMLReader` is confronted with an unrecognized feature or property. SAX "
"applications and extensions may use this class for similar purposes."
msgstr ""
"Sous-classe de :exc:`SAXException` levée quand un SAX :class:`~xml.sax."
"xmlreader. XMLReader` est confronté à une caractéristique ou à une propriété "
"non reconnue. Les applications et les extensions SAX peuvent utiliser cette "
"classe à des fins similaires."
"Sous-classe de :exc:`SAXException` levée quand un :class:`~xml.sax."
"xmlreader. XMLReader` *SAX* est confronté à une caractéristique ou à une "
"propriété non reconnue. Les applications et les extensions *SAX* peuvent "
"utiliser cette classe à des fins similaires."
#: library/xml.sax.rst:136
msgid ""
@ -248,15 +252,15 @@ msgid ""
"property to a value that the implementation does not support. SAX "
"applications and extensions may use this class for similar purposes."
msgstr ""
"Sous-classe de :exc:`SAXException` levée quand un SAX :class:`~xml.sax."
"xmlreader.XMLReader` est demandé pour activer une fonctionnalité qui n'est "
"pas supportée, ou pour définir une propriété à une valeur que "
"Sous-classe de :exc:`SAXException` levée quand un :class:`~xml.sax.xmlreader."
"XMLReader` *SAX* est demandé pour activer une fonctionnalité qui n'est pas "
"prise en charge, ou pour définir une propriété à une valeur que "
"l'implémentation ne prend pas en charge. Les applications et les extensions "
"SAX peuvent utiliser cette classe à des fins similaires."
"*SAX* peuvent utiliser cette classe à des fins similaires."
#: library/xml.sax.rst:148
msgid "`SAX: The Simple API for XML <http://www.saxproject.org/>`_"
msgstr "`SAX: L'API simple pour XML <http://www.saxproject.org/>`_"
msgstr "`SAX : l'API simple pour XML <http://www.saxproject.org/>`_"
#: library/xml.sax.rst:146
msgid ""
@ -264,7 +268,7 @@ msgid ""
"a Java implementation and online documentation. Links to implementations "
"and historical information are also available."
msgstr ""
"Ce site est le point focal pour la définition de l'API SAX. Il offre une "
"Ce site est le point focal pour la définition de l'API *SAX*. Il offre une "
"implémentation Java et une documentation en ligne. Des liens pour "
"l'implémentation et des informations historiques sont également disponibles."
@ -282,7 +286,7 @@ msgstr "Module :mod:`xml.sax.saxutils`"
#: library/xml.sax.rst:154
msgid "Convenience functions for use in SAX applications."
msgstr "Fonctions pratiques pour une utilisation dans les applications SAX."
msgstr "Fonctions pratiques pour une utilisation dans les applications *SAX*."
#: library/xml.sax.rst:156
msgid "Module :mod:`xml.sax.xmlreader`"
@ -294,19 +298,18 @@ msgstr "Définitions des interfaces pour les objets fournis par l'analyseur."
#: library/xml.sax.rst:163
msgid "SAXException Objects"
msgstr "Les objets SAXException"
msgstr "Les objets *SAXException*"
#: library/xml.sax.rst:165
msgid ""
"The :class:`SAXException` exception class supports the following methods:"
msgstr ""
"La classe d'exception :class:`SAXException` supporte les méthodes suivantes :"
"La classe d'exception :class:`SAXException` gère les méthodes suivantes :"
#: library/xml.sax.rst:170
msgid "Return a human-readable message describing the error condition."
msgstr ""
"Renvoyer un message lisible par l'homme décrivant la condition d'erreur."
msgstr "Renvoie un message intelligible décrivant la condition d'erreur."
#: library/xml.sax.rst:175
msgid "Return an encapsulated exception object, or ``None``."
msgstr "Renvoie un objet d'exception encapsulé, ou ``None``."
msgstr "Renvoie un objet d'exception encapsulé ou ``None``."

View File

@ -6,15 +6,15 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-07-21 14:55+0200\n"
"PO-Revision-Date: 2023-06-04 22:30+0200\n"
"Last-Translator: Christophe Nanteuil <christophe.nanteuil@gmail.com>\n"
"PO-Revision-Date: 2023-12-26 15:07+0100\n"
"Last-Translator: Loc Cosnier <loc.cosnier@pm.me>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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 3.2.2\n"
"X-Generator: Poedit 3.4.1\n"
#: library/zoneinfo.rst:2
msgid ":mod:`zoneinfo` --- IANA time zone support"
@ -412,7 +412,6 @@ msgstr ""
"mais non trouvées dans le cache sont ignorées."
#: library/zoneinfo.rst:243
#, fuzzy
msgid ""
"Invoking this function may change the semantics of datetimes using "
"``ZoneInfo`` in surprising ways; this modifies process-wide global state and "