# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-04 11:33+0200\n"
"PO-Revision-Date: 2019-09-06 13:49+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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"

#: ../Doc/library/email.headerregistry.rst:2
msgid ":mod:`email.headerregistry`: Custom Header Objects"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:10
msgid "**Source code:** :source:`Lib/email/headerregistry.py`"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:14
msgid "[1]_"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:16
msgid ""
"Headers are represented by customized subclasses of :class:`str`.  The "
"particular class used to represent a given header is determined by the :attr:"
"`~email.policy.EmailPolicy.header_factory` of the :mod:`~email.policy` in "
"effect when the headers are created.  This section documents the particular "
"``header_factory`` implemented by the email package for handling :RFC:`5322` "
"compliant email messages, which not only provides customized header objects "
"for various header types, but also provides an extension mechanism for "
"applications to add their own custom header types."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:25
msgid ""
"When using any of the policy objects derived from :data:`~email.policy."
"EmailPolicy`, all headers are produced by :class:`.HeaderRegistry` and have :"
"class:`.BaseHeader` as their last base class.  Each header class has an "
"additional base class that is determined by the type of the header.  For "
"example, many headers have the class :class:`.UnstructuredHeader` as their "
"other base class.  The specialized second class for a header is determined "
"by the name of the header, using a lookup table stored in the :class:`."
"HeaderRegistry`.  All of this is managed transparently for the typical "
"application program, but interfaces are provided for modifying the default "
"behavior for use by more complex applications."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:36
msgid ""
"The sections below first document the header base classes and their "
"attributes, followed by the API for modifying the behavior of :class:`."
"HeaderRegistry`, and finally the support classes used to represent the data "
"parsed from structured headers."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:44
msgid ""
"*name* and *value* are passed to ``BaseHeader`` from the :attr:`~email."
"policy.EmailPolicy.header_factory` call.  The string value of any header "
"object is the *value* fully decoded to unicode."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:48
msgid "This base class defines the following read-only properties:"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:53
msgid ""
"The name of the header (the portion of the field before the ':').  This is "
"exactly the value passed in the :attr:`~email.policy.EmailPolicy."
"header_factory` call for *name*; that is, case is preserved."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:61
msgid ""
"A tuple of :exc:`~email.errors.HeaderDefect` instances reporting any RFC "
"compliance problems found during parsing.  The email package tries to be "
"complete about detecting compliance issues.  See the :mod:`~email.errors` "
"module for a discussion of the types of defects that may be reported."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:69
msgid ""
"The maximum number of headers of this type that can have the same ``name``.  "
"A value of ``None`` means unlimited.  The ``BaseHeader`` value for this "
"attribute is ``None``; it is expected that specialized header classes will "
"override this value as needed."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:74
msgid ""
"``BaseHeader`` also provides the following method, which is called by the "
"email library code and should not in general be called by application "
"programs:"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:80
msgid ""
"Return a string containing :attr:`~email.policy.Policy.linesep` characters "
"as required to correctly fold the header according to *policy*.  A :attr:"
"`~email.policy.Policy.cte_type` of ``8bit`` will be treated as if it were "
"``7bit``, since headers may not contain arbitrary binary data.  If :attr:"
"`~email.policy.EmailPolicy.utf8` is ``False``, non-ASCII data will be :rfc:"
"`2047` encoded."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:88
msgid ""
"``BaseHeader`` by itself cannot be used to create a header object.  It "
"defines a protocol that each specialized header cooperates with in order to "
"produce the header object.  Specifically, ``BaseHeader`` requires that the "
"specialized class provide a :func:`classmethod` named ``parse``.  This "
"method is called as follows::"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:96
msgid ""
"``kwds`` is a dictionary containing one pre-initialized key, ``defects``. "
"``defects`` is an empty list.  The parse method should append any detected "
"defects to this list.  On return, the ``kwds`` dictionary *must* contain "
"values for at least the keys ``decoded`` and ``defects``.  ``decoded`` "
"should be the string value for the header (that is, the header value fully "
"decoded to unicode).  The parse method should assume that *string* may "
"contain content-transfer-encoded parts, but should correctly handle all "
"valid unicode characters as well so that it can parse un-encoded header "
"values."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:105
msgid ""
"``BaseHeader``'s ``__new__`` then creates the header instance, and calls its "
"``init`` method.  The specialized class only needs to provide an ``init`` "
"method if it wishes to set additional attributes beyond those provided by "
"``BaseHeader`` itself.  Such an ``init`` method should look like this::"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:114
msgid ""
"That is, anything extra that the specialized class puts in to the ``kwds`` "
"dictionary should be removed and handled, and the remaining contents of "
"``kw`` (and ``args``) passed to the ``BaseHeader`` ``init`` method."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:121
msgid ""
"An \"unstructured\" header is the default type of header in :rfc:`5322`. Any "
"header that does not have a specified syntax is treated as unstructured.  "
"The classic example of an unstructured header is the :mailheader:`Subject` "
"header."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:126
msgid ""
"In :rfc:`5322`, an unstructured header is a run of arbitrary text in the "
"ASCII character set.  :rfc:`2047`, however, has an :rfc:`5322` compatible "
"mechanism for encoding non-ASCII text as ASCII characters within a header "
"value.  When a *value* containing encoded words is passed to the "
"constructor, the ``UnstructuredHeader`` parser converts such encoded words "
"into unicode, following the :rfc:`2047` rules for unstructured text.  The "
"parser uses heuristics to attempt to decode certain non-compliant encoded "
"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 ""

