Make merge (#1766)

* Make merge

* Avoid a newline at each run of merge.py.
This commit is contained in:
Julien Palard 2021-11-05 23:32:47 +01:00 committed by GitHub
parent ff88ce44c3
commit 4955f79c65
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 2662 additions and 2439 deletions

View File

@ -20,9 +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 := 00ddc1fbd7296ffe066077194a895b175cca26de
CPYTHON_CURRENT_COMMIT := 75ed2ce9e86a7f213fa54e6f8cbbb3ab6f25b5a2
LANGUAGE := fr
BRANCH := 3.10

View File

@ -5,14 +5,14 @@ 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: 2021-11-04 18:14+0100\n"
"PO-Revision-Date: 2021-10-27 19:19+0200\n"
"Last-Translator: \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"
"Last-Translator: \n"
"X-Generator: Poedit 3.0\n"
#: c-api/bool.rst:6

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-11-04 18:14+0100\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"
@ -60,14 +60,31 @@ msgid ""
"initialized, it must call :c:func:`PyObject_GC_Track`."
msgstr ""
#: c-api/gcsupport.rst:37
#: c-api/gcsupport.rst:36
msgid ""
"Similarly, the deallocator for the object must conform to a similar pair of "
"rules:"
msgstr ""
#: c-api/gcsupport.rst:39
msgid ""
"Before fields which refer to other containers are invalidated, :c:func:"
"`PyObject_GC_UnTrack` must be called."
msgstr ""
#: c-api/gcsupport.rst:42
msgid ""
"The object's memory must be deallocated using :c:func:`PyObject_GC_Del`."
msgstr ""
#: c-api/gcsupport.rst:45
msgid ""
"If a type adds the Py_TPFLAGS_HAVE_GC, then it *must* implement at least a :"
"c:member:`~PyTypeObject.tp_traverse` handler or explicitly use one from its "
"subclass or subclasses."
msgstr ""
#: c-api/gcsupport.rst:41
#: c-api/gcsupport.rst:49
msgid ""
"When calling :c:func:`PyType_Ready` or some of the APIs that indirectly call "
"it like :c:func:`PyType_FromSpecWithBases` or :c:func:`PyType_FromSpec` the "
@ -78,26 +95,26 @@ msgid ""
"include the :const:`Py_TPFLAGS_HAVE_GC` flag."
msgstr ""
#: c-api/gcsupport.rst:51
#: c-api/gcsupport.rst:59
msgid ""
"Analogous to :c:func:`PyObject_New` but for container objects with the :"
"const:`Py_TPFLAGS_HAVE_GC` flag set."
msgstr ""
#: c-api/gcsupport.rst:57
#: c-api/gcsupport.rst:65
msgid ""
"Analogous to :c:func:`PyObject_NewVar` but for container objects with the :"
"const:`Py_TPFLAGS_HAVE_GC` flag set."
msgstr ""
#: c-api/gcsupport.rst:63
#: c-api/gcsupport.rst:71
msgid ""
"Resize an object allocated by :c:func:`PyObject_NewVar`. Returns the "
"resized object or ``NULL`` on failure. *op* must not be tracked by the "
"collector yet."
msgstr ""
#: c-api/gcsupport.rst:69
#: c-api/gcsupport.rst:77
msgid ""
"Adds the object *op* to the set of container objects tracked by the "
"collector. The collector can run at unexpected times so objects must be "
@ -106,55 +123,38 @@ msgid ""
"usually near the end of the constructor."
msgstr ""
#: c-api/gcsupport.rst:78
#: c-api/gcsupport.rst:86
msgid ""
"Returns non-zero if the object implements the garbage collector protocol, "
"otherwise returns 0."
msgstr ""
#: c-api/gcsupport.rst:81
#: c-api/gcsupport.rst:89
msgid ""
"The object cannot be tracked by the garbage collector if this function "
"returns 0."
msgstr ""
#: c-api/gcsupport.rst:86
#: c-api/gcsupport.rst:94
msgid ""
"Returns 1 if the object type of *op* implements the GC protocol and *op* is "
"being currently tracked by the garbage collector and 0 otherwise."
msgstr ""
#: c-api/gcsupport.rst:89
#: c-api/gcsupport.rst:97
msgid "This is analogous to the Python function :func:`gc.is_tracked`."
msgstr ""
#: c-api/gcsupport.rst:96
#: c-api/gcsupport.rst:104
msgid ""
"Returns 1 if the object type of *op* implements the GC protocol and *op* has "
"been already finalized by the garbage collector and 0 otherwise."
msgstr ""
#: c-api/gcsupport.rst:99
#: c-api/gcsupport.rst:107
msgid "This is analogous to the Python function :func:`gc.is_finalized`."
msgstr ""
#: c-api/gcsupport.rst:103
msgid ""
"Similarly, the deallocator for the object must conform to a similar pair of "
"rules:"
msgstr ""
#: c-api/gcsupport.rst:106
msgid ""
"Before fields which refer to other containers are invalidated, :c:func:"
"`PyObject_GC_UnTrack` must be called."
msgstr ""
#: c-api/gcsupport.rst:109
msgid ""
"The object's memory must be deallocated using :c:func:`PyObject_GC_Del`."
msgstr ""
#: c-api/gcsupport.rst:114
msgid ""
"Releases memory allocated to an object using :c:func:`PyObject_GC_New` or :c:"

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-11-04 18:14+0100\n"
"PO-Revision-Date: 2021-02-07 20:03+0100\n"
"Last-Translator: \n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -94,7 +94,13 @@ msgid ""
"of this function::"
msgstr ""
#: extending/newtypes.rst:83
#: extending/newtypes.rst:79
msgid ""
"If your type supports garbage collection, the destructor should call :c:func:"
"`PyObject_GC_UnTrack` before clearing any member fields::"
msgstr ""
#: extending/newtypes.rst:95
msgid ""
"One important requirement of the deallocator function is that it leaves any "
"pending exceptions alone. This is important since deallocators are "
@ -109,7 +115,7 @@ msgid ""
"c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` functions::"
msgstr ""
#: extending/newtypes.rst:122
#: extending/newtypes.rst:134
msgid ""
"There are limitations to what you can safely do in a deallocator function. "
"First, if your type supports garbage collection (using :c:member:"
@ -122,43 +128,43 @@ msgid ""
"tp_dealloc` again, causing a double free and a crash."
msgstr ""
#: extending/newtypes.rst:131
#: extending/newtypes.rst:143
msgid ""
"Starting with Python 3.4, it is recommended not to put any complex "
"finalization code in :c:member:`~PyTypeObject.tp_dealloc`, and instead use "
"the new :c:member:`~PyTypeObject.tp_finalize` type method."
msgstr ""
#: extending/newtypes.rst:136
#: extending/newtypes.rst:148
msgid ":pep:`442` explains the new finalization scheme."
msgstr ":pep:`442` explique le nouveau schéma de finalisation."
#: extending/newtypes.rst:143
#: extending/newtypes.rst:155
msgid "Object Presentation"
msgstr "Présentation de l'objet"
#: extending/newtypes.rst:145
#: extending/newtypes.rst:157
msgid ""
"In Python, there are two ways to generate a textual representation of an "
"object: the :func:`repr` function, and the :func:`str` function. (The :func:"
"`print` function just calls :func:`str`.) These handlers are both optional."
msgstr ""
#: extending/newtypes.rst:154
#: extending/newtypes.rst:166
msgid ""
"The :c:member:`~PyTypeObject.tp_repr` handler should return a string object "
"containing a representation of the instance for which it is called. Here is "
"a simple example::"
msgstr ""
#: extending/newtypes.rst:165
#: extending/newtypes.rst:177
msgid ""
"If no :c:member:`~PyTypeObject.tp_repr` handler is specified, the "
"interpreter will supply a representation that uses the type's :c:member:"
"`~PyTypeObject.tp_name` and a uniquely-identifying value for the object."
msgstr ""
#: extending/newtypes.rst:169
#: extending/newtypes.rst:181
msgid ""
"The :c:member:`~PyTypeObject.tp_str` handler is to :func:`str` what the :c:"
"member:`~PyTypeObject.tp_repr` handler described above is to :func:`repr`; "
@ -169,15 +175,15 @@ msgid ""
"the :c:member:`~PyTypeObject.tp_repr` handler is used instead."
msgstr ""
#: extending/newtypes.rst:176
#: extending/newtypes.rst:188
msgid "Here is a simple example::"
msgstr "Voici un exemple simple ::"
#: extending/newtypes.rst:188
#: extending/newtypes.rst:200
msgid "Attribute Management"
msgstr "Gestion des attributs"
#: extending/newtypes.rst:190
#: extending/newtypes.rst:202
msgid ""
"For every object which can support attributes, the corresponding type must "
"provide the functions that control how the attributes are resolved. There "
@ -187,7 +193,7 @@ msgid ""
"handler is ``NULL``."
msgstr ""
#: extending/newtypes.rst:196
#: extending/newtypes.rst:208
msgid ""
"Python supports two pairs of attribute handlers; a type that supports "
"attributes only needs to implement the functions for one pair. The "
@ -196,7 +202,7 @@ msgid ""
"use whichever pair makes more sense for the implementation's convenience. ::"
msgstr ""
#: extending/newtypes.rst:208
#: extending/newtypes.rst:220
msgid ""
"If accessing attributes of an object is always a simple operation (this will "
"be explained shortly), there are generic implementations which can be used "
@ -207,17 +213,17 @@ msgid ""
"mechanism that is available."
msgstr ""
#: extending/newtypes.rst:219
#: extending/newtypes.rst:231
msgid "Generic Attribute Management"
msgstr "Gestion des attributs génériques"
#: extending/newtypes.rst:221
#: extending/newtypes.rst:233
msgid ""
"Most extension types only use *simple* attributes. So, what makes the "
"attributes simple? There are only a couple of conditions that must be met:"
msgstr ""
#: extending/newtypes.rst:224
#: extending/newtypes.rst:236
msgid ""
"The name of the attributes must be known when :c:func:`PyType_Ready` is "
"called."
@ -225,19 +231,19 @@ msgstr ""
"Le nom des attributs doivent être déjà connus lorsqu'on lance :c:func:"
"`PyType_Ready`."
#: extending/newtypes.rst:227
#: extending/newtypes.rst:239
msgid ""
"No special processing is needed to record that an attribute was looked up or "
"set, nor do actions need to be taken based on the value."
msgstr ""
#: extending/newtypes.rst:230
#: extending/newtypes.rst:242
msgid ""
"Note that this list does not place any restrictions on the values of the "
"attributes, when the values are computed, or how relevant data is stored."
msgstr ""
#: extending/newtypes.rst:233
#: extending/newtypes.rst:245
msgid ""
"When :c:func:`PyType_Ready` is called, it uses three tables referenced by "
"the type object to create :term:`descriptor`\\s which are placed in the "
@ -249,19 +255,19 @@ msgid ""
"``NULL`` as well, allowing the base type to handle attributes."
msgstr ""
#: extending/newtypes.rst:241
#: extending/newtypes.rst:253
msgid "The tables are declared as three fields of the type object::"
msgstr ""
"Les tables sont déclarées sous la forme de trois champs de type objet ::"
#: extending/newtypes.rst:247
#: extending/newtypes.rst:259
msgid ""
"If :c:member:`~PyTypeObject.tp_methods` is not ``NULL``, it must refer to an "
"array of :c:type:`PyMethodDef` structures. Each entry in the table is an "
"instance of this structure::"
msgstr ""
#: extending/newtypes.rst:258
#: extending/newtypes.rst:270
msgid ""
"One entry should be defined for each method provided by the type; no entries "
"are needed for methods inherited from a base type. One additional entry is "
@ -269,7 +275,7 @@ msgid ""
"attr:`ml_name` field of the sentinel must be ``NULL``."
msgstr ""
#: extending/newtypes.rst:263
#: extending/newtypes.rst:275
msgid ""
"The second table is used to define attributes which map directly to data "
"stored in the instance. A variety of primitive C types are supported, and "
@ -277,7 +283,7 @@ msgid ""
"defined as::"
msgstr ""
#: extending/newtypes.rst:275
#: extending/newtypes.rst:287
msgid ""
"For each entry in the table, a :term:`descriptor` will be constructed and "
"added to the type which will be able to extract a value from the instance "
@ -288,40 +294,40 @@ msgid ""
"accessed."
msgstr ""
#: extending/newtypes.rst:282
#: extending/newtypes.rst:294
msgid ""
"The following flag constants are defined in :file:`structmember.h`; they may "
"be combined using bitwise-OR."
msgstr ""
#: extending/newtypes.rst:286
#: extending/newtypes.rst:298
msgid "Constant"
msgstr "Constante"
#: extending/newtypes.rst:286
#: extending/newtypes.rst:298
msgid "Meaning"
msgstr "Signification"
#: extending/newtypes.rst:288
#: extending/newtypes.rst:300
msgid ":const:`READONLY`"
msgstr ":const:`READONLY`"
#: extending/newtypes.rst:288
#: extending/newtypes.rst:300
msgid "Never writable."
msgstr "Jamais disponible en écriture."
#: extending/newtypes.rst:290
#: extending/newtypes.rst:302
#, fuzzy
msgid ":const:`PY_AUDIT_READ`"
msgstr ":const:`READONLY`"
#: extending/newtypes.rst:290
#: extending/newtypes.rst:302
msgid ""
"Emit an ``object.__getattr__`` :ref:`audit events <audit-events>` before "
"reading."
msgstr ""
#: extending/newtypes.rst:295
#: extending/newtypes.rst:307
msgid ""
":const:`RESTRICTED`, :const:`READ_RESTRICTED` and :const:`WRITE_RESTRICTED` "
"are deprecated. However, :const:`READ_RESTRICTED` is an alias for :const:"
@ -329,7 +335,7 @@ msgid ""
"`READ_RESTRICTED` will also raise an audit event."
msgstr ""
#: extending/newtypes.rst:308
#: extending/newtypes.rst:320
msgid ""
"An interesting advantage of using the :c:member:`~PyTypeObject.tp_members` "
"table to build descriptors that are used at runtime is that any attribute "
@ -346,17 +352,17 @@ msgstr ""
"descripteur de l'objet de classe, et utiliser son attribut :attr:`__doc__` "
"pour renvoyer le *docstring*."
#: extending/newtypes.rst:314
#: extending/newtypes.rst:326
msgid ""
"As with the :c:member:`~PyTypeObject.tp_methods` table, a sentinel entry "
"with a :attr:`name` value of ``NULL`` is required."
msgstr ""
#: extending/newtypes.rst:328
#: extending/newtypes.rst:340
msgid "Type-specific Attribute Management"
msgstr "Gestion des attributs de type spécifiques"
#: extending/newtypes.rst:330
#: extending/newtypes.rst:342
msgid ""
"For simplicity, only the :c:type:`char\\*` version will be demonstrated "
"here; the type of the name parameter is the only difference between the :c:"
@ -367,18 +373,18 @@ msgid ""
"functionality, you'll understand what needs to be done."
msgstr ""
#: extending/newtypes.rst:338
#: extending/newtypes.rst:350
msgid ""
"The :c:member:`~PyTypeObject.tp_getattr` handler is called when the object "
"requires an attribute look-up. It is called in the same situations where "
"the :meth:`__getattr__` method of a class would be called."
msgstr ""
#: extending/newtypes.rst:342
#: extending/newtypes.rst:354
msgid "Here is an example::"
msgstr "Voici un exemple ::"
#: extending/newtypes.rst:358
#: extending/newtypes.rst:370
msgid ""
"The :c:member:`~PyTypeObject.tp_setattr` handler is called when the :meth:"
"`__setattr__` or :meth:`__delattr__` method of a class instance would be "
@ -388,11 +394,11 @@ msgid ""
"should be set to ``NULL``. ::"
msgstr ""
#: extending/newtypes.rst:372
#: extending/newtypes.rst:384
msgid "Object Comparison"
msgstr "Comparaison des objets"
#: extending/newtypes.rst:378
#: extending/newtypes.rst:390
msgid ""
"The :c:member:`~PyTypeObject.tp_richcompare` handler is called when "
"comparisons are needed. It is analogous to the :ref:`rich comparison "
@ -400,34 +406,34 @@ msgid ""
"`PyObject_RichCompare` and :c:func:`PyObject_RichCompareBool`."
msgstr ""
#: extending/newtypes.rst:383
#: extending/newtypes.rst:395
msgid ""
"This function is called with two Python objects and the operator as "
"arguments, where the operator is one of ``Py_EQ``, ``Py_NE``, ``Py_LE``, "
"``Py_GT``, ``Py_LT`` or ``Py_GT``. It should compare the two objects with "
"``Py_GE``, ``Py_LT`` or ``Py_GT``. It should compare the two objects with "
"respect to the specified operator and return ``Py_True`` or ``Py_False`` if "
"the comparison is successful, ``Py_NotImplemented`` to indicate that "
"comparison is not implemented and the other object's comparison method "
"should be tried, or ``NULL`` if an exception was set."
msgstr ""
#: extending/newtypes.rst:391
#: extending/newtypes.rst:403
msgid ""
"Here is a sample implementation, for a datatype that is considered equal if "
"the size of an internal pointer is equal::"
msgstr ""
#: extending/newtypes.rst:421
#: extending/newtypes.rst:433
msgid "Abstract Protocol Support"
msgstr "Support pour le protocole abstrait"
#: extending/newtypes.rst:423
#: extending/newtypes.rst:435
msgid ""
"Python supports a variety of *abstract* 'protocols;' the specific interfaces "
"provided to use these interfaces are documented in :ref:`abstract`."
msgstr ""
#: extending/newtypes.rst:427
#: extending/newtypes.rst:439
msgid ""
"A number of these abstract interfaces were defined early in the development "
"of the Python implementation. In particular, the number, mapping, and "
@ -442,7 +448,7 @@ msgid ""
"slot, but a slot may still be unfilled.) ::"
msgstr ""
#: extending/newtypes.rst:442
#: extending/newtypes.rst:454
msgid ""
"If you wish your object to be able to act like a number, a sequence, or a "
"mapping object, then you place the address of a structure that implements "
@ -453,13 +459,13 @@ msgid ""
"distribution. ::"
msgstr ""
#: extending/newtypes.rst:451
#: extending/newtypes.rst:463
msgid ""
"This function, if you choose to provide it, should return a hash number for "
"an instance of your data type. Here is a simple example::"
msgstr ""
#: extending/newtypes.rst:464
#: extending/newtypes.rst:476
msgid ""
":c:type:`Py_hash_t` is a signed integer type with a platform-varying width. "
"Returning ``-1`` from :c:member:`~PyTypeObject.tp_hash` indicates an error, "
@ -467,7 +473,7 @@ msgid ""
"computation is successful, as seen above."
msgstr ""
#: extending/newtypes.rst:473
#: extending/newtypes.rst:485
msgid ""
"This function is called when an instance of your data type is \"called\", "
"for example, if ``obj1`` is an instance of your data type and the Python "
@ -475,23 +481,23 @@ msgid ""
"handler is invoked."
msgstr ""
#: extending/newtypes.rst:477
#: extending/newtypes.rst:489
msgid "This function takes three arguments:"
msgstr "Cette fonction prend trois arguments :"
#: extending/newtypes.rst:479
#: extending/newtypes.rst:491
msgid ""
"*self* is the instance of the data type which is the subject of the call. If "
"the call is ``obj1('hello')``, then *self* is ``obj1``."
msgstr ""
#: extending/newtypes.rst:482
#: extending/newtypes.rst:494
msgid ""
"*args* is a tuple containing the arguments to the call. You can use :c:func:"
"`PyArg_ParseTuple` to extract the arguments."
msgstr ""
#: extending/newtypes.rst:485
#: extending/newtypes.rst:497
msgid ""
"*kwds* is a dictionary of keyword arguments that were passed. If this is non-"
"``NULL`` and you support keyword arguments, use :c:func:"
@ -500,11 +506,11 @@ msgid ""
"`TypeError` with a message saying that keyword arguments are not supported."
msgstr ""
#: extending/newtypes.rst:491
#: extending/newtypes.rst:503
msgid "Here is a toy ``tp_call`` implementation::"
msgstr "Ceci est une implémentation ``tp_call`` très simple ::"
#: extending/newtypes.rst:517
#: extending/newtypes.rst:529
msgid ""
"These functions provide support for the iterator protocol. Both handlers "
"take exactly one parameter, the instance for which they are being called, "
@ -515,7 +521,7 @@ msgid ""
"__next__` method."
msgstr ""
#: extending/newtypes.rst:524
#: extending/newtypes.rst:536
msgid ""
"Any :term:`iterable` object must implement the :c:member:`~PyTypeObject."
"tp_iter` handler, which must return an :term:`iterator` object. Here the "
@ -526,7 +532,7 @@ msgstr ""
"`iterator`. Ici, les mêmes directives s'appliquent de la même façon que "
"pour les classes *Python* :"
#: extending/newtypes.rst:528
#: extending/newtypes.rst:540
msgid ""
"For collections (such as lists and tuples) which can support multiple "
"independent iterators, a new iterator should be created and returned by each "
@ -536,7 +542,7 @@ msgstr ""
"implémenter plusieurs itérateurs indépendants, un nouvel itérateur doit être "
"créé et renvoyé par chaque appel de type :c:member:`~PyTypeObject.tp_iter`."
#: extending/newtypes.rst:531
#: extending/newtypes.rst:543
msgid ""
"Objects which can only be iterated over once (usually due to side effects of "
"iteration, such as file objects) can implement :c:member:`~PyTypeObject."
@ -544,7 +550,7 @@ msgid ""
"therefore implement the :c:member:`~PyTypeObject.tp_iternext` handler."
msgstr ""
#: extending/newtypes.rst:536
#: extending/newtypes.rst:548
msgid ""
"Any :term:`iterator` object should implement both :c:member:`~PyTypeObject."
"tp_iter` and :c:member:`~PyTypeObject.tp_iternext`. An iterator's :c:member:"
@ -559,11 +565,11 @@ msgid ""
"``NULL``."
msgstr ""
#: extending/newtypes.rst:552
#: extending/newtypes.rst:564
msgid "Weak Reference Support"
msgstr "Prise en charge de la référence faible"
#: extending/newtypes.rst:554
#: extending/newtypes.rst:566
msgid ""
"One of the goals of Python's weak reference implementation is to allow any "
"type to participate in the weak reference mechanism without incurring the "
@ -574,11 +580,11 @@ msgstr ""
"faible sans avoir à supporter le surcoût de la performance critique des "
"certains objets, tels que les nombres."
#: extending/newtypes.rst:559
#: extending/newtypes.rst:571
msgid "Documentation for the :mod:`weakref` module."
msgstr "Documentation pour le module :mod:`weakref`."
#: extending/newtypes.rst:561
#: extending/newtypes.rst:573
msgid ""
"For an object to be weakly referencable, the extension type must do two "
"things:"
@ -586,7 +592,7 @@ msgstr ""
"Pour qu'un objet soit faiblement référençable, le type d'extension doit "
"faire deux choses :"
#: extending/newtypes.rst:563
#: extending/newtypes.rst:575
msgid ""
"Include a :c:type:`PyObject\\*` field in the C object structure dedicated to "
"the weak reference mechanism. The object's constructor should leave it "
@ -598,7 +604,7 @@ msgstr ""
"la valeur ``NULL`` (ce qui est automatique lorsque l'on utilise le champ par "
"défaut :c:member:`~PyTypeObject.tp_alloc`)."
#: extending/newtypes.rst:568
#: extending/newtypes.rst:580
msgid ""
"Set the :c:member:`~PyTypeObject.tp_weaklistoffset` type member to the "
"offset of the aforementioned field in the C object structure, so that the "
@ -609,7 +615,7 @@ msgstr ""
"l'objet *C*, afin que l'interpréteur sache comment accéder à ce champ et le "
"modifier."
#: extending/newtypes.rst:572
#: extending/newtypes.rst:584
msgid ""
"Concretely, here is how a trivial object structure would be augmented with "
"the required field::"
@ -617,12 +623,12 @@ msgstr ""
"Concrètement, voici comment une structure d'objet simple serait complétée "
"par le champ requis ::"
#: extending/newtypes.rst:580
#: extending/newtypes.rst:592
msgid "And the corresponding member in the statically-declared type object::"
msgstr ""
"Et le membre correspondant dans l'objet de type déclaré statiquement ::"
#: extending/newtypes.rst:588
#: extending/newtypes.rst:600
msgid ""
"The only further addition is that ``tp_dealloc`` needs to clear any weak "
"references (by calling :c:func:`PyObject_ClearWeakRefs`) if the field is non-"
@ -632,11 +638,11 @@ msgstr ""
"référence faible (en appelant :c:func:`PyObject_ClearWeakRefs`) si le champ "
"est non ``NULL`` ::"
#: extending/newtypes.rst:604
#: extending/newtypes.rst:616
msgid "More Suggestions"
msgstr "Plus de suggestions"
#: extending/newtypes.rst:606
#: extending/newtypes.rst:618
msgid ""
"In order to learn how to implement any specific method for your new data "
"type, get the :term:`CPython` source code. Go to the :file:`Objects` "
@ -651,7 +657,7 @@ msgstr ""
"``tp_richcompare``). Vous trouverez des exemples de la fonction que vous "
"voulez implémenter."
#: extending/newtypes.rst:612
#: extending/newtypes.rst:624
msgid ""
"When you need to verify that an object is a concrete instance of the type "
"you are implementing, use the :c:func:`PyObject_TypeCheck` function. A "
@ -661,21 +667,21 @@ msgstr ""
"du type que vous implémentez, utilisez la fonction :c:func:"
"`PyObject_TypeCheck`. Voici un exemple de son utilisation ::"
#: extending/newtypes.rst:623
#: extending/newtypes.rst:635
msgid "Download CPython source releases."
msgstr "Télécharger les versions sources de *CPython*."
#: extending/newtypes.rst:623
#: extending/newtypes.rst:635
msgid "https://www.python.org/downloads/source/"
msgstr "https://www.python.org/downloads/source/"
#: extending/newtypes.rst:625
#: extending/newtypes.rst:637
msgid ""
"The CPython project on GitHub, where the CPython source code is developed."
msgstr ""
"Le projet *CPython* sur *GitHub*, où se trouve le code source *CPython*."
#: extending/newtypes.rst:626
#: extending/newtypes.rst:638
msgid "https://github.com/python/cpython"
msgstr "https://github.com/python/cpython"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"POT-Creation-Date: 2021-11-04 18:14+0100\n"
"PO-Revision-Date: 2021-10-23 00:13+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1823,9 +1823,10 @@ msgstr ""
"trouvés en chemin ::"
#: faq/programming.rst:1172
#, fuzzy
msgid ""
"If all elements of the list may be used as set keys (i.e. they are all :term:"
"`hashable`) this is often faster ::"
"`hashable`) this is often faster ::"
msgstr ""
"Si tous les éléments de la liste peuvent être utilisés comme des clés de "
"dictionnaire (c'est-à-dire, qu'elles sont toutes :term:`hachables "

View File

@ -5,14 +5,14 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-11-04 18:14+0100\n"
"PO-Revision-Date: 2021-10-17 14:16+0200\n"
"Last-Translator: ZepmanBC <zepman@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: ZepmanBC <zepman@gmail.com>\n"
"X-Generator: Poedit 2.0.6\n"
#: howto/annotations.rst:5

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-11-04 18:14+0100\n"
"PO-Revision-Date: 2021-03-20 19:28+0100\n"
"Last-Translator: Loc Cosnier <loc.cosnier@pm.me>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -514,7 +514,7 @@ msgid ""
msgstr ""
#: library/collections.rst:345
msgid "Rich comparison operations we were added"
msgid "Rich comparison operations were added."
msgstr ""
#: library/collections.rst:348

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"POT-Creation-Date: 2021-11-04 18:14+0100\n"
"PO-Revision-Date: 2019-12-11 11:26+0100\n"
"Last-Translator: Antoine Wecxsteen\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1280,9 +1280,10 @@ msgstr ""
#: library/enum.rst:1128
msgid ""
"Private names will be normal attributes in Python 3.11 instead of either an "
"error or a member (depending on if the name ends with an underscore). Using "
"these names in 3.10 will issue a :exc:`DeprecationWarning`."
":ref:`Private names <private-name-mangling>` will be normal attributes in "
"Python 3.11 instead of either an error or a member (depending on if the name "
"ends with an underscore). Using these names in 3.10 will issue a :exc:"
"`DeprecationWarning`."
msgstr ""
#: library/enum.rst:1134

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"POT-Creation-Date: 2021-11-04 18:14+0100\n"
"PO-Revision-Date: 2020-08-30 23:21+0200\n"
"Last-Translator: Antoine Wecxsteen\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1261,7 +1261,7 @@ msgid ""
"as a suite of Python statements which is then executed (unless a syntax "
"error occurs). [#]_ If it is a code object, it is simply executed. In all "
"cases, the code that's executed is expected to be valid as file input (see "
"the section \"File input\" in the Reference Manual). Be aware that the :"
"the section :ref:`file-input` in the Reference Manual). Be aware that the :"
"keyword:`nonlocal`, :keyword:`yield`, and :keyword:`return` statements may "
"not be used outside of function definitions even within the context of code "
"passed to the :func:`exec` function. The return value is ``None``."
@ -2623,7 +2623,10 @@ msgid ""
"operands, the result has the same type as the operands (after coercion) "
"unless the second argument is negative; in that case, all arguments are "
"converted to float and a float result is delivered. For example, ``pow(10, "
"2)`` returns ``100``, but ``pow(10, -2)`` returns ``0.01``."
"2)`` returns ``100``, but ``pow(10, -2)`` returns ``0.01``. For a negative "
"base of type :class:`int` or :class:`float` and a non-integral exponent, a "
"complex result is delivered. For example, ``pow(-9, 0.5)`` returns a value "
"close to ``3j``."
msgstr ""
"Les arguments doivent être de types numériques. Avec des opérandes de "
"différents types, les mêmes règles de coercition que celles des opérateurs "
@ -2633,7 +2636,7 @@ msgstr ""
"convertis en ``float``, et le résultat sera un ``float`` aussi. Par exemple, "
"``10**2`` donne ``100``, alors que ``10**-2`` donne ``0.01``."
#: library/functions.rst:1362
#: library/functions.rst:1365
msgid ""
"For :class:`int` operands *base* and *exp*, if *mod* is present, *mod* must "
"also be of integer type and *mod* must be nonzero. If *mod* is present and "
@ -2647,11 +2650,11 @@ msgstr ""
"être premiers entre eux. Dans ce cas, ``pow(inv_base, -exp, mod)`` est "
"renvoyé, où *inv_base* est un inverse de *base* modulo *mod*."
#: library/functions.rst:1368
#: library/functions.rst:1371
msgid "Here's an example of computing an inverse for ``38`` modulo ``97``::"
msgstr "Voici un exemple de calcul d'un inverse de ``38`` modulo ``97`` ::"
#: library/functions.rst:1375
#: library/functions.rst:1378
msgid ""
"For :class:`int` operands, the three-argument form of ``pow`` now allows the "
"second argument to be negative, permitting computation of modular inverses."
@ -2660,14 +2663,14 @@ msgstr ""
"permet maintenant au deuxième argument d'être négatif, permettant le calcul "
"des inverses modulaires."
#: library/functions.rst:1380
#: library/functions.rst:1383
msgid ""
"Allow keyword arguments. Formerly, only positional arguments were supported."
msgstr ""
"Autorise les arguments par mots-clés. Auparavant, seuls les arguments "
"positionnels étaient autorisés."
#: library/functions.rst:1387
#: library/functions.rst:1390
#, fuzzy
msgid ""
"Print *objects* to the text stream *file*, separated by *sep* and followed "
@ -2678,7 +2681,7 @@ msgstr ""
"*end*. Les arguments *sep*, *end*, *file*, et *flush*, s'ils sont présents, "
"doivent être nommés."
#: library/functions.rst:1391
#: library/functions.rst:1394
msgid ""
"All non-keyword arguments are converted to strings like :func:`str` does and "
"written to the stream, separated by *sep* and followed by *end*. Both *sep* "
@ -2692,7 +2695,7 @@ msgstr ""
"les valeurs par défaut. Si aucun *objects* n'est donné :func:`print` écris "
"seulement *end*."
#: library/functions.rst:1397
#: library/functions.rst:1400
msgid ""
"The *file* argument must be an object with a ``write(string)`` method; if it "
"is not present or ``None``, :data:`sys.stdout` will be used. Since printed "
@ -2705,7 +2708,7 @@ msgstr ""
"peut pas être utilisé avec des fichiers ouverts en mode binaire. Pour ceux-"
"ci utilisez plutôt ``file.write(...)``."
#: library/functions.rst:1402
#: library/functions.rst:1405
#, fuzzy
msgid ""
"Whether the output is buffered is usually determined by *file*, but if the "
@ -2714,15 +2717,15 @@ msgstr ""
"Que la sortie utilise un *buffer* ou non est souvent décidé par *file*, mais "
"si l'argument *flush* est vrai, le tampon du flux est vidé explicitement."
#: library/functions.rst:1405
#: library/functions.rst:1408
msgid "Added the *flush* keyword argument."
msgstr "ajout de l'argument nommé *flush*."
#: library/functions.rst:1411
#: library/functions.rst:1414
msgid "Return a property attribute."
msgstr "Renvoie un attribut propriété."
#: library/functions.rst:1413
#: library/functions.rst:1416
msgid ""
"*fget* is a function for getting an attribute value. *fset* is a function "
"for setting an attribute value. *fdel* is a function for deleting an "
@ -2733,11 +2736,11 @@ msgstr ""
"supprimer la valeur d'un attribut, et *doc* créé une *docstring* pour "
"l'attribut."
#: library/functions.rst:1417
#: library/functions.rst:1420
msgid "A typical use is to define a managed attribute ``x``::"
msgstr "Une utilisation courante : définir un attribut managé ``x`` ::"
#: library/functions.rst:1434
#: library/functions.rst:1437
#, fuzzy
msgid ""
"If *c* is an instance of *C*, ``c.x`` will invoke the getter, ``c.x = "
@ -2747,7 +2750,7 @@ msgstr ""
"anglais), ``c.x = value`` invoque le mutateur (*setter*), et ``del x`` le "
"destructeur (*deleter*)."
#: library/functions.rst:1437
#: library/functions.rst:1440
msgid ""
"If given, *doc* will be the docstring of the property attribute. Otherwise, "
"the property will copy *fget*'s docstring (if it exists). This makes it "
@ -2759,7 +2762,7 @@ msgstr ""
"création de propriétés en lecture seule en utilisant simplement :func:"
"`property` comme un :term:`décorateur <decorator>` ::"
#: library/functions.rst:1450
#: library/functions.rst:1453
msgid ""
"The ``@property`` decorator turns the :meth:`voltage` method into a \"getter"
"\" for a read-only attribute with the same name, and it sets the docstring "
@ -2769,7 +2772,7 @@ msgstr ""
"*getter* d'un attribut du même nom, et donne *\"Get the current voltage\"* "
"comme *docstring* de *voltage*."
#: library/functions.rst:1454
#: library/functions.rst:1457
msgid ""
"A property object has :attr:`~property.getter`, :attr:`~property.setter`, "
"and :attr:`~property.deleter` methods usable as decorators that create a "
@ -2781,7 +2784,7 @@ msgstr ""
"une copie de la propriété avec les accesseurs correspondants définis par la "
"fonction de décoration. C'est plus clair avec un exemple ::"
#: library/functions.rst:1476
#: library/functions.rst:1479
msgid ""
"This code is exactly equivalent to the first example. Be sure to give the "
"additional functions the same name as the original property (``x`` in this "
@ -2791,7 +2794,7 @@ msgstr ""
"donner aux fonctions additionnelles le même nom que la propriété (``x`` dans "
"ce cas)."
#: library/functions.rst:1480
#: library/functions.rst:1483
msgid ""
"The returned property object also has the attributes ``fget``, ``fset``, and "
"``fdel`` corresponding to the constructor arguments."
@ -2799,11 +2802,11 @@ msgstr ""
"L'objet propriété renvoyé à aussi les attributs ``fget``, ``fset`` et "
"``fdel`` correspondants aux arguments du constructeur."
#: library/functions.rst:1483
#: library/functions.rst:1486
msgid "The docstrings of property objects are now writeable."
msgstr "Les *docstrings* des objets propriété peuvent maintenant être écrits."
#: library/functions.rst:1492
#: library/functions.rst:1495
msgid ""
"Rather than being a function, :class:`range` is actually an immutable "
"sequence type, as documented in :ref:`typesseq-range` and :ref:`typesseq`."
@ -2812,7 +2815,7 @@ msgstr ""
"type de séquence immuable, comme décrit dans :ref:`typesseq-range` et :ref:"
"`typesseq`."
#: library/functions.rst:1498
#: library/functions.rst:1501
#, fuzzy
msgid ""
"Return a string containing a printable representation of an object. For "
@ -2831,7 +2834,7 @@ msgstr ""
"l'adresse de l'objet. Une classe peut contrôler ce que cette fonction "
"renvoie pour ses instances en définissant une méthode :meth:`__repr__`."
#: library/functions.rst:1509
#: library/functions.rst:1512
msgid ""
"Return a reverse :term:`iterator`. *seq* must be an object which has a :"
"meth:`__reversed__` method or supports the sequence protocol (the :meth:"
@ -2843,7 +2846,7 @@ msgstr ""
"séquence (la méthode :meth:`__len__` et la méthode :meth:`__getitem__` avec "
"des arguments entiers commençant à zéro)."
#: library/functions.rst:1517
#: library/functions.rst:1520
msgid ""
"Return *number* rounded to *ndigits* precision after the decimal point. If "
"*ndigits* is omitted or is ``None``, it returns the nearest integer to its "
@ -2853,7 +2856,7 @@ msgstr ""
"virgule. Si *ndigits* est omis (ou est ``None``), l'entier le plus proche "
"est renvoyé."
#: library/functions.rst:1521
#: library/functions.rst:1524
#, fuzzy
msgid ""
"For the built-in types supporting :func:`round`, values are rounded to the "
@ -2872,7 +2875,7 @@ msgstr ""
"zéro, ou négatif). La valeur renvoyée est un entier si *ndigits* n'est pas "
"donné, (ou est ``None``). Sinon elle est du même type que *number*."
#: library/functions.rst:1530
#: library/functions.rst:1533
msgid ""
"For a general Python object ``number``, ``round`` delegates to ``number."
"__round__``."
@ -2880,7 +2883,7 @@ msgstr ""
"Pour tout autre objet Python ``number``, ``round`` délègue à ``number."
"__round__``."
#: library/functions.rst:1535
#: library/functions.rst:1538
msgid ""
"The behavior of :func:`round` for floats can be surprising: for example, "
"``round(2.675, 2)`` gives ``2.67`` instead of the expected ``2.68``. This is "
@ -2894,7 +2897,7 @@ msgstr ""
"fractions de décimaux ne peuvent pas être représentés exactement en nombre a "
"virgule flottante. Voir :ref:`tut-fp-issues` pour plus d'information."
#: library/functions.rst:1546
#: library/functions.rst:1549
msgid ""
"Return a new :class:`set` object, optionally with elements taken from "
"*iterable*. ``set`` is a built-in class. See :class:`set` and :ref:`types-"
@ -2904,7 +2907,7 @@ msgstr ""
"d'*iterable*. ``set`` est une classe native. Voir :class:`set` et :ref:"
"`types-set` pour la documentation de cette classe."
#: library/functions.rst:1550
#: library/functions.rst:1553
msgid ""
"For other containers see the built-in :class:`frozenset`, :class:`list`, :"
"class:`tuple`, and :class:`dict` classes, as well as the :mod:`collections` "
@ -2913,7 +2916,7 @@ msgstr ""
"D'autres conteneurs existent, comme : :class:`frozenset`, :class:`list`, :"
"class:`tuple`, et :class:`dict`, ainsi que le module :mod:`collections`."
#: library/functions.rst:1557
#: library/functions.rst:1560
#, fuzzy
msgid ""
"This is the counterpart of :func:`getattr`. The arguments are an object, a "
@ -2928,14 +2931,14 @@ msgstr ""
"si l'objet l'autorise. Par exemple, ``setattr(x, 'foobar', 123)`` équivaut à "
"``x.foobar = 123``."
#: library/functions.rst:1565
#: library/functions.rst:1568
msgid ""
"Since :ref:`private name mangling <private-name-mangling>` happens at "
"compilation time, one must manually mangle a private attribute's (attributes "
"with two leading underscores) name in order to set it with :func:`setattr`."
msgstr ""
#: library/functions.rst:1574
#: library/functions.rst:1577
#, fuzzy
msgid ""
"Return a :term:`slice` object representing the set of indices specified by "
@ -2960,16 +2963,16 @@ msgstr ""
"Voir :func:`itertools.islice` pour une version alternative renvoyant un "
"itérateur."
#: library/functions.rst:1587
#: library/functions.rst:1590
msgid "Return a new sorted list from the items in *iterable*."
msgstr "Renvoie une nouvelle liste triée depuis les éléments d'*iterable*."
#: library/functions.rst:1589
#: library/functions.rst:1592
msgid ""
"Has two optional arguments which must be specified as keyword arguments."
msgstr "A deux arguments optionnels qui doivent être nommés."
#: library/functions.rst:1591
#: library/functions.rst:1594
msgid ""
"*key* specifies a function of one argument that is used to extract a "
"comparison key from each element in *iterable* (for example, ``key=str."
@ -2980,7 +2983,7 @@ msgstr ""
"lower``). La valeur par défaut est ``None`` (compare les éléments "
"directement)."
#: library/functions.rst:1595
#: library/functions.rst:1598
msgid ""
"*reverse* is a boolean value. If set to ``True``, then the list elements "
"are sorted as if each comparison were reversed."
@ -2988,7 +2991,7 @@ msgstr ""
"*reverse*, une valeur booléenne. Si elle est ``True``, la liste d'éléments "
"est triée comme si toutes les comparaisons étaient inversées."
#: library/functions.rst:1598
#: library/functions.rst:1601
msgid ""
"Use :func:`functools.cmp_to_key` to convert an old-style *cmp* function to a "
"*key* function."
@ -2996,7 +2999,7 @@ msgstr ""
"Utilisez :func:`functools.cmp_to_key` pour convertir l'ancienne notation "
"*cmp* en une fonction *key*."
#: library/functions.rst:1601
#: library/functions.rst:1604
msgid ""
"The built-in :func:`sorted` function is guaranteed to be stable. A sort is "
"stable if it guarantees not to change the relative order of elements that "
@ -3008,7 +3011,7 @@ msgstr ""
"eux. C'est utile pour trier en plusieurs passes (par exemple par département "
"puis par salaire)."
#: library/functions.rst:1606
#: library/functions.rst:1609
msgid ""
"The sort algorithm uses only ``<`` comparisons between items. While "
"defining an :meth:`~object.__lt__` method will suffice for sorting, :PEP:`8` "
@ -3020,17 +3023,17 @@ msgid ""
"method."
msgstr ""
#: library/functions.rst:1615
#: library/functions.rst:1618
msgid ""
"For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`."
msgstr ""
"Pour des exemples de tris et un bref tutoriel, consultez :ref:`sortinghowto`."
#: library/functions.rst:1619
#: library/functions.rst:1622
msgid "Transform a method into a static method."
msgstr "Transforme une méthode en méthode statique."
#: library/functions.rst:1621
#: library/functions.rst:1624
msgid ""
"A static method does not receive an implicit first argument. To declare a "
"static method, use this idiom::"
@ -3038,7 +3041,7 @@ msgstr ""
"Une méthode statique ne reçoit pas de premier argument implicitement. Voilà "
"comment déclarer une méthode statique ::"
#: library/functions.rst:1628
#: library/functions.rst:1631
msgid ""
"The ``@staticmethod`` form is a function :term:`decorator` -- see :ref:"
"`function` for details."
@ -3046,7 +3049,7 @@ msgstr ""
"La forme ``@staticmethod`` est un :term:`décorateur <decorator>` de "
"fonction. Consultez :ref:`function` pour plus de détails."
#: library/functions.rst:1631
#: library/functions.rst:1634
#, fuzzy
msgid ""
"A static method can be called either on the class (such as ``C.f()``) or on "
@ -3056,7 +3059,7 @@ msgstr ""
"Une méthode statique peut être appelée sur une classe (par exemple, ``C."
"f()``) comme sur une instance (par exemple, ``C().f()``)."
#: library/functions.rst:1635
#: library/functions.rst:1638
#, fuzzy
msgid ""
"Static methods in Python are similar to those found in Java or C++. Also, "
@ -3067,7 +3070,7 @@ msgstr ""
"ou en C++. Consultez :func:`classmethod` pour une variante utile pour créer "
"des constructeurs alternatifs."
#: library/functions.rst:1639
#: library/functions.rst:1642
msgid ""
"Like all decorators, it is also possible to call ``staticmethod`` as a "
"regular function and do something with its result. This is needed in some "
@ -3081,26 +3084,26 @@ msgstr ""
"depuis le corps d'une classe, et souhaiteriez éviter sa transformation en "
"méthode d'instance. Pour ces cas, faites comme suit ::"
#: library/functions.rst:1651
#: library/functions.rst:1654
msgid "For more information on static methods, see :ref:`types`."
msgstr ""
"Pour plus d'informations sur les méthodes statiques, consultez :ref:`types`."
#: library/functions.rst:1653
#: library/functions.rst:1656
msgid ""
"Static methods now inherit the method attributes (``__module__``, "
"``__name__``, ``__qualname__``, ``__doc__`` and ``__annotations__``), have a "
"new ``__wrapped__`` attribute, and are now callable as regular functions."
msgstr ""
#: library/functions.rst:1668
#: library/functions.rst:1671
msgid ""
"Return a :class:`str` version of *object*. See :func:`str` for details."
msgstr ""
"Renvoie une version d'*object* sous forme de :class:`str`. Voir :func:`str` "
"pour plus de détails."
#: library/functions.rst:1670
#: library/functions.rst:1673
msgid ""
"``str`` is the built-in string :term:`class`. For general information about "
"strings, see :ref:`textseq`."
@ -3108,7 +3111,7 @@ msgstr ""
"``str`` est la :term:`classe <class>` native des chaînes de caractères. Pour "
"des informations générales à propos des chaînes, consultez :ref:`textseq`."
#: library/functions.rst:1676
#: library/functions.rst:1679
msgid ""
"Sums *start* and the items of an *iterable* from left to right and returns "
"the total. The *iterable*'s items are normally numbers, and the start value "
@ -3118,7 +3121,7 @@ msgstr ""
"donne le total. Les éléments de l'*iterable* sont normalement des nombres, "
"et la valeur de *start* ne peut pas être une chaîne de caractères."
#: library/functions.rst:1680
#: library/functions.rst:1683
msgid ""
"For some use cases, there are good alternatives to :func:`sum`. The "
"preferred, fast way to concatenate a sequence of strings is by calling ``''."
@ -3132,11 +3135,11 @@ msgstr ""
"meilleure précision, voir :func:`math.fsum`. Pour concaténer une série "
"d'itérables, utilisez plutôt :func:`itertools.chain`."
#: library/functions.rst:1686
#: library/functions.rst:1689
msgid "The *start* parameter can be specified as a keyword argument."
msgstr "le paramètre *start* peut être passé comme un argument nommé."
#: library/functions.rst:1691
#: library/functions.rst:1694
msgid ""
"Return a proxy object that delegates method calls to a parent or sibling "
"class of *type*. This is useful for accessing inherited methods that have "
@ -3146,7 +3149,7 @@ msgstr ""
"de méthode à une classe parente ou sœur de *type*. C'est utile pour accéder "
"aux méthodes héritées qui ont été remplacées dans une classe."
#: library/functions.rst:1695
#: library/functions.rst:1698
msgid ""
"The *object-or-type* determines the :term:`method resolution order` to be "
"searched. The search starts from the class right after the *type*."
@ -3155,7 +3158,7 @@ msgstr ""
"<method resolution order>` est utilisé pour la recherche. La recherche "
"commence à partir de la classe qui suit immédiatement le *type*."
#: library/functions.rst:1699
#: library/functions.rst:1702
msgid ""
"For example, if :attr:`~class.__mro__` of *object-or-type* is ``D -> B -> C -"
"> A -> object`` and the value of *type* is ``B``, then :func:`super` "
@ -3165,7 +3168,7 @@ msgstr ""
"-> A -> object`` et la valeur de *type* est ``B``, alors :func:`super` "
"recherche ``C -> A -> object``."
#: library/functions.rst:1703
#: library/functions.rst:1706
msgid ""
"The :attr:`~class.__mro__` attribute of the *object-or-type* lists the "
"method resolution search order used by both :func:`getattr` and :func:"
@ -3177,7 +3180,7 @@ msgstr ""
"`super`. L'attribut est dynamique et peut changer lorsque la hiérarchie "
"d'héritage est modifiée."
#: library/functions.rst:1708
#: library/functions.rst:1711
msgid ""
"If the second argument is omitted, the super object returned is unbound. If "
"the second argument is an object, ``isinstance(obj, type)`` must be true. "
@ -3189,7 +3192,7 @@ msgstr ""
"le second argument est un type, ``issubclass(type2, type)`` doit être vrai "
"(c'est utile pour les méthodes de classe)."
#: library/functions.rst:1713
#: library/functions.rst:1716
msgid ""
"There are two typical use cases for *super*. In a class hierarchy with "
"single inheritance, *super* can be used to refer to parent classes without "
@ -3202,7 +3205,7 @@ msgstr ""
"maintenable. Cet usage se rapproche de l'usage de *super* dans d'autres "
"langages de programmation."
#: library/functions.rst:1718
#: library/functions.rst:1721
#, fuzzy
msgid ""
"The second use case is to support cooperative multiple inheritance in a "
@ -3226,12 +3229,12 @@ msgstr ""
"dans la hiérarchie, et parce que l'ordre peut inclure des classes sœurs "
"inconnues avant l'exécution)."
#: library/functions.rst:1728
#: library/functions.rst:1731
msgid "For both use cases, a typical superclass call looks like this::"
msgstr ""
"Dans tous les cas, un appel typique à une classe parente ressemble à ::"
#: library/functions.rst:1735
#: library/functions.rst:1738
msgid ""
"In addition to method lookups, :func:`super` also works for attribute "
"lookups. One possible use case for this is calling :term:`descriptors "
@ -3241,7 +3244,7 @@ msgstr ""
"la recherche d'attributs. Un cas d'utilisation possible est l'appel d'un :"
"term:`descripteur <descriptor>` d'une classe parente ou sœur."
#: library/functions.rst:1739
#: library/functions.rst:1742
msgid ""
"Note that :func:`super` is implemented as part of the binding process for "
"explicit dotted attribute lookups such as ``super().__getitem__(name)``. It "
@ -3258,7 +3261,7 @@ msgstr ""
"n'est pas défini pour les recherches implicites via des instructions ou des "
"opérateurs tels que ``super()[name]``."
#: library/functions.rst:1746
#: library/functions.rst:1749
msgid ""
"Also note that, aside from the zero argument form, :func:`super` is not "
"limited to use inside methods. The two argument form specifies the "
@ -3275,7 +3278,7 @@ msgstr ""
"propos de la classe en cours de définition, ainsi qu'accéder à l'instance "
"courante pour les méthodes ordinaires."
#: library/functions.rst:1753
#: library/functions.rst:1756
msgid ""
"For practical suggestions on how to design cooperative classes using :func:"
"`super`, see `guide to using super() <https://rhettinger.wordpress."
@ -3285,7 +3288,7 @@ msgstr ""
"utilisant :func:`super`, consultez `guide to using super() <http://"
"rhettinger.wordpress.com/2011/05/26/super-considered-super/>`_."
#: library/functions.rst:1762
#: library/functions.rst:1765
msgid ""
"Rather than being a function, :class:`tuple` is actually an immutable "
"sequence type, as documented in :ref:`typesseq-tuple` and :ref:`typesseq`."
@ -3293,7 +3296,7 @@ msgstr ""
"Plutôt qu'être une fonction, :class:`tuple` est en fait un type de séquence "
"immuable, comme documenté dans :ref:`typesseq-tuple` et :ref:`typesseq`."
#: library/functions.rst:1771
#: library/functions.rst:1774
msgid ""
"With one argument, return the type of an *object*. The return value is a "
"type object and generally the same object as returned by :attr:`object."
@ -3303,7 +3306,7 @@ msgstr ""
"objet type et généralement la même que la valeur de l'attribut :attr:`object."
"__class__ <instance.__class__>`."
#: library/functions.rst:1775
#: library/functions.rst:1778
msgid ""
"The :func:`isinstance` built-in function is recommended for testing the type "
"of an object, because it takes subclasses into account."
@ -3311,7 +3314,7 @@ msgstr ""
"La fonction native :func:`isinstance` est recommandée pour tester le type "
"d'un objet, car elle prend en compte l'héritage."
#: library/functions.rst:1779
#: library/functions.rst:1782
#, fuzzy
msgid ""
"With three arguments, return a new type object. This is essentially a "
@ -3334,11 +3337,11 @@ msgstr ""
"exemple, les deux instructions suivantes créent deux instances identiques "
"de :class:`type` :"
#: library/functions.rst:1794
#: library/functions.rst:1797
msgid "See also :ref:`bltin-type-objects`."
msgstr "Voir aussi :ref:`bltin-type-objects`."
#: library/functions.rst:1796
#: library/functions.rst:1799
msgid ""
"Keyword arguments provided to the three argument form are passed to the "
"appropriate metaclass machinery (usually :meth:`~object.__init_subclass__`) "
@ -3346,12 +3349,12 @@ msgid ""
"would."
msgstr ""
#: library/functions.rst:1801
#: library/functions.rst:1804
#, fuzzy
msgid "See also :ref:`class-customization`."
msgstr "Voir aussi :ref:`typeiter`."
#: library/functions.rst:1803
#: library/functions.rst:1806
msgid ""
"Subclasses of :class:`type` which don't override ``type.__new__`` may no "
"longer use the one-argument form to get the type of an object."
@ -3360,7 +3363,7 @@ msgstr ""
"ne doivent plus utiliser la forme à un argument pour récupérer le type d'un "
"objet."
#: library/functions.rst:1809
#: library/functions.rst:1812
msgid ""
"Return the :attr:`~object.__dict__` attribute for a module, class, instance, "
"or any other object with a :attr:`~object.__dict__` attribute."
@ -3369,7 +3372,7 @@ msgstr ""
"instance ou de n'importe quel objet avec un attribut :attr:`~object."
"__dict__`."
#: library/functions.rst:1812
#: library/functions.rst:1815
msgid ""
"Objects such as modules and instances have an updateable :attr:`~object."
"__dict__` attribute; however, other objects may have write restrictions on "
@ -3382,7 +3385,7 @@ msgstr ""
"exemple, les classes utilisent un :class:`types.MappingProxyType` pour "
"éviter les modifications directes du dictionnaire)."
#: library/functions.rst:1817
#: library/functions.rst:1820
msgid ""
"Without an argument, :func:`vars` acts like :func:`locals`. Note, the "
"locals dictionary is only useful for reads since updates to the locals "
@ -3392,45 +3395,45 @@ msgstr ""
"dictionnaire des variables locales n'est utile qu'en lecture, car ses "
"écritures sont ignorées."
#: library/functions.rst:1821
#: library/functions.rst:1824
msgid ""
"A :exc:`TypeError` exception is raised if an object is specified but it "
"doesn't have a :attr:`~object.__dict__` attribute (for example, if its class "
"defines the :attr:`~object.__slots__` attribute)."
msgstr ""
#: library/functions.rst:1827
#: library/functions.rst:1830
msgid ""
"Iterate over several iterables in parallel, producing tuples with an item "
"from each one."
msgstr ""
#: library/functions.rst:1830
#: library/functions.rst:1833
#, fuzzy
msgid "Example::"
msgstr "Exemples ::"
#: library/functions.rst:1839
#: library/functions.rst:1842
msgid ""
"More formally: :func:`zip` returns an iterator of tuples, where the *i*-th "
"tuple contains the *i*-th element from each of the argument iterables."
msgstr ""
#: library/functions.rst:1842
#: library/functions.rst:1845
msgid ""
"Another way to think of :func:`zip` is that it turns rows into columns, and "
"columns into rows. This is similar to `transposing a matrix <https://en."
"wikipedia.org/wiki/Transpose>`_."
msgstr ""
#: library/functions.rst:1846
#: library/functions.rst:1849
msgid ""
":func:`zip` is lazy: The elements won't be processed until the iterable is "
"iterated on, e.g. by a :keyword:`!for` loop or by wrapping in a :class:"
"`list`."
msgstr ""
#: library/functions.rst:1850
#: library/functions.rst:1853
msgid ""
"One thing to consider is that the iterables passed to :func:`zip` could have "
"different lengths; sometimes by design, and sometimes because of a bug in "
@ -3438,51 +3441,51 @@ msgid ""
"approaches to dealing with this issue:"
msgstr ""
#: library/functions.rst:1855
#: library/functions.rst:1858
msgid ""
"By default, :func:`zip` stops when the shortest iterable is exhausted. It "
"will ignore the remaining items in the longer iterables, cutting off the "
"result to the length of the shortest iterable::"
msgstr ""
#: library/functions.rst:1862
#: library/functions.rst:1865
msgid ""
":func:`zip` is often used in cases where the iterables are assumed to be of "
"equal length. In such cases, it's recommended to use the ``strict=True`` "
"option. Its output is the same as regular :func:`zip`::"
msgstr ""
#: library/functions.rst:1869
#: library/functions.rst:1872
msgid ""
"Unlike the default behavior, it checks that the lengths of iterables are "
"identical, raising a :exc:`ValueError` if they aren't:"
msgstr ""
#: library/functions.rst:1877
#: library/functions.rst:1880
msgid ""
"Without the ``strict=True`` argument, any bug that results in iterables of "
"different lengths will be silenced, possibly manifesting as a hard-to-find "
"bug in another part of the program."
msgstr ""
#: library/functions.rst:1881
#: library/functions.rst:1884
msgid ""
"Shorter iterables can be padded with a constant value to make all the "
"iterables have the same length. This is done by :func:`itertools."
"zip_longest`."
msgstr ""
#: library/functions.rst:1885
#: library/functions.rst:1888
msgid ""
"Edge cases: With a single iterable argument, :func:`zip` returns an iterator "
"of 1-tuples. With no arguments, it returns an empty iterator."
msgstr ""
#: library/functions.rst:1888
#: library/functions.rst:1891
msgid "Tips and tricks:"
msgstr ""
#: library/functions.rst:1890
#: library/functions.rst:1893
#, fuzzy
msgid ""
"The left-to-right evaluation order of the iterables is guaranteed. This "
@ -3498,7 +3501,7 @@ msgstr ""
"l'itérateur. Cela a pour effet de diviser la séquence en morceaux de taille "
"*n*."
#: library/functions.rst:1896
#: library/functions.rst:1899
msgid ""
":func:`zip` in conjunction with the ``*`` operator can be used to unzip a "
"list::"
@ -3506,12 +3509,12 @@ msgstr ""
":func:`zip` peut être utilisée conjointement avec l'opérateur ``*`` pour "
"dézipper une liste ::"
#: library/functions.rst:1907
#: library/functions.rst:1910
#, fuzzy
msgid "Added the ``strict`` argument."
msgstr "ajout de l'argument nommé *flush*."
#: library/functions.rst:1919
#: library/functions.rst:1922
msgid ""
"This is an advanced function that is not needed in everyday Python "
"programming, unlike :func:`importlib.import_module`."
@ -3519,7 +3522,7 @@ msgstr ""
"C'est une fonction avancée qui n'est pas fréquemment nécessaire, "
"contrairement à :func:`importlib.import_module`."
#: library/functions.rst:1922
#: library/functions.rst:1925
msgid ""
"This function is invoked by the :keyword:`import` statement. It can be "
"replaced (by importing the :mod:`builtins` module and assigning to "
@ -3539,7 +3542,7 @@ msgstr ""
"à trouver l'implémentation par défaut. L'usage direct de :func:`__import__` "
"est aussi déconseillé en faveur de :func:`importlib.import_module`."
#: library/functions.rst:1931
#: library/functions.rst:1934
#, fuzzy
msgid ""
"The function imports the module *name*, potentially using the given "
@ -3556,7 +3559,7 @@ msgstr ""
"l'argument *locals* et n'utilise *globals* que pour déterminer le contexte "
"du paquet de l'instruction :keyword:`import`."
#: library/functions.rst:1938
#: library/functions.rst:1941
msgid ""
"*level* specifies whether to use absolute or relative imports. ``0`` (the "
"default) means only perform absolute imports. Positive values for *level* "
@ -3569,7 +3572,7 @@ msgstr ""
"positive indique le nombre de dossiers parents relativement au dossier du "
"module appelant :func:`__import__` (voir la :pep:`328`)."
#: library/functions.rst:1944
#: library/functions.rst:1947
msgid ""
"When the *name* variable is of the form ``package.module``, normally, the "
"top-level package (the name up till the first dot) is returned, *not* the "
@ -3581,7 +3584,7 @@ msgstr ""
"et *pas* le module nommé par *name*. Cependant, lorsqu'un argument "
"*fromlist* est fourni, le module nommé par *name* est renvoyé."
#: library/functions.rst:1949
#: library/functions.rst:1952
msgid ""
"For example, the statement ``import spam`` results in bytecode resembling "
"the following code::"
@ -3589,11 +3592,11 @@ msgstr ""
"Par exemple, l'instruction ``import spam`` renvoie un code intermédiaire "
"(*bytecode* en anglais) ressemblant au code suivant ::"
#: library/functions.rst:1954
#: library/functions.rst:1957
msgid "The statement ``import spam.ham`` results in this call::"
msgstr "L'instruction ``import spam.ham`` appelle ::"
#: library/functions.rst:1958
#: library/functions.rst:1961
msgid ""
"Note how :func:`__import__` returns the toplevel module here because this is "
"the object that is bound to a name by the :keyword:`import` statement."
@ -3601,7 +3604,7 @@ msgstr ""
"Notez comment :func:`__import__` renvoie ici le module de plus haut niveau "
"parce que c'est l'objet lié à un nom par l'instruction :keyword:`import`."
#: library/functions.rst:1961
#: library/functions.rst:1964
msgid ""
"On the other hand, the statement ``from spam.ham import eggs, sausage as "
"saus`` results in ::"
@ -3609,7 +3612,7 @@ msgstr ""
"En revanche, l'instruction ``from spam.ham import eggs, sausage as saus`` "
"donne ::"
#: library/functions.rst:1968
#: library/functions.rst:1971
msgid ""
"Here, the ``spam.ham`` module is returned from :func:`__import__`. From "
"this object, the names to import are retrieved and assigned to their "
@ -3618,7 +3621,7 @@ msgstr ""
"Ici le module ``spam.ham`` est renvoyé par :func:`__import__`. De cet objet, "
"les noms à importer sont récupérés et assignés à leurs noms respectifs."
#: library/functions.rst:1972
#: library/functions.rst:1975
msgid ""
"If you simply want to import a module (potentially within a package) by "
"name, use :func:`importlib.import_module`."
@ -3626,7 +3629,7 @@ msgstr ""
"Si vous voulez simplement importer un module (potentiellement dans un "
"paquet) par son nom, utilisez :func:`importlib.import_module`."
#: library/functions.rst:1975
#: library/functions.rst:1978
msgid ""
"Negative values for *level* are no longer supported (which also changes the "
"default value to 0)."
@ -3634,7 +3637,7 @@ msgstr ""
"les valeurs négatives pour *level* ne sont plus prises en charge (et sa "
"valeur par défaut est 0)."
#: library/functions.rst:1979
#: library/functions.rst:1982
msgid ""
"When the command line options :option:`-E` or :option:`-I` are being used, "
"the environment variable :envvar:`PYTHONCASEOK` is now ignored."
@ -3642,11 +3645,11 @@ msgstr ""
"quand les options :option:`-E` ou :option:`-I` sont précisées dans la ligne "
"de commande, la variable d'environnement :envvar:`PYTHONCASEOK` est ignorée."
#: library/functions.rst:1984
#: library/functions.rst:1987
msgid "Footnotes"
msgstr "Notes"
#: library/functions.rst:1985
#: library/functions.rst:1988
msgid ""
"Note that the parser only accepts the Unix-style end of line convention. If "
"you are reading the code from a file, make sure to use newline conversion "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"POT-Creation-Date: 2021-11-04 18:14+0100\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"
@ -23,7 +23,7 @@ msgid "``importlib.metadata`` is no longer provisional."
msgstr ""
#: library/importlib.metadata.rst:14
msgid "**Source code:** :source:`Lib/importlib/metadata.py`"
msgid "**Source code:** :source:`Lib/importlib/metadata/__init__.py`"
msgstr ""
#: library/importlib.metadata.rst:16

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"POT-Creation-Date: 2021-11-04 18:14+0100\n"
"PO-Revision-Date: 2021-07-16 22:51+0200\n"
"Last-Translator: Antoine Wecxsteen\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -3177,7 +3177,7 @@ msgstr ""
"*processes* est le nombre de processus *workers* à utiliser. Si *processes* "
"est ``None``, le nombre renvoyé par :func:`os.cpu_count` est utilisé."
#: library/multiprocessing.rst:2133 library/multiprocessing.rst:2692
#: library/multiprocessing.rst:2133 library/multiprocessing.rst:2693
msgid ""
"If *initializer* is not ``None`` then each worker process will call "
"``initializer(*initargs)`` when it starts."
@ -3957,33 +3957,35 @@ msgstr ""
"journaliseur ne sera pas héritée."
#: library/multiprocessing.rst:2640
#, fuzzy
msgid ""
"This function performs a call to :func:`get_logger` but in addition to "
"returning the logger created by get_logger, it adds a handler which sends "
"output to :data:`sys.stderr` using format ``'[%(levelname)s/%(processName)s] "
"%(message)s'``."
"%(message)s'``. You can modify ``levelname`` of the logger by passing a "
"``level`` argument."
msgstr ""
"Cette fonction effectue un appel à :func:`get_logger` mais en plus de "
"renvoyer le journaliseur créé par *get_logger*, elle ajoute un gestionnaire "
"qui envoie la sortie sur :data:`sys.stderr` en utilisant le format "
"``'[%(levelname)s/%(processName)s] %(message)s'``."
#: library/multiprocessing.rst:2645
#: library/multiprocessing.rst:2646
msgid "Below is an example session with logging turned on::"
msgstr ""
"L'exemple ci-dessous présente une session avec la journalisation activée ::"
#: library/multiprocessing.rst:2660
#: library/multiprocessing.rst:2661
msgid "For a full table of logging levels, see the :mod:`logging` module."
msgstr ""
"Pour un tableau complet des niveaux de journalisation, voir le module :mod:"
"`logging`."
#: library/multiprocessing.rst:2664
#: library/multiprocessing.rst:2665
msgid "The :mod:`multiprocessing.dummy` module"
msgstr "Le module :mod:`multiprocessing.dummy`"
#: library/multiprocessing.rst:2669
#: library/multiprocessing.rst:2670
msgid ""
":mod:`multiprocessing.dummy` replicates the API of :mod:`multiprocessing` "
"but is no more than a wrapper around the :mod:`threading` module."
@ -3991,7 +3993,7 @@ msgstr ""
":mod:`multiprocessing.dummy` réplique toute l'API de :mod:`multiprocessing` "
"mais n'est rien de plus qu'une interface autour du module :mod:`threading`."
#: library/multiprocessing.rst:2674
#: library/multiprocessing.rst:2675
msgid ""
"In particular, the ``Pool`` function provided by :mod:`multiprocessing."
"dummy` returns an instance of :class:`ThreadPool`, which is a subclass of :"
@ -4003,7 +4005,7 @@ msgstr ""
"class:`Pool`. Elle a la même interface, mais elle utilise un pool de fils "
"d'exécution plutôt qu'un pool de processus."
#: library/multiprocessing.rst:2682
#: library/multiprocessing.rst:2683
msgid ""
"A thread pool object which controls a pool of worker threads to which jobs "
"can be submitted. :class:`ThreadPool` instances are fully interface "
@ -4019,7 +4021,7 @@ msgstr ""
"avec un contexte, soit en appelant explicitement :meth:`~multiprocessing."
"pool.Pool.close` et :meth:`~multiprocessing.pool.Pool.terminate`."
#: library/multiprocessing.rst:2689
#: library/multiprocessing.rst:2690
msgid ""
"*processes* is the number of worker threads to use. If *processes* is "
"``None`` then the number returned by :func:`os.cpu_count` is used."
@ -4027,14 +4029,14 @@ msgstr ""
"*processes* est le nombre de fils d'exécution à utiliser. Si *processes* est "
"``None``, le nombre renvoyé par :func:`os.cpu_count` est utilisé."
#: library/multiprocessing.rst:2695
#: library/multiprocessing.rst:2696
msgid ""
"Unlike :class:`Pool`, *maxtasksperchild* and *context* cannot be provided."
msgstr ""
"À la différence de :class:`Pool`, *maxtasksperchild* et *context* ne peuvent "
"pas être passés en arguments."
#: library/multiprocessing.rst:2699
#: library/multiprocessing.rst:2700
msgid ""
"A :class:`ThreadPool` shares the same interface as :class:`Pool`, which is "
"designed around a pool of processes and predates the introduction of the :"
@ -4051,7 +4053,7 @@ msgstr ""
"représenter le statut de tâches asynchrones, :class:`AsyncResult`, qui n'est "
"pas géré par les autres modules."
#: library/multiprocessing.rst:2706
#: library/multiprocessing.rst:2707
msgid ""
"Users should generally prefer to use :class:`concurrent.futures."
"ThreadPoolExecutor`, which has a simpler interface that was designed around "
@ -4065,11 +4067,11 @@ msgstr ""
"`concurrent.futures.Future` qui sont compatibles avec de nombreux modules, "
"dont :mod:`asyncio`."
#: library/multiprocessing.rst:2716
#: library/multiprocessing.rst:2717
msgid "Programming guidelines"
msgstr "Lignes directrices de programmation"
#: library/multiprocessing.rst:2718
#: library/multiprocessing.rst:2719
msgid ""
"There are certain guidelines and idioms which should be adhered to when "
"using :mod:`multiprocessing`."
@ -4077,19 +4079,19 @@ msgstr ""
"Il y a certaines lignes directrices et idiomes à respecter pour utiliser :"
"mod:`multiprocessing`."
#: library/multiprocessing.rst:2723
#: library/multiprocessing.rst:2724
msgid "All start methods"
msgstr "Toutes les méthodes de démarrage"
#: library/multiprocessing.rst:2725
#: library/multiprocessing.rst:2726
msgid "The following applies to all start methods."
msgstr "Les règles suivantes s'appliquent aux méthodes de démarrage."
#: library/multiprocessing.rst:2727
#: library/multiprocessing.rst:2728
msgid "Avoid shared state"
msgstr "Éviter les états partagés"
#: library/multiprocessing.rst:2729
#: library/multiprocessing.rst:2730
msgid ""
"As far as possible one should try to avoid shifting large amounts of data "
"between processes."
@ -4097,7 +4099,7 @@ msgstr ""
"Autant que possible, il faut éviter de transférer de gros volumes de données "
"entre les processus."
#: library/multiprocessing.rst:2732
#: library/multiprocessing.rst:2733
msgid ""
"It is probably best to stick to using queues or pipes for communication "
"between processes rather than using the lower level synchronization "
@ -4107,21 +4109,21 @@ msgstr ""
"pour gérer la communication entre processus plutôt que d'utiliser des "
"primitives de synchronisation plus bas-niveau."
#: library/multiprocessing.rst:2736
#: library/multiprocessing.rst:2737
msgid "Picklability"
msgstr "Sérialisation"
#: library/multiprocessing.rst:2738
#: library/multiprocessing.rst:2739
msgid "Ensure that the arguments to the methods of proxies are picklable."
msgstr ""
"Assurez-vous que les arguments passés aux méthodes des mandataires soient "
"sérialisables (*pickables*)."
#: library/multiprocessing.rst:2740
#: library/multiprocessing.rst:2741
msgid "Thread safety of proxies"
msgstr "Sûreté des mandataires à travers les fils d'exécution"
#: library/multiprocessing.rst:2742
#: library/multiprocessing.rst:2743
msgid ""
"Do not use a proxy object from more than one thread unless you protect it "
"with a lock."
@ -4129,18 +4131,18 @@ msgstr ""
"N'utilisez pas d'objet mandataire depuis plus d'un fil d'exécution à moins "
"que vous ne le protégiez avec un verrou."
#: library/multiprocessing.rst:2745
#: library/multiprocessing.rst:2746
msgid ""
"(There is never a problem with different processes using the *same* proxy.)"
msgstr ""
"Il n'y a jamais de problème à avoir plusieurs processus qui utilisent un "
"*même* mandataire."
#: library/multiprocessing.rst:2747
#: library/multiprocessing.rst:2748
msgid "Joining zombie processes"
msgstr "Attendre les processus zombies"
#: library/multiprocessing.rst:2749
#: library/multiprocessing.rst:2750
msgid ""
"On Unix when a process finishes but has not been joined it becomes a zombie. "
"There should never be very many because each time a new process starts (or :"
@ -4159,11 +4161,11 @@ msgstr ""
"processus. Toutefois, il est, en règle générale, conseillé d'attendre "
"explicitement tous les processus que vous démarrez."
#: library/multiprocessing.rst:2757
#: library/multiprocessing.rst:2758
msgid "Better to inherit than pickle/unpickle"
msgstr "Mieux vaut hériter que sérialiser - désérialiser"
#: library/multiprocessing.rst:2759
#: library/multiprocessing.rst:2760
msgid ""
"When using the *spawn* or *forkserver* start methods many types from :mod:"
"`multiprocessing` need to be picklable so that child processes can use "
@ -4180,11 +4182,11 @@ msgstr ""
"processus qui nécessite l'accès à une ressource partagée créée autre part "
"qu'il en hérite depuis un de ses processus ancêtres."
#: library/multiprocessing.rst:2767
#: library/multiprocessing.rst:2768
msgid "Avoid terminating processes"
msgstr "Éviter de terminer les processus"
#: library/multiprocessing.rst:2769
#: library/multiprocessing.rst:2770
msgid ""
"Using the :meth:`Process.terminate <multiprocessing.Process.terminate>` "
"method to stop a process is liable to cause any shared resources (such as "
@ -4196,7 +4198,7 @@ msgstr ""
"indisponible aux autres processus des ressources partagées (comme des "
"verrous, sémaphores, tubes et files) actuellement utilisées par le processus."
#: library/multiprocessing.rst:2775
#: library/multiprocessing.rst:2776
msgid ""
"Therefore it is probably best to only consider using :meth:`Process."
"terminate <multiprocessing.Process.terminate>` on processes which never use "
@ -4206,11 +4208,11 @@ msgstr ""
"<multiprocessing.Process.terminate>` que sur les processus qui n'utilisent "
"jamais de ressources partagées."
#: library/multiprocessing.rst:2779
#: library/multiprocessing.rst:2780
msgid "Joining processes that use queues"
msgstr "Attendre les processus qui utilisent des files"
#: library/multiprocessing.rst:2781
#: library/multiprocessing.rst:2782
msgid ""
"Bear in mind that a process that has put items in a queue will wait before "
"terminating until all the buffered items are fed by the \"feeder\" thread to "
@ -4225,7 +4227,7 @@ msgstr ""
"<multiprocessing.Queue.cancel_join_thread>` de la queue pour éviter ce "
"comportement)."
#: library/multiprocessing.rst:2787
#: library/multiprocessing.rst:2788
msgid ""
"This means that whenever you use a queue you need to make sure that all "
"items which have been put on the queue will eventually be removed before the "
@ -4240,11 +4242,11 @@ msgstr ""
"termineront. Souvenez-vous aussi que tous les processus non *daemons* sont "
"attendus automatiquement."
#: library/multiprocessing.rst:2793
#: library/multiprocessing.rst:2794
msgid "An example which will deadlock is the following::"
msgstr "L'exemple suivant provoque un interblocage ::"
#: library/multiprocessing.rst:2807
#: library/multiprocessing.rst:2808
msgid ""
"A fix here would be to swap the last two lines (or simply remove the ``p."
"join()`` line)."
@ -4252,11 +4254,11 @@ msgstr ""
"Une solution ici consiste à intervertir les deux dernières lignes (ou "
"simplement à supprimer la ligne ``p.join()``)."
#: library/multiprocessing.rst:2810
#: library/multiprocessing.rst:2811
msgid "Explicitly pass resources to child processes"
msgstr "Passer explicitement les ressources aux processus fils"
#: library/multiprocessing.rst:2812
#: library/multiprocessing.rst:2813
msgid ""
"On Unix using the *fork* start method, a child process can make use of a "
"shared resource created in a parent process using a global resource. "
@ -4268,7 +4270,7 @@ msgstr ""
"utilisant une ressource globale. Cependant, il est préférable de passer "
"l'objet en argument au constructeur du processus fils."
#: library/multiprocessing.rst:2817
#: library/multiprocessing.rst:2818
msgid ""
"Apart from making the code (potentially) compatible with Windows and the "
"other start methods this also ensures that as long as the child process is "
@ -4283,24 +4285,24 @@ msgstr ""
"libérées quand l'objet est collecté par le ramasse-miettes du processus "
"parent."
#: library/multiprocessing.rst:2824
#: library/multiprocessing.rst:2825
msgid "So for instance ::"
msgstr "Donc par exemple ::"
#: library/multiprocessing.rst:2836
#: library/multiprocessing.rst:2837
msgid "should be rewritten as ::"
msgstr "devrait être réécrit comme ::"
#: library/multiprocessing.rst:2848
#: library/multiprocessing.rst:2849
msgid "Beware of replacing :data:`sys.stdin` with a \"file like object\""
msgstr ""
"Faire attention à remplacer :data:`sys.stdin` par un objet simili-fichier"
#: library/multiprocessing.rst:2850
#: library/multiprocessing.rst:2851
msgid ":mod:`multiprocessing` originally unconditionally called::"
msgstr "À l'origine, :mod:`multiprocessing` appelait inconditionnellement ::"
#: library/multiprocessing.rst:2854
#: library/multiprocessing.rst:2855
msgid ""
"in the :meth:`multiprocessing.Process._bootstrap` method --- this resulted "
"in issues with processes-in-processes. This has been changed to::"
@ -4308,7 +4310,7 @@ msgstr ""
"dans la méthode :meth:`multiprocessing.Process._bootstrap` — cela provoquait "
"des problèmes avec les processus imbriqués. Cela peut être changé en ::"
#: library/multiprocessing.rst:2860
#: library/multiprocessing.rst:2861
msgid ""
"Which solves the fundamental issue of processes colliding with each other "
"resulting in a bad file descriptor error, but introduces a potential danger "
@ -4325,7 +4327,7 @@ msgstr ""
"peut amener les données à être transmises à l'objet à plusieurs reprises, "
"résultant en une corruption."
#: library/multiprocessing.rst:2867
#: library/multiprocessing.rst:2868
msgid ""
"If you write a file-like object and implement your own caching, you can make "
"it fork-safe by storing the pid whenever you append to the cache, and "
@ -4336,28 +4338,28 @@ msgstr ""
"que vous ajoutez des données au cache, et annulez le cache quand le *pid* "
"change. Par exemple ::"
#: library/multiprocessing.rst:2879
#: library/multiprocessing.rst:2880
msgid ""
"For more information, see :issue:`5155`, :issue:`5313` and :issue:`5331`"
msgstr ""
"Pour plus d'informations, voir :issue:`5155`, :issue:`5313` et :issue:`5331`"
#: library/multiprocessing.rst:2882
#: library/multiprocessing.rst:2883
msgid "The *spawn* and *forkserver* start methods"
msgstr "Les méthodes de démarrage *spawn* et *forkserver*"
#: library/multiprocessing.rst:2884
#: library/multiprocessing.rst:2885
msgid ""
"There are a few extra restriction which don't apply to the *fork* start "
"method."
msgstr ""
"Certaines restrictions ne s'appliquent pas à la méthode de démarrage *fork*."
#: library/multiprocessing.rst:2887
#: library/multiprocessing.rst:2888
msgid "More picklability"
msgstr "Contraintes supplémentaires sur la sérialisation"
#: library/multiprocessing.rst:2889
#: library/multiprocessing.rst:2890
msgid ""
"Ensure that all arguments to :meth:`Process.__init__` are picklable. Also, "
"if you subclass :class:`~multiprocessing.Process` then make sure that "
@ -4370,11 +4372,11 @@ msgstr ""
"sérialisables quand la méthode :meth:`Process.start <multiprocessing.Process."
"start>` est appelée."
#: library/multiprocessing.rst:2894
#: library/multiprocessing.rst:2895
msgid "Global variables"
msgstr "Variables globales"
#: library/multiprocessing.rst:2896
#: library/multiprocessing.rst:2897
msgid ""
"Bear in mind that if code run in a child process tries to access a global "
"variable, then the value it sees (if any) may not be the same as the value "
@ -4387,7 +4389,7 @@ msgstr ""
"moment même où :meth:`Process.start <multiprocessing.Process.start>` est "
"appelée."
#: library/multiprocessing.rst:2901
#: library/multiprocessing.rst:2902
msgid ""
"However, global variables which are just module level constants cause no "
"problems."
@ -4395,11 +4397,11 @@ msgstr ""
"Cependant, les variables globales qui sont juste des constantes de modules "
"ne posent pas de problèmes."
#: library/multiprocessing.rst:2904
#: library/multiprocessing.rst:2905
msgid "Safe importing of main module"
msgstr "Importation sécurisée du module principal"
#: library/multiprocessing.rst:2906
#: library/multiprocessing.rst:2907
msgid ""
"Make sure that the main module can be safely imported by a new Python "
"interpreter without causing unintended side effects (such a starting a new "
@ -4409,7 +4411,7 @@ msgstr ""
"un nouvel interpréteur Python sans causer d'effets de bord inattendus (comme "
"le démarrage d'un nouveau processus)."
#: library/multiprocessing.rst:2910
#: library/multiprocessing.rst:2911
msgid ""
"For example, using the *spawn* or *forkserver* start method running the "
"following module would fail with a :exc:`RuntimeError`::"
@ -4417,7 +4419,7 @@ msgstr ""
"Par exemple, utiliser la méthode de démarrage *spawn* ou *forkserver* pour "
"lancer le module suivant échouerait avec une :exc:`RuntimeError` ::"
#: library/multiprocessing.rst:2922
#: library/multiprocessing.rst:2923
msgid ""
"Instead one should protect the \"entry point\" of the program by using ``if "
"__name__ == '__main__':`` as follows::"
@ -4425,7 +4427,7 @@ msgstr ""
"Vous devriez plutôt protéger le « point d'entrée » du programme en utilisant "
"``if __name__ == '__main__':`` comme suit ::"
#: library/multiprocessing.rst:2936
#: library/multiprocessing.rst:2937
msgid ""
"(The ``freeze_support()`` line can be omitted if the program will be run "
"normally instead of frozen.)"
@ -4433,7 +4435,7 @@ msgstr ""
"(La ligne ``freeze_support()`` peut être omise si le programme est "
"uniquement lancé normalement et pas figé.)"
#: library/multiprocessing.rst:2939
#: library/multiprocessing.rst:2940
msgid ""
"This allows the newly spawned Python interpreter to safely import the module "
"and then run the module's ``foo()`` function."
@ -4441,7 +4443,7 @@ msgstr ""
"Cela permet aux interpréteurs Python fraîchement instanciés d'importer en "
"toute sécurité le module et d'exécution ensuite la fonction ``foo()``."
#: library/multiprocessing.rst:2942
#: library/multiprocessing.rst:2943
msgid ""
"Similar restrictions apply if a pool or manager is created in the main "
"module."
@ -4449,21 +4451,21 @@ msgstr ""
"Des restrictions similaires s'appliquent si un pool ou un gestionnaire est "
"créé dans le module principal."
#: library/multiprocessing.rst:2949
#: library/multiprocessing.rst:2950
msgid "Examples"
msgstr "Exemples"
#: library/multiprocessing.rst:2951
#: library/multiprocessing.rst:2952
msgid "Demonstration of how to create and use customized managers and proxies:"
msgstr ""
"Démonstration de comment créer et utiliser des gestionnaires et mandataires "
"personnalisés :"
#: library/multiprocessing.rst:2957
#: library/multiprocessing.rst:2958
msgid "Using :class:`~multiprocessing.pool.Pool`:"
msgstr "En utilisant :class:`~multiprocessing.pool.Pool` :"
#: library/multiprocessing.rst:2963
#: library/multiprocessing.rst:2964
msgid ""
"An example showing how to use queues to feed tasks to a collection of worker "
"processes and collect the results:"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"POT-Creation-Date: 2021-11-04 18:14+0100\n"
"PO-Revision-Date: 2020-03-30 22:31+0200\n"
"Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -1863,7 +1863,7 @@ msgstr ""
msgid ""
"Load a set of default \"certification authority\" (CA) certificates from "
"default locations. On Windows it loads CA certs from the ``CA`` and ``ROOT`` "
"system stores. On other systems it calls :meth:`SSLContext."
"system stores. On all systems it calls :meth:`SSLContext."
"set_default_verify_paths`. In the future the method may load CA certificates "
"from other locations, too."
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -80,7 +80,9 @@ def update_makefile(cpython_repo: Path) -> None:
used to generate the `po` files.
"""
makefile = Path("Makefile").read_text(encoding="UTF-8")
head = run("git", "-C", cpython_repo, "rev-parse", "HEAD", stdout=PIPE).stdout
head = run(
"git", "-C", cpython_repo, "rev-parse", "HEAD", stdout=PIPE
).stdout.strip()
makefile = re.sub(
"^CPYTHON_CURRENT_COMMIT :=.*$",
f"CPYTHON_CURRENT_COMMIT := {head}",

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-10-21 15:04+0200\n"
"POT-Creation-Date: 2021-11-04 18:14+0100\n"
"PO-Revision-Date: 2021-10-21 23:42+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@ -4381,11 +4381,9 @@ msgstr ""
#: reference/datamodel.rst:2544
msgid ""
"If :meth:`__int__` is not defined then the built-in function :func:`int` "
"falls back to :meth:`__trunc__`."
"The built-in function :func:`int` falls back to :meth:`__trunc__` if "
"neither :meth:`__int__` nor :meth:`__index__` is defined."
msgstr ""
"Si :meth:`__int__` n'est pas définie, alors la fonction native :func:`int` "
"se replie sur :meth:`__trunc__`."
#: reference/datamodel.rst:2551
msgid "With Statement Context Managers"
@ -4881,6 +4879,13 @@ msgstr ""
"(telle que :meth:`__add__`) échoue, alors l'opération en tant que telle "
"n'est pas autorisée et donc la méthode symétrique n'est pas appelée."
#~ msgid ""
#~ "If :meth:`__int__` is not defined then the built-in function :func:`int` "
#~ "falls back to :meth:`__trunc__`."
#~ msgstr ""
#~ "Si :meth:`__int__` n'est pas définie, alors la fonction native :func:"
#~ "`int` se replie sur :meth:`__trunc__`."
#~ msgid ""
#~ "Special attributes: :attr:`~definition.__name__` is the class name; :attr:"
#~ "`__module__` is the module name in which the class was defined; :attr:"