Make merge

This commit is contained in:
Julien Palard 2022-05-22 23:15:02 +02:00
parent e4c6328b99
commit ba66481997
Signed by: mdk
GPG Key ID: 0EFC1AC1006886F8
186 changed files with 22963 additions and 18171 deletions

View File

@ -20,7 +20,7 @@
# from which we generated our po files. We use it here so when we
# test build, we're building with the .rst files that generated our
# .po files.
CPYTHON_CURRENT_COMMIT := c62b944dfc98911a5050389fa6ac753e283fee1f
CPYTHON_CURRENT_COMMIT := 748c83d96da735f8210167d676469860d4e11b80
LANGUAGE := fr
BRANCH := 3.11

115
bugs.po
View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-11-06 22:05+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -95,7 +95,7 @@ msgstr ""
"Vue d'ensemble du processus pour proposer une amélioration avec l'outil de "
"suivi."
#: bugs.rst:35
#: bugs.rst:36
msgid ""
"`Helping with Documentation <https://devguide.python.org/docquality/#helping-"
"with-documentation>`_"
@ -109,30 +109,48 @@ msgid ""
"Python documentation."
msgstr "Guide complet pour qui souhaite contribuer à la documentation Python."
#: bugs.rst:41
#: bugs.rst:38
#, fuzzy
msgid ""
"`Documentation Translations <https://devguide.python.org/documenting/"
"#translating>`_"
msgstr ""
"`Aider avec la documentation <https://devguide.python.org/docquality/"
"#helping-with-documentation>`_"
#: bugs.rst:39
msgid ""
"A list of GitHub pages for documentation translation and their primary "
"contacts."
msgstr ""
#: bugs.rst:45
msgid "Using the Python issue tracker"
msgstr "Utilisation du gestionnaire de tickets Python"
#: bugs.rst:43
#: bugs.rst:47
#, fuzzy
msgid ""
"Bug reports for Python itself should be submitted via the Python Bug Tracker "
"(https://bugs.python.org/). The bug tracker offers a web form which allows "
"pertinent information to be entered and submitted to the developers."
"Issue reports for Python itself should be submitted via the GitHub issues "
"tracker (https://github.com/python/cpython/issues). The GitHub issues "
"tracker offers a web form which allows pertinent information to be entered "
"and submitted to the developers."
msgstr ""
"Les rapports de bogues pour Python lui-même devraient être soumis via le "
"l'outil de suivi des bogues (*Bug Tracker Python* — http://bugs.python."
"org/). Le gestionnaire de tickets propose un formulaire Web permettant de "
"saisir des informations pertinentes à soumettre aux développeurs."
#: bugs.rst:47
#: bugs.rst:52
#, fuzzy
msgid ""
"The first step in filing a report is to determine whether the problem has "
"already been reported. The advantage in doing so, aside from saving the "
"developers time, is that you learn what has been done to fix it; it may be "
"developers' time, is that you learn what has been done to fix it; it may be "
"that the problem has already been fixed for the next release, or additional "
"information is needed (in which case you are welcome to provide it if you "
"can!). To do this, search the bug database using the search box on the top "
"of the page."
"can!). To do this, search the tracker using the search box at the top of the "
"page."
msgstr ""
"La première étape pour remplir un rapport est de déterminer si le problème a "
"déjà été rapporté. L'avantage de cette approche, en plus d'économiser du "
@ -142,13 +160,13 @@ msgstr ""
"contribution est la bienvenue !). Pour ce faire, cherchez dans la base de "
"données de bogues grâce à la boîte de recherche en haut de la page."
#: bugs.rst:54
#: bugs.rst:59
#, fuzzy
msgid ""
"If the problem you're reporting is not already in the bug tracker, go back "
"to the Python Bug Tracker and log in. If you don't already have a tracker "
"account, select the \"Register\" link or, if you use OpenID, one of the "
"OpenID provider logos in the sidebar. It is not possible to submit a bug "
"report anonymously."
"If the problem you're reporting is not already in the list, log in to "
"GitHub. If you don't already have a GitHub account, create a new account "
"using the \"Sign up\" link. It is not possible to submit a bug report "
"anonymously."
msgstr ""
"Si le problème que vous soumettez n'est pas déjà dans l'outil de suivi des "
"bogues, revenez au *Python Bug Tracker* et connectez-vous. Si vous n'avez "
@ -157,29 +175,27 @@ msgstr ""
"dans la barre latérale. Il n'est pas possible de soumettre un rapport de "
"bogue de manière anonyme."
#: bugs.rst:59
#: bugs.rst:64
#, fuzzy
msgid ""
"Being now logged in, you can submit a bug. Select the \"Create New\" link "
"in the sidebar to open the bug reporting form."
"Being now logged in, you can submit an issue. Click on the \"New issue\" "
"button in the top bar to report a new issue."
msgstr ""
"Une fois identifié, pour pouvez rapporter un bogue. Sélectionnez le lien "
"*Create New* dans la barre latérale pour ouvrir un nouveau formulaire de "
"rapport de bogue."
#: bugs.rst:62
msgid ""
"The submission form has a number of fields. For the \"Title\" field, enter "
"a *very* short description of the problem; less than ten words is good. In "
"the \"Type\" field, select the type of your problem; also select the "
"\"Component\" and \"Versions\" to which the bug relates."
msgstr ""
"Le formulaire de soumission a un certain nombre de champs. Pour le champ "
 Titre », saisissez une *très* courte description du problème ; moins de "
"dix mots est approprié. Dans le champ « Type », sélectionnez le type de "
"problème ; sélectionnez aussi « Composant » et « Versions » en rapport avec "
"le bogue."
#: bugs.rst:67
msgid "The submission form has two fields, \"Title\" and \"Comment\"."
msgstr ""
#: bugs.rst:69
msgid ""
"For the \"Title\" field, enter a *very* short description of the problem; "
"less than ten words is good."
msgstr ""
#: bugs.rst:72
msgid ""
"In the \"Comment\" field, describe the problem in detail, including what you "
"expected to happen and what did happen. Be sure to include whether any "
@ -192,17 +208,18 @@ msgstr ""
"plateforme matérielle et logicielle vous utilisiez (en incluant les "
"informations de versions)."
#: bugs.rst:72
#: bugs.rst:77
#, fuzzy
msgid ""
"Each bug report will be assigned to a developer who will determine what "
"needs to be done to correct the problem. You will receive an update each "
"time action is taken on the bug."
"Each issue report will be reviewed by a developer who will determine what "
"needs to be done to correct the problem. You will receive an update each "
"time an action is taken on the issue."
msgstr ""
"Chaque bogue sera attribué à un développeur qui déterminera ce qui est "
"nécessaire d'entreprendre pour corriger le problème. Vous recevrez une "
"notification à chaque action effectuée sur le bogue."
#: bugs.rst:81
#: bugs.rst:86
msgid ""
"`How to Report Bugs Effectively <https://www.chiark.greenend.org.uk/"
"~sgtatham/bugs.html>`_"
@ -210,7 +227,7 @@ msgstr ""
"`Comment signaler des bogues de manière efficace <https://www.chiark."
"greenend.org.uk/~sgtatham/bugs.html>`_ (en anglais)"
#: bugs.rst:80
#: bugs.rst:85
msgid ""
"Article which goes into some detail about how to create a useful bug report. "
"This describes what kind of information is useful and why it is useful."
@ -219,7 +236,7 @@ msgstr ""
"bogue utile. Il décrit quel genre d'information est utile et pourquoi elle "
"est utile."
#: bugs.rst:84
#: bugs.rst:89
msgid ""
"`Bug Writing Guidelines <https://bugzilla.mozilla.org/page.cgi?id=bug-"
"writing.html>`_"
@ -227,7 +244,7 @@ msgstr ""
"`Guide pour la rédaction de rapports de bogues <https://bugzilla.mozilla.org/"
"page.cgi?id=bug-writing.html>`_"
#: bugs.rst:84
#: bugs.rst:89
msgid ""
"Information about writing a good bug report. Some of this is specific to "
"the Mozilla project, but describes general good practices."
@ -235,11 +252,11 @@ msgstr ""
"Conseils pour écrire un bon rapport de bogue. Certains sont spécifiques au "
"projet Mozilla mais présentent des bonnes pratiques générales."
#: bugs.rst:90
#: bugs.rst:95
msgid "Getting started contributing to Python yourself"
msgstr "Commencer à contribuer à Python vous-même"
#: bugs.rst:92
#: bugs.rst:97
msgid ""
"Beyond just reporting bugs that you find, you are also welcome to submit "
"patches to fix them. You can find more information on how to get started "
@ -253,3 +270,15 @@ msgstr ""
"Developer's Guide`_. Si vous avez des questions, le `core-mentorship mailing "
"list`_ est un endroit amical pour obtenir des réponses à toutes les "
"questions à propos du processus de corrections de bugs dans Python."
#~ msgid ""
#~ "The submission form has a number of fields. For the \"Title\" field, "
#~ "enter a *very* short description of the problem; less than ten words is "
#~ "good. In the \"Type\" field, select the type of your problem; also "
#~ "select the \"Component\" and \"Versions\" to which the bug relates."
#~ msgstr ""
#~ "Le formulaire de soumission a un certain nombre de champs. Pour le champ "
#~ "« Titre », saisissez une *très* courte description du problème ; moins de "
#~ "dix mots est approprié. Dans le champ « Type », sélectionnez le type de "
#~ "problème ; sélectionnez aussi « Composant » et « Versions » en rapport "
#~ "avec le bogue."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-12-11 11:44+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -673,7 +673,8 @@ msgstr ""
"le débordement."
#: c-api/arg.rst:617
msgid "``n`` (:class:`int`) [Py_ssize_t]"
#, fuzzy
msgid "``n`` (:class:`int`) [:c:type:`Py_ssize_t`]"
msgstr "``n`` (:class:`int`) [``Py_ssize_t``]"
#: c-api/arg.rst:290

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-27 19:26+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-05-05 14:32+0200\n"
"Last-Translator: Mindiell <mindiell@mindiell.net>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -65,7 +65,7 @@ msgstr ""
"Renvoie un nouvel objet *bytearray* depuis n'importe quel objet, *o*, qui "
"implémente le :ref:`protocole buffer <bufferobjects>`."
#: c-api/bytearray.rst:50
#: c-api/bytearray.rst:48
msgid ""
"Create a new bytearray object from *string* and its length, *len*. On "
"failure, ``NULL`` is returned."
@ -73,20 +73,20 @@ msgstr ""
"Crée un nouvel objet ``bytearray`` à partir d'un objet *string* et de sa "
"longueur, *len*. En cas d'échec, ``NULL`` est renvoyé."
#: c-api/bytearray.rst:56
#: c-api/bytearray.rst:54
msgid ""
"Concat bytearrays *a* and *b* and return a new bytearray with the result."
msgstr ""
"Concatène les ``bytearrays`` *a* et *b* et renvoie un nouveau ``bytearray`` "
"avec le résultat."
#: c-api/bytearray.rst:61
#: c-api/bytearray.rst:59
msgid "Return the size of *bytearray* after checking for a ``NULL`` pointer."
msgstr ""
"Renvoie la taille de *bytearray* après vérification de la présence d'un "
"pointeur ``NULL``."
#: c-api/bytearray.rst:66
#: c-api/bytearray.rst:64
msgid ""
"Return the contents of *bytearray* as a char array after checking for a "
"``NULL`` pointer. The returned array always has an extra null byte appended."
@ -95,24 +95,28 @@ msgstr ""
"vérifiant que ce n'est pas un pointeur ``NULL``. Le tableau renvoyé a "
"toujours un caractère *null* rajouté."
#: c-api/bytearray.rst:73
#: c-api/bytearray.rst:71
msgid "Resize the internal buffer of *bytearray* to *len*."
msgstr "Redimensionne le tampon interne de *bytearray* à la taille *len*."
#: c-api/bytearray.rst:76
#: c-api/bytearray.rst:74
msgid "Macros"
msgstr "Macros"
#: c-api/bytearray.rst:78
#: c-api/bytearray.rst:76
msgid "These macros trade safety for speed and they don't check pointers."
msgstr ""
"Ces macros sont taillées pour la vitesse d'exécution et ne vérifient pas les "
"pointeurs."
#: c-api/bytearray.rst:82
msgid "Macro version of :c:func:`PyByteArray_AsString`."
#: c-api/bytearray.rst:80
#, fuzzy
msgid "Similar to :c:func:`PyByteArray_AsString`, but without error checking."
msgstr "Version macro de :c:func:`PyByteArray_AsString`."
#: c-api/bytearray.rst:87
msgid "Macro version of :c:func:`PyByteArray_Size`."
msgstr "Version macro de :c:func:`PyByteArray_Size`."
#: c-api/bytearray.rst:85
msgid "Similar to :c:func:`PyByteArray_Size`, but without error checking."
msgstr ""
#~ msgid "Macro version of :c:func:`PyByteArray_Size`."
#~ msgstr "Version macro de :c:func:`PyByteArray_Size`."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2018-07-03 11:50+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -21,7 +21,7 @@ msgstr "Objets *bytes*"
#: c-api/bytes.rst:8
msgid ""
"These functions raise :exc:`TypeError` when expecting a bytes parameter and "
"are called with a non-bytes parameter."
"called with a non-bytes parameter."
msgstr ""
#: c-api/bytes.rst:16
@ -167,7 +167,7 @@ msgid ":attr:`%zd`"
msgstr ""
#: c-api/bytes.rst:87
msgid "Py_ssize_t"
msgid ":c:type:`\\ Py_ssize_t`"
msgstr ""
#: c-api/bytes.rst:87
@ -258,7 +258,7 @@ msgid "Return the length of the bytes in bytes object *o*."
msgstr ""
#: c-api/bytes.rst:137
msgid "Macro form of :c:func:`PyBytes_Size` but without error checking."
msgid "Similar to :c:func:`PyBytes_Size`, but without error checking."
msgstr ""
#: c-api/bytes.rst:142
@ -273,7 +273,7 @@ msgid ""
msgstr ""
#: c-api/bytes.rst:154
msgid "Macro form of :c:func:`PyBytes_AsString` but without error checking."
msgid "Similar to :c:func:`PyBytes_AsString`, but without error checking."
msgstr ""
#: c-api/bytes.rst:159

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2020-07-20 15:07+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -49,8 +49,8 @@ msgstr ""
#: c-api/call.rst:29
msgid ""
"To call an object, use :c:func:`PyObject_Call` or other :ref:`call API <capi-"
"call>`."
"To call an object, use :c:func:`PyObject_Call` or another :ref:`call API "
"<capi-call>`."
msgstr ""
#: c-api/call.rst:36

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2018-02-15 00:30+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -56,54 +56,78 @@ msgid "Return the number of free variables in *co*."
msgstr "Renvoie le nombre de variables libres dans *co*."
#: c-api/code.rst:38
#, fuzzy
msgid ""
"Return a new code object. If you need a dummy code object to create a "
"frame, use :c:func:`PyCode_NewEmpty` instead. Calling :c:func:`PyCode_New` "
"directly can bind you to a precise Python version since the definition of "
"the bytecode changes often."
"directly will bind you to a precise Python version since the definition of "
"the bytecode changes often. The many arguments of this function are inter-"
"dependent in complex ways, meaning that subtle changes to values are likely "
"to result in incorrect execution or VM crashes. Use this function only with "
"extreme care."
msgstr ""
"Renvoie un nouvel objet *code*. Si vous avez besoin d'un objet code factice "
"pour créer une *frame*, utilisez plutôt :c:func:`PyCode_NewEmpty`. Appeler :"
"c:func:`PyCode_New` peut vous lier directement à une version spécifique de "
"Python, le *bytecode* étant sujet à modifications."
#: c-api/code.rst:45
msgid ""
"Similar to :c:func:`PyCode_New`, but with an extra \"posonlyargcount\" for "
"positional-only arguments."
#: c-api/code.rst:55
msgid "Added ``exceptiontable`` parameter."
msgstr ""
#: c-api/code.rst:51
#: c-api/code.rst:50
msgid ""
"Similar to :c:func:`PyCode_New`, but with an extra \"posonlyargcount\" for "
"positional-only arguments. The same caveats that apply to ``PyCode_New`` "
"also apply to this function."
msgstr ""
#: c-api/code.rst:60
#, fuzzy
msgid ""
"Return a new empty code object with the specified filename, function name, "
"and first line number. It is illegal to :func:`exec` or :func:`eval` the "
"resulting code object."
"and first line number. The resulting code object will raise an ``Exception`` "
"if executed."
msgstr ""
"Renvoie un nouvel objet *code* avec le nom de fichier, le nom de fonction, "
"et le numéro de première ligne donnés. Il n'est pas permis d'utiliser :func:"
"`exec` ou :func:`eval` sur l'objet renvoyé."
#: c-api/code.rst:57
#: c-api/code.rst:66
msgid ""
"Return the line number of the instruction that occurs on or before "
"``byte_offset`` and ends after it. If you just need the line number of a "
"frame, use :c:func:`PyFrame_GetLineNumber` instead."
msgstr ""
#: c-api/code.rst:60
#: c-api/code.rst:69
msgid ""
"For efficiently iterating over the line numbers in a code object, use `the "
"API described in PEP 626 <https://www.python.org/dev/peps/pep-0626/#out-of-"
"process-debuggers-and-profilers>`_."
"API described in PEP 626 <https://peps.python.org/pep-0626/#out-of-process-"
"debuggers-and-profilers>`_."
msgstr ""
#: c-api/code.rst:65
#: c-api/code.rst:74
msgid ""
"Sets the passed ``int`` pointers to the source code line and column numbers "
"for the instruction at ``byte_offset``. Sets the value to ``0`` when "
"information is not available for any particular element."
msgstr ""
#: c-api/code.rst:69
#: c-api/code.rst:78
msgid "Returns ``1`` if the function succeeds and 0 otherwise."
msgstr ""
#: c-api/code.rst:82
msgid ""
"Equivalent to the Python code ``getattr(co, 'co_code')``. Returns a strong "
"reference to a :c:type:`PyBytesObject` representing the bytecode in a code "
"object. On error, ``NULL`` is returned and an exception is raised."
msgstr ""
#: c-api/code.rst:87
msgid ""
"This ``PyBytesObject`` may be created on-demand by the interpreter and does "
"not necessarily represent the bytecode actually executed by CPython. The "
"primary use case for this function is debuggers and profilers."
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -8,10 +8,11 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3.11\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"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2022-05-23 00:48+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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"
@ -25,49 +26,81 @@ msgid "The C structure of the objects used to describe frame objects."
msgstr ""
#: c-api/frame.rst:10
msgid "The structure is not part of the C API."
msgid "There are no public members in this structure."
msgstr ""
#: c-api/frame.rst:12
msgid "The structure moved to the internal C API headers."
msgid ""
"The members of this structure were removed from the public C API. Refer to "
"the :ref:`What's New entry <pyframeobject-3.11-hiding>` for details."
msgstr ""
#: c-api/frame.rst:15
#: c-api/frame.rst:17
msgid ""
"The :c:func:`PyEval_GetFrame` and :c:func:`PyThreadState_GetFrame` functions "
"can be used to get a frame object."
msgstr ""
#: c-api/frame.rst:18
#: c-api/frame.rst:20
msgid "See also :ref:`Reflection <reflection>`."
msgstr ""
#: c-api/frame.rst:23
#: c-api/frame.rst:25
msgid "Get the *frame* next outer frame."
msgstr ""
#: c-api/frame.rst:25
#: c-api/frame.rst:27
msgid ""
"Return a :term:`strong reference`, or ``NULL`` if *frame* has no outer frame."
msgstr ""
#: c-api/frame.rst:48
msgid "*frame* must not be ``NULL``."
#: c-api/frame.rst:35
msgid "Get the *frame*'s ``f_builtins`` attribute."
msgstr ""
#: c-api/frame.rst:35
#: c-api/frame.rst:68
msgid "Return a :term:`strong reference`. The result cannot be ``NULL``."
msgstr ""
#: c-api/frame.rst:44
msgid "Get the *frame* code."
msgstr ""
#: c-api/frame.rst:37
#: c-api/frame.rst:86
msgid "Return a :term:`strong reference`."
msgstr ""
#: c-api/frame.rst:39
msgid ""
"*frame* must not be ``NULL``. The result (frame code) cannot be ``NULL``."
#: c-api/frame.rst:48
msgid "The result (frame code) cannot be ``NULL``."
msgstr ""
#: c-api/frame.rst:46
#: c-api/frame.rst:55
msgid ""
"Get the generator, coroutine, or async generator that owns this frame, or "
"``NULL`` if this frame is not owned by a generator. Does not raise an "
"exception, even if the return value is ``NULL``."
msgstr ""
#: c-api/frame.rst:59
msgid "Return a :term:`strong reference`, or ``NULL``."
msgstr ""
#: c-api/frame.rst:66
msgid "Get the *frame*'s ``f_globals`` attribute."
msgstr ""
#: c-api/frame.rst:75
msgid "Get the *frame*'s ``f_lasti`` attribute."
msgstr ""
#: c-api/frame.rst:77
msgid "Returns -1 if ``frame.f_lasti`` is ``None``."
msgstr ""
#: c-api/frame.rst:84
msgid "Get the *frame*'s ``f_locals`` attribute (:class:`dict`)."
msgstr ""
#: c-api/frame.rst:93
msgid "Return the line number that *frame* is currently executing."
msgstr ""

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -540,11 +540,19 @@ msgid ""
"that use them."
msgstr ""
#: c-api/intro.rst:544
#: c-api/intro.rst:542
msgid ""
"A signed integral type such that ``sizeof(Py_ssize_t) == sizeof(size_t)``. "
"C99 doesn't define such a thing directly (size_t is an unsigned integral "
"type). See :pep:`353` for details. ``PY_SSIZE_T_MAX`` is the largest "
"positive value of type :c:type:`Py_ssize_t`."
msgstr ""
#: c-api/intro.rst:551
msgid "Exceptions"
msgstr "Exceptions"
#: c-api/intro.rst:546
#: c-api/intro.rst:553
msgid ""
"The Python programmer only needs to deal with exceptions if specific error "
"handling is required; unhandled exceptions are automatically propagated to "
@ -553,7 +561,7 @@ msgid ""
"stack traceback."
msgstr ""
#: c-api/intro.rst:554
#: c-api/intro.rst:561
msgid ""
"For C programmers, however, error checking always has to be explicit. All "
"functions in the Python/C API can raise exceptions, unless an explicit claim "
@ -568,7 +576,7 @@ msgid ""
"explicitly documented."
msgstr ""
#: c-api/intro.rst:569
#: c-api/intro.rst:576
msgid ""
"Exception state is maintained in per-thread storage (this is equivalent to "
"using global storage in an unthreaded application). A thread can be in one "
@ -581,7 +589,7 @@ msgid ""
"clears the exception state."
msgstr ""
#: c-api/intro.rst:579
#: c-api/intro.rst:586
msgid ""
"The full exception state consists of three objects (all of which can be "
"``NULL``): the exception type, the corresponding exception value, and the "
@ -594,7 +602,7 @@ msgid ""
"``sys.exc_info()`` and friends."
msgstr ""
#: c-api/intro.rst:591
#: c-api/intro.rst:598
msgid ""
"Note that starting with Python 1.5, the preferred, thread-safe way to access "
"the exception state from Python code is to call the function :func:`sys."
@ -608,7 +616,7 @@ msgid ""
"referenced by the stack frames in the traceback."
msgstr ""
#: c-api/intro.rst:602
#: c-api/intro.rst:609
msgid ""
"As a general principle, a function that calls another function to perform "
"some task should check whether the called function raised an exception, and "
@ -619,7 +627,7 @@ msgid ""
"of the error."
msgstr ""
#: c-api/intro.rst:611
#: c-api/intro.rst:618
msgid ""
"A simple example of detecting exceptions and passing them on is shown in "
"the :c:func:`sum_sequence` example above. It so happens that this example "
@ -628,11 +636,11 @@ msgid ""
"why you like Python, we show the equivalent Python code::"
msgstr ""
#: c-api/intro.rst:626
#: c-api/intro.rst:633
msgid "Here is the corresponding C code, in all its glory::"
msgstr ""
#: c-api/intro.rst:678
#: c-api/intro.rst:685
msgid ""
"This example represents an endorsed use of the ``goto`` statement in C! It "
"illustrates the use of :c:func:`PyErr_ExceptionMatches` and :c:func:"
@ -645,11 +653,11 @@ msgid ""
"success after the final call made is successful."
msgstr ""
#: c-api/intro.rst:692
#: c-api/intro.rst:699
msgid "Embedding Python"
msgstr "Embarquer Python"
#: c-api/intro.rst:694
#: c-api/intro.rst:701
msgid ""
"The one important task that only embedders (as opposed to extension writers) "
"of the Python interpreter have to worry about is the initialization, and "
@ -657,7 +665,7 @@ msgid ""
"the interpreter can only be used after the interpreter has been initialized."
msgstr ""
#: c-api/intro.rst:707
#: c-api/intro.rst:714
msgid ""
"The basic initialization function is :c:func:`Py_Initialize`. This "
"initializes the table of loaded modules, and creates the fundamental "
@ -665,15 +673,15 @@ msgid ""
"initializes the module search path (``sys.path``)."
msgstr ""
#: c-api/intro.rst:714
#: c-api/intro.rst:719
msgid ""
":c:func:`Py_Initialize` does not set the \"script argument list\" (``sys."
"argv``). If this variable is needed by Python code that will be executed "
"later, it must be set explicitly with a call to ``PySys_SetArgvEx(argc, "
"argv, updatepath)`` after the call to :c:func:`Py_Initialize`."
"later, setting :c:member:`PyConfig.argv` and :c:member:`PyConfig.parse_argv` "
"must be set: see :ref:`Python Initialization Configuration <init-config>`."
msgstr ""
#: c-api/intro.rst:719
#: c-api/intro.rst:724
msgid ""
"On most systems (in particular, on Unix and Windows, although the details "
"are slightly different), :c:func:`Py_Initialize` calculates the module "
@ -685,7 +693,7 @@ msgid ""
"on the shell command search path (the environment variable :envvar:`PATH`)."
msgstr ""
#: c-api/intro.rst:728
#: c-api/intro.rst:733
msgid ""
"For instance, if the Python executable is found in :file:`/usr/local/bin/"
"python`, it will assume that the libraries are in :file:`/usr/local/lib/"
@ -696,7 +704,7 @@ msgid ""
"in front of the standard path by setting :envvar:`PYTHONPATH`."
msgstr ""
#: c-api/intro.rst:743
#: c-api/intro.rst:748
msgid ""
"The embedding application can steer the search by calling "
"``Py_SetProgramName(file)`` *before* calling :c:func:`Py_Initialize`. Note "
@ -707,7 +715,7 @@ msgid ""
"func:`Py_GetProgramFullPath` (all defined in :file:`Modules/getpath.c`)."
msgstr ""
#: c-api/intro.rst:753
#: c-api/intro.rst:758
msgid ""
"Sometimes, it is desirable to \"uninitialize\" Python. For instance, the "
"application may want to start over (make another call to :c:func:"
@ -721,18 +729,18 @@ msgid ""
"released."
msgstr ""
#: c-api/intro.rst:767
#: c-api/intro.rst:772
msgid "Debugging Builds"
msgstr ""
#: c-api/intro.rst:769
#: c-api/intro.rst:774
msgid ""
"Python can be built with several macros to enable extra checks of the "
"interpreter and extension modules. These checks tend to add a large amount "
"of overhead to the runtime so they are not enabled by default."
msgstr ""
#: c-api/intro.rst:773
#: c-api/intro.rst:778
msgid ""
"A full list of the various types of debugging builds is in the file :file:"
"`Misc/SpecialBuilds.txt` in the Python source distribution. Builds are "
@ -742,7 +750,7 @@ msgid ""
"section."
msgstr ""
#: c-api/intro.rst:779
#: c-api/intro.rst:784
msgid ""
"Compiling the interpreter with the :c:macro:`Py_DEBUG` macro defined "
"produces what is generally meant by :ref:`a debug build of Python <debug-"
@ -753,13 +761,13 @@ msgid ""
"disabled."
msgstr ""
#: c-api/intro.rst:787
#: c-api/intro.rst:792
msgid ""
"In addition to the reference count debugging described below, extra checks "
"are performed, see :ref:`Python Debug Build <debug-build>`."
msgstr ""
#: c-api/intro.rst:790
#: c-api/intro.rst:795
msgid ""
"Defining :c:macro:`Py_TRACE_REFS` enables reference tracing (see the :option:"
"`configure --with-trace-refs option <--with-trace-refs>`). When defined, a "
@ -769,7 +777,7 @@ msgid ""
"this happens after every statement run by the interpreter.)"
msgstr ""
#: c-api/intro.rst:797
#: c-api/intro.rst:802
msgid ""
"Please refer to :file:`Misc/SpecialBuilds.txt` in the Python source "
"distribution for more detailed information."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-27 10:27+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2018-02-15 00:33+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -32,8 +32,8 @@ msgstr "Renvoie vrai si l'objet *o* supporte le protocole d'itération."
#: c-api/iter.rst:17
#, fuzzy
msgid ""
"Returns non-zero if the object 'obj' provides :class:`AsyncIterator` "
"protocols, and ``0`` otherwise. This function always succeeds."
"Return non-zero if the object *o* provides the :class:`AsyncIterator` "
"protocol, and ``0`` otherwise. This function always succeeds."
msgstr "Renvoie vrai si l'objet *o* supporte le protocole d'itération."
#: c-api/iter.rst:24

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-27 19:26+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -65,7 +65,7 @@ msgid ""
msgstr ""
#: c-api/list.rst:56
msgid "Macro form of :c:func:`PyList_Size` without error checking."
msgid "Similar to :c:func:`PyList_Size`, but without error checking."
msgstr ""
#: c-api/list.rst:61
@ -77,7 +77,7 @@ msgid ""
msgstr ""
#: c-api/list.rst:69
msgid "Macro form of :c:func:`PyList_GetItem` without error checking."
msgid "Similar to :c:func:`PyList_GetItem`, but without error checking."
msgstr ""
#: c-api/list.rst:74

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -72,7 +72,7 @@ msgstr ""
#: c-api/long.rst:43
msgid ""
"The current implementation keeps an array of integer objects for all "
"integers between ``-5`` and ``256``, when you create an int in that range "
"integers between ``-5`` and ``256``. When you create an int in that range "
"you actually just get back a reference to the existing object."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-01-28 14:58+0100\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -32,11 +32,13 @@ msgstr ""
# → pas correct en VO !
# - "This function always succeeds." équivaut-il à "jamais d'erreur" ?
#: c-api/mapping.rst:14
#, fuzzy
msgid ""
"Return ``1`` if the object provides mapping protocol or supports slicing, "
"and ``0`` otherwise. Note that it returns ``1`` for Python classes with a :"
"meth:`__getitem__` method since in general case it is impossible to "
"determine what type of keys it supports. This function always succeeds."
"Return ``1`` if the object provides the mapping protocol or supports "
"slicing, and ``0`` otherwise. Note that it returns ``1`` for Python classes "
"with a :meth:`__getitem__` method, since in general it is impossible to "
"determine what type of keys the class supports. This function always "
"succeeds."
msgstr ""
"Renvoie ``1`` si l'objet prend en charge le protocole de correspondance ou "
"le découpage en tranches et ``0`` sinon. Notez qu'elle renvoie ``1`` pour "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -381,7 +381,7 @@ msgstr ""
#: c-api/memory.rst:308
msgid ""
"There is no guarantee that the memory returned by these allocators can be "
"successfully casted to a Python object when intercepting the allocating "
"successfully cast to a Python object when intercepting the allocating "
"functions in this domain by the methods described in the :ref:`Customize "
"Memory Allocators <customize-memory-allocators>` section."
msgstr ""
@ -544,8 +544,8 @@ msgstr ""
#: c-api/memory.rst:405
msgid ""
"Structure used to describe a memory block allocator. The structure has four "
"fields:"
"Structure used to describe a memory block allocator. The structure has the "
"following fields:"
msgstr ""
#: c-api/memory.rst:628

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-27 19:26+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -40,7 +40,7 @@ msgstr ""
#: c-api/method.rst:30
msgid ""
"Return a new instance method object, with *func* being any callable object "
"Return a new instance method object, with *func* being any callable object. "
"*func* is the function that will be called when the instance method is "
"called."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -55,7 +55,7 @@ msgstr ""
#: c-api/number.rst:46
msgid ""
"Return the floor of *o1* divided by *o2*, or ``NULL`` on failure. This is "
"equivalent to the \"classic\" division of integers."
"the equivalent of the Python expression ``o1 // o2``."
msgstr ""
#: c-api/number.rst:52
@ -64,7 +64,8 @@ msgid ""
"by *o2*, or ``NULL`` on failure. The return value is \"approximate\" "
"because binary floating point numbers are approximate; it is not possible to "
"represent all real numbers in base two. This function can return a floating "
"point value when passed two integers."
"point value when passed two integers. This is the equivalent of the Python "
"expression ``o1 / o2``."
msgstr ""
#: c-api/number.rst:61
@ -183,17 +184,18 @@ msgid ""
"because binary floating point numbers are approximate; it is not possible to "
"represent all real numbers in base two. This function can return a floating "
"point value when passed two integers. The operation is done *in-place* when "
"*o1* supports it."
"*o1* supports it. This is the equivalent of the Python statement ``o1 /= "
"o2``."
msgstr ""
#: c-api/number.rst:187
#: c-api/number.rst:188
msgid ""
"Returns the remainder of dividing *o1* by *o2*, or ``NULL`` on failure. The "
"operation is done *in-place* when *o1* supports it. This is the equivalent "
"of the Python statement ``o1 %= o2``."
msgstr ""
#: c-api/number.rst:196
#: c-api/number.rst:197
msgid ""
"See the built-in function :func:`pow`. Returns ``NULL`` on failure. The "
"operation is done *in-place* when *o1* supports it. This is the equivalent "
@ -203,66 +205,66 @@ msgid ""
"an illegal memory access)."
msgstr ""
#: c-api/number.rst:205
#: c-api/number.rst:206
msgid ""
"Returns the result of left shifting *o1* by *o2* on success, or ``NULL`` on "
"failure. The operation is done *in-place* when *o1* supports it. This is "
"the equivalent of the Python statement ``o1 <<= o2``."
msgstr ""
#: c-api/number.rst:212
#: c-api/number.rst:213
msgid ""
"Returns the result of right shifting *o1* by *o2* on success, or ``NULL`` on "
"failure. The operation is done *in-place* when *o1* supports it. This is "
"the equivalent of the Python statement ``o1 >>= o2``."
msgstr ""
#: c-api/number.rst:219
#: c-api/number.rst:220
msgid ""
"Returns the \"bitwise and\" of *o1* and *o2* on success and ``NULL`` on "
"failure. The operation is done *in-place* when *o1* supports it. This is "
"the equivalent of the Python statement ``o1 &= o2``."
msgstr ""
#: c-api/number.rst:226
#: c-api/number.rst:227
msgid ""
"Returns the \"bitwise exclusive or\" of *o1* by *o2* on success, or ``NULL`` "
"on failure. The operation is done *in-place* when *o1* supports it. This "
"is the equivalent of the Python statement ``o1 ^= o2``."
msgstr ""
#: c-api/number.rst:233
#: c-api/number.rst:234
msgid ""
"Returns the \"bitwise or\" of *o1* and *o2* on success, or ``NULL`` on "
"failure. The operation is done *in-place* when *o1* supports it. This is "
"the equivalent of the Python statement ``o1 |= o2``."
msgstr ""
#: c-api/number.rst:242
#: c-api/number.rst:243
msgid ""
"Returns the *o* converted to an integer object on success, or ``NULL`` on "
"failure. This is the equivalent of the Python expression ``int(o)``."
msgstr ""
#: c-api/number.rst:250
#: c-api/number.rst:251
msgid ""
"Returns the *o* converted to a float object on success, or ``NULL`` on "
"failure. This is the equivalent of the Python expression ``float(o)``."
msgstr ""
#: c-api/number.rst:256
#: c-api/number.rst:257
msgid ""
"Returns the *o* converted to a Python int on success or ``NULL`` with a :exc:"
"`TypeError` exception raised on failure."
msgstr ""
#: c-api/number.rst:259
#: c-api/number.rst:260
msgid ""
"The result always has exact type :class:`int`. Previously, the result could "
"have been an instance of a subclass of ``int``."
msgstr ""
#: c-api/number.rst:266
#: c-api/number.rst:267
msgid ""
"Returns the integer *n* converted to base *base* as a string. The *base* "
"argument must be one of 2, 8, 10, or 16. For base 2, 8, or 16, the returned "
@ -271,25 +273,26 @@ msgid ""
"`PyNumber_Index` first."
msgstr ""
#: c-api/number.rst:275
#: c-api/number.rst:276
msgid ""
"Returns *o* converted to a Py_ssize_t value if *o* can be interpreted as an "
"integer. If the call fails, an exception is raised and ``-1`` is returned."
"Returns *o* converted to a :c:type:`Py_ssize_t` value if *o* can be "
"interpreted as an integer. If the call fails, an exception is raised and "
"``-1`` is returned."
msgstr ""
#: c-api/number.rst:278
#: c-api/number.rst:279
msgid ""
"If *o* can be converted to a Python int but the attempt to convert to a "
"Py_ssize_t value would raise an :exc:`OverflowError`, then the *exc* "
"If *o* can be converted to a Python int but the attempt to convert to a :c:"
"type:`Py_ssize_t` value would raise an :exc:`OverflowError`, then the *exc* "
"argument is the type of exception that will be raised (usually :exc:"
"`IndexError` or :exc:`OverflowError`). If *exc* is ``NULL``, then the "
"exception is cleared and the value is clipped to ``PY_SSIZE_T_MIN`` for a "
"negative integer or ``PY_SSIZE_T_MAX`` for a positive integer."
msgstr ""
#: c-api/number.rst:288
#: c-api/number.rst:289
msgid ""
"Returns ``1`` if *o* is an index integer (has the nb_index slot of the "
"tp_as_number structure filled in), and ``0`` otherwise. This function always "
"succeeds."
"Returns ``1`` if *o* is an index integer (has the ``nb_index`` slot of the "
"``tp_as_number`` structure filled in), and ``0`` otherwise. This function "
"always succeeds."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2019-08-16 22:56+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -142,8 +142,8 @@ msgstr ""
#: c-api/object.rst:96
#, fuzzy
msgid ""
"If *v* is ``NULL``, the attribute is deleted, however this feature is "
"deprecated in favour of using :c:func:`PyObject_DelAttrString`."
"If *v* is ``NULL``, the attribute is deleted, but this feature is deprecated "
"in favour of using :c:func:`PyObject_DelAttrString`."
msgstr ""
"Si *v* est *NULL*, l'attribut est supprimé. Cette fonctionnalité est "
"obsolète, nous vous conseillons d'utiliser :c:func:`PyObject_DelAttr`."
@ -390,8 +390,8 @@ msgstr ""
#: c-api/object.rst:259
msgid ""
"The return type is now Py_hash_t. This is a signed integer the same size as "
"Py_ssize_t."
"The return type is now Py_hash_t. This is a signed integer the same size "
"as :c:type:`Py_ssize_t`."
msgstr ""
#: c-api/object.rst:266
@ -422,9 +422,9 @@ msgid ""
"type of object *o*. On failure, raises :exc:`SystemError` and returns "
"``NULL``. This is equivalent to the Python expression ``type(o)``. This "
"function increments the reference count of the return value. There's really "
"no reason to use this function instead of the common expression ``o-"
">ob_type``, which returns a pointer of type :c:type:`PyTypeObject*`, except "
"when the incremented reference count is needed."
"no reason to use this function instead of the :c:func:`Py_TYPE()` function, "
"which returns a pointer of type :c:type:`PyTypeObject*`, except when the "
"incremented reference count is needed."
msgstr ""
#: c-api/object.rst:301

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -147,15 +147,19 @@ msgid ""
"count of an object that might be traversed during garbage collection."
msgstr ""
#: c-api/refcounting.rst:113
#: c-api/refcounting.rst:114
msgid ""
"The following functions are for runtime dynamic embedding of Python: "
"``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject *o)``. They are simply "
"exported function versions of :c:func:`Py_XINCREF` and :c:func:`Py_XDECREF`, "
"respectively."
"Increment the reference count for object *o*. A function version of :c:func:"
"`Py_XINCREF`. It can be used for runtime dynamic embedding of Python."
msgstr ""
#: c-api/refcounting.rst:118
#: c-api/refcounting.rst:120
msgid ""
"Decrement the reference count for object *o*. A function version of :c:func:"
"`Py_XDECREF`. It can be used for runtime dynamic embedding of Python."
msgstr ""
#: c-api/refcounting.rst:124
msgid ""
"The following functions or macros are only for use within the interpreter "
"core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -20,11 +20,11 @@ msgstr ""
#: c-api/sequence.rst:11
msgid ""
"Return ``1`` if the object provides sequence protocol, and ``0`` otherwise. "
"Note that it returns ``1`` for Python classes with a :meth:`__getitem__` "
"method unless they are :class:`dict` subclasses since in general case it is "
"impossible to determine what the type of keys it supports. This function "
"always succeeds."
"Return ``1`` if the object provides the sequence protocol, and ``0`` "
"otherwise. Note that it returns ``1`` for Python classes with a :meth:"
"`__getitem__` method, unless they are :class:`dict` subclasses, since in "
"general it is impossible to determine what type of keys the class supports. "
"This function always succeeds."
msgstr ""
#: c-api/sequence.rst:23
@ -85,8 +85,8 @@ msgstr ""
#: c-api/sequence.rst:72
msgid ""
"If *v* is ``NULL``, the element is deleted, however this feature is "
"deprecated in favour of using :c:func:`PySequence_DelItem`."
"If *v* is ``NULL``, the element is deleted, but this feature is deprecated "
"in favour of using :c:func:`PySequence_DelItem`."
msgstr ""
#: c-api/sequence.rst:78
@ -166,8 +166,8 @@ msgstr ""
#: c-api/sequence.rst:148
msgid ""
"Returns the length of *o*, assuming that *o* was returned by :c:func:"
"`PySequence_Fast` and that *o* is not ``NULL``. The size can also be gotten "
"by calling :c:func:`PySequence_Size` on *o*, but :c:func:"
"`PySequence_Fast` and that *o* is not ``NULL``. The size can also be "
"retrieved by calling :c:func:`PySequence_Size` on *o*, but :c:func:"
"`PySequence_Fast_GET_SIZE` is faster because it can assume *o* is a list or "
"tuple."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -21,14 +21,14 @@ msgstr ""
#: c-api/set.rst:15
msgid ""
"This section details the public API for :class:`set` and :class:`frozenset` "
"objects. Any functionality not listed below is best accessed using the "
"either the abstract object protocol (including :c:func:"
"`PyObject_CallMethod`, :c:func:`PyObject_RichCompareBool`, :c:func:"
"`PyObject_Hash`, :c:func:`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:"
"`PyObject_Print`, and :c:func:`PyObject_GetIter`) or the abstract number "
"protocol (including :c:func:`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:"
"func:`PyNumber_Or`, :c:func:`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :"
"c:func:`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr`, and :c:func:"
"objects. Any functionality not listed below is best accessed using either "
"the abstract object protocol (including :c:func:`PyObject_CallMethod`, :c:"
"func:`PyObject_RichCompareBool`, :c:func:`PyObject_Hash`, :c:func:"
"`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:`PyObject_Print`, and :c:"
"func:`PyObject_GetIter`) or the abstract number protocol (including :c:func:"
"`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:func:`PyNumber_Or`, :c:func:"
"`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :c:func:"
"`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr`, and :c:func:"
"`PyNumber_InPlaceXor`)."
msgstr ""
@ -39,9 +39,9 @@ msgid ""
"`PyDictObject` in that it is a fixed size for small sets (much like tuple "
"storage) and will point to a separate, variable sized block of memory for "
"medium and large sized sets (much like list storage). None of the fields of "
"this structure should be considered public and are subject to change. All "
"access should be done through the documented API rather than by manipulating "
"the values in the structure."
"this structure should be considered public and all are subject to change. "
"All access should be done through the documented API rather than by "
"manipulating the values in the structure."
msgstr ""
#: c-api/set.rst:40
@ -151,7 +151,7 @@ msgstr ""
#: c-api/set.rst:133
msgid ""
"Add *key* to a :class:`set` instance. Also works with :class:`frozenset` "
"instances (like :c:func:`PyTuple_SetItem` it can be used to fill-in the "
"instances (like :c:func:`PyTuple_SetItem` it can be used to fill in the "
"values of brand new frozensets before they are exposed to other code). "
"Return ``0`` on success or ``-1`` on failure. Raise a :exc:`TypeError` if "
"the *key* is unhashable. Raise a :exc:`MemoryError` if there is no room to "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -115,70 +115,78 @@ msgid "Use the :c:func:`Py_SET_TYPE` function to set an object type."
msgstr ""
#: c-api/structures.rst:104
msgid ":c:func:`Py_TYPE()` is changed to an inline static function."
msgid ""
":c:func:`Py_TYPE()` is changed to an inline static function. The parameter "
"type is no longer :c:type:`const PyObject*`."
msgstr ""
#: c-api/structures.rst:110
#: c-api/structures.rst:111
msgid ""
"Return non-zero if the object *o* type is *type*. Return zero otherwise. "
"Equivalent to: ``Py_TYPE(o) == type``."
msgstr ""
#: c-api/structures.rst:118
#: c-api/structures.rst:119
msgid "Set the object *o* type to *type*."
msgstr ""
#: c-api/structures.rst:125
#: c-api/structures.rst:126
msgid "Get the reference count of the Python object *o*."
msgstr ""
#: c-api/structures.rst:127
#: c-api/structures.rst:128
msgid ""
"Use the :c:func:`Py_SET_REFCNT()` function to set an object reference count."
msgstr ""
#: c-api/structures.rst:129
#: c-api/structures.rst:130
msgid "The parameter type is no longer :c:type:`const PyObject*`."
msgstr ""
#: c-api/structures.rst:133
msgid ":c:func:`Py_REFCNT()` is changed to the inline static function."
msgstr ""
#: c-api/structures.rst:135
#: c-api/structures.rst:139
msgid "Set the object *o* reference counter to *refcnt*."
msgstr ""
#: c-api/structures.rst:142
#: c-api/structures.rst:146
msgid "Get the size of the Python object *o*."
msgstr ""
#: c-api/structures.rst:144
#: c-api/structures.rst:148
msgid "Use the :c:func:`Py_SET_SIZE` function to set an object size."
msgstr ""
#: c-api/structures.rst:146
msgid ":c:func:`Py_SIZE()` is changed to an inline static function."
#: c-api/structures.rst:150
msgid ""
":c:func:`Py_SIZE()` is changed to an inline static function. The parameter "
"type is no longer :c:type:`const PyVarObject*`."
msgstr ""
#: c-api/structures.rst:152
#: c-api/structures.rst:157
msgid "Set the object *o* size to *size*."
msgstr ""
#: c-api/structures.rst:159
#: c-api/structures.rst:164
msgid ""
"This is a macro which expands to initialization values for a new :c:type:"
"`PyObject` type. This macro expands to::"
msgstr ""
#: c-api/structures.rst:168
#: c-api/structures.rst:173
msgid ""
"This is a macro which expands to initialization values for a new :c:type:"
"`PyVarObject` type, including the :attr:`ob_size` field. This macro expands "
"to::"
msgstr ""
#: c-api/structures.rst:177
#: c-api/structures.rst:182
msgid "Implementing functions and methods"
msgstr ""
#: c-api/structures.rst:181
#: c-api/structures.rst:186
msgid ""
"Type of the functions used to implement most Python callables in C. "
"Functions of this type take two :c:type:`PyObject*` parameters and return "
@ -188,99 +196,99 @@ msgid ""
"reference."
msgstr ""
#: c-api/structures.rst:188
#: c-api/structures.rst:193
msgid "The function signature is::"
msgstr ""
#: c-api/structures.rst:195
#: c-api/structures.rst:200
msgid ""
"Type of the functions used to implement Python callables in C with "
"signature :const:`METH_VARARGS | METH_KEYWORDS`. The function signature is::"
msgstr ""
#: c-api/structures.rst:206
#: c-api/structures.rst:211
msgid ""
"Type of the functions used to implement Python callables in C with "
"signature :const:`METH_FASTCALL`. The function signature is::"
msgstr ""
#: c-api/structures.rst:216
#: c-api/structures.rst:221
msgid ""
"Type of the functions used to implement Python callables in C with "
"signature :const:`METH_FASTCALL | METH_KEYWORDS`. The function signature is::"
msgstr ""
#: c-api/structures.rst:227
#: c-api/structures.rst:232
msgid ""
"Type of the functions used to implement Python callables in C with "
"signature :const:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`. The function "
"signature is::"
msgstr ""
#: c-api/structures.rst:242
#: c-api/structures.rst:247
msgid ""
"Structure used to describe a method of an extension type. This structure "
"has four fields:"
msgstr ""
#: c-api/structures.rst:404 c-api/structures.rst:500
#: c-api/structures.rst:412 c-api/structures.rst:508
msgid "Field"
msgstr "Champ"
#: c-api/structures.rst:404 c-api/structures.rst:500
#: c-api/structures.rst:412 c-api/structures.rst:508
msgid "C Type"
msgstr "Type C"
#: c-api/structures.rst:404 c-api/structures.rst:500
#: c-api/structures.rst:412 c-api/structures.rst:508
msgid "Meaning"
msgstr "Signification"
#: c-api/structures.rst:248
#: c-api/structures.rst:253
msgid ":attr:`ml_name`"
msgstr ""
#: c-api/structures.rst:256 c-api/structures.rst:419 c-api/structures.rst:502
#: c-api/structures.rst:510
#: c-api/structures.rst:261 c-api/structures.rst:427 c-api/structures.rst:510
#: c-api/structures.rst:518
msgid "const char \\*"
msgstr ""
#: c-api/structures.rst:248
#: c-api/structures.rst:253
msgid "name of the method"
msgstr ""
#: c-api/structures.rst:250
#: c-api/structures.rst:255
msgid ":attr:`ml_meth`"
msgstr ""
#: c-api/structures.rst:250
#: c-api/structures.rst:255
msgid "PyCFunction"
msgstr "PyCFunction"
#: c-api/structures.rst:250
#: c-api/structures.rst:255
msgid "pointer to the C implementation"
msgstr ""
#: c-api/structures.rst:253
#: c-api/structures.rst:258
msgid ":attr:`ml_flags`"
msgstr ""
#: c-api/structures.rst:408 c-api/structures.rst:431
#: c-api/structures.rst:416 c-api/structures.rst:439
msgid "int"
msgstr "*int*"
#: c-api/structures.rst:253
#: c-api/structures.rst:258
msgid "flag bits indicating how the call should be constructed"
msgstr ""
#: c-api/structures.rst:256
#: c-api/structures.rst:261
msgid ":attr:`ml_doc`"
msgstr ""
#: c-api/structures.rst:419
#: c-api/structures.rst:427
msgid "points to the contents of the docstring"
msgstr ""
#: c-api/structures.rst:260
#: c-api/structures.rst:265
msgid ""
"The :attr:`ml_meth` is a C function pointer. The functions may be of "
"different types, but they always return :c:type:`PyObject*`. If the "
@ -290,18 +298,18 @@ msgid ""
"implementation uses the specific C type of the *self* object."
msgstr ""
#: c-api/structures.rst:267
#: c-api/structures.rst:272
msgid ""
"The :attr:`ml_flags` field is a bitfield which can include the following "
"flags. The individual flags indicate either a calling convention or a "
"binding convention."
msgstr ""
#: c-api/structures.rst:271
#: c-api/structures.rst:276
msgid "There are these calling conventions:"
msgstr ""
#: c-api/structures.rst:275
#: c-api/structures.rst:280
msgid ""
"This is the typical calling convention, where the methods have the type :c:"
"type:`PyCFunction`. The function expects two :c:type:`PyObject*` values. The "
@ -311,7 +319,7 @@ msgid ""
"func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`."
msgstr ""
#: c-api/structures.rst:285
#: c-api/structures.rst:290
msgid ""
"Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. "
"The function expects three parameters: *self*, *args*, *kwargs* where "
@ -320,7 +328,7 @@ msgid ""
"using :c:func:`PyArg_ParseTupleAndKeywords`."
msgstr ""
#: c-api/structures.rst:294
#: c-api/structures.rst:299
msgid ""
"Fast calling convention supporting only positional arguments. The methods "
"have the type :c:type:`_PyCFunctionFast`. The first parameter is *self*, the "
@ -329,11 +337,11 @@ msgid ""
"the array)."
msgstr ""
#: c-api/structures.rst:304
#: c-api/structures.rst:309
msgid "``METH_FASTCALL`` is now part of the stable ABI."
msgstr ""
#: c-api/structures.rst:309
#: c-api/structures.rst:314
msgid ""
"Extension of :const:`METH_FASTCALL` supporting also keyword arguments, with "
"methods of type :c:type:`_PyCFunctionFastWithKeywords`. Keyword arguments "
@ -345,25 +353,25 @@ msgid ""
"arguments."
msgstr ""
#: c-api/structures.rst:319
#: c-api/structures.rst:324
msgid "This is not part of the :ref:`limited API <stable>`."
msgstr ""
#: c-api/structures.rst:326
#: c-api/structures.rst:331
msgid ""
"Extension of :const:`METH_FASTCALL | METH_KEYWORDS` supporting the *defining "
"class*, that is, the class that contains the method in question. The "
"defining class might be a superclass of ``Py_TYPE(self)``."
msgstr ""
#: c-api/structures.rst:330
#: c-api/structures.rst:335
msgid ""
"The method needs to be of type :c:type:`PyCMethod`, the same as for "
"``METH_FASTCALL | METH_KEYWORDS`` with ``defining_class`` argument added "
"after ``self``."
msgstr ""
#: c-api/structures.rst:339
#: c-api/structures.rst:344
msgid ""
"Methods without parameters don't need to check whether arguments are given "
"if they are listed with the :const:`METH_NOARGS` flag. They need to be of "
@ -372,7 +380,13 @@ msgid ""
"the second parameter will be ``NULL``."
msgstr ""
#: c-api/structures.rst:348
#: c-api/structures.rst:350
msgid ""
"The function must have 2 parameters. Since the second parameter is unused, :"
"c:macro:`Py_UNUSED` can be used to prevent a compiler warning."
msgstr ""
#: c-api/structures.rst:356
msgid ""
"Methods with a single object argument can be listed with the :const:`METH_O` "
"flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``\"O\"`` "
@ -381,7 +395,7 @@ msgid ""
"argument."
msgstr ""
#: c-api/structures.rst:354
#: c-api/structures.rst:362
msgid ""
"These two constants are not used to indicate the calling convention but the "
"binding when use with methods of classes. These may not be used for "
@ -389,27 +403,27 @@ msgid ""
"any given method."
msgstr ""
#: c-api/structures.rst:364
#: c-api/structures.rst:372
msgid ""
"The method will be passed the type object as the first parameter rather than "
"an instance of the type. This is used to create *class methods*, similar to "
"what is created when using the :func:`classmethod` built-in function."
msgstr ""
#: c-api/structures.rst:374
#: c-api/structures.rst:382
msgid ""
"The method will be passed ``NULL`` as the first parameter rather than an "
"instance of the type. This is used to create *static methods*, similar to "
"what is created when using the :func:`staticmethod` built-in function."
msgstr ""
#: c-api/structures.rst:378
#: c-api/structures.rst:386
msgid ""
"One other constant controls whether a method is loaded in place of another "
"definition with the same method name."
msgstr ""
#: c-api/structures.rst:384
#: c-api/structures.rst:392
msgid ""
"The method will be loaded in place of existing definitions. Without "
"*METH_COEXIST*, the default is to skip repeated definitions. Since slot "
@ -422,193 +436,193 @@ msgid ""
"calls."
msgstr ""
#: c-api/structures.rst:396
#: c-api/structures.rst:404
msgid "Accessing attributes of extension types"
msgstr ""
#: c-api/structures.rst:400
#: c-api/structures.rst:408
msgid ""
"Structure which describes an attribute of a type which corresponds to a C "
"struct member. Its fields are:"
msgstr ""
#: c-api/structures.rst:406
#: c-api/structures.rst:414
msgid ":attr:`name`"
msgstr ""
#: c-api/structures.rst:406
#: c-api/structures.rst:414
msgid "name of the member"
msgstr ""
#: c-api/structures.rst:408
#: c-api/structures.rst:416
msgid ":attr:`!type`"
msgstr ""
#: c-api/structures.rst:408
#: c-api/structures.rst:416
msgid "the type of the member in the C struct"
msgstr ""
#: c-api/structures.rst:411
#: c-api/structures.rst:419
msgid ":attr:`offset`"
msgstr ""
#: c-api/structures.rst:447
#: c-api/structures.rst:455
msgid "Py_ssize_t"
msgstr ""
#: c-api/structures.rst:411
#: c-api/structures.rst:419
msgid ""
"the offset in bytes that the member is located on the type's object struct"
msgstr ""
#: c-api/structures.rst:415
#: c-api/structures.rst:423
msgid ":attr:`flags`"
msgstr ""
#: c-api/structures.rst:415
#: c-api/structures.rst:423
msgid "flag bits indicating if the field should be read-only or writable"
msgstr ""
#: c-api/structures.rst:419
#: c-api/structures.rst:427
msgid ":attr:`doc`"
msgstr ""
#: c-api/structures.rst:423
#: c-api/structures.rst:431
msgid ""
":attr:`!type` can be one of many ``T_`` macros corresponding to various C "
"types. When the member is accessed in Python, it will be converted to the "
"equivalent Python type."
msgstr ""
#: c-api/structures.rst:428
#: c-api/structures.rst:436
msgid "Macro name"
msgstr ""
#: c-api/structures.rst:428
#: c-api/structures.rst:436
msgid "C type"
msgstr "Type C"
#: c-api/structures.rst:430
#: c-api/structures.rst:438
msgid "T_SHORT"
msgstr ""
#: c-api/structures.rst:430
#: c-api/structures.rst:438
msgid "short"
msgstr ""
#: c-api/structures.rst:431
#: c-api/structures.rst:439
msgid "T_INT"
msgstr ""
#: c-api/structures.rst:432
#: c-api/structures.rst:440
msgid "T_LONG"
msgstr ""
#: c-api/structures.rst:432
#: c-api/structures.rst:440
msgid "long"
msgstr ""
#: c-api/structures.rst:433
#: c-api/structures.rst:441
msgid "T_FLOAT"
msgstr ""
#: c-api/structures.rst:433
#: c-api/structures.rst:441
msgid "float"
msgstr "*float*"
#: c-api/structures.rst:434
#: c-api/structures.rst:442
msgid "T_DOUBLE"
msgstr ""
#: c-api/structures.rst:434
#: c-api/structures.rst:442
msgid "double"
msgstr "double"
#: c-api/structures.rst:435
#: c-api/structures.rst:443
msgid "T_STRING"
msgstr ""
#: c-api/structures.rst:436
#: c-api/structures.rst:444
msgid "T_OBJECT"
msgstr ""
#: c-api/structures.rst:437
#: c-api/structures.rst:445
msgid "PyObject \\*"
msgstr "PyObject \\*"
#: c-api/structures.rst:437
#: c-api/structures.rst:445
msgid "T_OBJECT_EX"
msgstr ""
#: c-api/structures.rst:438
#: c-api/structures.rst:446
msgid "T_CHAR"
msgstr ""
#: c-api/structures.rst:439 c-api/structures.rst:444
#: c-api/structures.rst:447 c-api/structures.rst:452
msgid "char"
msgstr "char"
#: c-api/structures.rst:439
#: c-api/structures.rst:447
msgid "T_BYTE"
msgstr ""
#: c-api/structures.rst:440
#: c-api/structures.rst:448
msgid "T_UBYTE"
msgstr ""
#: c-api/structures.rst:440
#: c-api/structures.rst:448
msgid "unsigned char"
msgstr "``unsigned char``"
#: c-api/structures.rst:441
#: c-api/structures.rst:449
msgid "T_UINT"
msgstr ""
#: c-api/structures.rst:441
#: c-api/structures.rst:449
msgid "unsigned int"
msgstr "``unsigned int``"
#: c-api/structures.rst:442
#: c-api/structures.rst:450
msgid "T_USHORT"
msgstr ""
#: c-api/structures.rst:442
#: c-api/structures.rst:450
msgid "unsigned short"
msgstr "``unsigned short``"
#: c-api/structures.rst:443
#: c-api/structures.rst:451
msgid "T_ULONG"
msgstr ""
#: c-api/structures.rst:443
#: c-api/structures.rst:451
msgid "unsigned long"
msgstr "``unsigned long``"
#: c-api/structures.rst:444
#: c-api/structures.rst:452
msgid "T_BOOL"
msgstr ""
#: c-api/structures.rst:445
#: c-api/structures.rst:453
msgid "T_LONGLONG"
msgstr ""
#: c-api/structures.rst:445
#: c-api/structures.rst:453
msgid "long long"
msgstr ""
#: c-api/structures.rst:446
#: c-api/structures.rst:454
msgid "T_ULONGLONG"
msgstr ""
#: c-api/structures.rst:446
#: c-api/structures.rst:454
msgid "unsigned long long"
msgstr "``unsigned long long``"
#: c-api/structures.rst:447
#: c-api/structures.rst:455
msgid "T_PYSSIZET"
msgstr ""
#: c-api/structures.rst:450
#: c-api/structures.rst:458
msgid ""
":c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` differ in that :c:macro:"
"`T_OBJECT` returns ``None`` if the member is ``NULL`` and :c:macro:"
@ -618,7 +632,7 @@ msgid ""
"than :c:macro:`T_OBJECT`."
msgstr ""
#: c-api/structures.rst:457
#: c-api/structures.rst:465
msgid ""
":attr:`flags` can be ``0`` for write and read access or :c:macro:`READONLY` "
"for read-only access. Using :c:macro:`T_STRING` for :attr:`type` implies :c:"
@ -627,7 +641,7 @@ msgid ""
"are set to ``NULL``)."
msgstr ""
#: c-api/structures.rst:465
#: c-api/structures.rst:473
msgid ""
"Heap allocated types (created using :c:func:`PyType_FromSpec` or similar), "
"``PyMemberDef`` may contain definitions for the special members "
@ -638,99 +652,99 @@ msgid ""
"``T_PYSSIZET`` and ``READONLY``, for example::"
msgstr ""
#: c-api/structures.rst:482
#: c-api/structures.rst:490
msgid ""
"Get an attribute belonging to the object at address *obj_addr*. The "
"attribute is described by ``PyMemberDef`` *m*. Returns ``NULL`` on error."
msgstr ""
#: c-api/structures.rst:489
#: c-api/structures.rst:497
msgid ""
"Set an attribute belonging to the object at address *obj_addr* to object "
"*o*. The attribute to set is described by ``PyMemberDef`` *m*. Returns "
"``0`` if successful and a negative value on failure."
msgstr ""
#: c-api/structures.rst:496
#: c-api/structures.rst:504
msgid ""
"Structure to define property-like access for a type. See also description of "
"the :c:member:`PyTypeObject.tp_getset` slot."
msgstr ""
#: c-api/structures.rst:502
#: c-api/structures.rst:510
msgid "name"
msgstr ""
#: c-api/structures.rst:502
#: c-api/structures.rst:510
msgid "attribute name"
msgstr ""
#: c-api/structures.rst:504
#: c-api/structures.rst:512
msgid "get"
msgstr ""
#: c-api/structures.rst:504
#: c-api/structures.rst:512
msgid "getter"
msgstr ""
#: c-api/structures.rst:504
msgid "C Function to get the attribute"
#: c-api/structures.rst:512
msgid "C function to get the attribute"
msgstr ""
#: c-api/structures.rst:506
#: c-api/structures.rst:514
msgid "set"
msgstr ""
#: c-api/structures.rst:506
#: c-api/structures.rst:514
msgid "setter"
msgstr ""
#: c-api/structures.rst:506
#: c-api/structures.rst:514
msgid ""
"optional C function to set or delete the attribute, if omitted the attribute "
"is readonly"
msgstr ""
#: c-api/structures.rst:510
#: c-api/structures.rst:518
msgid "doc"
msgstr ""
#: c-api/structures.rst:510
#: c-api/structures.rst:518
msgid "optional docstring"
msgstr ""
#: c-api/structures.rst:512
#: c-api/structures.rst:520
msgid "closure"
msgstr ""
#: c-api/structures.rst:512
#: c-api/structures.rst:520
msgid "void \\*"
msgstr ""
#: c-api/structures.rst:512
#: c-api/structures.rst:520
msgid ""
"optional function pointer, providing additional data for getter and setter"
msgstr ""
#: c-api/structures.rst:517
#: c-api/structures.rst:525
msgid ""
"The ``get`` function takes one :c:type:`PyObject*` parameter (the instance) "
"and a function pointer (the associated ``closure``)::"
msgstr ""
#: c-api/structures.rst:522
#: c-api/structures.rst:530
msgid ""
"It should return a new reference on success or ``NULL`` with a set exception "
"on failure."
msgstr ""
#: c-api/structures.rst:525
#: c-api/structures.rst:533
msgid ""
"``set`` functions take two :c:type:`PyObject*` parameters (the instance and "
"the value to be set) and a function pointer (the associated ``closure``)::"
msgstr ""
#: c-api/structures.rst:530
#: c-api/structures.rst:538
msgid ""
"In case the attribute should be deleted the second parameter is ``NULL``. "
"Should return ``0`` on success or ``-1`` with a set exception on failure."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -108,9 +108,9 @@ msgstr ""
msgid ""
"Return true when the interpreter runs out of stack space. This is a "
"reliable check, but is only available when :const:`USE_STACKCHECK` is "
"defined (currently on Windows using the Microsoft Visual C++ compiler). :"
"const:`USE_STACKCHECK` will be defined automatically; you should never "
"change the definition in your own code."
"defined (currently on certain versions of Windows using the Microsoft Visual "
"C++ compiler). :const:`USE_STACKCHECK` will be defined automatically; you "
"should never change the definition in your own code."
msgstr ""
#: c-api/sys.rst:106
@ -197,7 +197,7 @@ msgid ""
"<utf8-mode>`."
msgstr ""
#: c-api/sys.rst:208
#: c-api/sys.rst:166
msgid ""
"The function now uses the UTF-8 encoding on Windows if :c:data:"
"`Py_LegacyWindowsFSEncodingFlag` is zero;"
@ -215,7 +215,7 @@ msgstr ""
msgid ""
"Return a pointer to a newly allocated byte string, use :c:func:`PyMem_Free` "
"to free the memory. Return ``NULL`` on encoding error or memory allocation "
"error"
"error."
msgstr ""
#: c-api/sys.rst:182
@ -236,6 +236,12 @@ msgid ""
"functions."
msgstr ""
#: c-api/sys.rst:208
msgid ""
"The function now uses the UTF-8 encoding on Windows if :c:data:"
"`Py_LegacyWindowsFSEncodingFlag` is zero."
msgstr ""
#: c-api/sys.rst:216
msgid "System Functions"
msgstr ""
@ -295,18 +301,26 @@ msgstr ""
#: c-api/sys.rst:267
msgid ""
"This API is kept for backward compatibility: setting :c:member:`PyConfig."
"module_search_paths` and :c:member:`PyConfig.module_search_paths_set` should "
"be used instead, see :ref:`Python Initialization Configuration <init-"
"config>`."
msgstr ""
#: c-api/sys.rst:272
msgid ""
"Set :data:`sys.path` to a list object of paths found in *path* which should "
"be a list of paths separated with the platform's search path delimiter (``:"
"`` on Unix, ``;`` on Windows)."
msgstr ""
#: c-api/sys.rst:273
#: c-api/sys.rst:280
msgid ""
"Write the output string described by *format* to :data:`sys.stdout`. No "
"exceptions are raised, even if truncation occurs (see below)."
msgstr ""
#: c-api/sys.rst:276
#: c-api/sys.rst:283
msgid ""
"*format* should limit the total size of the formatted output string to 1000 "
"bytes or less -- after 1000 bytes, the output string is truncated. In "
@ -317,58 +331,58 @@ msgid ""
"of digits for very large numbers."
msgstr ""
#: c-api/sys.rst:284
#: c-api/sys.rst:291
msgid ""
"If a problem occurs, or :data:`sys.stdout` is unset, the formatted message "
"is written to the real (C level) *stdout*."
msgstr ""
#: c-api/sys.rst:289
#: c-api/sys.rst:296
msgid ""
"As :c:func:`PySys_WriteStdout`, but write to :data:`sys.stderr` or *stderr* "
"instead."
msgstr ""
#: c-api/sys.rst:294
#: c-api/sys.rst:301
msgid ""
"Function similar to PySys_WriteStdout() but format the message using :c:func:"
"`PyUnicode_FromFormatV` and don't truncate the message to an arbitrary "
"length."
msgstr ""
#: c-api/sys.rst:302
#: c-api/sys.rst:309
msgid ""
"As :c:func:`PySys_FormatStdout`, but write to :data:`sys.stderr` or *stderr* "
"instead."
msgstr ""
#: c-api/sys.rst:309
#: c-api/sys.rst:316
msgid ""
"This API is kept for backward compatibility: setting :c:member:`PyConfig."
"xoptions` should be used instead, see :ref:`Python Initialization "
"Configuration <init-config>`."
msgstr ""
#: c-api/sys.rst:313
#: c-api/sys.rst:320
msgid ""
"Parse *s* as a set of :option:`-X` options and add them to the current "
"options mapping as returned by :c:func:`PySys_GetXOptions`. This function "
"may be called prior to :c:func:`Py_Initialize`."
msgstr ""
#: c-api/sys.rst:323
#: c-api/sys.rst:330
msgid ""
"Return the current dictionary of :option:`-X` options, similarly to :data:"
"`sys._xoptions`. On error, ``NULL`` is returned and an exception is set."
msgstr ""
#: c-api/sys.rst:332
#: c-api/sys.rst:339
msgid ""
"Raise an auditing event with any active hooks. Return zero for success and "
"non-zero with an exception set on failure."
msgstr ""
#: c-api/sys.rst:335
#: c-api/sys.rst:342
msgid ""
"If any hooks have been added, *format* and other arguments will be used to "
"construct a tuple to pass. Apart from ``N``, the same format characters as "
@ -379,38 +393,38 @@ msgid ""
"leaks.)"
msgstr ""
#: c-api/sys.rst:343
#: c-api/sys.rst:350
msgid ""
"Note that ``#`` format characters should always be treated as "
"``Py_ssize_t``, regardless of whether ``PY_SSIZE_T_CLEAN`` was defined."
"Note that ``#`` format characters should always be treated as :c:type:"
"`Py_ssize_t`, regardless of whether ``PY_SSIZE_T_CLEAN`` was defined."
msgstr ""
#: c-api/sys.rst:346
#: c-api/sys.rst:353
msgid ":func:`sys.audit` performs the same function from Python code."
msgstr ""
#: c-api/sys.rst:352
#: c-api/sys.rst:359
msgid ""
"Require ``Py_ssize_t`` for ``#`` format characters. Previously, an "
"Require :c:type:`Py_ssize_t` for ``#`` format characters. Previously, an "
"unavoidable deprecation warning was raised."
msgstr ""
#: c-api/sys.rst:358
#: c-api/sys.rst:365
msgid ""
"Append the callable *hook* to the list of active auditing hooks. Return zero "
"for success and non-zero on failure. If the runtime has been initialized, "
"on success and non-zero on failure. If the runtime has been initialized, "
"also set an error on failure. Hooks added through this API are called for "
"all interpreters created by the runtime."
msgstr ""
#: c-api/sys.rst:364
#: c-api/sys.rst:371
msgid ""
"The *userData* pointer is passed into the hook function. Since hook "
"functions may be called from different runtimes, this pointer should not "
"refer directly to Python state."
msgstr ""
#: c-api/sys.rst:368
#: c-api/sys.rst:375
msgid ""
"This function is safe to call before :c:func:`Py_Initialize`. When called "
"after runtime initialization, existing audit hooks are notified and may "
@ -418,7 +432,7 @@ msgid ""
"`Exception` (other errors will not be silenced)."
msgstr ""
#: c-api/sys.rst:373
#: c-api/sys.rst:380
msgid ""
"The hook function is of type :c:type:`int (*)(const char *event, PyObject "
"*args, void *userData)`, where *args* is guaranteed to be a :c:type:"
@ -426,14 +440,14 @@ msgid ""
"Python interpreter that raised the event."
msgstr ""
#: c-api/sys.rst:378
#: c-api/sys.rst:385
msgid ""
"See :pep:`578` for a detailed description of auditing. Functions in the "
"runtime and standard library that raise events are listed in the :ref:`audit "
"events table <audit-events>`. Details are in each function's documentation."
msgstr ""
#: c-api/sys.rst:383
#: c-api/sys.rst:390
msgid ""
"Raises an :ref:`auditing event <auditing>` ``sys.addaudithook`` with no "
"arguments."
@ -441,7 +455,7 @@ msgstr ""
"Déclenche un :ref:`événement d'audit <auditing>` ``sys.addaudithook`` sans "
"arguments."
#: c-api/sys.rst:385
#: c-api/sys.rst:392
msgid ""
"If the interpreter is initialized, this function raises a auditing event "
"``sys.addaudithook`` with no arguments. If any existing hooks raise an "
@ -450,11 +464,11 @@ msgid ""
"hook has been added unless they control all existing hooks."
msgstr ""
#: c-api/sys.rst:397
#: c-api/sys.rst:404
msgid "Process Control"
msgstr ""
#: c-api/sys.rst:404
#: c-api/sys.rst:411
msgid ""
"Print a fatal error message and kill the process. No cleanup is performed. "
"This function should only be invoked when a condition is detected that would "
@ -464,29 +478,29 @@ msgid ""
"file:`core` file."
msgstr ""
#: c-api/sys.rst:411
#: c-api/sys.rst:418
msgid ""
"The ``Py_FatalError()`` function is replaced with a macro which logs "
"automatically the name of the current function, unless the "
"``Py_LIMITED_API`` macro is defined."
msgstr ""
#: c-api/sys.rst:415
#: c-api/sys.rst:422
msgid "Log the function name automatically."
msgstr ""
#: c-api/sys.rst:425
#: c-api/sys.rst:432
msgid ""
"Exit the current process. This calls :c:func:`Py_FinalizeEx` and then calls "
"the standard C library function ``exit(status)``. If :c:func:"
"`Py_FinalizeEx` indicates an error, the exit status is set to 120."
msgstr ""
#: c-api/sys.rst:429
#: c-api/sys.rst:436
msgid "Errors from finalization no longer ignored."
msgstr ""
#: c-api/sys.rst:439
#: c-api/sys.rst:446
msgid ""
"Register a cleanup function to be called by :c:func:`Py_FinalizeEx`. The "
"cleanup function will be called with no arguments and should return no "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -106,7 +106,7 @@ msgstr ""
#: c-api/tuple.rst:94
msgid ""
"This macro \"steals\" a reference to *o*, and, unlike :c:func:"
"This function \"steals\" a reference to *o*, and, unlike :c:func:"
"`PyTuple_SetItem`, does *not* discard a reference to any item that is being "
"replaced; any reference in the tuple at position *pos* will be leaked."
msgstr ""
@ -264,10 +264,12 @@ msgid ""
"new instances."
msgstr ""
#: c-api/tuple.rst:222
#: c-api/tuple.rst:223
msgid "This function \"steals\" a reference to *o*."
msgstr ""
#: c-api/tuple.rst:218
msgid "Macro equivalent of :c:func:`PyStructSequence_SetItem`."
msgid ""
"Similar to :c:func:`PyStructSequence_SetItem`, but implemented as a static "
"inlined function."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2018-02-15 00:33+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -375,13 +375,13 @@ msgid ""
msgstr ""
#: c-api/type.rst:299
msgid "Slots in :c:type:`PyBufferProcs` in may be set in the unlimited API."
msgid "Slots in :c:type:`PyBufferProcs` may be set in the unlimited API."
msgstr ""
#: c-api/type.rst:301
msgid ""
":c:member:`~PyBufferProcs.bf_getbuffer` and :c:member:`~PyBufferProcs."
"bf_releasebuffer` are now available under limited API."
"bf_releasebuffer` are now available under the limited API."
msgstr ""
#: c-api/type.rst:308

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -113,7 +113,7 @@ msgstr ""
#: c-api/typeobj.rst:48 c-api/typeobj.rst:99 c-api/typeobj.rst:0
#: c-api/typeobj.rst:408
msgid "Py_ssize_t"
msgid ":c:type:`Py_ssize_t`"
msgstr ""
#: c-api/typeobj.rst:48

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-12-16 17:25+0100\n"
"Last-Translator: Andy Kwok <andy.kwok.work@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -116,9 +116,8 @@ msgstr ""
"encore."
#: c-api/weakref.rst:69
msgid ""
"Similar to :c:func:`PyWeakref_GetObject`, but implemented as a macro that "
"does no error checking."
#, fuzzy
msgid "Similar to :c:func:`PyWeakref_GetObject`, but does no error checking."
msgstr ""
"Similaire à :c:func:`PyWeakref_GetObject`, mais implémenté comme une macro "
"qui ne vérifie pas les erreurs."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-12-31 11:33+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2020-02-04 21:21+0100\n"
"Last-Translator: ZepmanBC <zepman@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -176,8 +176,8 @@ msgstr ""
#: distutils/sourcedist.rst:65
msgid ""
"deprecated by `PEP 527 <https://www.python.org/dev/peps/pep-0527/>`_; `PyPI "
"<https://pypi.org>`_ only accepts ``.zip`` and ``.tar.gz`` files."
"deprecated by `PEP 527 <https://peps.python.org/pep-0527/>`_; `PyPI <https://"
"pypi.org>`_ only accepts ``.zip`` and ``.tar.gz`` files."
msgstr ""
#: distutils/sourcedist.rst:68

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-09-25 11:25+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -127,12 +127,13 @@ msgid "The first bit is::"
msgstr "Commençons par ::"
#: extending/newtypes_tutorial.rst:67
#, fuzzy
msgid ""
"This is what a Custom object will contain. ``PyObject_HEAD`` is mandatory "
"at the start of each object struct and defines a field called ``ob_base`` of "
"type :c:type:`PyObject`, containing a pointer to a type object and a "
"reference count (these can be accessed using the macros :c:macro:`Py_REFCNT` "
"and :c:macro:`Py_TYPE` respectively). The reason for the macro is to "
"reference count (these can be accessed using the macros :c:macro:`Py_TYPE` "
"and :c:macro:`Py_REFCNT` respectively). The reason for the macro is to "
"abstract away the layout and to enable additional fields in :ref:`debug "
"builds <debug-build>`."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2020-06-28 15:18+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -215,16 +215,16 @@ msgid "Using DLLs in Practice"
msgstr "Utiliser les DLL en pratique"
#: extending/windows.rst:108
#, fuzzy
msgid ""
"Windows Python is built in Microsoft Visual C++; using other compilers may "
"or may not work (though Borland seems to). The rest of this section is MSVC+"
"+ specific."
"or may not work. The rest of this section is MSVC++ specific."
msgstr ""
"Le Python de Windows est construit en Microsoft Visual C++ ; utiliser "
"d'autres compilateurs pourrait fonctionner, ou pas (cependant Borland a "
"l'air de fonctionner). Le reste de cette section est spécifique à MSVC++."
#: extending/windows.rst:112
#: extending/windows.rst:111
msgid ""
"When creating DLLs in Windows, you must pass :file:`pythonXY.lib` to the "
"linker. To build two DLLs, spam and ni (which uses C functions found in "
@ -234,7 +234,7 @@ msgstr ""
"`pythonXY.lib` au lieur. Pour construire deux DLL, spam et ni (qui utilisent "
"des fonctions C trouvées dans spam), vous pouvez utiliser ces commandes ::"
#: extending/windows.rst:119
#: extending/windows.rst:118
msgid ""
"The first command created three files: :file:`spam.obj`, :file:`spam.dll` "
"and :file:`spam.lib`. :file:`Spam.dll` does not contain any Python "
@ -246,7 +246,7 @@ msgstr ""
"Python (telles que :c:func:`PyArg_ParseTuple`), mais il sait comment trouver "
"le code Python grâce à :file:`pythonXY.lib`."
#: extending/windows.rst:124
#: extending/windows.rst:123
msgid ""
"The second command created :file:`ni.dll` (and :file:`.obj` and :file:`."
"lib`), which knows how to find the necessary functions from spam, and also "
@ -256,7 +256,7 @@ msgstr ""
"qui sait comment trouver les fonctions nécessaires dans spam, ainsi qu'à "
"partir de l'exécutable Python."
#: extending/windows.rst:128
#: extending/windows.rst:127
msgid ""
"Not every identifier is exported to the lookup table. If you want any other "
"modules (including Python) to be able to see your identifiers, you have to "
@ -269,7 +269,7 @@ msgstr ""
"``void _declspec(dllexport) initspam(void)`` ou ``PyObject "
"_declspec(dllexport) *NiGetSpamData(void)``."
#: extending/windows.rst:133
#: extending/windows.rst:132
msgid ""
"Developer Studio will throw in a lot of import libraries that you do not "
"really need, adding about 100K to your executable. To get rid of them, use "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-12-16 02:40+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -513,51 +513,35 @@ msgid "How do I submit bug reports and patches for Python?"
msgstr "Comment soumettre un rapport de bogues ou un correctif pour Python ?"
#: faq/general.rst:233
#, fuzzy
msgid ""
"To report a bug or submit a patch, please use the Roundup installation at "
"https://bugs.python.org/."
"To report a bug or submit a patch, use the issue tracker at https://github."
"com/python/cpython/issues."
msgstr ""
"Pour reporter un bogue ou soumettre un correctif, merci d'utiliser https://"
"bugs.python.org/."
#: faq/general.rst:236
msgid ""
"You must have a Roundup account to report bugs; this makes it possible for "
"us to contact you if we have follow-up questions. It will also enable "
"Roundup to send you updates as we act on your bug. If you had previously "
"used SourceForge to report bugs to Python, you can obtain your Roundup "
"password through Roundup's `password reset procedure <https://bugs.python."
"org/user?@template=forgotten>`_."
msgstr ""
"Vous devez avoir un compte Roundup pour reporter des bogues; cela nous "
"permet de vous contacter si nous avons des questions complémentaires. Cela "
"permettra aussi le suivi de traitement de votre bogue. Si vous avez "
"auparavant utilisé SourceForge pour reporter des bogues sur Python, vous "
"pouvez obtenir un mot de passe Roundup grâce à la `procédure de "
"réinitialisation de mot de passe de Roundup <https://bugs.python.org/user?"
"@template=forgotten>`_."
#: faq/general.rst:242
msgid ""
"For more information on how Python is developed, consult `the Python "
"Developer's Guide <https://devguide.python.org/>`_."
msgstr ""
"Pour davantage d'informations sur comment Python est développé, consultez "
"`le Guide du Développeur Python <https://devguide.python.org/>`_."
#: faq/general.rst:247
#: faq/general.rst:241
msgid "Are there any published articles about Python that I can reference?"
msgstr ""
"Existe-t-il des articles publiés au sujet de Python auxquels je peux me "
"référer ?"
#: faq/general.rst:249
#: faq/general.rst:243
msgid "It's probably best to cite your favorite book about Python."
msgstr ""
"C'est probablement mieux de vous référer à votre livre favori à propos de "
"Python."
#: faq/general.rst:251
#: faq/general.rst:245
msgid ""
"The very first article about Python was written in 1991 and is now quite "
"outdated."
@ -565,7 +549,7 @@ msgstr ""
"Le tout premier article à propos de Python a été écrit en 1991 et est "
"maintenant obsolète."
#: faq/general.rst:254
#: faq/general.rst:248
msgid ""
"Guido van Rossum and Jelke de Boer, \"Interactively Testing Remote Servers "
"Using the Python Programming Language\", CWI Quarterly, Volume 4, Issue 4 "
@ -575,11 +559,11 @@ msgstr ""
"Using the Python Programming Language* », CWI Quarterly, Volume 4, Issue 4 "
"(December 1991), Amsterdam, pp 283--303."
#: faq/general.rst:260
#: faq/general.rst:254
msgid "Are there any books on Python?"
msgstr "Y a-t-il des livres au sujet de Python ?"
#: faq/general.rst:262
#: faq/general.rst:256
msgid ""
"Yes, there are many, and more are being published. See the python.org wiki "
"at https://wiki.python.org/moin/PythonBooks for a list."
@ -587,7 +571,7 @@ msgstr ""
"Oui, il y en a beaucoup, et d'autres sont en cours de publication. Voir le "
"wiki python à https://wiki.python.org/moin/PythonBooks pour avoir une liste."
#: faq/general.rst:265
#: faq/general.rst:259
msgid ""
"You can also search online bookstores for \"Python\" and filter out the "
"Monty Python references; or perhaps search for \"Python\" and \"language\"."
@ -596,11 +580,11 @@ msgstr ""
"terme « Python » et éliminer les références concernant les Monty Python, ou "
"peut-être faire une recherche avec les termes « langage » et « Python »."
#: faq/general.rst:270
#: faq/general.rst:264
msgid "Where in the world is www.python.org located?"
msgstr "Où www.python.org est-il localisé dans le monde ?"
#: faq/general.rst:272
#: faq/general.rst:266
msgid ""
"The Python project's infrastructure is located all over the world and is "
"managed by the Python Infrastructure Team. Details `here <http://infra.psf."
@ -610,11 +594,11 @@ msgstr ""
"gérée par l'équipe de l'infrastructure Python. Plus de détails `ici <http://"
"infra.psf.io>`__."
#: faq/general.rst:277
#: faq/general.rst:271
msgid "Why is it called Python?"
msgstr "Pourquoi le nom Python ?"
#: faq/general.rst:279
#: faq/general.rst:273
msgid ""
"When he began implementing Python, Guido van Rossum was also reading the "
"published scripts from `\"Monty Python's Flying Circus\" <https://en."
@ -628,23 +612,23 @@ msgstr ""
"BBC. Van Rossum a pensé qu'il avait besoin d'un nom court, unique, et un peu "
"mystérieux, donc il a décidé de l'appeler le langage Python."
#: faq/general.rst:287
#: faq/general.rst:281
msgid "Do I have to like \"Monty Python's Flying Circus\"?"
msgstr "Dois-je aimer \"Monty Python's Flying Circus\" ?"
#: faq/general.rst:289
#: faq/general.rst:283
msgid "No, but it helps. :)"
msgstr "Non, mais ça peut aider. :)"
#: faq/general.rst:293
#: faq/general.rst:287
msgid "Python in the real world"
msgstr "Python c'est le monde réel"
#: faq/general.rst:296
#: faq/general.rst:290
msgid "How stable is Python?"
msgstr "Quel est le niveau de stabilité de Python ?"
#: faq/general.rst:298
#: faq/general.rst:292
msgid ""
"Very stable. New, stable releases have been coming out roughly every 6 to "
"18 months since 1991, and this seems likely to continue. As of version 3.9, "
@ -654,7 +638,7 @@ msgstr ""
"depuis 1991, et il semble probable que ça continue. À partir de la version "
"3.9, Python aura une nouvelle version majeure tous les 12 mois (:pep:`602`)."
#: faq/general.rst:302
#: faq/general.rst:296
msgid ""
"The developers issue \"bugfix\" releases of older versions, so the stability "
"of existing releases gradually improves. Bugfix releases, indicated by a "
@ -671,13 +655,14 @@ msgstr ""
"garanti que les interfaces resteront les mêmes tout au long de la série de "
"versions correctives."
#: faq/general.rst:309
#: faq/general.rst:303
#, fuzzy
msgid ""
"The latest stable releases can always be found on the `Python download page "
"<https://www.python.org/downloads/>`_. There are two production-ready "
"versions of Python: 2.x and 3.x. The recommended version is 3.x, which is "
"supported by most widely used libraries. Although 2.x is still widely used, "
"`it is not maintained anymore <https://www.python.org/dev/peps/pep-0373/>`_."
"`it is not maintained anymore <https://peps.python.org/pep-0373/>`_."
msgstr ""
"Les dernières versions stables peuvent toujours être trouvées sur la `page "
"de téléchargement Python <https://www.python.org/downloads/>`_. Il existe "
@ -686,11 +671,11 @@ msgstr ""
"largement utilisées. Bien que Python 2 soit encore utilisé, `il n'est "
"désormais plus maintenu <https://www.python.org/dev/peps/pep-0373/>`_."
#: faq/general.rst:316
#: faq/general.rst:310
msgid "How many people are using Python?"
msgstr "Combien de personnes utilisent Python ?"
#: faq/general.rst:318
#: faq/general.rst:312
msgid ""
"There are probably millions of users, though it's difficult to obtain an "
"exact count."
@ -698,7 +683,7 @@ msgstr ""
"Il y a probablement des millions d'utilisateurs, bien qu'il soit difficile "
"d'en déterminer le nombre exact."
#: faq/general.rst:321
#: faq/general.rst:315
msgid ""
"Python is available for free download, so there are no sales figures, and "
"it's available from many different sites and packaged with many Linux "
@ -709,7 +694,7 @@ msgstr ""
"il est inclus avec de beaucoup de distributions Linux, donc les statistiques "
"de téléchargement ne donnent pas la totalité non plus."
#: faq/general.rst:325
#: faq/general.rst:319
msgid ""
"The comp.lang.python newsgroup is very active, but not all Python users post "
"to the group or even read it."
@ -717,11 +702,11 @@ msgstr ""
"Le forum *comp.lang.python* est très actif, mais tous les utilisateurs de "
"Python ne laissent pas de messages dessus ou même ne le lisent pas."
#: faq/general.rst:330
#: faq/general.rst:324
msgid "Have any significant projects been done in Python?"
msgstr "Y a-t-il un nombre de projets significatif réalisés en Python ?"
#: faq/general.rst:332
#: faq/general.rst:326
msgid ""
"See https://www.python.org/about/success for a list of projects that use "
"Python. Consulting the proceedings for `past Python conferences <https://www."
@ -734,7 +719,7 @@ msgstr ""
"s'avère que les contributions proviennent de nombreux organismes et "
"entreprises divers."
#: faq/general.rst:337
#: faq/general.rst:331
msgid ""
"High-profile Python projects include `the Mailman mailing list manager "
"<http://www.list.org>`_ and `the Zope application server <http://www.zope."
@ -750,17 +735,18 @@ msgstr ""
"logiciel d'administration système en Python. Les entreprises qui utilisent "
"Python en interne comprennent Google, Yahoo, et Lucasfilm Ltd."
#: faq/general.rst:346
#: faq/general.rst:340
msgid "What new developments are expected for Python in the future?"
msgstr "Quelles sont les nouveautés en développement attendues pour Python ?"
#: faq/general.rst:348
#: faq/general.rst:342
#, fuzzy
msgid ""
"See https://www.python.org/dev/peps/ for the Python Enhancement Proposals "
"(PEPs). PEPs are design documents describing a suggested new feature for "
"Python, providing a concise technical specification and a rationale. Look "
"for a PEP titled \"Python X.Y Release Schedule\", where X.Y is a version "
"that hasn't been publicly released yet."
"See https://peps.python.org/ for the Python Enhancement Proposals (PEPs). "
"PEPs are design documents describing a suggested new feature for Python, "
"providing a concise technical specification and a rationale. Look for a PEP "
"titled \"Python X.Y Release Schedule\", where X.Y is a version that hasn't "
"been publicly released yet."
msgstr ""
"Regardez les propositions d'amélioration de Python (« *Python Enhancement "
"Proposals* », ou *PEP*) sur https://www.python.org/dev/peps/. Les PEP sont "
@ -769,7 +755,7 @@ msgstr ""
"logique. Recherchez une PEP intitulée \"Python X.Y Release Schedule\", où X."
"Y est la version qui n'a pas encore été publiée."
#: faq/general.rst:354
#: faq/general.rst:348
msgid ""
"New development is discussed on `the python-dev mailing list <https://mail."
"python.org/mailman/listinfo/python-dev/>`_."
@ -777,12 +763,12 @@ msgstr ""
"Le nouveau développement est discuté sur `la liste de diffusion python-dev "
"<https://mail.python.org/mailman/listinfo/python-dev/>`_."
#: faq/general.rst:359
#: faq/general.rst:353
msgid "Is it reasonable to propose incompatible changes to Python?"
msgstr ""
"Est-il raisonnable de proposer des changements incompatibles dans Python ?"
#: faq/general.rst:361
#: faq/general.rst:355
msgid ""
"In general, no. There are already millions of lines of Python code around "
"the world, so any change in the language that invalidates more than a very "
@ -799,7 +785,7 @@ msgstr ""
"documentations, beaucoup de livres ont été écrits au sujet de Python, et "
"nous ne voulons pas les rendre invalides soudainement."
#: faq/general.rst:368
#: faq/general.rst:362
msgid ""
"Providing a gradual upgrade path is necessary if a feature has to be "
"changed. :pep:`5` describes the procedure followed for introducing backward-"
@ -808,17 +794,17 @@ msgstr ""
"En fournissant un rythme de mise à jour progressif qui est obligatoire si "
"une fonctionnalité doit être changée."
#: faq/general.rst:374
#: faq/general.rst:368
msgid "Is Python a good language for beginning programmers?"
msgstr ""
"Existe-t-il un meilleur langage de programmation pour les programmeurs "
"débutants ?"
#: faq/general.rst:376
#: faq/general.rst:370
msgid "Yes."
msgstr "Oui."
#: faq/general.rst:378
#: faq/general.rst:372
msgid ""
"It is still common to start students with a procedural and statically typed "
"language such as Pascal, C, or a subset of C++ or Java. Students may be "
@ -842,7 +828,7 @@ msgstr ""
"peuvent même probablement travailler avec des objets définis dans leurs "
"premiers cours."
#: faq/general.rst:388
#: faq/general.rst:382
msgid ""
"For a student who has never programmed before, using a statically typed "
"language seems unnatural. It presents additional complexity that the "
@ -862,7 +848,7 @@ msgstr ""
"terme, ce n'est pas nécessairement la meilleure idée pour s'adresser aux "
"étudiants durant leur tout premier cours."
#: faq/general.rst:396
#: faq/general.rst:390
msgid ""
"Many other aspects of Python make it a good first language. Like Java, "
"Python has a large standard library so that students can be assigned "
@ -885,7 +871,7 @@ msgstr ""
"réutilisation de code. Les modules tiers tels que PyGame sont aussi très "
"utiles pour étendre les compétences des étudiants."
#: faq/general.rst:405
#: faq/general.rst:399
msgid ""
"Python's interactive interpreter enables students to test language features "
"while they're programming. They can keep a window with the interpreter "
@ -899,7 +885,7 @@ msgstr ""
"souvenir des méthodes pour une liste, ils peuvent faire quelque chose comme "
"ça ::"
#: faq/general.rst:434
#: faq/general.rst:428
msgid ""
"With the interpreter, documentation is never far from the student as they "
"are programming."
@ -907,7 +893,7 @@ msgstr ""
"Avec l'interpréteur, la documentation n'est jamais loin des étudiants quand "
"ils travaillent."
#: faq/general.rst:437
#: faq/general.rst:431
msgid ""
"There are also good IDEs for Python. IDLE is a cross-platform IDE for "
"Python that is written in Python using Tkinter. PythonWin is a Windows-"
@ -927,7 +913,7 @@ msgstr ""
"<https://wiki.python.org/moin/PythonEditors>`_ pour une liste complète des "
"environnements de développement intégrés."
#: faq/general.rst:445
#: faq/general.rst:439
msgid ""
"If you want to discuss Python's use in education, you may be interested in "
"joining `the edu-sig mailing list <https://www.python.org/community/sigs/"
@ -936,3 +922,19 @@ msgstr ""
"Si vous voulez discuter de l'usage de Python dans l'éducation, vous devriez "
"intéressé pour rejoindre `la liste de diffusion pour l'enseignement <https://"
"www.python.org/community/sigs/current/edu-sig>`_."
#~ msgid ""
#~ "You must have a Roundup account to report bugs; this makes it possible "
#~ "for us to contact you if we have follow-up questions. It will also "
#~ "enable Roundup to send you updates as we act on your bug. If you had "
#~ "previously used SourceForge to report bugs to Python, you can obtain your "
#~ "Roundup password through Roundup's `password reset procedure <https://"
#~ "bugs.python.org/user?@template=forgotten>`_."
#~ msgstr ""
#~ "Vous devez avoir un compte Roundup pour reporter des bogues; cela nous "
#~ "permet de vous contacter si nous avons des questions complémentaires. "
#~ "Cela permettra aussi le suivi de traitement de votre bogue. Si vous avez "
#~ "auparavant utilisé SourceForge pour reporter des bogues sur Python, vous "
#~ "pouvez obtenir un mot de passe Roundup grâce à la `procédure de "
#~ "réinitialisation de mot de passe de Roundup <https://bugs.python.org/user?"
#~ "@template=forgotten>`_."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-12-16 02:40+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -177,11 +177,12 @@ msgstr ""
"produire un seul exécutable."
#: faq/programming.rst:80
#, fuzzy
msgid ""
"One is to use the freeze tool, which is included in the Python source tree "
"as ``Tools/freeze``. It converts Python byte code to C arrays; a C compiler "
"you can embed all your modules into a new program, which is then linked with "
"the standard Python modules."
"as ``Tools/freeze``. It converts Python byte code to C arrays; with a C "
"compiler you can embed all your modules into a new program, which is then "
"linked with the standard Python modules."
msgstr ""
"Un de ces outils est *freeze*, qui se trouve dans ``Tools/freeze`` de "
"l'arborescence des sources de Python. Il convertit le code intermédiaire "
@ -2903,10 +2904,11 @@ msgstr ""
"les mutations pour invalider le cache."
#: faq/programming.rst:1954
#, fuzzy
msgid ""
"The *lru_cache* approach can be made to work, but the class needs to define "
"the *__eq__* and *__hash__* methods so the cache can detect relevant "
"attribute updates::"
"To make the *lru_cache* approach work when the *station_id* is mutable, the "
"class needs to define the *__eq__* and *__hash__* methods so that the cache "
"can detect relevant attribute updates::"
msgstr ""
"En revanche, ``lru_cache`` est utilisable à condition de définir les "
"méthodes ``__eq__`` et ``__hash__`` pour que le cache soit à même de "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-05-29 16:33+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-12-11 15:54+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -38,13 +38,14 @@ msgstr ""
"semblera évident ; sinon, vous pourriez avoir besoin d'être un peu guidé."
#: faq/windows.rst:28
#, fuzzy
msgid ""
"Unless you use some sort of integrated development environment, you will end "
"up *typing* Windows commands into what is variously referred to as a \"DOS "
"window\" or \"Command prompt window\". Usually you can create such a window "
"from your search bar by searching for ``cmd``. You should be able to "
"recognize when you have started such a window because you will see a Windows "
"\"command prompt\", which usually looks like this:"
"up *typing* Windows commands into what is referred to as a \"Command prompt "
"window\". Usually you can create such a window from your search bar by "
"searching for ``cmd``. You should be able to recognize when you have "
"started such a window because you will see a Windows \"command prompt\", "
"which usually looks like this:"
msgstr ""
"À moins que vous n'utilisiez une sorte d'environnement de développement, "
"vous finirez par *taper* des commandes Windows dans ce qui est diversement "
@ -337,15 +338,7 @@ msgstr ""
"peuvent rendre l'utilisation de ces pointeurs transparente à tout code C qui "
"appelle des routines dans l'API C de Python."
#: faq/windows.rst:189
msgid ""
"Borland note: convert :file:`python{NN}.lib` to OMF format using Coff2Omf."
"exe first."
msgstr ""
"Note Borland : convertir :file:`python{NN}.lib` au format OMF en utilisant "
"*Coff2Omf.exe* en premier."
#: faq/windows.rst:194
#: faq/windows.rst:191
msgid ""
"If you use SWIG, it is easy to create a Python \"extension module\" that "
"will make the app's data and methods available to Python. SWIG will handle "
@ -360,7 +353,7 @@ msgstr ""
"n'avez **pas** besoin de créer un fichier DLL, et cela simplifie également "
"la liaison."
#: faq/windows.rst:200
#: faq/windows.rst:197
msgid ""
"SWIG will create an init function (a C function) whose name depends on the "
"name of the extension module. For example, if the name of the module is "
@ -375,7 +368,7 @@ msgstr ""
"appelée *initleoc()*. Ceci initialise une classe auxiliaire invisible "
"utilisée par la classe *shadow*."
#: faq/windows.rst:206
#: faq/windows.rst:203
msgid ""
"The reason you can link the C code in step 2 into your .exe file is that "
"calling the initialization function is equivalent to importing the module "
@ -385,7 +378,7 @@ msgstr ""
"*fichier.exe* est que l'appel de la fonction d'initialisation équivaut à "
"importer le module dans Python ! (C'est le deuxième fait clé non documenté.)"
#: faq/windows.rst:210
#: faq/windows.rst:207
msgid ""
"In short, you can use the following code to initialize the Python "
"interpreter with your extension module."
@ -393,7 +386,7 @@ msgstr ""
"En bref, vous pouvez utiliser le code suivant pour initialiser "
"l'interpréteur Python avec votre module d'extension."
#: faq/windows.rst:221
#: faq/windows.rst:218
msgid ""
"There are two problems with Python's C API which will become apparent if you "
"use a compiler other than MSVC, the compiler used to build pythonNN.dll."
@ -402,7 +395,7 @@ msgstr ""
"utilisez un compilateur autre que MSVC, le compilateur utilisé pour "
"construire *pythonNN.dll*."
#: faq/windows.rst:224
#: faq/windows.rst:221
msgid ""
"Problem 1: The so-called \"Very High Level\" functions that take FILE * "
"arguments will not work in a multi-compiler environment because each "
@ -415,7 +408,7 @@ msgstr ""
"structure de FILE. Du point de vue de l'implémentation, il s'agit de "
"fonctions de très bas niveau."
#: faq/windows.rst:229
#: faq/windows.rst:226
msgid ""
"Problem 2: SWIG generates the following code when generating wrappers to "
"void functions:"
@ -423,7 +416,7 @@ msgstr ""
"Problème 2 : SWIG génère le code suivant lors de la génération "
"*d'encapsuleurs* pour annuler les fonctions :"
#: faq/windows.rst:238
#: faq/windows.rst:235
msgid ""
"Alas, Py_None is a macro that expands to a reference to a complex data "
"structure called _Py_NoneStruct inside pythonNN.dll. Again, this code will "
@ -434,7 +427,7 @@ msgstr ""
"une fois, ce code échouera dans un environnement multi-compilateur. "
"Remplacez ce code par :"
#: faq/windows.rst:246
#: faq/windows.rst:243
msgid ""
"It may be possible to use SWIG's ``%typemap`` command to make the change "
"automatically, though I have not been able to get this to work (I'm a "
@ -444,7 +437,7 @@ msgstr ""
"le changement automatiquement, bien que je n'ai pas réussi à le faire "
"fonctionner (je suis un débutant complet avec SWIG)."
#: faq/windows.rst:250
#: faq/windows.rst:247
msgid ""
"Using a Python shell script to put up a Python interpreter window from "
"inside your Windows app is not a good idea; the resulting window will be "
@ -465,13 +458,13 @@ msgstr ""
"dont vous avez besoin est un objet Python (défini dans votre module "
"d'extension) qui contient les méthodes *read()* et *write()*."
#: faq/windows.rst:259
#: faq/windows.rst:256
msgid "How do I keep editors from inserting tabs into my Python source?"
msgstr ""
"Comment empêcher mon éditeur d'utiliser des tabulations dans mes fichiers "
"Python ?"
#: faq/windows.rst:261
#: faq/windows.rst:258
msgid ""
"The FAQ does not recommend using tabs, and the Python style guide, :pep:`8`, "
"recommends 4 spaces for distributed Python code; this is also the Emacs "
@ -482,7 +475,7 @@ msgstr ""
"dans les codes Python. C'est aussi le comportement par défaut d'Emacs avec "
"Python."
#: faq/windows.rst:265
#: faq/windows.rst:262
msgid ""
"Under any editor, mixing tabs and spaces is a bad idea. MSVC is no "
"different in this respect, and is easily configured to use spaces: Take :"
@ -496,7 +489,7 @@ msgstr ""
"Tabs` et pour le type de fichier par défaut, vous devez mettre *Tab size* et "
"*Indent size* à 4, puis sélectionner *Insert spaces*."
#: faq/windows.rst:270
#: faq/windows.rst:267
msgid ""
"Python raises :exc:`IndentationError` or :exc:`TabError` if mixed tabs and "
"spaces are causing problems in leading whitespace. You may also run the :mod:"
@ -506,13 +499,13 @@ msgstr ""
"tabulation et dindentation pose problème en début de ligne. Vous pouvez "
"aussi utiliser le module :mod:`tabnanny` pour détecter ces erreurs."
#: faq/windows.rst:277
#: faq/windows.rst:274
msgid "How do I check for a keypress without blocking?"
msgstr ""
"Comment puis-je vérifier de manière non bloquante qu'une touche a été "
"pressée ?"
#: faq/windows.rst:279
#: faq/windows.rst:276
msgid ""
"Use the :mod:`msvcrt` module. This is a standard Windows-specific extension "
"module. It defines a function ``kbhit()`` which checks whether a keyboard "
@ -523,6 +516,13 @@ msgstr ""
"touche s'est produite, et ``getch()`` qui récupère le caractère sans "
"l'afficher."
#~ msgid ""
#~ "Borland note: convert :file:`python{NN}.lib` to OMF format using Coff2Omf."
#~ "exe first."
#~ msgstr ""
#~ "Note Borland : convertir :file:`python{NN}.lib` au format OMF en "
#~ "utilisant *Coff2Omf.exe* en premier."
#~ msgid ""
#~ "See `cx_Freeze <https://cx-freeze.readthedocs.io/en/latest/>`_ for a "
#~ "distutils extension that allows you to create console and GUI executables "

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-06-04 15:16+0200\n"
"Last-Translator: Mindiell <mindiell@mindiell.net>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -2355,9 +2355,9 @@ msgstr ""
#: howto/clinic.rst:1349
msgid ""
"This block adds a converter to Argument Clinic named ``ssize_t``. "
"Parameters declared as ``ssize_t`` will be declared as type ``Py_ssize_t``, "
"and will be parsed by the ``'O&'`` format unit, which will call the "
"``ssize_t_converter`` converter function. ``ssize_t`` variables "
"Parameters declared as ``ssize_t`` will be declared as type :c:type:"
"`Py_ssize_t`, and will be parsed by the ``'O&'`` format unit, which will "
"call the ``ssize_t_converter`` converter function. ``ssize_t`` variables "
"automatically support default values."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2020-09-04 23:34+0200\n"
"Last-Translator: Khaïs COLIN <kh.col@orange.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -511,7 +511,7 @@ msgstr ""
msgid "Form"
msgstr "Forme"
#: howto/curses.rst:346
#: howto/curses.rst:345
msgid "Description"
msgstr "Description"
@ -568,12 +568,13 @@ msgstr ""
"suivante."
#: howto/curses.rst:298
#, fuzzy
msgid ""
"The :meth:`~curses.window.addstr` method takes a Python string or bytestring "
"as the value to be displayed. The contents of bytestrings are sent to the "
"terminal as-is. Strings are encoded to bytes using the value of the "
"window's :attr:`encoding` attribute; this defaults to the default system "
"encoding as returned by :func:`locale.getpreferredencoding`."
"encoding as returned by :func:`locale.getencoding`."
msgstr ""
"La méthode :meth:`~curses.window.addstr` prend en argument une chaîne ou une "
"suite d'octets Python. Le contenu des chaînes d'octets est envoyé vers le "
@ -582,7 +583,7 @@ msgstr ""
"l'encodage du système tel que renvoyé par :func:`locale."
"getpreferredencoding`."
#: howto/curses.rst:305
#: howto/curses.rst:304
msgid ""
"The :meth:`~curses.window.addch` methods take a character, which can be "
"either a string of length 1, a bytestring of length 1, or an integer."
@ -591,7 +592,7 @@ msgstr ""
"la forme d'une chaîne de longueur 1, d'une chaîne d'octets de longueur 1 ou "
"d'un entier."
#: howto/curses.rst:308
#: howto/curses.rst:307
msgid ""
"Constants are provided for extension characters; these constants are "
"integers greater than 255. For example, :const:`ACS_PLMINUS` is a +/- "
@ -604,7 +605,7 @@ msgstr ""
"haut et à gauche d'une boîte (utile pour dessiner des encadrements). Vous "
"pouvez aussi utiliser les caractères Unicode adéquats."
#: howto/curses.rst:314
#: howto/curses.rst:313
msgid ""
"Windows remember where the cursor was left after the last operation, so if "
"you leave out the *y,x* coordinates, the string or character will be "
@ -623,7 +624,7 @@ msgstr ""
"l'utilisateur (il peut être déroutant d'avoir un curseur qui clignote à des "
"endroits apparemment aléatoires)."
#: howto/curses.rst:322
#: howto/curses.rst:321
msgid ""
"If your application doesn't need a blinking cursor at all, you can call "
"``curs_set(False)`` to make it invisible. For compatibility with older "
@ -640,11 +641,11 @@ msgstr ""
"curseur clignotant et vous n'avez plus besoin de vous soucier de le laisser "
"trainer à des endroits bizarres."
#: howto/curses.rst:331
#: howto/curses.rst:330
msgid "Attributes and Color"
msgstr "Attributs et couleurs"
#: howto/curses.rst:333
#: howto/curses.rst:332
msgid ""
"Characters can be displayed in different ways. Status lines in a text-based "
"application are commonly shown in reverse video, or a text viewer may need "
@ -657,7 +658,7 @@ msgstr ""
"À ces fins, *curses* vous permet de spécifier un attribut pour chaque "
"caractère à l'écran."
#: howto/curses.rst:338
#: howto/curses.rst:337
msgid ""
"An attribute is an integer, each bit representing a different attribute. "
"You can try to display text with multiple attribute bits set, but curses "
@ -674,59 +675,59 @@ msgstr ""
"se cantonner aux attributs les plus communément utilisés, dont la liste est "
"fournie ci-dessous."
#: howto/curses.rst:346
#: howto/curses.rst:345
msgid "Attribute"
msgstr "Attribut"
#: howto/curses.rst:348
#: howto/curses.rst:347
msgid ":const:`A_BLINK`"
msgstr ":const:`A_BLINK`"
#: howto/curses.rst:348
#: howto/curses.rst:347
msgid "Blinking text"
msgstr "Texte clignotant"
#: howto/curses.rst:350
#: howto/curses.rst:349
msgid ":const:`A_BOLD`"
msgstr ":const:`A_BOLD`"
#: howto/curses.rst:350
#: howto/curses.rst:349
msgid "Extra bright or bold text"
msgstr "Texte en surbrillance ou en gras"
#: howto/curses.rst:352
#: howto/curses.rst:351
msgid ":const:`A_DIM`"
msgstr ":const:`A_DIM`"
#: howto/curses.rst:352
#: howto/curses.rst:351
msgid "Half bright text"
msgstr "Texte en demi-ton"
#: howto/curses.rst:354
#: howto/curses.rst:353
msgid ":const:`A_REVERSE`"
msgstr ":const:`A_REVERSE`"
#: howto/curses.rst:354
#: howto/curses.rst:353
msgid "Reverse-video text"
msgstr "Texte en mode vidéo inversé"
#: howto/curses.rst:356
#: howto/curses.rst:355
msgid ":const:`A_STANDOUT`"
msgstr ":const:`A_STANDOUT`"
#: howto/curses.rst:356
#: howto/curses.rst:355
msgid "The best highlighting mode available"
msgstr "Le meilleur mode de mis en valeur pour le texte"
#: howto/curses.rst:358
#: howto/curses.rst:357
msgid ":const:`A_UNDERLINE`"
msgstr ":const:`A_UNDERLINE`"
#: howto/curses.rst:358
#: howto/curses.rst:357
msgid "Underlined text"
msgstr "Texte souligné"
#: howto/curses.rst:361
#: howto/curses.rst:360
msgid ""
"So, to display a reverse-video status line on the top line of the screen, "
"you could code::"
@ -734,7 +735,7 @@ msgstr ""
"Ainsi, pour mettre la ligne de statut située en haut de l'écran en mode "
"vidéo inversé, vous pouvez coder ::"
#: howto/curses.rst:368
#: howto/curses.rst:367
msgid ""
"The curses library also supports color on those terminals that provide it. "
"The most common such terminal is probably the Linux console, followed by "
@ -744,7 +745,7 @@ msgstr ""
"compatibles. Le plus répandu de ces terminaux est sûrement la console Linux, "
"suivie par *xterm* en couleurs."
#: howto/curses.rst:372
#: howto/curses.rst:371
msgid ""
"To use color, you must call the :func:`~curses.start_color` function soon "
"after calling :func:`~curses.initscr`, to initialize the default color set "
@ -764,7 +765,7 @@ msgstr ""
"*colour* ; si vous êtes habitué à l'orthographe britannique, vous devrez "
"vous résigner à mal l'orthographier tant que vous utilisez *curses*)."
#: howto/curses.rst:382
#: howto/curses.rst:381
msgid ""
"The curses library maintains a finite number of color pairs, containing a "
"foreground (or text) color and a background color. You can get the "
@ -781,13 +782,13 @@ msgstr ""
"autres attributs tels que :const:`A_REVERSE`,mais là encore, de telles "
"combinaisons risquent de ne pas fonctionner sur tous les terminaux."
#: howto/curses.rst:389
#: howto/curses.rst:388
msgid "An example, which displays a line of text using color pair 1::"
msgstr ""
"Un exemple d'affichage d'une ligne de texte en utilisant la paire de couleur "
"1 ::"
#: howto/curses.rst:394
#: howto/curses.rst:393
msgid ""
"As I said before, a color pair consists of a foreground and background "
"color. The ``init_pair(n, f, b)`` function changes the definition of color "
@ -800,7 +801,7 @@ msgstr ""
"texte à *f* et la couleur de fond à *b*. La paire de couleurs 0 est codée en "
"dur à blanc sur noir et ne peut être modifiée."
#: howto/curses.rst:399
#: howto/curses.rst:398
msgid ""
"Colors are numbered, and :func:`start_color` initializes 8 basic colors when "
"it activates color mode. They are: 0:black, 1:red, 2:green, 3:yellow, 4:"
@ -816,14 +817,14 @@ msgstr ""
"chacune de ces couleurs : :const:`curses.COLOR_BLACK`, :const:`curses."
"COLOR_RED` et ainsi de suite."
#: howto/curses.rst:405
#: howto/curses.rst:404
msgid ""
"Let's put all this together. To change color 1 to red text on a white "
"background, you would call::"
msgstr ""
"Testons tout ça. Pour changer la couleur 1 à rouge sur fond blanc, appelez ::"
#: howto/curses.rst:410
#: howto/curses.rst:409
msgid ""
"When you change a color pair, any text already displayed using that color "
"pair will change to the new colors. You can also display new text in this "
@ -833,7 +834,7 @@ msgstr ""
"utilise cette paire de couleur voit les nouvelles couleurs s'appliquer à "
"lui. Vous pouvez aussi afficher du nouveau texte dans cette couleur avec ::"
#: howto/curses.rst:416
#: howto/curses.rst:415
msgid ""
"Very fancy terminals can change the definitions of the actual colors to a "
"given RGB value. This lets you change color 1, which is usually red, to "
@ -854,11 +855,11 @@ msgstr ""
"chance d'avoir un terminal aussi perfectionné, consultez les pages du manuel "
"de votre système pour obtenir plus d'informations."
#: howto/curses.rst:427
#: howto/curses.rst:426
msgid "User Input"
msgstr "Entrées de l'utilisateur"
#: howto/curses.rst:429
#: howto/curses.rst:428
msgid ""
"The C curses library offers only very simple input mechanisms. Python's :mod:"
"`curses` module adds a basic text-input widget. (Other libraries such as "
@ -870,11 +871,11 @@ msgstr ""
"d'entrée de texte (d'autres bibliothèques telles que `Urwid <https://pypi."
"org/project/urwid/>`_ ont un ensemble de *widgets* plus conséquent)."
#: howto/curses.rst:434
#: howto/curses.rst:433
msgid "There are two methods for getting input from a window:"
msgstr "Il y a deux méthodes pour obtenir des entrées dans une fenêtre :"
#: howto/curses.rst:436
#: howto/curses.rst:435
msgid ""
":meth:`~curses.window.getch` refreshes the screen and then waits for the "
"user to hit a key, displaying the key if :func:`~curses.echo` has been "
@ -886,7 +887,7 @@ msgstr ""
"appelé auparavant. Vous pouvez en option spécifier des coordonnées où "
"positionner le curseur avant la mise en pause ;"
#: howto/curses.rst:441
#: howto/curses.rst:440
msgid ""
":meth:`~curses.window.getkey` does the same thing but converts the integer "
"to a string. Individual characters are returned as 1-character strings, and "
@ -899,7 +900,7 @@ msgstr ""
"renvoient des chaînes plus longues contenant le nom de la touche (tel que "
"``KEY_UP`` ou ``^G``)."
#: howto/curses.rst:446
#: howto/curses.rst:445
msgid ""
"It's possible to not wait for the user using the :meth:`~curses.window."
"nodelay` window method. After ``nodelay(True)``, :meth:`getch` and :meth:"
@ -920,7 +921,7 @@ msgstr ""
"aucune entrée n'est disponible dans le délai spécifié (mesuré en dixièmes de "
"seconde), *curses* lève une exception."
#: howto/curses.rst:456
#: howto/curses.rst:455
msgid ""
"The :meth:`getch` method returns an integer; if it's between 0 and 255, it "
"represents the ASCII code of the key pressed. Values greater than 255 are "
@ -937,7 +938,7 @@ msgstr ""
"La boucle principale de votre programme pourrait ressembler à quelque chose "
"comme ::"
#: howto/curses.rst:472
#: howto/curses.rst:471
msgid ""
"The :mod:`curses.ascii` module supplies ASCII class membership functions "
"that take either integer or 1-character string arguments; these may be "
@ -954,7 +955,7 @@ msgstr ""
"type correspondant au nom de la fonction. Par exemple, :func:`curses.ascii."
"ctrl` renvoie le caractère de contrôle correspondant à son paramètre."
#: howto/curses.rst:479
#: howto/curses.rst:478
msgid ""
"There's also a method to retrieve an entire string, :meth:`~curses.window."
"getstr`. It isn't used very often, because its functionality is quite "
@ -968,7 +969,7 @@ msgstr ""
"arrière et la touche Entrée, qui termine la chaîne. Elle peut, en option, "
"être limitée à un nombre fixé de caractères. ::"
#: howto/curses.rst:490
#: howto/curses.rst:489
msgid ""
"The :mod:`curses.textpad` module supplies a text box that supports an Emacs-"
"like set of keybindings. Various methods of the :class:`~curses.textpad."
@ -981,18 +982,18 @@ msgstr ""
"des entrées et le regroupement de l'entrée avec ou sans les espaces de début "
"et de fin. Par exemple ::"
#: howto/curses.rst:514
#: howto/curses.rst:513
msgid ""
"See the library documentation on :mod:`curses.textpad` for more details."
msgstr ""
"Consultez la documentation de la bibliothèque pour plus de détails sur :mod:"
"`curses.textpad`."
#: howto/curses.rst:518
#: howto/curses.rst:517
msgid "For More Information"
msgstr "Pour aller plus loin"
#: howto/curses.rst:520
#: howto/curses.rst:519
msgid ""
"This HOWTO doesn't cover some advanced topics, such as reading the contents "
"of the screen or capturing mouse events from an xterm instance, but the "
@ -1005,7 +1006,7 @@ msgstr ""
"`curses` est maintenant suffisamment complète. Nous vous encourageons à la "
"parcourir."
#: howto/curses.rst:525
#: howto/curses.rst:524
msgid ""
"If you're in doubt about the detailed behavior of the curses functions, "
"consult the manual pages for your curses implementation, whether it's "
@ -1020,7 +1021,7 @@ msgstr ""
"listes complètes des fonctions, attributs et codes :const:`ACS_\\*` des "
"caractères disponibles."
#: howto/curses.rst:532
#: howto/curses.rst:531
msgid ""
"Because the curses API is so large, some functions aren't supported in the "
"Python interface. Often this isn't because they're difficult to implement, "
@ -1038,7 +1039,7 @@ msgstr ""
"du développeur Python <https://devguide.python.org/>`_ pour apprendre "
"comment soumettre des améliorations à Python."
#: howto/curses.rst:540
#: howto/curses.rst:539
msgid ""
"`Writing Programs with NCURSES <http://invisible-island.net/ncurses/ncurses-"
"intro.html>`_: a lengthy tutorial for C programmers."
@ -1047,18 +1048,18 @@ msgstr ""
"intro.html>`_ : un long tutoriel pour les programmeurs C (ressource en "
"anglais)."
#: howto/curses.rst:542
#: howto/curses.rst:541
msgid "`The ncurses man page <https://linux.die.net/man/3/ncurses>`_"
msgstr "`La page de manuel ncurses <https://linux.die.net/man/3/ncurses>`_"
#: howto/curses.rst:543
#: howto/curses.rst:542
msgid ""
"`The ncurses FAQ <http://invisible-island.net/ncurses/ncurses.faq.html>`_"
msgstr ""
"`La FAQ ncurses <http://invisible-island.net/ncurses/ncurses.faq.html>`_ "
"(ressource en anglais)"
#: howto/curses.rst:544
#: howto/curses.rst:543
msgid ""
"`\"Use curses... don't swear\" <https://www.youtube.com/watch?"
"v=eN1eZtjLEnU>`_: video of a PyCon 2013 talk on controlling terminals using "
@ -1068,7 +1069,7 @@ msgstr ""
"v=eN1eZtjLEnU>`_ : vidéo d'une conférence lors de la PyCon 2013 sur la "
"gestion des terminaux à l'aide de *curses* et *Urwid* (vidéo en anglais)."
#: howto/curses.rst:546
#: howto/curses.rst:545
msgid ""
"`\"Console Applications with Urwid\" <http://www.pyvideo.org/video/1568/"
"console-applications-with-urwid>`_: video of a PyCon CA 2012 talk "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-12-16 17:28+0100\n"
"Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1137,38 +1137,38 @@ msgstr ""
"En utilisant le protocole de descripteur *non-data*, une version Python pure "
"de :func:`classmethod` ressemblerait à ceci ::"
#: howto/descriptor.rst:1386
#: howto/descriptor.rst:1388
msgid ""
"The code path for ``hasattr(type(self.f), '__get__')`` was added in Python "
"3.9 and makes it possible for :func:`classmethod` to support chained "
"decorators. For example, a classmethod and property could be chained "
"together:"
msgstr ""
#: howto/descriptor.rst:1406
msgid "Member objects and __slots__"
"together. In Python 3.11, this functionality was deprecated."
msgstr ""
#: howto/descriptor.rst:1408
msgid "Member objects and __slots__"
msgstr ""
#: howto/descriptor.rst:1410
msgid ""
"When a class defines ``__slots__``, it replaces instance dictionaries with a "
"fixed-length array of slot values. From a user point of view that has "
"several effects:"
msgstr ""
#: howto/descriptor.rst:1412
#: howto/descriptor.rst:1414
msgid ""
"1. Provides immediate detection of bugs due to misspelled attribute "
"assignments. Only attribute names specified in ``__slots__`` are allowed:"
msgstr ""
#: howto/descriptor.rst:1428
#: howto/descriptor.rst:1430
msgid ""
"2. Helps create immutable objects where descriptors manage access to private "
"attributes stored in ``__slots__``:"
msgstr ""
#: howto/descriptor.rst:1463
#: howto/descriptor.rst:1465
msgid ""
"3. Saves memory. On a 64-bit Linux build, an instance with two attributes "
"takes 48 bytes with ``__slots__`` and 152 bytes without. This `flyweight "
@ -1176,19 +1176,19 @@ msgid ""
"only matters when a large number of instances are going to be created."
msgstr ""
#: howto/descriptor.rst:1468
#: howto/descriptor.rst:1470
msgid ""
"4. Improves speed. Reading instance variables is 35% faster with "
"``__slots__`` (as measured with Python 3.10 on an Apple M1 processor)."
msgstr ""
#: howto/descriptor.rst:1471
#: howto/descriptor.rst:1473
msgid ""
"5. Blocks tools like :func:`functools.cached_property` which require an "
"instance dictionary to function correctly:"
msgstr ""
#: howto/descriptor.rst:1493
#: howto/descriptor.rst:1495
msgid ""
"It is not possible to create an exact drop-in pure Python version of "
"``__slots__`` because it requires direct access to C structures and control "
@ -1198,37 +1198,37 @@ msgid ""
"managed by member descriptors:"
msgstr ""
#: howto/descriptor.rst:1536
#: howto/descriptor.rst:1538
msgid ""
"The :meth:`type.__new__` method takes care of adding member objects to class "
"variables:"
msgstr ""
#: howto/descriptor.rst:1552
#: howto/descriptor.rst:1554
msgid ""
"The :meth:`object.__new__` method takes care of creating instances that have "
"slots instead of an instance dictionary. Here is a rough simulation in pure "
"Python:"
msgstr ""
#: howto/descriptor.rst:1587
#: howto/descriptor.rst:1589
msgid ""
"To use the simulation in a real class, just inherit from :class:`Object` and "
"set the :term:`metaclass` to :class:`Type`:"
msgstr ""
#: howto/descriptor.rst:1601
#: howto/descriptor.rst:1603
msgid ""
"At this point, the metaclass has loaded member objects for *x* and *y*::"
msgstr ""
#: howto/descriptor.rst:1622
#: howto/descriptor.rst:1624
msgid ""
"When instances are created, they have a ``slot_values`` list where the "
"attributes are stored:"
msgstr ""
#: howto/descriptor.rst:1634
#: howto/descriptor.rst:1636
msgid "Misspelled or unassigned attributes will raise an exception:"
msgstr ""

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.11\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"
"Report-Msgid-Bugs-To:\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2022-05-23 00:51+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-12-11 16:17+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1016,10 +1016,11 @@ msgstr ""
# Énumération
#: howto/functional.rst:592
#, fuzzy
msgid ""
":meth:`throw(type, value=None, traceback=None) <generator.throw>` is used to "
"raise an exception inside the generator; the exception is raised by the "
"``yield`` expression where the generator's execution is paused."
":meth:`throw(value) <generator.throw>` is used to raise an exception inside "
"the generator; the exception is raised by the ``yield`` expression where the "
"generator's execution is paused."
msgstr ""
":meth:`throw(type, value=None, traceback=None) <generator.throw>` permet de "
"lever une exception dans le générateur ; celle-ci est levée par l'expression "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -960,7 +960,7 @@ msgstr ""
msgid "If the above script is run, it prints:"
msgstr ""
#: howto/logging-cookbook.rst:1785 howto/logging-cookbook.rst:1834
#: howto/logging-cookbook.rst:1785 howto/logging-cookbook.rst:1827
msgid ""
"Note that the order of items might be different according to the version of "
"Python used."
@ -972,15 +972,15 @@ msgid ""
"as in the following complete example::"
msgstr ""
#: howto/logging-cookbook.rst:1828
#: howto/logging-cookbook.rst:1821
msgid "When the above script is run, it prints:"
msgstr ""
#: howto/logging-cookbook.rst:1843
#: howto/logging-cookbook.rst:1836
msgid "Customizing handlers with :func:`dictConfig`"
msgstr ""
#: howto/logging-cookbook.rst:1845
#: howto/logging-cookbook.rst:1838
msgid ""
"There are times when you want to customize logging handlers in particular "
"ways, and if you use :func:`dictConfig` you may be able to do this without "
@ -990,24 +990,24 @@ msgid ""
"customize handler creation using a plain function such as::"
msgstr ""
#: howto/logging-cookbook.rst:1859
#: howto/logging-cookbook.rst:1852
msgid ""
"You can then specify, in a logging configuration passed to :func:"
"`dictConfig`, that a logging handler be created by calling this function::"
msgstr ""
#: howto/logging-cookbook.rst:1892
#: howto/logging-cookbook.rst:1885
msgid ""
"In this example I am setting the ownership using the ``pulse`` user and "
"group, just for the purposes of illustration. Putting it together into a "
"working script, ``chowntest.py``::"
msgstr ""
#: howto/logging-cookbook.rst:1939
#: howto/logging-cookbook.rst:1932
msgid "To run this, you will probably need to run as ``root``:"
msgstr ""
#: howto/logging-cookbook.rst:1949
#: howto/logging-cookbook.rst:1942
msgid ""
"Note that this example uses Python 3.3 because that's where :func:`shutil."
"chown` makes an appearance. This approach should work with any Python "
@ -1016,17 +1016,17 @@ msgid ""
"change using e.g. :func:`os.chown`."
msgstr ""
#: howto/logging-cookbook.rst:1955
#: howto/logging-cookbook.rst:1948
msgid ""
"In practice, the handler-creating function may be in a utility module "
"somewhere in your project. Instead of the line in the configuration::"
msgstr ""
#: howto/logging-cookbook.rst:1960
#: howto/logging-cookbook.rst:1953
msgid "you could use e.g.::"
msgstr ""
#: howto/logging-cookbook.rst:1964
#: howto/logging-cookbook.rst:1957
msgid ""
"where ``project.util`` can be replaced with the actual name of the package "
"where the function resides. In the above working script, using ``'ext://"
@ -1034,25 +1034,25 @@ msgid ""
"resolved by :func:`dictConfig` from the ``ext://`` specification."
msgstr ""
#: howto/logging-cookbook.rst:1969
#: howto/logging-cookbook.rst:1962
msgid ""
"This example hopefully also points the way to how you could implement other "
"types of file change - e.g. setting specific POSIX permission bits - in the "
"same way, using :func:`os.chmod`."
msgstr ""
#: howto/logging-cookbook.rst:1973
#: howto/logging-cookbook.rst:1966
msgid ""
"Of course, the approach could also be extended to types of handler other "
"than a :class:`~logging.FileHandler` - for example, one of the rotating file "
"handlers, or a different type of handler altogether."
msgstr ""
#: howto/logging-cookbook.rst:1983
#: howto/logging-cookbook.rst:1976
msgid "Using particular formatting styles throughout your application"
msgstr ""
#: howto/logging-cookbook.rst:1985
#: howto/logging-cookbook.rst:1978
msgid ""
"In Python 3.2, the :class:`~logging.Formatter` gained a ``style`` keyword "
"parameter which, while defaulting to ``%`` for backward compatibility, "
@ -1063,7 +1063,7 @@ msgid ""
"is constructed."
msgstr ""
#: howto/logging-cookbook.rst:1992
#: howto/logging-cookbook.rst:1985
msgid ""
"Logging calls (:meth:`~Logger.debug`, :meth:`~Logger.info` etc.) only take "
"positional parameters for the actual logging message itself, with keyword "
@ -1078,7 +1078,7 @@ msgid ""
"calls which are out there in existing code will be using %-format strings."
msgstr ""
#: howto/logging-cookbook.rst:2004
#: howto/logging-cookbook.rst:1997
msgid ""
"There have been suggestions to associate format styles with specific "
"loggers, but that approach also runs into backward compatibility problems "
@ -1086,7 +1086,7 @@ msgid ""
"formatting."
msgstr ""
#: howto/logging-cookbook.rst:2008
#: howto/logging-cookbook.rst:2001
msgid ""
"For logging to work interoperably between any third-party libraries and your "
"code, decisions about formatting need to be made at the level of the "
@ -1094,11 +1094,11 @@ msgid ""
"formatting styles can be accommodated."
msgstr ""
#: howto/logging-cookbook.rst:2015
#: howto/logging-cookbook.rst:2008
msgid "Using LogRecord factories"
msgstr ""
#: howto/logging-cookbook.rst:2017
#: howto/logging-cookbook.rst:2010
msgid ""
"In Python 3.2, along with the :class:`~logging.Formatter` changes mentioned "
"above, the logging package gained the ability to allow users to set their "
@ -1113,17 +1113,17 @@ msgid ""
"implementation does."
msgstr ""
#: howto/logging-cookbook.rst:2028
#: howto/logging-cookbook.rst:2021
msgid ""
"Refer to the reference documentation on :func:`setLogRecordFactory` and :"
"class:`LogRecord` for more information."
msgstr ""
#: howto/logging-cookbook.rst:2033
#: howto/logging-cookbook.rst:2026
msgid "Using custom message objects"
msgstr ""
#: howto/logging-cookbook.rst:2035
#: howto/logging-cookbook.rst:2028
msgid ""
"There is another, perhaps simpler way that you can use {}- and $- formatting "
"to construct your individual log messages. You may recall (from :ref:"
@ -1133,7 +1133,7 @@ msgid ""
"following two classes::"
msgstr ""
#: howto/logging-cookbook.rst:2060
#: howto/logging-cookbook.rst:2053
msgid ""
"Either of these can be used in place of a format string, to allow {}- or $-"
"formatting to be used to build the actual \"message\" part which appears in "
@ -1144,17 +1144,17 @@ msgid ""
"using ``_`` for localization)."
msgstr ""
#: howto/logging-cookbook.rst:2068
#: howto/logging-cookbook.rst:2061
msgid ""
"Examples of this approach are given below. Firstly, formatting with :meth:"
"`str.format`::"
msgstr ""
#: howto/logging-cookbook.rst:2082
#: howto/logging-cookbook.rst:2075
msgid "Secondly, formatting with :class:`string.Template`::"
msgstr ""
#: howto/logging-cookbook.rst:2089
#: howto/logging-cookbook.rst:2082
msgid ""
"One thing to note is that you pay no significant performance penalty with "
"this approach: the actual formatting happens not when you make the logging "
@ -1166,11 +1166,11 @@ msgid ""
"above."
msgstr ""
#: howto/logging-cookbook.rst:2103
#: howto/logging-cookbook.rst:2096
msgid "Configuring filters with :func:`dictConfig`"
msgstr ""
#: howto/logging-cookbook.rst:2105
#: howto/logging-cookbook.rst:2098
msgid ""
"You *can* configure filters using :func:`~logging.config.dictConfig`, though "
"it might not be obvious at first glance how to do it (hence this recipe). "
@ -1185,22 +1185,22 @@ msgid ""
"complete example::"
msgstr ""
#: howto/logging-cookbook.rst:2158
#: howto/logging-cookbook.rst:2151
msgid ""
"This example shows how you can pass configuration data to the callable which "
"constructs the instance, in the form of keyword parameters. When run, the "
"above script will print:"
msgstr ""
#: howto/logging-cookbook.rst:2166
#: howto/logging-cookbook.rst:2159
msgid "which shows that the filter is working as configured."
msgstr ""
#: howto/logging-cookbook.rst:2168
#: howto/logging-cookbook.rst:2161
msgid "A couple of extra points to note:"
msgstr ""
#: howto/logging-cookbook.rst:2170
#: howto/logging-cookbook.rst:2163
msgid ""
"If you can't refer to the callable directly in the configuration (e.g. if it "
"lives in a different module, and you can't import it directly where the "
@ -1210,7 +1210,7 @@ msgid ""
"the above example."
msgstr ""
#: howto/logging-cookbook.rst:2177
#: howto/logging-cookbook.rst:2170
msgid ""
"As well as for filters, this technique can also be used to configure custom "
"handlers and formatters. See :ref:`logging-config-dict-userdef` for more "
@ -1219,11 +1219,11 @@ msgid ""
"above."
msgstr ""
#: howto/logging-cookbook.rst:2186
#: howto/logging-cookbook.rst:2179
msgid "Customized exception formatting"
msgstr ""
#: howto/logging-cookbook.rst:2188
#: howto/logging-cookbook.rst:2181
msgid ""
"There might be times when you want to do customized exception formatting - "
"for argument's sake, let's say you want exactly one line per logged event, "
@ -1231,22 +1231,22 @@ msgid ""
"formatter class, as shown in the following example::"
msgstr ""
#: howto/logging-cookbook.rst:2229
#: howto/logging-cookbook.rst:2222
msgid "When run, this produces a file with exactly two lines:"
msgstr ""
#: howto/logging-cookbook.rst:2236
#: howto/logging-cookbook.rst:2229
msgid ""
"While the above treatment is simplistic, it points the way to how exception "
"information can be formatted to your liking. The :mod:`traceback` module may "
"be helpful for more specialized needs."
msgstr ""
#: howto/logging-cookbook.rst:2243
#: howto/logging-cookbook.rst:2236
msgid "Speaking logging messages"
msgstr ""
#: howto/logging-cookbook.rst:2245
#: howto/logging-cookbook.rst:2238
msgid ""
"There might be situations when it is desirable to have logging messages "
"rendered in an audible rather than a visible format. This is easy to do if "
@ -1263,24 +1263,24 @@ msgid ""
"approach, which assumes that the ``espeak`` TTS package is available::"
msgstr ""
#: howto/logging-cookbook.rst:2287
#: howto/logging-cookbook.rst:2280
msgid ""
"When run, this script should say \"Hello\" and then \"Goodbye\" in a female "
"voice."
msgstr ""
#: howto/logging-cookbook.rst:2289
#: howto/logging-cookbook.rst:2282
msgid ""
"The above approach can, of course, be adapted to other TTS systems and even "
"other systems altogether which can process messages via external programs "
"run from a command line."
msgstr ""
#: howto/logging-cookbook.rst:2297
#: howto/logging-cookbook.rst:2290
msgid "Buffering logging messages and outputting them conditionally"
msgstr ""
#: howto/logging-cookbook.rst:2299
#: howto/logging-cookbook.rst:2292
msgid ""
"There might be situations where you want to log messages in a temporary area "
"and only output them if a certain condition occurs. For example, you may "
@ -1290,7 +1290,7 @@ msgid ""
"debug information to be output as well as the error."
msgstr ""
#: howto/logging-cookbook.rst:2306
#: howto/logging-cookbook.rst:2299
msgid ""
"Here is an example which shows how you could do this using a decorator for "
"your functions where you want logging to behave this way. It makes use of "
@ -1303,7 +1303,7 @@ msgid ""
"subclass of ``MemoryHandler`` if you want custom flushing behavior."
msgstr ""
#: howto/logging-cookbook.rst:2316
#: howto/logging-cookbook.rst:2309
msgid ""
"The example script has a simple function, ``foo``, which just cycles through "
"all the logging levels, writing to ``sys.stderr`` to say what level it's "
@ -1312,7 +1312,7 @@ msgid ""
"levels - otherwise, it only logs at DEBUG, INFO and WARNING levels."
msgstr ""
#: howto/logging-cookbook.rst:2322
#: howto/logging-cookbook.rst:2315
msgid ""
"The script just arranges to decorate ``foo`` with a decorator which will do "
"the conditional logging that's required. The decorator takes a logger as a "
@ -1324,36 +1324,36 @@ msgid ""
"respectively."
msgstr ""
#: howto/logging-cookbook.rst:2330
#: howto/logging-cookbook.rst:2323
msgid "Here's the script::"
msgstr ""
#: howto/logging-cookbook.rst:2393
#: howto/logging-cookbook.rst:2386
msgid "When this script is run, the following output should be observed:"
msgstr ""
#: howto/logging-cookbook.rst:2423
#: howto/logging-cookbook.rst:2416
msgid ""
"As you can see, actual logging output only occurs when an event is logged "
"whose severity is ERROR or greater, but in that case, any previous events at "
"lower severities are also logged."
msgstr ""
#: howto/logging-cookbook.rst:2427
#: howto/logging-cookbook.rst:2420
msgid "You can of course use the conventional means of decoration::"
msgstr ""
#: howto/logging-cookbook.rst:2437
#: howto/logging-cookbook.rst:2430
msgid "Formatting times using UTC (GMT) via configuration"
msgstr ""
#: howto/logging-cookbook.rst:2439
#: howto/logging-cookbook.rst:2432
msgid ""
"Sometimes you want to format times using UTC, which can be done using a "
"class such as `UTCFormatter`, shown below::"
msgstr ""
#: howto/logging-cookbook.rst:2448
#: howto/logging-cookbook.rst:2441
msgid ""
"and you can then use the ``UTCFormatter`` in your code instead of :class:"
"`~logging.Formatter`. If you want to do that via configuration, you can use "
@ -1361,21 +1361,21 @@ msgid ""
"the following complete example::"
msgstr ""
#: howto/logging-cookbook.rst:2491
#: howto/logging-cookbook.rst:2484
msgid "When this script is run, it should print something like:"
msgstr ""
#: howto/logging-cookbook.rst:2498
#: howto/logging-cookbook.rst:2491
msgid ""
"showing how the time is formatted both as local time and UTC, one for each "
"handler."
msgstr ""
#: howto/logging-cookbook.rst:2505
#: howto/logging-cookbook.rst:2498
msgid "Using a context manager for selective logging"
msgstr ""
#: howto/logging-cookbook.rst:2507
#: howto/logging-cookbook.rst:2500
msgid ""
"There are times when it would be useful to temporarily change the logging "
"configuration and revert it back after doing something. For this, a context "
@ -1385,7 +1385,7 @@ msgid ""
"scope of the context manager::"
msgstr ""
#: howto/logging-cookbook.rst:2540
#: howto/logging-cookbook.rst:2533
msgid ""
"If you specify a level value, the logger's level is set to that value in the "
"scope of the with block covered by the context manager. If you specify a "
@ -1394,13 +1394,13 @@ msgid ""
"block exit - you could do this if you don't need the handler any more."
msgstr ""
#: howto/logging-cookbook.rst:2546
#: howto/logging-cookbook.rst:2539
msgid ""
"To illustrate how it works, we can add the following block of code to the "
"above::"
msgstr ""
#: howto/logging-cookbook.rst:2564
#: howto/logging-cookbook.rst:2557
msgid ""
"We initially set the logger's level to ``INFO``, so message #1 appears and "
"message #2 doesn't. We then change the level to ``DEBUG`` temporarily in the "
@ -1413,56 +1413,56 @@ msgid ""
"(like message #1) whereas message #7 doesn't (just like message #2)."
msgstr ""
#: howto/logging-cookbook.rst:2574
#: howto/logging-cookbook.rst:2567
msgid "If we run the resulting script, the result is as follows:"
msgstr ""
#: howto/logging-cookbook.rst:2585
#: howto/logging-cookbook.rst:2578
msgid ""
"If we run it again, but pipe ``stderr`` to ``/dev/null``, we see the "
"following, which is the only message written to ``stdout``:"
msgstr ""
#: howto/logging-cookbook.rst:2593
#: howto/logging-cookbook.rst:2586
msgid "Once again, but piping ``stdout`` to ``/dev/null``, we get:"
msgstr ""
#: howto/logging-cookbook.rst:2603
#: howto/logging-cookbook.rst:2596
msgid ""
"In this case, the message #5 printed to ``stdout`` doesn't appear, as "
"expected."
msgstr ""
#: howto/logging-cookbook.rst:2605
#: howto/logging-cookbook.rst:2598
msgid ""
"Of course, the approach described here can be generalised, for example to "
"attach logging filters temporarily. Note that the above code works in Python "
"2 as well as Python 3."
msgstr ""
#: howto/logging-cookbook.rst:2613
#: howto/logging-cookbook.rst:2606
msgid "A CLI application starter template"
msgstr ""
#: howto/logging-cookbook.rst:2615
#: howto/logging-cookbook.rst:2608
msgid "Here's an example which shows how you can:"
msgstr ""
#: howto/logging-cookbook.rst:2617
#: howto/logging-cookbook.rst:2610
msgid "Use a logging level based on command-line arguments"
msgstr ""
#: howto/logging-cookbook.rst:2618
#: howto/logging-cookbook.rst:2611
msgid ""
"Dispatch to multiple subcommands in separate files, all logging at the same "
"level in a consistent way"
msgstr ""
#: howto/logging-cookbook.rst:2620
#: howto/logging-cookbook.rst:2613
msgid "Make use of simple, minimal configuration"
msgstr ""
#: howto/logging-cookbook.rst:2622
#: howto/logging-cookbook.rst:2615
msgid ""
"Suppose we have a command-line application whose job is to stop, start or "
"restart some services. This could be organised for the purposes of "
@ -1473,53 +1473,53 @@ msgid ""
"``logging.INFO``. Here's one way that ``app.py`` could be written::"
msgstr ""
#: howto/logging-cookbook.rst:2671
#: howto/logging-cookbook.rst:2664
msgid ""
"And the ``start``, ``stop`` and ``restart`` commands can be implemented in "
"separate modules, like so for starting::"
msgstr ""
#: howto/logging-cookbook.rst:2684
#: howto/logging-cookbook.rst:2677
msgid "and thus for stopping::"
msgstr ""
#: howto/logging-cookbook.rst:2705
#: howto/logging-cookbook.rst:2698
msgid "and similarly for restarting::"
msgstr ""
#: howto/logging-cookbook.rst:2726
#: howto/logging-cookbook.rst:2719
msgid ""
"If we run this application with the default log level, we get output like "
"this:"
msgstr ""
#: howto/logging-cookbook.rst:2739
#: howto/logging-cookbook.rst:2732
msgid ""
"The first word is the logging level, and the second word is the module or "
"package name of the place where the event was logged."
msgstr ""
#: howto/logging-cookbook.rst:2742
#: howto/logging-cookbook.rst:2735
msgid ""
"If we change the logging level, then we can change the information sent to "
"the log. For example, if we want more information:"
msgstr ""
#: howto/logging-cookbook.rst:2759
#: howto/logging-cookbook.rst:2752
msgid "And if we want less:"
msgstr ""
#: howto/logging-cookbook.rst:2767
#: howto/logging-cookbook.rst:2760
msgid ""
"In this case, the commands don't print anything to the console, since "
"nothing at ``WARNING`` level or above is logged by them."
msgstr ""
#: howto/logging-cookbook.rst:2773
#: howto/logging-cookbook.rst:2766
msgid "A Qt GUI for logging"
msgstr ""
#: howto/logging-cookbook.rst:2775
#: howto/logging-cookbook.rst:2768
msgid ""
"A question that comes up from time to time is about how to log to a GUI "
"application. The `Qt <https://www.qt.io/>`_ framework is a popular cross-"
@ -1527,7 +1527,7 @@ msgid ""
"project/PySide2/>`_ or `PyQt5 <https://pypi.org/project/PyQt5/>`_ libraries."
msgstr ""
#: howto/logging-cookbook.rst:2781
#: howto/logging-cookbook.rst:2774
msgid ""
"The following example shows how to log to a Qt GUI. This introduces a simple "
"``QtHandler`` class which takes a callable, which should be a slot in the "
@ -1537,14 +1537,14 @@ msgid ""
"logging messages at random levels with random short delays in between)."
msgstr ""
#: howto/logging-cookbook.rst:2788
#: howto/logging-cookbook.rst:2781
msgid ""
"The worker thread is implemented using Qt's ``QThread`` class rather than "
"the :mod:`threading` module, as there are circumstances where one has to use "
"``QThread``, which offers better integration with other ``Qt`` components."
msgstr ""
#: howto/logging-cookbook.rst:2792
#: howto/logging-cookbook.rst:2785
msgid ""
"The code should work with recent releases of either ``PySide2`` or "
"``PyQt5``. You should be able to adapt the approach to earlier versions of "
@ -1552,11 +1552,11 @@ msgid ""
"information."
msgstr ""
#: howto/logging-cookbook.rst:3009
#: howto/logging-cookbook.rst:3002
msgid "Patterns to avoid"
msgstr ""
#: howto/logging-cookbook.rst:3011
#: howto/logging-cookbook.rst:3004
msgid ""
"Although the preceding sections have described ways of doing things you "
"might need to do or deal with, it is worth mentioning some usage patterns "
@ -1564,11 +1564,11 @@ msgid ""
"The following sections are in no particular order."
msgstr ""
#: howto/logging-cookbook.rst:3018
#: howto/logging-cookbook.rst:3011
msgid "Opening the same log file multiple times"
msgstr ""
#: howto/logging-cookbook.rst:3020
#: howto/logging-cookbook.rst:3013
msgid ""
"On Windows, you will generally not be able to open the same file multiple "
"times as this will lead to a \"file is in use by another process\" error. "
@ -1576,32 +1576,32 @@ msgid ""
"file multiple times. This could be done accidentally, for example by:"
msgstr ""
#: howto/logging-cookbook.rst:3025
#: howto/logging-cookbook.rst:3018
msgid ""
"Adding a file handler more than once which references the same file (e.g. by "
"a copy/paste/forget-to-change error)."
msgstr ""
#: howto/logging-cookbook.rst:3028
#: howto/logging-cookbook.rst:3021
msgid ""
"Opening two files that look different, as they have different names, but are "
"the same because one is a symbolic link to the other."
msgstr ""
#: howto/logging-cookbook.rst:3031
#: howto/logging-cookbook.rst:3024
msgid ""
"Forking a process, following which both parent and child have a reference to "
"the same file. This might be through use of the :mod:`multiprocessing` "
"module, for example."
msgstr ""
#: howto/logging-cookbook.rst:3035
#: howto/logging-cookbook.rst:3028
msgid ""
"Opening a file multiple times might *appear* to work most of the time, but "
"can lead to a number of problems in practice:"
msgstr ""
#: howto/logging-cookbook.rst:3038
#: howto/logging-cookbook.rst:3031
msgid ""
"Logging output can be garbled because multiple threads or processes try to "
"write to the same file. Although logging guards against concurrent use of "
@ -1610,7 +1610,7 @@ msgid ""
"different handler instances which happen to point to the same file."
msgstr ""
#: howto/logging-cookbook.rst:3044
#: howto/logging-cookbook.rst:3037
msgid ""
"An attempt to delete a file (e.g. during file rotation) silently fails, "
"because there is another reference pointing to it. This can lead to "
@ -1620,17 +1620,17 @@ msgid ""
"being supposedly in place."
msgstr ""
#: howto/logging-cookbook.rst:3051
#: howto/logging-cookbook.rst:3044
msgid ""
"Use the techniques outlined in :ref:`multiple-processes` to circumvent such "
"issues."
msgstr ""
#: howto/logging-cookbook.rst:3055
#: howto/logging-cookbook.rst:3048
msgid "Using loggers as attributes in a class or passing them as parameters"
msgstr ""
#: howto/logging-cookbook.rst:3057
#: howto/logging-cookbook.rst:3050
msgid ""
"While there might be unusual cases where you'll need to do this, in general "
"there is no point because loggers are singletons. Code can always access a "
@ -1641,12 +1641,12 @@ msgid ""
"module (and not the class) is the unit of software decomposition."
msgstr ""
#: howto/logging-cookbook.rst:3067
#: howto/logging-cookbook.rst:3060
msgid ""
"Adding handlers other than :class:`NullHandler` to a logger in a library"
msgstr ""
#: howto/logging-cookbook.rst:3069
#: howto/logging-cookbook.rst:3062
msgid ""
"Configuring logging by adding handlers, formatters and filters is the "
"responsibility of the application developer, not the library developer. If "
@ -1654,11 +1654,11 @@ msgid ""
"your loggers other than a :class:`~logging.NullHandler` instance."
msgstr ""
#: howto/logging-cookbook.rst:3076
#: howto/logging-cookbook.rst:3069
msgid "Creating a lot of loggers"
msgstr ""
#: howto/logging-cookbook.rst:3078
#: howto/logging-cookbook.rst:3071
msgid ""
"Loggers are singletons that are never freed during a script execution, and "
"so creating lots of loggers will use up memory which can't then be freed. "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-12-11 16:43+0100\n"
"Last-Translator: Nabil Bendafi <nabil@bendafi.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -198,11 +198,12 @@ msgstr ""
"contient que des lettres en minuscules, la RE est ``[a-z]``."
#: howto/regex.rst:92
#, fuzzy
msgid ""
"Metacharacters are not active inside classes. For example, ``[akm$]`` will "
"match any of the characters ``'a'``, ``'k'``, ``'m'``, or ``'$'``; ``'$'`` "
"is usually a metacharacter, but inside a character class it's stripped of "
"its special nature."
"Metacharacters (except ``\\``) are not active inside classes. For example, "
"``[akm$]`` will match any of the characters ``'a'``, ``'k'``, ``'m'``, or "
"``'$'``; ``'$'`` is usually a metacharacter, but inside a character class "
"it's stripped of its special nature."
msgstr ""
"Les métacaractères ne sont pas actifs dans les classes. Par exemple, "
"``[akm$]`` correspond à n'importe quel caractère parmi ``'a'``, ``'k'``, "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-11-06 19:48+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -394,7 +394,8 @@ msgstr ""
"module :mod:`functools` dans la librairie standard."
#: howto/sorting.rst:309
msgid "Odd and Ends"
#, fuzzy
msgid "Odds and Ends"
msgstr "Curiosités et conclusion"
#: howto/sorting.rst:311
@ -418,10 +419,11 @@ msgstr ""
"native :func:`reversed` deux fois :"
#: howto/sorting.rst:328
#, fuzzy
msgid ""
"The sort routines are guaranteed to use :meth:`__lt__` when making "
"comparisons between two objects. So, it is easy to add a standard sort order "
"to a class by defining an :meth:`__lt__` method:"
"The sort routines use ``<`` when making comparisons between two objects. So, "
"it is easy to add a standard sort order to a class by defining an :meth:"
"`__lt__` method:"
msgstr ""
"Il est garanti que les routines de tri utilisent les méthodes :meth:`__lt__` "
"lorsqu'elles effectuent des comparaisons entre deux objets. Donc il est "
@ -430,6 +432,12 @@ msgstr ""
#: howto/sorting.rst:338
msgid ""
"However, note that ``<`` can fall back to using :meth:`__gt__` if :meth:"
"`__lt__` is not implemented (see :func:`object.__lt__`)."
msgstr ""
#: howto/sorting.rst:341
msgid ""
"Key functions need not depend directly on the objects being sorted. A key "
"function can also access external resources. For instance, if the student "
"grades are stored in a dictionary, they can be used to sort a separate list "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-11-06 19:52+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -277,21 +277,35 @@ msgid "3.7.0b1"
msgstr "3.7.0b1"
#: library/__future__.rst:93
msgid "3.11"
msgstr "3.11"
msgid "TBD [1]_"
msgstr ""
#: library/__future__.rst:93
msgid ":pep:`563`: *Postponed evaluation of annotations*"
msgstr ":pep:`563` : *Évaluation différée des annotations*"
#: library/__future__.rst:102
#: library/__future__.rst:100
msgid ""
"``from __future__ import annotations`` was previously scheduled to become "
"mandatory in Python 3.10, but the Python Steering Council twice decided to "
"delay the change (`announcement for Python 3.10 <https://mail.python.org/"
"archives/list/python-dev@python.org/message/CLVXXPQ2T2LQ5MP2Y53VVQFCXYWQJHKZ/"
">`__; `announcement for Python 3.11 <https://mail.python.org/archives/list/"
"python-dev@python.org/message/VIZEBX5EYMSYIJNDBF6DMUMZOCWHARSO/>`__). No "
"final decision has been made yet. See also :pep:`563` and :pep:`649`."
msgstr ""
#: library/__future__.rst:110
msgid ":ref:`future`"
msgstr ":ref:`future`"
#: library/__future__.rst:103
#: library/__future__.rst:111
msgid "How the compiler treats future imports."
msgstr "Comment le compilateur gère les importations « futures »."
#~ msgid "3.11"
#~ msgstr "3.11"
#~ msgid "3.10"
#~ msgstr "3.10"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2020-12-11 15:56+0100\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -22,11 +22,13 @@ msgstr ":mod:`aifc` — Lis et écrit dans les fichiers AIFF et AIFC"
msgid "**Source code:** :source:`Lib/aifc.py`"
msgstr "**Code source:** :source:`Lib/aifc.py`"
#: library/aifc.rst:16
msgid "The :mod:`aifc` module is deprecated (see :pep:`594` for details)."
#: library/aifc.rst:19
msgid ""
"The :mod:`aifc` module is deprecated (see :pep:`PEP 594 <594#aifc>` for "
"details)."
msgstr ""
#: library/aifc.rst:21
#: library/aifc.rst:22
msgid ""
"This module provides support for reading and writing AIFF and AIFF-C files. "
"AIFF is Audio Interchange File Format, a format for storing digital audio "
@ -34,7 +36,7 @@ msgid ""
"the ability to compress the audio data."
msgstr ""
#: library/aifc.rst:26
#: library/aifc.rst:27
msgid ""
"Audio files have a number of parameters that describe the audio data. The "
"sampling rate or frame rate is the number of times per second the sound is "
@ -45,7 +47,7 @@ msgid ""
"samplesize * framerate`` bytes."
msgstr ""
#: library/aifc.rst:34
#: library/aifc.rst:35
msgid ""
"For example, CD quality audio has a sample size of two bytes (16 bits), uses "
"two channels (stereo) and has a frame rate of 44,100 frames/second. This "
@ -53,11 +55,11 @@ msgid ""
"2\\*2\\*44100 bytes (176,400 bytes)."
msgstr ""
#: library/aifc.rst:39
#: library/aifc.rst:40
msgid "Module :mod:`aifc` defines the following function:"
msgstr "Le module :mod:`aifc` définit les fonctions suivantes :"
#: library/aifc.rst:44
#: library/aifc.rst:45
msgid ""
"Open an AIFF or AIFF-C file and return an object instance with methods that "
"are described below. The argument *file* is either a string naming a file "
@ -71,48 +73,48 @@ msgid ""
"keyword:`!with` block completes, the :meth:`~aifc.close` method is called."
msgstr ""
#: library/aifc.rst:55
#: library/aifc.rst:56
msgid "Support for the :keyword:`with` statement was added."
msgstr "La prise en charge de l'instruction :keyword:`with` a été ajoutée."
#: library/aifc.rst:58
#: library/aifc.rst:59
msgid ""
"Objects returned by :func:`.open` when a file is opened for reading have the "
"following methods:"
msgstr ""
#: library/aifc.rst:64
#: library/aifc.rst:65
#, fuzzy
msgid "Return the number of audio channels (1 for mono, 2 for stereo)."
msgstr ""
"Renvoie le nombre de canaux audio (``1`` pour mono, ``2`` pour stéréo)."
#: library/aifc.rst:69
#: library/aifc.rst:70
msgid "Return the size in bytes of individual samples."
msgstr "Donne la taille en octets des échantillons, individuellement."
#: library/aifc.rst:74
#: library/aifc.rst:75
msgid "Return the sampling rate (number of audio frames per second)."
msgstr ""
#: library/aifc.rst:79
#: library/aifc.rst:80
msgid "Return the number of audio frames in the file."
msgstr "Donne le nombre de trames (*frames*) audio du fichier."
#: library/aifc.rst:84
#: library/aifc.rst:85
msgid ""
"Return a bytes array of length 4 describing the type of compression used in "
"the audio file. For AIFF files, the returned value is ``b'NONE'``."
msgstr ""
#: library/aifc.rst:91
#: library/aifc.rst:92
msgid ""
"Return a bytes array convertible to a human-readable description of the type "
"of compression used in the audio file. For AIFF files, the returned value "
"is ``b'not compressed'``."
msgstr ""
#: library/aifc.rst:98
#: library/aifc.rst:99
msgid ""
"Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, "
"framerate, nframes, comptype, compname)``, equivalent to output of the :meth:"
@ -122,7 +124,7 @@ msgstr ""
"framerate, nframes, comptype, compname)``, équivalent à la sortie des "
"méthodes :meth:`get\\*`."
#: library/aifc.rst:105
#: library/aifc.rst:106
msgid ""
"Return a list of markers in the audio file. A marker consists of a tuple of "
"three elements. The first is the mark ID (an integer), the second is the "
@ -130,40 +132,40 @@ msgid ""
"third is the name of the mark (a string)."
msgstr ""
#: library/aifc.rst:113
#: library/aifc.rst:114
msgid ""
"Return the tuple as described in :meth:`getmarkers` for the mark with the "
"given *id*."
msgstr ""
#: library/aifc.rst:119
#: library/aifc.rst:120
msgid ""
"Read and return the next *nframes* frames from the audio file. The returned "
"data is a string containing for each frame the uncompressed samples of all "
"channels."
msgstr ""
#: library/aifc.rst:126
#: library/aifc.rst:127
msgid ""
"Rewind the read pointer. The next :meth:`readframes` will start from the "
"beginning."
msgstr ""
#: library/aifc.rst:132
#: library/aifc.rst:133
msgid "Seek to the specified frame number."
msgstr "Va à la trame de numéro donné."
#: library/aifc.rst:137
#: library/aifc.rst:138
msgid "Return the current frame number."
msgstr "Donne le numéro de la trame courante."
#: library/aifc.rst:142
#: library/aifc.rst:143
msgid ""
"Close the AIFF file. After calling this method, the object can no longer be "
"used."
msgstr ""
#: library/aifc.rst:145
#: library/aifc.rst:146
msgid ""
"Objects returned by :func:`.open` when a file is opened for writing have all "
"the above methods, except for :meth:`readframes` and :meth:`setpos`. In "
@ -173,40 +175,40 @@ msgid ""
"parameters except for the number of frames must be filled in."
msgstr ""
#: library/aifc.rst:155
#: library/aifc.rst:156
msgid ""
"Create an AIFF file. The default is that an AIFF-C file is created, unless "
"the name of the file ends in ``'.aiff'`` in which case the default is an "
"AIFF file."
msgstr ""
#: library/aifc.rst:161
#: library/aifc.rst:162
msgid ""
"Create an AIFF-C file. The default is that an AIFF-C file is created, "
"unless the name of the file ends in ``'.aiff'`` in which case the default is "
"an AIFF file."
msgstr ""
#: library/aifc.rst:168
#: library/aifc.rst:169
msgid "Specify the number of channels in the audio file."
msgstr "Définit le nombre de canaux du fichier audio."
#: library/aifc.rst:173
#: library/aifc.rst:174
msgid "Specify the size in bytes of audio samples."
msgstr "Définit la taille en octets des échantillons audio."
#: library/aifc.rst:178
#: library/aifc.rst:179
msgid "Specify the sampling frequency in frames per second."
msgstr ""
#: library/aifc.rst:183
#: library/aifc.rst:184
msgid ""
"Specify the number of frames that are to be written to the audio file. If "
"this parameter is not set, or not set correctly, the file needs to support "
"seeking."
msgstr ""
#: library/aifc.rst:194
#: library/aifc.rst:195
msgid ""
"Specify the compression type. If not specified, the audio data will not be "
"compressed. In AIFF files, compression is not possible. The name parameter "
@ -216,42 +218,42 @@ msgid ""
"``b'ALAW'``, ``b'G722'``."
msgstr ""
#: library/aifc.rst:204
#: library/aifc.rst:205
msgid ""
"Set all the above parameters at once. The argument is a tuple consisting of "
"the various parameters. This means that it is possible to use the result of "
"a :meth:`getparams` call as argument to :meth:`setparams`."
msgstr ""
#: library/aifc.rst:211
#: library/aifc.rst:212
msgid ""
"Add a mark with the given id (larger than 0), and the given name at the "
"given position. This method can be called at any time before :meth:`close`."
msgstr ""
#: library/aifc.rst:218
#: library/aifc.rst:219
msgid ""
"Return the current write position in the output file. Useful in combination "
"with :meth:`setmark`."
msgstr ""
#: library/aifc.rst:224
#: library/aifc.rst:225
msgid ""
"Write data to the output file. This method can only be called after the "
"audio file parameters have been set."
msgstr ""
#: library/aifc.rst:236
#: library/aifc.rst:237
msgid "Any :term:`bytes-like object` is now accepted."
msgstr "N'importe quel :term:`bytes-like object` est maintenant accepté."
#: library/aifc.rst:233
#: library/aifc.rst:234
msgid ""
"Like :meth:`writeframes`, except that the header of the audio file is not "
"updated."
msgstr ""
#: library/aifc.rst:243
#: library/aifc.rst:244
msgid ""
"Close the AIFF file. The header of the file is updated to reflect the "
"actual size of the audio data. After calling this method, the object can no "

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-09-15 23:54+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1148,7 +1148,7 @@ msgstr "*bases* est la liste des classes mères données explicitement ;"
msgid ""
"``keywords`` is a list of :class:`keyword` nodes, principally for "
"'metaclass'. Other keywords will be passed to the metaclass, as per "
"`PEP-3115 <https://www.python.org/dev/peps/pep-3115/>`_."
"`PEP-3115 <https://peps.python.org/pep-3115/>`_."
msgstr ""
"*keywords* est une liste de nœuds de type :class:`keyword`. Le principal mot-"
"clé qui peut y apparaître est ``metaclass``. Les autres sont passés à la "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2018-10-06 17:04+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -25,13 +25,13 @@ msgstr ""
msgid "**Source code:** :source:`Lib/asynchat.py`"
msgstr "*Code source :** :source:`Lib/asynchat.py`"
#: library/asynchat.rst:13
#: library/asynchat.rst:17
msgid ""
":mod:`asynchat` will be removed in Python 3.12 (:pep:`594`). Please use :mod:"
"`asyncio` instead."
"The :mod:`asynchat` module is deprecated (see :pep:`PEP 594 <594#asynchat>` "
"for details). Please use :mod:`asyncio` instead."
msgstr ""
#: library/asynchat.rst:21
#: library/asynchat.rst:22
msgid ""
"This module exists for backwards compatibility only. For new code we "
"recommend using :mod:`asyncio`."
@ -39,7 +39,7 @@ msgstr ""
"Ce module n'existe que pour des raisons de rétrocompatibilité. Pour du code "
"nouveau, l'utilisation de :mod:`asyncio` est recommandée."
#: library/asynchat.rst:24
#: library/asynchat.rst:25
msgid ""
"This module builds on the :mod:`asyncore` infrastructure, simplifying "
"asynchronous clients and servers and making it easier to handle protocols "
@ -66,7 +66,7 @@ msgstr ""
"d'objets :class:`asynchat.async_chat` à la réception de requêtes de "
"connexion."
#: library/asynchat.rst:39
#: library/asynchat.rst:40
msgid ""
"This class is an abstract subclass of :class:`asyncore.dispatcher`. To make "
"practical use of the code you must subclass :class:`async_chat`, providing "
@ -81,7 +81,7 @@ msgstr ""
"de :class:`asyncore.dispatcher` peuvent être utilisées, même si toutes "
"n'ont pas de sens dans un contexte de messages/réponse."
#: library/asynchat.rst:46
#: library/asynchat.rst:47
msgid ""
"Like :class:`asyncore.dispatcher`, :class:`async_chat` defines a set of "
"events that are generated by an analysis of socket conditions after a :c:"
@ -96,7 +96,7 @@ msgstr ""
"objets :class:`async_chat` sont appelées par le *framework* de traitement "
"dévénements sans que le programmeur n'ait à le spécifier."
#: library/asynchat.rst:52
#: library/asynchat.rst:53
msgid ""
"Two class attributes can be modified, to improve performance, or possibly "
"even to conserve memory."
@ -104,15 +104,15 @@ msgstr ""
"Deux attributs de classe peuvent être modifiés, pour améliorer la "
"performance, ou potentiellement pour économiser de la mémoire."
#: library/asynchat.rst:58
#: library/asynchat.rst:59
msgid "The asynchronous input buffer size (default ``4096``)."
msgstr "La taille du tampon d'entrées asynchrones (``4096`` par défaut)."
#: library/asynchat.rst:63
#: library/asynchat.rst:64
msgid "The asynchronous output buffer size (default ``4096``)."
msgstr "La taille du tampon de sorties asynchrones (``4096`` par défaut)."
#: library/asynchat.rst:65
#: library/asynchat.rst:66
msgid ""
"Unlike :class:`asyncore.dispatcher`, :class:`async_chat` allows you to "
"define a :abbr:`FIFO (first-in, first-out)` queue of *producers*. A producer "
@ -139,7 +139,7 @@ msgstr ""
"d'un point d'arrêt, dans in transmission entrante depuis le point daccès "
"distant."
#: library/asynchat.rst:78
#: library/asynchat.rst:79
msgid ""
"To build a functioning :class:`async_chat` subclass your input methods :"
"meth:`collect_incoming_data` and :meth:`found_terminator` must handle the "
@ -151,7 +151,7 @@ msgstr ""
"`found_terminator` doivent gérer la donnée que le canal reçoit de manière "
"asynchrone. Ces méthodes sont décrites ci-dessous."
#: library/asynchat.rst:86
#: library/asynchat.rst:87
msgid ""
"Pushes a ``None`` on to the producer queue. When this producer is popped off "
"the queue it causes the channel to be closed."
@ -159,7 +159,7 @@ msgstr ""
"Pousse un ``None`` sur la pile de producteurs. Quand ce producteur est "
"récupéré dans la queue, le canal est fermé."
#: library/asynchat.rst:92
#: library/asynchat.rst:93
msgid ""
"Called with *data* holding an arbitrary amount of received data. The "
"default method, which must be overridden, raises a :exc:"
@ -168,7 +168,7 @@ msgstr ""
"Appelé avec *data* contenant une quantité arbitraire de données. La méthode "
"par défaut, qui doit être écrasée, lève une :exc:`NotImplementedError`."
#: library/asynchat.rst:99
#: library/asynchat.rst:100
msgid ""
"In emergencies this method will discard any data held in the input and/or "
"output buffers and the producer queue."
@ -176,7 +176,7 @@ msgstr ""
"En cas d'urgence, cette méthode va supprimer tout donnée présente dans les "
"tampons d'entrée et/ou de sortie dans la queue de producteurs."
#: library/asynchat.rst:105
#: library/asynchat.rst:106
msgid ""
"Called when the incoming data stream matches the termination condition set "
"by :meth:`set_terminator`. The default method, which must be overridden, "
@ -188,11 +188,11 @@ msgstr ""
"lève une :exc:`NotImplementedError`. Les données entrantes mise en tampon "
"devraient être disponible via un attribut de l'instance."
#: library/asynchat.rst:113
#: library/asynchat.rst:114
msgid "Returns the current terminator for the channel."
msgstr "Renvoie le terminateur courant pour le canal."
#: library/asynchat.rst:118
#: library/asynchat.rst:119
msgid ""
"Pushes data on to the channel's queue to ensure its transmission. This is "
"all you need to do to have the channel write the data out to the network, "
@ -205,7 +205,7 @@ msgstr ""
"schémas plus complexes qui implémentent de la cryptographie et du *chunking* "
"par exemple."
#: library/asynchat.rst:126
#: library/asynchat.rst:127
msgid ""
"Takes a producer object and adds it to the producer queue associated with "
"the channel. When all currently-pushed producers have been exhausted the "
@ -217,7 +217,7 @@ msgstr ""
"canal consomme les données de ce producteur en appelant sa méthode :meth:"
"`more` et envoie les données au point daccès distant."
#: library/asynchat.rst:134
#: library/asynchat.rst:135
msgid ""
"Sets the terminating condition to be recognized on the channel. ``term`` "
"may be any of three types of value, corresponding to three different ways to "
@ -227,19 +227,19 @@ msgstr ""
"n'importe lequel des trois types de valeurs, correspondant aux trois "
"différentes manières de gérer les données entrantes."
#: library/asynchat.rst:139
#: library/asynchat.rst:140
msgid "term"
msgstr "*term*"
#: library/asynchat.rst:139
#: library/asynchat.rst:140
msgid "Description"
msgstr "Description"
#: library/asynchat.rst:141
#: library/asynchat.rst:142
msgid "*string*"
msgstr "*string*"
#: library/asynchat.rst:141
#: library/asynchat.rst:142
msgid ""
"Will call :meth:`found_terminator` when the string is found in the input "
"stream"
@ -247,11 +247,11 @@ msgstr ""
"Appellera :meth:`found_terminator` quand la chaîne est trouvée dans le flux "
"d'entré"
#: library/asynchat.rst:144
#: library/asynchat.rst:145
msgid "*integer*"
msgstr "*integer*"
#: library/asynchat.rst:144
#: library/asynchat.rst:145
msgid ""
"Will call :meth:`found_terminator` when the indicated number of characters "
"have been received"
@ -259,15 +259,15 @@ msgstr ""
"Appellera :meth:`found_terminator` quand le nombre de caractère indiqué à "
"été reçu"
#: library/asynchat.rst:148
#: library/asynchat.rst:149
msgid "``None``"
msgstr "``None``"
#: library/asynchat.rst:148
#: library/asynchat.rst:149
msgid "The channel continues to collect data forever"
msgstr "Le canal continue de collecter des informations indéfiniment"
#: library/asynchat.rst:152
#: library/asynchat.rst:153
msgid ""
"Note that any data following the terminator will be available for reading by "
"the channel after :meth:`found_terminator` is called."
@ -275,11 +275,11 @@ msgstr ""
"Notez que toute donnée située après le marqueur de fin sera accessible en "
"lecture par le canal après que :meth:`found_terminator` ai été appelé."
#: library/asynchat.rst:159
#: library/asynchat.rst:160
msgid "asynchat Example"
msgstr "Exemple *asynchat*"
#: library/asynchat.rst:161
#: library/asynchat.rst:162
msgid ""
"The following partial example shows how HTTP requests can be read with :"
"class:`async_chat`. A web server might create an :class:"
@ -295,7 +295,7 @@ msgstr ""
"lignes vides à la fin des entêtes HTTP, et une option indique que les "
"entêtes sont en train d'être lues."
#: library/asynchat.rst:168
#: library/asynchat.rst:169
msgid ""
"Once the headers have been read, if the request is of type POST (indicating "
"that further data are present in the input stream) then the ``Content-Length:"
@ -307,7 +307,7 @@ msgstr ""
"alors l'entête ``Content-Length:`` est utilisé pour définir un marqueur de "
"fin numérique pour lire la bonne quantité de donné depuis le canal."
#: library/asynchat.rst:173
#: library/asynchat.rst:174
msgid ""
"The :meth:`handle_request` method is called once all relevant input has been "
"marshalled, after setting the channel terminator to ``None`` to ensure that "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -140,7 +140,7 @@ msgstr ""
#: library/asyncio-api-index.rst:62 library/asyncio-api-index.rst:98
#: library/asyncio-api-index.rst:122 library/asyncio-api-index.rst:158
#: library/asyncio-api-index.rst:191 library/asyncio-api-index.rst:211
#: library/asyncio-api-index.rst:194 library/asyncio-api-index.rst:219
msgid "Examples"
msgstr "Exemples"
@ -356,35 +356,56 @@ msgstr ":class:`BoundedSemaphore`"
msgid "A bounded semaphore."
msgstr ""
#: library/asyncio-api-index.rst:192
#: library/asyncio-api-index.rst:189
#, fuzzy
msgid ":class:`Barrier`"
msgstr ":class:`Semaphore`"
#: library/asyncio-api-index.rst:190
msgid "A barrier object."
msgstr ""
#: library/asyncio-api-index.rst:195
msgid ":ref:`Using asyncio.Event <asyncio_example_sync_event>`."
msgstr ""
#: library/asyncio-api-index.rst:194
#: library/asyncio-api-index.rst:197
msgid ":ref:`Using asyncio.Barrier <asyncio_example_barrier>`."
msgstr ""
#: library/asyncio-api-index.rst:199
msgid ""
"See also the documentation of asyncio :ref:`synchronization primitives "
"<asyncio-sync>`."
msgstr ""
#: library/asyncio-api-index.rst:199
#: library/asyncio-api-index.rst:204
msgid "Exceptions"
msgstr "Exceptions"
#: library/asyncio-api-index.rst:206
#: library/asyncio-api-index.rst:211
msgid ":exc:`asyncio.CancelledError`"
msgstr ""
#: library/asyncio-api-index.rst:207
#: library/asyncio-api-index.rst:212
msgid "Raised when a Task is cancelled. See also :meth:`Task.cancel`."
msgstr ""
#: library/asyncio-api-index.rst:212
#: library/asyncio-api-index.rst:214
msgid ":exc:`asyncio.BrokenBarrierError`"
msgstr ""
#: library/asyncio-api-index.rst:215
msgid "Raised when a Barrier is broken. See also :meth:`Barrier.wait`."
msgstr ""
#: library/asyncio-api-index.rst:220
msgid ""
":ref:`Handling CancelledError to run code on cancellation request "
"<asyncio_example_task_cancel>`."
msgstr ""
#: library/asyncio-api-index.rst:215
#: library/asyncio-api-index.rst:223
msgid ""
"See also the full list of :ref:`asyncio-specific exceptions <asyncio-"
"exceptions>`."

View File

@ -0,0 +1,160 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2022, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.11\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2022-05-23 00:51+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"
#: library/asyncio-extending.rst:6
msgid "Extending"
msgstr ""
#: library/asyncio-extending.rst:8
msgid ""
"The main direction for :mod:`asyncio` extending is writing custom *event "
"loop* classes. Asyncio has helpers that could be used to simplify this task."
msgstr ""
#: library/asyncio-extending.rst:13
msgid ""
"Third-parties should reuse existing asyncio code with caution, a new Python "
"version is free to break backward compatibility in *internal* part of API."
msgstr ""
#: library/asyncio-extending.rst:19
msgid "Writing a Custom Event Loop"
msgstr ""
#: library/asyncio-extending.rst:21
msgid ""
":class:`asyncio.AbstractEventLoop` declares very many methods. Implementing "
"all them from scratch is a tedious job."
msgstr ""
#: library/asyncio-extending.rst:24
msgid ""
"A loop can get many common methods implementation for free by inheriting "
"from :class:`asyncio.BaseEventLoop`."
msgstr ""
#: library/asyncio-extending.rst:27
msgid ""
"In turn, the successor should implement a bunch of *private* methods "
"declared but not implemented in :class:`asyncio.BaseEventLoop`."
msgstr ""
#: library/asyncio-extending.rst:30
msgid ""
"For example, ``loop.create_connection()`` checks arguments, resolves DNS "
"addresses, and calls ``loop._make_socket_transport()`` that should be "
"implemented by inherited class. The ``_make_socket_transport()`` method is "
"not documented and is considered as an *internal* API."
msgstr ""
#: library/asyncio-extending.rst:38
msgid "Future and Task private constructors"
msgstr ""
#: library/asyncio-extending.rst:40
msgid ""
":class:`asyncio.Future` and :class:`asyncio.Task` should be never created "
"directly, please use corresponding :meth:`loop.create_future` and :meth:"
"`loop.create_task`, or :func:`asyncio.create_task` factories instead."
msgstr ""
#: library/asyncio-extending.rst:44
msgid ""
"However, third-party *event loops* may *reuse* built-in future and task "
"implementations for the sake of getting a complex and highly optimized code "
"for free."
msgstr ""
#: library/asyncio-extending.rst:47
msgid "For this purpose the following, *private* constructors are listed:"
msgstr ""
#: library/asyncio-extending.rst:51
msgid "Create a built-in future instance."
msgstr ""
#: library/asyncio-extending.rst:53
msgid "*loop* is an optional event loop instance."
msgstr ""
#: library/asyncio-extending.rst:57
msgid "Create a built-in task instance."
msgstr ""
#: library/asyncio-extending.rst:59
msgid ""
"*loop* is an optional event loop instance. The rest of arguments are "
"described in :meth:`loop.create_task` description."
msgstr ""
#: library/asyncio-extending.rst:64
msgid "*context* argument is added."
msgstr ""
#: library/asyncio-extending.rst:68
msgid ""
"Return ``True`` if *future* is attached to the same loop as the task, "
"``False`` otherwise."
msgstr ""
#: library/asyncio-extending.rst:75
msgid "Task lifetime support"
msgstr ""
#: library/asyncio-extending.rst:77
msgid ""
"A third party task implementation should call the following functions to "
"keep a task visible by :func:`asyncio.get_tasks` and :func:`asyncio."
"current_task`:"
msgstr ""
#: library/asyncio-extending.rst:82
msgid "Register a new *task* as managed by *asyncio*."
msgstr ""
#: library/asyncio-extending.rst:84
msgid "Call the function from a task constructor."
msgstr ""
#: library/asyncio-extending.rst:88
msgid "Unregister a *task* from *asyncio* internal structures."
msgstr ""
#: library/asyncio-extending.rst:90
msgid "The function should be called when a task is about to finish."
msgstr ""
#: library/asyncio-extending.rst:94
msgid "Switch the current task to the *task* argument."
msgstr ""
#: library/asyncio-extending.rst:96
msgid ""
"Call the function just before executing a portion of embedded *coroutine* (:"
"meth:`coroutine.send` or :meth:`coroutine.throw`)."
msgstr ""
#: library/asyncio-extending.rst:101
msgid "Switch the current task back from *task* to ``None``."
msgstr ""
#: library/asyncio-extending.rst:103
msgid ""
"Call the function just after :meth:`coroutine.send` or :meth:`coroutine."
"throw` execution."
msgstr ""

201
library/asyncio-runner.po Normal file
View File

@ -0,0 +1,201 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2022, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.11\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2022-05-23 00:51+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"
#: library/asyncio-runner.rst:6
msgid "Runners"
msgstr ""
#: library/asyncio-runner.rst:8
msgid "**Source code:** :source:`Lib/asyncio/runners.py`"
msgstr ""
#: library/asyncio-runner.rst:11
msgid ""
"This section outlines high-level asyncio primitives to run asyncio code."
msgstr ""
#: library/asyncio-runner.rst:13
msgid ""
"They are built on top of an :ref:`event loop <asyncio-event-loop>` with the "
"aim to simplify async code usage for common wide-spread scenarios."
msgstr ""
#: library/asyncio-runner.rst:23
msgid "Running an asyncio Program"
msgstr ""
#: library/asyncio-runner.rst:27
msgid "Execute the :term:`coroutine` *coro* and return the result."
msgstr ""
#: library/asyncio-runner.rst:29
msgid ""
"This function runs the passed coroutine, taking care of managing the asyncio "
"event loop, *finalizing asynchronous generators*, and closing the threadpool."
msgstr ""
#: library/asyncio-runner.rst:101
msgid ""
"This function cannot be called when another asyncio event loop is running in "
"the same thread."
msgstr ""
#: library/asyncio-runner.rst:73
msgid ""
"If *debug* is ``True``, the event loop will be run in debug mode. ``False`` "
"disables debug mode explicitly. ``None`` is used to respect the global :ref:"
"`asyncio-debug-mode` settings."
msgstr ""
#: library/asyncio-runner.rst:40
msgid ""
"This function always creates a new event loop and closes it at the end. It "
"should be used as a main entry point for asyncio programs, and should "
"ideally only be called once."
msgstr ""
#: library/asyncio-runner.rst:44
msgid "Example::"
msgstr ""
#: library/asyncio-runner.rst:54
msgid "Updated to use :meth:`loop.shutdown_default_executor`."
msgstr ""
#: library/asyncio-runner.rst:59
msgid ""
"*debug* is ``None`` by default to respect the global debug mode settings."
msgstr ""
#: library/asyncio-runner.rst:63
msgid "Runner context manager"
msgstr ""
#: library/asyncio-runner.rst:67
msgid ""
"A context manager that simplifies *multiple* async function calls in the "
"same context."
msgstr ""
#: library/asyncio-runner.rst:70
msgid ""
"Sometimes several top-level async functions should be called in the same :"
"ref:`event loop <asyncio-event-loop>` and :class:`contextvars.Context`."
msgstr ""
#: library/asyncio-runner.rst:77
msgid ""
"*loop_factory* could be used for overriding the loop creation. :func:"
"`asyncio.new_event_loop` is used if ``None``."
msgstr ""
#: library/asyncio-runner.rst:80
msgid ""
"Basically, :func:`asyncio.run()` example can be rewritten with the runner "
"usage::"
msgstr ""
#: library/asyncio-runner.rst:93
msgid "Run a :term:`coroutine <coroutine>` *coro* in the embedded loop."
msgstr ""
#: library/asyncio-runner.rst:95
msgid "Return the coroutine's result or raise its exception."
msgstr ""
#: library/asyncio-runner.rst:97
msgid ""
"An optional keyword-only *context* argument allows specifying a custom :"
"class:`contextvars.Context` for the *coro* to run in. The runner's default "
"context is used if ``None``."
msgstr ""
#: library/asyncio-runner.rst:106
msgid "Close the runner."
msgstr ""
#: library/asyncio-runner.rst:108
msgid ""
"Finalize asynchronous generators, shutdown default executor, close the event "
"loop and release embedded :class:`contextvars.Context`."
msgstr ""
#: library/asyncio-runner.rst:113
msgid "Return the event loop associated with the runner instance."
msgstr ""
#: library/asyncio-runner.rst:117
msgid ""
":class:`Runner` uses the lazy initialization strategy, its constructor "
"doesn't initialize underlying low-level structures."
msgstr ""
#: library/asyncio-runner.rst:120
msgid ""
"Embedded *loop* and *context* are created at the :keyword:`with` body "
"entering or the first call of :meth:`run` or :meth:`get_loop`."
msgstr ""
#: library/asyncio-runner.rst:125
msgid "Handling Keyboard Interruption"
msgstr ""
#: library/asyncio-runner.rst:129
msgid ""
"When :const:`signal.SIGINT` is raised by :kbd:`Ctrl-C`, :exc:"
"`KeyboardInterrupt` exception is raised in the main thread by default. "
"However this doesn't work with :mod:`asyncio` because it can interrupt "
"asyncio internals and can hang the program from exiting."
msgstr ""
#: library/asyncio-runner.rst:134
msgid ""
"To mitigate this issue, :mod:`asyncio` handles :const:`signal.SIGINT` as "
"follows:"
msgstr ""
#: library/asyncio-runner.rst:136
msgid ""
":meth:`asyncio.Runner.run` installs a custom :const:`signal.SIGINT` handler "
"before any user code is executed and removes it when exiting from the "
"function."
msgstr ""
#: library/asyncio-runner.rst:138
msgid ""
"The :class:`~asyncio.Runner` creates the main task for the passed coroutine "
"for its execution."
msgstr ""
#: library/asyncio-runner.rst:140
msgid ""
"When :const:`signal.SIGINT` is raised by :kbd:`Ctrl-C`, the custom signal "
"handler cancels the main task by calling :meth:`asyncio.Task.cancel` which "
"raises :exc:`asyncio.CancelledError` inside the main task. This causes the "
"Python stack to unwind, ``try/except`` and ``try/finally`` blocks can be "
"used for resource cleanup. After the main task is cancelled, :meth:`asyncio."
"Runner.run` raises :exc:`KeyboardInterrupt`."
msgstr ""
#: library/asyncio-runner.rst:146
msgid ""
"A user could write a tight loop which cannot be interrupted by :meth:"
"`asyncio.Task.cancel`, in which case the second following :kbd:`Ctrl-C` "
"immediately raises the :exc:`KeyboardInterrupt` without cancelling the main "
"task."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2019-09-06 13:48+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -317,90 +317,115 @@ msgid ""
"`drain` returns immediately."
msgstr ""
#: library/asyncio-stream.rst:300
#: library/asyncio-stream.rst:301
msgid "Upgrade an existing stream-based connection to TLS."
msgstr ""
#: library/asyncio-stream.rst:303
msgid "Parameters:"
msgstr ""
#: library/asyncio-stream.rst:305
msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`."
msgstr ""
#: library/asyncio-stream.rst:307
msgid ""
"*server_hostname*: sets or overrides the host name that the target server's "
"certificate will be matched against."
msgstr ""
#: library/asyncio-stream.rst:310
msgid ""
"*ssl_handshake_timeout* is the time in seconds to wait for the TLS handshake "
"to complete before aborting the connection. ``60.0`` seconds if ``None`` "
"(default)."
msgstr ""
#: library/asyncio-stream.rst:318
msgid ""
"Return ``True`` if the stream is closed or in the process of being closed."
msgstr ""
#: library/asyncio-stream.rst:307
#: library/asyncio-stream.rst:325
msgid "Wait until the stream is closed."
msgstr ""
#: library/asyncio-stream.rst:309
#: library/asyncio-stream.rst:327
msgid ""
"Should be called after :meth:`close` to wait until the underlying connection "
"is closed."
msgstr ""
#: library/asyncio-stream.rst:316
#: library/asyncio-stream.rst:334
msgid "Examples"
msgstr "Exemples"
#: library/asyncio-stream.rst:321
#: library/asyncio-stream.rst:339
msgid "TCP echo client using streams"
msgstr ""
#: library/asyncio-stream.rst:323
#: library/asyncio-stream.rst:341
msgid "TCP echo client using the :func:`asyncio.open_connection` function::"
msgstr ""
#: library/asyncio-stream.rst:346
#: library/asyncio-stream.rst:364
msgid ""
"The :ref:`TCP echo client protocol "
"<asyncio_example_tcp_echo_client_protocol>` example uses the low-level :meth:"
"`loop.create_connection` method."
msgstr ""
#: library/asyncio-stream.rst:353
#: library/asyncio-stream.rst:371
msgid "TCP echo server using streams"
msgstr ""
#: library/asyncio-stream.rst:355
#: library/asyncio-stream.rst:373
msgid "TCP echo server using the :func:`asyncio.start_server` function::"
msgstr ""
#: library/asyncio-stream.rst:388
#: library/asyncio-stream.rst:406
msgid ""
"The :ref:`TCP echo server protocol "
"<asyncio_example_tcp_echo_server_protocol>` example uses the :meth:`loop."
"create_server` method."
msgstr ""
#: library/asyncio-stream.rst:393
#: library/asyncio-stream.rst:411
msgid "Get HTTP headers"
msgstr "Récupère les en-têtes HTTP"
#: library/asyncio-stream.rst:395
#: library/asyncio-stream.rst:413
msgid ""
"Simple example querying HTTP headers of the URL passed on the command line::"
msgstr ""
#: library/asyncio-stream.rst:433
#: library/asyncio-stream.rst:451
msgid "Usage::"
msgstr "Utilisation ::"
#: library/asyncio-stream.rst:437
#: library/asyncio-stream.rst:455
msgid "or with HTTPS::"
msgstr "ou avec HTTPS ::"
#: library/asyncio-stream.rst:445
#: library/asyncio-stream.rst:463
msgid "Register an open socket to wait for data using streams"
msgstr ""
#: library/asyncio-stream.rst:447
#: library/asyncio-stream.rst:465
msgid ""
"Coroutine waiting until a socket receives data using the :func:"
"`open_connection` function::"
msgstr ""
#: library/asyncio-stream.rst:481
#: library/asyncio-stream.rst:499
msgid ""
"The :ref:`register an open socket to wait for data using a protocol "
"<asyncio_example_create_connection>` example uses a low-level protocol and "
"the :meth:`loop.create_connection` method."
msgstr ""
#: library/asyncio-stream.rst:485
#: library/asyncio-stream.rst:503
msgid ""
"The :ref:`watch a file descriptor for read events "
"<asyncio_example_watch_fd>` example uses the low-level :meth:`loop."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2018-10-15 00:37+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -121,18 +121,18 @@ msgstr ""
msgid "Constants"
msgstr "Constantes"
#: library/asyncio-subprocess.rst:128
#: library/asyncio-subprocess.rst:129
msgid "Can be passed to the *stdin*, *stdout* or *stderr* parameters."
msgstr ""
#: library/asyncio-subprocess.rst:130
#: library/asyncio-subprocess.rst:131
msgid ""
"If *PIPE* is passed to *stdin* argument, the :attr:`Process.stdin <asyncio."
"subprocess.Process.stdin>` attribute will point to a :class:`StreamWriter` "
"instance."
msgstr ""
#: library/asyncio-subprocess.rst:134
#: library/asyncio-subprocess.rst:135
msgid ""
"If *PIPE* is passed to *stdout* or *stderr* arguments, the :attr:`Process."
"stdout <asyncio.subprocess.Process.stdout>` and :attr:`Process.stderr "
@ -140,24 +140,24 @@ msgid ""
"`StreamReader` instances."
msgstr ""
#: library/asyncio-subprocess.rst:141
#: library/asyncio-subprocess.rst:143
msgid ""
"Special value that can be used as the *stderr* argument and indicates that "
"standard error should be redirected into standard output."
msgstr ""
#: library/asyncio-subprocess.rst:146
#: library/asyncio-subprocess.rst:149
msgid ""
"Special value that can be used as the *stdin*, *stdout* or *stderr* argument "
"to process creation functions. It indicates that the special file :data:`os."
"devnull` will be used for the corresponding subprocess stream."
msgstr ""
#: library/asyncio-subprocess.rst:152
#: library/asyncio-subprocess.rst:155
msgid "Interacting with Subprocesses"
msgstr ""
#: library/asyncio-subprocess.rst:154
#: library/asyncio-subprocess.rst:157
msgid ""
"Both :func:`create_subprocess_exec` and :func:`create_subprocess_shell` "
"functions return instances of the *Process* class. *Process* is a high-"
@ -165,47 +165,47 @@ msgid ""
"their completion."
msgstr ""
#: library/asyncio-subprocess.rst:161
#: library/asyncio-subprocess.rst:165
msgid ""
"An object that wraps OS processes created by the :func:"
"`create_subprocess_exec` and :func:`create_subprocess_shell` functions."
msgstr ""
#: library/asyncio-subprocess.rst:165
#: library/asyncio-subprocess.rst:169
msgid ""
"This class is designed to have a similar API to the :class:`subprocess."
"Popen` class, but there are some notable differences:"
msgstr ""
#: library/asyncio-subprocess.rst:169
#: library/asyncio-subprocess.rst:173
msgid ""
"unlike Popen, Process instances do not have an equivalent to the :meth:"
"`~subprocess.Popen.poll` method;"
msgstr ""
#: library/asyncio-subprocess.rst:172
#: library/asyncio-subprocess.rst:176
msgid ""
"the :meth:`~asyncio.subprocess.Process.communicate` and :meth:`~asyncio."
"subprocess.Process.wait` methods don't have a *timeout* parameter: use the :"
"func:`wait_for` function;"
msgstr ""
#: library/asyncio-subprocess.rst:176
#: library/asyncio-subprocess.rst:180
msgid ""
"the :meth:`Process.wait() <asyncio.subprocess.Process.wait>` method is "
"asynchronous, whereas :meth:`subprocess.Popen.wait` method is implemented as "
"a blocking busy loop;"
msgstr ""
#: library/asyncio-subprocess.rst:180
#: library/asyncio-subprocess.rst:184
msgid "the *universal_newlines* parameter is not supported."
msgstr ""
#: library/asyncio-subprocess.rst:182
#: library/asyncio-subprocess.rst:186
msgid "This class is :ref:`not thread safe <asyncio-multithreading>`."
msgstr ""
#: library/asyncio-subprocess.rst:184
#: library/asyncio-subprocess.rst:188
msgid ""
"See also the :ref:`Subprocess and Threads <asyncio-subprocess-threads>` "
"section."
@ -213,15 +213,15 @@ msgstr ""
"Voir aussi la section :ref:`sous-processus et fils d'exécution <asyncio-"
"subprocess-threads>`."
#: library/asyncio-subprocess.rst:189
#: library/asyncio-subprocess.rst:193
msgid "Wait for the child process to terminate."
msgstr ""
#: library/asyncio-subprocess.rst:191
#: library/asyncio-subprocess.rst:195
msgid "Set and return the :attr:`returncode` attribute."
msgstr ""
#: library/asyncio-subprocess.rst:195
#: library/asyncio-subprocess.rst:199
msgid ""
"This method can deadlock when using ``stdout=PIPE`` or ``stderr=PIPE`` and "
"the child process generates so much output that it blocks waiting for the OS "
@ -229,33 +229,33 @@ msgid ""
"using pipes to avoid this condition."
msgstr ""
#: library/asyncio-subprocess.rst:203
#: library/asyncio-subprocess.rst:207
msgid "Interact with process:"
msgstr ""
#: library/asyncio-subprocess.rst:205
#: library/asyncio-subprocess.rst:209
msgid "send data to *stdin* (if *input* is not ``None``);"
msgstr ""
#: library/asyncio-subprocess.rst:206
#: library/asyncio-subprocess.rst:210
msgid "read data from *stdout* and *stderr*, until EOF is reached;"
msgstr ""
#: library/asyncio-subprocess.rst:207
#: library/asyncio-subprocess.rst:211
msgid "wait for process to terminate."
msgstr ""
#: library/asyncio-subprocess.rst:209
#: library/asyncio-subprocess.rst:213
msgid ""
"The optional *input* argument is the data (:class:`bytes` object) that will "
"be sent to the child process."
msgstr ""
#: library/asyncio-subprocess.rst:212
#: library/asyncio-subprocess.rst:216
msgid "Return a tuple ``(stdout_data, stderr_data)``."
msgstr ""
#: library/asyncio-subprocess.rst:214
#: library/asyncio-subprocess.rst:218
msgid ""
"If either :exc:`BrokenPipeError` or :exc:`ConnectionResetError` exception is "
"raised when writing *input* into *stdin*, the exception is ignored. This "
@ -263,7 +263,7 @@ msgid ""
"*stdin*."
msgstr ""
#: library/asyncio-subprocess.rst:219
#: library/asyncio-subprocess.rst:223
msgid ""
"If it is desired to send data to the process' *stdin*, the process needs to "
"be created with ``stdin=PIPE``. Similarly, to get anything other than "
@ -271,7 +271,7 @@ msgid ""
"``stdout=PIPE`` and/or ``stderr=PIPE`` arguments."
msgstr ""
#: library/asyncio-subprocess.rst:225
#: library/asyncio-subprocess.rst:229
msgid ""
"Note, that the data read is buffered in memory, so do not use this method if "
"the data size is large or unlimited."
@ -279,11 +279,11 @@ msgstr ""
"Notez que les données lues sont mises en cache en mémoire, donc n'utilisez "
"pas cette méthode si la taille des données est importante voire illimitée."
#: library/asyncio-subprocess.rst:230
#: library/asyncio-subprocess.rst:234
msgid "Sends the signal *signal* to the child process."
msgstr "Envoie le signal *signal* au sous-processus."
#: library/asyncio-subprocess.rst:234
#: library/asyncio-subprocess.rst:238
#, fuzzy
msgid ""
"On Windows, :py:data:`SIGTERM` is an alias for :meth:`terminate`. "
@ -294,11 +294,11 @@ msgstr ""
"et *CTRL_BREAK_EVENT* peuvent être envoyés aux processus démarrés avec un "
"paramètre *creationflags* incluant `CREATE_NEW_PROCESS_GROUP`."
#: library/asyncio-subprocess.rst:241
#: library/asyncio-subprocess.rst:245
msgid "Stop the child process."
msgstr "Arrête le sous-processus."
#: library/asyncio-subprocess.rst:243
#: library/asyncio-subprocess.rst:247
msgid ""
"On POSIX systems this method sends :py:data:`signal.SIGTERM` to the child "
"process."
@ -306,18 +306,18 @@ msgstr ""
"Sur les systèmes POSIX, cette méthode envoie un :py:data:`signal.SIGTERM` au "
"sous-processus."
#: library/asyncio-subprocess.rst:246
#: library/asyncio-subprocess.rst:250
msgid ""
"On Windows the Win32 API function :c:func:`TerminateProcess` is called to "
"stop the child process."
msgstr ""
#: library/asyncio-subprocess.rst:251
#: library/asyncio-subprocess.rst:255
#, fuzzy
msgid "Kill the child process."
msgstr "Arrête le sous-processus."
#: library/asyncio-subprocess.rst:253
#: library/asyncio-subprocess.rst:257
#, fuzzy
msgid ""
"On POSIX systems this method sends :py:data:`SIGKILL` to the child process."
@ -325,55 +325,55 @@ msgstr ""
"Sur les systèmes POSIX, cette méthode envoie un :py:data:`signal.SIGTERM` au "
"sous-processus."
#: library/asyncio-subprocess.rst:256
#: library/asyncio-subprocess.rst:260
msgid "On Windows this method is an alias for :meth:`terminate`."
msgstr ""
#: library/asyncio-subprocess.rst:260
#: library/asyncio-subprocess.rst:264
msgid ""
"Standard input stream (:class:`StreamWriter`) or ``None`` if the process was "
"created with ``stdin=None``."
msgstr ""
#: library/asyncio-subprocess.rst:265
#: library/asyncio-subprocess.rst:269
msgid ""
"Standard output stream (:class:`StreamReader`) or ``None`` if the process "
"was created with ``stdout=None``."
msgstr ""
#: library/asyncio-subprocess.rst:270
#: library/asyncio-subprocess.rst:274
msgid ""
"Standard error stream (:class:`StreamReader`) or ``None`` if the process was "
"created with ``stderr=None``."
msgstr ""
#: library/asyncio-subprocess.rst:275
#: library/asyncio-subprocess.rst:279
msgid ""
"Use the :meth:`communicate` method rather than :attr:`process.stdin.write() "
"<stdin>`, :attr:`await process.stdout.read() <stdout>` or :attr:`await "
"process.stderr.read <stderr>`. This avoids deadlocks due to streams pausing "
"reading or writing and blocking the child process."
"process.stderr.read() <stderr>`. This avoids deadlocks due to streams "
"pausing reading or writing and blocking the child process."
msgstr ""
#: library/asyncio-subprocess.rst:284
#: library/asyncio-subprocess.rst:288
msgid "Process identification number (PID)."
msgstr ""
#: library/asyncio-subprocess.rst:286
#: library/asyncio-subprocess.rst:290
msgid ""
"Note that for processes created by the :func:`create_subprocess_shell` "
"function, this attribute is the PID of the spawned shell."
msgstr ""
#: library/asyncio-subprocess.rst:291
#: library/asyncio-subprocess.rst:295
msgid "Return code of the process when it exits."
msgstr ""
#: library/asyncio-subprocess.rst:293
#: library/asyncio-subprocess.rst:297
msgid "A ``None`` value indicates that the process has not terminated yet."
msgstr ""
#: library/asyncio-subprocess.rst:295
#: library/asyncio-subprocess.rst:299
msgid ""
"A negative value ``-N`` indicates that the child was terminated by signal "
"``N`` (POSIX only)."
@ -381,69 +381,69 @@ msgstr ""
"Une valeur négative ``-N`` indique que le sous-processus a été terminé par "
"un signal ``N`` (seulement sur les systèmes *POSIX*)."
#: library/asyncio-subprocess.rst:302
#: library/asyncio-subprocess.rst:306
msgid "Subprocess and Threads"
msgstr "Sous-processus et fils d'exécution"
#: library/asyncio-subprocess.rst:304
#: library/asyncio-subprocess.rst:308
msgid ""
"Standard asyncio event loop supports running subprocesses from different "
"threads by default."
msgstr ""
#: library/asyncio-subprocess.rst:307
#: library/asyncio-subprocess.rst:311
msgid ""
"On Windows subprocesses are provided by :class:`ProactorEventLoop` only "
"(default), :class:`SelectorEventLoop` has no subprocess support."
msgstr ""
#: library/asyncio-subprocess.rst:310
#: library/asyncio-subprocess.rst:314
msgid ""
"On UNIX *child watchers* are used for subprocess finish waiting, see :ref:"
"`asyncio-watchers` for more info."
msgstr ""
#: library/asyncio-subprocess.rst:316
#: library/asyncio-subprocess.rst:320
msgid ""
"UNIX switched to use :class:`ThreadedChildWatcher` for spawning subprocesses "
"from different threads without any limitation."
msgstr ""
#: library/asyncio-subprocess.rst:319
#: library/asyncio-subprocess.rst:323
msgid ""
"Spawning a subprocess with *inactive* current child watcher raises :exc:"
"`RuntimeError`."
msgstr ""
#: library/asyncio-subprocess.rst:322
#: library/asyncio-subprocess.rst:326
msgid ""
"Note that alternative event loop implementations might have own limitations; "
"please refer to their documentation."
msgstr ""
#: library/asyncio-subprocess.rst:327
#: library/asyncio-subprocess.rst:331
msgid ""
"The :ref:`Concurrency and multithreading in asyncio <asyncio-"
"multithreading>` section."
msgstr ""
#: library/asyncio-subprocess.rst:332
#: library/asyncio-subprocess.rst:336
msgid "Examples"
msgstr "Exemples"
#: library/asyncio-subprocess.rst:334
#: library/asyncio-subprocess.rst:338
msgid ""
"An example using the :class:`~asyncio.subprocess.Process` class to control a "
"subprocess and the :class:`StreamReader` class to read from its standard "
"output."
msgstr ""
#: library/asyncio-subprocess.rst:340
#: library/asyncio-subprocess.rst:344
msgid ""
"The subprocess is created by the :func:`create_subprocess_exec` function::"
msgstr ""
#: library/asyncio-subprocess.rst:367
#: library/asyncio-subprocess.rst:371
msgid ""
"See also the :ref:`same example <asyncio_example_subprocess_proto>` written "
"using low-level APIs."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2018-10-15 00:46+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -66,87 +66,92 @@ msgstr ":class:`Semaphore`"
msgid ":class:`BoundedSemaphore`"
msgstr ":class:`BoundedSemaphore`"
#: library/asyncio-sync.rst:37
#: library/asyncio-sync.rst:31
#, fuzzy
msgid ":class:`Barrier`"
msgstr ":class:`Semaphore`"
#: library/asyncio-sync.rst:38
msgid "Lock"
msgstr ""
#: library/asyncio-sync.rst:41
#: library/asyncio-sync.rst:42
msgid "Implements a mutex lock for asyncio tasks. Not thread-safe."
msgstr ""
#: library/asyncio-sync.rst:43
#: library/asyncio-sync.rst:44
msgid ""
"An asyncio lock can be used to guarantee exclusive access to a shared "
"resource."
msgstr ""
#: library/asyncio-sync.rst:46
#: library/asyncio-sync.rst:47
msgid "The preferred way to use a Lock is an :keyword:`async with` statement::"
msgstr ""
#: library/asyncio-sync.rst:198 library/asyncio-sync.rst:297
#: library/asyncio-sync.rst:199 library/asyncio-sync.rst:298
msgid "which is equivalent to::"
msgstr ""
#: library/asyncio-sync.rst:111 library/asyncio-sync.rst:285
#: library/asyncio-sync.rst:340
#: library/asyncio-sync.rst:112 library/asyncio-sync.rst:286
#: library/asyncio-sync.rst:341
#, fuzzy
msgid "Removed the *loop* parameter."
msgstr "Le paramètre *loop*."
#: library/asyncio-sync.rst:71
#: library/asyncio-sync.rst:72
msgid "Acquire the lock."
msgstr ""
#: library/asyncio-sync.rst:73
#: library/asyncio-sync.rst:74
msgid ""
"This method waits until the lock is *unlocked*, sets it to *locked* and "
"returns ``True``."
msgstr ""
#: library/asyncio-sync.rst:76
#: library/asyncio-sync.rst:77
msgid ""
"When more than one coroutine is blocked in :meth:`acquire` waiting for the "
"lock to be unlocked, only one coroutine eventually proceeds."
msgstr ""
#: library/asyncio-sync.rst:80
#: library/asyncio-sync.rst:81
msgid ""
"Acquiring a lock is *fair*: the coroutine that proceeds will be the first "
"coroutine that started waiting on the lock."
msgstr ""
#: library/asyncio-sync.rst:85
#: library/asyncio-sync.rst:86
msgid "Release the lock."
msgstr "Libère un verrou."
#: library/asyncio-sync.rst:87
#: library/asyncio-sync.rst:88
msgid "When the lock is *locked*, reset it to *unlocked* and return."
msgstr ""
#: library/asyncio-sync.rst:89
#: library/asyncio-sync.rst:90
msgid "If the lock is *unlocked*, a :exc:`RuntimeError` is raised."
msgstr ""
#: library/asyncio-sync.rst:93
#: library/asyncio-sync.rst:94
msgid "Return ``True`` if the lock is *locked*."
msgstr "Donne ``True`` si le verrou est verrouillé."
#: library/asyncio-sync.rst:97
#: library/asyncio-sync.rst:98
msgid "Event"
msgstr ""
#: library/asyncio-sync.rst:101
#: library/asyncio-sync.rst:102
msgid "An event object. Not thread-safe."
msgstr ""
#: library/asyncio-sync.rst:103
#: library/asyncio-sync.rst:104
msgid ""
"An asyncio event can be used to notify multiple asyncio tasks that some "
"event has happened."
msgstr ""
#: library/asyncio-sync.rst:106
#: library/asyncio-sync.rst:107
msgid ""
"An Event object manages an internal flag that can be set to *true* with the :"
"meth:`~Event.set` method and reset to *false* with the :meth:`clear` "
@ -154,57 +159,57 @@ msgid ""
"*true*. The flag is set to *false* initially."
msgstr ""
#: library/asyncio-sync.rst:116
#: library/asyncio-sync.rst:365
msgid "Example::"
msgstr "Exemple ::"
#: library/asyncio-sync.rst:141
#: library/asyncio-sync.rst:142
msgid "Wait until the event is set."
msgstr "Attend que l'évènement ait une valeur."
#: library/asyncio-sync.rst:143
#: library/asyncio-sync.rst:144
msgid ""
"If the event is set, return ``True`` immediately. Otherwise block until "
"another task calls :meth:`~Event.set`."
msgstr ""
#: library/asyncio-sync.rst:148
#: library/asyncio-sync.rst:149
msgid "Set the event."
msgstr ""
#: library/asyncio-sync.rst:150
#: library/asyncio-sync.rst:151
msgid "All tasks waiting for event to be set will be immediately awakened."
msgstr ""
#: library/asyncio-sync.rst:155
#: library/asyncio-sync.rst:156
msgid "Clear (unset) the event."
msgstr ""
#: library/asyncio-sync.rst:157
#: library/asyncio-sync.rst:158
msgid ""
"Tasks awaiting on :meth:`~Event.wait` will now block until the :meth:`~Event."
"set` method is called again."
msgstr ""
#: library/asyncio-sync.rst:162
#: library/asyncio-sync.rst:163
msgid "Return ``True`` if the event is set."
msgstr "Renvoie ``True`` si l'évènement a une valeur."
#: library/asyncio-sync.rst:166
#: library/asyncio-sync.rst:167
msgid "Condition"
msgstr ""
#: library/asyncio-sync.rst:170
#: library/asyncio-sync.rst:171
msgid "A Condition object. Not thread-safe."
msgstr ""
#: library/asyncio-sync.rst:172
#: library/asyncio-sync.rst:173
msgid ""
"An asyncio condition primitive can be used by a task to wait for some event "
"to happen and then get exclusive access to a shared resource."
msgstr ""
#: library/asyncio-sync.rst:176
#: library/asyncio-sync.rst:177
msgid ""
"In essence, a Condition object combines the functionality of an :class:"
"`Event` and a :class:`Lock`. It is possible to have multiple Condition "
@ -213,96 +218,96 @@ msgid ""
"that shared resource."
msgstr ""
#: library/asyncio-sync.rst:182
#: library/asyncio-sync.rst:183
msgid ""
"The optional *lock* argument must be a :class:`Lock` object or ``None``. In "
"the latter case a new Lock object is created automatically."
msgstr ""
#: library/asyncio-sync.rst:189
#: library/asyncio-sync.rst:190
msgid ""
"The preferred way to use a Condition is an :keyword:`async with` statement::"
msgstr ""
#: library/asyncio-sync.rst:211
#: library/asyncio-sync.rst:212
msgid "Acquire the underlying lock."
msgstr ""
#: library/asyncio-sync.rst:213
#: library/asyncio-sync.rst:214
msgid ""
"This method waits until the underlying lock is *unlocked*, sets it to "
"*locked* and returns ``True``."
msgstr ""
#: library/asyncio-sync.rst:218
#: library/asyncio-sync.rst:219
msgid ""
"Wake up at most *n* tasks (1 by default) waiting on this condition. The "
"method is no-op if no tasks are waiting."
msgstr ""
#: library/asyncio-sync.rst:236
#: library/asyncio-sync.rst:237
msgid ""
"The lock must be acquired before this method is called and released shortly "
"after. If called with an *unlocked* lock a :exc:`RuntimeError` error is "
"raised."
msgstr ""
#: library/asyncio-sync.rst:227
#: library/asyncio-sync.rst:228
msgid "Return ``True`` if the underlying lock is acquired."
msgstr ""
#: library/asyncio-sync.rst:231
#: library/asyncio-sync.rst:232
msgid "Wake up all tasks waiting on this condition."
msgstr ""
#: library/asyncio-sync.rst:233
#: library/asyncio-sync.rst:234
msgid "This method acts like :meth:`notify`, but wakes up all waiting tasks."
msgstr ""
#: library/asyncio-sync.rst:242
#: library/asyncio-sync.rst:243
msgid "Release the underlying lock."
msgstr "Libère le verrou sous-jacent."
#: library/asyncio-sync.rst:244
#: library/asyncio-sync.rst:245
msgid "When invoked on an unlocked lock, a :exc:`RuntimeError` is raised."
msgstr ""
#: library/asyncio-sync.rst:249
#: library/asyncio-sync.rst:250
msgid "Wait until notified."
msgstr "Attends d'être notifié."
#: library/asyncio-sync.rst:251
#: library/asyncio-sync.rst:252
msgid ""
"If the calling task has not acquired the lock when this method is called, a :"
"exc:`RuntimeError` is raised."
msgstr ""
#: library/asyncio-sync.rst:254
#: library/asyncio-sync.rst:255
msgid ""
"This method releases the underlying lock, and then blocks until it is "
"awakened by a :meth:`notify` or :meth:`notify_all` call. Once awakened, the "
"Condition re-acquires its lock and this method returns ``True``."
msgstr ""
#: library/asyncio-sync.rst:261
#: library/asyncio-sync.rst:262
msgid "Wait until a predicate becomes *true*."
msgstr "Attends jusqu'à ce qu'un prédicat devienne vrai."
#: library/asyncio-sync.rst:263
#: library/asyncio-sync.rst:264
msgid ""
"The predicate must be a callable which result will be interpreted as a "
"boolean value. The final value is the return value."
msgstr ""
#: library/asyncio-sync.rst:269
#: library/asyncio-sync.rst:270
msgid "Semaphore"
msgstr "Sémaphore"
#: library/asyncio-sync.rst:273
#: library/asyncio-sync.rst:274
msgid "A Semaphore object. Not thread-safe."
msgstr ""
#: library/asyncio-sync.rst:275
#: library/asyncio-sync.rst:276
msgid ""
"A semaphore manages an internal counter which is decremented by each :meth:"
"`acquire` call and incremented by each :meth:`release` call. The counter can "
@ -310,61 +315,156 @@ msgid ""
"waiting until some task calls :meth:`release`."
msgstr ""
#: library/asyncio-sync.rst:281
#: library/asyncio-sync.rst:282
msgid ""
"The optional *value* argument gives the initial value for the internal "
"counter (``1`` by default). If the given value is less than ``0`` a :exc:"
"`ValueError` is raised."
msgstr ""
#: library/asyncio-sync.rst:288
#: library/asyncio-sync.rst:289
msgid ""
"The preferred way to use a Semaphore is an :keyword:`async with` statement::"
msgstr ""
#: library/asyncio-sync.rst:310
#: library/asyncio-sync.rst:311
msgid "Acquire a semaphore."
msgstr ""
#: library/asyncio-sync.rst:312
#: library/asyncio-sync.rst:313
msgid ""
"If the internal counter is greater than zero, decrement it by one and return "
"``True`` immediately. If it is zero, wait until a :meth:`release` is called "
"and return ``True``."
msgstr ""
#: library/asyncio-sync.rst:318
#: library/asyncio-sync.rst:319
msgid "Returns ``True`` if semaphore can not be acquired immediately."
msgstr ""
#: library/asyncio-sync.rst:322
#: library/asyncio-sync.rst:323
msgid ""
"Release a semaphore, incrementing the internal counter by one. Can wake up a "
"task waiting to acquire the semaphore."
msgstr ""
#: library/asyncio-sync.rst:325
#: library/asyncio-sync.rst:326
msgid ""
"Unlike :class:`BoundedSemaphore`, :class:`Semaphore` allows making more "
"``release()`` calls than ``acquire()`` calls."
msgstr ""
#: library/asyncio-sync.rst:330
#: library/asyncio-sync.rst:331
msgid "BoundedSemaphore"
msgstr "BoundedSemaphore"
#: library/asyncio-sync.rst:334
#: library/asyncio-sync.rst:335
msgid "A bounded semaphore object. Not thread-safe."
msgstr ""
#: library/asyncio-sync.rst:336
#: library/asyncio-sync.rst:337
msgid ""
"Bounded Semaphore is a version of :class:`Semaphore` that raises a :exc:"
"`ValueError` in :meth:`~Semaphore.release` if it increases the internal "
"counter above the initial *value*."
msgstr ""
#: library/asyncio-sync.rst:348
#: library/asyncio-sync.rst:346
msgid "Barrier"
msgstr ""
#: library/asyncio-sync.rst:350
msgid "A barrier object. Not thread-safe."
msgstr ""
#: library/asyncio-sync.rst:352
msgid ""
"A barrier is a simple synchronization primitive that allows to block until "
"*parties* number of tasks are waiting on it. Tasks can wait on the :meth:"
"`~Barrier.wait` method and would be blocked until the specified number of "
"tasks end up waiting on :meth:`~Barrier.wait`. At that point all of the "
"waiting tasks would unblock simultaneously."
msgstr ""
#: library/asyncio-sync.rst:358
msgid ""
":keyword:`async with` can be used as an alternative to awaiting on :meth:"
"`~Barrier.wait`."
msgstr ""
#: library/asyncio-sync.rst:361
msgid "The barrier can be reused any number of times."
msgstr ""
#: library/asyncio-sync.rst:388
msgid "Result of this example is::"
msgstr ""
#: library/asyncio-sync.rst:399
msgid ""
"Pass the barrier. When all the tasks party to the barrier have called this "
"function, they are all unblocked simultaneously."
msgstr ""
#: library/asyncio-sync.rst:402
msgid ""
"When a waiting or blocked task in the barrier is cancelled, this task exits "
"the barrier which stays in the same state. If the state of the barrier is "
"\"filling\", the number of waiting task decreases by 1."
msgstr ""
#: library/asyncio-sync.rst:407
msgid ""
"The return value is an integer in the range of 0 to ``parties-1``, different "
"for each task. This can be used to select a task to do some special "
"housekeeping, e.g.::"
msgstr ""
#: library/asyncio-sync.rst:417
msgid ""
"This method may raise a :class:`BrokenBarrierError` exception if the barrier "
"is broken or reset while a task is waiting. It could raise a :exc:"
"`CancelledError` if a task is cancelled."
msgstr ""
#: library/asyncio-sync.rst:423
msgid ""
"Return the barrier to the default, empty state. Any tasks waiting on it "
"will receive the :class:`BrokenBarrierError` exception."
msgstr ""
#: library/asyncio-sync.rst:426
msgid ""
"If a barrier is broken it may be better to just leave it and create a new "
"one."
msgstr ""
#: library/asyncio-sync.rst:430
msgid ""
"Put the barrier into a broken state. This causes any active or future calls "
"to :meth:`wait` to fail with the :class:`BrokenBarrierError`. Use this for "
"example if one of the taks needs to abort, to avoid infinite waiting tasks."
msgstr ""
#: library/asyncio-sync.rst:437
msgid "The number of tasks required to pass the barrier."
msgstr ""
#: library/asyncio-sync.rst:441
msgid "The number of tasks currently waiting in the barrier while filling."
msgstr ""
#: library/asyncio-sync.rst:445
msgid "A boolean that is ``True`` if the barrier is in the broken state."
msgstr ""
#: library/asyncio-sync.rst:450
msgid ""
"This exception, a subclass of :exc:`RuntimeError`, is raised when the :class:"
"`Barrier` object is reset or broken."
msgstr ""
#: library/asyncio-sync.rst:458
msgid ""
"Acquiring a lock using ``await lock`` or ``yield from lock`` and/or :keyword:"
"`with` statement (``with await lock``, ``with (yield from lock)``) was "

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-05-24 21:49-0400\n"
"Last-Translator: Antoine Wecxsteen\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -15,7 +15,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.4.3\n"
#: library/asyncio.rst:66
#: library/asyncio.rst:65
msgid "High-level APIs"
msgstr "Bibliothèques de haut-niveau"
@ -23,7 +23,7 @@ msgstr "Bibliothèques de haut-niveau"
msgid "Low-level APIs"
msgstr "Bibliothèques de bas-niveau"
#: library/asyncio.rst:87
#: library/asyncio.rst:88
msgid "Guides and Tutorials"
msgstr "Guides et tutoriels"
@ -35,7 +35,7 @@ msgstr ":mod:`asyncio` — Entrées/Sorties asynchrones"
msgid "Hello World!"
msgstr "Hello World !"
#: library/asyncio.rst:23
#: library/asyncio.rst:22
msgid ""
"asyncio is a library to write **concurrent** code using the **async/await** "
"syntax."
@ -43,7 +43,7 @@ msgstr ""
"``asyncio`` est une bibliothèque permettant de faire de la programmation "
"asynchrone en utilisant la syntaxe *async*/*await*."
#: library/asyncio.rst:26
#: library/asyncio.rst:25
msgid ""
"asyncio is used as a foundation for multiple Python asynchronous frameworks "
"that provide high-performance network and web-servers, database connection "
@ -54,7 +54,7 @@ msgstr ""
"performants, des bibliothèques de connexion à des bases de données, des "
"files d'exécution distribuées, etc."
#: library/asyncio.rst:30
#: library/asyncio.rst:29
msgid ""
"asyncio is often a perfect fit for IO-bound and high-level **structured** "
"network code."
@ -62,12 +62,12 @@ msgstr ""
"``asyncio`` est souvent le bon choix pour écrire du code réseau de haut-"
"niveau et tributaire des entrées-sorties (*IO-bound*)."
#: library/asyncio.rst:33
#: library/asyncio.rst:32
msgid "asyncio provides a set of **high-level** APIs to:"
msgstr ""
"``asyncio`` fournit des interfaces de programmation **haut-niveau** pour :"
#: library/asyncio.rst:35
#: library/asyncio.rst:34
msgid ""
":ref:`run Python coroutines <coroutine>` concurrently and have full control "
"over their execution;"
@ -75,27 +75,27 @@ msgstr ""
":ref:`exécuter des coroutines Python <coroutine>` de manière concurrente et "
"d'avoir le contrôle total sur leur exécution ;"
#: library/asyncio.rst:38
#: library/asyncio.rst:37
msgid "perform :ref:`network IO and IPC <asyncio-streams>`;"
msgstr ""
"effectuer :ref:`des entrées/sorties réseau et de la communication inter-"
"processus <asyncio-streams>` ;"
#: library/asyncio.rst:40
#: library/asyncio.rst:39
msgid "control :ref:`subprocesses <asyncio-subprocess>`;"
msgstr "contrôler des :ref:`sous-processus <asyncio-subprocess>` ;"
#: library/asyncio.rst:42
#: library/asyncio.rst:41
msgid "distribute tasks via :ref:`queues <asyncio-queues>`;"
msgstr "distribuer des tâches avec des :ref:`queues <asyncio-queues>` ;"
#: library/asyncio.rst:44
#: library/asyncio.rst:43
msgid ":ref:`synchronize <asyncio-sync>` concurrent code;"
msgstr ""
":ref:`synchroniser <asyncio-sync>` du code s'exécutant de manière "
"concurrente ;"
#: library/asyncio.rst:46
#: library/asyncio.rst:45
msgid ""
"Additionally, there are **low-level** APIs for *library and framework "
"developers* to:"
@ -103,7 +103,7 @@ msgstr ""
"En plus, il existe des bibliothèques de **bas-niveau** pour que les "
"*développeurs de bibliothèques et de frameworks* puissent :"
#: library/asyncio.rst:49
#: library/asyncio.rst:48
msgid ""
"create and manage :ref:`event loops <asyncio-event-loop>`, which provide "
"asynchronous APIs for :meth:`networking <loop.create_server>`, running :meth:"
@ -115,7 +115,7 @@ msgstr ""
"create_server>`, d'exécution de :meth:`subprocesses <loop.subprocess_exec>`, "
"de gestion de :meth:`signaux système <loop.add_signal_handler>`, etc ;"
#: library/asyncio.rst:54
#: library/asyncio.rst:53
msgid ""
"implement efficient protocols using :ref:`transports <asyncio-transports-"
"protocols>`;"
@ -123,7 +123,7 @@ msgstr ""
"implémenter des protocoles efficaces à l'aide de :ref:`transports <asyncio-"
"transports-protocols>` ;"
#: library/asyncio.rst:57
#: library/asyncio.rst:56
msgid ""
":ref:`bridge <asyncio-futures>` callback-based libraries and code with async/"
"await syntax."
@ -131,11 +131,11 @@ msgstr ""
":ref:`lier <asyncio-futures>` des bibliothèques basées sur les fonctions de "
"rappel et développer avec la syntaxe *async*/*await*."
#: library/asyncio.rst:65
#: library/asyncio.rst:64
msgid "Reference"
msgstr "Sommaire"
#: library/asyncio.rst:96
#: library/asyncio.rst:97
msgid "The source code for asyncio can be found in :source:`Lib/asyncio/`."
msgstr ""
"Le code source d'``asyncio`` est disponible dans :source:`Lib/asyncio/`."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2018-07-27 23:21+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -22,13 +22,13 @@ msgstr ":mod:`asyncore` — Gestionnaire de socket asynchrone"
msgid "**Source code:** :source:`Lib/asyncore.py`"
msgstr "**Code source :** :source:`Lib/asyncore.py`"
#: library/asyncore.rst:16
#: library/asyncore.rst:20
msgid ""
":mod:`asyncore` will be removed in Python 3.12 (:pep:`594`). Please use :mod:"
"`asyncio` instead."
"The :mod:`asyncore` module is deprecated (see :pep:`PEP 594 <594#asyncore>` "
"for details). Please use :mod:`asyncio` instead."
msgstr ""
#: library/asyncore.rst:24
#: library/asyncore.rst:25
msgid ""
"This module exists for backwards compatibility only. For new code we "
"recommend using :mod:`asyncio`."
@ -36,13 +36,13 @@ msgstr ""
"Ce module n'existe que pour des raisons de rétrocompatibilité. Pour du code "
"nouveau, l'utilisation de :mod:`asyncio` est recommandée."
#: library/asyncore.rst:27
#: library/asyncore.rst:28
msgid ""
"This module provides the basic infrastructure for writing asynchronous "
"socket service clients and servers."
msgstr ""
#: library/asyncore.rst:30
#: library/asyncore.rst:31
msgid ""
"There are only two ways to have a program on a single processor do \"more "
"than one thing at a time.\" Multi-threaded programming is the simplest and "
@ -54,7 +54,7 @@ msgid ""
"servers are rarely processor bound, however."
msgstr ""
#: library/asyncore.rst:39
#: library/asyncore.rst:40
msgid ""
"If your operating system supports the :c:func:`select` system call in its I/"
"O library (and nearly all do), then you can use it to juggle multiple "
@ -68,7 +68,7 @@ msgid ""
"module is invaluable."
msgstr ""
#: library/asyncore.rst:50
#: library/asyncore.rst:51
msgid ""
"The basic idea behind both modules is to create one or more network "
"*channels*, instances of class :class:`asyncore.dispatcher` and :class:"
@ -77,7 +77,7 @@ msgid ""
"*map*."
msgstr ""
#: library/asyncore.rst:56
#: library/asyncore.rst:57
msgid ""
"Once the initial channel(s) is(are) created, calling the :func:`loop` "
"function activates channel service, which continues until the last channel "
@ -85,7 +85,7 @@ msgid ""
"is closed."
msgstr ""
#: library/asyncore.rst:63
#: library/asyncore.rst:64
msgid ""
"Enter a polling loop that terminates after count passes or all open channels "
"have been closed. All arguments are optional. The *count* parameter "
@ -97,7 +97,7 @@ msgid ""
"preference to :func:`~select.select` (the default is ``False``)."
msgstr ""
#: library/asyncore.rst:72
#: library/asyncore.rst:73
msgid ""
"The *map* parameter is a dictionary whose items are the channels to watch. "
"As channels are closed they are deleted from their map. If *map* is "
@ -106,7 +106,7 @@ msgid ""
"be mixed in the map."
msgstr ""
#: library/asyncore.rst:81
#: library/asyncore.rst:82
msgid ""
"The :class:`dispatcher` class is a thin wrapper around a low-level socket "
"object. To make it more useful, it has a few methods for event-handling "
@ -114,7 +114,7 @@ msgid ""
"as a normal non-blocking socket object."
msgstr ""
#: library/asyncore.rst:86
#: library/asyncore.rst:87
msgid ""
"The firing of low-level events at certain times or in certain connection "
"states tells the asynchronous loop that certain higher-level events have "
@ -125,39 +125,39 @@ msgid ""
"events are:"
msgstr ""
#: library/asyncore.rst:95
#: library/asyncore.rst:96
msgid "Event"
msgstr ""
#: library/asyncore.rst:95
#: library/asyncore.rst:96
msgid "Description"
msgstr "Description"
#: library/asyncore.rst:97
#: library/asyncore.rst:98
msgid "``handle_connect()``"
msgstr "``handle_connect()``"
#: library/asyncore.rst:97
#: library/asyncore.rst:98
msgid "Implied by the first read or write event"
msgstr ""
#: library/asyncore.rst:100
#: library/asyncore.rst:101
msgid "``handle_close()``"
msgstr "``handle_close()``"
#: library/asyncore.rst:100
#: library/asyncore.rst:101
msgid "Implied by a read event with no data available"
msgstr ""
#: library/asyncore.rst:103
#: library/asyncore.rst:104
msgid "``handle_accepted()``"
msgstr "``handle_accepted()``"
#: library/asyncore.rst:103
#: library/asyncore.rst:104
msgid "Implied by a read event on a listening socket"
msgstr ""
#: library/asyncore.rst:107
#: library/asyncore.rst:108
msgid ""
"During asynchronous processing, each mapped channel's :meth:`readable` and :"
"meth:`writable` methods are used to determine whether the channel's socket "
@ -165,49 +165,49 @@ msgid ""
"`poll`\\ ed for read and write events."
msgstr ""
#: library/asyncore.rst:112
#: library/asyncore.rst:113
msgid ""
"Thus, the set of channel events is larger than the basic socket events. The "
"full set of methods that can be overridden in your subclass follows:"
msgstr ""
#: library/asyncore.rst:118
#: library/asyncore.rst:119
msgid ""
"Called when the asynchronous loop detects that a :meth:`read` call on the "
"channel's socket will succeed."
msgstr ""
#: library/asyncore.rst:124
#: library/asyncore.rst:125
msgid ""
"Called when the asynchronous loop detects that a writable socket can be "
"written. Often this method will implement the necessary buffering for "
"performance. For example::"
msgstr ""
#: library/asyncore.rst:135
#: library/asyncore.rst:136
msgid ""
"Called when there is out of band (OOB) data for a socket connection. This "
"will almost never happen, as OOB is tenuously supported and rarely used."
msgstr ""
#: library/asyncore.rst:141
#: library/asyncore.rst:142
msgid ""
"Called when the active opener's socket actually makes a connection. Might "
"send a \"welcome\" banner, or initiate a protocol negotiation with the "
"remote endpoint, for example."
msgstr ""
#: library/asyncore.rst:148
#: library/asyncore.rst:149
msgid "Called when the socket is closed."
msgstr "Appelé lorsque la socket est fermée."
#: library/asyncore.rst:153
#: library/asyncore.rst:154
msgid ""
"Called when an exception is raised and not otherwise handled. The default "
"version prints a condensed traceback."
msgstr ""
#: library/asyncore.rst:159
#: library/asyncore.rst:160
msgid ""
"Called on listening channels (passive openers) when a connection can be "
"established with a new remote endpoint that has issued a :meth:`connect` "
@ -215,7 +215,7 @@ msgid ""
"`handle_accepted` instead."
msgstr ""
#: library/asyncore.rst:169
#: library/asyncore.rst:170
msgid ""
"Called on listening channels (passive openers) when a connection has been "
"established with a new remote endpoint that has issued a :meth:`connect` "
@ -224,7 +224,7 @@ msgid ""
"socket on the other end of the connection."
msgstr ""
#: library/asyncore.rst:180
#: library/asyncore.rst:181
msgid ""
"Called each time around the asynchronous loop to determine whether a "
"channel's socket should be added to the list on which read events can "
@ -232,7 +232,7 @@ msgid ""
"default, all channels will be interested in read events."
msgstr ""
#: library/asyncore.rst:188
#: library/asyncore.rst:189
msgid ""
"Called each time around the asynchronous loop to determine whether a "
"channel's socket should be added to the list on which write events can "
@ -240,55 +240,55 @@ msgid ""
"default, all channels will be interested in write events."
msgstr ""
#: library/asyncore.rst:194
#: library/asyncore.rst:195
msgid ""
"In addition, each channel delegates or extends many of the socket methods. "
"Most of these are nearly identical to their socket partners."
msgstr ""
#: library/asyncore.rst:200
#: library/asyncore.rst:201
msgid ""
"This is identical to the creation of a normal socket, and will use the same "
"options for creation. Refer to the :mod:`socket` documentation for "
"information on creating sockets."
msgstr ""
#: library/asyncore.rst:204
#: library/asyncore.rst:205
msgid "*family* and *type* arguments can be omitted."
msgstr "Les arguments *family* et *type* sont optionnels."
#: library/asyncore.rst:210
#: library/asyncore.rst:211
msgid ""
"As with the normal socket object, *address* is a tuple with the first "
"element the host to connect to, and the second the port number."
msgstr ""
#: library/asyncore.rst:216
#: library/asyncore.rst:217
msgid "Send *data* to the remote end-point of the socket."
msgstr "Envoie *data* à l'autre bout de la socket."
#: library/asyncore.rst:221
#: library/asyncore.rst:222
msgid ""
"Read at most *buffer_size* bytes from the socket's remote end-point. An "
"empty bytes object implies that the channel has been closed from the other "
"end."
msgstr ""
#: library/asyncore.rst:225
#: library/asyncore.rst:226
msgid ""
"Note that :meth:`recv` may raise :exc:`BlockingIOError` , even though :func:"
"`select.select` or :func:`select.poll` has reported the socket ready for "
"reading."
msgstr ""
#: library/asyncore.rst:232
#: library/asyncore.rst:233
msgid ""
"Listen for connections made to the socket. The *backlog* argument specifies "
"the maximum number of queued connections and should be at least 1; the "
"maximum value is system-dependent (usually 5)."
msgstr ""
#: library/asyncore.rst:239
#: library/asyncore.rst:240
msgid ""
"Bind the socket to *address*. The socket must not already be bound. (The "
"format of *address* depends on the address family --- refer to the :mod:"
@ -297,7 +297,7 @@ msgid ""
"`dispatcher` object's :meth:`set_reuse_addr` method."
msgstr ""
#: library/asyncore.rst:248
#: library/asyncore.rst:249
msgid ""
"Accept a connection. The socket must be bound to an address and listening "
"for connections. The return value can be either ``None`` or a pair ``(conn, "
@ -308,21 +308,21 @@ msgid ""
"this event and keep listening for further incoming connections."
msgstr ""
#: library/asyncore.rst:260
#: library/asyncore.rst:261
msgid ""
"Close the socket. All future operations on the socket object will fail. The "
"remote end-point will receive no more data (after queued data is flushed). "
"Sockets are automatically closed when they are garbage-collected."
msgstr ""
#: library/asyncore.rst:268
#: library/asyncore.rst:269
msgid ""
"A :class:`dispatcher` subclass which adds simple buffered output capability, "
"useful for simple clients. For more sophisticated usage use :class:`asynchat."
"async_chat`."
msgstr ""
#: library/asyncore.rst:274
#: library/asyncore.rst:275
msgid ""
"A file_dispatcher takes a file descriptor or :term:`file object` along with "
"an optional map argument and wraps it for use with the :c:func:`poll` or :c:"
@ -331,11 +331,11 @@ msgid ""
"`file_wrapper` constructor."
msgstr ""
#: library/asyncore.rst:289
#: library/asyncore.rst:290
msgid ":ref:`Availability <availability>`: Unix."
msgstr ":ref:`Disponibilité <availability>` : Unix."
#: library/asyncore.rst:284
#: library/asyncore.rst:285
msgid ""
"A file_wrapper takes an integer file descriptor and calls :func:`os.dup` to "
"duplicate the handle so that the original handle may be closed independently "
@ -343,21 +343,21 @@ msgid ""
"socket for use by the :class:`file_dispatcher` class."
msgstr ""
#: library/asyncore.rst:295
#: library/asyncore.rst:296
msgid "asyncore Example basic HTTP client"
msgstr "Exemple de client HTTP basique avec :mod:`asyncore`"
#: library/asyncore.rst:297
#: library/asyncore.rst:298
msgid ""
"Here is a very basic HTTP client that uses the :class:`dispatcher` class to "
"implement its socket handling::"
msgstr ""
#: library/asyncore.rst:334
#: library/asyncore.rst:335
msgid "asyncore Example basic echo server"
msgstr "Serveur *echo* basique avec :mod:`asyncore`"
#: library/asyncore.rst:336
#: library/asyncore.rst:337
msgid ""
"Here is a basic echo server that uses the :class:`dispatcher` class to "
"accept connections and dispatches the incoming connections to a handler::"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-11-15 19:06-0500\n"
"Last-Translator: Edith Viau <info@eviau.net>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -19,11 +19,13 @@ msgstr ""
msgid ":mod:`audioop` --- Manipulate raw audio data"
msgstr ":mod:`audioop` — Manipulation de données audio brutes"
#: library/audioop.rst:8
msgid "The :mod:`audioop` module is deprecated (see :pep:`594` for details)."
#: library/audioop.rst:11
msgid ""
"The :mod:`audioop` module is deprecated (see :pep:`PEP 594 <594#audioop>` "
"for details)."
msgstr ""
#: library/audioop.rst:13
#: library/audioop.rst:14
msgid ""
"The :mod:`audioop` module contains some useful operations on sound "
"fragments. It operates on sound fragments consisting of signed integer "
@ -37,7 +39,7 @@ msgstr ""
"des :term:`objets octet-compatibles <bytes-like object>`. Tous les nombres "
"sont des entiers, sauf mention particulière."
#: library/audioop.rst:18
#: library/audioop.rst:19
msgid ""
"Support for 24-bit samples was added. All functions now accept any :term:"
"`bytes-like object`. String input now results in an immediate error."
@ -47,14 +49,14 @@ msgstr ""
"object>`. Une chaîne de caractères reçue en entrée lève immédiatement une "
"erreur."
#: library/audioop.rst:29
#: library/audioop.rst:30
msgid ""
"This module provides support for a-LAW, u-LAW and Intel/DVI ADPCM encodings."
msgstr ""
"Ce module prend en charge les encodages de la loi A, de la loi u et les "
"encodages Intel/DVI ADPCM."
#: library/audioop.rst:33
#: library/audioop.rst:34
msgid ""
"A few of the more complicated operations only take 16-bit samples, otherwise "
"the sample size (in bytes) is always a parameter of the operation."
@ -63,11 +65,11 @@ msgstr ""
"échantillons de 16 bits, la taille de l'échantillon (en octets) est toujours "
"un paramètre de l'opération."
#: library/audioop.rst:36
#: library/audioop.rst:37
msgid "The module defines the following variables and functions:"
msgstr "Le module définit les fonctions et variables suivantes :"
#: library/audioop.rst:41
#: library/audioop.rst:42
msgid ""
"This exception is raised on all errors, such as unknown number of bytes per "
"sample, etc."
@ -75,7 +77,7 @@ msgstr ""
"Cette exception est levée pour toutes les erreurs, comme un nombre inconnu "
"d'octets par échantillon, etc."
#: library/audioop.rst:47
#: library/audioop.rst:48
msgid ""
"Return a fragment which is the addition of the two samples passed as "
"parameters. *width* is the sample width in bytes, either ``1``, ``2``, ``3`` "
@ -87,31 +89,31 @@ msgstr ""
"``1``, ``2``, ``3`` ou ``4``. Les deux fragments doivent avoir la même "
"longueur. Les échantillons sont tronqués en cas de débordement."
#: library/audioop.rst:54
#: library/audioop.rst:55
msgid ""
"Decode an Intel/DVI ADPCM coded fragment to a linear fragment. See the "
"description of :func:`lin2adpcm` for details on ADPCM coding. Return a tuple "
"``(sample, newstate)`` where the sample has the width specified in *width*."
msgstr ""
#: library/audioop.rst:61
#: library/audioop.rst:62
msgid ""
"Convert sound fragments in a-LAW encoding to linearly encoded sound "
"fragments. a-LAW encoding always uses 8 bits samples, so *width* refers only "
"to the sample width of the output fragment here."
msgstr ""
#: library/audioop.rst:68
#: library/audioop.rst:69
msgid "Return the average over all samples in the fragment."
msgstr "Renvoie la moyenne prise sur l'ensemble des échantillons du fragment."
#: library/audioop.rst:73
#: library/audioop.rst:74
msgid ""
"Return the average peak-peak value over all samples in the fragment. No "
"filtering is done, so the usefulness of this routine is questionable."
msgstr ""
#: library/audioop.rst:79
#: library/audioop.rst:80
#, fuzzy
msgid ""
"Return a fragment that is the original fragment with a bias added to each "
@ -121,18 +123,18 @@ msgstr ""
"fragment d'origine. Les échantillons s'enroulent autour dans le cas de "
"débordement."
#: library/audioop.rst:85
#: library/audioop.rst:86
msgid ""
"\"Byteswap\" all samples in a fragment and returns the modified fragment. "
"Converts big-endian samples to little-endian and vice versa."
msgstr ""
#: library/audioop.rst:93
#: library/audioop.rst:94
msgid ""
"Return the number of zero crossings in the fragment passed as an argument."
msgstr ""
#: library/audioop.rst:98
#: library/audioop.rst:99
msgid ""
"Return a factor *F* such that ``rms(add(fragment, mul(reference, -F)))`` is "
"minimal, i.e., return the factor with which you should multiply *reference* "
@ -140,11 +142,11 @@ msgid ""
"both contain 2-byte samples."
msgstr ""
#: library/audioop.rst:103
#: library/audioop.rst:104
msgid "The time taken by this routine is proportional to ``len(fragment)``."
msgstr "Le temps pris par cette routine est proportionnel à ``len(fragment)``."
#: library/audioop.rst:108
#: library/audioop.rst:109
msgid ""
"Try to match *reference* as well as possible to a portion of *fragment* "
"(which should be the longer fragment). This is (conceptually) done by "
@ -155,7 +157,7 @@ msgid ""
"*factor* is the (floating-point) factor as per :func:`findfactor`."
msgstr ""
#: library/audioop.rst:119
#: library/audioop.rst:120
msgid ""
"Search *fragment* for a slice of length *length* samples (not bytes!) with "
"maximum energy, i.e., return *i* for which ``rms(fragment[i*2:"
@ -163,16 +165,16 @@ msgid ""
"samples."
msgstr ""
#: library/audioop.rst:123
#: library/audioop.rst:124
msgid "The routine takes time proportional to ``len(fragment)``."
msgstr "La routine s'exécute en un temps proportionnel à ``len(fragment)``."
#: library/audioop.rst:128
#: library/audioop.rst:129
msgid "Return the value of sample *index* from the fragment."
msgstr ""
"Renvoie la valeur de l'échantillon à l'indice *index* dans le fragment."
#: library/audioop.rst:133
#: library/audioop.rst:134
msgid ""
"Convert samples to 4 bit Intel/DVI ADPCM encoding. ADPCM coding is an "
"adaptive coding scheme, whereby each 4 bit number is the difference between "
@ -181,7 +183,7 @@ msgid ""
"standard."
msgstr ""
#: library/audioop.rst:138
#: library/audioop.rst:139
msgid ""
"*state* is a tuple containing the state of the coder. The coder returns a "
"tuple ``(adpcmfrag, newstate)``, and the *newstate* should be passed to the "
@ -190,7 +192,7 @@ msgid ""
"per byte."
msgstr ""
#: library/audioop.rst:146
#: library/audioop.rst:147
msgid ""
"Convert samples in the audio fragment to a-LAW encoding and return this as a "
"bytes object. a-LAW is an audio encoding format whereby you get a dynamic "
@ -198,18 +200,18 @@ msgid ""
"audio hardware, among others."
msgstr ""
#: library/audioop.rst:154
#: library/audioop.rst:155
msgid "Convert samples between 1-, 2-, 3- and 4-byte formats."
msgstr "Convertit des échantillons pour les formats à 1, 2, 3, et 4 octets."
#: library/audioop.rst:158
#: library/audioop.rst:159
msgid ""
"In some audio formats, such as .WAV files, 16, 24 and 32 bit samples are "
"signed, but 8 bit samples are unsigned. So when converting to 8 bit wide "
"samples for these formats, you need to also add 128 to the result::"
msgstr ""
#: library/audioop.rst:165
#: library/audioop.rst:166
msgid ""
"The same, in reverse, has to be applied when converting from 8 to 16, 24 or "
"32 bit width samples."
@ -217,7 +219,7 @@ msgstr ""
"Le même procédé, mais inversé, doit être suivi lorsqu'on exécute une "
"conversion d'échantillons de 8 bits à 16, 24 ou 32 bits."
#: library/audioop.rst:171
#: library/audioop.rst:172
msgid ""
"Convert samples in the audio fragment to u-LAW encoding and return this as a "
"bytes object. u-LAW is an audio encoding format whereby you get a dynamic "
@ -225,17 +227,17 @@ msgid ""
"audio hardware, among others."
msgstr ""
#: library/audioop.rst:179
#: library/audioop.rst:180
msgid ""
"Return the maximum of the *absolute value* of all samples in a fragment."
msgstr ""
"Renvoie la *valeur absolue* maximale de tous les échantillons du fragment."
#: library/audioop.rst:184
#: library/audioop.rst:185
msgid "Return the maximum peak-peak value in the sound fragment."
msgstr ""
#: library/audioop.rst:189
#: library/audioop.rst:190
msgid ""
"Return a tuple consisting of the minimum and maximum values of all samples "
"in the sound fragment."
@ -243,7 +245,7 @@ msgstr ""
"Renvoie un *n*-uplet contenant les valeurs maximale et minimale de tous les "
"échantillons du fragment sonore."
#: library/audioop.rst:195
#: library/audioop.rst:196
msgid ""
"Return a fragment that has all samples in the original fragment multiplied "
"by the floating-point value *factor*. Samples are truncated in case of "
@ -253,11 +255,11 @@ msgstr ""
"multipliés par la valeur à décimale *factor*. Les échantillons sont tronqués "
"en cas de débordement."
#: library/audioop.rst:201
#: library/audioop.rst:202
msgid "Convert the frame rate of the input fragment."
msgstr "Transforme la fréquence d'échantillonnage du fragment d'entrée."
#: library/audioop.rst:203
#: library/audioop.rst:204
msgid ""
"*state* is a tuple containing the state of the converter. The converter "
"returns a tuple ``(newfragment, newstate)``, and *newstate* should be passed "
@ -265,7 +267,7 @@ msgid ""
"as the state."
msgstr ""
#: library/audioop.rst:207
#: library/audioop.rst:208
msgid ""
"The *weightA* and *weightB* arguments are parameters for a simple digital "
"filter and default to ``1`` and ``0`` respectively."
@ -274,23 +276,23 @@ msgstr ""
"numérique simple et ont comme valeur par défaut ``1`` et ``0``, "
"respectivement."
#: library/audioop.rst:213
#: library/audioop.rst:214
msgid "Reverse the samples in a fragment and returns the modified fragment."
msgstr ""
"Inverse les échantillons dans un fragment et renvoie le fragment modifié."
#: library/audioop.rst:218
#: library/audioop.rst:219
msgid ""
"Return the root-mean-square of the fragment, i.e. ``sqrt(sum(S_i^2)/n)``."
msgstr ""
"Renvoie la moyenne quadratique du fragment, c'est-à-dire ``sqrt(sum(S_i^2)/"
"n)``."
#: library/audioop.rst:220
#: library/audioop.rst:221
msgid "This is a measure of the power in an audio signal."
msgstr "C'est une mesure de la puissance dans un signal audio."
#: library/audioop.rst:225
#: library/audioop.rst:226
msgid ""
"Convert a stereo fragment to a mono fragment. The left channel is "
"multiplied by *lfactor* and the right channel by *rfactor* before adding the "
@ -300,7 +302,7 @@ msgstr ""
"multiplié par *lfactor* et le canal de droite par *rfactor* avant "
"d'additionner les deux canaux afin d'obtenir un signal mono."
#: library/audioop.rst:232
#: library/audioop.rst:233
msgid ""
"Generate a stereo fragment from a mono fragment. Each pair of samples in "
"the stereo fragment are computed from the mono sample, whereby left channel "
@ -312,14 +314,14 @@ msgstr ""
"multipliés par *lfactor* et les échantillons du canal de droite, par "
"*rfactor*."
#: library/audioop.rst:239
#: library/audioop.rst:240
msgid ""
"Convert sound fragments in u-LAW encoding to linearly encoded sound "
"fragments. u-LAW encoding always uses 8 bits samples, so *width* refers only "
"to the sample width of the output fragment here."
msgstr ""
#: library/audioop.rst:243
#: library/audioop.rst:244
msgid ""
"Note that operations such as :func:`.mul` or :func:`.max` make no "
"distinction between mono and stereo fragments, i.e. all samples are treated "
@ -328,7 +330,7 @@ msgid ""
"that::"
msgstr ""
#: library/audioop.rst:257
#: library/audioop.rst:258
msgid ""
"If you use the ADPCM coder to build network packets and you want your "
"protocol to be stateless (i.e. to be able to tolerate packet loss) you "
@ -340,14 +342,14 @@ msgid ""
"index) in 8."
msgstr ""
#: library/audioop.rst:265
#: library/audioop.rst:266
msgid ""
"The ADPCM coders have never been tried against other ADPCM coders, only "
"against themselves. It could well be that I misinterpreted the standards in "
"which case they will not be interoperable with the respective standards."
msgstr ""
#: library/audioop.rst:269
#: library/audioop.rst:270
msgid ""
"The :func:`find\\*` routines might look a bit funny at first sight. They are "
"primarily meant to do echo cancellation. A reasonably fast way to do this "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2020-05-10 13:40+0200\n"
"Last-Translator: ZepmanBC <zepman@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -203,16 +203,10 @@ msgstr ""
"convient pas comme algorithme de hachage général. Utiliser comme suit ::"
#: library/binascii.rst:122
#, fuzzy
msgid ""
"The result is always unsigned. To generate the same numeric value when using "
"Python 2 or earlier, use ``crc32(data) & 0xffffffff``."
msgid "The result is always unsigned."
msgstr ""
"Le résultat est toujours non signé. Pour générer la même valeur numérique "
"sur toutes les versions de Python et plateformes, utilisez ``crc32(data) & "
"0xffffffff``."
#: library/binascii.rst:130
#: library/binascii.rst:128
msgid ""
"Return the hexadecimal representation of the binary *data*. Every byte of "
"*data* is converted into the corresponding 2-digit hex representation. The "
@ -222,7 +216,7 @@ msgstr ""
"*data* est converti en la représentation 2 chiffres correspondante. Lobjet "
"octets renvoyé est donc deux fois plus long que la longueur de *data*."
#: library/binascii.rst:134
#: library/binascii.rst:132
msgid ""
"Similar functionality (but returning a text string) is also conveniently "
"accessible using the :meth:`bytes.hex` method."
@ -230,7 +224,7 @@ msgstr ""
"Fonctionnalité similaire est également commodément accessible en utilisant "
"la méthode :meth:`bytes.hex`."
#: library/binascii.rst:137
#: library/binascii.rst:135
msgid ""
"If *sep* is specified, it must be a single character str or bytes object. It "
"will be inserted in the output after every *bytes_per_sep* input bytes. "
@ -243,11 +237,11 @@ msgstr ""
"droite de la sortie. Si vous souhaitez compter à partir de la gauche, "
"indiquez une valeur *bytes_per_sep* négative."
#: library/binascii.rst:152
#: library/binascii.rst:150
msgid "The *sep* and *bytes_per_sep* parameters were added."
msgstr "ajout des paramètres *sep* et *bytes_per_sep*."
#: library/binascii.rst:158
#: library/binascii.rst:156
msgid ""
"Return the binary data represented by the hexadecimal string *hexstr*. This "
"function is the inverse of :func:`b2a_hex`. *hexstr* must contain an even "
@ -259,7 +253,7 @@ msgstr ""
"*hexstr* doit contenir un nombre pair de chiffres hexadécimaux (qui peuvent "
"être en majuscule ou minuscule), sinon une exception :exc:`Error` est levée."
#: library/binascii.rst:163
#: library/binascii.rst:161
msgid ""
"Similar functionality (accepting only text string arguments, but more "
"liberal towards whitespace) is also accessible using the :meth:`bytes."
@ -269,13 +263,13 @@ msgstr ""
"texte, mais plus libérale vis-à-vis des espaces blancs) est également "
"accessible en utilisant la méthode de classe :meth:`bytes.fromhex`."
#: library/binascii.rst:169
#: library/binascii.rst:167
msgid "Exception raised on errors. These are usually programming errors."
msgstr ""
"Exception levée en cas d'erreurs. Ce sont typiquement des erreurs de "
"programmation."
#: library/binascii.rst:174
#: library/binascii.rst:172
msgid ""
"Exception raised on incomplete data. These are usually not programming "
"errors, but may be handled by reading a little more data and trying again."
@ -284,34 +278,43 @@ msgstr ""
"derreurs de programmation, mais elles peuvent être traitées en lisant un "
"peu plus de données et en réessayant."
#: library/binascii.rst:182
#: library/binascii.rst:180
msgid "Module :mod:`base64`"
msgstr "Module :mod:`base64`"
#: library/binascii.rst:181
#: library/binascii.rst:179
msgid ""
"Support for RFC compliant base64-style encoding in base 16, 32, 64, and 85."
msgstr ""
"Support de lencodage *base64-style* conforme RFC en base 16, 32, 64 et 85."
#: library/binascii.rst:185
#: library/binascii.rst:183
msgid "Module :mod:`uu`"
msgstr "Module :mod:`uu`"
#: library/binascii.rst:185
#: library/binascii.rst:183
msgid "Support for UU encoding used on Unix."
msgstr "Gestion de l'encodage UU utilisé sur Unix."
#: library/binascii.rst:187
#: library/binascii.rst:185
msgid "Module :mod:`quopri`"
msgstr "Module :mod:`quopri`"
#: library/binascii.rst:188
#: library/binascii.rst:186
msgid "Support for quoted-printable encoding used in MIME email messages."
msgstr ""
"Support de lencodage *quote-printable* utilisé par les messages *email* "
"MIME."
#, fuzzy
#~ msgid ""
#~ "The result is always unsigned. To generate the same numeric value when "
#~ "using Python 2 or earlier, use ``crc32(data) & 0xffffffff``."
#~ msgstr ""
#~ "Le résultat est toujours non signé. Pour générer la même valeur numérique "
#~ "sur toutes les versions de Python et plateformes, utilisez ``crc32(data) "
#~ "& 0xffffffff``."
#~ msgid ""
#~ "Convert binhex4 formatted ASCII data to binary, without doing RLE-"
#~ "decompression. The string should contain a complete number of binary "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-10-17 12:13+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -71,22 +71,29 @@ msgstr ""
"que, pour la moitié de gauche : ``all(val < x for val in a[lo : i])``, et "
"pour la partie de droite : ``all(val >= x for val in a[i : hi])``."
#: library/bisect.rst:55 library/bisect.rst:88
#: library/bisect.rst:58
#, fuzzy
msgid ""
"*key* specifies a :term:`key function` of one argument that is used to "
"extract a comparison key from each input element. The default value is "
"``None`` (compare the elements directly)."
"extract a comparison key from each element in the array. To support "
"searching complex records, the key function is not applied to the *x* value."
msgstr ""
"Le paramètre facultatif *key* est une :term:`fonction clé <key function>` "
"prenant un argument. S'il est fourni, les comparaisons se font sur les "
"valeurs renvoyées par la fonction clé. Par défaut, les éléments sont "
"comparés directement."
#: library/bisect.rst:59 library/bisect.rst:99
#: library/bisect.rst:62
msgid ""
"If *key* is ``None``, the elements are compared directly with no intervening "
"function call."
msgstr ""
#: library/bisect.rst:65 library/bisect.rst:103
msgid "Added the *key* parameter."
msgstr "ajout du paramètre *key*."
#: library/bisect.rst:48
#: library/bisect.rst:51
msgid ""
"Similar to :func:`bisect_left`, but returns an insertion point which comes "
"after (to the right of) any existing entries of *x* in *a*."
@ -94,7 +101,7 @@ msgstr ""
"Semblable à :func:`bisect_left`, mais renvoie un point d'insertion après (à "
"droite) d'une potentielle entrée existante valant *x* dans *a*."
#: library/bisect.rst:51
#: library/bisect.rst:54
msgid ""
"The returned insertion point *i* partitions the array *a* into two halves so "
"that ``all(val <= x for val in a[lo : i])`` for the left side and ``all(val "
@ -104,11 +111,11 @@ msgstr ""
"que, pour la moitié de gauche : ``all(val <= x for val in a[lo : i])`` et "
"pour la moitié de droite : ``all(val > x for val in a[i : hi])``."
#: library/bisect.rst:65
#: library/bisect.rst:71
msgid "Insert *x* in *a* in sorted order."
msgstr "Insère *x* dans *a* en préservant l'ordre."
#: library/bisect.rst:71
#: library/bisect.rst:73
msgid ""
"This function first runs :func:`bisect_left` to locate an insertion point. "
"Next, it runs the :meth:`insert` method on *a* to insert *x* at the "
@ -118,7 +125,13 @@ msgstr ""
"position de l'insertion, puis appelle la méthode :meth:`insert` de *a* pour "
"ajouter *x* à l'endroit adéquat."
#: library/bisect.rst:96
#: library/bisect.rst:97
msgid ""
"To support inserting records in a table, the *key* function (if any) is "
"applied to *x* for the search step but not for the insertion step."
msgstr ""
#: library/bisect.rst:100
msgid ""
"Keep in mind that the ``O(log n)`` search is dominated by the slow O(n) "
"insertion step."
@ -127,7 +140,7 @@ msgstr ""
"recherche est dominée par la lenteur de l'insertion, de complexité linéaire :"
"math:`O(n)`."
#: library/bisect.rst:85
#: library/bisect.rst:90
msgid ""
"Similar to :func:`insort_left`, but inserting *x* in *a* after any existing "
"entries of *x*."
@ -135,7 +148,7 @@ msgstr ""
"Similaire à :func:`insort_left`, mais en insérant *x* dans *a* après une "
"potentielle entrée existante égale à *x*."
#: library/bisect.rst:92
#: library/bisect.rst:93
msgid ""
"This function first runs :func:`bisect_right` to locate an insertion point. "
"Next, it runs the :meth:`insert` method on *a* to insert *x* at the "
@ -144,11 +157,11 @@ msgstr ""
"Le principe est le même que :func:`insort_left`, mais avec :func:"
"`bisect_right`."
#: library/bisect.rst:104
#: library/bisect.rst:108
msgid "Performance Notes"
msgstr "Notes sur la performance"
#: library/bisect.rst:106
#: library/bisect.rst:110
msgid ""
"When writing time sensitive code using *bisect()* and *insort()*, keep these "
"thoughts in mind:"
@ -156,7 +169,7 @@ msgstr ""
"Pour écrire du code sensible à la performance utilisant ``bisect()`` et "
"``insort()``, prenez en compte ces quelques considérations :"
#: library/bisect.rst:109
#: library/bisect.rst:113
msgid ""
"Bisection is effective for searching ranges of values. For locating specific "
"values, dictionaries are more performant."
@ -164,7 +177,7 @@ msgstr ""
"La bissection est une bonne idée pour rechercher une plage de valeurs. Pour "
"une seule valeur, mieux vaut un dictionnaire."
#: library/bisect.rst:112
#: library/bisect.rst:116
msgid ""
"The *insort()* functions are ``O(n)`` because the logarithmic search step is "
"dominated by the linear time insertion step."
@ -172,7 +185,7 @@ msgstr ""
"Les fonctions d'insertion dans une liste classée ont une complexité linéaire "
"car c'est le coût d'une insertion, même si la recherche est logarithmique."
#: library/bisect.rst:115
#: library/bisect.rst:119
msgid ""
"The search functions are stateless and discard key function results after "
"they are used. Consequently, if the search functions are used in a loop, "
@ -191,7 +204,7 @@ msgstr ""
"sur un tableau de clés pré-calculées pour trouver le point d'insertion (voir "
"les exemples plus bas)."
#: library/bisect.rst:125
#: library/bisect.rst:129
msgid ""
"`Sorted Collections <http://www.grantjenks.com/docs/sortedcollections/>`_ is "
"a high performance module that uses *bisect* to managed sorted collections "
@ -201,7 +214,7 @@ msgstr ""
"est un module de haute performance qui fait appel à *bisect* pour maintenir "
"des données ordonnées."
#: library/bisect.rst:129
#: library/bisect.rst:133
msgid ""
"The `SortedCollection recipe <https://code.activestate.com/recipes/577197-"
"sortedcollection/>`_ uses bisect to build a full-featured collection class "
@ -215,11 +228,11 @@ msgstr ""
"fonction clef. Les clefs sont pré-calculées pour économiser des appels "
"inutiles à la fonction clef durant les recherches."
#: library/bisect.rst:137
#: library/bisect.rst:141
msgid "Searching Sorted Lists"
msgstr "Chercher dans des listes triées"
#: library/bisect.rst:139
#: library/bisect.rst:143
msgid ""
"The above :func:`bisect` functions are useful for finding insertion points "
"but can be tricky or awkward to use for common searching tasks. The "
@ -231,11 +244,11 @@ msgstr ""
"rechercher des éléments. Les cinq fonctions suivantes montrent comment les "
"transformer en recherche plus classique pour les listes triées ::"
#: library/bisect.rst:181
#: library/bisect.rst:185
msgid "Examples"
msgstr "Exemples"
#: library/bisect.rst:185
#: library/bisect.rst:189
msgid ""
"The :func:`bisect` function can be useful for numeric table lookups. This "
"example uses :func:`bisect` to look up a letter grade for an exam score "
@ -248,10 +261,18 @@ msgstr ""
"en se basant sur une échelle prédéfinie : plus de 90 vaut 'A', de 80 à 89 "
"vaut 'B', etc. ::"
#: library/bisect.rst:197
#: library/bisect.rst:201
msgid ""
"One technique to avoid repeated calls to a key function is to search a list "
"of precomputed keys to find the index of a record::"
"The :func:`bisect` and :func:`insort` functions also work with lists of "
"tuples. The *key* argument can serve to extract the field used for ordering "
"records in a table::"
msgstr ""
#: library/bisect.rst:235
#, fuzzy
msgid ""
"If the key function is expensive, it is possible to avoid repeated function "
"calls by searching a list of precomputed keys to find the index of a record::"
msgstr ""
"Une technique consiste à utiliser une liste de clefs pré-calculée pour "
"chercher l'indice de l'enregistrement en question ::"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -22,21 +22,23 @@ msgstr ""
msgid "**Source code:** :source:`Lib/cgi.py`"
msgstr "**Code source :** :source:`Lib/cgi.py`"
#: library/cgi.rst:18
msgid "The :mod:`cgi` module is deprecated (see :pep:`594` for details)."
#: library/cgi.rst:21
msgid ""
"The :mod:`cgi` module is deprecated (see :pep:`PEP 594 <594#cgi>` for "
"details and alternatives)."
msgstr ""
#: library/cgi.rst:23
#: library/cgi.rst:24
msgid "Support module for Common Gateway Interface (CGI) scripts."
msgstr ""
#: library/cgi.rst:25
#: library/cgi.rst:26
msgid ""
"This module defines a number of utilities for use by CGI scripts written in "
"Python."
msgstr ""
#: library/cgi.rst:28
#: library/cgi.rst:29
msgid ""
"The global variable ``maxlen`` can be set to an integer indicating the "
"maximum size of a POST request. POST requests larger than this size will "
@ -44,17 +46,17 @@ msgid ""
"of this variable is ``0``, meaning the request size is unlimited."
msgstr ""
#: library/cgi.rst:35
#: library/cgi.rst:36
msgid "Introduction"
msgstr "Introduction"
#: library/cgi.rst:39
#: library/cgi.rst:40
msgid ""
"A CGI script is invoked by an HTTP server, usually to process user input "
"submitted through an HTML ``<FORM>`` or ``<ISINDEX>`` element."
msgstr ""
#: library/cgi.rst:42
#: library/cgi.rst:43
msgid ""
"Most often, CGI scripts live in the server's special :file:`cgi-bin` "
"directory. The HTTP server places all sorts of information about the request "
@ -63,7 +65,7 @@ msgid ""
"script, and sends the script's output back to the client."
msgstr ""
#: library/cgi.rst:48
#: library/cgi.rst:49
msgid ""
"The script's input is connected to the client too, and sometimes the form "
"data is read this way; at other times the form data is passed via the "
@ -74,7 +76,7 @@ msgid ""
"supports it)."
msgstr ""
#: library/cgi.rst:55
#: library/cgi.rst:56
msgid ""
"The output of a CGI script should consist of two sections, separated by a "
"blank line. The first section contains a number of headers, telling the "
@ -82,26 +84,26 @@ msgid ""
"header section looks like this::"
msgstr ""
#: library/cgi.rst:63
#: library/cgi.rst:64
msgid ""
"The second section is usually HTML, which allows the client software to "
"display nicely formatted text with header, in-line images, etc. Here's "
"Python code that prints a simple piece of HTML::"
msgstr ""
#: library/cgi.rst:75
#: library/cgi.rst:76
msgid "Using the cgi module"
msgstr ""
#: library/cgi.rst:77
#: library/cgi.rst:78
msgid "Begin by writing ``import cgi``."
msgstr ""
#: library/cgi.rst:79
#: library/cgi.rst:80
msgid "When you write a new script, consider adding these lines::"
msgstr ""
#: library/cgi.rst:84
#: library/cgi.rst:85
msgid ""
"This activates a special exception handler that will display detailed "
"reports in the web browser if any errors occur. If you'd rather not show "
@ -109,7 +111,7 @@ msgid ""
"saved to files instead, with code like this::"
msgstr ""
#: library/cgi.rst:92
#: library/cgi.rst:93
msgid ""
"It's very helpful to use this feature during script development. The reports "
"produced by :mod:`cgitb` provide information that can save you a lot of time "
@ -117,7 +119,7 @@ msgid ""
"you have tested your script and are confident that it works correctly."
msgstr ""
#: library/cgi.rst:97
#: library/cgi.rst:98
msgid ""
"To get at submitted form data, use the :class:`FieldStorage` class. If the "
"form contains non-ASCII characters, use the *encoding* keyword parameter set "
@ -129,7 +131,7 @@ msgid ""
"consume standard input, it should be instantiated only once."
msgstr ""
#: library/cgi.rst:106
#: library/cgi.rst:107
msgid ""
"The :class:`FieldStorage` instance can be indexed like a Python dictionary. "
"It allows membership testing with the :keyword:`in` operator, and also "
@ -140,14 +142,14 @@ msgid ""
"class:`FieldStorage` instance."
msgstr ""
#: library/cgi.rst:114
#: library/cgi.rst:115
msgid ""
"For instance, the following code (which assumes that the :mailheader:"
"`Content-Type` header and blank line have already been printed) checks that "
"the fields ``name`` and ``addr`` are both set to a non-empty string::"
msgstr ""
#: library/cgi.rst:128
#: library/cgi.rst:129
msgid ""
"Here the fields, accessed through ``form[key]``, are themselves instances "
"of :class:`FieldStorage` (or :class:`MiniFieldStorage`, depending on the "
@ -157,7 +159,7 @@ msgid ""
"second argument as a default to return if the requested key is not present."
msgstr ""
#: library/cgi.rst:135
#: library/cgi.rst:136
msgid ""
"If the submitted form data contains more than one field with the same name, "
"the object retrieved by ``form[key]`` is not a :class:`FieldStorage` or :"
@ -170,7 +172,7 @@ msgid ""
"username fields, separated by commas::"
msgstr ""
#: library/cgi.rst:148
#: library/cgi.rst:149
msgid ""
"If a field represents an uploaded file, accessing the value via the :attr:"
"`~FieldStorage.value` attribute or the :meth:`~FieldStorage.getvalue` method "
@ -183,13 +185,13 @@ msgid ""
"IOBase.readline` methods will return bytes)::"
msgstr ""
#: library/cgi.rst:168
#: library/cgi.rst:169
msgid ""
":class:`FieldStorage` objects also support being used in a :keyword:`with` "
"statement, which will automatically close them when done."
msgstr ""
#: library/cgi.rst:171
#: library/cgi.rst:172
msgid ""
"If an error is encountered when obtaining the contents of an uploaded file "
"(for example, when the user interrupts the form submission by clicking on a "
@ -197,7 +199,7 @@ msgid ""
"object for the field will be set to the value -1."
msgstr ""
#: library/cgi.rst:176
#: library/cgi.rst:177
msgid ""
"The file upload draft standard entertains the possibility of uploading "
"multiple files from one field (using a recursive :mimetype:`multipart/\\*` "
@ -208,7 +210,7 @@ msgid ""
"be iterated over recursively just like the top-level form object."
msgstr ""
#: library/cgi.rst:184
#: library/cgi.rst:185
msgid ""
"When a form is submitted in the \"old\" format (as the query string or as a "
"single data part of type :mimetype:`application/x-www-form-urlencoded`), the "
@ -217,29 +219,29 @@ msgid ""
"are always ``None``."
msgstr ""
#: library/cgi.rst:189
#: library/cgi.rst:190
msgid ""
"A form submitted via POST that also has a query string will contain both :"
"class:`FieldStorage` and :class:`MiniFieldStorage` items."
msgstr ""
#: library/cgi.rst:192
#: library/cgi.rst:193
msgid ""
"The :attr:`~FieldStorage.file` attribute is automatically closed upon the "
"garbage collection of the creating :class:`FieldStorage` instance."
msgstr ""
#: library/cgi.rst:196
#: library/cgi.rst:197
msgid ""
"Added support for the context management protocol to the :class:"
"`FieldStorage` class."
msgstr ""
#: library/cgi.rst:202
#: library/cgi.rst:203
msgid "Higher Level Interface"
msgstr ""
#: library/cgi.rst:204
#: library/cgi.rst:205
msgid ""
"The previous section explains how to read CGI form data using the :class:"
"`FieldStorage` class. This section describes a higher level interface which "
@ -249,33 +251,33 @@ msgid ""
"efficiently, for example."
msgstr ""
#: library/cgi.rst:213
#: library/cgi.rst:214
msgid ""
"The interface consists of two simple methods. Using the methods you can "
"process form data in a generic way, without the need to worry whether only "
"one or more values were posted under one name."
msgstr ""
#: library/cgi.rst:217
#: library/cgi.rst:218
msgid ""
"In the previous section, you learned to write following code anytime you "
"expected a user to post more than one value under one name::"
msgstr ""
#: library/cgi.rst:226
#: library/cgi.rst:227
msgid ""
"This situation is common for example when a form contains a group of "
"multiple checkboxes with the same name::"
msgstr ""
#: library/cgi.rst:232
#: library/cgi.rst:233
msgid ""
"In most situations, however, there's only one form control with a particular "
"name in a form and then you expect and need only one value associated with "
"this name. So you write a script containing for example this code::"
msgstr ""
#: library/cgi.rst:238
#: library/cgi.rst:239
msgid ""
"The problem with the code is that you should never expect that a client will "
"provide valid input to your scripts. For example, if a curious user appends "
@ -286,21 +288,21 @@ msgid ""
"an :exc:`AttributeError` exception."
msgstr ""
#: library/cgi.rst:246
#: library/cgi.rst:247
msgid ""
"Therefore, the appropriate way to read form data values was to always use "
"the code which checks whether the obtained value is a single value or a list "
"of values. That's annoying and leads to less readable scripts."
msgstr ""
#: library/cgi.rst:250
#: library/cgi.rst:251
msgid ""
"A more convenient approach is to use the methods :meth:`~FieldStorage."
"getfirst` and :meth:`~FieldStorage.getlist` provided by this higher level "
"interface."
msgstr ""
#: library/cgi.rst:256
#: library/cgi.rst:257
msgid ""
"This method always returns only one value associated with form field *name*. "
"The method returns only the first value in case that more values were posted "
@ -311,7 +313,7 @@ msgid ""
"defaults to ``None`` if not specified."
msgstr ""
#: library/cgi.rst:267
#: library/cgi.rst:268
msgid ""
"This method always returns a list of values associated with form field "
"*name*. The method returns an empty list if no such form field or value "
@ -319,28 +321,28 @@ msgid ""
"such value exists."
msgstr ""
#: library/cgi.rst:271
#: library/cgi.rst:272
msgid "Using these methods you can write nice compact code::"
msgstr ""
#: library/cgi.rst:283
#: library/cgi.rst:284
msgid "Functions"
msgstr "Fonctions"
#: library/cgi.rst:285
#: library/cgi.rst:286
msgid ""
"These are useful if you want more control, or if you want to employ some of "
"the algorithms implemented in this module in other circumstances."
msgstr ""
#: library/cgi.rst:291
#: library/cgi.rst:292
msgid ""
"Parse a query in the environment or from a file (the file defaults to ``sys."
"stdin``). The *keep_blank_values*, *strict_parsing* and *separator* "
"parameters are passed to :func:`urllib.parse.parse_qs` unchanged."
msgstr ""
#: library/cgi.rst:298
#: library/cgi.rst:299
msgid ""
"Parse input of type :mimetype:`multipart/form-data` (for file uploads). "
"Arguments are *fp* for the input file, *pdict* for a dictionary containing "
@ -348,63 +350,63 @@ msgid ""
"the request encoding."
msgstr ""
#: library/cgi.rst:303
#: library/cgi.rst:304
msgid ""
"Returns a dictionary just like :func:`urllib.parse.parse_qs`: keys are the "
"field names, each value is a list of values for that field. For non-file "
"fields, the value is a list of strings."
msgstr ""
#: library/cgi.rst:307
#: library/cgi.rst:308
msgid ""
"This is easy to use but not much good if you are expecting megabytes to be "
"uploaded --- in that case, use the :class:`FieldStorage` class instead which "
"is much more flexible."
msgstr ""
#: library/cgi.rst:311
#: library/cgi.rst:312
msgid ""
"Added the *encoding* and *errors* parameters. For non-file fields, the "
"value is now a list of strings, not bytes."
msgstr ""
#: library/cgi.rst:315
#: library/cgi.rst:316
msgid "Added the *separator* parameter."
msgstr ""
#: library/cgi.rst:321
#: library/cgi.rst:322
msgid ""
"Parse a MIME header (such as :mailheader:`Content-Type`) into a main value "
"and a dictionary of parameters."
msgstr ""
#: library/cgi.rst:327
#: library/cgi.rst:328
msgid ""
"Robust test CGI script, usable as main program. Writes minimal HTTP headers "
"and formats all information provided to the script in HTML format."
msgstr ""
#: library/cgi.rst:333
#: library/cgi.rst:334
msgid "Format the shell environment in HTML."
msgstr ""
#: library/cgi.rst:338
#: library/cgi.rst:339
msgid "Format a form in HTML."
msgstr ""
#: library/cgi.rst:343
#: library/cgi.rst:344
msgid "Format the current directory in HTML."
msgstr ""
#: library/cgi.rst:348
#: library/cgi.rst:349
msgid "Print a list of useful (used by CGI) environment variables in HTML."
msgstr ""
#: library/cgi.rst:354
#: library/cgi.rst:355
msgid "Caring about security"
msgstr ""
#: library/cgi.rst:358
#: library/cgi.rst:359
msgid ""
"There's one important rule: if you invoke an external program (via :func:`os."
"system`, :func:`os.popen` or other functions with similar functionality), "
@ -415,25 +417,25 @@ msgid ""
"since the request doesn't have to come from your form!"
msgstr ""
#: library/cgi.rst:366
#: library/cgi.rst:367
msgid ""
"To be on the safe side, if you must pass a string gotten from a form to a "
"shell command, you should make sure the string contains only alphanumeric "
"characters, dashes, underscores, and periods."
msgstr ""
#: library/cgi.rst:372
#: library/cgi.rst:373
msgid "Installing your CGI script on a Unix system"
msgstr ""
#: library/cgi.rst:374
#: library/cgi.rst:375
msgid ""
"Read the documentation for your HTTP server and check with your local system "
"administrator to find the directory where CGI scripts should be installed; "
"usually this is in a directory :file:`cgi-bin` in the server tree."
msgstr ""
#: library/cgi.rst:378
#: library/cgi.rst:379
msgid ""
"Make sure that your script is readable and executable by \"others\"; the "
"Unix file mode should be ``0o755`` octal (use ``chmod 0755 filename``). "
@ -441,12 +443,12 @@ msgid ""
"column 1 followed by the pathname of the Python interpreter, for instance::"
msgstr ""
#: library/cgi.rst:385
#: library/cgi.rst:386
msgid ""
"Make sure the Python interpreter exists and is executable by \"others\"."
msgstr ""
#: library/cgi.rst:387
#: library/cgi.rst:388
msgid ""
"Make sure that any files your script needs to read or write are readable or "
"writable, respectively, by \"others\" --- their mode should be ``0o644`` for "
@ -461,28 +463,28 @@ msgid ""
"anything interesting."
msgstr ""
#: library/cgi.rst:398
#: library/cgi.rst:399
msgid ""
"If you need to load modules from a directory which is not on Python's "
"default module search path, you can change the path in your script, before "
"importing other modules. For example::"
msgstr ""
#: library/cgi.rst:406
#: library/cgi.rst:407
msgid "(This way, the directory inserted last will be searched first!)"
msgstr ""
#: library/cgi.rst:408
#: library/cgi.rst:409
msgid ""
"Instructions for non-Unix systems will vary; check your HTTP server's "
"documentation (it will usually have a section on CGI scripts)."
msgstr ""
#: library/cgi.rst:413
#: library/cgi.rst:414
msgid "Testing your CGI script"
msgstr ""
#: library/cgi.rst:415
#: library/cgi.rst:416
msgid ""
"Unfortunately, a CGI script will generally not run when you try it from the "
"command line, and a script that works perfectly from the command line may "
@ -492,17 +494,17 @@ msgid ""
"will most likely send a cryptic error to the client."
msgstr ""
#: library/cgi.rst:422
#: library/cgi.rst:423
msgid ""
"Assuming your script has no syntax errors, yet it does not work, you have no "
"choice but to read the next section."
msgstr ""
#: library/cgi.rst:427
#: library/cgi.rst:428
msgid "Debugging CGI scripts"
msgstr ""
#: library/cgi.rst:431
#: library/cgi.rst:432
msgid ""
"First of all, check for trivial installation errors --- reading the section "
"above on installing your CGI script carefully can save you a lot of time. "
@ -515,7 +517,7 @@ msgid ""
"your browser of the form:"
msgstr ""
#: library/cgi.rst:444
#: library/cgi.rst:445
msgid ""
"If this gives an error of type 404, the server cannot find the script -- "
"perhaps you need to install it in a different directory. If it gives "
@ -527,19 +529,19 @@ msgid ""
"same procedure for your own script, you should now be able to debug it."
msgstr ""
#: library/cgi.rst:453
#: library/cgi.rst:454
msgid ""
"The next step could be to call the :mod:`cgi` module's :func:`test` function "
"from your script: replace its main code with the single statement ::"
msgstr ""
#: library/cgi.rst:458
#: library/cgi.rst:459
msgid ""
"This should produce the same results as those gotten from installing the :"
"file:`cgi.py` file itself."
msgstr ""
#: library/cgi.rst:461
#: library/cgi.rst:462
msgid ""
"When an ordinary Python script raises an unhandled exception (for whatever "
"reason: of a typo in a module name, a file that can't be opened, etc.), the "
@ -549,28 +551,28 @@ msgid ""
"or be discarded altogether."
msgstr ""
#: library/cgi.rst:468
#: library/cgi.rst:469
msgid ""
"Fortunately, once you have managed to get your script to execute *some* "
"code, you can easily send tracebacks to the web browser using the :mod:"
"`cgitb` module. If you haven't done so already, just add the lines::"
msgstr ""
#: library/cgi.rst:475
#: library/cgi.rst:476
msgid ""
"to the top of your script. Then try running it again; when a problem "
"occurs, you should see a detailed report that will likely make apparent the "
"cause of the crash."
msgstr ""
#: library/cgi.rst:479
#: library/cgi.rst:480
msgid ""
"If you suspect that there may be a problem in importing the :mod:`cgitb` "
"module, you can use an even more robust approach (which only uses built-in "
"modules)::"
msgstr ""
#: library/cgi.rst:488
#: library/cgi.rst:489
msgid ""
"This relies on the Python interpreter to print the traceback. The content "
"type of the output is set to plain text, which disables all HTML "
@ -580,47 +582,47 @@ msgid ""
"interpretation is going on, the traceback will be readable."
msgstr ""
#: library/cgi.rst:497
#: library/cgi.rst:498
msgid "Common problems and solutions"
msgstr ""
#: library/cgi.rst:499
#: library/cgi.rst:500
msgid ""
"Most HTTP servers buffer the output from CGI scripts until the script is "
"completed. This means that it is not possible to display a progress report "
"on the client's display while the script is running."
msgstr ""
#: library/cgi.rst:503
#: library/cgi.rst:504
msgid "Check the installation instructions above."
msgstr ""
#: library/cgi.rst:505
#: library/cgi.rst:506
msgid ""
"Check the HTTP server's log files. (``tail -f logfile`` in a separate "
"window may be useful!)"
msgstr ""
#: library/cgi.rst:508
#: library/cgi.rst:509
msgid ""
"Always check a script for syntax errors first, by doing something like "
"``python script.py``."
msgstr ""
#: library/cgi.rst:511
#: library/cgi.rst:512
msgid ""
"If your script does not have any syntax errors, try adding ``import cgitb; "
"cgitb.enable()`` to the top of the script."
msgstr ""
#: library/cgi.rst:514
#: library/cgi.rst:515
msgid ""
"When invoking external programs, make sure they can be found. Usually, this "
"means using absolute path names --- :envvar:`PATH` is usually not set to a "
"very useful value in a CGI script."
msgstr ""
#: library/cgi.rst:518
#: library/cgi.rst:519
msgid ""
"When reading or writing external files, make sure they can be read or "
"written by the userid under which your CGI script will be running: this is "
@ -628,17 +630,17 @@ msgid ""
"explicitly specified userid for a web server's ``suexec`` feature."
msgstr ""
#: library/cgi.rst:523
#: library/cgi.rst:524
msgid ""
"Don't try to give a CGI script a set-uid mode. This doesn't work on most "
"systems, and is a security liability as well."
msgstr ""
#: library/cgi.rst:527
#: library/cgi.rst:528
msgid "Footnotes"
msgstr "Notes"
#: library/cgi.rst:528
#: library/cgi.rst:529
msgid ""
"Note that some recent versions of the HTML specification do state what order "
"the field values should be supplied in, but knowing whether a request was "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2018-07-29 18:36+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -23,11 +23,13 @@ msgstr ":mod:`cgitb` — Gestionnaire d'exceptions pour les scripts CGI"
msgid "**Source code:** :source:`Lib/cgitb.py`"
msgstr "**Code source :** :source:`Lib/cgitb.py`"
#: library/cgitb.rst:19
msgid "The :mod:`cgitb` module is deprecated (see :pep:`594` for details)."
#: library/cgitb.rst:22
msgid ""
"The :mod:`cgitb` module is deprecated (see :pep:`PEP 594 <594#cgitb>` for "
"details)."
msgstr ""
#: library/cgitb.rst:24
#: library/cgitb.rst:25
msgid ""
"The :mod:`cgitb` module provides a special exception handler for Python "
"scripts. (Its name is a bit misleading. It was originally designed to "
@ -51,13 +53,13 @@ msgstr ""
"problème. Il est aussi possible de sauvegarder cette information dans un "
"fichier plutôt que de l'envoyer dans le navigateur."
#: library/cgitb.rst:34
#: library/cgitb.rst:35
msgid "To enable this feature, simply add this to the top of your CGI script::"
msgstr ""
"Pour activer cette fonctionnalité, ajoutez simplement ceci au début de votre "
"script CGI ::"
#: library/cgitb.rst:39
#: library/cgitb.rst:40
msgid ""
"The options to the :func:`enable` function control whether the report is "
"displayed in the browser and whether the report is logged to a file for "
@ -67,7 +69,7 @@ msgstr ""
"choisir si le rapport est envoyé au navigateur ou si le rapport est écrit "
"dans un fichier pour analyse ultérieure."
#: library/cgitb.rst:48
#: library/cgitb.rst:49
msgid ""
"This function causes the :mod:`cgitb` module to take over the interpreter's "
"default handling for exceptions by setting the value of :attr:`sys."
@ -77,7 +79,7 @@ msgstr ""
"l'interpréteur par celui du module :mod:`cgitb`, en configurant :attr:`sys."
"excepthook`."
#: library/cgitb.rst:51
#: library/cgitb.rst:52
msgid ""
"The optional argument *display* defaults to ``1`` and can be set to ``0`` to "
"suppress sending the traceback to the browser. If the argument *logdir* is "
@ -99,7 +101,7 @@ msgstr ""
"HTML. Le rapport sera écrit en texte brut pour toute autre valeur. La "
"valeur par défaut est ``\"html\"``."
#: library/cgitb.rst:63
#: library/cgitb.rst:64
msgid ""
"This function handles the exception described by *info* (a 3-tuple "
"containing the result of :func:`sys.exc_info`), formatting its traceback as "
@ -114,7 +116,7 @@ msgstr ""
"de la ligne courante du code source dans la pile dappels ; la valeur par "
"défaut est ``5``."
#: library/cgitb.rst:72
#: library/cgitb.rst:73
msgid ""
"This function handles the exception described by *info* (a 3-tuple "
"containing the result of :func:`sys.exc_info`), formatting its traceback as "
@ -129,7 +131,7 @@ msgstr ""
"de la ligne courante du code source dans la pile dappels ; la valeur par "
"défaut est ``5``."
#: library/cgitb.rst:81
#: library/cgitb.rst:82
msgid ""
"This function handles an exception using the default settings (that is, show "
"a report in the browser, but don't log to a file). This can be used when "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -23,11 +23,13 @@ msgstr ""
msgid "**Source code:** :source:`Lib/chunk.py`"
msgstr "**Code source :** :source:`Lib/uu.py`"
#: library/chunk.rst:20
msgid "The :mod:`chunk` module is deprecated (see :pep:`594` for details)."
#: library/chunk.rst:23
msgid ""
"The :mod:`chunk` module is deprecated (see :pep:`PEP 594 <594#chunk>` for "
"details)."
msgstr ""
#: library/chunk.rst:25
#: library/chunk.rst:26
msgid ""
"This module provides an interface for reading files that use EA IFF 85 "
"chunks. [#]_ This format is used in at least the Audio Interchange File "
@ -35,73 +37,73 @@ msgid ""
"file format is closely related and can also be read using this module."
msgstr ""
#: library/chunk.rst:30
#: library/chunk.rst:31
msgid "A chunk has the following structure:"
msgstr ""
#: library/chunk.rst:33
#: library/chunk.rst:34
msgid "Offset"
msgstr ""
#: library/chunk.rst:33
#: library/chunk.rst:34
msgid "Length"
msgstr ""
#: library/chunk.rst:33
#: library/chunk.rst:34
msgid "Contents"
msgstr "Sommaire"
#: library/chunk.rst:35
#: library/chunk.rst:36
msgid "0"
msgstr "0"
#: library/chunk.rst:37
#: library/chunk.rst:38
msgid "4"
msgstr "4"
#: library/chunk.rst:35
#: library/chunk.rst:36
msgid "Chunk ID"
msgstr ""
#: library/chunk.rst:37
#: library/chunk.rst:38
msgid "Size of chunk in big-endian byte order, not including the header"
msgstr ""
#: library/chunk.rst:41
#: library/chunk.rst:42
msgid "8"
msgstr "8"
#: library/chunk.rst:41
#: library/chunk.rst:42
msgid "*n*"
msgstr "*n*"
#: library/chunk.rst:41
#: library/chunk.rst:42
msgid "Data bytes, where *n* is the size given in the preceding field"
msgstr ""
#: library/chunk.rst:45
#: library/chunk.rst:46
msgid "8 + *n*"
msgstr "8 + *n*"
#: library/chunk.rst:45
#: library/chunk.rst:46
msgid "0 or 1"
msgstr "0 or 1"
#: library/chunk.rst:45
#: library/chunk.rst:46
msgid "Pad byte needed if *n* is odd and chunk alignment is used"
msgstr ""
#: library/chunk.rst:49
#: library/chunk.rst:50
msgid "The ID is a 4-byte string which identifies the type of chunk."
msgstr ""
#: library/chunk.rst:51
#: library/chunk.rst:52
msgid ""
"The size field (a 32-bit value, encoded using big-endian byte order) gives "
"the size of the chunk data, not including the 8-byte header."
msgstr ""
#: library/chunk.rst:54
#: library/chunk.rst:55
msgid ""
"Usually an IFF-type file consists of one or more chunks. The proposed usage "
"of the :class:`Chunk` class defined here is to instantiate an instance at "
@ -110,7 +112,7 @@ msgid ""
"creating a new instance will fail with an :exc:`EOFError` exception."
msgstr ""
#: library/chunk.rst:63
#: library/chunk.rst:64
msgid ""
"Class which represents a chunk. The *file* argument is expected to be a "
"file-like object. An instance of this class is specifically allowed. The "
@ -127,37 +129,37 @@ msgid ""
"The default value is false."
msgstr ""
#: library/chunk.rst:77
#: library/chunk.rst:78
msgid "A :class:`Chunk` object supports the following methods:"
msgstr ""
#: library/chunk.rst:82
#: library/chunk.rst:83
msgid ""
"Returns the name (ID) of the chunk. This is the first 4 bytes of the chunk."
msgstr ""
#: library/chunk.rst:88
#: library/chunk.rst:89
msgid "Returns the size of the chunk."
msgstr ""
#: library/chunk.rst:93
#: library/chunk.rst:94
msgid ""
"Close and skip to the end of the chunk. This does not close the underlying "
"file."
msgstr ""
#: library/chunk.rst:96
#: library/chunk.rst:97
msgid ""
"The remaining methods will raise :exc:`OSError` if called after the :meth:"
"`close` method has been called. Before Python 3.3, they used to raise :exc:"
"`IOError`, now an alias of :exc:`OSError`."
msgstr ""
#: library/chunk.rst:103
#: library/chunk.rst:104
msgid "Returns ``False``."
msgstr ""
#: library/chunk.rst:108
#: library/chunk.rst:109
msgid ""
"Set the chunk's current position. The *whence* argument is optional and "
"defaults to ``0`` (absolute file positioning); other values are ``1`` (seek "
@ -166,11 +168,11 @@ msgid ""
"only forward seeks are allowed."
msgstr ""
#: library/chunk.rst:117
#: library/chunk.rst:118
msgid "Return the current position into the chunk."
msgstr ""
#: library/chunk.rst:122
#: library/chunk.rst:123
msgid ""
"Read at most *size* bytes from the chunk (less if the read hits the end of "
"the chunk before obtaining *size* bytes). If the *size* argument is "
@ -179,7 +181,7 @@ msgid ""
"immediately."
msgstr ""
#: library/chunk.rst:131
#: library/chunk.rst:132
msgid ""
"Skip to the end of the chunk. All further calls to :meth:`read` for the "
"chunk will return ``b''``. If you are not interested in the contents of the "
@ -187,11 +189,11 @@ msgid ""
"the next chunk."
msgstr ""
#: library/chunk.rst:138
#: library/chunk.rst:139
msgid "Footnotes"
msgstr "Notes"
#: library/chunk.rst:139
#: library/chunk.rst:140
msgid ""
"\"EA IFF 85\" Standard for Interchange Format Files, Jerry Morrison, "
"Electronic Arts, January 1985."

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -194,7 +194,7 @@ msgid ""
"easier debugging."
msgstr ""
#: library/concurrent.futures.rst:171 library/concurrent.futures.rst:270
#: library/concurrent.futures.rst:171 library/concurrent.futures.rst:273
msgid "Added the *initializer* and *initargs* arguments."
msgstr ""
@ -270,11 +270,14 @@ msgstr ""
msgid ""
"*max_tasks_per_child* is an optional argument that specifies the maximum "
"number of tasks a single process can execute before it will exit and be "
"replaced with a fresh worker process. The default *max_tasks_per_child* is "
"``None`` which means worker processes will live as long as the pool."
"replaced with a fresh worker process. By default *max_tasks_per_child* is "
"``None`` which means worker processes will live as long as the pool. When a "
"max is specified, the \"spawn\" multiprocessing start method will be used by "
"default in absense of a *mp_context* parameter. This feature is incompatible "
"with the \"fork\" start method."
msgstr ""
#: library/concurrent.futures.rst:260
#: library/concurrent.futures.rst:263
msgid ""
"When one of the worker processes terminates abruptly, a :exc:"
"`BrokenProcessPool` error is now raised. Previously, behaviour was "
@ -282,40 +285,40 @@ msgid ""
"or deadlock."
msgstr ""
#: library/concurrent.futures.rst:266
#: library/concurrent.futures.rst:269
msgid ""
"The *mp_context* argument was added to allow users to control the "
"start_method for worker processes created by the pool."
msgstr ""
#: library/concurrent.futures.rst:272
#: library/concurrent.futures.rst:275
msgid ""
"The *max_tasks_per_child* argument was added to allow users to control the "
"lifetime of workers in the pool."
msgstr ""
#: library/concurrent.futures.rst:280
#: library/concurrent.futures.rst:283
msgid "ProcessPoolExecutor Example"
msgstr ""
#: library/concurrent.futures.rst:318
#: library/concurrent.futures.rst:321
msgid "Future Objects"
msgstr ""
#: library/concurrent.futures.rst:320
#: library/concurrent.futures.rst:323
msgid ""
"The :class:`Future` class encapsulates the asynchronous execution of a "
"callable. :class:`Future` instances are created by :meth:`Executor.submit`."
msgstr ""
#: library/concurrent.futures.rst:325
#: library/concurrent.futures.rst:328
msgid ""
"Encapsulates the asynchronous execution of a callable. :class:`Future` "
"instances are created by :meth:`Executor.submit` and should not be created "
"directly except for testing."
msgstr ""
#: library/concurrent.futures.rst:331
#: library/concurrent.futures.rst:334
msgid ""
"Attempt to cancel the call. If the call is currently being executed or "
"finished running and cannot be cancelled then the method will return "
@ -323,22 +326,22 @@ msgid ""
"``True``."
msgstr ""
#: library/concurrent.futures.rst:338
#: library/concurrent.futures.rst:341
msgid "Return ``True`` if the call was successfully cancelled."
msgstr ""
#: library/concurrent.futures.rst:342
#: library/concurrent.futures.rst:345
msgid ""
"Return ``True`` if the call is currently being executed and cannot be "
"cancelled."
msgstr ""
#: library/concurrent.futures.rst:347
#: library/concurrent.futures.rst:350
msgid ""
"Return ``True`` if the call was successfully cancelled or finished running."
msgstr ""
#: library/concurrent.futures.rst:352
#: library/concurrent.futures.rst:355
msgid ""
"Return the value returned by the call. If the call hasn't yet completed then "
"this method will wait up to *timeout* seconds. If the call hasn't completed "
@ -347,18 +350,18 @@ msgid ""
"no limit to the wait time."
msgstr ""
#: library/concurrent.futures.rst:359 library/concurrent.futures.rst:373
#: library/concurrent.futures.rst:362 library/concurrent.futures.rst:376
msgid ""
"If the future is cancelled before completing then :exc:`.CancelledError` "
"will be raised."
msgstr ""
#: library/concurrent.futures.rst:362
#: library/concurrent.futures.rst:365
msgid ""
"If the call raised an exception, this method will raise the same exception."
msgstr ""
#: library/concurrent.futures.rst:366
#: library/concurrent.futures.rst:369
msgid ""
"Return the exception raised by the call. If the call hasn't yet completed "
"then this method will wait up to *timeout* seconds. If the call hasn't "
@ -367,18 +370,18 @@ msgid ""
"``None``, there is no limit to the wait time."
msgstr ""
#: library/concurrent.futures.rst:376
#: library/concurrent.futures.rst:379
msgid "If the call completed without raising, ``None`` is returned."
msgstr ""
#: library/concurrent.futures.rst:380
#: library/concurrent.futures.rst:383
msgid ""
"Attaches the callable *fn* to the future. *fn* will be called, with the "
"future as its only argument, when the future is cancelled or finishes "
"running."
msgstr ""
#: library/concurrent.futures.rst:384
#: library/concurrent.futures.rst:387
msgid ""
"Added callables are called in the order that they were added and are always "
"called in a thread belonging to the process that added them. If the "
@ -387,26 +390,26 @@ msgid ""
"behavior is undefined."
msgstr ""
#: library/concurrent.futures.rst:390
#: library/concurrent.futures.rst:393
msgid ""
"If the future has already completed or been cancelled, *fn* will be called "
"immediately."
msgstr ""
#: library/concurrent.futures.rst:393
#: library/concurrent.futures.rst:396
msgid ""
"The following :class:`Future` methods are meant for use in unit tests and :"
"class:`Executor` implementations."
msgstr ""
#: library/concurrent.futures.rst:398
#: library/concurrent.futures.rst:401
msgid ""
"This method should only be called by :class:`Executor` implementations "
"before executing the work associated with the :class:`Future` and by unit "
"tests."
msgstr ""
#: library/concurrent.futures.rst:402
#: library/concurrent.futures.rst:405
msgid ""
"If the method returns ``False`` then the :class:`Future` was cancelled, i."
"e. :meth:`Future.cancel` was called and returned `True`. Any threads "
@ -414,47 +417,47 @@ msgid ""
"or :func:`wait`) will be woken up."
msgstr ""
#: library/concurrent.futures.rst:407
#: library/concurrent.futures.rst:410
msgid ""
"If the method returns ``True`` then the :class:`Future` was not cancelled "
"and has been put in the running state, i.e. calls to :meth:`Future.running` "
"will return `True`."
msgstr ""
#: library/concurrent.futures.rst:411
#: library/concurrent.futures.rst:414
msgid ""
"This method can only be called once and cannot be called after :meth:`Future."
"set_result` or :meth:`Future.set_exception` have been called."
msgstr ""
#: library/concurrent.futures.rst:417
#: library/concurrent.futures.rst:420
msgid ""
"Sets the result of the work associated with the :class:`Future` to *result*."
msgstr ""
#: library/concurrent.futures.rst:420 library/concurrent.futures.rst:433
#: library/concurrent.futures.rst:423 library/concurrent.futures.rst:436
msgid ""
"This method should only be used by :class:`Executor` implementations and "
"unit tests."
msgstr ""
#: library/concurrent.futures.rst:423 library/concurrent.futures.rst:436
#: library/concurrent.futures.rst:426 library/concurrent.futures.rst:439
msgid ""
"This method raises :exc:`concurrent.futures.InvalidStateError` if the :class:"
"`Future` is already done."
msgstr ""
#: library/concurrent.futures.rst:430
#: library/concurrent.futures.rst:433
msgid ""
"Sets the result of the work associated with the :class:`Future` to the :"
"class:`Exception` *exception*."
msgstr ""
#: library/concurrent.futures.rst:442
#: library/concurrent.futures.rst:445
msgid "Module Functions"
msgstr ""
#: library/concurrent.futures.rst:446
#: library/concurrent.futures.rst:449
msgid ""
"Wait for the :class:`Future` instances (possibly created by different :class:"
"`Executor` instances) given by *fs* to complete. Duplicate futures given to "
@ -465,14 +468,14 @@ msgid ""
"running futures)."
msgstr ""
#: library/concurrent.futures.rst:454
#: library/concurrent.futures.rst:457
msgid ""
"*timeout* can be used to control the maximum number of seconds to wait "
"before returning. *timeout* can be an int or float. If *timeout* is not "
"specified or ``None``, there is no limit to the wait time."
msgstr ""
#: library/concurrent.futures.rst:458
#: library/concurrent.futures.rst:461
msgid ""
"*return_when* indicates when this function should return. It must be one of "
"the following constants:"
@ -480,28 +483,28 @@ msgstr ""
"*return_when* indique quand la fonction doit se terminer. Il peut prendre "
"les valeurs suivantes :"
#: library/concurrent.futures.rst:464
#: library/concurrent.futures.rst:467
msgid "Constant"
msgstr "Constante"
#: library/concurrent.futures.rst:464
#: library/concurrent.futures.rst:467
msgid "Description"
msgstr "Description"
#: library/concurrent.futures.rst:466
#: library/concurrent.futures.rst:469
msgid ":const:`FIRST_COMPLETED`"
msgstr ":const:`FIRST_COMPLETED`"
#: library/concurrent.futures.rst:466
#: library/concurrent.futures.rst:469
msgid "The function will return when any future finishes or is cancelled."
msgstr ""
"La fonction se termine lorsque n'importe quel futur se termine ou est annulé."
#: library/concurrent.futures.rst:469
#: library/concurrent.futures.rst:472
msgid ":const:`FIRST_EXCEPTION`"
msgstr ":const:`FIRST_EXCEPTION`"
#: library/concurrent.futures.rst:469
#: library/concurrent.futures.rst:472
msgid ""
"The function will return when any future finishes by raising an exception. "
"If no future raises an exception then it is equivalent to :const:"
@ -511,16 +514,16 @@ msgstr ""
"exception. Si aucun *futur* ne lève d'exception, équivaut à :const:"
"`ALL_COMPLETED`."
#: library/concurrent.futures.rst:475
#: library/concurrent.futures.rst:478
msgid ":const:`ALL_COMPLETED`"
msgstr ":const:`ALL_COMPLETED`"
#: library/concurrent.futures.rst:475
#: library/concurrent.futures.rst:478
msgid "The function will return when all futures finish or are cancelled."
msgstr ""
"La fonction se termine lorsque les *futurs* sont tous finis ou annulés."
#: library/concurrent.futures.rst:481
#: library/concurrent.futures.rst:484
msgid ""
"Returns an iterator over the :class:`Future` instances (possibly created by "
"different :class:`Executor` instances) given by *fs* that yields futures as "
@ -533,55 +536,55 @@ msgid ""
"*timeout* is not specified or ``None``, there is no limit to the wait time."
msgstr ""
#: library/concurrent.futures.rst:495
#: library/concurrent.futures.rst:498
msgid ":pep:`3148` -- futures - execute computations asynchronously"
msgstr ""
#: library/concurrent.futures.rst:495
#: library/concurrent.futures.rst:498
msgid ""
"The proposal which described this feature for inclusion in the Python "
"standard library."
msgstr ""
#: library/concurrent.futures.rst:500
#: library/concurrent.futures.rst:503
msgid "Exception classes"
msgstr ""
#: library/concurrent.futures.rst:506
#: library/concurrent.futures.rst:509
msgid "Raised when a future is cancelled."
msgstr ""
#: library/concurrent.futures.rst:510
#: library/concurrent.futures.rst:513
msgid ""
"A deprecated alias of :exc:`TimeoutError`, raised when a future operation "
"exceeds the given timeout."
msgstr ""
#: library/concurrent.futures.rst:515
#: library/concurrent.futures.rst:518
msgid "This class was made an alias of :exc:`TimeoutError`."
msgstr ""
#: library/concurrent.futures.rst:520
#: library/concurrent.futures.rst:523
msgid ""
"Derived from :exc:`RuntimeError`, this exception class is raised when an "
"executor is broken for some reason, and cannot be used to submit or execute "
"new tasks."
msgstr ""
#: library/concurrent.futures.rst:528
#: library/concurrent.futures.rst:531
msgid ""
"Raised when an operation is performed on a future that is not allowed in the "
"current state."
msgstr ""
#: library/concurrent.futures.rst:537
#: library/concurrent.futures.rst:540
msgid ""
"Derived from :exc:`~concurrent.futures.BrokenExecutor`, this exception class "
"is raised when one of the workers of a :class:`ThreadPoolExecutor` has "
"failed initializing."
msgstr ""
#: library/concurrent.futures.rst:547
#: library/concurrent.futures.rst:550
msgid ""
"Derived from :exc:`~concurrent.futures.BrokenExecutor` (formerly :exc:"
"`RuntimeError`), this exception class is raised when one of the workers of "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-11-06 21:37+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -511,6 +511,12 @@ msgstr ""
#: library/contextlib.rst:505
msgid ""
"The :meth:`__enter__` method returns the :class:`ExitStack` instance, and "
"performs no additional operations."
msgstr ""
#: library/contextlib.rst:508
msgid ""
"Each instance maintains a stack of registered callbacks that are called in "
"reverse order when the instance is closed (either explicitly or implicitly "
"at the end of a :keyword:`with` statement). Note that callbacks are *not* "
@ -522,7 +528,7 @@ msgstr ""
"que ces fonctions ne sont *pas* invoquées implicitement quand l'instance de "
"la pile de contextes est collectée par le ramasse-miettes."
#: library/contextlib.rst:510
#: library/contextlib.rst:513
msgid ""
"This stack model is used so that context managers that acquire their "
"resources in their ``__init__`` method (such as file objects) can be handled "
@ -532,7 +538,7 @@ msgstr ""
"acquièrent leurs ressources dans leur méthode ``__init__`` (tels que les "
"objets-fichiers) puissent être gérés correctement."
#: library/contextlib.rst:514
#: library/contextlib.rst:517
msgid ""
"Since registered callbacks are invoked in the reverse order of registration, "
"this ends up behaving as if multiple nested :keyword:`with` statements had "
@ -548,7 +554,7 @@ msgstr ""
"de rappel intérieure supprime ou remplace une exception, alors les fonctions "
"extérieures reçoivent des arguments basés sur ce nouvel état."
#: library/contextlib.rst:521
#: library/contextlib.rst:524
msgid ""
"This is a relatively low level API that takes care of the details of "
"correctly unwinding the stack of exit callbacks. It provides a suitable "
@ -560,7 +566,7 @@ msgstr ""
"pour des gestionnaires de contexte de plus haut niveau qui manipulent la "
"pile de sortie de manière spécifique à l'application."
#: library/contextlib.rst:530
#: library/contextlib.rst:533
msgid ""
"Enters a new context manager and adds its :meth:`__exit__` method to the "
"callback stack. The return value is the result of the context manager's own :"
@ -570,7 +576,7 @@ msgstr ""
"`__exit__` à la pile d'appels. La valeur de retour est le résultat de la "
"méthode :meth:`__enter__` du gestionnaire de contexte donné."
#: library/contextlib.rst:534
#: library/contextlib.rst:537
msgid ""
"These context managers may suppress exceptions just as they normally would "
"if used directly as part of a :keyword:`with` statement."
@ -579,19 +585,19 @@ msgstr ""
"feraient normalement s'ils étaient utilisés directement derrière une "
"instruction :keyword:`with`."
#: library/contextlib.rst:537
#: library/contextlib.rst:540
msgid ""
"Raises :exc:`TypeError` instead of :exc:`AttributeError` if *cm* is not a "
"context manager."
msgstr ""
#: library/contextlib.rst:543
#: library/contextlib.rst:546
msgid "Adds a context manager's :meth:`__exit__` method to the callback stack."
msgstr ""
"Ajoute la méthode :meth:`__exit__` d'un gestionnaire de contexte à la pile "
"d'appels."
#: library/contextlib.rst:545
#: library/contextlib.rst:548
msgid ""
"As ``__enter__`` is *not* invoked, this method can be used to cover part of "
"an :meth:`__enter__` implementation with a context manager's own :meth:"
@ -601,7 +607,7 @@ msgstr ""
"pour couvrir une partie de l'implémentation de :meth:`__enter__` avec la "
"propre méthode :meth:`__exit__` d'un gestionnaire de contexte."
#: library/contextlib.rst:549
#: library/contextlib.rst:552
msgid ""
"If passed an object that is not a context manager, this method assumes it is "
"a callback with the same signature as a context manager's :meth:`__exit__` "
@ -612,7 +618,7 @@ msgstr ""
"meth:`__exit__` des gestionnaires de contexte pour l'ajouter directement à "
"la pile d'appels."
#: library/contextlib.rst:553
#: library/contextlib.rst:556
msgid ""
"By returning true values, these callbacks can suppress exceptions the same "
"way context manager :meth:`__exit__` methods can."
@ -621,7 +627,7 @@ msgstr ""
"exceptions de la même manière que le peuvent les méthodes :meth:`__exit__` "
"des gestionnaires de contexte."
#: library/contextlib.rst:556
#: library/contextlib.rst:559
msgid ""
"The passed in object is returned from the function, allowing this method to "
"be used as a function decorator."
@ -629,7 +635,7 @@ msgstr ""
"L'objet passé en paramètre est renvoyé par la fonction, ce qui permet à la "
"méthode d'être utilisée comme décorateur de fonction."
#: library/contextlib.rst:561
#: library/contextlib.rst:564
msgid ""
"Accepts an arbitrary callback function and arguments and adds it to the "
"callback stack."
@ -637,7 +643,7 @@ msgstr ""
"Accepte une fonction arbitraire et ses arguments et les ajoute à la pile des "
"fonctions de rappel."
#: library/contextlib.rst:564
#: library/contextlib.rst:567
msgid ""
"Unlike the other methods, callbacks added this way cannot suppress "
"exceptions (as they are never passed the exception details)."
@ -646,7 +652,7 @@ msgstr ""
"cette manière ne peuvent pas supprimer les exceptions (puisqu'elles ne "
"reçoivent jamais les détails de l'exception)."
#: library/contextlib.rst:567
#: library/contextlib.rst:570
msgid ""
"The passed in callback is returned from the function, allowing this method "
"to be used as a function decorator."
@ -654,7 +660,7 @@ msgstr ""
"La fonction passée en paramètre est renvoyée par la méthode, ce qui permet à "
"la méthode d'être utilisée comme décorateur de fonction."
#: library/contextlib.rst:572
#: library/contextlib.rst:575
msgid ""
"Transfers the callback stack to a fresh :class:`ExitStack` instance and "
"returns it. No callbacks are invoked by this operation - instead, they will "
@ -666,7 +672,7 @@ msgstr ""
"la place, elles sont dorénavant invoquées quand la nouvelle pile sera close "
"(soit explicitement soit implicitement à la fin d'un bloc :keyword:`with`)."
#: library/contextlib.rst:577
#: library/contextlib.rst:580
msgid ""
"For example, a group of files can be opened as an \"all or nothing\" "
"operation as follows::"
@ -674,7 +680,7 @@ msgstr ""
"Par exemple, un groupe de fichiers peut être ouvert comme une opération "
 tout ou rien » comme suit ::"
#: library/contextlib.rst:591
#: library/contextlib.rst:594
msgid ""
"Immediately unwinds the callback stack, invoking callbacks in the reverse "
"order of registration. For any context managers and exit callbacks "
@ -685,7 +691,7 @@ msgstr ""
"et fonction de sortie enregistré, les arguments passés indiqueront qu'aucune "
"exception n'est survenue."
#: library/contextlib.rst:598
#: library/contextlib.rst:601
msgid ""
"An :ref:`asynchronous context manager <async-context-managers>`, similar to :"
"class:`ExitStack`, that supports combining both synchronous and asynchronous "
@ -696,7 +702,7 @@ msgstr ""
"de contexte synchrones et asynchrones, ainsi que la gestion de coroutines "
"pour la logique de nettoyage."
#: library/contextlib.rst:603
#: library/contextlib.rst:606
msgid ""
"The :meth:`close` method is not implemented, :meth:`aclose` must be used "
"instead."
@ -704,20 +710,20 @@ msgstr ""
"La méthode :meth:`close` n'est pas implémentée, :meth:`aclose` doit plutôt "
"être utilisée."
#: library/contextlib.rst:608
#: library/contextlib.rst:611
msgid ""
"Similar to :meth:`enter_context` but expects an asynchronous context manager."
msgstr ""
"Similaire à :meth:`enter_context` mais attend un gestionnaire de contexte "
"asynchrone."
#: library/contextlib.rst:611
#: library/contextlib.rst:614
msgid ""
"Raises :exc:`TypeError` instead of :exc:`AttributeError` if *cm* is not an "
"asynchronous context manager."
msgstr ""
#: library/contextlib.rst:617
#: library/contextlib.rst:620
msgid ""
"Similar to :meth:`push` but expects either an asynchronous context manager "
"or a coroutine function."
@ -725,24 +731,24 @@ msgstr ""
"Similaire à :meth:`push` mais attend soit un gestionnaire de contexte "
"asynchrone soit une fonction coroutine."
#: library/contextlib.rst:622
#: library/contextlib.rst:625
msgid "Similar to :meth:`callback` but expects a coroutine function."
msgstr "Similaire à :meth:`callback` mais attend une fonction coroutine."
#: library/contextlib.rst:626
#: library/contextlib.rst:629
msgid "Similar to :meth:`close` but properly handles awaitables."
msgstr ""
"Similaire à :meth:`close` mais gère correctement les tâches asynchrones."
#: library/contextlib.rst:628
#: library/contextlib.rst:631
msgid "Continuing the example for :func:`asynccontextmanager`::"
msgstr "En continuité de l'exemple de :func:`asynccontextmanager` ::"
#: library/contextlib.rst:640
#: library/contextlib.rst:643
msgid "Examples and Recipes"
msgstr "Exemples et Recettes"
#: library/contextlib.rst:642
#: library/contextlib.rst:645
msgid ""
"This section describes some examples and recipes for making effective use of "
"the tools provided by :mod:`contextlib`."
@ -750,11 +756,11 @@ msgstr ""
"Cette section décrit quelques exemples et recettes pour décrire une "
"utilisation réelle des outils fournis par :mod:`contextlib`."
#: library/contextlib.rst:647
#: library/contextlib.rst:650
msgid "Supporting a variable number of context managers"
msgstr "Gérer un nombre variable de gestionnaires de contexte"
#: library/contextlib.rst:649
#: library/contextlib.rst:652
msgid ""
"The primary use case for :class:`ExitStack` is the one given in the class "
"documentation: supporting a variable number of context managers and other "
@ -771,7 +777,7 @@ msgstr ""
"collection spécifique de fichiers de l'utilisateur), ou de certains "
"gestionnaires de contexte qui peuvent être optionnels ::"
#: library/contextlib.rst:664
#: library/contextlib.rst:667
msgid ""
"As shown, :class:`ExitStack` also makes it quite easy to use :keyword:`with` "
"statements to manage arbitrary resources that don't natively support the "
@ -781,11 +787,11 @@ msgstr ""
"instructions :keyword:`with` pour gérer des ressources arbitraires qui ne "
"gèrent pas nativement le protocole des gestionnaires de contexte."
#: library/contextlib.rst:670
#: library/contextlib.rst:673
msgid "Catching exceptions from ``__enter__`` methods"
msgstr "Attraper des exceptions depuis les méthodes ``__enter__``"
#: library/contextlib.rst:672
#: library/contextlib.rst:675
msgid ""
"It is occasionally desirable to catch exceptions from an ``__enter__`` "
"method implementation, *without* inadvertently catching exceptions from the :"
@ -800,7 +806,7 @@ msgstr ""
"`ExitStack`, les étapes du protocole des gestionnaires de contexte peuvent "
"être légèrement séparées pour permettre le code suivant ::"
#: library/contextlib.rst:687
#: library/contextlib.rst:690
msgid ""
"Actually needing to do this is likely to indicate that the underlying API "
"should be providing a direct resource management interface for use with :"
@ -819,11 +825,11 @@ msgstr ""
"gestion de plusieurs situations qui ne peuvent pas être traitées directement "
"dans une instruction :keyword:`with`."
#: library/contextlib.rst:697
#: library/contextlib.rst:700
msgid "Cleaning up in an ``__enter__`` implementation"
msgstr "Nettoyer dans une méthode ``__enter__``"
#: library/contextlib.rst:699
#: library/contextlib.rst:702
msgid ""
"As noted in the documentation of :meth:`ExitStack.push`, this method can be "
"useful in cleaning up an already allocated resource if later steps in the :"
@ -833,7 +839,7 @@ msgstr ""
"peut être utile pour nettoyer une ressource déjà allouée si les dernières "
"étapes de l'implémentation de :meth:`__enter__` échouent."
#: library/contextlib.rst:703
#: library/contextlib.rst:706
msgid ""
"Here's an example of doing this for a context manager that accepts resource "
"acquisition and release functions, along with an optional validation "
@ -843,11 +849,11 @@ msgstr ""
"d'acquisition de ressources et de libération, avec une méthode de validation "
"optionnelle, et qui les adapte au protocole des gestionnaires de contexte ::"
#: library/contextlib.rst:743
#: library/contextlib.rst:746
msgid "Replacing any use of ``try-finally`` and flag variables"
msgstr "Remplacer un ``try-finally`` avec une option variable"
#: library/contextlib.rst:745
#: library/contextlib.rst:748
msgid ""
"A pattern you will sometimes see is a ``try-finally`` statement with a flag "
"variable to indicate whether or not the body of the ``finally`` clause "
@ -859,7 +865,7 @@ msgstr ""
"ou non. Dans sa forme la plus simple (qui ne peut pas déjà être gérée avec "
"juste une clause ``except``), cela ressemble à ::"
#: library/contextlib.rst:759
#: library/contextlib.rst:762
msgid ""
"As with any ``try`` statement based code, this can cause problems for "
"development and review, because the setup code and the cleanup code can end "
@ -870,7 +876,7 @@ msgstr ""
"codes d'installation et de nettoyage peuvent finir par être séparés par des "
"sections de code arbitrairement longues."
#: library/contextlib.rst:763
#: library/contextlib.rst:766
msgid ""
":class:`ExitStack` makes it possible to instead register a callback for "
"execution at the end of a ``with`` statement, and then later decide to skip "
@ -880,7 +886,7 @@ msgstr ""
"rappel pour être exécutée à la fin d'une instruction ``with``, et décider "
"ensuite de passer l'exécution de cet appel ::"
#: library/contextlib.rst:775
#: library/contextlib.rst:778
msgid ""
"This allows the intended cleanup up behaviour to be made explicit up front, "
"rather than requiring a separate flag variable."
@ -888,7 +894,7 @@ msgstr ""
"Cela permet de rendre explicite dès le départ le comportement de nettoyage "
"attendu, plutôt que de nécessiter une option séparée."
#: library/contextlib.rst:778
#: library/contextlib.rst:781
msgid ""
"If a particular application uses this pattern a lot, it can be simplified "
"even further by means of a small helper class::"
@ -896,7 +902,7 @@ msgstr ""
"Si une application particulière utilise beaucoup ce modèle, cela peut-être "
"simplifié encore plus au moyen d'une petite classe d'aide ::"
#: library/contextlib.rst:796
#: library/contextlib.rst:799
msgid ""
"If the resource cleanup isn't already neatly bundled into a standalone "
"function, then it is still possible to use the decorator form of :meth:"
@ -907,7 +913,7 @@ msgstr ""
"`ExitStack.callback` pour déclarer la fonction de nettoyage de ressource en "
"avance ::"
#: library/contextlib.rst:811
#: library/contextlib.rst:814
msgid ""
"Due to the way the decorator protocol works, a callback function declared "
"this way cannot take any parameters. Instead, any resources to be released "
@ -918,12 +924,12 @@ msgstr ""
"doivent être récupérées depuis l'extérieur comme des variables de fermeture "
"(*closure*)."
#: library/contextlib.rst:817
#: library/contextlib.rst:820
msgid "Using a context manager as a function decorator"
msgstr ""
"Utiliser un gestionnaire de contexte en tant que décorateur de fonction"
#: library/contextlib.rst:819
#: library/contextlib.rst:822
msgid ""
":class:`ContextDecorator` makes it possible to use a context manager in both "
"an ordinary ``with`` statement and also as a function decorator."
@ -932,7 +938,7 @@ msgstr ""
"contexte à la fois ordinairement avec une instruction ``with`` ou comme un "
"décorateur de fonction."
#: library/contextlib.rst:822
#: library/contextlib.rst:825
msgid ""
"For example, it is sometimes useful to wrap functions or groups of "
"statements with a logger that can track the time of entry and time of exit. "
@ -947,17 +953,17 @@ msgstr ""
"`ContextDecorator` fournit les deux fonctionnalités en une seule "
"définition ::"
#: library/contextlib.rst:843
#: library/contextlib.rst:846
msgid "Instances of this class can be used as both a context manager::"
msgstr ""
"Les instances de cette classe peuvent être utilisées comme gestionnaires de "
"contexte ::"
#: library/contextlib.rst:849
#: library/contextlib.rst:852
msgid "And also as a function decorator::"
msgstr "Et comme décorateurs de fonctions ::"
#: library/contextlib.rst:856
#: library/contextlib.rst:859
msgid ""
"Note that there is one additional limitation when using context managers as "
"function decorators: there's no way to access the return value of :meth:"
@ -969,11 +975,11 @@ msgstr ""
"de retour de :meth:`__enter__`. Si cette valeur est nécessaire, il faut "
"utiliser explicitement une instruction ``with``."
#: library/contextlib.rst:864
#: library/contextlib.rst:867
msgid ":pep:`343` - The \"with\" statement"
msgstr ":pep:`343` - The \"with\" statement"
#: library/contextlib.rst:864
#: library/contextlib.rst:867
msgid ""
"The specification, background, and examples for the Python :keyword:`with` "
"statement."
@ -981,11 +987,11 @@ msgstr ""
"La spécification, les motivations et des exemples de l'instruction :keyword:"
"`with` en Python."
#: library/contextlib.rst:870
#: library/contextlib.rst:873
msgid "Single use, reusable and reentrant context managers"
msgstr "Gestionnaires de contexte à usage unique, réutilisables et réentrants"
#: library/contextlib.rst:872
#: library/contextlib.rst:875
msgid ""
"Most context managers are written in a way that means they can only be used "
"effectively in a :keyword:`with` statement once. These single use context "
@ -998,7 +1004,7 @@ msgstr ""
"chaque fois qu'ils sont utilisés — tenter de les utiliser une seconde fois "
"lève une exception ou ne fonctionne pas correctement."
#: library/contextlib.rst:878
#: library/contextlib.rst:881
msgid ""
"This common limitation means that it is generally advisable to create "
"context managers directly in the header of the :keyword:`with` statement "
@ -1009,7 +1015,7 @@ msgstr ""
"`with` où ils sont utilisés (comme montré dans tous les exemples "
"d'utilisation au-dessus)."
#: library/contextlib.rst:882
#: library/contextlib.rst:885
msgid ""
"Files are an example of effectively single use context managers, since the "
"first :keyword:`with` statement will close the file, preventing any further "
@ -1020,7 +1026,7 @@ msgstr ""
"`with` ferme le fichier, empêchant d'autres opérations d'entrée/sortie "
"d'être exécutées sur ce fichier."
#: library/contextlib.rst:886
#: library/contextlib.rst:889
msgid ""
"Context managers created using :func:`contextmanager` are also single use "
"context managers, and will complain about the underlying generator failing "
@ -1030,11 +1036,11 @@ msgstr ""
"usage unique, et se plaindront du fait que le générateur sous-jacent ne "
"produise plus de valeur si vous essayez de les utiliser une seconde fois ::"
#: library/contextlib.rst:914
#: library/contextlib.rst:917
msgid "Reentrant context managers"
msgstr "Gestionnaires de contexte réentrants"
#: library/contextlib.rst:916
#: library/contextlib.rst:919
msgid ""
"More sophisticated context managers may be \"reentrant\". These context "
"managers can not only be used in multiple :keyword:`with` statements, but "
@ -1047,7 +1053,7 @@ msgstr ""
"l'intérieur* d'une instruction :keyword:`!with` qui utilise déjà ce même "
"gestionnaire de contexte."
#: library/contextlib.rst:921
#: library/contextlib.rst:924
#, fuzzy
msgid ""
":class:`threading.RLock` is an example of a reentrant context manager, as "
@ -1058,7 +1064,7 @@ msgstr ""
"réentrant, comme le sont aussi :func:`suppress` et :func:`redirect_stdout`. "
"Voici un très simple exemple d'utilisation réentrante ::"
#: library/contextlib.rst:940
#: library/contextlib.rst:943
msgid ""
"Real world examples of reentrancy are more likely to involve multiple "
"functions calling each other and hence be far more complicated than this "
@ -1068,7 +1074,7 @@ msgstr ""
"fonctions s'entre-appelant, et donc être bien plus compliqués que cet "
"exemple."
#: library/contextlib.rst:944
#: library/contextlib.rst:947
msgid ""
"Note also that being reentrant is *not* the same thing as being thread "
"safe. :func:`redirect_stdout`, for example, is definitely not thread safe, "
@ -1080,11 +1086,11 @@ msgstr ""
"puisqu'il effectue des changements globaux sur l'état du système en "
"branchant :data:`sys.stdout` sur différents flux."
#: library/contextlib.rst:953
#: library/contextlib.rst:956
msgid "Reusable context managers"
msgstr "Gestionnaires de contexte réutilisables"
#: library/contextlib.rst:955
#: library/contextlib.rst:958
msgid ""
"Distinct from both single use and reentrant context managers are "
"\"reusable\" context managers (or, to be completely explicit, \"reusable, "
@ -1102,7 +1108,7 @@ msgstr ""
"contexte référencée a déjà été utilisée dans une instruction *with* "
"englobante."
#: library/contextlib.rst:962
#: library/contextlib.rst:965
msgid ""
":class:`threading.Lock` is an example of a reusable, but not reentrant, "
"context manager (for a reentrant lock, it is necessary to use :class:"
@ -1112,7 +1118,7 @@ msgstr ""
"réutilisable mais pas réentrant (pour un verrou réentrant, il faut à la "
"place utiliser :class:`threading.RLock`)."
#: library/contextlib.rst:966
#: library/contextlib.rst:969
msgid ""
"Another example of a reusable, but not reentrant, context manager is :class:"
"`ExitStack`, as it invokes *all* currently registered callbacks when leaving "
@ -1123,7 +1129,7 @@ msgstr ""
"actuellement enregistrées en quittant l'instruction *with*, sans regarder où "
"ces fonctions ont été ajoutées ::"
#: library/contextlib.rst:997
#: library/contextlib.rst:1000
msgid ""
"As the output from the example shows, reusing a single stack object across "
"multiple with statements works correctly, but attempting to nest them will "
@ -1135,7 +1141,7 @@ msgstr ""
"imbriquer fait que la pile est vidée à la fin du *with* le plus imbriqué, ce "
"qui n'est probablement pas le comportement voulu."
#: library/contextlib.rst:1002
#: library/contextlib.rst:1005
msgid ""
"Using separate :class:`ExitStack` instances instead of reusing a single "
"instance avoids that problem::"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -23,12 +23,14 @@ msgstr ""
msgid "**Source code:** :source:`Lib/crypt.py`"
msgstr "**Code source :** :source:`Lib/pty.py`"
#: library/crypt.rst:19
#, fuzzy
msgid "The :mod:`crypt` module is deprecated (see :pep:`594` for details)."
msgstr "Le module :mod:`pty` expose les fonctions suivantes :"
#: library/crypt.rst:23
msgid ""
"The :mod:`crypt` module is deprecated (see :pep:`PEP 594 <594#crypt>` for "
"details and alternatives). The :mod:`hashlib` module is a potential "
"replacement for certain use cases."
msgstr ""
#: library/crypt.rst:24
#: library/crypt.rst:26
msgid ""
"This module implements an interface to the :manpage:`crypt(3)` routine, "
"which is a one-way hash function based upon a modified DES algorithm; see "
@ -37,7 +39,7 @@ msgid ""
"attempting to crack Unix passwords with a dictionary."
msgstr ""
#: library/crypt.rst:32
#: library/crypt.rst:34
msgid ""
"Notice that the behavior of this module depends on the actual "
"implementation of the :manpage:`crypt(3)` routine in the running system. "
@ -45,87 +47,87 @@ msgid ""
"be available on this module."
msgstr ""
#: library/crypt.rst:38
#: library/crypt.rst:40
msgid ":ref:`Availability <availability>`: Unix. Not available on VxWorks."
msgstr ""
#: library/crypt.rst:40
#: library/crypt.rst:42
msgid "Hashing Methods"
msgstr ""
#: library/crypt.rst:44
#: library/crypt.rst:46
msgid ""
"The :mod:`crypt` module defines the list of hashing methods (not all methods "
"are available on all platforms):"
msgstr ""
#: library/crypt.rst:49
#: library/crypt.rst:51
msgid ""
"A Modular Crypt Format method with 16 character salt and 86 character hash "
"based on the SHA-512 hash function. This is the strongest method."
msgstr ""
#: library/crypt.rst:54
#: library/crypt.rst:56
msgid ""
"Another Modular Crypt Format method with 16 character salt and 43 character "
"hash based on the SHA-256 hash function."
msgstr ""
#: library/crypt.rst:59
#: library/crypt.rst:61
msgid ""
"Another Modular Crypt Format method with 22 character salt and 31 character "
"hash based on the Blowfish cipher."
msgstr ""
#: library/crypt.rst:66
#: library/crypt.rst:68
msgid ""
"Another Modular Crypt Format method with 8 character salt and 22 character "
"hash based on the MD5 hash function."
msgstr ""
#: library/crypt.rst:71
#: library/crypt.rst:73
msgid ""
"The traditional method with a 2 character salt and 13 characters of hash. "
"This is the weakest method."
msgstr ""
#: library/crypt.rst:76
#: library/crypt.rst:78
msgid "Module Attributes"
msgstr ""
#: library/crypt.rst:82
#: library/crypt.rst:84
msgid ""
"A list of available password hashing algorithms, as ``crypt.METHOD_*`` "
"objects. This list is sorted from strongest to weakest."
msgstr ""
#: library/crypt.rst:88
#: library/crypt.rst:90
msgid "Module Functions"
msgstr ""
#: library/crypt.rst:90
#: library/crypt.rst:92
#, fuzzy
msgid "The :mod:`crypt` module defines the following functions:"
msgstr "Le module :mod:`pty` expose les fonctions suivantes :"
#: library/crypt.rst:94
#: library/crypt.rst:96
msgid ""
"*word* will usually be a user's password as typed at a prompt or in a "
"graphical interface. The optional *salt* is either a string as returned "
"from :func:`mksalt`, one of the ``crypt.METHOD_*`` values (though not all "
"may be available on all platforms), or a full encrypted password including "
"salt, as returned by this function. If *salt* is not provided, the "
"strongest method will be used (as returned by :func:`methods`)."
"strongest method available in :attr:`methods` will be used."
msgstr ""
#: library/crypt.rst:102
#: library/crypt.rst:103
msgid ""
"Checking a password is usually done by passing the plain-text password as "
"*word* and the full results of a previous :func:`crypt` call, which should "
"be the same as the results of this call."
msgstr ""
#: library/crypt.rst:106
#: library/crypt.rst:107
msgid ""
"*salt* (either a random 2 or 16 character string, possibly prefixed with "
"``$digit$`` to indicate the method) which will be used to perturb the "
@ -134,36 +136,36 @@ msgid ""
"``$digit$``."
msgstr ""
#: library/crypt.rst:112
#: library/crypt.rst:113
msgid ""
"Returns the hashed password as a string, which will be composed of "
"characters from the same alphabet as the salt."
msgstr ""
#: library/crypt.rst:117
#: library/crypt.rst:118
msgid ""
"Since a few :manpage:`crypt(3)` extensions allow different values, with "
"different sizes in the *salt*, it is recommended to use the full crypted "
"password as salt when checking for a password."
msgstr ""
#: library/crypt.rst:121
#: library/crypt.rst:122
msgid "Accept ``crypt.METHOD_*`` values in addition to strings for *salt*."
msgstr ""
#: library/crypt.rst:127
#: library/crypt.rst:128
msgid ""
"Return a randomly generated salt of the specified method. If no *method* is "
"given, the strongest method available as returned by :func:`methods` is used."
"given, the strongest method available in :attr:`methods` is used."
msgstr ""
#: library/crypt.rst:131
#: library/crypt.rst:132
msgid ""
"The return value is a string suitable for passing as the *salt* argument to :"
"func:`crypt`."
msgstr ""
#: library/crypt.rst:134
#: library/crypt.rst:135
msgid ""
"*rounds* specifies the number of rounds for ``METHOD_SHA256``, "
"``METHOD_SHA512`` and ``METHOD_BLOWFISH``. For ``METHOD_SHA256`` and "
@ -173,23 +175,27 @@ msgid ""
"sup:`31`), the default is ``4096`` (2\\ :sup:`12`)."
msgstr ""
#: library/crypt.rst:144
#: library/crypt.rst:145
msgid "Added the *rounds* parameter."
msgstr ""
#: library/crypt.rst:149
#: library/crypt.rst:150
msgid "Examples"
msgstr "Exemples"
#: library/crypt.rst:151
#: library/crypt.rst:152
msgid ""
"A simple example illustrating typical use (a constant-time comparison "
"operation is needed to limit exposure to timing attacks. :func:`hmac."
"compare_digest` is suitable for this purpose)::"
msgstr ""
#: library/crypt.rst:171
#: library/crypt.rst:172
msgid ""
"To generate a hash of a password using the strongest available method and "
"check it against the original::"
msgstr ""
#, fuzzy
#~ msgid "The :mod:`crypt` module is deprecated (see :pep:`594` for details)."
#~ msgstr "Le module :mod:`pty` expose les fonctions suivantes :"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-01-27 19:45+0100\n"
"Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -771,11 +771,12 @@ msgid "The corresponding simplest possible writing example is::"
msgstr "Le plus simple exemple d'écriture correspondant est ::"
#: library/csv.rst:543
#, fuzzy
msgid ""
"Since :func:`open` is used to open a CSV file for reading, the file will by "
"default be decoded into unicode using the system default encoding (see :func:"
"`locale.getpreferredencoding`). To decode a file using a different "
"encoding, use the ``encoding`` argument of open::"
"`locale.getencoding`). To decode a file using a different encoding, use the "
"``encoding`` argument of open::"
msgstr ""
"Puisque :func:`open` est utilisée pour ouvrir un fichier CSV en lecture, le "
"fichier sera par défaut décodé vers Unicode en utilisant l'encodage par "

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-10-28 11:44+0200\n"
"Last-Translator: David GIRAUD <davidgiraud@protonmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -356,13 +356,21 @@ msgstr ""
#: library/dataclasses.rst:201
msgid ""
"``weakref_slot``: If true (the default is ``False``), add a slot named "
"\"__weakref__\", which is required to make an instance weakref-able. It is "
"an error to specify ``weakref_slot=True`` without also specifying "
"``slots=True``."
msgstr ""
#: library/dataclasses.rst:208
msgid ""
"``field``\\s may optionally specify a default value, using normal Python "
"syntax::"
msgstr ""
"Les champs peuvent éventuellement préciser une valeur par défaut, en "
"utilisant la syntaxe Python normale ::"
#: library/dataclasses.rst:209
#: library/dataclasses.rst:216
msgid ""
"In this example, both ``a`` and ``b`` will be included in the added :meth:"
"`__init__` method, which will be defined as::"
@ -370,7 +378,7 @@ msgstr ""
"Dans cet exemple, ``a`` et ``b`` sont tous deux inclus dans la signature de "
"la méthode générée :meth:`__init__`, qui est définie comme suit ::"
#: library/dataclasses.rst:214
#: library/dataclasses.rst:221
msgid ""
":exc:`TypeError` will be raised if a field without a default value follows a "
"field with a default value. This is true whether this occurs in a single "
@ -380,7 +388,7 @@ msgstr ""
"après un champ avec une valeur par défaut. Cest le cas que ce soit dans "
"une seule classe ou si cest le résultat dun héritage de classes."
#: library/dataclasses.rst:220
#: library/dataclasses.rst:227
msgid ""
"For common and simple use cases, no other functionality is required. There "
"are, however, some dataclass features that require additional per-field "
@ -394,7 +402,7 @@ msgstr ""
"remplir ces métadonnées, il suffit de mettre un appel à la fonction :func:"
"`field` à la place de la valeur par défaut, comme dans cet exemple :"
#: library/dataclasses.rst:233
#: library/dataclasses.rst:240
msgid ""
"As shown above, the :const:`MISSING` value is a sentinel object used to "
"detect if some parameters are provided by the user. This sentinel is used "
@ -408,11 +416,11 @@ msgstr ""
"`MISSING` est interne au module et ne doit pas être utilisée dans vos "
"programmes."
#: library/dataclasses.rst:238
#: library/dataclasses.rst:245
msgid "The parameters to :func:`field` are:"
msgstr "Les paramètres de :func:`field` sont :"
#: library/dataclasses.rst:240
#: library/dataclasses.rst:247
msgid ""
"``default``: If provided, this will be the default value for this field. "
"This is needed because the :meth:`field` call itself replaces the normal "
@ -422,7 +430,7 @@ msgstr ""
"L'appel à :meth:`field` est mis à la place normale de la valeur par défaut, "
"d'où la nécessité de ce paramètre."
#: library/dataclasses.rst:244
#: library/dataclasses.rst:251
msgid ""
"``default_factory``: If provided, it must be a zero-argument callable that "
"will be called when a default value is needed for this field. Among other "
@ -436,7 +444,7 @@ msgstr ""
"les valeurs par défaut sont muables. Une erreur se produit si *default* et "
"*default_factory* sont donnés tous les deux."
#: library/dataclasses.rst:250
#: library/dataclasses.rst:257
msgid ""
"``init``: If true (the default), this field is included as a parameter to "
"the generated :meth:`__init__` method."
@ -444,7 +452,7 @@ msgstr ""
"*init* : si vrai (par défaut), la méthode :meth:`__init__` générée possède "
"un paramètre correspondant à ce champ."
#: library/dataclasses.rst:253
#: library/dataclasses.rst:260
msgid ""
"``repr``: If true (the default), this field is included in the string "
"returned by the generated :meth:`__repr__` method."
@ -452,7 +460,7 @@ msgstr ""
"*repr* : si vrai (par défaut), le champ est inclus dans les chaînes "
"construites par la méthode :meth:`__repr__` générée."
#: library/dataclasses.rst:256
#: library/dataclasses.rst:263
msgid ""
"``hash``: This can be a bool or ``None``. If true, this field is included "
"in the generated :meth:`__hash__` method. If ``None`` (the default), use "
@ -467,7 +475,7 @@ msgstr ""
"hachage les champs employés pour les comparaisons. Il est déconseillé de "
"mettre ce paramètre à autre chose que ``None``."
#: library/dataclasses.rst:263
#: library/dataclasses.rst:270
msgid ""
"One possible reason to set ``hash=False`` but ``compare=True`` would be if a "
"field is expensive to compute a hash value for, that field is needed for "
@ -482,7 +490,7 @@ msgstr ""
"moment, on peut alors se passer du champ dans le hachage tout en le faisant "
"participer aux comparaisons."
#: library/dataclasses.rst:269
#: library/dataclasses.rst:276
msgid ""
"``compare``: If true (the default), this field is included in the generated "
"equality and comparison methods (:meth:`__eq__`, :meth:`__gt__`, et al.)."
@ -491,7 +499,7 @@ msgstr ""
"comparaisons d'égalité et d'inégalité dans les méthodes générées :meth:"
"`__eq__`, :meth:`__gt__`, etc."
#: library/dataclasses.rst:273
#: library/dataclasses.rst:280
msgid ""
"``metadata``: This can be a mapping or None. None is treated as an empty "
"dict. This value is wrapped in :func:`~types.MappingProxyType` to make it "
@ -505,7 +513,7 @@ msgstr ""
"tableau associatif devient accessible sur l'objet :class:`Field`, sous la "
"forme d'un :func:`~types.MappingProxyType` afin qu'il soit en lecture seule."
#: library/dataclasses.rst:281
#: library/dataclasses.rst:288
msgid ""
"``kw_only``: If true, this field will be marked as keyword-only. This is "
"used when the generated :meth:`__init__` method's parameters are computed."
@ -514,7 +522,7 @@ msgstr ""
"est utilisé lors du traitement des paramètres de la méthode :meth:`__init__` "
"générée."
#: library/dataclasses.rst:287
#: library/dataclasses.rst:294
msgid ""
"If the default value of a field is specified by a call to :func:`field()`, "
"then the class attribute for this field will be replaced by the specified "
@ -532,7 +540,7 @@ msgstr ""
"des champs exactement comme si elles avaient été définies directement. Par "
"exemple :"
#: library/dataclasses.rst:303
#: library/dataclasses.rst:310
msgid ""
"The class attribute ``C.z`` will be ``10``, the class attribute ``C.t`` will "
"be ``20``, and the class attributes ``C.x`` and ``C.y`` will not be set."
@ -541,7 +549,7 @@ msgstr ""
"l'attribut ``C.t`` vaut ``20``, alors que les attributs ``C.x`` et ``C.y`` "
"n'existent pas."
#: library/dataclasses.rst:309
#: library/dataclasses.rst:316
msgid ""
":class:`Field` objects describe each defined field. These objects are "
"created internally, and are returned by the :func:`fields` module-level "
@ -554,15 +562,15 @@ msgstr ""
"instancier un objet :class:`Field` eux-mêmes. Les attributs documentés sont "
"les suivants :"
#: library/dataclasses.rst:314
#: library/dataclasses.rst:321
msgid "``name``: The name of the field."
msgstr "*name* : le nom du champ ;"
#: library/dataclasses.rst:316
#: library/dataclasses.rst:323
msgid "``type``: The type of the field."
msgstr "*type* : le type associé au champ par l'annotation ;"
#: library/dataclasses.rst:318
#: library/dataclasses.rst:325
msgid ""
"``default``, ``default_factory``, ``init``, ``repr``, ``hash``, ``compare``, "
"``metadata``, and ``kw_only`` have the identical meaning and values as they "
@ -572,7 +580,7 @@ msgstr ""
"et *kw_only* qui correspondent aux paramètres de :func:`field` et en "
"prennent les valeurs."
#: library/dataclasses.rst:322
#: library/dataclasses.rst:329
msgid ""
"Other attributes may exist, but they are private and must not be inspected "
"or relied on."
@ -580,7 +588,7 @@ msgstr ""
"D'autres attributs peuvent exister, mais ils sont privés et ne sont pas "
"censés être inspectés. Le code ne doit jamais reposer sur eux."
#: library/dataclasses.rst:327
#: library/dataclasses.rst:334
msgid ""
"Returns a tuple of :class:`Field` objects that define the fields for this "
"dataclass. Accepts either a dataclass, or an instance of a dataclass. "
@ -593,7 +601,7 @@ msgstr ""
"telle classe ; si ce n'est pas le cas, une exception :exc:`TypeError` est "
"levée."
#: library/dataclasses.rst:334
#: library/dataclasses.rst:341
#, fuzzy
msgid ""
"Converts the dataclass ``obj`` to a dict (by using the factory function "
@ -608,15 +616,15 @@ msgstr ""
"convertir récursivement toutes les instances de classes de données qu'ils "
"contiennent. Voici un exemple :"
#: library/dataclasses.rst:340
#: library/dataclasses.rst:347
msgid "Example of using :func:`asdict` on nested dataclasses::"
msgstr ""
#: library/dataclasses.rst:377
#: library/dataclasses.rst:384
msgid "To create a shallow copy, the following workaround may be used::"
msgstr ""
#: library/dataclasses.rst:361
#: library/dataclasses.rst:368
#, fuzzy
msgid ""
":func:`asdict` raises :exc:`TypeError` if ``obj`` is not a dataclass "
@ -625,7 +633,7 @@ msgstr ""
"Lève :exc:`TypeError` si *instance* n'est pas une instance d'une classe de "
"données."
#: library/dataclasses.rst:366
#: library/dataclasses.rst:373
#, fuzzy
msgid ""
"Converts the dataclass ``obj`` to a tuple (by using the factory function "
@ -638,11 +646,11 @@ msgstr ""
"*tuple_factory*. Cette fonction agit récursivement sur les dictionnaires, "
"listes, *n*-uplets et instances de classes de données."
#: library/dataclasses.rst:372
#: library/dataclasses.rst:379
msgid "Continuing from the previous example::"
msgstr "Pour continuer l'exemple précédent :"
#: library/dataclasses.rst:381
#: library/dataclasses.rst:388
#, fuzzy
msgid ""
":func:`astuple` raises :exc:`TypeError` if ``obj`` is not a dataclass "
@ -651,7 +659,8 @@ msgstr ""
"Lève :exc:`TypeError` si *instance* n'est pas une instance d'une classe de "
"données."
#: library/dataclasses.rst:386
#: library/dataclasses.rst:393
#, fuzzy
msgid ""
"Creates a new dataclass with name ``cls_name``, fields as defined in "
"``fields``, base classes as given in ``bases``, and initialized with a "
@ -659,8 +668,8 @@ msgid ""
"elements are each either ``name``, ``(name, type)``, or ``(name, type, "
"Field)``. If just ``name`` is supplied, ``typing.Any`` is used for "
"``type``. The values of ``init``, ``repr``, ``eq``, ``order``, "
"``unsafe_hash``, ``frozen``, ``match_args``, ``kw_only``, and ``slots`` "
"have the same meaning as they do in :func:`dataclass`."
"``unsafe_hash``, ``frozen``, ``match_args``, ``kw_only``, ``slots``, and "
"``weakref_slot`` have the same meaning as they do in :func:`dataclass`."
msgstr ""
"Crée une nouvelle classe de données avec le nom *cls_name*. Les champs "
"proviennent de l'objet itérable *fields*. Les classes mères sont lues dans "
@ -672,7 +681,7 @@ msgstr ""
"*march_args*, *kw_only* et *slots*, sont les mêmes que dans :func:"
"`dataclass`."
#: library/dataclasses.rst:396
#: library/dataclasses.rst:403
msgid ""
"This function is not strictly required, because any Python mechanism for "
"creating a new class with ``__annotations__`` can then apply the :func:"
@ -684,11 +693,11 @@ msgstr ""
"``__annotation__`` et de lui appliquer la fonction :func:`dataclass`, qui la "
"convertit en une classe de données. Par exemple, ceci :"
#: library/dataclasses.rst:408
#: library/dataclasses.rst:415
msgid "Is equivalent to::"
msgstr "est équivalent à ::"
#: library/dataclasses.rst:421
#: library/dataclasses.rst:428
#, fuzzy
msgid ""
"Creates a new object of the same type as ``obj``, replacing fields with "
@ -702,7 +711,7 @@ msgstr ""
"est levée. De même, si une clé dans *changes* ne correspond à aucun champ de "
"l'instance, :exc:`TypeError` est levée."
#: library/dataclasses.rst:426
#: library/dataclasses.rst:433
msgid ""
"The newly returned object is created by calling the :meth:`__init__` method "
"of the dataclass. This ensures that :meth:`__post_init__`, if present, is "
@ -712,7 +721,7 @@ msgstr ""
"classe de données, ce qui garantit que :meth:`__post_init__` est appelée (si "
"elle existe)."
#: library/dataclasses.rst:430
#: library/dataclasses.rst:437
msgid ""
"Init-only variables without default values, if any exist, must be specified "
"on the call to :func:`replace` so that they can be passed to :meth:"
@ -722,7 +731,7 @@ msgstr ""
"il faut l'inclure dans l'appel à :func:`replace` afin qu'il soit passé à :"
"meth:`__init__` et :meth:`__post_init__`."
#: library/dataclasses.rst:434
#: library/dataclasses.rst:441
msgid ""
"It is an error for ``changes`` to contain any fields that are defined as "
"having ``init=False``. A :exc:`ValueError` will be raised in this case."
@ -730,7 +739,7 @@ msgstr ""
"Si une clé de *changes* correspond à un champ défini avec ``init=False``, :"
"exc:`ValueError` est levée."
#: library/dataclasses.rst:438
#: library/dataclasses.rst:445
msgid ""
"Be forewarned about how ``init=False`` fields work during a call to :func:"
"`replace`. They are not copied from the source object, but rather are "
@ -748,7 +757,7 @@ msgstr ""
"instances par des constructeurs de classe alternatifs, ou bien une méthode "
"personnalisée ``replace()`` (ou un nom similaire)."
#: library/dataclasses.rst:449
#: library/dataclasses.rst:456
msgid ""
"Return ``True`` if its parameter is a dataclass or an instance of one, "
"otherwise return ``False``."
@ -756,7 +765,7 @@ msgstr ""
"Renvoie ``True`` si l'argument est soit une classe de données, soit une "
"instance d'une telle classe. Sinon, renvoie ``False``."
#: library/dataclasses.rst:452
#: library/dataclasses.rst:459
msgid ""
"If you need to know if a class is an instance of a dataclass (and not a "
"dataclass itself), then add a further check for ``not isinstance(obj, "
@ -766,13 +775,13 @@ msgstr ""
"non pas lui-même une classe de données, ajoutez le test ``not "
"isinstance(obj, type)`` ::"
#: library/dataclasses.rst:461
#: library/dataclasses.rst:468
msgid "A sentinel value signifying a missing default or default_factory."
msgstr ""
"Une valeur sentinelle pour dénoter l'absence de *default* ou "
"*default_factory*."
#: library/dataclasses.rst:465
#: library/dataclasses.rst:472
msgid ""
"A sentinel value used as a type annotation. Any fields after a pseudo-field "
"with the type of :const:`KW_ONLY` are marked as keyword-only fields. Note "
@ -791,14 +800,14 @@ msgstr ""
"exclusivement nommés doivent être spécifiés par leur nom lors de "
"l'instanciation de la classe."
#: library/dataclasses.rst:474
#: library/dataclasses.rst:481
msgid ""
"In this example, the fields ``y`` and ``z`` will be marked as keyword-only "
"fields::"
msgstr ""
"Dans cette exemple ``y`` et ``z`` sont marqués comme exclusivement nommés ::"
#: library/dataclasses.rst:485
#: library/dataclasses.rst:492
msgid ""
"In a single dataclass, it is an error to specify more than one field whose "
"type is :const:`KW_ONLY`."
@ -806,7 +815,7 @@ msgstr ""
"Une erreur est levée s'il y a plus d'un champ de type :const:`KW_ONLY` dans "
"une unique classe de données."
#: library/dataclasses.rst:492
#: library/dataclasses.rst:499
msgid ""
"Raised when an implicitly defined :meth:`__setattr__` or :meth:`__delattr__` "
"is called on a dataclass which was defined with ``frozen=True``. It is a "
@ -816,11 +825,11 @@ msgstr ""
"`__setattr__` ou :meth:`__delattr__` définie implicitement est appelée dans "
"une classe de données définie avec ``frozen=True``."
#: library/dataclasses.rst:497
#: library/dataclasses.rst:504
msgid "Post-init processing"
msgstr "Post-initialisation"
#: library/dataclasses.rst:499
#: library/dataclasses.rst:506
msgid ""
"The generated :meth:`__init__` code will call a method named :meth:"
"`__post_init__`, if :meth:`__post_init__` is defined on the class. It will "
@ -837,7 +846,7 @@ msgstr ""
"qu'elles ont été fournies à :meth:`__init__`. Si la classe est créée avec "
"``init=False``, :meth:`__post_init__` n'est jamais appelée automatiquement."
#: library/dataclasses.rst:507
#: library/dataclasses.rst:514
msgid ""
"Among other uses, this allows for initializing field values that depend on "
"one or more other fields. For example::"
@ -845,7 +854,7 @@ msgstr ""
"Cette méthode permet, entre autres, d'initialiser des champs qui dépendent "
"d'autres champs. Par exemple :"
#: library/dataclasses.rst:519
#: library/dataclasses.rst:526
msgid ""
"The :meth:`__init__` method generated by :func:`dataclass` does not call "
"base class :meth:`__init__` methods. If the base class has an :meth:"
@ -857,7 +866,7 @@ msgstr ""
"`dataclass`. S'il faut appeler ces méthodes :meth:`__init__`, il est courant "
"de le faire dans :meth:`__post_init__` :"
#: library/dataclasses.rst:536
#: library/dataclasses.rst:543
msgid ""
"Note, however, that in general the dataclass-generated :meth:`__init__` "
"methods don't need to be called, since the derived dataclass will take care "
@ -868,7 +877,7 @@ msgstr ""
"classe de données, car la classe fille initialise elle-même les champs "
"apportés par toute classe mère qui est aussi une classe de données."
#: library/dataclasses.rst:540
#: library/dataclasses.rst:547
msgid ""
"See the section below on init-only variables for ways to pass parameters to :"
"meth:`__post_init__`. Also see the warning about how :func:`replace` "
@ -879,11 +888,11 @@ msgstr ""
"l'avertissement sur le traitement par :func:`replace` des champs définis "
"avec ``init=False``."
#: library/dataclasses.rst:545
#: library/dataclasses.rst:552
msgid "Class variables"
msgstr "Variables de classe"
#: library/dataclasses.rst:547
#: library/dataclasses.rst:554
msgid ""
"One of two places where :func:`dataclass` actually inspects the type of a "
"field is to determine if a field is a class variable as defined in :pep:"
@ -899,11 +908,11 @@ msgstr ""
"complètement ignorés du point de vue des classes de données. Ils "
"n'apparaissent pas dans le résultat de :func:`fields`."
#: library/dataclasses.rst:556
#: library/dataclasses.rst:563
msgid "Init-only variables"
msgstr "Variables d'initialisation"
#: library/dataclasses.rst:558
#: library/dataclasses.rst:565
msgid ""
"The other place where :func:`dataclass` inspects a type annotation is to "
"determine if a field is an init-only variable. It does this by seeing if "
@ -922,7 +931,7 @@ msgstr ""
"Leurs valeurs sont passées à :meth:`__post_init__`, si cette méthode existe. "
"C'est la seule manière dont elles sont utilisées."
#: library/dataclasses.rst:568
#: library/dataclasses.rst:575
msgid ""
"For example, suppose a field will be initialized from a database, if a value "
"is not provided when creating the class::"
@ -930,7 +939,7 @@ msgstr ""
"On peut par exemple imaginer un champ initialisé à partir d'une base de "
"données s'il n'a pas reçu de valeur explicite :"
#: library/dataclasses.rst:583
#: library/dataclasses.rst:590
msgid ""
"In this case, :func:`fields` will return :class:`Field` objects for ``i`` "
"and ``j``, but not for ``database``."
@ -938,11 +947,11 @@ msgstr ""
"Ici, :func:`fields` renvoie des objets :class:`Field` correspondant à ``i`` "
"et à ``j``, mais pas à ``database``."
#: library/dataclasses.rst:587
#: library/dataclasses.rst:594
msgid "Frozen instances"
msgstr "Instances figées"
#: library/dataclasses.rst:589
#: library/dataclasses.rst:596
msgid ""
"It is not possible to create truly immutable Python objects. However, by "
"passing ``frozen=True`` to the :meth:`dataclass` decorator you can emulate "
@ -956,7 +965,7 @@ msgstr ""
"lui fait générer des méthodes :meth:`__setattr__` et :meth:`__delattr__`. "
"Celles-ci lèvent systématiquement l'exception :exc:`FrozenInstanceError`."
#: library/dataclasses.rst:595
#: library/dataclasses.rst:602
msgid ""
"There is a tiny performance penalty when using ``frozen=True``: :meth:"
"`__init__` cannot use simple assignment to initialize fields, and must use :"
@ -966,11 +975,11 @@ msgstr ""
"`__init__` doit passer par :meth:`object.__setattr__` au lieu de simples "
"affectations pour initialiser les champs."
#: library/dataclasses.rst:600
#: library/dataclasses.rst:607
msgid "Inheritance"
msgstr "Héritage"
#: library/dataclasses.rst:602
#: library/dataclasses.rst:609
msgid ""
"When the dataclass is being created by the :meth:`dataclass` decorator, it "
"looks through all of the class's base classes in reverse MRO (that is, "
@ -990,7 +999,7 @@ msgstr ""
"tableau associatif. Puisqu'il est ordonné, les champs des classes filles "
"écrasent ceux des classes mères. Voici un exemple :"
#: library/dataclasses.rst:622
#: library/dataclasses.rst:629
msgid ""
"The final list of fields is, in order, ``x``, ``y``, ``z``. The final type "
"of ``x`` is ``int``, as specified in class ``C``."
@ -998,16 +1007,16 @@ msgstr ""
"La liste finale des champs contient, dans l'ordre, ``x``, ``y``, ``z``. Le "
"type de ``x`` est ``int``, comme déclaré dans ``C``."
#: library/dataclasses.rst:625
#: library/dataclasses.rst:632
msgid "The generated :meth:`__init__` method for ``C`` will look like::"
msgstr "La méthode :meth:`__init__` générée pour ``C`` ressemble à :"
#: library/dataclasses.rst:630
#: library/dataclasses.rst:637
msgid "Re-ordering of keyword-only parameters in :meth:`__init__`"
msgstr ""
"Réarrangement des paramètres exclusivement nommés dans :meth:`__init__`"
#: library/dataclasses.rst:632
#: library/dataclasses.rst:639
msgid ""
"After the parameters needed for :meth:`__init__` are computed, any keyword-"
"only parameters are moved to come after all regular (non-keyword-only) "
@ -1020,7 +1029,7 @@ msgstr ""
"les paramètres exclusivement nommés sont implémentés en Python : ils sont "
"après les paramètres non exclusivement nommés."
#: library/dataclasses.rst:638
#: library/dataclasses.rst:645
msgid ""
"In this example, ``Base.y``, ``Base.w``, and ``D.t`` are keyword-only "
"fields, and ``Base.x`` and ``D.z`` are regular fields::"
@ -1029,11 +1038,11 @@ msgstr ""
"exclusivement nommés alors que ``Base.x`` et ``D.z`` sont des champs "
"normaux ::"
#: library/dataclasses.rst:653
#: library/dataclasses.rst:660
msgid "The generated :meth:`__init__` method for ``D`` will look like::"
msgstr "La méthode :meth:`__init__` générée pour ``D`` ressemble à ::"
#: library/dataclasses.rst:657
#: library/dataclasses.rst:664
msgid ""
"Note that the parameters have been re-ordered from how they appear in the "
"list of fields: parameters derived from regular fields are followed by "
@ -1043,7 +1052,7 @@ msgstr ""
"la liste des champs : les paramètres provenant des attributs normaux sont "
"suivis par les paramètres qui proviennent des attributs exclusivement nommés."
#: library/dataclasses.rst:661
#: library/dataclasses.rst:668
msgid ""
"The relative ordering of keyword-only parameters is maintained in the re-"
"ordered :meth:`__init__` parameter list."
@ -1051,11 +1060,11 @@ msgstr ""
"L'ordre relatif des paramètres exclusivement nommés est conservé par le "
"réarrangement des paramètres d'\\ :meth:`__init__`."
#: library/dataclasses.rst:666
#: library/dataclasses.rst:673
msgid "Default factory functions"
msgstr "Fabriques de valeurs par défaut"
#: library/dataclasses.rst:668
#: library/dataclasses.rst:675
msgid ""
"If a :func:`field` specifies a ``default_factory``, it is called with zero "
"arguments when a default value for the field is needed. For example, to "
@ -1065,7 +1074,7 @@ msgstr ""
"qui est appelée sans argument pour fournir des valeurs par défaut. Par "
"exemple, voici comment donner la valeur par défaut d'une liste vide :"
#: library/dataclasses.rst:674
#: library/dataclasses.rst:681
msgid ""
"If a field is excluded from :meth:`__init__` (using ``init=False``) and the "
"field also specifies ``default_factory``, then the default factory function "
@ -1077,11 +1086,11 @@ msgstr ""
"chaque nouvelle instance, puisque c'est le seul moyen d'obtenir une valeur à "
"laquelle initialiser le champ."
#: library/dataclasses.rst:681
#: library/dataclasses.rst:688
msgid "Mutable default values"
msgstr "Valeurs par défaut muables"
#: library/dataclasses.rst:683
#: library/dataclasses.rst:690
msgid ""
"Python stores default member variable values in class attributes. Consider "
"this example, not using dataclasses::"
@ -1089,7 +1098,7 @@ msgstr ""
"En Python, les valeurs par défaut des attributs sont stockées dans des "
"attributs de la classe. Observez cet exemple, sans classe de données :"
#: library/dataclasses.rst:698
#: library/dataclasses.rst:705
msgid ""
"Note that the two instances of class ``C`` share the same class variable "
"``x``, as expected."
@ -1097,15 +1106,15 @@ msgstr ""
"Comme attendu, les deux instances de ``C`` partagent le même objet pour "
"l'attribut ``x``."
#: library/dataclasses.rst:701
#: library/dataclasses.rst:708
msgid "Using dataclasses, *if* this code was valid::"
msgstr "Avec les classes de données, si ce code était valide :"
#: library/dataclasses.rst:709
#: library/dataclasses.rst:716
msgid "it would generate code similar to::"
msgstr "il générerait un code équivalent à :"
#: library/dataclasses.rst:720
#: library/dataclasses.rst:727
#, fuzzy
msgid ""
"This has the same issue as the original example using class ``C``. That is, "
@ -1128,7 +1137,7 @@ msgstr ""
"``set`` est détectée. Cette solution n'est pas parfaite, mais permet "
"d'éviter la majorité des erreurs."
#: library/dataclasses.rst:731
#: library/dataclasses.rst:738
msgid ""
"Using default factory functions is a way to create new instances of mutable "
"types as default values for fields::"
@ -1136,7 +1145,7 @@ msgstr ""
"Pour qu'un champ d'un type muable soit par défaut initialisé à un nouvel "
"objet pour chaque instance, utilisez une fonction de fabrique :"
#: library/dataclasses.rst:740
#: library/dataclasses.rst:747
msgid ""
"Instead of looking for and disallowing objects of type ``list``, ``dict``, "
"or ``set``, unhashable objects are now not allowed as default values. "

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+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"
@ -251,8 +251,9 @@ msgstr ""
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 ``', '``."
"unicode. The ``decoded`` value is set by :ref:`joining <meth-str-join>` "
"the :class:`str` value of the elements of the ``groups`` attribute with ``', "
"'``."
msgstr ""
#: library/email.headerregistry.rst:213

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -89,7 +89,7 @@ msgid ""
msgstr ""
#: library/email.mime.rst:104 library/email.mime.rst:169
#: library/email.mime.rst:224 library/email.mime.rst:258
#: library/email.mime.rst:225 library/email.mime.rst:259
msgid "Added *policy* keyword-only parameter."
msgstr ""
@ -136,8 +136,8 @@ msgid ""
"Message.attach>` method."
msgstr ""
#: library/email.mime.rst:131 library/email.mime.rst:199
#: library/email.mime.rst:253
#: library/email.mime.rst:131 library/email.mime.rst:200
#: library/email.mime.rst:254
msgid ""
"Optional *policy* argument defaults to :class:`compat32 <email.policy."
"Compat32>`."
@ -188,11 +188,11 @@ msgid ""
"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:"
"`MIMEAudio` class is used to create MIME message objects of major type :"
"mimetype:`audio`. *_audiodata* is a string containing the raw audio data. "
"If this data can be decoded by the standard Python module :mod:`sndhdr`, "
"then the subtype will be automatically included in the :mailheader:`Content-"
"Type` header. Otherwise you can explicitly specify the audio subtype via the "
"*_subtype* argument. If the minor type could not be guessed and *_subtype* "
"was not given, then :exc:`TypeError` is raised."
"If this data can be decoded as au, wav, aiff, or aifc, then the subtype will "
"be automatically included in the :mailheader:`Content-Type` header. "
"Otherwise you can explicitly specify the audio subtype via the *_subtype* "
"argument. If the minor type could not be guessed and *_subtype* was not "
"given, then :exc:`TypeError` is raised."
msgstr ""
#: library/email.mime.rst:155
@ -216,14 +216,15 @@ msgid ""
"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:"
"`MIMEImage` class is used to create MIME message objects of major type :"
"mimetype:`image`. *_imagedata* is a string containing the raw image data. "
"If this data can be decoded by the standard Python module :mod:`imghdr`, "
"then the subtype will be automatically included in the :mailheader:`Content-"
"Type` header. Otherwise you can explicitly specify the image subtype via the "
"*_subtype* argument. If the minor type could not be guessed and *_subtype* "
"was not given, then :exc:`TypeError` is raised."
"If this data type can be detected (jpeg, png, gif, tiff, rgb, pbm, pgm, ppm, "
"rast, xbm, bmp, webp, and exr attempted), then the subtype will be "
"automatically included in the :mailheader:`Content-Type` header. Otherwise "
"you can explicitly specify the image subtype via the *_subtype* argument. If "
"the minor type could not be guessed and *_subtype* was not given, then :exc:"
"`TypeError` is raised."
msgstr ""
#: library/email.mime.rst:189
#: library/email.mime.rst:190
msgid ""
"Optional *_encoder* is a callable (i.e. function) which will perform the "
"actual encoding of the image data for transport. This callable takes one "
@ -235,17 +236,17 @@ msgid ""
"encoders` module for a list of the built-in encoders."
msgstr ""
#: library/email.mime.rst:201
#: library/email.mime.rst:202
msgid ""
"*_params* are passed straight through to the :class:`~email.mime.base."
"MIMEBase` constructor."
msgstr ""
#: library/email.mime.rst:211
#: library/email.mime.rst:212
msgid "Module: :mod:`email.mime.message`"
msgstr "Module : :mod:`email.mime.message`"
#: library/email.mime.rst:213
#: library/email.mime.rst:214
msgid ""
"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:"
"`MIMEMessage` class is used to create MIME objects of main type :mimetype:"
@ -254,17 +255,17 @@ msgid ""
"`TypeError` is raised."
msgstr ""
#: library/email.mime.rst:219
#: library/email.mime.rst:220
msgid ""
"Optional *_subtype* sets the subtype of the message; it defaults to :"
"mimetype:`rfc822`."
msgstr ""
#: library/email.mime.rst:231
#: library/email.mime.rst:232
msgid "Module: :mod:`email.mime.text`"
msgstr "Module : :mod:`email.mime.text`"
#: library/email.mime.rst:233
#: library/email.mime.rst:234
msgid ""
"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:"
"`MIMEText` class is used to create MIME objects of major type :mimetype:"
@ -277,7 +278,7 @@ msgid ""
"Charset` instance."
msgstr ""
#: library/email.mime.rst:243
#: library/email.mime.rst:244
msgid ""
"Unless the *_charset* argument is explicitly set to ``None``, the MIMEText "
"object created will have both a :mailheader:`Content-Type` header with a "
@ -290,6 +291,6 @@ msgid ""
"Encoding` header)."
msgstr ""
#: library/email.mime.rst:255
#: library/email.mime.rst:256
msgid "*_charset* also accepts :class:`~email.charset.Charset` instances."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2022-02-03 20:08+0100\n"
"Last-Translator: Antoine Wecxsteen\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -261,26 +261,46 @@ msgstr ""
"Décorateur de classe qui garantit qu'une valeur ne puisse être associée qu'à "
"un seul nom."
#: library/enum.rst:128
#: library/enum.rst:127
msgid ":func:`member`"
msgstr ""
#: library/enum.rst:129
msgid "Make ``obj`` a member. Can be used as a decorator."
msgstr ""
#: library/enum.rst:131
msgid ":func:`nonmember`"
msgstr ""
#: library/enum.rst:133
msgid "Do not make ``obj`` a member. Can be used as a decorator."
msgstr ""
#: library/enum.rst:136
msgid "``Flag``, ``IntFlag``, ``auto``"
msgstr "``Flag``, ``IntFlag``, ``auto``"
#: library/enum.rst:129
#: library/enum.rst:137
msgid "``StrEnum``, ``EnumCheck``, ``FlagBoundary``, ``property``"
msgstr ""
#: library/enum.rst:134
#: library/enum.rst:138
msgid "``member``, ``nonmember``"
msgstr ""
#: library/enum.rst:143
msgid "Data Types"
msgstr ""
#: library/enum.rst:139
#: library/enum.rst:148
msgid ""
"*EnumType* is the :term:`metaclass` for *enum* enumerations. It is possible "
"to subclass *EnumType* -- see :ref:`Subclassing EnumType <enumtype-"
"examples>` for details."
msgstr ""
#: library/enum.rst:143
#: library/enum.rst:152
msgid ""
"*EnumType* is responsible for setting the correct :meth:`__repr__`, :meth:"
"`__str__`, :meth:`__format__`, and :meth:`__reduce__` methods on the final "
@ -288,67 +308,67 @@ msgid ""
"providing iteration over the enum class, etc."
msgstr ""
#: library/enum.rst:150
#: library/enum.rst:159
msgid "Returns ``True`` if member belongs to the ``cls``::"
msgstr ""
#: library/enum.rst:158
#: library/enum.rst:167
msgid ""
"In Python 3.12 it will be possible to check for member values and not just "
"members; until then, a ``TypeError`` will be raised if a non-Enum-member is "
"used in a containment check."
msgstr ""
#: library/enum.rst:164
#: library/enum.rst:173
msgid ""
"Returns ``['__class__', '__doc__', '__members__', '__module__']`` and the "
"names of the members in *cls*::"
msgstr ""
#: library/enum.rst:172
#: library/enum.rst:181
msgid ""
"Returns the Enum member in *cls* matching *name*, or raises an :exc:"
"`AttributeError`::"
msgstr ""
#: library/enum.rst:179
#: library/enum.rst:188
msgid ""
"Returns the Enum member in *cls* matching *name*, or raises an :exc:"
"`KeyError`::"
msgstr ""
#: library/enum.rst:186
#: library/enum.rst:195
#, fuzzy
msgid "Returns each member in *cls* in definition order::"
msgstr ""
"Les énumérations sont itérables, l'ordre d'itération est celui dans lequel "
"les membres sont déclarés ::"
#: library/enum.rst:193
#: library/enum.rst:202
msgid "Returns the number of member in *cls*::"
msgstr ""
#: library/enum.rst:200
#: library/enum.rst:209
msgid "Returns each member in *cls* in reverse definition order::"
msgstr ""
#: library/enum.rst:208
#: library/enum.rst:217
msgid "*Enum* is the base class for all *enum* enumerations."
msgstr ""
#: library/enum.rst:212
#: library/enum.rst:221
msgid "The name used to define the ``Enum`` member::"
msgstr ""
#: library/enum.rst:219
#: library/enum.rst:228
msgid "The value given to the ``Enum`` member::"
msgstr ""
#: library/enum.rst:224
#: library/enum.rst:233
msgid "Enum member values"
msgstr "Valeurs des membres d'une *Enum*"
#: library/enum.rst:226
#: library/enum.rst:235
msgid ""
"Member values can be anything: :class:`int`, :class:`str`, etc.. If the "
"exact value is unimportant you may use :class:`auto` instances and an "
@ -360,24 +380,24 @@ msgstr ""
"instances de :class:`auto` et une valeur appropriée sera choisie pour vous. "
"Soyez vigilant si vous mélangez :class:`auto` avec d'autres valeurs."
#: library/enum.rst:233
#: library/enum.rst:242
msgid ""
"``_ignore_`` is only used during creation and is removed from the "
"enumeration once creation is complete."
msgstr ""
#: library/enum.rst:236
#: library/enum.rst:245
msgid ""
"``_ignore_`` is a list of names that will not become members, and whose "
"names will also be removed from the completed enumeration. See :ref:"
"`TimePeriod <enum-time-period>` for an example."
msgstr ""
#: library/enum.rst:242
#: library/enum.rst:251
msgid "This method is called in two different ways:"
msgstr ""
#: library/enum.rst:244
#: library/enum.rst:253
msgid "to look up an existing member:"
msgstr ""
@ -385,7 +405,7 @@ msgstr ""
msgid "cls"
msgstr ""
#: library/enum.rst:251
#: library/enum.rst:260
msgid "The enum class being called."
msgstr ""
@ -393,15 +413,15 @@ msgstr ""
msgid "value"
msgstr "value"
#: library/enum.rst:247
#: library/enum.rst:256
msgid "The value to lookup."
msgstr ""
#: library/enum.rst:249
#: library/enum.rst:258
msgid "to use the ``cls`` enum to create a new enum:"
msgstr ""
#: library/enum.rst:252
#: library/enum.rst:261
msgid "The name of the new Enum to create."
msgstr ""
@ -409,7 +429,7 @@ msgstr ""
msgid "names"
msgstr "names"
#: library/enum.rst:253
#: library/enum.rst:262
msgid "The names/values of the members for the new Enum."
msgstr ""
@ -417,7 +437,7 @@ msgstr ""
msgid "module"
msgstr "module"
#: library/enum.rst:254
#: library/enum.rst:263
#, fuzzy
msgid "The name of the module the new Enum is created in."
msgstr "nom du module dans lequel la classe *Enum* se trouve."
@ -426,7 +446,7 @@ msgstr "nom du module dans lequel la classe *Enum* se trouve."
msgid "qualname"
msgstr "qualname"
#: library/enum.rst:255
#: library/enum.rst:264
#, fuzzy
msgid "The actual location in the module where this Enum can be found."
msgstr "nom du module dans lequel la classe *Enum* se trouve."
@ -435,7 +455,7 @@ msgstr "nom du module dans lequel la classe *Enum* se trouve."
msgid "type"
msgstr "type"
#: library/enum.rst:256
#: library/enum.rst:265
msgid "A mix-in type for the new Enum."
msgstr ""
@ -443,7 +463,7 @@ msgstr ""
msgid "start"
msgstr "start"
#: library/enum.rst:257
#: library/enum.rst:266
msgid "The first integer value for the Enum (used by :class:`auto`)"
msgstr ""
@ -451,12 +471,12 @@ msgstr ""
msgid "boundary"
msgstr ""
#: library/enum.rst:258
#: library/enum.rst:267
msgid ""
"How to handle out-of-range values from bit operations (:class:`Flag` only)"
msgstr ""
#: library/enum.rst:262
#: library/enum.rst:271
msgid ""
"Returns ``['__class__', '__doc__', '__module__', 'name', 'value']`` and any "
"public methods defined on *self.__class__*::"
@ -467,11 +487,11 @@ msgstr ""
msgid "name"
msgstr "names"
#: library/enum.rst:282
#: library/enum.rst:291
msgid "The name of the member being defined (e.g. 'RED')."
msgstr ""
#: library/enum.rst:283
#: library/enum.rst:292
msgid "The start value for the Enum; the default is 1."
msgstr ""
@ -479,7 +499,7 @@ msgstr ""
msgid "count"
msgstr ""
#: library/enum.rst:284
#: library/enum.rst:293
msgid "The number of members currently defined, not including this one."
msgstr ""
@ -488,53 +508,53 @@ msgstr ""
msgid "last_values"
msgstr "value"
#: library/enum.rst:285
#: library/enum.rst:294
msgid "A list of the previous values."
msgstr ""
#: library/enum.rst:287
#: library/enum.rst:296
msgid ""
"A *staticmethod* that is used to determine the next value returned by :class:"
"`auto`::"
msgstr ""
#: library/enum.rst:302
#: library/enum.rst:311
msgid ""
"A *classmethod* that is used to further configure subsequent subclasses. By "
"default, does nothing."
msgstr ""
#: library/enum.rst:307
#: library/enum.rst:316
msgid ""
"A *classmethod* for looking up values not found in *cls*. By default it "
"does nothing, but can be overridden to implement custom search behavior::"
msgstr ""
#: library/enum.rst:328
#: library/enum.rst:337
msgid ""
"Returns the string used for *repr()* calls. By default, returns the *Enum* "
"name, member name, and value, but can be overridden::"
msgstr ""
#: library/enum.rst:343
#: library/enum.rst:352
msgid ""
"Returns the string used for *str()* calls. By default, returns the *Enum* "
"name and member name, but can be overridden::"
msgstr ""
#: library/enum.rst:357
#: library/enum.rst:366
msgid ""
"Returns the string used for *format()* and *f-string* calls. By default, "
"returns :meth:`__str__` returns, but can be overridden::"
msgstr ""
#: library/enum.rst:371
#: library/enum.rst:380
msgid ""
"Using :class:`auto` with :class:`Enum` results in integers of increasing "
"value, starting with ``1``."
msgstr ""
#: library/enum.rst:377
#: library/enum.rst:386
msgid ""
"*IntEnum* is the same as *Enum*, but its members are also integers and can "
"be used anywhere that an integer can be used. If any integer operation is "
@ -542,20 +562,20 @@ msgid ""
"enumeration status."
msgstr ""
#: library/enum.rst:397
#: library/enum.rst:406
msgid ""
"Using :class:`auto` with :class:`IntEnum` results in integers of increasing "
"value, starting with ``1``."
msgstr ""
#: library/enum.rst:571
#: library/enum.rst:580
msgid ""
":meth:`__str__` is now :func:`int.__str__` to better support the "
"*replacement of existing constants* use-case. :meth:`__format__` was "
"already :func:`int.__format__` for that same reason."
msgstr ""
#: library/enum.rst:407
#: library/enum.rst:416
msgid ""
"*StrEnum* is the same as *Enum*, but its members are also strings and can be "
"used in most of the same places that a string can be used. The result of "
@ -563,7 +583,7 @@ msgid ""
"the enumeration."
msgstr ""
#: library/enum.rst:411
#: library/enum.rst:420
msgid ""
"There are places in the stdlib that check for an exact :class:`str` instead "
"of a :class:`str` subclass (i.e. ``type(unknown) == str`` instead of "
@ -571,172 +591,172 @@ msgid ""
"``str(StrEnum.member)``."
msgstr ""
#: library/enum.rst:418
#: library/enum.rst:427
msgid ""
"Using :class:`auto` with :class:`StrEnum` results in the lower-cased member "
"name as the value."
msgstr ""
#: library/enum.rst:421
#: library/enum.rst:430
msgid ""
":meth:`__str__` is :func:`str.__str__` to better support the *replacement of "
"existing constants* use-case. :meth:`__format__` is likewise :func:`str."
"__format__` for that same reason."
msgstr ""
#: library/enum.rst:429
#: library/enum.rst:438
msgid ""
"*Flag* members support the bitwise operators ``&`` (*AND*), ``|`` (*OR*), "
"``^`` (*XOR*), and ``~`` (*INVERT*); the results of those operators are "
"members of the enumeration."
msgstr ""
#: library/enum.rst:435
#: library/enum.rst:444
msgid "Returns *True* if value is in self::"
msgstr ""
#: library/enum.rst:455
#: library/enum.rst:464
msgid "Returns all contained members::"
msgstr ""
#: library/enum.rst:464
#: library/enum.rst:473
msgid "Returns number of members in flag::"
msgstr ""
#: library/enum.rst:473
#: library/enum.rst:482
msgid "Returns *True* if any members in flag, *False* otherwise::"
msgstr ""
#: library/enum.rst:485
#: library/enum.rst:494
msgid "Returns current flag binary or'ed with other::"
msgstr ""
#: library/enum.rst:492
#: library/enum.rst:501
msgid "Returns current flag binary and'ed with other::"
msgstr ""
#: library/enum.rst:501
#: library/enum.rst:510
msgid "Returns current flag binary xor'ed with other::"
msgstr ""
#: library/enum.rst:510
#: library/enum.rst:519
msgid "Returns all the flags in *type(self)* that are not in self::"
msgstr ""
#: library/enum.rst:521
#: library/enum.rst:530
msgid ""
"Function used to format any remaining unnamed numeric values. Default is "
"the value's repr; common choices are :func:`hex` and :func:`oct`."
msgstr ""
#: library/enum.rst:526
#: library/enum.rst:535
msgid ""
"Using :class:`auto` with :class:`Flag` results in integers that are powers "
"of two, starting with ``1``."
msgstr ""
#: library/enum.rst:529
#: library/enum.rst:538
msgid "The *repr()* of zero-valued flags has changed. It is now::"
msgstr ""
#: library/enum.rst:537
#: library/enum.rst:546
msgid ""
"*IntFlag* is the same as *Flag*, but its members are also integers and can "
"be used anywhere that an integer can be used."
msgstr ""
#: library/enum.rst:550
#: library/enum.rst:559
msgid ""
"If any integer operation is performed with an *IntFlag* member, the result "
"is not an *IntFlag*::"
msgstr ""
#: library/enum.rst:556
#: library/enum.rst:565
msgid "If a *Flag* operation is performed with an *IntFlag* member and:"
msgstr ""
#: library/enum.rst:558
#: library/enum.rst:567
msgid "the result is a valid *IntFlag*: an *IntFlag* is returned"
msgstr ""
#: library/enum.rst:559
#: library/enum.rst:568
msgid ""
"the result is not a valid *IntFlag*: the result depends on the "
"*FlagBoundary* setting"
msgstr ""
#: library/enum.rst:561
#: library/enum.rst:570
msgid "The *repr()* of unnamed zero-valued flags has changed. It is now:"
msgstr ""
#: library/enum.rst:568
#: library/enum.rst:577
msgid ""
"Using :class:`auto` with :class:`IntFlag` results in integers that are "
"powers of two, starting with ``1``."
msgstr ""
#: library/enum.rst:578
#: library/enum.rst:587
msgid ""
"*EnumCheck* contains the options used by the :func:`verify` decorator to "
"ensure various constraints; failed constraints result in a :exc:`ValueError`."
msgstr ""
#: library/enum.rst:583
#: library/enum.rst:592
msgid "Ensure that each value has only one name::"
msgstr ""
#: library/enum.rst:599
#: library/enum.rst:608
msgid ""
"Ensure that there are no missing values between the lowest-valued member and "
"the highest-valued member::"
msgstr ""
#: library/enum.rst:614
#: library/enum.rst:623
msgid ""
"Ensure that any flag groups/masks contain only named flags -- useful when "
"values are specified instead of being generated by :func:`auto`"
msgstr ""
#: library/enum.rst:631
#: library/enum.rst:640
msgid ""
"CONTINUOUS and NAMED_FLAGS are designed to work with integer-valued members."
msgstr ""
#: library/enum.rst:637
#: library/enum.rst:646
msgid ""
"*FlagBoundary* controls how out-of-range values are handled in *Flag* and "
"its subclasses."
msgstr ""
#: library/enum.rst:642
#: library/enum.rst:651
msgid ""
"Out-of-range values cause a :exc:`ValueError` to be raised. This is the "
"default for :class:`Flag`::"
msgstr ""
#: library/enum.rst:659
#: library/enum.rst:668
msgid ""
"Out-of-range values have invalid values removed, leaving a valid *Flag* "
"value::"
msgstr ""
#: library/enum.rst:672
#: library/enum.rst:681
msgid ""
"Out-of-range values lose their *Flag* membership and revert to :class:`int`. "
"This is the default for :class:`IntFlag`::"
msgstr ""
#: library/enum.rst:685
#: library/enum.rst:694
msgid ""
"Out-of-range values are kept, and the *Flag* membership is kept. This is "
"used for some stdlib flags:"
msgstr ""
#: library/enum.rst:701
#: library/enum.rst:710
msgid "Supported ``__dunder__`` names"
msgstr "Noms de la forme ``__dunder__`` disponibles"
#: library/enum.rst:703
#: library/enum.rst:712
msgid ""
":attr:`__members__` is a read-only ordered mapping of ``member_name``:"
"``member`` items. It is only available on the class."
@ -744,7 +764,7 @@ msgstr ""
":attr:`__members__` est un dictionnaire en lecture seule ordonné d'éléments "
"``nom_du_membre`` / ``membre``. Il n'est disponible que depuis la classe."
#: library/enum.rst:706
#: library/enum.rst:715
msgid ""
":meth:`__new__`, if specified, must create and return the enum members; it "
"is also a very good idea to set the member's :attr:`_value_` appropriately. "
@ -755,22 +775,22 @@ msgstr ""
"du membre est également conseillé. Une fois que tous les membres ont été "
"créés, cette méthode n'est plus utilisée."
#: library/enum.rst:712
#: library/enum.rst:721
msgid "Supported ``_sunder_`` names"
msgstr "Noms de la forme ``_sunder_`` disponibles"
#: library/enum.rst:714
#: library/enum.rst:723
msgid "``_name_`` -- name of the member"
msgstr "``_name_`` -- nom du membre"
#: library/enum.rst:715
#: library/enum.rst:724
msgid ""
"``_value_`` -- value of the member; can be set / modified in ``__new__``"
msgstr ""
"``_value_`` -- valeur du membre ; il est possible d'y accéder ou de la muer "
"dans ``__new__``"
#: library/enum.rst:717
#: library/enum.rst:726
msgid ""
"``_missing_`` -- a lookup function used when a value is not found; may be "
"overridden"
@ -778,7 +798,7 @@ msgstr ""
"``_missing_`` -- une fonction de recherche qui est appelée quand la valeur "
"n'est pas trouvée ; elle peut être redéfinie"
#: library/enum.rst:719
#: library/enum.rst:728
msgid ""
"``_ignore_`` -- a list of names, either as a :class:`list` or a :class:"
"`str`, that will not be transformed into members, and will be removed from "
@ -788,7 +808,7 @@ msgstr ""
"d'une :func:`str`, qui ne seront pas convertis en membres et seront "
"supprimés de la classe résultante"
#: library/enum.rst:722
#: library/enum.rst:731
msgid ""
"``_order_`` -- used in Python 2/3 code to ensure member order is consistent "
"(class attribute, removed during class creation)"
@ -797,7 +817,7 @@ msgstr ""
"membres est cohérent (attribut de classe, supprimé durant la création de la "
"classe)"
#: library/enum.rst:724
#: library/enum.rst:733
#, fuzzy
msgid ""
"``_generate_next_value_`` -- used to get an appropriate value for an enum "
@ -807,31 +827,31 @@ msgstr ""
"class:`auto` pour obtenir une valeur appropriée à affecter à un membre de "
"*l'enum* ; elle peut être redéfinie"
#: library/enum.rst:729
#: library/enum.rst:738
msgid ""
"For standard :class:`Enum` classes the next value chosen is the last value "
"seen incremented by one."
msgstr ""
#: library/enum.rst:732
#: library/enum.rst:741
msgid ""
"For :class:`Flag` classes the next value chosen will be the next highest "
"power-of-two, regardless of the last value seen."
msgstr ""
#: library/enum.rst:735
#: library/enum.rst:744
msgid "``_missing_``, ``_order_``, ``_generate_next_value_``"
msgstr "``_missing_``, ``_order_``, ``_generate_next_value_``"
#: library/enum.rst:736
#: library/enum.rst:745
msgid "``_ignore_``"
msgstr "``_ignore_``"
#: library/enum.rst:741
#: library/enum.rst:750
msgid "Utilities and Decorators"
msgstr ""
#: library/enum.rst:745
#: library/enum.rst:754
msgid ""
"*auto* can be used in place of a value. If used, the *Enum* machinery will "
"call an *Enum*'s :meth:`_generate_next_value_` to get an appropriate value. "
@ -841,20 +861,20 @@ msgid ""
"member's name."
msgstr ""
#: library/enum.rst:752
#: library/enum.rst:761
msgid ""
"``_generate_next_value_`` can be overridden to customize the values used by "
"*auto*."
msgstr ""
#: library/enum.rst:757
#: library/enum.rst:766
msgid ""
"A decorator similar to the built-in *property*, but specifically for "
"enumerations. It allows member attributes to have the same names as members "
"themselves."
msgstr ""
#: library/enum.rst:761
#: library/enum.rst:770
msgid ""
"the *property* and the member must be defined in separate classes; for "
"example, the *value* and *name* attributes are defined in the *Enum* class, "
@ -862,7 +882,7 @@ msgid ""
"``name``."
msgstr ""
#: library/enum.rst:770
#: library/enum.rst:779
#, fuzzy
msgid ""
"A :keyword:`class` decorator specifically for enumerations. It searches an "
@ -873,44 +893,52 @@ msgstr ""
"l'attribut :attr:`__members__` d'une énumération et recherche des alias ; "
"s'il en trouve, l'exception :exc:`ValueError` est levée avec des détails ::"
#: library/enum.rst:788
#: library/enum.rst:797
msgid ""
"A :keyword:`class` decorator specifically for enumerations. Members from :"
"class:`EnumCheck` are used to specify which constraints should be checked on "
"the decorated enumeration."
msgstr ""
#: library/enum.rst:797
#: library/enum.rst:805
msgid "A decorator for use in enums: its target will become a member."
msgstr ""
#: library/enum.rst:811
msgid "A decorator for use in enums: its target will not become a member."
msgstr ""
#: library/enum.rst:818
msgid "Notes"
msgstr ""
#: library/enum.rst:799
#: library/enum.rst:820
msgid ":class:`IntEnum`, :class:`StrEnum`, and :class:`IntFlag`"
msgstr ""
#: library/enum.rst:801
#: library/enum.rst:822
msgid ""
"These three enum types are designed to be drop-in replacements for existing "
"integer- and string-based values; as such, they have extra limitations:"
msgstr ""
#: library/enum.rst:804
#: library/enum.rst:825
msgid "``__str__`` uses the value and not the name of the enum member"
msgstr ""
#: library/enum.rst:806
#: library/enum.rst:827
msgid ""
"``__format__``, because it uses ``__str__``, will also use the value of the "
"enum member instead of its name"
msgstr ""
#: library/enum.rst:809
#: library/enum.rst:830
msgid ""
"If you do not need/want those limitations, you can either create your own "
"base class by mixing in the ``int`` or ``str`` type yourself::"
msgstr ""
#: library/enum.rst:816
#: library/enum.rst:837
msgid "or you can reassign the appropriate :meth:`str`, etc., in your enum::"
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2019-06-10 15:48+0200\n"
"Last-Translator: Dylan Gouin <dygouin@student.42.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -20,10 +20,11 @@ msgid ":mod:`errno` --- Standard errno system symbols"
msgstr ":mod:`errno` — Symboles du système *errno* standard"
#: library/errno.rst:9
#, fuzzy
msgid ""
"This module makes available standard ``errno`` system symbols. The value of "
"each symbol is the corresponding integer value. The names and descriptions "
"are borrowed from :file:`linux/include/errno.h`, which should be pretty all-"
"are borrowed from :file:`linux/include/errno.h`, which should be all-"
"inclusive."
msgstr ""
"Ce module met à disposition des symboles du système standard ``errno``. La "
@ -61,499 +62,606 @@ msgstr ""
"symboles disponibles font partie de cette liste :"
#: library/errno.rst:30
msgid "Operation not permitted"
msgstr "Opération interdite"
#: library/errno.rst:35
msgid "No such file or directory"
msgstr "Fichier ou répertoire inexistant"
#: library/errno.rst:40
msgid "No such process"
msgstr "Processus inexistant"
#: library/errno.rst:45
msgid "Interrupted system call."
msgstr "Appel système interrompu"
#: library/errno.rst:48
msgid "This error is mapped to the exception :exc:`InterruptedError`."
#, fuzzy
msgid ""
"Operation not permitted. This error is mapped to the exception :exc:"
"`PermissionError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:53
#: library/errno.rst:36
#, fuzzy
msgid ""
"No such file or directory. This error is mapped to the exception :exc:"
"`FileNotFoundError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:42
#, fuzzy
msgid ""
"No such process. This error is mapped to the exception :exc:"
"`ProcessLookupError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:48
#, fuzzy
msgid ""
"Interrupted system call. This error is mapped to the exception :exc:"
"`InterruptedError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:54
msgid "I/O error"
msgstr "Erreur d'entrée-sortie"
#: library/errno.rst:58
#: library/errno.rst:59
msgid "No such device or address"
msgstr "Dispositif ou adresse inexistant"
#: library/errno.rst:63
#: library/errno.rst:64
msgid "Arg list too long"
msgstr "Liste d'arguments trop longue"
#: library/errno.rst:68
#: library/errno.rst:69
msgid "Exec format error"
msgstr "Erreur de format d'exécution"
#: library/errno.rst:73
#: library/errno.rst:74
msgid "Bad file number"
msgstr "Mauvais descripteur de fichier"
#: library/errno.rst:78
msgid "No child processes"
msgstr "Pas de processus fils"
#: library/errno.rst:79
#, fuzzy
msgid ""
"No child processes. This error is mapped to the exception :exc:"
"`ChildProcessError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:83
msgid "Try again"
msgstr "Ressource temporairement indisponible (réessayez)"
#: library/errno.rst:85
#, fuzzy
msgid ""
"Try again. This error is mapped to the exception :exc:`BlockingIOError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:88
#: library/errno.rst:90
msgid "Out of memory"
msgstr "Mémoire insuffisante"
#: library/errno.rst:93
msgid "Permission denied"
msgstr "Autorisation refusée"
#: library/errno.rst:95
#, fuzzy
msgid ""
"Permission denied. This error is mapped to the exception :exc:"
"`PermissionError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:98
#: library/errno.rst:101
msgid "Bad address"
msgstr "Mauvaise adresse"
#: library/errno.rst:103
#: library/errno.rst:106
msgid "Block device required"
msgstr "Dispositif de bloc requis"
#: library/errno.rst:108
#: library/errno.rst:111
msgid "Device or resource busy"
msgstr "Dispositif ou ressource occupé"
#: library/errno.rst:113
msgid "File exists"
msgstr "Fichier déjà existant"
#: library/errno.rst:116
#, fuzzy
msgid ""
"File exists. This error is mapped to the exception :exc:`FileExistsError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:118
#: library/errno.rst:122
msgid "Cross-device link"
msgstr "Lien inapproprié"
#: library/errno.rst:123
#: library/errno.rst:127
msgid "No such device"
msgstr "Dispositif inexistant"
#: library/errno.rst:128
msgid "Not a directory"
msgstr "Pas un répertoire"
#: library/errno.rst:133
msgid "Is a directory"
msgstr "Est un répertoire"
#: library/errno.rst:132
#, fuzzy
msgid ""
"Not a directory. This error is mapped to the exception :exc:"
"`NotADirectoryError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:138
#, fuzzy
msgid ""
"Is a directory. This error is mapped to the exception :exc:"
"`IsADirectoryError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:144
msgid "Invalid argument"
msgstr "Argument invalide"
#: library/errno.rst:143
#: library/errno.rst:149
msgid "File table overflow"
msgstr "Plus de descripteur de fichier disponible"
#: library/errno.rst:148
#: library/errno.rst:154
msgid "Too many open files"
msgstr "Trop de fichiers ouverts"
#: library/errno.rst:153
#: library/errno.rst:159
msgid "Not a typewriter"
msgstr "Opération de contrôle d'entrée-sortie invalide"
#: library/errno.rst:158
#: library/errno.rst:164
msgid "Text file busy"
msgstr "Fichier texte occupé"
#: library/errno.rst:163
#: library/errno.rst:169
msgid "File too large"
msgstr "Fichier trop grand"
#: library/errno.rst:168
#: library/errno.rst:174
msgid "No space left on device"
msgstr "Plus de place sur le dispositif"
#: library/errno.rst:173
#: library/errno.rst:179
msgid "Illegal seek"
msgstr "Recherche invalide"
#: library/errno.rst:178
#: library/errno.rst:184
msgid "Read-only file system"
msgstr "Système de fichiers en lecture seule"
#: library/errno.rst:183
#: library/errno.rst:189
msgid "Too many links"
msgstr "Trop de liens symboliques"
#: library/errno.rst:188
msgid "Broken pipe"
msgstr "Tube brisé"
#: library/errno.rst:194
#, fuzzy
msgid ""
"Broken pipe. This error is mapped to the exception :exc:`BrokenPipeError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:193
#: library/errno.rst:200
msgid "Math argument out of domain of func"
msgstr "Argument mathématique hors du domaine de définition de la fonction"
#: library/errno.rst:198
#: library/errno.rst:205
msgid "Math result not representable"
msgstr "Résultat mathématique non représentable"
#: library/errno.rst:203
#: library/errno.rst:210
msgid "Resource deadlock would occur"
msgstr "Un interblocage se produirait sur cette ressource"
#: library/errno.rst:208
#: library/errno.rst:215
msgid "File name too long"
msgstr "Nom de fichier trop long"
#: library/errno.rst:213
#: library/errno.rst:220
msgid "No record locks available"
msgstr "Plus de verrou de fichier disponible"
#: library/errno.rst:218
#: library/errno.rst:225
msgid "Function not implemented"
msgstr "Fonction non implémentée"
#: library/errno.rst:223
#: library/errno.rst:230
msgid "Directory not empty"
msgstr "Dossier non vide"
#: library/errno.rst:228
#: library/errno.rst:235
msgid "Too many symbolic links encountered"
msgstr "Trop de liens symboliques trouvés"
#: library/errno.rst:233
msgid "Operation would block"
msgstr "L'opération bloquerait"
#: library/errno.rst:240
#, fuzzy
msgid ""
"Operation would block. This error is mapped to the exception :exc:"
"`BlockingIOError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:238
#: library/errno.rst:246
msgid "No message of desired type"
msgstr "Pas de message du type voulu"
#: library/errno.rst:243
#: library/errno.rst:251
msgid "Identifier removed"
msgstr "Identifiant supprimé"
#: library/errno.rst:248
#: library/errno.rst:256
msgid "Channel number out of range"
msgstr "Le numéro de canal est hors des limites"
#: library/errno.rst:253
#: library/errno.rst:261
msgid "Level 2 not synchronized"
msgstr "Le niveau 2 n'est pas synchronisé"
#: library/errno.rst:258
#: library/errno.rst:266
msgid "Level 3 halted"
msgstr "Niveau 3 stoppé"
#: library/errno.rst:263
#: library/errno.rst:271
msgid "Level 3 reset"
msgstr "Niveau 3 réinitialisé"
#: library/errno.rst:268
#: library/errno.rst:276
msgid "Link number out of range"
msgstr "Le numéro du lien est hors des limites"
#: library/errno.rst:273
#: library/errno.rst:281
msgid "Protocol driver not attached"
msgstr "Le pilote de protocole n'est pas attaché"
#: library/errno.rst:278
#: library/errno.rst:286
msgid "No CSI structure available"
msgstr "Pas de structure *CSI* disponible"
#: library/errno.rst:283
#: library/errno.rst:291
msgid "Level 2 halted"
msgstr "Niveau 2 stoppé"
#: library/errno.rst:288
#: library/errno.rst:296
msgid "Invalid exchange"
msgstr "Échange invalide"
#: library/errno.rst:293
#: library/errno.rst:301
msgid "Invalid request descriptor"
msgstr "Descripteur de requête invalide"
#: library/errno.rst:298
#: library/errno.rst:306
msgid "Exchange full"
msgstr "Échange complet"
#: library/errno.rst:303
#: library/errno.rst:311
msgid "No anode"
msgstr "Pas de *anode*"
#: library/errno.rst:308
#: library/errno.rst:316
msgid "Invalid request code"
msgstr "Code de requête invalide"
#: library/errno.rst:313
#: library/errno.rst:321
msgid "Invalid slot"
msgstr "*Slot* invalide"
#: library/errno.rst:318
#: library/errno.rst:326
msgid "File locking deadlock error"
msgstr "Interblocage lors du verrouillage de fichier"
#: library/errno.rst:323
#: library/errno.rst:331
msgid "Bad font file format"
msgstr "Mauvais format de fichier de police"
#: library/errno.rst:328
#: library/errno.rst:336
msgid "Device not a stream"
msgstr "Le périphérique n'est pas un flux"
#: library/errno.rst:333
#: library/errno.rst:341
msgid "No data available"
msgstr "Pas de donnée disponible"
#: library/errno.rst:338
#: library/errno.rst:346
msgid "Timer expired"
msgstr "Délai maximal atteint"
#: library/errno.rst:343
#: library/errno.rst:351
msgid "Out of streams resources"
msgstr "Pas assez de ressources de type flux"
#: library/errno.rst:348
#: library/errno.rst:356
msgid "Machine is not on the network"
msgstr "Machine hors réseau"
#: library/errno.rst:353
#: library/errno.rst:361
msgid "Package not installed"
msgstr "Paquet non installé"
#: library/errno.rst:358
#: library/errno.rst:366
msgid "Object is remote"
msgstr "L'objet est distant"
#: library/errno.rst:363
#: library/errno.rst:371
msgid "Link has been severed"
msgstr "Lien coupé"
#: library/errno.rst:368
#: library/errno.rst:376
msgid "Advertise error"
msgstr "Erreur d'annonce"
#: library/errno.rst:373
#: library/errno.rst:381
msgid "Srmount error"
msgstr "Erreur *Srmount*"
#: library/errno.rst:378
#: library/errno.rst:386
msgid "Communication error on send"
msgstr "Erreur de communication lors de l'envoi"
#: library/errno.rst:383
#: library/errno.rst:391
msgid "Protocol error"
msgstr "Erreur de protocole"
#: library/errno.rst:388
#: library/errno.rst:396
msgid "Multihop attempted"
msgstr "Transfert à sauts multiples essayé"
#: library/errno.rst:393
#: library/errno.rst:401
msgid "RFS specific error"
msgstr "erreur spécifique *RFS*"
#: library/errno.rst:398
#: library/errno.rst:406
msgid "Not a data message"
msgstr "Pas un message de données"
#: library/errno.rst:403
#: library/errno.rst:411
msgid "Value too large for defined data type"
msgstr "Valeur trop grande pour être stockée dans ce type de donnée"
#: library/errno.rst:408
#: library/errno.rst:416
msgid "Name not unique on network"
msgstr "Nom non-unique dans le réseau"
#: library/errno.rst:413
#: library/errno.rst:421
msgid "File descriptor in bad state"
msgstr "Descripteur de fichier en mauvais état"
#: library/errno.rst:418
#: library/errno.rst:426
msgid "Remote address changed"
msgstr "Adresse distante changée"
#: library/errno.rst:423
#: library/errno.rst:431
msgid "Can not access a needed shared library"
msgstr "Accès impossible à une bibliothèque partagée nécessaire"
#: library/errno.rst:428
#: library/errno.rst:436
msgid "Accessing a corrupted shared library"
msgstr "Accès à une bibliothèque partagée corrompue"
#: library/errno.rst:433
#: library/errno.rst:441
msgid ".lib section in a.out corrupted"
msgstr "Section *.lib* de *a.out* corrompue"
#: library/errno.rst:438
#: library/errno.rst:446
msgid "Attempting to link in too many shared libraries"
msgstr "Tentative de liaison entre trop de bibliothèques partagées"
#: library/errno.rst:443
#: library/errno.rst:451
msgid "Cannot exec a shared library directly"
msgstr "Impossible d'exécuter directement une bibliothèque partagée"
#: library/errno.rst:448
#: library/errno.rst:456
msgid "Illegal byte sequence"
msgstr "Séquence de *bytes* illégale"
#: library/errno.rst:453
#: library/errno.rst:461
msgid "Interrupted system call should be restarted"
msgstr "Appel système interrompu qui devrait être relancé"
#: library/errno.rst:458
#: library/errno.rst:466
msgid "Streams pipe error"
msgstr "Erreur denchaînement de flux"
#: library/errno.rst:463
#: library/errno.rst:471
msgid "Too many users"
msgstr "Trop d'utilisateurs"
#: library/errno.rst:468
#: library/errno.rst:476
msgid "Socket operation on non-socket"
msgstr ""
"Opération d'interface de connexion alors que ce n'est pas une interface de "
"connexion"
#: library/errno.rst:473
#: library/errno.rst:481
msgid "Destination address required"
msgstr "Adresse de destination obligatoire"
#: library/errno.rst:478
#: library/errno.rst:486
msgid "Message too long"
msgstr "Message trop long"
#: library/errno.rst:483
#: library/errno.rst:491
msgid "Protocol wrong type for socket"
msgstr "Mauvais type de protocole pour ce connecteur"
#: library/errno.rst:488
#: library/errno.rst:496
msgid "Protocol not available"
msgstr "Protocole pas disponible"
#: library/errno.rst:493
#: library/errno.rst:501
msgid "Protocol not supported"
msgstr "Protocole non géré"
#: library/errno.rst:498
#: library/errno.rst:506
msgid "Socket type not supported"
msgstr "Type de connecteur non géré"
#: library/errno.rst:503
#: library/errno.rst:511
msgid "Operation not supported on transport endpoint"
msgstr "Opération non gérée par cette fin de lien"
#: library/errno.rst:508
#: library/errno.rst:516
msgid "Protocol family not supported"
msgstr "Famille de protocole non gérée"
#: library/errno.rst:513
#: library/errno.rst:521
msgid "Address family not supported by protocol"
msgstr "Famille d'adresses non gérée par ce protocole"
#: library/errno.rst:518
#: library/errno.rst:526
msgid "Address already in use"
msgstr "Adresse déjà utilisée"
#: library/errno.rst:523
#: library/errno.rst:531
msgid "Cannot assign requested address"
msgstr "Impossible d'assigner l'adresse demandée"
#: library/errno.rst:528
#: library/errno.rst:536
msgid "Network is down"
msgstr "Le réseau est désactivé"
#: library/errno.rst:533
#: library/errno.rst:541
msgid "Network is unreachable"
msgstr "Réseau inaccessible"
#: library/errno.rst:538
#: library/errno.rst:546
msgid "Network dropped connection because of reset"
msgstr "Connexion annulée par le réseau"
#: library/errno.rst:543
msgid "Software caused connection abort"
msgstr "Connexion abandonnée"
#: library/errno.rst:551
#, fuzzy
msgid ""
"Software caused connection abort. This error is mapped to the exception :exc:"
"`ConnectionAbortedError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:548
msgid "Connection reset by peer"
msgstr "Connexion réinitialisée"
#: library/errno.rst:557
#, fuzzy
msgid ""
"Connection reset by peer. This error is mapped to the exception :exc:"
"`ConnectionResetError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:553
#: library/errno.rst:563
msgid "No buffer space available"
msgstr "Plus d'espace tampon disponible"
#: library/errno.rst:558
#: library/errno.rst:568
msgid "Transport endpoint is already connected"
msgstr "L'interface de connexion est déjà connectée"
#: library/errno.rst:563
#: library/errno.rst:573
msgid "Transport endpoint is not connected"
msgstr "L'interface de connexion n'est pas connectée"
#: library/errno.rst:568
msgid "Cannot send after transport endpoint shutdown"
msgstr "Impossible d'envoyer après l'arrêt du point final du transport"
#: library/errno.rst:578
#, fuzzy
msgid ""
"Cannot send after transport endpoint shutdown. This error is mapped to the "
"exception :exc:`BrokenPipeError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:573
#: library/errno.rst:584
msgid "Too many references: cannot splice"
msgstr "Trop de descripteurs : impossible d'effectuer la liaison"
#: library/errno.rst:578
msgid "Connection timed out"
msgstr "Délai maximal de connexion écoulé"
#: library/errno.rst:589
#, fuzzy
msgid ""
"Connection timed out. This error is mapped to the exception :exc:"
"`TimeoutError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:583
msgid "Connection refused"
msgstr "Connexion refusée"
#: library/errno.rst:595
#, fuzzy
msgid ""
"Connection refused. This error is mapped to the exception :exc:"
"`ConnectionRefusedError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:588
#: library/errno.rst:601
msgid "Host is down"
msgstr "Hôte éteint"
#: library/errno.rst:593
#: library/errno.rst:606
msgid "No route to host"
msgstr "Pas de route vers l'hôte"
#: library/errno.rst:598
msgid "Operation already in progress"
msgstr "Connexion déjà en cours"
#: library/errno.rst:611
#, fuzzy
msgid ""
"Operation already in progress. This error is mapped to the exception :exc:"
"`BlockingIOError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:603
msgid "Operation now in progress"
msgstr "Opération en cours"
#: library/errno.rst:617
#, fuzzy
msgid ""
"Operation now in progress. This error is mapped to the exception :exc:"
"`BlockingIOError`."
msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`."
#: library/errno.rst:608
#: library/errno.rst:623
msgid "Stale NFS file handle"
msgstr "Descripteur de fichier NFS corrompu"
#: library/errno.rst:613
#: library/errno.rst:628
msgid "Structure needs cleaning"
msgstr "La structure a besoin d'être nettoyée"
#: library/errno.rst:618
#: library/errno.rst:633
msgid "Not a XENIX named type file"
msgstr "N'est pas un fichier nommé du type *XENIX*"
#: library/errno.rst:623
#: library/errno.rst:638
msgid "No XENIX semaphores available"
msgstr "Pas de sémaphore *XENIX* disponible"
#: library/errno.rst:628
#: library/errno.rst:643
msgid "Is a named type file"
msgstr "Est un fichier nommé"
#: library/errno.rst:633
#: library/errno.rst:648
msgid "Remote I/O error"
msgstr "Erreur d'entrées-sorties distante"
#: library/errno.rst:638
#: library/errno.rst:653
msgid "Quota exceeded"
msgstr "Quota dépassé"
#: library/errno.rst:642
#: library/errno.rst:657
msgid "Interface output queue is full"
msgstr ""
#~ msgid "Operation not permitted"
#~ msgstr "Opération interdite"
#~ msgid "No such file or directory"
#~ msgstr "Fichier ou répertoire inexistant"
#~ msgid "No such process"
#~ msgstr "Processus inexistant"
#~ msgid "Interrupted system call."
#~ msgstr "Appel système interrompu"
#~ msgid "No child processes"
#~ msgstr "Pas de processus fils"
#~ msgid "Try again"
#~ msgstr "Ressource temporairement indisponible (réessayez)"
#~ msgid "Permission denied"
#~ msgstr "Autorisation refusée"
#~ msgid "File exists"
#~ msgstr "Fichier déjà existant"
#~ msgid "Not a directory"
#~ msgstr "Pas un répertoire"
#~ msgid "Is a directory"
#~ msgstr "Est un répertoire"
#~ msgid "Broken pipe"
#~ msgstr "Tube brisé"
#~ msgid "Operation would block"
#~ msgstr "L'opération bloquerait"
#~ msgid "Software caused connection abort"
#~ msgstr "Connexion abandonnée"
#~ msgid "Connection reset by peer"
#~ msgstr "Connexion réinitialisée"
#~ msgid "Cannot send after transport endpoint shutdown"
#~ msgstr "Impossible d'envoyer après l'arrêt du point final du transport"
#~ msgid "Connection timed out"
#~ msgstr "Délai maximal de connexion écoulé"
#~ msgid "Connection refused"
#~ msgstr "Connexion refusée"
#~ msgid "Operation already in progress"
#~ msgstr "Connexion déjà en cours"
#~ msgid "Operation now in progress"
#~ msgstr "Opération en cours"

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2017-08-10 00:59+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -54,28 +54,28 @@ msgid ""
"On macOS, the fcntl module exposes the ``F_GETPATH`` constant, which obtains "
"the path of a file from a file descriptor. On Linux(>=3.15), the fcntl "
"module exposes the ``F_OFD_GETLK``, ``F_OFD_SETLK`` and ``F_OFD_SETLKW`` "
"constants, which working with open file description locks."
"constants, which are used when working with open file description locks."
msgstr ""
#: library/fcntl.rst:42
#: library/fcntl.rst:43
msgid ""
"On Linux >= 2.6.11, the fcntl module exposes the ``F_GETPIPE_SZ`` and "
"``F_SETPIPE_SZ`` constants, which allow to check and modify a pipe's size "
"respectively."
msgstr ""
#: library/fcntl.rst:47
#: library/fcntl.rst:48
msgid ""
"On FreeBSD, the fcntl module exposes the ``F_DUP2FD`` and "
"``F_DUP2FD_CLOEXEC`` constants, which allow to duplicate a file descriptor, "
"the latter setting ``FD_CLOEXEC`` flag in addition."
msgstr ""
#: library/fcntl.rst:52
#: library/fcntl.rst:53
msgid "The module defines the following functions:"
msgstr "Le module définit les fonctions suivantes :"
#: library/fcntl.rst:57
#: library/fcntl.rst:58
msgid ""
"Perform the operation *cmd* on file descriptor *fd* (file objects providing "
"a :meth:`~io.IOBase.fileno` method are accepted as well). The values used "
@ -94,23 +94,23 @@ msgid ""
"result in a segmentation violation or a more subtle data corruption."
msgstr ""
#: library/fcntl.rst:74
#: library/fcntl.rst:75
msgid "If the :c:func:`fcntl` fails, an :exc:`OSError` is raised."
msgstr ""
#: library/fcntl.rst:76
#: library/fcntl.rst:77
msgid ""
"Raises an :ref:`auditing event <auditing>` ``fcntl.fcntl`` with arguments "
"``fd``, ``cmd``, ``arg``."
msgstr ""
#: library/fcntl.rst:81
#: library/fcntl.rst:82
msgid ""
"This function is identical to the :func:`~fcntl.fcntl` function, except that "
"the argument handling is even more complicated."
msgstr ""
#: library/fcntl.rst:84
#: library/fcntl.rst:85
msgid ""
"The *request* parameter is limited to values that can fit in 32-bits. "
"Additional constants of interest for use as the *request* argument can be "
@ -118,26 +118,26 @@ msgid ""
"relevant C header files."
msgstr ""
#: library/fcntl.rst:89
#: library/fcntl.rst:90
msgid ""
"The parameter *arg* can be one of an integer, an object supporting the read-"
"only buffer interface (like :class:`bytes`) or an object supporting the read-"
"write buffer interface (like :class:`bytearray`)."
msgstr ""
#: library/fcntl.rst:93
#: library/fcntl.rst:94
msgid ""
"In all but the last case, behaviour is as for the :func:`~fcntl.fcntl` "
"function."
msgstr ""
#: library/fcntl.rst:96
#: library/fcntl.rst:97
msgid ""
"If a mutable buffer is passed, then the behaviour is determined by the value "
"of the *mutate_flag* parameter."
msgstr ""
#: library/fcntl.rst:99
#: library/fcntl.rst:100
msgid ""
"If it is false, the buffer's mutability is ignored and behaviour is as for a "
"read-only buffer, except that the 1024 byte limit mentioned above is avoided "
@ -145,7 +145,7 @@ msgid ""
"system wants to put there, things should work."
msgstr ""
#: library/fcntl.rst:104
#: library/fcntl.rst:105
msgid ""
"If *mutate_flag* is true (the default), then the buffer is (in effect) "
"passed to the underlying :func:`ioctl` system call, the latter's return code "
@ -156,21 +156,21 @@ msgid ""
"copied back into the supplied buffer."
msgstr ""
#: library/fcntl.rst:112
#: library/fcntl.rst:113
msgid "If the :c:func:`ioctl` fails, an :exc:`OSError` exception is raised."
msgstr ""
#: library/fcntl.rst:114
#: library/fcntl.rst:115
msgid "An example::"
msgstr "Un exemple ::"
#: library/fcntl.rst:127
#: library/fcntl.rst:128
msgid ""
"Raises an :ref:`auditing event <auditing>` ``fcntl.ioctl`` with arguments "
"``fd``, ``request``, ``arg``."
msgstr ""
#: library/fcntl.rst:132
#: library/fcntl.rst:133
msgid ""
"Perform the lock operation *operation* on file descriptor *fd* (file objects "
"providing a :meth:`~io.IOBase.fileno` method are accepted as well). See the "
@ -178,17 +178,17 @@ msgid ""
"function is emulated using :c:func:`fcntl`.)"
msgstr ""
#: library/fcntl.rst:137
#: library/fcntl.rst:138
msgid "If the :c:func:`flock` fails, an :exc:`OSError` exception is raised."
msgstr ""
#: library/fcntl.rst:139
#: library/fcntl.rst:140
msgid ""
"Raises an :ref:`auditing event <auditing>` ``fcntl.flock`` with arguments "
"``fd``, ``operation``."
msgstr ""
#: library/fcntl.rst:144
#: library/fcntl.rst:145
msgid ""
"This is essentially a wrapper around the :func:`~fcntl.fcntl` locking calls. "
"*fd* is the file descriptor (file objects providing a :meth:`~io.IOBase."
@ -196,19 +196,19 @@ msgid ""
"*cmd* is one of the following values:"
msgstr ""
#: library/fcntl.rst:149
#: library/fcntl.rst:150
msgid ":const:`LOCK_UN` -- unlock"
msgstr ""
#: library/fcntl.rst:150
#: library/fcntl.rst:151
msgid ":const:`LOCK_SH` -- acquire a shared lock"
msgstr ""
#: library/fcntl.rst:151
#: library/fcntl.rst:152
msgid ":const:`LOCK_EX` -- acquire an exclusive lock"
msgstr ""
#: library/fcntl.rst:153
#: library/fcntl.rst:154
msgid ""
"When *cmd* is :const:`LOCK_SH` or :const:`LOCK_EX`, it can also be bitwise "
"ORed with :const:`LOCK_NB` to avoid blocking on lock acquisition. If :const:"
@ -220,44 +220,44 @@ msgid ""
"for writing."
msgstr ""
#: library/fcntl.rst:162
#: library/fcntl.rst:163
msgid ""
"*len* is the number of bytes to lock, *start* is the byte offset at which "
"the lock starts, relative to *whence*, and *whence* is as with :func:`io."
"IOBase.seek`, specifically:"
msgstr ""
#: library/fcntl.rst:166
#: library/fcntl.rst:167
msgid ":const:`0` -- relative to the start of the file (:data:`os.SEEK_SET`)"
msgstr ""
#: library/fcntl.rst:167
#: library/fcntl.rst:168
msgid ""
":const:`1` -- relative to the current buffer position (:data:`os.SEEK_CUR`)"
msgstr ""
#: library/fcntl.rst:168
#: library/fcntl.rst:169
msgid ":const:`2` -- relative to the end of the file (:data:`os.SEEK_END`)"
msgstr ""
#: library/fcntl.rst:170
#: library/fcntl.rst:171
msgid ""
"The default for *start* is 0, which means to start at the beginning of the "
"file. The default for *len* is 0 which means to lock to the end of the "
"file. The default for *whence* is also 0."
msgstr ""
#: library/fcntl.rst:174
#: library/fcntl.rst:175
msgid ""
"Raises an :ref:`auditing event <auditing>` ``fcntl.lockf`` with arguments "
"``fd``, ``cmd``, ``len``, ``start``, ``whence``."
msgstr ""
#: library/fcntl.rst:176
#: library/fcntl.rst:177
msgid "Examples (all on a SVR4 compliant system)::"
msgstr ""
#: library/fcntl.rst:186
#: library/fcntl.rst:187
msgid ""
"Note that in the first example the return value variable *rv* will hold an "
"integer value; in the second example it will hold a :class:`bytes` object. "
@ -265,11 +265,11 @@ msgid ""
"therefore using the :func:`flock` call may be better."
msgstr ""
#: library/fcntl.rst:197
#: library/fcntl.rst:198
msgid "Module :mod:`os`"
msgstr "Module :mod:`os`"
#: library/fcntl.rst:195
#: library/fcntl.rst:196
msgid ""
"If the locking flags :data:`~os.O_SHLOCK` and :data:`~os.O_EXLOCK` are "
"present in the :mod:`os` module (on BSD only), the :func:`os.open` function "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-09-19 23:19+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -409,8 +409,8 @@ msgstr "ajout du paramètre facultatif *errors*."
#: library/fileinput.rst:226
msgid ""
"This function is deprecated since :func:`input` and :class:`FileInput` now "
"have *encoding* and *errors* parameters."
"This function is deprecated since :func:`fileinput.input` and :class:"
"`FileInput` now have *encoding* and *errors* parameters."
msgstr ""
#~ msgid "The ``'rU'`` and ``'U'`` modes."

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-03-22 14:55+0100\n"
"Last-Translator: Loc Cosnier <loc.cosnier@pm.me>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -152,10 +152,11 @@ msgstr ""
"fraction et dont le dénominateur est positif."
#: library/fractions.rst:119
#, fuzzy
msgid ""
"This class method constructs a :class:`Fraction` representing the exact "
"value of *flt*, which must be a :class:`float`. Beware that ``Fraction."
"from_float(0.3)`` is not the same value as ``Fraction(3, 10)``."
"Alternative constructor which only accepts instances of :class:`float` or :"
"class:`numbers.Integral`. Beware that ``Fraction.from_float(0.3)`` is not "
"the same value as ``Fraction(3, 10)``."
msgstr ""
"Cette méthode de classe construit un objet :class:`Fraction` représentant la "
"valeur exacte de *flt*, qui doit être de type :class:`float`. Attention, "
@ -171,12 +172,13 @@ msgstr ""
"`Fraction` directement depuis un :class:`float`."
#: library/fractions.rst:131
#, fuzzy
msgid ""
"This class method constructs a :class:`Fraction` representing the exact "
"value of *dec*, which must be a :class:`decimal.Decimal` instance."
"Alternative constructor which only accepts instances of :class:`decimal."
"Decimal` or :class:`numbers.Integral`."
msgstr ""
"Cette méthode de classe construit un objet :class:`Fraction` représentant la "
"valeur exacte de *dec*, qui doit être de type :class:`decimal.Decimal`."
"Le constructeur de :class:`Fraction` accepte maintenant des instances de :"
"class:`float` et :class:`decimal.Decimal`."
#: library/fractions.rst:136
msgid ""
@ -239,6 +241,13 @@ msgstr "Module :mod:`numbers`"
msgid "The abstract base classes making up the numeric tower."
msgstr "Les classes abstraites représentant la hiérarchie des nombres."
#~ msgid ""
#~ "This class method constructs a :class:`Fraction` representing the exact "
#~ "value of *dec*, which must be a :class:`decimal.Decimal` instance."
#~ msgstr ""
#~ "Cette méthode de classe construit un objet :class:`Fraction` représentant "
#~ "la valeur exacte de *dec*, qui doit être de type :class:`decimal.Decimal`."
#~ msgid ""
#~ "Return the greatest common divisor of the integers *a* and *b*. If "
#~ "either *a* or *b* is nonzero, then the absolute value of ``gcd(a, b)`` is "

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2021-02-06 18:15+0100\n"
"Last-Translator: Antoine Wecxsteen\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -289,8 +289,7 @@ msgid ""
"long-running processes such as web servers."
msgstr ""
"Un `cache LRU (*least recently used*) <https://fr.wikipedia.org/wiki/"
"Algorithmes_de_remplacement_des_lignes_de_cache"
"#LRU_.28Least_Recently_Used.29>`_ "
"Algorithmes_de_remplacement_des_lignes_de_cache#LRU_.28Least_Recently_Used.29>`_ "
"fonctionne de manière optimale lorsque les appels récents sont les prochains "
"appels les plus probables (par exemple, les articles les plus lus d'un "
"serveur d'actualités ont tendance à ne changer que d'un jour à l'autre). La "
@ -529,6 +528,10 @@ msgstr ""
"premier argument automatiquement ::"
#: library/functools.rst:439
msgid ":data:`types.UnionType` and :data:`typing.Union` can also be used::"
msgstr ""
#: library/functools.rst:456
msgid ""
"For code which doesn't use type annotations, the appropriate type argument "
"can be passed explicitly to the decorator itself::"
@ -536,7 +539,7 @@ msgstr ""
"Pour le code qui nutilise pas les indications de type, le type souhaité "
"peut être passé explicitement en argument au décorateur ::"
#: library/functools.rst:450
#: library/functools.rst:467
#, fuzzy
msgid ""
"To enable registering :term:`lambdas<lambda>` and pre-existing functions, "
@ -545,7 +548,7 @@ msgstr ""
"Pour permettre l'enregistrement de *lambdas* et de fonctions pré-existantes, "
"l'attribut :func:`register` peut être utilisé sous forme fonctionnelle ::"
#: library/functools.rst:458
#: library/functools.rst:475
#, fuzzy
msgid ""
"The :func:`register` attribute returns the undecorated function. This "
@ -556,7 +559,7 @@ msgstr ""
"d'empiler les décorateurs, la sérialisation, et la création de tests "
"unitaires pour chaque variante indépendamment ::"
#: library/functools.rst:472
#: library/functools.rst:489
msgid ""
"When called, the generic function dispatches on the type of the first "
"argument::"
@ -564,7 +567,7 @@ msgstr ""
"Quand elle est appelée, la fonction générique distribue sur le type du "
"premier argument ::"
#: library/functools.rst:492
#: library/functools.rst:509
#, fuzzy
msgid ""
"Where there is no registered implementation for a specific type, its method "
@ -579,14 +582,14 @@ msgstr ""
"est enregistrée pour le type d'``object``, et elle sera utilisée si aucune "
"implémentation n'est trouvée."
#: library/functools.rst:498
#: library/functools.rst:515
msgid ""
"If an implementation is registered to an :term:`abstract base class`, "
"virtual subclasses of the base class will be dispatched to that "
"implementation::"
msgstr ""
#: library/functools.rst:513
#: library/functools.rst:530
#, fuzzy
msgid ""
"To check which implementation the generic function will choose for a given "
@ -595,7 +598,7 @@ msgstr ""
"Pour vérifier quelle implémentation la fonction générique choisira pour un "
"type donné, utiliser l'attribut ``dispatch()`` ::"
#: library/functools.rst:521
#: library/functools.rst:538
msgid ""
"To access all registered implementations, use the read-only ``registry`` "
"attribute::"
@ -603,13 +606,21 @@ msgstr ""
"Pour accéder à toutes les implémentations enregistrées, utiliser l'attribut "
"en lecture seule ``registry`` ::"
#: library/functools.rst:535
#: library/functools.rst:552
#, fuzzy
msgid "The :func:`register` attribute now supports using type annotations."
msgstr ""
"Lattribut :func:`register` gère lutilisation des indications de type."
#: library/functools.rst:541
#: library/functools.rst:555
#, fuzzy
msgid ""
"The :func:`register` attribute now supports :data:`types.UnionType` and :"
"data:`typing.Union` as type annotations."
msgstr ""
"Lattribut :func:`register` gère lutilisation des indications de type."
#: library/functools.rst:562
msgid ""
"Transform a method into a :term:`single-dispatch <single dispatch>` :term:"
"`generic function`."
@ -617,7 +628,7 @@ msgstr ""
"Transforme une méthode en une :term:`fonction générique <generic function>` :"
"term:`single-dispatch <single dispatch>`."
#: library/functools.rst:544
#: library/functools.rst:565
#, fuzzy
msgid ""
"To define a generic method, decorate it with the ``@singledispatchmethod`` "
@ -630,7 +641,7 @@ msgstr ""
"type du premier argument non *self* ni *cls*, donc la fonction doit être "
"conçue en conséquence ::"
#: library/functools.rst:562
#: library/functools.rst:583
msgid ""
"``@singledispatchmethod`` supports nesting with other decorators such as :"
"func:`@classmethod<classmethod>`. Note that to allow for ``dispatcher."
@ -639,14 +650,14 @@ msgid ""
"rather than an instance of the class::"
msgstr ""
#: library/functools.rst:584
#: library/functools.rst:605
msgid ""
"The same pattern can be used for other similar decorators: :func:"
"`@staticmethod<staticmethod>`, :func:`@abstractmethod<abc.abstractmethod>`, "
"and others."
msgstr ""
#: library/functools.rst:593
#: library/functools.rst:614
msgid ""
"Update a *wrapper* function to look like the *wrapped* function. The "
"optional arguments are tuples to specify which attributes of the original "
@ -671,7 +682,7 @@ msgstr ""
"met à jour le ``__dict__`` de la fonction englobante, c'est-à-dire le "
"dictionnaire de l'instance)."
#: library/functools.rst:603
#: library/functools.rst:624
msgid ""
"To allow access to the original function for introspection and other "
"purposes (e.g. bypassing a caching decorator such as :func:`lru_cache`), "
@ -683,7 +694,7 @@ msgstr ""
"func:`lru_cache`), cette fonction ajoute automatiquement un attribut "
"``__wrapped__`` qui référence la fonction englobée."
#: library/functools.rst:608
#: library/functools.rst:629
msgid ""
"The main intended use for this function is in :term:`decorator` functions "
"which wrap the decorated function and return the wrapper. If the wrapper "
@ -697,7 +708,7 @@ msgstr ""
"décorateur, au lieu de la définition originale, métadonnées souvent bien "
"moins utiles."
#: library/functools.rst:614
#: library/functools.rst:635
msgid ""
":func:`update_wrapper` may be used with callables other than functions. Any "
"attributes named in *assigned* or *updated* that are missing from the object "
@ -711,20 +722,20 @@ msgstr ""
"dans la fonction englobante). :exc:`AttributeError` est toujours levée si le "
"fonction englobante elle même a des attributs non existants dans *updated*."
#: library/functools.rst:620
#: library/functools.rst:641
msgid "Automatic addition of the ``__wrapped__`` attribute."
msgstr "Ajout automatique de l'attribut ``__wrapped__``."
#: library/functools.rst:623
#: library/functools.rst:644
msgid "Copying of the ``__annotations__`` attribute by default."
msgstr "Copie de l'attribut ``__annotations__`` par défaut."
#: library/functools.rst:626
#: library/functools.rst:647
msgid "Missing attributes no longer trigger an :exc:`AttributeError`."
msgstr ""
"Les attributs manquants ne lèvent plus d'exception :exc:`AttributeError`."
#: library/functools.rst:629
#: library/functools.rst:650
msgid ""
"The ``__wrapped__`` attribute now always refers to the wrapped function, "
"even if that function defined a ``__wrapped__`` attribute. (see :issue:"
@ -733,7 +744,7 @@ msgstr ""
"L'attribut ``__wrapped__`` renvoie toujours la fonction englobée, même si "
"cette fonction définit un attribut ``__wrapped__``. (voir :issue:`17482`)"
#: library/functools.rst:637
#: library/functools.rst:658
msgid ""
"This is a convenience function for invoking :func:`update_wrapper` as a "
"function decorator when defining a wrapper function. It is equivalent to "
@ -745,7 +756,7 @@ msgstr ""
"C'est équivalent à ``partial(update_wrapper, wrapped=wrapped, "
"assigned=assigned, updated=updated)``. Par exemple ::"
#: library/functools.rst:663
#: library/functools.rst:684
msgid ""
"Without the use of this decorator factory, the name of the example function "
"would have been ``'wrapper'``, and the docstring of the original :func:"
@ -755,11 +766,11 @@ msgstr ""
"d'exemple aurait été ``'wrapper'``, et la chaîne de documentation de la "
"fonction :func:`example` originale aurait été perdue."
#: library/functools.rst:671
#: library/functools.rst:692
msgid ":class:`partial` Objects"
msgstr "Objets :class:`partial`"
#: library/functools.rst:673
#: library/functools.rst:694
msgid ""
":class:`partial` objects are callable objects created by :func:`partial`. "
"They have three read-only attributes:"
@ -767,7 +778,7 @@ msgstr ""
"Les objets :class:`partial` sont des objets appelables créés par :func:"
"`partial`. Ils ont trois attributs en lecture seule :"
#: library/functools.rst:679
#: library/functools.rst:700
msgid ""
"A callable object or function. Calls to the :class:`partial` object will be "
"forwarded to :attr:`func` with new arguments and keywords."
@ -775,7 +786,7 @@ msgstr ""
"Un objet ou une fonction appelable. Les appels à l'objet :class:`partial` "
"seront transmis à :attr:`func` avec les nouveaux arguments et mots-clés."
#: library/functools.rst:685
#: library/functools.rst:706
msgid ""
"The leftmost positional arguments that will be prepended to the positional "
"arguments provided to a :class:`partial` object call."
@ -783,7 +794,7 @@ msgstr ""
"Les arguments positionnels qui seront ajoutés avant les arguments fournis "
"lors de l'appel d'un objet :class:`partial`."
#: library/functools.rst:691
#: library/functools.rst:712
msgid ""
"The keyword arguments that will be supplied when the :class:`partial` object "
"is called."
@ -791,7 +802,7 @@ msgstr ""
"Les arguments nommés qui seront fournis quand l'objet :class:`partial` est "
"appelé."
#: library/functools.rst:694
#: library/functools.rst:715
msgid ""
":class:`partial` objects are like :class:`function` objects in that they are "
"callable, weak referencable, and can have attributes. There are some "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2018-09-28 12:40+0200\n"
"Last-Translator: Julien VITARD <julienvitard@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -25,16 +25,14 @@ msgid "**Source code:** :source:`Lib/glob.py`"
msgstr "**Code source :** :source:`Lib/glob.py`"
#: library/glob.rst:21
#, fuzzy
msgid ""
"The :mod:`glob` module finds all the pathnames matching a specified pattern "
"according to the rules used by the Unix shell, although results are returned "
"in arbitrary order. No tilde expansion is done, but ``*``, ``?``, and "
"character ranges expressed with ``[]`` will be correctly matched. This is "
"done by using the :func:`os.scandir` and :func:`fnmatch.fnmatch` functions "
"in concert, and not by actually invoking a subshell. Note that unlike :func:"
"`fnmatch.fnmatch`, :mod:`glob` treats filenames beginning with a dot (``.``) "
"as special cases. (For tilde and shell variable expansion, use :func:`os."
"path.expanduser` and :func:`os.path.expandvars`.)"
"in concert, and not by actually invoking a subshell."
msgstr ""
"Le module :mod:`glob` recherche tous les chemins correspondant à un motif "
"particulier selon les règles utilisées par le shell Unix, les résultats sont "
@ -48,7 +46,15 @@ msgstr ""
"remplacer le tilde et les variables shell, nous vous conseillons d'utiliser "
"les fonctions :func:`os.path.expanduser` et :func:`os.path.expandvars`.)"
#: library/glob.rst:31
#: library/glob.rst:28
msgid ""
"Note that files beginning with a dot (``.``) can only be matched by patterns "
"that also start with a dot, unlike :func:`fnmatch.fnmatch` or :func:`pathlib."
"Path.glob`. (For tilde and shell variable expansion, use :func:`os.path."
"expanduser` and :func:`os.path.expandvars`.)"
msgstr ""
#: library/glob.rst:34
msgid ""
"For a literal match, wrap the meta-characters in brackets. For example, "
"``'[?]'`` matches the character ``'?'``."
@ -56,13 +62,13 @@ msgstr ""
"Pour une correspondance littérale, il faut entourer le métacaractère par des "
"crochets. Par exemple, ``'[?]'`` reconnaît le caractère ``'?'``."
#: library/glob.rst:36
#: library/glob.rst:39
msgid "The :mod:`pathlib` module offers high-level path objects."
msgstr ""
"Le module :mod:`pathlib` offre une représentation objet de haut niveau des "
"chemins."
#: library/glob.rst:42
#: library/glob.rst:45
#, fuzzy
msgid ""
"Return a possibly-empty list of path names that match *pathname*, which must "
@ -82,7 +88,7 @@ msgstr ""
"symboliques cassés sont aussi inclus dans les résultats (comme pour le "
"shell)."
#: library/glob.rst:51
#: library/glob.rst:54
msgid ""
"If *root_dir* is not ``None``, it should be a :term:`path-like object` "
"specifying the root directory for searching. It has the same effect on :"
@ -90,13 +96,13 @@ msgid ""
"*pathname* is relative, the result will contain paths relative to *root_dir*."
msgstr ""
#: library/glob.rst:57
#: library/glob.rst:60
msgid ""
"This function can support :ref:`paths relative to directory descriptors "
"<dir_fd>` with the *dir_fd* parameter."
msgstr ""
#: library/glob.rst:63
#: library/glob.rst:66
#, fuzzy
msgid ""
"If *recursive* is true, the pattern \"``**``\" will match any files and zero "
@ -109,25 +115,25 @@ msgstr ""
"caractère de séparation ``os.sep``, seuls les répertoires et sous-"
"répertoires sont reconnus."
#: library/glob.rst:68
#: library/glob.rst:71
msgid ""
"If *include_hidden* is true, \"``**``\" pattern will match hidden "
"directories."
msgstr ""
#: library/glob.rst:93
#: library/glob.rst:96
msgid ""
"Raises an :ref:`auditing event <auditing>` ``glob.glob`` with arguments "
"``pathname``, ``recursive``."
msgstr ""
#: library/glob.rst:94
#: library/glob.rst:97
msgid ""
"Raises an :ref:`auditing event <auditing>` ``glob.glob/2`` with arguments "
"``pathname``, ``recursive``, ``root_dir``, ``dir_fd``."
msgstr ""
#: library/glob.rst:74
#: library/glob.rst:77
msgid ""
"Using the \"``**``\" pattern in large directory trees may consume an "
"inordinate amount of time."
@ -135,19 +141,19 @@ msgstr ""
"Utiliser le motif \"``**``\" dans de grandes arborescences de dossier peut "
"consommer une quantité de temps démesurée."
#: library/glob.rst:96
#: library/glob.rst:99
msgid "Support for recursive globs using \"``**``\"."
msgstr "Gestion des chemins récursifs utilisant le motif \"``**``\"."
#: library/glob.rst:99
#: library/glob.rst:102
msgid "Added the *root_dir* and *dir_fd* parameters."
msgstr ""
#: library/glob.rst:102
#: library/glob.rst:105
msgid "Added the *include_hidden* parameter."
msgstr ""
#: library/glob.rst:90
#: library/glob.rst:93
msgid ""
"Return an :term:`iterator` which yields the same values as :func:`glob` "
"without actually storing them all simultaneously."
@ -155,7 +161,7 @@ msgstr ""
"Renvoie un :term:`iterator` qui produit les mêmes valeurs que :func:`glob`, "
"sans toutes les charger en mémoire simultanément."
#: library/glob.rst:108
#: library/glob.rst:111
msgid ""
"Escape all special characters (``'?'``, ``'*'`` and ``'['``). This is useful "
"if you want to match an arbitrary literal string that may have special "
@ -170,7 +176,7 @@ msgstr ""
"Windows ``escape('//?/c:/Quo vadis?.txt')`` renvoie ``'//?/c:/Quo vadis[?]."
"txt'``."
#: library/glob.rst:117
#: library/glob.rst:120
msgid ""
"For example, consider a directory containing the following files: :file:`1."
"gif`, :file:`2.txt`, :file:`card.gif` and a subdirectory :file:`sub` which "
@ -184,7 +190,7 @@ msgstr ""
"les résultats suivants. Notons que les composantes principales des chemins "
"sont préservées. ::"
#: library/glob.rst:135
#: library/glob.rst:138
msgid ""
"If the directory contains files starting with ``.`` they won't be matched by "
"default. For example, consider a directory containing :file:`card.gif` and :"
@ -194,11 +200,11 @@ msgstr ""
"reconnus par défaut. Par exemple, considérons un répertoire contenant :file:"
"`card.gif` et :file:`.card.gif` ::"
#: library/glob.rst:147
#: library/glob.rst:150
msgid "Module :mod:`fnmatch`"
msgstr "Module :mod:`fnmatch`"
#: library/glob.rst:148
#: library/glob.rst:151
msgid "Shell-style filename (not path) expansion"
msgstr ""
"Recherche de noms de fichiers de style shell (ne concerne pas les chemins)"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -28,7 +28,7 @@ msgstr ""
msgid ""
"Group database entries are reported as a tuple-like object, whose attributes "
"correspond to the members of the ``group`` structure (Attribute field below, "
"see ``<pwd.h>``):"
"see ``<grp.h>``):"
msgstr ""
#: library/grp.rst:18

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2020-04-27 22:47+0200\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -150,18 +150,19 @@ msgid "Hashlib now uses SHA3 and SHAKE from OpenSSL 1.1.1 and newer."
msgstr ""
#: library/hashlib.rst:94
#, fuzzy
msgid ""
"For example, to obtain the digest of the byte string ``b'Nobody inspects the "
"spammish repetition'``::"
"For example, to obtain the digest of the byte string ``b\"Nobody inspects "
"the spammish repetition\"``::"
msgstr ""
"Par exemple, pour obtenir l'empreinte de la chaîne ``b'Nobody inspects the "
"spammish repetition'`` ::"
#: library/hashlib.rst:108
#: library/hashlib.rst:106
msgid "More condensed:"
msgstr "En plus condensé ::"
#: library/hashlib.rst:115
#: library/hashlib.rst:113
msgid ""
"Is a generic constructor that takes the string *name* of the desired "
"algorithm as its first parameter. It also exists to allow access to the "
@ -175,15 +176,15 @@ msgstr ""
"librairie OpenSSL peut offrir. Les constructeurs nommés sont beaucoup plus "
"rapides que :func:`new` et doivent être privilégiés."
#: library/hashlib.rst:121
#: library/hashlib.rst:119
msgid "Using :func:`new` with an algorithm provided by OpenSSL:"
msgstr "En utilisant :func:`new` avec un algorithme fourni par OpenSSL ::"
#: library/hashlib.rst:128
#: library/hashlib.rst:126
msgid "Hashlib provides the following constant attributes:"
msgstr "*Hashlib* fournit les constantes suivantes ::"
#: library/hashlib.rst:132
#: library/hashlib.rst:130
msgid ""
"A set containing the names of the hash algorithms guaranteed to be supported "
"by this module on all platforms. Note that 'md5' is in this list despite "
@ -195,7 +196,7 @@ msgstr ""
"dans cette liste malgré certains éditeurs qui offrent une implémentation "
"Python de la librairie compatible FIPS l'excluant."
#: library/hashlib.rst:141
#: library/hashlib.rst:139
msgid ""
"A set containing the names of the hash algorithms that are available in the "
"running Python interpreter. These names will be recognized when passed to :"
@ -209,7 +210,7 @@ msgstr ""
"ensemble. Le même algorithme peut apparaître plusieurs fois dans cet "
"ensemble sous un nom différent (grâce à OpenSSL)."
#: library/hashlib.rst:149
#: library/hashlib.rst:147
msgid ""
"The following values are provided as constant attributes of the hash objects "
"returned by the constructors:"
@ -217,19 +218,19 @@ msgstr ""
"Les valeurs suivantes sont fournis en tant qu'attributs constants des objets "
"hachés retournés par les constructeurs ::"
#: library/hashlib.rst:155
#: library/hashlib.rst:153
msgid "The size of the resulting hash in bytes."
msgstr "La taille du *hash* résultant en octets."
#: library/hashlib.rst:159
#: library/hashlib.rst:157
msgid "The internal block size of the hash algorithm in bytes."
msgstr "La taille interne d'un bloc de l'algorithme de hachage en octets."
#: library/hashlib.rst:161
#: library/hashlib.rst:159
msgid "A hash object has the following attributes:"
msgstr "L'objet haché possède les attributs suivants ::"
#: library/hashlib.rst:165
#: library/hashlib.rst:163
msgid ""
"The canonical name of this hash, always lowercase and always suitable as a "
"parameter to :func:`new` to create another hash of this type."
@ -238,7 +239,7 @@ msgstr ""
"transmissible à la fonction :func:`new` pour créer un autre objet haché de "
"ce type."
#: library/hashlib.rst:168
#: library/hashlib.rst:166
msgid ""
"The name attribute has been present in CPython since its inception, but "
"until Python 3.4 was not formally specified, so may not exist on some "
@ -248,11 +249,11 @@ msgstr ""
"pas spécifié formellement jusqu'à Python 3.4, il peut ne pas exister sur "
"certaines plate-formes."
#: library/hashlib.rst:173
#: library/hashlib.rst:171
msgid "A hash object has the following methods:"
msgstr "L'objet haché possède les méthodes suivantes ::"
#: library/hashlib.rst:178
#: library/hashlib.rst:176
msgid ""
"Update the hash object with the :term:`bytes-like object`. Repeated calls "
"are equivalent to a single call with the concatenation of all the arguments: "
@ -262,7 +263,7 @@ msgstr ""
"sont équivalent à la concaténation de tous les arguments : ``m.update(a); m."
"update(b)`` est équivalent à ``m.update(a+b)``."
#: library/hashlib.rst:183
#: library/hashlib.rst:181
msgid ""
"The Python GIL is released to allow other threads to run while hash updates "
"on data larger than 2047 bytes is taking place when using hash algorithms "
@ -273,7 +274,7 @@ msgstr ""
"larges que 2047 octets, lorsque les algorithmes fournis par OpenSSL sont "
"utilisés."
#: library/hashlib.rst:191
#: library/hashlib.rst:189
msgid ""
"Return the digest of the data passed to the :meth:`update` method so far. "
"This is a bytes object of size :attr:`digest_size` which may contain bytes "
@ -283,7 +284,7 @@ msgstr ""
"un objet de type *bytes* de taille :attr:`digest_size` qui contient des "
"octets dans l'intervalle 0 à 255."
#: library/hashlib.rst:226
#: library/hashlib.rst:224
msgid ""
"Like :meth:`digest` except the digest is returned as a string object of "
"double length, containing only hexadecimal digits. This may be used to "
@ -294,7 +295,7 @@ msgstr ""
"hexadécimaux. Cela peut être utilisé pour échanger sans risque des valeurs "
"dans les *e-mails* ou dans les environnements non binaires."
#: library/hashlib.rst:205
#: library/hashlib.rst:203
msgid ""
"Return a copy (\"clone\") of the hash object. This can be used to "
"efficiently compute the digests of data sharing a common initial substring."
@ -303,11 +304,11 @@ msgstr ""
"calculer efficacement les *digests* de données partageant des sous-chaînes "
"communes."
#: library/hashlib.rst:210
#: library/hashlib.rst:208
msgid "SHAKE variable length digests"
msgstr "Synthèse de messages de taille variable SHAKE"
#: library/hashlib.rst:212
#: library/hashlib.rst:210
msgid ""
"The :func:`shake_128` and :func:`shake_256` algorithms provide variable "
"length digests with length_in_bits//2 up to 128 or 256 bits of security. As "
@ -320,7 +321,7 @@ msgstr ""
"longueur. Les longueurs maximales ne sont pas limitées par l'algorithme "
"SHAKE."
#: library/hashlib.rst:219
#: library/hashlib.rst:217
msgid ""
"Return the digest of the data passed to the :meth:`update` method so far. "
"This is a bytes object of size *length* which may contain bytes in the whole "
@ -330,23 +331,23 @@ msgstr ""
"un objet de type *bytes* de taille *length* qui contient des octets dans "
"l'intervalle 0 à 255."
#: library/hashlib.rst:232
#: library/hashlib.rst:230
#, fuzzy
msgid "File hashing"
msgstr "Hachage simple"
#: library/hashlib.rst:234
#: library/hashlib.rst:232
msgid ""
"The hashlib module provides a helper function for efficient hashing of a "
"file or file-like object."
msgstr ""
#: library/hashlib.rst:239
#: library/hashlib.rst:237
msgid ""
"Return a digest object that has been updated with contents of file object."
msgstr ""
#: library/hashlib.rst:241
#: library/hashlib.rst:239
msgid ""
"*fileobj* must be a file-like object opened for reading in binary mode. It "
"accepts file objects from builtin :func:`open`, :class:`~io.BytesIO` "
@ -357,22 +358,22 @@ msgid ""
"caller to close *fileobj*."
msgstr ""
#: library/hashlib.rst:249
#: library/hashlib.rst:247
msgid ""
"*digest* must either be a hash algorithm name as a *str*, a hash "
"constructor, or a callable that returns a hash object."
msgstr ""
#: library/hashlib.rst:252
#: library/hashlib.rst:250
#, fuzzy
msgid "Example:"
msgstr "Exemples"
#: library/hashlib.rst:275
#: library/hashlib.rst:273
msgid "Key derivation"
msgstr "Dérivation de clé"
#: library/hashlib.rst:277
#: library/hashlib.rst:275
msgid ""
"Key derivation and key stretching algorithms are designed for secure "
"password hashing. Naive algorithms such as ``sha1(password)`` are not "
@ -386,7 +387,7 @@ msgstr ""
"bonne fonction de hachage doit être paramétrable, lente, et inclure un `sel "
"<https://en.wikipedia.org/wiki/Salt_%28cryptography%29>`_."
#: library/hashlib.rst:285
#: library/hashlib.rst:283
msgid ""
"The function provides PKCS#5 password-based key derivation function 2. It "
"uses HMAC as pseudorandom function."
@ -395,7 +396,7 @@ msgstr ""
"Cryptographic Standards #5 v2.0*). Elle utilise HMAC comme fonction de "
"pseudo-aléatoire."
#: library/hashlib.rst:288
#: library/hashlib.rst:286
msgid ""
"The string *hash_name* is the desired name of the hash digest algorithm for "
"HMAC, e.g. 'sha1' or 'sha256'. *password* and *salt* are interpreted as "
@ -410,7 +411,7 @@ msgstr ""
"``1024``). *salt* doit être de 16 octets ou plus provenant d'une source "
"correcte, e.g. :func:`os.urandom`."
#: library/hashlib.rst:294
#: library/hashlib.rst:292
msgid ""
"The number of *iterations* should be chosen based on the hash algorithm and "
"computing power. As of 2022, hundreds of thousands of iterations of SHA-256 "
@ -419,7 +420,7 @@ msgid ""
"the `stackexchange pbkdf2 iterations question`_ explain in detail."
msgstr ""
#: library/hashlib.rst:300
#: library/hashlib.rst:298
msgid ""
"*dklen* is the length of the derived key. If *dklen* is ``None`` then the "
"digest size of the hash algorithm *hash_name* is used, e.g. 64 for SHA-512."
@ -428,7 +429,7 @@ msgstr ""
"taille du message de l'algorithme de hachage *hash_name* est utilisé, e.g. "
"64 pour SHA-512."
#: library/hashlib.rst:313
#: library/hashlib.rst:311
msgid ""
"A fast implementation of *pbkdf2_hmac* is available with OpenSSL. The "
"Python implementation uses an inline version of :mod:`hmac`. It is about "
@ -438,13 +439,13 @@ msgstr ""
"L'implémentation Python utilise une version anonyme de :mod:`hmac`. Elle est "
"trois fois plus lente et ne libère pas le GIL."
#: library/hashlib.rst:319
#: library/hashlib.rst:317
msgid ""
"Slow Python implementation of *pbkdf2_hmac* is deprecated. In the future the "
"function will only be available when Python is compiled with OpenSSL."
msgstr ""
#: library/hashlib.rst:325
#: library/hashlib.rst:323
msgid ""
"The function provides scrypt password-based key derivation function as "
"defined in :rfc:`7914`."
@ -452,7 +453,7 @@ msgstr ""
"La fonction fournit la fonction de dérivation de clé *scrypt* comme définie "
"dans :rfc:`7914`."
#: library/hashlib.rst:328
#: library/hashlib.rst:326
msgid ""
"*password* and *salt* must be :term:`bytes-like objects <bytes-like "
"object>`. Applications and libraries should limit *password* to a sensible "
@ -464,7 +465,7 @@ msgstr ""
"longueur raisonnable (e.g. 1024). *salt* doit être de 16 octets ou plus "
"provenant d'une source correcte, e.g. :func:`os.urandom`."
#: library/hashlib.rst:333
#: library/hashlib.rst:331
msgid ""
"*n* is the CPU/Memory cost factor, *r* the block size, *p* parallelization "
"factor and *maxmem* limits memory (OpenSSL 1.1.0 defaults to 32 MiB). "
@ -474,11 +475,11 @@ msgstr ""
"facteur de parallélisation et *maxmem* limite la mémoire (OpenSSL 1.1.0 "
"limite à 32 MB par défaut). *dklen* est la longueur de la clé dérivée."
#: library/hashlib.rst:341
#: library/hashlib.rst:339
msgid "BLAKE2"
msgstr "BLAKE2"
#: library/hashlib.rst:348
#: library/hashlib.rst:346
msgid ""
"BLAKE2_ is a cryptographic hash function defined in :rfc:`7693` that comes "
"in two flavors:"
@ -486,7 +487,7 @@ msgstr ""
"BLAKE2_ est une fonction de hachage cryptographique définie dans la :rfc:"
"`7693` et disponible en deux versions ::"
#: library/hashlib.rst:351
#: library/hashlib.rst:349
msgid ""
"**BLAKE2b**, optimized for 64-bit platforms and produces digests of any size "
"between 1 and 64 bytes,"
@ -494,7 +495,7 @@ msgstr ""
"**BLAKE2b**, optimisée pour les plates-formes 64-bit et produisant des "
"messages de toutes tailles entre 1 et 64 octets,"
#: library/hashlib.rst:354
#: library/hashlib.rst:352
msgid ""
"**BLAKE2s**, optimized for 8- to 32-bit platforms and produces digests of "
"any size between 1 and 32 bytes."
@ -502,7 +503,7 @@ msgstr ""
"**BLAKE2s**, optimisée pour les plates-formes de 8 à 32-bit et produisant "
"des messages de toutes tailles entre 1 et 32 octets."
#: library/hashlib.rst:357
#: library/hashlib.rst:355
msgid ""
"BLAKE2 supports **keyed mode** (a faster and simpler replacement for HMAC_), "
"**salted hashing**, **personalization**, and **tree hashing**."
@ -511,7 +512,7 @@ msgstr ""
"rapide et plus simple pour HMAC_), **salted hashing**, **personalization**, "
"et **tree hashing**."
#: library/hashlib.rst:360
#: library/hashlib.rst:358
msgid ""
"Hash objects from this module follow the API of standard library's :mod:"
"`hashlib` objects."
@ -519,15 +520,15 @@ msgstr ""
"Les objets hachés de ce module suivent l'API des objets du module :mod:"
"`hashlib` de la librairie standard."
#: library/hashlib.rst:365
#: library/hashlib.rst:363
msgid "Creating hash objects"
msgstr "Création d'objets hachés"
#: library/hashlib.rst:367
#: library/hashlib.rst:365
msgid "New hash objects are created by calling constructor functions:"
msgstr "Les nouveaux objets hachés sont créés en appelant les constructeurs ::"
#: library/hashlib.rst:381
#: library/hashlib.rst:379
msgid ""
"These functions return the corresponding hash objects for calculating "
"BLAKE2b or BLAKE2s. They optionally take these general parameters:"
@ -535,7 +536,7 @@ msgstr ""
"Ces fonctions produisent l'objet haché correspondant aux calculs de BLAKE2b "
"ou BLAKE2s. Elles prennent ces paramètres optionnels ::"
#: library/hashlib.rst:384
#: library/hashlib.rst:382
msgid ""
"*data*: initial chunk of data to hash, which must be :term:`bytes-like "
"object`. It can be passed only as positional argument."
@ -543,11 +544,11 @@ msgstr ""
"*data*: morceau initial de données à hacher, qui doit être un objet de type :"
"term:`bytes-like object`. Il peut être passé comme argument positionnel."
#: library/hashlib.rst:387
#: library/hashlib.rst:385
msgid "*digest_size*: size of output digest in bytes."
msgstr "*digest_size*: taille en sortie du message en octets."
#: library/hashlib.rst:389
#: library/hashlib.rst:387
msgid ""
"*key*: key for keyed hashing (up to 64 bytes for BLAKE2b, up to 32 bytes for "
"BLAKE2s)."
@ -555,7 +556,7 @@ msgstr ""
"*key*: clé pour les code d'authentification de message *keyed hashing* "
"(jusqu'à 64 octets pour BLAKE2b, jusqu'à 32 octets pour BLAKE2s)."
#: library/hashlib.rst:392
#: library/hashlib.rst:390
msgid ""
"*salt*: salt for randomized hashing (up to 16 bytes for BLAKE2b, up to 8 "
"bytes for BLAKE2s)."
@ -563,7 +564,7 @@ msgstr ""
"*salt*: sel pour le hachage randomisé *randomized hashing* (jusqu'à 16 "
"octets pour BLAKE2b, jusqu'à 8 octets pour BLAKE2s)."
#: library/hashlib.rst:395
#: library/hashlib.rst:393
msgid ""
"*person*: personalization string (up to 16 bytes for BLAKE2b, up to 8 bytes "
"for BLAKE2s)."
@ -571,57 +572,57 @@ msgstr ""
"*person*: chaîne de personnalisation (jusqu'à 16 octets pour BLAKE2b, "
"jusqu'à 8 octets pour BLAKE2s)."
#: library/hashlib.rst:398
#: library/hashlib.rst:396
msgid "The following table shows limits for general parameters (in bytes):"
msgstr ""
"Le tableau suivant présente les limites des paramètres généraux (en "
"octets) ::"
#: library/hashlib.rst:401
#: library/hashlib.rst:399
msgid "Hash"
msgstr "Hash"
#: library/hashlib.rst:401
#: library/hashlib.rst:399
msgid "digest_size"
msgstr "digest_size"
#: library/hashlib.rst:401
#: library/hashlib.rst:399
msgid "len(key)"
msgstr "len(key)"
#: library/hashlib.rst:401
#: library/hashlib.rst:399
msgid "len(salt)"
msgstr "len(salt)"
#: library/hashlib.rst:401
#: library/hashlib.rst:399
msgid "len(person)"
msgstr "len(person)"
#: library/hashlib.rst:403
#: library/hashlib.rst:401
msgid "BLAKE2b"
msgstr "BLAKE2b"
#: library/hashlib.rst:403
#: library/hashlib.rst:401
msgid "64"
msgstr "64"
#: library/hashlib.rst:403
#: library/hashlib.rst:401
msgid "16"
msgstr "16"
#: library/hashlib.rst:404
#: library/hashlib.rst:402
msgid "BLAKE2s"
msgstr "BLAKE2s"
#: library/hashlib.rst:404
#: library/hashlib.rst:402
msgid "32"
msgstr "32"
#: library/hashlib.rst:404
#: library/hashlib.rst:402
msgid "8"
msgstr "8"
#: library/hashlib.rst:409
#: library/hashlib.rst:407
msgid ""
"BLAKE2 specification defines constant lengths for salt and personalization "
"parameters, however, for convenience, this implementation accepts byte "
@ -638,24 +639,24 @@ msgstr ""
"``b'salt'`` et ``b'salt\\x00'`` sont la même valeur (Ce n'est pas le cas "
"pour *key*.)"
#: library/hashlib.rst:416
#: library/hashlib.rst:414
msgid "These sizes are available as module `constants`_ described below."
msgstr ""
"Ces tailles sont disponibles comme `constants`_ du module et décrites ci-"
"dessous."
#: library/hashlib.rst:418
#: library/hashlib.rst:416
msgid ""
"Constructor functions also accept the following tree hashing parameters:"
msgstr ""
"Les fonctions constructeur acceptent aussi les paramètres suivants pour le "
"*tree hashing* ::"
#: library/hashlib.rst:420
#: library/hashlib.rst:418
msgid "*fanout*: fanout (0 to 255, 0 if unlimited, 1 in sequential mode)."
msgstr "*fanout*: *fanout* (0 à 255, 0 si illimité, 1 en mode séquentiel)."
#: library/hashlib.rst:422
#: library/hashlib.rst:420
msgid ""
"*depth*: maximal depth of tree (1 to 255, 255 if unlimited, 1 in sequential "
"mode)."
@ -663,7 +664,7 @@ msgstr ""
"*depth*: profondeur maximale de l'arbre (1 à 255, 255 si illimité, 1 en mode "
"séquentiel)."
#: library/hashlib.rst:425
#: library/hashlib.rst:423
#, fuzzy
msgid ""
"*leaf_size*: maximal byte length of leaf (0 to ``2**32-1``, 0 if unlimited "
@ -672,7 +673,7 @@ msgstr ""
"*leaf_size*: taille maximale en octets d'une feuille (0 à 2**32-1, 0 si "
"illimité ou en mode séquentiel)."
#: library/hashlib.rst:428
#: library/hashlib.rst:426
#, fuzzy
msgid ""
"*node_offset*: node offset (0 to ``2**64-1`` for BLAKE2b, 0 to ``2**48-1`` "
@ -681,14 +682,14 @@ msgstr ""
"*node_offset*: décalage de nœud (0 à 2**64-1 pour BLAKE2b, 0 à 2**48-1 pour "
"BLAKE2s, 0 pour la première feuille la plus à gauche, ou en mode séquentiel)."
#: library/hashlib.rst:431
#: library/hashlib.rst:429
msgid ""
"*node_depth*: node depth (0 to 255, 0 for leaves, or in sequential mode)."
msgstr ""
"*node_depth*: profondeur de nœuds (0 à 255, 0 pour les feuilles, ou en mode "
"séquentiel)."
#: library/hashlib.rst:433
#: library/hashlib.rst:431
msgid ""
"*inner_size*: inner digest size (0 to 64 for BLAKE2b, 0 to 32 for BLAKE2s, 0 "
"in sequential mode)."
@ -696,7 +697,7 @@ msgstr ""
"*inner_size*: taille interne du message (0 à 64 pour BLAKE2b, 0 à 32 pour "
"BLAKE2s, 0 en mode séquentiel)."
#: library/hashlib.rst:436
#: library/hashlib.rst:434
msgid ""
"*last_node*: boolean indicating whether the processed node is the last one "
"(`False` for sequential mode)."
@ -708,7 +709,7 @@ msgstr ""
msgid "Explanation of tree mode parameters."
msgstr ""
#: library/hashlib.rst:442
#: library/hashlib.rst:440
msgid ""
"See section 2.10 in `BLAKE2 specification <https://blake2.net/"
"blake2_20130129.pdf>`_ for comprehensive review of tree hashing."
@ -716,38 +717,38 @@ msgstr ""
"Voir section 2.10 dans `BLAKE2 specification <https://blake2.net/"
"blake2_20130129.pdf>`_ pour une approche compréhensive du *tree hashing*."
#: library/hashlib.rst:448
#: library/hashlib.rst:446
msgid "Constants"
msgstr "Constantes"
#: library/hashlib.rst:453
#: library/hashlib.rst:451
msgid "Salt length (maximum length accepted by constructors)."
msgstr "Longueur du sel (longueur maximale acceptée par les constructeurs)."
#: library/hashlib.rst:459
#: library/hashlib.rst:457
msgid ""
"Personalization string length (maximum length accepted by constructors)."
msgstr ""
"Longueur de la chaîne de personnalisation (longueur maximale acceptée par "
"les constructeurs)."
#: library/hashlib.rst:465
#: library/hashlib.rst:463
msgid "Maximum key size."
msgstr "Taille maximale de clé."
#: library/hashlib.rst:471
#: library/hashlib.rst:469
msgid "Maximum digest size that the hash function can output."
msgstr "Taille maximale du message que peut fournir la fonction de hachage."
#: library/hashlib.rst:475
#: library/hashlib.rst:473
msgid "Examples"
msgstr "Exemples"
#: library/hashlib.rst:478
#: library/hashlib.rst:476
msgid "Simple hashing"
msgstr "Hachage simple"
#: library/hashlib.rst:480
#: library/hashlib.rst:478
msgid ""
"To calculate hash of some data, you should first construct a hash object by "
"calling the appropriate constructor function (:func:`blake2b` or :func:"
@ -762,7 +763,7 @@ msgstr ""
"l'empreinte du message en appelant la méthode :meth:`digest` (ou :meth:"
"`hexdigest` pour les chaînes hexadécimales)."
#: library/hashlib.rst:493
#: library/hashlib.rst:491
msgid ""
"As a shortcut, you can pass the first chunk of data to update directly to "
"the constructor as the positional argument:"
@ -770,7 +771,7 @@ msgstr ""
"Pour raccourcir, vous pouvez passer directement au constructeur, comme "
"argument positionnel, le premier morceau du message à mettre à jour ::"
#: library/hashlib.rst:500
#: library/hashlib.rst:498
msgid ""
"You can call :meth:`hash.update` as many times as you need to iteratively "
"update the hash:"
@ -778,11 +779,11 @@ msgstr ""
"Vous pouvez appeler la méthode :meth:`hash.update` autant de fois que "
"nécessaire pour mettre à jour le *hash* de manière itérative ::"
#: library/hashlib.rst:513
#: library/hashlib.rst:511
msgid "Using different digest sizes"
msgstr "Usage de tailles d'empreintes différentes"
#: library/hashlib.rst:515
#: library/hashlib.rst:513
msgid ""
"BLAKE2 has configurable size of digests up to 64 bytes for BLAKE2b and up to "
"32 bytes for BLAKE2s. For example, to replace SHA-1 with BLAKE2b without "
@ -793,7 +794,7 @@ msgstr ""
"par BLAKE2b sans changer la taille de la sortie, nous pouvons dire à BLAKE2b "
"de produire une empreinte de 20 octets ::"
#: library/hashlib.rst:529
#: library/hashlib.rst:527
msgid ""
"Hash objects with different digest sizes have completely different outputs "
"(shorter hashes are *not* prefixes of longer hashes); BLAKE2b and BLAKE2s "
@ -804,11 +805,11 @@ msgstr ""
"de *hash* plus longs); BLAKE2b et BLAKE2s produisent des sorties différentes "
"même si les longueurs des sorties sont les mêmes ::"
#: library/hashlib.rst:545
#: library/hashlib.rst:543
msgid "Keyed hashing"
msgstr "Code d'authentification de message"
#: library/hashlib.rst:547
#: library/hashlib.rst:545
#, fuzzy
msgid ""
"Keyed hashing can be used for authentication as a faster and simpler "
@ -823,7 +824,7 @@ msgstr ""
"manière sécurisée dans le mode préfixe MAC grâce à la propriété "
"d'indifférentiabilité héritée de BLAKE."
#: library/hashlib.rst:553
#: library/hashlib.rst:551
msgid ""
"This example shows how to get a (hex-encoded) 128-bit authentication code "
"for message ``b'message data'`` with key ``b'pseudorandom key'``::"
@ -832,7 +833,7 @@ msgstr ""
"128-bit (en hexadécimal) pour un message ``b'message data'`` avec la clé "
"``b'pseudorandom key'`` ::"
#: library/hashlib.rst:563
#: library/hashlib.rst:561
msgid ""
"As a practical example, a web application can symmetrically sign cookies "
"sent to users and later verify them to make sure they weren't tampered with::"
@ -841,7 +842,7 @@ msgstr ""
"*cookies* envoyés aux utilisateurs et les vérifier plus tard pour être "
"certaine qu'ils n'aient pas été altérés ::"
#: library/hashlib.rst:592
#: library/hashlib.rst:590
msgid ""
"Even though there's a native keyed hashing mode, BLAKE2 can, of course, be "
"used in HMAC construction with :mod:`hmac` module::"
@ -850,11 +851,11 @@ msgstr ""
"(MAC), BLAKE2 peut, bien sûr, être utilisé pour construire un HMAC en "
"combinaison du module :mod:`hmac` ::"
#: library/hashlib.rst:603
#: library/hashlib.rst:601
msgid "Randomized hashing"
msgstr "Hachage randomisé"
#: library/hashlib.rst:605
#: library/hashlib.rst:603
msgid ""
"By setting *salt* parameter users can introduce randomization to the hash "
"function. Randomized hashing is useful for protecting against collision "
@ -865,7 +866,7 @@ msgstr ""
"se protéger des attaques par collisions sur les fonctions de hachage "
"utilisées dans les signatures numériques."
#: library/hashlib.rst:609
#: library/hashlib.rst:607
msgid ""
"Randomized hashing is designed for situations where one party, the message "
"preparer, generates all or part of a message to be signed by a second party, "
@ -905,7 +906,7 @@ msgstr ""
"par une signature numérique lorsque tous les morceaux du message sont "
"préparés par le signataire."
#: library/hashlib.rst:628
#: library/hashlib.rst:626
msgid ""
"(`NIST SP-800-106 \"Randomized Hashing for Digital Signatures\" <https://"
"csrc.nist.gov/publications/detail/sp/800-106/final>`_)"
@ -913,7 +914,7 @@ msgstr ""
"(`NIST SP-800-106 \"Randomized Hashing for Digital Signatures\" <https://"
"csrc.nist.gov/publications/detail/sp/800-106/final>`_, article en anglais)"
#: library/hashlib.rst:631
#: library/hashlib.rst:629
msgid ""
"In BLAKE2 the salt is processed as a one-time input to the hash function "
"during initialization, rather than as an input to each compression function."
@ -921,7 +922,7 @@ msgstr ""
"Dans BLAKE2, le sel est passé une seule fois lors de l'initialisation de la "
"fonction de hachage, plutôt qu'à chaque appel d'une fonction de compression."
#: library/hashlib.rst:636
#: library/hashlib.rst:634
msgid ""
"*Salted hashing* (or just hashing) with BLAKE2 or any other general-purpose "
"cryptographic hash function, such as SHA-256, is not suitable for hashing "
@ -932,11 +933,11 @@ msgstr ""
"mots de passe. Voir `BLAKE2 FAQ <https://blake2.net/#qa>`_ pour plus "
"d'informations."
#: library/hashlib.rst:659
#: library/hashlib.rst:657
msgid "Personalization"
msgstr "Personnalisation"
#: library/hashlib.rst:661
#: library/hashlib.rst:659
msgid ""
"Sometimes it is useful to force hash function to produce different digests "
"for the same input for different purposes. Quoting the authors of the Skein "
@ -946,7 +947,7 @@ msgstr ""
"différentes empreintes de message d'une même entrée pour différentes "
"utilisations. Pour citer les auteurs de la fonction de hachage Skein  ::"
#: library/hashlib.rst:665
#: library/hashlib.rst:663
msgid ""
"We recommend that all application designers seriously consider doing this; "
"we have seen many protocols where a hash that is computed in one part of the "
@ -963,7 +964,7 @@ msgstr ""
"prendre en entrée le même *hash*. Personnaliser chaque fonction de hachage "
"utilisée dans le protocole stoppe immédiatement ce genre d'attaque."
#: library/hashlib.rst:672
#: library/hashlib.rst:670
msgid ""
"(`The Skein Hash Function Family <http://www.skein-hash.info/sites/default/"
"files/skein1.3.pdf>`_, p. 21)"
@ -971,12 +972,12 @@ msgstr ""
"(`The Skein Hash Function Family <http://www.skein-hash.info/sites/default/"
"files/skein1.3.pdf>`_, p. 21, article en anglais)"
#: library/hashlib.rst:676
#: library/hashlib.rst:674
msgid "BLAKE2 can be personalized by passing bytes to the *person* argument::"
msgstr ""
"BLAKE2 peut être personnalisé en passant des *bytes* à l'argument *person* ::"
#: library/hashlib.rst:690
#: library/hashlib.rst:688
msgid ""
"Personalization together with the keyed mode can also be used to derive "
"different keys from a single one."
@ -984,17 +985,17 @@ msgstr ""
"La personnalisation et le *keyed mode* peuvent être utilisés ensemble pour "
"dériver différentes clés à partir d'une seule."
#: library/hashlib.rst:704
#: library/hashlib.rst:702
msgid "Tree mode"
msgstr "Mode Arbre"
#: library/hashlib.rst:706
#: library/hashlib.rst:704
msgid "Here's an example of hashing a minimal tree with two leaf nodes::"
msgstr ""
"L'exemple ci-dessous présente comment hacher un arbre minimal avec deux "
"nœuds terminaux ::"
#: library/hashlib.rst:712
#: library/hashlib.rst:710
msgid ""
"This example uses 64-byte internal digests, and returns the 32-byte final "
"digest::"
@ -1002,11 +1003,11 @@ msgstr ""
"Cet exemple utilise en interne des empreintes de 64 octets, et produit "
"finalement des empreintes 32 octets ::"
#: library/hashlib.rst:742
#: library/hashlib.rst:740
msgid "Credits"
msgstr "Crédits"
#: library/hashlib.rst:744
#: library/hashlib.rst:742
msgid ""
"BLAKE2_ was designed by *Jean-Philippe Aumasson*, *Samuel Neves*, *Zooko "
"Wilcox-O'Hearn*, and *Christian Winnerlein* based on SHA-3_ finalist BLAKE_ "
@ -1018,7 +1019,7 @@ msgstr ""
"créé par *Jean-Philippe Aumasson*, *Luca Henzen*, *Willi Meier*, et *Raphael "
"C.-W. Phan*."
#: library/hashlib.rst:749
#: library/hashlib.rst:747
msgid ""
"It uses core algorithm from ChaCha_ cipher designed by *Daniel J. "
"Bernstein*."
@ -1026,7 +1027,7 @@ msgstr ""
"Il utilise le cœur de l'algorithme de chiffrement de ChaCha_ conçu par "
"*Daniel J. Bernstein*."
#: library/hashlib.rst:751
#: library/hashlib.rst:749
msgid ""
"The stdlib implementation is based on pyblake2_ module. It was written by "
"*Dmitry Chestnykh* based on C implementation written by *Samuel Neves*. The "
@ -1037,12 +1038,12 @@ msgstr ""
"l'implémentation C écrite par *Samuel Neves*. La documentation a été copiée "
"depuis pyblake2_ et écrite par *Dmitry Chestnykh*."
#: library/hashlib.rst:755
#: library/hashlib.rst:753
msgid "The C code was partly rewritten for Python by *Christian Heimes*."
msgstr ""
"Le code C a été partiellement réécrit pour Python par *Christian Heimes*."
#: library/hashlib.rst:757
#: library/hashlib.rst:755
msgid ""
"The following public domain dedication applies for both C hash function "
"implementation, extension code, and this documentation:"
@ -1050,7 +1051,7 @@ msgstr ""
"Le transfert dans le domaine publique s'applique pour l'implémentation C de "
"la fonction de hachage, ses extensions et cette documentation ::"
#: library/hashlib.rst:760
#: library/hashlib.rst:758
msgid ""
"To the extent possible under law, the author(s) have dedicated all copyright "
"and related and neighboring rights to this software to the public domain "
@ -1061,7 +1062,7 @@ msgstr ""
"domaine public dans le monde entier. Ce logiciel est distribué sans aucune "
"garantie."
#: library/hashlib.rst:764
#: library/hashlib.rst:762
msgid ""
"You should have received a copy of the CC0 Public Domain Dedication along "
"with this software. If not, see https://creativecommons.org/publicdomain/"
@ -1071,7 +1072,7 @@ msgstr ""
"Domain Dedication*. Sinon, voir https://creativecommons.org/publicdomain/"
"zero/1.0/."
#: library/hashlib.rst:768
#: library/hashlib.rst:766
msgid ""
"The following people have helped with development or contributed their "
"changes to the project and the public domain according to the Creative "
@ -1081,38 +1082,38 @@ msgstr ""
"modification du projet et au domaine public selon la licence Creative "
"Commons Public Domain Dedication 1.0 Universal ::"
#: library/hashlib.rst:772
#: library/hashlib.rst:770
msgid "*Alexandr Sokolovskiy*"
msgstr "*Alexandr Sokolovskiy*"
#: library/hashlib.rst:787
#: library/hashlib.rst:785
msgid "Module :mod:`hmac`"
msgstr "Module :mod:`hmac`"
#: library/hashlib.rst:787
#: library/hashlib.rst:785
msgid "A module to generate message authentication codes using hashes."
msgstr ""
"Un module pour générer des codes d'authentification utilisant des *hash*."
#: library/hashlib.rst:790
#: library/hashlib.rst:788
msgid "Module :mod:`base64`"
msgstr "Module :mod:`base64`"
#: library/hashlib.rst:790
#: library/hashlib.rst:788
msgid "Another way to encode binary hashes for non-binary environments."
msgstr ""
"Un autre moyen d'encoder des *hash* binaires dans des environnements non "
"binaires."
#: library/hashlib.rst:793
#: library/hashlib.rst:791
msgid "https://blake2.net"
msgstr "https://blake2.net"
#: library/hashlib.rst:793
#: library/hashlib.rst:791
msgid "Official BLAKE2 website."
msgstr "Site officiel de BLAKE2."
#: library/hashlib.rst:796
#: library/hashlib.rst:794
msgid ""
"https://csrc.nist.gov/csrc/media/publications/fips/180/2/archive/2002-08-01/"
"documents/fips180-2.pdf"
@ -1120,11 +1121,11 @@ msgstr ""
"https://csrc.nist.gov/csrc/media/publications/fips/180/2/archive/2002-08-01/"
"documents/fips180-2.pdf"
#: library/hashlib.rst:796
#: library/hashlib.rst:794
msgid "The FIPS 180-2 publication on Secure Hash Algorithms."
msgstr "La publication FIPS 180-2 sur les algorithmes de hachage sécurisés."
#: library/hashlib.rst:800
#: library/hashlib.rst:798
msgid ""
"https://en.wikipedia.org/wiki/"
"Cryptographic_hash_function#Cryptographic_hash_algorithms"
@ -1132,7 +1133,7 @@ msgstr ""
"https://en.wikipedia.org/wiki/"
"Cryptographic_hash_function#Cryptographic_hash_algorithms"
#: library/hashlib.rst:799
#: library/hashlib.rst:797
msgid ""
"Wikipedia article with information on which algorithms have known issues and "
"what that means regarding their use."
@ -1140,22 +1141,22 @@ msgstr ""
"Article Wikipedia contenant les informations relatives aux algorithmes ayant "
"des problèmes et leur interprétation au regard de leur utilisation."
#: library/hashlib.rst:803
#: library/hashlib.rst:801
#, fuzzy
msgid "https://www.ietf.org/rfc/rfc8018.txt"
msgstr "https://www.ietf.org/rfc/rfc2898.txt"
#: library/hashlib.rst:803
#: library/hashlib.rst:801
#, fuzzy
msgid "PKCS #5: Password-Based Cryptography Specification Version 2.1"
msgstr "PKCS #5: Password-Based Cryptography Specification Version 2.0"
#: library/hashlib.rst:805
#: library/hashlib.rst:803
msgid ""
"https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf"
msgstr ""
#: library/hashlib.rst:806
#: library/hashlib.rst:804
msgid "NIST Recommendation for Password-Based Key Derivation."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2020-07-20 15:05+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -61,14 +61,11 @@ msgstr ""
"Le module :mod:`http.cookiejar` fournit un mécanisme de persistance des "
"cookies"
#: library/http.rst:24
#: library/http.rst:25
msgid ""
":mod:`http` is also a module that defines a number of HTTP status codes and "
"associated messages through the :class:`http.HTTPStatus` enum:"
"The :mod:`http` module also defines the following enums that help you work "
"with http related code:"
msgstr ""
":mod:`http` est aussi un module qui définit une liste de codes d'état HTTP "
"et les messages associés par le biais de l'énumération :class:`http."
"HTTPStatus` :"
#: library/http.rst:31
msgid ""
@ -78,7 +75,7 @@ msgstr ""
"Sous-classe de :class:`enum.IntEnum` qui définit un ensemble de codes d'état "
"HTTP, messages explicatifs et descriptions complètes écrites en anglais."
#: library/http.rst:34
#: library/http.rst:146
msgid "Usage::"
msgstr "Utilisation ::"
@ -87,9 +84,10 @@ msgid "HTTP status codes"
msgstr "Codes d'état HTTP"
#: library/http.rst:55
#, fuzzy
msgid ""
"Supported, `IANA-registered <https://www.iana.org/assignments/http-status-"
"codes/http-status-codes.xhtml>`_ status codes available in :class:`http."
"Supported, `IANA-registered status codes <https://www.iana.org/assignments/"
"http-status-codes/http-status-codes.xhtml>`_ available in :class:`http."
"HTTPStatus` are:"
msgstr ""
"Les codes d'état disponibles (`enregistrés auprès de l'IANA <https://www."
@ -100,11 +98,11 @@ msgstr ""
msgid "Code"
msgstr "Code"
#: library/http.rst:60
#: library/http.rst:170
msgid "Enum Name"
msgstr "Message"
#: library/http.rst:60
#: library/http.rst:170
msgid "Details"
msgstr "Détails"
@ -880,3 +878,121 @@ msgid ""
"Added ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` and ``425 TOO_EARLY`` status "
"codes."
msgstr ""
#: library/http.rst:144
#, fuzzy
msgid ""
"A subclass of :class:`enum.StrEnum` that defines a set of HTTP methods and "
"descriptions written in English."
msgstr ""
"Sous-classe de :class:`enum.IntEnum` qui définit un ensemble de codes d'état "
"HTTP, messages explicatifs et descriptions complètes écrites en anglais."
#: library/http.rst:163
#, fuzzy
msgid "HTTP methods"
msgstr "Codes d'état HTTP"
#: library/http.rst:165
#, fuzzy
msgid ""
"Supported, `IANA-registered methods <https://www.iana.org/assignments/http-"
"methods/http-methods.xhtml>`_ available in :class:`http.HTTPMethod` are:"
msgstr ""
"Les codes d'état disponibles (`enregistrés auprès de l'IANA <https://www."
"iana.org/assignments/http-status-codes/http-status-codes.xhtml>`_) dans :"
"class:`http.HTTPStatus` sont :"
#: library/http.rst:170
msgid "Method"
msgstr ""
#: library/http.rst:172
msgid "``GET``"
msgstr ""
#: library/http.rst:172
#, fuzzy
msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.1"
msgstr "HTTP/1.1 :rfc:`7231`, Section 6.3.1"
#: library/http.rst:173
msgid "``HEAD``"
msgstr ""
#: library/http.rst:173
#, fuzzy
msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.2"
msgstr "HTTP/1.1 :rfc:`7231`, Section 6.3.2"
#: library/http.rst:174
msgid "``POST``"
msgstr ""
#: library/http.rst:174
#, fuzzy
msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.3"
msgstr "HTTP/1.1 :rfc:`7231`, Section 6.3.3"
#: library/http.rst:175
msgid "``PUT``"
msgstr ""
#: library/http.rst:175
#, fuzzy
msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.4"
msgstr "HTTP/1.1 :rfc:`7231`, Section 6.3.4"
#: library/http.rst:176
msgid "``DELETE``"
msgstr ""
#: library/http.rst:176
#, fuzzy
msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.5"
msgstr "HTTP/1.1 :rfc:`7231`, Section 6.3.5"
#: library/http.rst:177
#, fuzzy
msgid "``CONNECT``"
msgstr "``CONFLICT``"
#: library/http.rst:177
#, fuzzy
msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.6"
msgstr "HTTP/1.1 :rfc:`7231`, Section 6.3.6"
#: library/http.rst:178
msgid "``OPTIONS``"
msgstr ""
#: library/http.rst:178
#, fuzzy
msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.7"
msgstr "HTTP/1.1 :rfc:`7231`, Section 6.3.1"
#: library/http.rst:179
msgid "``TRACE``"
msgstr ""
#: library/http.rst:179
#, fuzzy
msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.8"
msgstr "HTTP/1.1 :rfc:`7231`, Section 6.3.1"
#: library/http.rst:180
msgid "``PATCH``"
msgstr ""
#: library/http.rst:180
#, fuzzy
msgid "HTTP/1.1 :rfc:`5789`"
msgstr "HTTP/1.1 :rfc:`7233`, Section 4.1"
#~ msgid ""
#~ ":mod:`http` is also a module that defines a number of HTTP status codes "
#~ "and associated messages through the :class:`http.HTTPStatus` enum:"
#~ msgstr ""
#~ ":mod:`http` est aussi un module qui définit une liste de codes d'état "
#~ "HTTP et les messages associés par le biais de l'énumération :class:`http."
#~ "HTTPStatus` :"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -186,21 +186,23 @@ msgstr ""
#: library/http.server.rst:160
msgid ""
"This specifies the HTTP protocol version used in responses. If set to "
"``'HTTP/1.1'``, the server will permit HTTP persistent connections; however, "
"your server *must* then include an accurate ``Content-Length`` header "
"(using :meth:`send_header`) in all of its responses to clients. For "
"backwards compatibility, the setting defaults to ``'HTTP/1.0'``."
"Specifies the HTTP version to which the server is conformant. It is sent in "
"responses to let the client know the server's communication capabilities for "
"future requests. If set to ``'HTTP/1.1'``, the server will permit HTTP "
"persistent connections; however, your server *must* then include an accurate "
"``Content-Length`` header (using :meth:`send_header`) in all of its "
"responses to clients. For backwards compatibility, the setting defaults to "
"``'HTTP/1.0'``."
msgstr ""
#: library/http.server.rst:168
#: library/http.server.rst:170
msgid ""
"Specifies an :class:`email.message.Message`\\ -like class to parse HTTP "
"headers. Typically, this is not overridden, and it defaults to :class:`http."
"client.HTTPMessage`."
msgstr ""
#: library/http.server.rst:174
#: library/http.server.rst:176
msgid ""
"This attribute contains a mapping of error code integers to two-element "
"tuples containing a short and long message. For example, ``{code: "
@ -209,33 +211,33 @@ msgid ""
"It is used by :meth:`send_response_only` and :meth:`send_error` methods."
msgstr ""
#: library/http.server.rst:180
#: library/http.server.rst:182
msgid "A :class:`BaseHTTPRequestHandler` instance has the following methods:"
msgstr ""
#: library/http.server.rst:184
#: library/http.server.rst:186
msgid ""
"Calls :meth:`handle_one_request` once (or, if persistent connections are "
"enabled, multiple times) to handle incoming HTTP requests. You should never "
"need to override it; instead, implement appropriate :meth:`do_\\*` methods."
msgstr ""
#: library/http.server.rst:191
#: library/http.server.rst:193
msgid ""
"This method will parse and dispatch the request to the appropriate :meth:"
"`do_\\*` method. You should never need to override it."
msgstr ""
#: library/http.server.rst:196
#: library/http.server.rst:198
msgid ""
"When a HTTP/1.1 compliant server receives an ``Expect: 100-continue`` "
"When an HTTP/1.1 conformant server receives an ``Expect: 100-continue`` "
"request header it responds back with a ``100 Continue`` followed by ``200 "
"OK`` headers. This method can be overridden to raise an error if the server "
"does not want the client to continue. For e.g. server can choose to send "
"``417 Expectation Failed`` as a response header and ``return False``."
msgstr ""
#: library/http.server.rst:207
#: library/http.server.rst:209
msgid ""
"Sends and logs a complete error reply to the client. The numeric *code* "
"specifies the HTTP error code, with *message* as an optional, short, human "
@ -250,13 +252,13 @@ msgid ""
"Reset Content``, ``304 Not Modified``."
msgstr ""
#: library/http.server.rst:219
#: library/http.server.rst:221
msgid ""
"The error response includes a Content-Length header. Added the *explain* "
"argument."
msgstr ""
#: library/http.server.rst:225
#: library/http.server.rst:227
msgid ""
"Adds a response header to the headers buffer and logs the accepted request. "
"The HTTP response line is written to the internal buffer, followed by "
@ -267,13 +269,13 @@ msgid ""
"followed by an :meth:`end_headers` call."
msgstr ""
#: library/http.server.rst:234
#: library/http.server.rst:236
msgid ""
"Headers are stored to an internal buffer and :meth:`end_headers` needs to be "
"called explicitly."
msgstr ""
#: library/http.server.rst:240
#: library/http.server.rst:242
msgid ""
"Adds the HTTP header to an internal buffer which will be written to the "
"output stream when either :meth:`end_headers` or :meth:`flush_headers` is "
@ -282,11 +284,11 @@ msgid ""
"`end_headers` MUST BE called in order to complete the operation."
msgstr ""
#: library/http.server.rst:246
#: library/http.server.rst:248
msgid "Headers are stored in an internal buffer."
msgstr ""
#: library/http.server.rst:251
#: library/http.server.rst:253
msgid ""
"Sends the response header only, used for the purposes when ``100 Continue`` "
"response is sent by the server to the client. The headers not buffered and "
@ -294,37 +296,37 @@ msgid ""
"message corresponding the response *code* is sent."
msgstr ""
#: library/http.server.rst:260
#: library/http.server.rst:262
msgid ""
"Adds a blank line (indicating the end of the HTTP headers in the response) "
"to the headers buffer and calls :meth:`flush_headers()`."
msgstr ""
#: library/http.server.rst:264
#: library/http.server.rst:266
msgid "The buffered headers are written to the output stream."
msgstr ""
#: library/http.server.rst:269
#: library/http.server.rst:271
msgid ""
"Finally send the headers to the output stream and flush the internal headers "
"buffer."
msgstr ""
#: library/http.server.rst:276
#: library/http.server.rst:278
msgid ""
"Logs an accepted (successful) request. *code* should specify the numeric "
"HTTP code associated with the response. If a size of the response is "
"available, then it should be passed as the *size* parameter."
msgstr ""
#: library/http.server.rst:282
#: library/http.server.rst:284
msgid ""
"Logs an error when a request cannot be fulfilled. By default, it passes the "
"message to :meth:`log_message`, so it takes the same arguments (*format* and "
"additional values)."
msgstr ""
#: library/http.server.rst:289
#: library/http.server.rst:291
msgid ""
"Logs an arbitrary message to ``sys.stderr``. This is typically overridden to "
"create custom error logging mechanisms. The *format* argument is a standard "
@ -333,103 +335,103 @@ msgid ""
"and current date and time are prefixed to every message logged."
msgstr ""
#: library/http.server.rst:297
#: library/http.server.rst:299
msgid ""
"Returns the server software's version string. This is a combination of the :"
"attr:`server_version` and :attr:`sys_version` attributes."
msgstr ""
#: library/http.server.rst:302
#: library/http.server.rst:304
msgid ""
"Returns the date and time given by *timestamp* (which must be ``None`` or in "
"the format returned by :func:`time.time`), formatted for a message header. "
"If *timestamp* is omitted, it uses the current date and time."
msgstr ""
#: library/http.server.rst:306
#: library/http.server.rst:308
msgid "The result looks like ``'Sun, 06 Nov 1994 08:49:37 GMT'``."
msgstr ""
#: library/http.server.rst:310
#: library/http.server.rst:312
msgid "Returns the current date and time, formatted for logging."
msgstr ""
#: library/http.server.rst:314
#: library/http.server.rst:316
msgid "Returns the client address."
msgstr ""
#: library/http.server.rst:316
#: library/http.server.rst:318
msgid ""
"Previously, a name lookup was performed. To avoid name resolution delays, it "
"now always returns the IP address."
msgstr ""
#: library/http.server.rst:323
#: library/http.server.rst:325
msgid ""
"This class serves files from the directory *directory* and below, or the "
"current directory if *directory* is not provided, directly mapping the "
"directory structure to HTTP requests."
msgstr ""
#: library/http.server.rst:327
#: library/http.server.rst:329
msgid "The *directory* parameter."
msgstr ""
#: library/http.server.rst:330
#: library/http.server.rst:332
msgid "The *directory* parameter accepts a :term:`path-like object`."
msgstr ""
#: library/http.server.rst:333
#: library/http.server.rst:335
msgid ""
"A lot of the work, such as parsing the request, is done by the base class :"
"class:`BaseHTTPRequestHandler`. This class implements the :func:`do_GET` "
"and :func:`do_HEAD` functions."
msgstr ""
#: library/http.server.rst:337
#: library/http.server.rst:339
msgid ""
"The following are defined as class-level attributes of :class:"
"`SimpleHTTPRequestHandler`:"
msgstr ""
#: library/http.server.rst:342
#: library/http.server.rst:344
msgid ""
"This will be ``\"SimpleHTTP/\" + __version__``, where ``__version__`` is "
"defined at the module level."
msgstr ""
#: library/http.server.rst:347
#: library/http.server.rst:349
msgid ""
"A dictionary mapping suffixes into MIME types, contains custom overrides for "
"the default system mappings. The mapping is used case-insensitively, and so "
"should contain only lower-cased keys."
msgstr ""
#: library/http.server.rst:351
#: library/http.server.rst:353
msgid ""
"This dictionary is no longer filled with the default system mappings, but "
"only contains overrides."
msgstr ""
#: library/http.server.rst:355
#: library/http.server.rst:357
msgid ""
"The :class:`SimpleHTTPRequestHandler` class defines the following methods:"
msgstr ""
#: library/http.server.rst:359
#: library/http.server.rst:361
msgid ""
"This method serves the ``'HEAD'`` request type: it sends the headers it "
"would send for the equivalent ``GET`` request. See the :meth:`do_GET` method "
"for a more complete explanation of the possible headers."
msgstr ""
#: library/http.server.rst:365
#: library/http.server.rst:367
msgid ""
"The request is mapped to a local file by interpreting the request as a path "
"relative to the current working directory."
msgstr ""
#: library/http.server.rst:368
#: library/http.server.rst:370
msgid ""
"If the request was mapped to a directory, the directory is checked for a "
"file named ``index.html`` or ``index.htm`` (in that order). If found, the "
@ -439,7 +441,7 @@ msgid ""
"func:`~os.listdir` fails."
msgstr ""
#: library/http.server.rst:375
#: library/http.server.rst:377
msgid ""
"If the request was mapped to a file, it is opened. Any :exc:`OSError` "
"exception in opening the requested file is mapped to a ``404``, ``'File not "
@ -450,51 +452,51 @@ msgid ""
"*extensions_map* variable, and the file contents are returned."
msgstr ""
#: library/http.server.rst:383
#: library/http.server.rst:385
msgid ""
"A ``'Content-type:'`` header with the guessed content type is output, "
"followed by a ``'Content-Length:'`` header with the file's size and a "
"``'Last-Modified:'`` header with the file's modification time."
msgstr ""
#: library/http.server.rst:387
#: library/http.server.rst:389
msgid ""
"Then follows a blank line signifying the end of the headers, and then the "
"contents of the file are output. If the file's MIME type starts with ``text/"
"`` the file is opened in text mode; otherwise binary mode is used."
msgstr ""
#: library/http.server.rst:391
#: library/http.server.rst:393
msgid ""
"For example usage, see the implementation of the :func:`test` function "
"invocation in the :mod:`http.server` module."
msgstr ""
#: library/http.server.rst:394
#: library/http.server.rst:396
msgid "Support of the ``'If-Modified-Since'`` header."
msgstr ""
#: library/http.server.rst:397
#: library/http.server.rst:399
msgid ""
"The :class:`SimpleHTTPRequestHandler` class can be used in the following "
"manner in order to create a very basic webserver serving files relative to "
"the current directory::"
msgstr ""
#: library/http.server.rst:414
#: library/http.server.rst:416
msgid ""
":mod:`http.server` can also be invoked directly using the :option:`-m` "
"switch of the interpreter. Similar to the previous example, this serves "
"files relative to the current directory::"
msgstr ""
#: library/http.server.rst:420
#: library/http.server.rst:422
msgid ""
"The server listens to port 8000 by default. The default can be overridden by "
"passing the desired port number as an argument::"
msgstr ""
#: library/http.server.rst:425
#: library/http.server.rst:427
msgid ""
"By default, the server binds itself to all interfaces. The option ``-b/--"
"bind`` specifies a specific address to which it should bind. Both IPv4 and "
@ -502,40 +504,51 @@ msgid ""
"server to bind to localhost only::"
msgstr ""
#: library/http.server.rst:432
#: library/http.server.rst:434
msgid "``--bind`` argument was introduced."
msgstr ""
#: library/http.server.rst:435
#: library/http.server.rst:437
msgid "``--bind`` argument enhanced to support IPv6"
msgstr ""
#: library/http.server.rst:438
#: library/http.server.rst:440
msgid ""
"By default, the server uses the current directory. The option ``-d/--"
"directory`` specifies a directory to which it should serve the files. For "
"example, the following command uses a specific directory::"
msgstr ""
#: library/http.server.rst:444
#: library/http.server.rst:446
msgid "``--directory`` argument was introduced."
msgstr ""
#: library/http.server.rst:449
msgid ""
"By default, the server is conformant to HTTP/1.0. The option ``-p/--"
"protocol`` specifies the HTTP version to which the server is conformant. For "
"example, the following command runs an HTTP/1.1 conformant server::"
msgstr ""
#: library/http.server.rst:455
msgid "``--protocol`` argument was introduced."
msgstr ""
#: library/http.server.rst:460
msgid ""
"This class is used to serve either files or output of CGI scripts from the "
"current directory and below. Note that mapping HTTP hierarchic structure to "
"local directory structure is exactly as in :class:`SimpleHTTPRequestHandler`."
msgstr ""
#: library/http.server.rst:455
#: library/http.server.rst:466
msgid ""
"CGI scripts run by the :class:`CGIHTTPRequestHandler` class cannot execute "
"redirects (HTTP code 302), because code 200 (script output follows) is sent "
"prior to execution of the CGI script. This pre-empts the status code."
msgstr ""
#: library/http.server.rst:460
#: library/http.server.rst:471
msgid ""
"The class will however, run the CGI script, instead of serving it as a file, "
"if it guesses it to be a CGI script. Only directory-based CGI are used --- "
@ -543,41 +556,41 @@ msgid ""
"denoting CGI scripts."
msgstr ""
#: library/http.server.rst:465
#: library/http.server.rst:476
msgid ""
"The :func:`do_GET` and :func:`do_HEAD` functions are modified to run CGI "
"scripts and serve the output, instead of serving files, if the request leads "
"to somewhere below the ``cgi_directories`` path."
msgstr ""
#: library/http.server.rst:469
#: library/http.server.rst:480
msgid "The :class:`CGIHTTPRequestHandler` defines the following data member:"
msgstr ""
#: library/http.server.rst:473
#: library/http.server.rst:484
msgid ""
"This defaults to ``['/cgi-bin', '/htbin']`` and describes directories to "
"treat as containing CGI scripts."
msgstr ""
#: library/http.server.rst:476
#: library/http.server.rst:487
msgid "The :class:`CGIHTTPRequestHandler` defines the following method:"
msgstr ""
#: library/http.server.rst:480
#: library/http.server.rst:491
msgid ""
"This method serves the ``'POST'`` request type, only allowed for CGI "
"scripts. Error 501, \"Can only POST to CGI scripts\", is output when trying "
"to POST to a non-CGI url."
msgstr ""
#: library/http.server.rst:484
#: library/http.server.rst:495
msgid ""
"Note that CGI scripts will be run with UID of user nobody, for security "
"reasons. Problems with the CGI script will be translated to error 403."
msgstr ""
#: library/http.server.rst:487
#: library/http.server.rst:498
msgid ""
":class:`CGIHTTPRequestHandler` can be enabled in the command line by passing "
"the ``--cgi`` option::"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\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"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -22,173 +22,175 @@ msgstr ""
msgid "**Source code:** :source:`Lib/imghdr.py`"
msgstr "**Code source :** :source:`Lib/imghdr.py`"
#: library/imghdr.rst:10
msgid "The :mod:`imghdr` module is deprecated (see :pep:`594` for details)."
#: library/imghdr.rst:13
msgid ""
"The :mod:`imghdr` module is deprecated (see :pep:`PEP 594 <594#imghdr>` for "
"details and alternatives)."
msgstr ""
#: library/imghdr.rst:15
#: library/imghdr.rst:16
msgid ""
"The :mod:`imghdr` module determines the type of image contained in a file or "
"byte stream."
msgstr ""
#: library/imghdr.rst:18
#: library/imghdr.rst:19
#, fuzzy
msgid "The :mod:`imghdr` module defines the following function:"
msgstr "Le module :mod:`nis` définit les instructions suivantes :"
#: library/imghdr.rst:23
#: library/imghdr.rst:24
msgid ""
"Tests the image data contained in the file named by *file*, and returns a "
"string describing the image type. If optional *h* is provided, the *file* "
"argument is ignored and *h* is assumed to contain the byte stream to test."
msgstr ""
#: library/imghdr.rst:27
#: library/imghdr.rst:28
msgid "Accepts a :term:`path-like object`."
msgstr "Accepte un :term:`path-like object`."
#: library/imghdr.rst:30
#: library/imghdr.rst:31
msgid ""
"The following image types are recognized, as listed below with the return "
"value from :func:`what`:"
msgstr ""
#: library/imghdr.rst:34
#: library/imghdr.rst:35
msgid "Value"
msgstr "Valeur"
#: library/imghdr.rst:34
#: library/imghdr.rst:35
msgid "Image format"
msgstr ""
#: library/imghdr.rst:36
#: library/imghdr.rst:37
msgid "``'rgb'``"
msgstr "``'rgb'``"
#: library/imghdr.rst:36
#: library/imghdr.rst:37
msgid "SGI ImgLib Files"
msgstr ""
#: library/imghdr.rst:38
#: library/imghdr.rst:39
msgid "``'gif'``"
msgstr "``'gif'``"
#: library/imghdr.rst:38
#: library/imghdr.rst:39
msgid "GIF 87a and 89a Files"
msgstr ""
#: library/imghdr.rst:40
#: library/imghdr.rst:41
msgid "``'pbm'``"
msgstr "``'pbm'``"
#: library/imghdr.rst:40
#: library/imghdr.rst:41
msgid "Portable Bitmap Files"
msgstr ""
#: library/imghdr.rst:42
#: library/imghdr.rst:43
msgid "``'pgm'``"
msgstr "``'pgm'``"
#: library/imghdr.rst:42
#: library/imghdr.rst:43
msgid "Portable Graymap Files"
msgstr ""
#: library/imghdr.rst:44
#: library/imghdr.rst:45
msgid "``'ppm'``"
msgstr "``'ppm'``"
#: library/imghdr.rst:44
#: library/imghdr.rst:45
msgid "Portable Pixmap Files"
msgstr ""
#: library/imghdr.rst:46
#: library/imghdr.rst:47
msgid "``'tiff'``"
msgstr "``'tiff'``"
#: library/imghdr.rst:46
#: library/imghdr.rst:47
msgid "TIFF Files"
msgstr ""
#: library/imghdr.rst:48
#: library/imghdr.rst:49
msgid "``'rast'``"
msgstr "``'rast'``"
#: library/imghdr.rst:48
#: library/imghdr.rst:49
msgid "Sun Raster Files"
msgstr ""
#: library/imghdr.rst:50
#: library/imghdr.rst:51
msgid "``'xbm'``"
msgstr "``'xbm'``"
#: library/imghdr.rst:50
#: library/imghdr.rst:51
msgid "X Bitmap Files"
msgstr ""
#: library/imghdr.rst:52
#: library/imghdr.rst:53
msgid "``'jpeg'``"
msgstr "``'jpeg'``"
#: library/imghdr.rst:52
#: library/imghdr.rst:53
msgid "JPEG data in JFIF or Exif formats"
msgstr ""
#: library/imghdr.rst:54
#: library/imghdr.rst:55
msgid "``'bmp'``"
msgstr "``'bmp'``"
#: library/imghdr.rst:54
#: library/imghdr.rst:55
msgid "BMP files"
msgstr ""
#: library/imghdr.rst:56
#: library/imghdr.rst:57
msgid "``'png'``"
msgstr "``'png'``"
#: library/imghdr.rst:56
#: library/imghdr.rst:57
msgid "Portable Network Graphics"
msgstr ""
#: library/imghdr.rst:58
#: library/imghdr.rst:59
msgid "``'webp'``"
msgstr "``'webp'``"
#: library/imghdr.rst:58
#: library/imghdr.rst:59
msgid "WebP files"
msgstr ""
#: library/imghdr.rst:60
#: library/imghdr.rst:61
msgid "``'exr'``"
msgstr "``'exr'``"
#: library/imghdr.rst:60
#: library/imghdr.rst:61
msgid "OpenEXR Files"
msgstr ""
#: library/imghdr.rst:63
#: library/imghdr.rst:64
msgid "The *exr* and *webp* formats were added."
msgstr ""
#: library/imghdr.rst:67
#: library/imghdr.rst:68
msgid ""
"You can extend the list of file types :mod:`imghdr` can recognize by "
"appending to this variable:"
msgstr ""
#: library/imghdr.rst:73
#: library/imghdr.rst:74
msgid ""
"A list of functions performing the individual tests. Each function takes "
"two arguments: the byte-stream and an open file-like object. When :func:"
"`what` is called with a byte-stream, the file-like object will be ``None``."
msgstr ""
#: library/imghdr.rst:77
#: library/imghdr.rst:78
msgid ""
"The test function should return a string describing the image type if the "
"test succeeded, or ``None`` if it failed."
msgstr ""
#: library/imghdr.rst:80
#: library/imghdr.rst:81
msgid "Example::"
msgstr "Exemple ::"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -23,7 +23,7 @@ msgstr ""
msgid "**Source code:** :source:`Lib/imp.py`"
msgstr "**Code source :** :source:`Lib/gzip.py`"
#: library/imp.rst:10
#: library/imp.rst:12
msgid "The :mod:`imp` module is deprecated in favor of :mod:`importlib`."
msgstr ""

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-23 18:39+0100\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2019-09-04 11:42+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -32,9 +32,9 @@ msgid ""
"package metadata. Built in part on Python's import system, this library "
"intends to replace similar functionality in the `entry point API`_ and "
"`metadata API`_ of ``pkg_resources``. Along with :mod:`importlib.resources` "
"in Python 3.7 and newer (backported as `importlib_resources`_ for older "
"versions of Python), this can eliminate the need to use the older and less "
"efficient ``pkg_resources`` package."
"(with new features backported to the `importlib_resources`_ package), this "
"can eliminate the need to use the older and less efficient ``pkg_resources`` "
"package."
msgstr ""
#: library/importlib.metadata.rst:25

File diff suppressed because it is too large Load Diff

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.11\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"
"Report-Msgid-Bugs-To:\n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2022-05-23 00:50+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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"

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.11\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"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2022-05-23 00:50+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More