#: ../Doc/library/email.headerregistry.rst:136
msgid "This header type provides no additional attributes."
msgstr ""

#: ../Doc/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"
"\"."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:146
#: ../Doc/library/email.headerregistry.rst:188
msgid "This header type provides the following additional attributes:"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:150
msgid ""
"If the header value can be recognized as a valid date of one form or "
"another, this attribute will contain a :class:`~datetime.datetime` instance "
"representing that date.  If the timezone of the input date is specified as "
"``-0000`` (indicating it is in UTC but contains no information about the "
"source timezone), then :attr:`.datetime` will be a naive :class:`~datetime."
"datetime`.  If a specific timezone offset is found (including `+0000`), "
"then :attr:`.datetime` will contain an aware ``datetime`` that uses :class:"
"`datetime.timezone` to record the timezone offset."
msgstr ""

#: ../Doc/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 ""

#: ../Doc/library/email.headerregistry.rst:165
msgid ""
"When creating a ``DateHeader``, *value* may be :class:`~datetime.datetime` "
"instance.  This means, for example, that the following code is valid and "
"does what one would expect::"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:171
msgid ""
"Because this is a naive ``datetime`` it will be interpreted as a UTC "
"timestamp, and the resulting value will have a timezone of ``-0000``.  Much "
"more useful is to use the :func:`~email.utils.localtime` function from the :"
"mod:`~email.utils` module::"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:178
msgid ""
"This example sets the date header to the current time and date using the "
"current timezone offset."
msgstr ""

#: ../Doc/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 ""

#: ../Doc/library/email.headerregistry.rst:193
msgid ""
"A tuple of :class:`.Group` objects encoding the addresses and groups found "
"in the header value.  Addresses that are not part of a group are represented "
"in this list as single-address ``Groups`` whose :attr:`~.Group.display_name` "
"is ``None``."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:201
msgid ""
"A tuple of :class:`.Address` objects encoding all of the individual "
"addresses from the header value.  If the header value contains any groups, "
"the individual addresses from the group are included in the list at the "
"point where the group occurs in the value (that is, the list of addresses is "
"\"flattened\" into a one dimensional list)."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:207
msgid ""
"The ``decoded`` value of the header will have all encoded words decoded to "
"unicode.  :class:`~encodings.idna` encoded domain names are also decoded to "
"unicode.  The ``decoded`` value is set by :attr:`~str.join`\\ ing the :class:"
"`str` value of the elements of the ``groups`` attribute with ``', '``."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:213
msgid ""
"A list of :class:`.Address` and :class:`.Group` objects in any combination "
"may be used to set the value of an address header.  ``Group`` objects whose "
"``display_name`` is ``None`` will be interpreted as single addresses, which "
"allows an address list to be copied with groups intact by using the list "
"obtained from the ``groups`` attribute of the source header."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:222
msgid ""
"A subclass of :class:`.AddressHeader` that adds one additional attribute:"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:228
msgid ""
"The single address encoded by the header value.  If the header value "
"actually contains more than one address (which would be a violation of the "
"RFC under the default :mod:`~email.policy`), accessing this attribute will "
"result in a :exc:`ValueError`."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:234
msgid ""
"Many of the above classes also have a ``Unique`` variant (for example, "
"``UniqueUnstructuredHeader``).  The only difference is that in the "
"``Unique`` variant, :attr:`~.BaseHeader.max_count` is set to 1."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:241
msgid ""
"There is really only one valid value for the :mailheader:`MIME-Version` "
"header, and that is ``1.0``.  For future proofing, this header class "
"supports other valid version numbers.  If a version number has a valid value "
"per :rfc:`2045`, then the header object will have non-``None`` values for "
"the following attributes:"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:249
msgid ""
"The version number as a string, with any whitespace and/or comments removed."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:254
msgid "The major version number as an integer"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:258
msgid "The minor version number as an integer"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:263
msgid ""
"MIME headers all start with the prefix 'Content-'.  Each specific header has "
"a certain value, described under the class for that header.  Some can also "
"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 ""

