forked from AFPy/python-docs-fr
Make merge
This commit is contained in:
parent
e4c6328b99
commit
ba66481997
2
Makefile
2
Makefile
|
@ -20,7 +20,7 @@
|
|||
# from which we generated our po files. We use it here so when we
|
||||
# test build, we're building with the .rst files that generated our
|
||||
# .po files.
|
||||
CPYTHON_CURRENT_COMMIT := c62b944dfc98911a5050389fa6ac753e283fee1f
|
||||
CPYTHON_CURRENT_COMMIT := 748c83d96da735f8210167d676469860d4e11b80
|
||||
LANGUAGE := fr
|
||||
BRANCH := 3.11
|
||||
|
||||
|
|
115
bugs.po
115
bugs.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-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."
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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`."
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
@ -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 ""
|
||||
|
|
441
c-api/init.po
441
c-api/init.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -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."
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ""
|
||||
|
||||
|
|
|
@ -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 "
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:"
|
||||
|
|
|
@ -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 ""
|
||||
|
|
26
c-api/set.po
26
c-api/set.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-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 "
|
||||
|
|
|
@ -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."
|
||||
|
|
90
c-api/sys.po
90
c-api/sys.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-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 "
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
580
c-api/unicode.po
580
c-api/unicode.po
File diff suppressed because it is too large
Load Diff
|
@ -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."
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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 "
|
||||
|
|
134
faq/general.po
134
faq/general.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
|
||||
"POT-Creation-Date: 2022-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>`_."
|
||||
|
|
|
@ -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 "
|
||||
|
|
|
@ -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 d’indentation 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 "
|
||||
|
|
396
glossary.po
396
glossary.po
File diff suppressed because it is too large
Load Diff
|
@ -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 ""
|
||||
|
||||
|
|
107
howto/curses.po
107
howto/curses.po
|
@ -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 "
|
||||
|
|
|
@ -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 ""
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 "
|
||||
|
|
|
@ -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. "
|
||||
|
|
|
@ -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'``, "
|
||||
|
|
|
@ -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 "
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
|
@ -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
|
@ -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 "
|
||||
|
|
|
@ -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 d’accè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 d’accè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 "
|
||||
|
|
|
@ -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>`."
|
||||
|
|
|
@ -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 ""
|
|
@ -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 ""
|
|
@ -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."
|
||||
|
|
|
@ -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."
|
||||
|
|
|
@ -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
|
@ -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/`."
|
||||
|
|
|
@ -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::"
|
||||
|
|
|
@ -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 "
|
||||
|
|
|
@ -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. L’objet "
|
||||
"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 ""
|
|||
"d’erreurs 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 l’encodage *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 l’encodage *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 "
|
||||
|
|
|
@ -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 ::"
|
||||
|
|
184
library/cgi.po
184
library/cgi.po
|
@ -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 "
|
||||
|
|
|
@ -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 d’appels ; 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 d’appels ; 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 "
|
||||
|
|
|
@ -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."
|
||||
|
|
1155
library/codecs.po
1155
library/codecs.po
File diff suppressed because it is too large
Load Diff
|
@ -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 "
|
||||
|
|
|
@ -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::"
|
||||
|
|
|
@ -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 :"
|
||||
|
|
|
@ -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
1281
library/curses.po
1281
library/curses.po
File diff suppressed because it is too large
Load Diff
|
@ -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. C’est le cas que ce soit dans "
|
||||
"une seule classe ou si c’est le résultat d’un héritage de classes."
|
||||
|
||||
#: library/dataclasses.rst: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. "
|
||||
|
|
1192
library/datetime.po
1192
library/datetime.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
715
library/dis.po
715
library/dis.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -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
|
||||
|
|
|
@ -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 ""
|
||||
|
|
246
library/enum.po
246
library/enum.po
|
@ -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 ""
|
||||
|
||||
|
|
444
library/errno.po
444
library/errno.po
|
@ -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 d’enchaî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
|
@ -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 "
|
||||
|
|
|
@ -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."
|
||||
|
|
|
@ -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
|
@ -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 n’utilise 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 ""
|
||||
"L’attribut :func:`register` gère l’utilisation 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 ""
|
||||
"L’attribut :func:`register` gère l’utilisation 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 "
|
||||
|
|
|
@ -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)"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ""
|
||||
|
||||
|
|
140
library/http.po
140
library/http.po
|
@ -5,7 +5,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Python 3\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
|
||||
"POT-Creation-Date: 2022-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` :"
|
||||
|
|
|
@ -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::"
|
||||
|
|
|
@ -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 ::"
|
||||
|
|
|
@ -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 ""
|
||||
|
||||
|
|
|
@ -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
|
@ -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"
|
||||
|
|
|
@ -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
441
library/io.po
441
library/io.po
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
Loading…
Reference in New Issue