#: ../Doc/library/email.headerregistry.rst:270
msgid "A dictionary mapping parameter names to parameter values."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:275
msgid ""
"A :class:`ParameterizedMIMEHeader` class that handles the :mailheader:"
"`Content-Type` header."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:280
msgid "The content type string, in the form ``maintype/subtype``."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:289
msgid ""
"A :class:`ParameterizedMIMEHeader` class that handles the :mailheader:"
"`Content-Disposition` header."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:294
msgid "``inline`` and ``attachment`` are the only valid values in common use."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:299
msgid "Handles the :mailheader:`Content-Transfer-Encoding` header."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:303
msgid ""
"Valid values are ``7bit``, ``8bit``, ``base64``, and ``quoted-printable``.  "
"See :rfc:`2045` for more information."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:312
msgid ""
"This is the factory used by :class:`~email.policy.EmailPolicy` by default. "
"``HeaderRegistry`` builds the class used to create a header instance "
"dynamically, using *base_class* and a specialized class retrieved from a "
"registry that it holds.  When a given header name does not appear in the "
"registry, the class specified by *default_class* is used as the specialized "
"class.  When *use_default_map* is ``True`` (the default), the standard "
"mapping of header names to classes is copied in to the registry during "
"initialization.  *base_class* is always the last class in the generated "
"class's ``__bases__`` list."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:322
msgid "The default mappings are:"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:0
msgid "subject"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:324
msgid "UniqueUnstructuredHeader"
msgstr "UniqueUnstructuredHeader"

#: ../Doc/library/email.headerregistry.rst:0
msgid "date"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:325
#: ../Doc/library/email.headerregistry.rst:327
msgid "UniqueDateHeader"
msgstr "UniqueDateHeader"

#: ../Doc/library/email.headerregistry.rst:0
msgid "resent-date"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:326
msgid "DateHeader"
msgstr "DateHeader"

#: ../Doc/library/email.headerregistry.rst:0
msgid "orig-date"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:0
msgid "sender"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:328
msgid "UniqueSingleAddressHeader"
msgstr "UniqueSingleAddressHeader"

#: ../Doc/library/email.headerregistry.rst:0
msgid "resent-sender"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:329
msgid "SingleAddressHeader"
msgstr "SingleAddressHeader"

#: ../Doc/library/email.headerregistry.rst:0
msgid "to"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:330
#: ../Doc/library/email.headerregistry.rst:332
#: ../Doc/library/email.headerregistry.rst:334
#: ../Doc/library/email.headerregistry.rst:336
#: ../Doc/library/email.headerregistry.rst:338
msgid "UniqueAddressHeader"
msgstr "UniqueAddressHeader"

#: ../Doc/library/email.headerregistry.rst:0
msgid "resent-to"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:331
#: ../Doc/library/email.headerregistry.rst:333
#: ../Doc/library/email.headerregistry.rst:335
#: ../Doc/library/email.headerregistry.rst:337
msgid "AddressHeader"
msgstr "AddressHeader"

#: ../Doc/library/email.headerregistry.rst:0
msgid "cc"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:0
msgid "resent-cc"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:0
msgid "bcc"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:0
msgid "resent-bcc"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:0
msgid "from"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:0
msgid "resent-from"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:0
msgid "reply-to"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:0
msgid "mime-version"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:339
msgid "MIMEVersionHeader"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:0
msgid "content-type"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:340
msgid "ContentTypeHeader"
msgstr "ContentTypeHeader"

#: ../Doc/library/email.headerregistry.rst:0
msgid "content-disposition"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:341
msgid "ContentDispositionHeader"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:0
msgid "content-transfer-encoding"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:342
msgid "ContentTransferEncodingHeader"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:0
msgid "message-id"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:343
msgid "MessageIDHeader"
msgstr "MessageIDHeader"

#: ../Doc/library/email.headerregistry.rst:345
msgid "``HeaderRegistry`` has the following methods:"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:350
msgid ""
"*name* is the name of the header to be mapped.  It will be converted to "
"lower case in the registry.  *cls* is the specialized class to be used, "
"along with *base_class*, to create the class used to instantiate headers "
"that match *name*."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:358
msgid "Construct and return a class to handle creating a *name* header."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:363
msgid ""
"Retrieves the specialized header associated with *name* from the registry "
"(using *default_class* if *name* does not appear in the registry) and "
"composes it with *base_class* to produce a class, calls the constructed "
"class's constructor, passing it the same argument list, and finally returns "
"the class instance created thereby."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:370
msgid ""
"The following classes are the classes used to represent data parsed from "
"structured headers and can, in general, be used by an application program to "
"construct structured values to assign to specific headers."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:377
msgid ""
"The class used to represent an email address.  The general form of an "
"address is::"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:382
msgid "or::"
msgstr "ou ::"

#: ../Doc/library/email.headerregistry.rst:386
msgid ""
"where each part must conform to specific syntax rules spelled out in :rfc:"
"`5322`."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:389
msgid ""
"As a convenience *addr_spec* can be specified instead of *username* and "
"*domain*, in which case *username* and *domain* will be parsed from the "
"*addr_spec*.  An *addr_spec* must be a properly RFC quoted string; if it is "
"not ``Address`` will raise an error.  Unicode characters are allowed and "
"will be property encoded when serialized.  However, per the RFCs, unicode is "
"*not* allowed in the username portion of the address."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:398
msgid ""
"The display name portion of the address, if any, with all quoting removed.  "
"If the address does not have a display name, this attribute will be an empty "
"string."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:404
msgid "The ``username`` portion of the address, with all quoting removed."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:408
msgid "The ``domain`` portion of the address."
msgstr ""

#: ../Doc/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 ""

#: ../Doc/library/email.headerregistry.rst:418
msgid ""
"The ``str`` value of the object is the address quoted according to :rfc:"
"`5322` rules, but with no Content Transfer Encoding of any non-ASCII "
"characters."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:422
msgid ""
"To support SMTP (:rfc:`5321`), ``Address`` handles one special case: if "
"``username`` and ``domain`` are both the empty string (or ``None``), then "
"the string value of the ``Address`` is ``<>``."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:429
msgid ""
"The class used to represent an address group.  The general form of an "
"address group is::"
msgstr ""

#: ../Doc/library/email.headerregistry.rst:434
msgid ""
"As a convenience for processing lists of addresses that consist of a mixture "
"of groups and single addresses, a ``Group`` may also be used to represent "
"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 ""

#: ../Doc/library/email.headerregistry.rst:441
msgid ""
"The ``display_name`` of the group.  If it is ``None`` and there is exactly "
"one ``Address`` in ``addresses``, then the ``Group`` represents a single "
"address that is not in a group."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:447
msgid ""
"A possibly empty tuple of :class:`.Address` objects representing the "
"addresses in the group."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:452
msgid ""
"The ``str`` value of a ``Group`` is formatted according to :rfc:`5322`, but "
"with no Content Transfer Encoding of any non-ASCII characters.  If "
"``display_name`` is none and there is a single ``Address`` in the "
"``addresses`` list, the ``str`` value will be the same as the ``str`` of "
"that single ``Address``."
msgstr ""

#: ../Doc/library/email.headerregistry.rst:460
msgid "Footnotes"
msgstr "Notes"

#: ../Doc/library/email.headerregistry.rst:461
msgid ""
"Originally added in 3.3 as a :term:`provisional module <provisional package>`"
msgstr ""
