diff --git a/c-api/cell.po b/c-api/cell.po index 66d5f6fc..671104f8 100644 --- a/c-api/cell.po +++ b/c-api/cell.po @@ -44,31 +44,37 @@ msgstr "" #: ../Doc/c-api/cell.rst:20 msgid "The C structure used for cell objects." -msgstr "" +msgstr "Structure C utilisée pour les objets cellules." #: ../Doc/c-api/cell.rst:25 msgid "The type object corresponding to cell objects." -msgstr "" +msgstr "Type objet correspondant aux objets cellules." #: ../Doc/c-api/cell.rst:30 msgid "Return true if *ob* is a cell object; *ob* must not be *NULL*." msgstr "" +"Renvoie ``True`` si *ob* est un objet cellule ; *ob* ne doit pas être à " +"*NULL*." #: ../Doc/c-api/cell.rst:35 msgid "" "Create and return a new cell object containing the value *ob*. The parameter " "may be *NULL*." msgstr "" +"Crée et retourne un nouvel objet cellule contenant la valeur *ob*. Le " +"paramètre peut être mis à *NULL*." #: ../Doc/c-api/cell.rst:41 msgid "Return the contents of the cell *cell*." -msgstr "" +msgstr "Renvoie le contenu de la cellule *cell*." #: ../Doc/c-api/cell.rst:46 msgid "" "Return the contents of the cell *cell*, but without checking that *cell* is " "non-*NULL* and a cell object." msgstr "" +"Renvoie le contenu de la cellule *cell*, mais sans vérifier si *cell* est " +"non *NULL* et sans vérifier si c'est un objet cellule." #: ../Doc/c-api/cell.rst:52 msgid "" @@ -77,6 +83,10 @@ msgid "" "must be non-*NULL*; if it is not a cell object, ``-1`` will be returned. On " "success, ``0`` will be returned." msgstr "" +"Définit le contenu de l'objet cellule à *value*. Cela libère la référence à " +"toute valeur de la cellule. *value* peut être fixé à *NULL*. *cell* ne doit " +"pas être *NULL* ; si ce n'est pas un objet cellule, ``-1`` est renvoyé. Si " +"c'est un objet cellule, renvoie ``0``." #: ../Doc/c-api/cell.rst:60 msgid "" @@ -84,3 +94,6 @@ msgid "" "are adjusted, and no checks are made for safety; *cell* must be non-*NULL* " "and must be a cell object." msgstr "" +"Définit la valeur de l'objet cellule à *value*. Pas de comptage de " +"références n'est ajusté et il n'y' a pas de contrôle effectué pour vérifier " +"la sûreté ; *cell* doit être à non *NULL* et doit être un objet cellule." diff --git a/c-api/complex.po b/c-api/complex.po index c7c6606f..c7d710aa 100644 --- a/c-api/complex.po +++ b/c-api/complex.po @@ -54,54 +54,73 @@ msgid "" "objects use structures of this type as input or output values, as " "appropriate. It is defined as::" msgstr "" +"Structure C représentant la valeur d'un nombre complexe Python. La majorité " +"des fonctions qui traitent des nombres complexes utilisent cette structure " +"en entrée ou en sortie, selon le cas. Elle est définie par ::" #: ../Doc/c-api/complex.rst:39 msgid "" "Return the sum of two complex numbers, using the C :c:type:`Py_complex` " "representation." msgstr "" +"Renvoie la somme de deux nombres complexes, sous la forme d'un :c:type:" +"`Py_complex` en C." #: ../Doc/c-api/complex.rst:45 msgid "" "Return the difference between two complex numbers, using the C :c:type:" "`Py_complex` representation." msgstr "" +"Renvoie la différence de deux nombres complexes, sous la forme d'un :c:type:" +"`Py_complex` en C." #: ../Doc/c-api/complex.rst:51 msgid "" "Return the negation of the complex number *complex*, using the C :c:type:" "`Py_complex` representation." msgstr "" +"Renvoie l'opposé du nombre complexe *complex*, sous la forme d'un :c:type:" +"`Py_complex` en C." #: ../Doc/c-api/complex.rst:57 msgid "" "Return the product of two complex numbers, using the C :c:type:`Py_complex` " "representation." msgstr "" +"Renvoie le produit de deux nombres complexes, sous la forme d'un :c:type:" +"`Py_complex` en C." #: ../Doc/c-api/complex.rst:63 msgid "" "Return the quotient of two complex numbers, using the C :c:type:`Py_complex` " "representation." msgstr "" +"Renvoie le quotient de deux nombres complexes, sous la forme d'un :c:type:" +"`Py_complex` en C." #: ../Doc/c-api/complex.rst:66 msgid "" "If *divisor* is null, this method returns zero and sets :c:data:`errno` to :" "c:data:`EDOM`." msgstr "" +"Si *divisor* est nul, cette méthode renvoie zéro et assigne :c:data:`EDOM` " +"à :c:data:`errno`." #: ../Doc/c-api/complex.rst:72 msgid "" "Return the exponentiation of *num* by *exp*, using the C :c:type:" "`Py_complex` representation." msgstr "" +"Renvoie *num* à la puissance *exp*, sous la forme d'un :c:type:`Py_complex` " +"en C." #: ../Doc/c-api/complex.rst:75 msgid "" "If *num* is null and *exp* is not a positive real number, this method " "returns zero and sets :c:data:`errno` to :c:data:`EDOM`." msgstr "" +"Si *num* est nul et *exp* n'est pas un nombre réel positif, cette méthode " +"renvoie zéro et assigne :c:data:`EDOM` à :c:data:`errno`." #: ../Doc/c-api/complex.rst:80 msgid "Complex Numbers as Python Objects" @@ -111,46 +130,64 @@ msgstr "Nombres complexes en tant qu'objets Python" msgid "" "This subtype of :c:type:`PyObject` represents a Python complex number object." msgstr "" +"Ce sous-type de l'objet :c:type:`PyObject` représente un nombre complexe en " +"Python." #: ../Doc/c-api/complex.rst:90 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python complex number " "type. It is the same object as :class:`complex` in the Python layer." msgstr "" +"Cette instance de :c:type:`PyTypeObject` représente le type nombre complexe " +"Python. C'est le même objet que la classe :class:`complex` de la couche " +"Python." #: ../Doc/c-api/complex.rst:96 msgid "" "Return true if its argument is a :c:type:`PyComplexObject` or a subtype of :" "c:type:`PyComplexObject`." msgstr "" +"Renvoie vrai si l'argument est de type :c:type:`PyComplexObject` ou un sous-" +"type de :c:type:`PyComplexObject`." #: ../Doc/c-api/complex.rst:102 msgid "" "Return true if its argument is a :c:type:`PyComplexObject`, but not a " "subtype of :c:type:`PyComplexObject`." msgstr "" +"Renvoie vrai si l'argument est de type :c:type:`PyComplexObject`, mais pas " +"un sous-type de :c:type:`PyComplexObject`." #: ../Doc/c-api/complex.rst:108 msgid "" "Create a new Python complex number object from a C :c:type:`Py_complex` " "value." msgstr "" +"Crée un nouveau nombre complexe à partir de la valeur d'un :c:type:" +"`Py_complex` en C." #: ../Doc/c-api/complex.rst:113 msgid "Return a new :c:type:`PyComplexObject` object from *real* and *imag*." msgstr "" +"Renvoie un nouveau :c:type:`PyComplexObject` à partir de *real* et de *imag*." #: ../Doc/c-api/complex.rst:118 msgid "Return the real part of *op* as a C :c:type:`double`." msgstr "" +"Renvoie la partie réelle du nombre complexe *op* sous la forme d'un :c:type:" +"`double` en C." #: ../Doc/c-api/complex.rst:123 msgid "Return the imaginary part of *op* as a C :c:type:`double`." msgstr "" +"Renvoie la partie imaginaire du nombre complexe *op* sous la forme d'un :c:" +"type:`double` en C." #: ../Doc/c-api/complex.rst:128 msgid "Return the :c:type:`Py_complex` value of the complex number *op*." msgstr "" +"Renvoie la valeur du nombre complexe *op* sous la forme d'un :c:type:" +"`Py_complex` en C." #: ../Doc/c-api/complex.rst:130 msgid "" @@ -158,3 +195,7 @@ msgid "" "method, this method will first be called to convert *op* to a Python complex " "number object. Upon failure, this method returns ``-1.0`` as a real value." msgstr "" +"Si *op* n'est pas un nombre complexe Python mais a une méthode :meth:" +"`__complex__`, cette méthode est d'abord appelée pour convertir *op* en " +"nombre complexe Python. En cas d'échec, cette méthode renvoie ``-1.0`` en " +"tant que nombre réel." diff --git a/c-api/datetime.po b/c-api/datetime.po index 58745070..d93a3050 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.po @@ -30,74 +30,102 @@ msgid "" "structure into a static variable, :c:data:`PyDateTimeAPI`, that is used by " "the following macros." msgstr "" +"De nombreux objets *date* et *time* sont exposés par le module :mod:" +"`DateTime`. Avant d'utiliser une de ces fonctions, le fichier d'en-tête :" +"file:`datetime.h` doit être inclus dans vos sources (veuillez noter qu'il " +"n'est pas inclus par le fichier :file:`Python.h`) et la macro :c:macro:" +"`PyDateTime_IMPORT` doit-être invoquée, généralement lors de la fonction " +"d'initialisation du module. La macro crée un pointeur vers une structure C " +"et place celui-ci dans une variable statique, :c:data:`PyDateTimeAPI`, qui " +"est utilisée par les macros suivantes." #: ../Doc/c-api/datetime.rst:16 msgid "Type-check macros:" -msgstr "" +msgstr "Macros pour vérifier les types :" #: ../Doc/c-api/datetime.rst:20 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateType` or a subtype " "of :c:data:`PyDateTime_DateType`. *ob* must not be *NULL*." msgstr "" +"Renvoie vrai si *ob* est de type :c:data:`PyDateTime_DateType` ou un sous-" +"type de :c:data:`PyDateTime_DateType`. *ob* ne doit pas être *NULL*." #: ../Doc/c-api/datetime.rst:26 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateType`. *ob* must not " "be *NULL*." msgstr "" +"Renvoie vrai si *ob* est de type :c:data:`PyDateTime_DateType`. *ob* ne doit " +"pas être *NULL*." #: ../Doc/c-api/datetime.rst:32 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType` or a " "subtype of :c:data:`PyDateTime_DateTimeType`. *ob* must not be *NULL*." msgstr "" +"Renvoie vrai si *ob* est de type :c:data:`PyDateTime_DateTimeType` ou un " +"sous-type de :c:data:`PyDateTime_DateTimeType`. *ob* ne doit pas être *NULL*." #: ../Doc/c-api/datetime.rst:38 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType`. *ob* must " "not be *NULL*." msgstr "" +"Renvoie vrai si *ob* est de type :c:data:`PyDateTime_DateTimeType`. *ob* ne " +"doit pas être *NULL*." #: ../Doc/c-api/datetime.rst:44 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TimeType` or a subtype " "of :c:data:`PyDateTime_TimeType`. *ob* must not be *NULL*." msgstr "" +"Renvoie vrai si *ob* est de type :c:data:`PyDateTime_TimeType` ou un sous-" +"type de :c:data:`PyDateTime_TimeType`. *ob* ne doit pas être *NULL*." #: ../Doc/c-api/datetime.rst:50 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TimeType`. *ob* must not " "be *NULL*." msgstr "" +"Renvoie vrai si *ob* est de type :c:data:`PyDateTime_TimeType`. *ob* ne doit " +"pas être *NULL*." #: ../Doc/c-api/datetime.rst:56 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DeltaType` or a subtype " "of :c:data:`PyDateTime_DeltaType`. *ob* must not be *NULL*." msgstr "" +"Renvoie vrai si *ob* est de type :c:data:`PyDateTime_DeltaType` ou un sous-" +"type de :c:data:`PyDateTime_DeltaType`. *ob* ne doit pas être *NULL*." #: ../Doc/c-api/datetime.rst:62 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DeltaType`. *ob* must not " "be *NULL*." msgstr "" +"Renvoie vrai si *ob* est de type :c:data:`PyDateTime_DeltaType`. *ob* ne " +"doit pas être *NULL*." #: ../Doc/c-api/datetime.rst:68 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType` or a subtype " "of :c:data:`PyDateTime_TZInfoType`. *ob* must not be *NULL*." msgstr "" +"Renvoie vrai si *ob* est de type :c:data:`PyDateTime_TZInfoType` ou un sous-" +"type de :c:data:`PyDateTime_TZInfoType`. *ob* ne doit pas être *NULL*." #: ../Doc/c-api/datetime.rst:74 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType`. *ob* must " "not be *NULL*." msgstr "" +"Renvoie vrai si *ob* est de type :c:data:`PyDateTime_TZInfoType`. *ob* ne " +"doit pas être *NULL*." #: ../Doc/c-api/datetime.rst:78 msgid "Macros to create objects:" -msgstr "" +msgstr "Macros pour créer des objets :" #: ../Doc/c-api/datetime.rst:82 msgid "" @@ -131,18 +159,22 @@ msgid "" "`PyDateTime_DateTime`). The argument must not be *NULL*, and the type is " "not checked:" msgstr "" +"Macros pour extraire les champs des objets *date*. L'argument doit être une " +"instance de :c:data:`PyDateTime_Date`, ou une sous-classe (telle que :c:data:" +"`PyDateTime_DateTime`). L'argument ne doit pas être *NULL*, et le type n'est " +"pas vérifié :" #: ../Doc/c-api/datetime.rst:112 msgid "Return the year, as a positive int." -msgstr "" +msgstr "Renvoie l'année, sous forme d'entier positif." #: ../Doc/c-api/datetime.rst:117 msgid "Return the month, as an int from 1 through 12." -msgstr "" +msgstr "Renvoie le mois, sous forme d'entier allant de 1 à 12." #: ../Doc/c-api/datetime.rst:122 msgid "Return the day, as an int from 1 through 31." -msgstr "" +msgstr "Renvoie le jour, sous forme d'entier allant de 1 à 31." #: ../Doc/c-api/datetime.rst:125 msgid "" @@ -150,22 +182,25 @@ msgid "" "instance of :c:data:`PyDateTime_DateTime`, including subclasses. The " "argument must not be *NULL*, and the type is not checked:" msgstr "" +"Macros pour extraire les champs des objets *datetime*. L'argument doit être " +"une instance de :c:data:`PyDateTime_DateTime` ou une sous-classe de celle-" +"ci. L'argument ne doit pas être *NULL*, et le type n'est pas vérifié :" #: ../Doc/c-api/datetime.rst:131 ../Doc/c-api/datetime.rst:155 msgid "Return the hour, as an int from 0 through 23." -msgstr "" +msgstr "Renvoie l'heure, sous forme d'entier allant de 0 à 23." #: ../Doc/c-api/datetime.rst:136 ../Doc/c-api/datetime.rst:160 msgid "Return the minute, as an int from 0 through 59." -msgstr "" +msgstr "Renvoie la minute, sous forme d'entier allant de 0 à 59." #: ../Doc/c-api/datetime.rst:141 ../Doc/c-api/datetime.rst:165 msgid "Return the second, as an int from 0 through 59." -msgstr "" +msgstr "Renvoie la seconde, sous forme d'entier allant de 0 à 59." #: ../Doc/c-api/datetime.rst:146 ../Doc/c-api/datetime.rst:170 msgid "Return the microsecond, as an int from 0 through 999999." -msgstr "" +msgstr "Renvoie la microseconde, sous forme d'entier allant de 0 à 999999." #: ../Doc/c-api/datetime.rst:149 msgid "" @@ -173,6 +208,9 @@ msgid "" "instance of :c:data:`PyDateTime_Time`, including subclasses. The argument " "must not be *NULL*, and the type is not checked:" msgstr "" +"Macros pour extraire les champs des objets *time*. L'argument doit être une " +"instance de :c:data:`PyDateTime_Time` ou une sous-classe de celle-ci. " +"L'argument ne doit pas être *NULL*, et le type n'est pas vérifié :" #: ../Doc/c-api/datetime.rst:173 msgid "" @@ -180,22 +218,28 @@ msgid "" "instance of :c:data:`PyDateTime_Delta`, including subclasses. The argument " "must not be *NULL*, and the type is not checked:" msgstr "" +"Macros pour extraire les champs des objets *time delta*. L'argument doit " +"être une instance de :c:data:`PyDateTime_Delta` ou une sous-classe de celle-" +"ci. L'argument ne doit pas être *NULL*, et le type n'est pas vérifié :" #: ../Doc/c-api/datetime.rst:179 msgid "Return the number of days, as an int from -999999999 to 999999999." msgstr "" +"Renvoie le nombre de jours, sous forme d'entier allant de -999999999 à " +"999999999." #: ../Doc/c-api/datetime.rst:186 msgid "Return the number of seconds, as an int from 0 through 86399." -msgstr "" +msgstr "Renvoie le nombre de secondes sous forme d'entier allant de 0 à 86399." #: ../Doc/c-api/datetime.rst:193 msgid "Return the number of microseconds, as an int from 0 through 999999." msgstr "" +"Renvoie le nombre de microsecondes, sous forme d'entier allant de 0 à 999999." #: ../Doc/c-api/datetime.rst:198 msgid "Macros for the convenience of modules implementing the DB API:" -msgstr "" +msgstr "Macros de confort pour les modules implémentant l'API DB :" #: ../Doc/c-api/datetime.rst:202 msgid "" diff --git a/c-api/exceptions.po b/c-api/exceptions.po index 1c107492..b98f9a77 100644 --- a/c-api/exceptions.po +++ b/c-api/exceptions.po @@ -478,7 +478,7 @@ msgstr "" #: ../Doc/c-api/exceptions.rst:467 msgid "Signal Handling" -msgstr "" +msgstr "Traitement des signaux" #: ../Doc/c-api/exceptions.rst:477 msgid "" diff --git a/c-api/file.po b/c-api/file.po index 0056670c..c110dae8 100644 --- a/c-api/file.po +++ b/c-api/file.po @@ -31,6 +31,16 @@ msgid "" "reporting in the interpreter; third-party code is advised to access the :mod:" "`io` APIs instead." msgstr "" +"Ces API sont une émulation minimale de l'API C Python 2 pour les objets " +"fichier natifs, qui reposaient sur la gestion des entrées-sorties avec " +"tampon (:c:type:`FILE\\*`) de la bibliothèque standard C. En Python 3, les " +"fichiers et les flux utilisent le nouveau module :mod:`io`, qui définit " +"plusieurs couches au dessus des entrées/sorties bas niveau sans tampon du " +"système d'exploitation. Les fonctions définies ci-dessous, écrites en C, " +"encapsulent ces nouvelles APi pour les rendre plus faciles d'utilisation et " +"sont majoritairement pensées pour signaler des erreurs internes dans " +"l'interpréteur ; il est conseillé au code tiers d'utiliser les API de :mod:" +"`io` à la place." #: ../Doc/c-api/file.rst:22 msgid "" @@ -41,6 +51,13 @@ msgid "" "failure. For a more comprehensive description of the arguments, please refer " "to the :func:`io.open` function documentation." msgstr "" +"Crée un objet fichier Python à partir du descripteur d'un fichier déjà " +"ouvert *fd*. Les arguments *name*, *encoding*, *errors* et *newline* peuvent " +"être *NULL* pour utiliser ceux par défaut ; *buffering* peut être *-1* pour " +"utiliser celui par défaut ; *name* est ignoré et gardé pour la rétro-" +"compatibilité. Renvoie *NULL* en cas d'échec. Pour une description plus " +"détaillée des arguments, merci de vous référer à la documentation de " +"fonction :func:`io.open`." #: ../Doc/c-api/file.rst:31 msgid "" @@ -48,10 +65,14 @@ msgid "" "level file descriptors can produce various issues (such as unexpected " "ordering of data)." msgstr "" +"Étant donné que les flux de données Python possèdent leur propre couche de " +"tampon, les mélanger avec des descripteurs de fichiers du niveau du système " +"d'exploitation peut produire des erreurs (comme par exemple un ordre des " +"données inattendu)." #: ../Doc/c-api/file.rst:35 msgid "Ignore *name* attribute." -msgstr "" +msgstr "ignore l'attribut *name*" #: ../Doc/c-api/file.rst:41 msgid "" @@ -61,6 +82,11 @@ msgid "" "integer, which is returned as the file descriptor value. Sets an exception " "and returns ``-1`` on failure." msgstr "" +"Renvoie un descripteur de fichier associé avec *p* comme un :c:type:`int`. " +"Si l'objet est un entier, sa valeur est renvoyée. Sinon, la méthode :meth:" +"`~io.IOBase.fileno` de l'objet est appelée si elle existe; la méthode doit " +"renvoyer un entier, qui est renvoyé en tant que valeur du descripteur. " +"Affecte une exception et renvoie ``-1`` lors d'un échec." #: ../Doc/c-api/file.rst:52 msgid "" @@ -74,6 +100,16 @@ msgid "" "regardless of length, but :exc:`EOFError` is raised if the end of the file " "is reached immediately." msgstr "" +"Cette fonction, équivalente à ``p.readline([n])``, lit une ligne de l'objet " +"*p*. *p* peut être un objet fichier ou n'importe quel objet qui possède une " +"méthode :meth:`~io.IOBase.readline`. Si *n* vaut ``0``, une seule ligne est " +"lue, indépendamment de la taille de la ligne. Si *n* est plus grand que " +"``0``, un maximum de *n* octets seront lus en provenance du fichier ; une " +"ligne partielle peut être renvoyée. Dans les deux cas, une chaîne de " +"caractères vide est renvoyée si la fin du fichier est atteinte " +"immédiatement. Cependant, si *n* est plus petit que ``0``, une ligne est lue " +"indépendamment de sa taille, mais :exc:`EOFError` est levée si la fin du " +"fichier est atteinte immédiatement." #: ../Doc/c-api/file.rst:67 msgid "" @@ -82,9 +118,16 @@ msgid "" "instead of the :func:`repr`. Return ``0`` on success or ``-1`` on failure; " "the appropriate exception will be set." msgstr "" +"Écrit l'objet *obj* dans l'objet fichier *p*. La seule option gérée pour " +"*flags* est :const:`Py_PRINT_RAW` ; si défini, l'attribut :func:`str` de " +"l'objet est écrit à la place de l'attribut :func:`repr`. Retourne ``0`` en " +"cas de succès ou ``-1`` en cas échec ; l'exception appropriée sera levée." #: ../Doc/c-api/file.rst:75 msgid "" "Write string *s* to file object *p*. Return ``0`` on success or ``-1`` on " "failure; the appropriate exception will be set." msgstr "" +"Écrit la chaîne de caractères *s* dans l'objet fichier *p*. Retourne ``0`` " +"en cas de succès ou ``-1`` en cas d'échec ; l'exception appropriée sera mise " +"en place." diff --git a/c-api/float.po b/c-api/float.po index 87809bbc..acc431d6 100644 --- a/c-api/float.po +++ b/c-api/float.po @@ -18,40 +18,53 @@ msgstr "" #: ../Doc/c-api/float.rst:6 msgid "Floating Point Objects" -msgstr "" +msgstr "Objets représentant les nombres à virgule flottante" #: ../Doc/c-api/float.rst:13 msgid "" "This subtype of :c:type:`PyObject` represents a Python floating point object." msgstr "" +"Ce sous-type de l'objet :c:type:`PyObject` représente un nombre à virgule " +"flottante en Python." #: ../Doc/c-api/float.rst:18 msgid "" "This instance of :c:type:`PyTypeObject` represents the Python floating point " "type. This is the same object as :class:`float` in the Python layer." msgstr "" +"Cette instance de l'objet :c:type:`PyTypeObject` représente le type nombre à " +"virgule flottante en Python. C'est le même objet que la classe :class:" +"`float` de la couche Python." #: ../Doc/c-api/float.rst:24 msgid "" "Return true if its argument is a :c:type:`PyFloatObject` or a subtype of :c:" "type:`PyFloatObject`." msgstr "" +"Renvoie vrai si l'argument est de type :c:type:`PyFloatObject` ou un sous-" +"type de :c:type:`PyFloatObject`." #: ../Doc/c-api/float.rst:30 msgid "" "Return true if its argument is a :c:type:`PyFloatObject`, but not a subtype " "of :c:type:`PyFloatObject`." msgstr "" +"Renvoie vrai si l'argument est de type :c:type:`PyFloatObject`, mais pas un " +"sous-type de :c:type:`PyFloatObject`." #: ../Doc/c-api/float.rst:36 msgid "" "Create a :c:type:`PyFloatObject` object based on the string value in *str*, " "or *NULL* on failure." msgstr "" +"Crée un objet :c:type:`PyFloatObject` à partir de la valeur de la chaîne de " +"caractères *str*, ou *NULL* en cas d'échec." #: ../Doc/c-api/float.rst:42 msgid "Create a :c:type:`PyFloatObject` object from *v*, or *NULL* on failure." msgstr "" +"Crée un objet :c:type:`PyFloatObject` à partir de *v*, ou *NULL* en cas " +"d'échec." #: ../Doc/c-api/float.rst:47 msgid "" @@ -61,12 +74,20 @@ msgid "" "This method returns ``-1.0`` upon failure, so one should call :c:func:" "`PyErr_Occurred` to check for errors." msgstr "" +"Renvoie une représentation du contenu d'un *pyfloat* sous la forme d'un :c:" +"type:`double` en C. Si le *pyfloat* n'est pas un nombre à virgule flottante " +"mais contient une méthode :meth:`__float__`, elle est d'abord appelée pour " +"convertir le *pyfloat* en nombre à virgule flottante. Cette méthode renvoie " +"``-1.0`` en cas d'échec, il faut appeler :c:func:`PyErr_Occurred` pour " +"vérifier les erreurs." #: ../Doc/c-api/float.rst:56 msgid "" "Return a C :c:type:`double` representation of the contents of *pyfloat*, but " "without error checking." msgstr "" +"Renvoie une représentation du contenu d'un *pyfloat* sous la forme d'un :c:" +"type:`double` en C, sans vérifier les erreurs." #: ../Doc/c-api/float.rst:62 msgid "" @@ -74,20 +95,29 @@ msgid "" "minimum and maximum values of a float. It's a thin wrapper around the header " "file :file:`float.h`." msgstr "" +"Renvoie une instance *structseq* qui contient les informations sur la " +"précision et les valeurs minimales et maximales pour un nombre à virgule " +"flottante. C'est une enveloppe autour du fichier d'entête :file:`float.h`." #: ../Doc/c-api/float.rst:69 msgid "" "Return the maximum representable finite float *DBL_MAX* as C :c:type:" "`double`." msgstr "" +"Renvoie le nombre à virgule flottante fini maximal *DBL_MAX* sous la forme " +"d'un :c:type:`double` en C." #: ../Doc/c-api/float.rst:74 msgid "" "Return the minimum normalized positive float *DBL_MIN* as C :c:type:`double`." msgstr "" +"Renvoie le nombre à virgule flottante minimal normalisé *DBL_MIN* sous la " +"forme :c:type:`double` en C." #: ../Doc/c-api/float.rst:78 msgid "" "Clear the float free list. Return the number of items that could not be " "freed." msgstr "" +"Libère la mémoire de la *free list* des nombres à virgule flottante. Renvoie " +"le nombre d'éléments qui n'ont pas pu être libérés." diff --git a/c-api/intro.po b/c-api/intro.po index 7bbf53cf..4c336241 100644 --- a/c-api/intro.po +++ b/c-api/intro.po @@ -464,7 +464,7 @@ msgstr "" #: ../Doc/c-api/intro.rst:516 msgid "Embedding Python" -msgstr "" +msgstr "Embarquer Python" #: ../Doc/c-api/intro.rst:518 msgid "" diff --git a/c-api/iterator.po b/c-api/iterator.po index e263e757..4fa78c3d 100644 --- a/c-api/iterator.po +++ b/c-api/iterator.po @@ -40,10 +40,13 @@ msgid "" "one-argument form of the :func:`iter` built-in function for built-in " "sequence types." msgstr "" +"Type des itérateurs renvoyés par les fonctions :c:func:`PySeqIter_New` et la " +"forme à un argument de la fonction native :func:`iter` pour les séquences " +"natives." #: ../Doc/c-api/iterator.rst:24 msgid "Return true if the type of *op* is :c:data:`PySeqIter_Type`." -msgstr "" +msgstr "Renvoie vrai si *op* est de type :c:data:`PySeqIter_Type`." #: ../Doc/c-api/iterator.rst:29 msgid "" @@ -51,16 +54,20 @@ msgid "" "iteration ends when the sequence raises :exc:`IndexError` for the " "subscripting operation." msgstr "" +"Renvoie un itérateur sur la séquence *seq*. L'itération prend fin lorsque la " +"séquence lève :exc:`IndexError` lors d'une tentative d'accès." #: ../Doc/c-api/iterator.rst:36 msgid "" "Type object for iterator objects returned by :c:func:`PyCallIter_New` and " "the two-argument form of the :func:`iter` built-in function." msgstr "" +"Type de l'itérateur renvoyé par les fonctions :c:func:`PyCallIter_New` et :" +"func:`iter` à deux arguments." #: ../Doc/c-api/iterator.rst:42 msgid "Return true if the type of *op* is :c:data:`PyCallIter_Type`." -msgstr "" +msgstr "Renvoie vrai si *op* est de type :c:data:`PyCallIter_Type`." #: ../Doc/c-api/iterator.rst:47 msgid "" @@ -69,3 +76,7 @@ msgid "" "should return the next item in the iteration. When *callable* returns a " "value equal to *sentinel*, the iteration will be terminated." msgstr "" +"Renvoie un nouvel itérateur. Le premier paramètre, *callable*, peut être " +"n'importe quel objet Python appelable sans aucun paramètre ; chaque appel " +"doit renvoyer l'élément suivant de l'itération. Lorsque *callable* renvoie " +"une valeur égale à *sentinel*, l'itération prend fin." diff --git a/c-api/memory.po b/c-api/memory.po index 026689db..1d30eeae 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -22,7 +22,7 @@ msgstr "" #: ../Doc/c-api/memory.rst:17 msgid "Overview" -msgstr "" +msgstr "Aperçu" #: ../Doc/c-api/memory.rst:19 msgid "" diff --git a/c-api/objbuffer.po b/c-api/objbuffer.po index be708cf8..4be03599 100644 --- a/c-api/objbuffer.po +++ b/c-api/objbuffer.po @@ -56,6 +56,12 @@ msgid "" "and *buffer_len* to the buffer length. Returns ``-1`` and sets a :exc:" "`TypeError` on error." msgstr "" +"Retourne un pointeur vers un emplacement de mémoire en lecture seule " +"utilisable en tant qu'entrée basée sur des caractères. L'argument *obj* doit " +"prendre en charge l'interface de tampon de caractère à segment unique. En " +"cas de succès, retourne ``0``, définit *buffer* à l'emplacement de la " +"mémoire et *buffer_len* à la longueur de la mémoire tampon. Retourne ``-1`` " +"et affecte une exception :exc:`TypeError` en cas d'erreur." #: ../Doc/c-api/objbuffer.rst:32 msgid "" @@ -65,6 +71,12 @@ msgid "" "and *buffer_len* to the buffer length. Returns ``-1`` and sets a :exc:" "`TypeError` on error." msgstr "" +"Retourne un pointeur vers un emplacement de mémoire en lecture seule " +"contenant des données arbitraires. L'argument *obj* doit prendre en charge " +"l'interface de tampon lisible à segment unique. En cas de succès, retourne " +"``0``, définit *buffer* à l'emplacement de la mémoire et *buffer_len* à la " +"longueur de la mémoire tampon. Renvoie ``-1`` et affecte l'exception :exc:" +"`TypeError` en cas d'erreur." #: ../Doc/c-api/objbuffer.rst:41 msgid "" diff --git a/c-api/object.po b/c-api/object.po index a0285d1f..26cb5c87 100644 --- a/c-api/object.po +++ b/c-api/object.po @@ -18,13 +18,15 @@ msgstr "" #: ../Doc/c-api/object.rst:6 msgid "Object Protocol" -msgstr "" +msgstr "Protocole Objet" #: ../Doc/c-api/object.rst:11 msgid "" "The ``NotImplemented`` singleton, used to signal that an operation is not " "implemented for the given type combination." msgstr "" +"Le singleton ``NotImplemented``, utilisé pour signaler qu'une opération " +"n'est pas implémentée pour la combinaison de types en question." #: ../Doc/c-api/object.rst:17 msgid "" @@ -32,6 +34,9 @@ msgid "" "function (that is, increment the reference count of NotImplemented and " "return it)." msgstr "" +"Traite proprement le renvoi de :c:data:`Py_NotImplemented` depuis " +"l'intérieur d'une fonction C (c'est-à-dire, incrémente le compteur de " +"référence de `NotImplemented` et le renvoie)." #: ../Doc/c-api/object.rst:24 msgid "" @@ -40,6 +45,11 @@ msgid "" "currently supported is :const:`Py_PRINT_RAW`; if given, the :func:`str` of " "the object is written instead of the :func:`repr`." msgstr "" +"Écrit un objet *o*, dans le fichier *fp*. Renvoie ``-1`` en cas d'erreur. " +"L'argument *flags* est utilisé pour permettre certaines options de rendu. La " +"seule option actuellement gérée est :const:`Py_PRINT_RAW` ; si cet argument " +"est fourni, le :func:`str` de l'objet est utilisé pour le rendu à la place " +"de :func:`repr`." #: ../Doc/c-api/object.rst:32 ../Doc/c-api/object.rst:39 msgid "" @@ -47,6 +57,9 @@ msgid "" "This is equivalent to the Python expression ``hasattr(o, attr_name)``. This " "function always succeeds." msgstr "" +"Renvoie ``1`` si *o* a l'attribut *attr_name*, et ``0`` sinon. Ceci est " +"équivalent à l'expression Python ``hasattr(o, attr_name)``. Cette fonction " +"réussit toujours." #: ../Doc/c-api/object.rst:46 msgid "" @@ -54,6 +67,9 @@ msgid "" "attribute value on success, or *NULL* on failure. This is the equivalent of " "the Python expression ``o.attr_name``." msgstr "" +"Récupère l'attribut nommé *attr_name* de l'objet *o*. Renvoie la valeur de " +"l'attribut en cas de succès, ou *NULL* en cas d'échec. Ceci est équivalent à " +"l'expression Python ``o.attr_name``." #: ../Doc/c-api/object.rst:53 msgid "" @@ -61,6 +77,9 @@ msgid "" "attribute value on success, or *NULL* on failure. This is the equivalent of " "the Python expression ``o.attr_name``." msgstr "" +"Récupère un attribut nommé *attr_name* de l'objet *o*. Renvoie la valeur de " +"l'attribut en cas de succès, ou *NULL* en cas d'échec. Ceci est équivalent à " +"l'expression Python ``o.attr_name``." #: ../Doc/c-api/object.rst:60 msgid "" @@ -71,6 +90,13 @@ msgid "" "descriptors take preference over instance attributes, while non-data " "descriptors don't. Otherwise, an :exc:`AttributeError` is raised." msgstr "" +"Accesseur d'attribut générique destiné à être mis dans le *slot* " +"``tp_getattro`` d'un objet type. Recherche un descripteur dans le " +"dictionnaire de classes du MRO de l'objet ainsi qu'un attribut dans le :attr:" +"`~object.__dict__` de l'objet (si présent). Comme défini dans :ref:" +"`descriptors`, les descripteurs de données sont prioritaires sur les " +"attributs d'instance, contrairement aux autres descripteurs. Sinon, une :exc:" +"`AttributeError` est levée." #: ../Doc/c-api/object.rst:70 ../Doc/c-api/object.rst:81 msgid "" @@ -78,18 +104,26 @@ msgid "" "value *v*. Raise an exception and return ``-1`` on failure; return ``0`` on " "success. This is the equivalent of the Python statement ``o.attr_name = v``." msgstr "" +"Définit la valeur de l'attribut nommé *attr_name*, pour l'objet *o*, à la " +"valeur *v*. Lève une exception et renvoie ``-1`` en cas d'échec ; renvoie " +"``0`` en cas de succès. Ceci est équivalent à l'instruction Python ``o." +"attr_name = v``." #: ../Doc/c-api/object.rst:75 msgid "" "If *v* is *NULL*, the attribute is deleted, however this feature is " "deprecated in favour of using :c:func:`PyObject_DelAttr`." msgstr "" +"Si *v* est *NULL*, l'attribut est supprimé. Cette fonctionnalité est " +"obsolète,nous vous conseillons d'utiliser :c:func:`PyObject_DelAttr`." #: ../Doc/c-api/object.rst:86 msgid "" "If *v* is *NULL*, the attribute is deleted, however 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`." #: ../Doc/c-api/object.rst:92 msgid "" @@ -102,24 +136,39 @@ msgid "" "returned, otherwise an :exc:`AttributeError` is raised and ``-1`` is " "returned." msgstr "" +"Accesseur et suppresseur générique d'attributs qui est fait pour être mis " +"dans le :c:member:`~PyTypeObject.tp_setattro` d'un objet type. Il cherche un " +"descripteur de données dans le dictionnaire de classes dans le MRO de " +"l'objet et, si ce descripteur est trouvé, c'est lui qui est utilisé de " +"préférence pour la suppression et la définition de l'attribut dans le " +"dictionnaire d'instance. Sinon, l'attribut est défini ou supprimé dans le :" +"attr:`~object.__dict__` de l'objet (si présent). En cas de succès, ``0`` est " +"renvoyé, sinon une :exc:`AttributeError` est levée et ``-1`` est renvoyé." #: ../Doc/c-api/object.rst:104 ../Doc/c-api/object.rst:110 msgid "" "Delete attribute named *attr_name*, for object *o*. Returns ``-1`` on " "failure. This is the equivalent of the Python statement ``del o.attr_name``." msgstr "" +"Supprime l'attribut nommé *attr_name*, pour l'objet *o*. Renvoie ``-1`` en " +"cas d'échec. Ceci est l'équivalent de l'expression Python ``del o." +"attr_name``." #: ../Doc/c-api/object.rst:116 msgid "" "A generic implementation for the getter of a ``__dict__`` descriptor. It " "creates the dictionary if necessary." msgstr "" +"Une implémentation générique de l'accesseur d'un descripteur d'un " +"``__dict__``. Crée le dictionnaire si nécessaire." #: ../Doc/c-api/object.rst:124 msgid "" "A generic implementation for the setter of a ``__dict__`` descriptor. This " "implementation does not allow the dictionary to be deleted." msgstr "" +"Une implémentation générique du mutateur d'un descripteur de ``__dict__``. " +"Cette implémentation n'autorise pas la suppression du dictionnaire." #: ../Doc/c-api/object.rst:132 msgid "" @@ -131,6 +180,13 @@ msgid "" "to *opid*. Returns the value of the comparison on success, or *NULL* on " "failure." msgstr "" +"Compare les valeurs de *o1* et *o2* en utilisant l'opération spécifiée par " +"*opid*, qui doit être :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:" +"`Py_NE`, :const:`Py_GT`, ou :const:`Py_GE`, correspondant à ``<``, ``<=``, " +"``==``, ``!=``, ``>``, ou ``>=`` respectivement. Ceci est l'équivalent de " +"l'expression Python ``o1 op o2``, où ``op`` est l'opérateur correspondant à " +"*opid*. Renvoie la valeur de la comparaison en cas de succès, ou *NULL* en " +"cas d'échec." #: ../Doc/c-api/object.rst:142 msgid "" @@ -142,12 +198,21 @@ msgid "" "Python expression ``o1 op o2``, where ``op`` is the operator corresponding " "to *opid*." msgstr "" +"Compare les valeurs de *o1* et *o2* en utilisant l'opération spécifiée par " +"*opid*, qui doit être :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:" +"`Py_NE`, :const:`Py_GT`, ou :const:`Py_GE`, correspondant à ``<``, ``<=``, " +"``==``, ``!=``, ``>``, ou ``>=`` respectivement. Renvoie ``-1`` en cas " +"d'erreur, ``0`` si le résultat est faux, et ``1`` sinon. Ceci est " +"l'équivalent de l'expression Python ``o1 op o2``, où ``op`` est l'opérateur " +"correspondant à *opid*." #: ../Doc/c-api/object.rst:151 msgid "" "If *o1* and *o2* are the same object, :c:func:`PyObject_RichCompareBool` " "will always return ``1`` for :const:`Py_EQ` and ``0`` for :const:`Py_NE`." msgstr "" +"Si *o1* et *o2* sont le même objet, :c:func:`PyObject_RichCompareBool` " +"renvoie toujours ``1`` pour :const:`Py_EQ` et ``0`` pour :const:`Py_NE`." #: ../Doc/c-api/object.rst:158 msgid "" @@ -155,12 +220,18 @@ msgid "" "representation on success, *NULL* on failure. This is the equivalent of the " "Python expression ``repr(o)``. Called by the :func:`repr` built-in function." msgstr "" +"Calcule une représentation en chaîne de caractères de l'objet *o*. Renvoie " +"la représentation en chaîne de caractères en cas de succès, *NULL* en cas " +"d'échec. Ceci est l'équivalent de l'expression Python ``repr(o)``. Appelé " +"par la fonction intégrée :func:`repr`." #: ../Doc/c-api/object.rst:162 ../Doc/c-api/object.rst:186 msgid "" "This function now includes a debug assertion to help ensure that it does not " "silently discard an active exception." msgstr "" +"Cette fonction inclut maintenant une assertion de débogage afin d'assurer " +"qu'elle ne passe pas sous silence une exception active." #: ../Doc/c-api/object.rst:170 msgid "" @@ -170,6 +241,12 @@ msgid "" "string similar to that returned by :c:func:`PyObject_Repr` in Python 2. " "Called by the :func:`ascii` built-in function." msgstr "" +"Comme :c:Func:`PyObject_Repr`, calcule une représentation en chaîne de " +"caractères de l'objet *o*, mais échappe les caractères non ASCII dans la " +"chaîne de caractères renvoyée par :c:Func:`PyObject_Repr` avec' ``\\x``, ``" +"\\u`` ou ``\\U``. Cela génère une chaîne de caractères similaire à celle " +"renvoyée par :c:func:`PyObject_Repr` en Python 2. Appelée par la fonction " +"native :func:`ascii`." #: ../Doc/c-api/object.rst:181 msgid "" @@ -178,6 +255,11 @@ msgid "" "Python expression ``str(o)``. Called by the :func:`str` built-in function " "and, therefore, by the :func:`print` function." msgstr "" +"Calcule une représentation en chaîne de caractères de l'objet *o*. Renvoie " +"la représentation en chaîne de caractères en cas de succès, *NULL* en cas " +"d'échec. Ceci est l'équivalent de l'expression Python ``str(o)``. Appelée " +"par la fonction native :func:`str`, et, par conséquent, par la fonction :" +"func:`print`." #: ../Doc/c-api/object.rst:194 msgid "" @@ -186,12 +268,19 @@ msgid "" "``bytes(o)``, when *o* is not an integer. Unlike ``bytes(o)``, a TypeError " "is raised when *o* is an integer instead of a zero-initialized bytes object." msgstr "" +"Calcule une représentation en octets de l'objet *o*. *NULL* est renvoyé en " +"cas d'échec, un objet séquence d'octets est renvoyé en cas de succès. Ceci " +"est l'équivalent de l'expression Python ``bytes(o)``, quand *o* n'est pas un " +"entier. Contrairement à ``bytes(o)``, une exception *TypeError* est levée " +"lorsque *o* est un entier au lieu d'un objet octet initialisé avec des zéros." #: ../Doc/c-api/object.rst:203 msgid "" "Return ``1`` if the class *derived* is identical to or derived from the " "class *cls*, otherwise return ``0``. In case of an error, return ``-1``." msgstr "" +"Renvoie ``1`` si la classe *derived* est identique à ou dérivée de la classe " +"*cls*, renvoie ``0`` sinon. En cas d'erreur, renvoie ``-1``." #: ../Doc/c-api/object.rst:206 ../Doc/c-api/object.rst:225 msgid "" @@ -199,6 +288,9 @@ msgid "" "The result will be ``1`` when at least one of the checks returns ``1``, " "otherwise it will be ``0``." msgstr "" +"Si *cls* est un tuple, la vérification est menée sur chaque entrée de *cls*. " +"Le résultat sera ``1`` quand au moins une des vérifications renvoie ``1``, " +"sinon ce sera ``0``." #: ../Doc/c-api/object.rst:210 msgid "" @@ -207,6 +299,10 @@ msgid "" "*derived* is a subclass of *cls* if it is a direct or indirect subclass, i." "e. contained in ``cls.__mro__``." msgstr "" +"Si *cls* a une méthode :meth:`~class.__subclasscheck__`, elle est appelée " +"pour déterminer le statut de la sous-classe comme décrit dans :pep:`3119`. " +"Sinon, *derived* est une sous-classe de *cls* si c'est une sous-classe " +"directe ou indirecte, c'est-à-dire contenue dans ``cls.__mro__``." #: ../Doc/c-api/object.rst:215 msgid "" @@ -214,12 +310,19 @@ msgid "" "class, are considered classes. However, objects can override this by having " "a :attr:`__bases__` attribute (which must be a tuple of base classes)." msgstr "" +"Normalement seulement les classes objets, c'est-à-dire les instances de :" +"class:`type` ou d'une classe dérivée, sont considérées classes. Cependant, " +"les objets peuvent surcharger cela en ayant un attribut :attr:`__bases__` " +"(qui doit être un tuple de classes de bases)." #: ../Doc/c-api/object.rst:222 msgid "" "Return ``1`` if *inst* is an instance of the class *cls* or a subclass of " "*cls*, or ``0`` if not. On error, returns ``-1`` and sets an exception." msgstr "" +"Renvoie ``1`` si *inst* est une instance de la classe *cls* ou une sous-" +"classe de *cls*, ou ``0`` sinon. En cas d'erreur, renvoie ``-1`` et " +"initialise une exception." #: ../Doc/c-api/object.rst:229 msgid "" @@ -227,12 +330,18 @@ msgid "" "determine the subclass status as described in :pep:`3119`. Otherwise, " "*inst* is an instance of *cls* if its class is a subclass of *cls*." msgstr "" +"Si *cls* a une méthode :meth:`~class.__subclasscheck__`, elle sera appelée " +"pour déterminer le statut de la sous-classe comme décrit dans :pep:`3119`. " +"Sinon, *inst* est une instance *cls* si sa classe est une sous-classe de " +"*cls*." #: ../Doc/c-api/object.rst:233 msgid "" "An instance *inst* can override what is considered its class by having a :" "attr:`__class__` attribute." msgstr "" +"Une instance *inst* peut surcharger ce qui est considéré comme sa classe en " +"ayant un attribut :attr:`__class__`." #: ../Doc/c-api/object.rst:236 msgid "" @@ -240,12 +349,17 @@ msgid "" "classes are, by having a :attr:`__bases__` attribute (which must be a tuple " "of base classes)." msgstr "" +"Un objet *cls* peut surcharger s'il est considéré comme une classe, et ce " +"que ses classes de bases sont, en ayant un attribut :attr:`__bases__` (qui " +"doit être un tuple des classes de base)." #: ../Doc/c-api/object.rst:243 msgid "" "Determine if the object *o* is callable. Return ``1`` if the object is " "callable and ``0`` otherwise. This function always succeeds." msgstr "" +"Détermine si l'objet *o* est appelable. Renvoie ``1`` si c'est le cas, et " +"``0`` sinon. Cette fonction réussit toujours." #: ../Doc/c-api/object.rst:249 msgid "" diff --git a/c-api/reflection.po b/c-api/reflection.po index 228b0ce8..f5687aa2 100644 --- a/c-api/reflection.po +++ b/c-api/reflection.po @@ -18,41 +18,52 @@ msgstr "" #: ../Doc/c-api/reflection.rst:6 msgid "Reflection" -msgstr "" +msgstr "Réflexion" #: ../Doc/c-api/reflection.rst:10 msgid "" "Return a dictionary of the builtins in the current execution frame, or the " "interpreter of the thread state if no frame is currently executing." msgstr "" +"Renvoie un dictionnaire des fonctions natives de la *frame* en cours " +"d'exécution, ou si aucune *frame* n'est exécutée, les fonctions natives du " +"*thread* indiqué par le *thread state*." #: ../Doc/c-api/reflection.rst:16 msgid "" "Return a dictionary of the local variables in the current execution frame, " "or *NULL* if no frame is currently executing." msgstr "" +"Renvoie un dictionnaire des variables locales de la *frame* en cours " +"d'exécution, ou *NULL* si aucune *frame* n'est en cours d'exécution." #: ../Doc/c-api/reflection.rst:22 msgid "" "Return a dictionary of the global variables in the current execution frame, " "or *NULL* if no frame is currently executing." msgstr "" +"Renvoie un dictionnaire des variables globales de la *frame* en cours " +"d'exécution ou *NULL* si aucune *frame* n'est en cours d'exécution." #: ../Doc/c-api/reflection.rst:28 msgid "" "Return the current thread state's frame, which is *NULL* if no frame is " "currently executing." msgstr "" +"Renvoie la *frame* actuelle selon le *thread state*, qui est *NULL* si " +"aucune *frame* n'est en cours d'exécution." #: ../Doc/c-api/reflection.rst:34 msgid "Return the line number that *frame* is currently executing." -msgstr "" +msgstr "Renvoie le numéro de ligne que *frame* est en train d'exécuter" #: ../Doc/c-api/reflection.rst:39 msgid "" "Return the name of *func* if it is a function, class or instance object, " "else the name of *func*\\s type." msgstr "" +"Renvoie le nom de *func* s'il s'agit d'une fonction, d'une classe ou d'un " +"objet d'instance, sinon le nom du type de *func*" #: ../Doc/c-api/reflection.rst:45 msgid "" @@ -61,3 +72,8 @@ msgid "" "and \" object\". Concatenated with the result of :c:func:" "`PyEval_GetFuncName`, the result will be a description of *func*." msgstr "" +"Renvoie une description en chaîne de caractères, en fonction du type de " +"*func*. Les valeurs renvoyées peuvent être ``\"()\"`` pour les fonction et " +"les méthodes, ``\\\" constructor\\\"``, ``\\\" instance\\\"``, ``\\\" object" +"\\\"``. Concaténé avec le résultat de :c:func:`PyEval_GetFuncName`, le " +"résultat sera une description de *func*" diff --git a/c-api/veryhigh.po b/c-api/veryhigh.po index ad20ca61..7a699daf 100644 --- a/c-api/veryhigh.po +++ b/c-api/veryhigh.po @@ -372,6 +372,8 @@ msgid "" "This function now includes a debug assertion to help ensure that it does not " "silently discard an active exception." msgstr "" +"Cette fonction inclut maintenant une assertion de débogage afin d'assurer " +"qu'elle ne passe pas sous silence une exception active." #: ../Doc/c-api/veryhigh.rst:339 msgid "" diff --git a/c-api/weakref.po b/c-api/weakref.po index 48e306b6..bc463278 100644 --- a/c-api/weakref.po +++ b/c-api/weakref.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/c-api/weakref.rst:6 msgid "Weak Reference Objects" -msgstr "" +msgstr "Objets à références faibles" #: ../Doc/c-api/weakref.rst:8 msgid "" @@ -27,18 +27,22 @@ msgid "" "is a simple reference object, and the second acts as a proxy for the " "original object as much as it can." msgstr "" +"Python gère les *références faibles* comme des objets de première classe. Il " +"existe deux types d'objets spécifiques qui implémentent directement les " +"références faibles. Le premier est un objet de référence simple, et le " +"second agit autant que possible comme un mandataire vers l'objet original." #: ../Doc/c-api/weakref.rst:16 msgid "Return true if *ob* is either a reference or proxy object." -msgstr "" +msgstr "Renvoie vrai si *ob* est soit une référence, soit un objet proxy." #: ../Doc/c-api/weakref.rst:21 msgid "Return true if *ob* is a reference object." -msgstr "" +msgstr "Retourne vrai si *ob* est un objet référence." #: ../Doc/c-api/weakref.rst:26 msgid "Return true if *ob* is a proxy object." -msgstr "" +msgstr "Retourne vrai si *ob* est un objet proxy" #: ../Doc/c-api/weakref.rst:31 msgid "" @@ -51,6 +55,16 @@ msgid "" "referencable object, or if *callback* is not callable, ``None``, or *NULL*, " "this will return *NULL* and raise :exc:`TypeError`." msgstr "" +"Retourne un objet de référence faible pour l'objet *ob*. Elle renvoie " +"toujours une nouvelle référence, mais cela ne signifie pas qu'un nouvel " +"objet est créé ; un objet référence existant peut être renvoyé. Le second " +"paramètre, *callback*, peut être un objet appelable qui reçoit une " +"notification lorsque *ob* est collecté par le ramasse-miette (*garbage " +"collected* en anglais) ; il doit accepter un paramètre unique, qui est " +"l'objet référence faible lui-même. *callback* peut aussi être positionné à " +"``None`` ou à *NULL*. Si *ob* n'est pas un objet faiblement référençable, " +"ou si *callback* n'est pas appelable, ``None``` ou *NULL*, ceci retourne " +"*NULL* et lève une :exc:`TypeError`." #: ../Doc/c-api/weakref.rst:43 msgid "" @@ -63,12 +77,23 @@ msgid "" "is not a weakly-referencable object, or if *callback* is not callable, " "``None``, or *NULL*, this will return *NULL* and raise :exc:`TypeError`." msgstr "" +"Retourne un objet mandataire à référence faible pour l'objet *ob*. Ceci " +"renvoie toujours une nouvelle référence, mais ne garantit pas la création " +"d'un nouvel objet ; un objet proxy existant peut être retourné. Le second " +"paramètre, *callback*, peut être un objet appelable qui reçoit une " +"notification lorsque *ob* est collecté ; il doit accepter un seul paramètre, " +"qui sera l'objet de référence faible lui-même. *callback* peut aussi être " +"``None`` ou *NULLL*. Si *ob* n'est pas un objet faiblement référençable, ou " +"si *callback* n'est pas appelable, ``None``` ou *NULL*, ceci renvoie *NULL* " +"et lève une :exc:`TypeError`." #: ../Doc/c-api/weakref.rst:55 msgid "" "Return the referenced object from a weak reference, *ref*. If the referent " "is no longer live, returns :const:`Py_None`." msgstr "" +"Retourne l'objet référencé à partir d'une référence faible, *ref*. Si le " +"référence n'existe plus, alors l'objet renvoie :const:`Py_None`." #: ../Doc/c-api/weakref.rst:60 msgid "" @@ -76,9 +101,15 @@ msgid "" "This means that you should always call :c:func:`Py_INCREF` on the object " "except if you know that it cannot be destroyed while you are still using it." msgstr "" +"Cette fonction renvoie une **référence empruntée** à l'objet référencé. Cela " +"signifie que vous devez toujours appeler :c:func:`Py_INCREF` sur l'objet " +"sauf si vous savez qu'il ne peut pas être détruit tant que vous l'utilisez " +"encore." #: ../Doc/c-api/weakref.rst:68 msgid "" "Similar to :c:func:`PyWeakref_GetObject`, but implemented as a macro that " "does no error checking." msgstr "" +"Similaire à :c:func:`PyWeakref_GetObject`, mais implémenté comme une macro " +"qui ne vérifie pas les erreurs." diff --git a/distutils/apiref.po b/distutils/apiref.po index 7450f297..74720208 100644 --- a/distutils/apiref.po +++ b/distutils/apiref.po @@ -23,6 +23,7 @@ msgstr "Référence de l'API" #: ../Doc/distutils/apiref.rst:9 msgid ":mod:`distutils.core` --- Core Distutils functionality" msgstr "" +":mod:`distutils.core` --- Fonctionnalités principales du module Distutils" #: ../Doc/distutils/apiref.rst:15 msgid "" @@ -133,6 +134,9 @@ msgid "" "if the maintainer is provided, distutils will use it as the author in :file:" "`PKG-INFO`" msgstr "" +"Le nom de l'actuel mainteneur, s'il est différent de l'auteur. Remarquez que " +"si *maintainer* est fourni, *distutils* l'utilise à la place de *author* " +"dans :file:`PKG-INFO`." #: ../Doc/distutils/apiref.rst:58 msgid "*maintainer_email*" @@ -240,7 +244,7 @@ msgstr "*script_name*" #: ../Doc/distutils/apiref.rst:86 msgid "The name of the setup.py script - defaults to ``sys.argv[0]``" -msgstr "" +msgstr "Le nom du script *setup.py* . Initialisé par ``sys.argv[0]``" #: ../Doc/distutils/apiref.rst:90 msgid "*script_args*" @@ -282,6 +286,8 @@ msgstr "Méta-données descriptives, voir :pep:`314`" #: ../Doc/distutils/apiref.rst:98 ../Doc/distutils/apiref.rst:101 msgid "a list of strings or a comma-separated string" msgstr "" +"Une liste de chaînes de caractères ou une chaîne de caractère dont les " +"éléments sont séparés par des virgules." #: ../Doc/distutils/apiref.rst:101 msgid "*platforms*" @@ -324,6 +330,12 @@ msgid "" "keyword args from *script* to :func:`setup`), or the contents of the config " "files or command-line." msgstr "" +"Exécute un script d'installation dans un environnement quelque peu contrôlé, " +"et renvoie une instance :class:`distutils.dist.distribution` qui contrôle " +"l’exécution. Ceci est utile si vous avez besoin de connaître les méta-" +"données de la distribution (passées sous forme d'arguments nommés de " +"*script* à la fonction :func:`setup`), ou le contenu des fichiers de " +"configuration ou de la ligne de commande." #: ../Doc/distutils/apiref.rst:123 msgid "" @@ -463,7 +475,7 @@ msgstr "" #: ../Doc/distutils/apiref.rst:196 msgid "*include_dirs*" -msgstr "" +msgstr "*include_dirs*" #: ../Doc/distutils/apiref.rst:196 msgid "" @@ -495,37 +507,44 @@ msgstr "*undef_macros*" #: ../Doc/distutils/apiref.rst:212 msgid "list of macros to undefine explicitly" -msgstr "" +msgstr "Liste de macros à ignorer explicitement." #: ../Doc/distutils/apiref.rst:215 msgid "*library_dirs*" -msgstr "" +msgstr "*library_dirs*" #: ../Doc/distutils/apiref.rst:215 msgid "list of directories to search for C/C++ libraries at link time" msgstr "" +"Liste de répertoires à parcourir pour chercher les bibliothèques C/C++ lors " +"de la phase d'édition de liens." #: ../Doc/distutils/apiref.rst:219 msgid "*libraries*" -msgstr "" +msgstr "*libraries*" #: ../Doc/distutils/apiref.rst:219 msgid "list of library names (not filenames or paths) to link against" msgstr "" +"Liste de noms de bibliothèques à lier à la compilation. Pas de noms de " +"fichiers ou de chemin." #: ../Doc/distutils/apiref.rst:223 msgid "*runtime_library_dirs*" -msgstr "" +msgstr "*runtime_library_dirs*" #: ../Doc/distutils/apiref.rst:223 msgid "" "list of directories to search for C/C++ libraries at run time (for shared " "extensions, this is when the extension is loaded)" msgstr "" +"Liste de répertoires à parcourir pour les bibliothèques C/C++ lors de la " +"phase d'exécution. Pour les extensions partagées, c'est à ce moment que " +"l'extension est chargée. " #: ../Doc/distutils/apiref.rst:229 msgid "*extra_objects*" -msgstr "" +msgstr "*extra_objects*" #: ../Doc/distutils/apiref.rst:229 msgid "" @@ -533,10 +552,13 @@ msgid "" "static library that must be explicitly specified, binary resource files, " "etc.)" msgstr "" +"Liste des fichiers supplémentaires à lier (par exemple les fichiers d'objets " +"non explicités dans les 'sources', bibliothèque statique qui doit être " +"explicitement spécifiée, fichiers de ressources binaires, etc. )." #: ../Doc/distutils/apiref.rst:236 msgid "*extra_compile_args*" -msgstr "" +msgstr "*extra_compile_args*" #: ../Doc/distutils/apiref.rst:236 msgid "" @@ -545,10 +567,15 @@ msgid "" "line makes sense, this is typically a list of command-line arguments, but " "for other platforms it could be anything." msgstr "" +"Toute information supplémentaire spécifique à la plate-forme et au " +"compilateur à utiliser lors de la compilation des fichiers sources dans " +"'sources'. Pour les plates-formes et les compilateurs où une ligne de " +"commande a du sens, il s'agit généralement d'une liste d'arguments de ligne " +"de commande, mais pour d'autres plates-formes, cela peut être n'importe quoi." #: ../Doc/distutils/apiref.rst:247 msgid "*extra_link_args*" -msgstr "" +msgstr "*extra_link_args*" #: ../Doc/distutils/apiref.rst:247 msgid "" @@ -556,10 +583,14 @@ msgid "" "object files together to create the extension (or to create a new static " "Python interpreter). Similar interpretation as for 'extra_compile_args'." msgstr "" +"Toute information supplémentaire spécifique à la plate-forme et au " +"compilateur à utiliser lors de la liaison de fichiers objets pour créer " +"l'extension (ou pour créer un nouvel interpréteur Python statique). " +"Interprétation similaire à celle de *extra_compile_args*." #: ../Doc/distutils/apiref.rst:256 msgid "*export_symbols*" -msgstr "" +msgstr "*export_symbols*" #: ../Doc/distutils/apiref.rst:256 msgid "" @@ -567,10 +598,14 @@ msgid "" "platforms, and not generally necessary for Python extensions, which " "typically export exactly one symbol: ``init`` + extension_name." msgstr "" +"Liste des symboles à exporter à partir d'une extension partagée. N'est pas " +"utilisé sur toutes les plates-formes et n'est généralement pas nécessaire " +"pour les extensions Python, qui exportent généralement exactement un " +"symbole : ``init`` + nom_de_l'extension." #: ../Doc/distutils/apiref.rst:264 msgid "*depends*" -msgstr "" +msgstr "*depends*" #: ../Doc/distutils/apiref.rst:264 msgid "list of files that the extension depends on" @@ -578,7 +613,7 @@ msgstr "liste des fichiers dont dépend l'extension" #: ../Doc/distutils/apiref.rst:267 msgid "*language*" -msgstr "" +msgstr "*language*" #: ../Doc/distutils/apiref.rst:267 msgid "" @@ -597,32 +632,41 @@ msgid "" "specifies that a build failure in the extension should not abort the build " "process, but simply skip the extension." msgstr "" +"Spécifie qu'un échec de compilation dans l'extension ne doit pas interrompre " +"le processus de compilation, mais simplement ignorer l'extension." #: ../Doc/distutils/apiref.rst:273 msgid "a boolean" -msgstr "" +msgstr "un booléen" #: ../Doc/distutils/apiref.rst:282 msgid "" "A :class:`Distribution` describes how to build, install and package up a " "Python software package." msgstr "" +"Une classe :class:`Distribution` décrit comment compiler, installer et " +"empaqueter un paquet logiciel Python." #: ../Doc/distutils/apiref.rst:285 msgid "" "See the :func:`setup` function for a list of keyword arguments accepted by " "the Distribution constructor. :func:`setup` creates a Distribution instance." msgstr "" +"Voir la fonction :func:`setup` pour une liste des arguments de mots-clés " +"acceptés par le constructeur *Distribution*. :func:`setup` crée une instance " +"de Distribution." #: ../Doc/distutils/apiref.rst:291 msgid "" "A :class:`Command` class (or rather, an instance of one of its subclasses) " "implement a single distutils command." msgstr "" +"Une classe :class:`Command` (ou plutôt une instance d'une de ses sous-" +"classes) implémente une commande *distutils* unique." #: ../Doc/distutils/apiref.rst:296 msgid ":mod:`distutils.ccompiler` --- CCompiler base class" -msgstr "" +msgstr ":mod:`distutils.ccompiler` — Classe de base CCompiler" #: ../Doc/distutils/apiref.rst:302 msgid "" @@ -632,6 +676,12 @@ msgid "" "options for the compiler --- macro definitions, include directories, link " "path, libraries and the like." msgstr "" +"Ce module fournit la classe de base abstraite pour les classes :class:" +"`CCompiler`. Une instance de :class:`CCompiler` peut être utilisée pour " +"toutes les étapes de compilation et de liaison nécessaires à la compilation " +"d'un projet unique. Des méthodes sont fournies pour définir des options pour " +"le compilateur --- définitions de macros, inclusion des répertoires, des " +"chemins de liens, des bibliothèques, etc." #: ../Doc/distutils/apiref.rst:308 msgid "This module provides the following functions." @@ -645,6 +695,13 @@ msgid "" "command-line options suitable for use with some compiler (depending on the " "two format strings passed in)." msgstr "" +"Génère des options de liaison pour chercher dans les répertoires des " +"bibliothèques et pour effectuer les liaisons avec des bibliothèques " +"spécifiques. *libraries* et *library_dirs* sont, respectivement, des listes " +"de noms de bibliothèques (pas de noms de fichiers !) et de répertoires à " +"rechercher. Renvoie une liste d'options de ligne de commande utilisables " +"avec certains compilateurs (en fonction des deux chaînes de format " +"transmises)." #: ../Doc/distutils/apiref.rst:322 msgid "" @@ -669,6 +726,9 @@ msgid "" "returned by ``os.name``) and *platform* the common value returned by ``sys." "platform`` for the platform in question." msgstr "" +"*osname* doit être l'un des noms d'OS Python standard (c'est-à-dire un des " +"noms renvoyés par ``os.name``) et *platform* la valeur commune renvoyés par " +"``sys.platform`` pour la plate-forme en question." #: ../Doc/distutils/apiref.rst:340 msgid "" @@ -690,6 +750,16 @@ msgid "" "Windows, and a Microsoft compiler object under Unix---if you supply a value " "for *compiler*, *plat* is ignored." msgstr "" +"Fonction de génération produisant une instance d'une sous-classe CCompiler " +"pour la combinaison plateforme/compilateur fournie. Par défaut, *plat* est " +"le ``os.name`` (par exemple ``'posix'``, ``'nt'``), et *compiler* est le " +"compilateur par défaut pour cette plate-forme. Actuellement, seuls " +"``'posix'`` et ``'nt'`` sont gérés, et les compilateurs par défaut sont ceux " +"qui gèrent une \"interface Unix traditionnelle\" (:class:`UnixCCompiler`) et " +"Visual C++ (:class:`MSVCCompiler`). Notez qu'il est tout à fait possible de " +"demander un objet compilateur Unix sous Windows, et un objet compilateur " +"Microsoft sous Unix. Si vous fournissez une valeur pour *compiler*, *plat* " +"est ignoré." #: ../Doc/distutils/apiref.rst:362 msgid "" @@ -703,6 +773,10 @@ msgid "" "be implemented by real compiler classes. The class also has some utility " "methods used by several compiler classes." msgstr "" +"La classe de base abstraite :class:`CCompiler` définit l'interface qui doit " +"être implémentée par des classes de compilateur concrètes. La classe " +"possède également quelques méthodes utilitaires utilisées par plusieurs " +"classes de compilateurs." #: ../Doc/distutils/apiref.rst:372 msgid "" @@ -714,6 +788,14 @@ msgid "" "individual files are treated, most of those attributes may be varied on a " "per-compilation or per-link basis." msgstr "" +"L'idée de base derrière une classe abstraite de compilateur est que chaque " +"instance peut être utilisée pour toutes les étapes de compilation/lien dans " +"la construction d'un seul projet. Ainsi, les attributs communs à toutes ces " +"étapes de compilation et de liaison (ce qui inclut les répertoires, les " +"macros à définir, les bibliothèques à relier, etc.) sont des attributs de " +"l'instance du compilateur. Pour tenir compte des variations dans la façon " +"dont chaque fichier est traité, la plupart de ces attributs peuvent être " +"modifiés en fonction de chaque compilation ou de chaque lien." #: ../Doc/distutils/apiref.rst:380 msgid "" @@ -725,12 +807,22 @@ msgid "" "subclasses directly - use the :func:`distutils.CCompiler.new_compiler` " "factory function instead." msgstr "" +"Le constructeur de chaque sous-classe crée une instance de l'objet " +"*Compiler*. Les paramètres optionnels sont *verbose* (affiche plus " +"d'information à l'exécution), *dry_run* (ne pas exécuter les étapes) et " +"*force* (tout reconstruire, indépendamment des dépendances). Tous ces " +"paramètres ont la valeur par défaut ``0`` (désactivé). Notez que vous ne " +"voulez probablement pas instancier directement la classe :class:`CCompiler` " +"ou une de ses sous-classes. Utilisez plutôt la fonction génératrice :func:" +"`distutils.CCompiler.new_compiler`." #: ../Doc/distutils/apiref.rst:387 msgid "" "The following methods allow you to manually alter compiler options for the " "instance of the Compiler class." msgstr "" +"Les méthodes suivantes vous permettent de modifier manuellement les options " +"du compilateur de l'instance de la classe *Compiler*." #: ../Doc/distutils/apiref.rst:393 msgid "" @@ -738,6 +830,10 @@ msgid "" "The compiler is instructed to search directories in the order in which they " "are supplied by successive calls to :meth:`add_include_dir`." msgstr "" +"Ajoute *dir* à la liste des répertoires qui sont recherchés pour les " +"fichiers d'en-tête. Le compilateur est chargé de rechercher les répertoires " +"dans l'ordre dans lequel ils sont fournis par des appels successifs à :meth:" +"`add_include_dir`." #: ../Doc/distutils/apiref.rst:400 msgid "" @@ -747,6 +843,12 @@ msgid "" "`set_include_dirs`. This does not affect any list of standard include " "directories that the compiler may search by default." msgstr "" +"Affecte la liste des répertoires qui seront recherchés à la valeur de *dirs* " +"(une liste de chaînes). Remplace tous les appels précédents de :meth:" +"`add_include_dir` ; les appels suivants de :meth:`add_include_dir` " +"s'ajoutent à la liste transmise par :meth:`set_include_dirs`. Ceci n'affecte " +"pas la liste des répertoires d'inclusion standard que le compilateur peut " +"rechercher par défaut." #: ../Doc/distutils/apiref.rst:409 msgid "" @@ -756,6 +858,11 @@ msgid "" "actual filename will be inferred by the linker, the compiler, or the " "compiler class (depending on the platform)." msgstr "" +"Ajoute *libname* à la liste des bibliothèques qui seront incluses dans tous " +"les liens gérés par l'objet compilateur. Notez que *libname* ne *doit pas " +"être* le nom d'un fichier contenant une bibliothèque, mais le nom de la " +"bibliothèque elle-même : le nom du fichier sera déduit par l'éditeur de " +"liens, le compilateur ou la classe de compilation (selon la plate-forme)." #: ../Doc/distutils/apiref.rst:415 msgid "" @@ -764,6 +871,11 @@ msgid "" "perfectly valid to duplicate library names; the linker will be instructed to " "link against libraries as many times as they are mentioned." msgstr "" +"L'éditeur de liens est chargé de lier les bibliothèques dans l'ordre dans " +"lequel elles sont fournies à :meth:`add_library` et/ou :meth:" +"`set_libraries`. Il est parfaitement valide de dupliquer les noms de " +"bibliothèques ; l'éditeur de liens est chargé de créer des liens avec les " +"bibliothèques autant de fois que les noms sont mentionnées." #: ../Doc/distutils/apiref.rst:423 msgid "" @@ -771,6 +883,10 @@ msgid "" "compiler object to *libnames* (a list of strings). This does not affect any " "standard system libraries that the linker may include by default." msgstr "" +"Affecte la liste des bibliothèques à inclure dans tous les liens gérés par " +"l'objet compilateur avec la valeur de *libnames* (une liste des chaînes de " +"caractères). Ceci n'affecte pas les bibliothèques système standard que " +"l'éditeur de liens peut inclure par défaut." #: ../Doc/distutils/apiref.rst:430 msgid "" @@ -779,6 +895,11 @@ msgid "" "be instructed to search for libraries in the order they are supplied to :" "meth:`add_library_dir` and/or :meth:`set_library_dirs`." msgstr "" +"Ajoute *dir* à la liste des répertoires qui seront recherchés pour les " +"bibliothèques spécifiées dans :meth:`add_library` et :meth:`set_libraries`. " +"L'éditeur de liens est chargé de rechercher les bibliothèques dans l'ordre " +"dans lequel elles sont fournies à :meth:`add_library_dir` et/ou :meth:" +"`set_library_dirs`." #: ../Doc/distutils/apiref.rst:438 msgid "" @@ -786,12 +907,18 @@ msgid "" "This does not affect any standard library search path that the linker may " "search by default." msgstr "" +"Affecte la liste des répertoires de recherche de bibliothèque avec la valeur " +"de *dirs* (une liste de chaînes de caractères). Cela n'affecte pas le " +"chemin de recherche standard de la bibliothèque que l'éditeur de liens peut " +"rechercher par défaut." #: ../Doc/distutils/apiref.rst:445 msgid "" "Add *dir* to the list of directories that will be searched for shared " "libraries at runtime." msgstr "" +"Ajoute *dir* à la liste des répertoires qui seront recherchés par les " +"bibliothèques partagées au moment de l'exécution." #: ../Doc/distutils/apiref.rst:451 msgid "" @@ -799,6 +926,10 @@ msgid "" "*dirs* (a list of strings). This does not affect any standard search path " "that the runtime linker may search by default." msgstr "" +"Affecte la liste des répertoires pour rechercher les bibliothèques partagées " +"au moment de l'exécution à la valeur de *dirs* (une liste des chaînes de " +"caractères). Ceci n'affecte aucun chemin de recherche standard que " +"l'éditeur de liens d'exécution peut rechercher par défaut." #: ../Doc/distutils/apiref.rst:458 msgid "" @@ -807,6 +938,10 @@ msgid "" "supplied, then the macro will be defined without an explicit value and the " "exact outcome depends on the compiler used." msgstr "" +"Définit une macro de préprocesseur pour toutes les compilations gérées par " +"cet objet compilateur. Le paramètre optionnel *value* doit être une chaîne " +"de caractères ; s'il n'est pas fourni, alors la macro sera définie sans " +"valeur explicite et le résultat exact dépendra du compilateur utilisé." #: ../Doc/distutils/apiref.rst:468 msgid "" @@ -817,6 +952,12 @@ msgid "" "per-compilation basis (ie. in the call to :meth:`compile`), then that takes " "precedence." msgstr "" +"Désactive une macro de préprocesseur pour toutes les compilations gérées par " +"cet objet compilateur. Si la même macro est définie par :meth:" +"`define_macro` et ensuite désactivée par un appel à :meth:`undefine_macro`, " +"le dernier appel est prioritaire (y compris en cas de redéfinitions " +"multiples). Si la macro est redéfinie/désactivée par compilation (c'est-à-" +"dire dans l'appel à :meth:`compile`), alors cet appel prévaut." #: ../Doc/distutils/apiref.rst:478 msgid "" @@ -824,6 +965,10 @@ msgid "" "named library files or the output of \"resource compilers\") to be included " "in every link driven by this compiler object." msgstr "" +"Ajoute *objet* à la liste des fichiers objets (ou analogues, tels que les " +"fichiers de bibliothèque explicitement nommés ou la sortie des " +"\"compilateurs de ressources\") à inclure dans chaque lien qui est géré par " +"ce compilateur d'objets." #: ../Doc/distutils/apiref.rst:485 msgid "" @@ -831,12 +976,19 @@ msgid "" "*objects*. This does not affect any standard object files that the linker " "may include by default (such as system libraries)." msgstr "" +"Définit la liste des fichiers objets (ou analogues) à inclure dans chaque " +"lien à la valeur de *objects*. Ceci n'affecte pas les fichiers d'objets " +"standard que l'éditeur de liens peut inclure par défaut (comme les " +"bibliothèques système)." #: ../Doc/distutils/apiref.rst:489 msgid "" "The following methods implement methods for autodetection of compiler " "options, providing some functionality similar to GNU :program:`autoconf`." msgstr "" +"Les méthodes suivantes offre des services pour l'auto-détection des options " +"du compilateur. Elles offrent des fonctionnalités similaires à celles du " +"programme GNU :program:`autoconf`." #: ../Doc/distutils/apiref.rst:495 msgid "" @@ -844,6 +996,9 @@ msgid "" "attributes :attr:`language_map` (a dictionary), and :attr:`language_order` " "(a list) to do the job." msgstr "" +"Détecte le langage d'un fichier donné, ou d'une liste de fichiers. Utilise " +"les attributs d'instance :attr:`language_map` (un dictionnaire) et :attr:" +"`language_order` (une liste) pour faire le travail." #: ../Doc/distutils/apiref.rst:502 msgid "" @@ -852,6 +1007,11 @@ msgid "" "debugging version (if that makes sense on the current platform). Return " "``None`` if *lib* wasn't found in any of the specified directories." msgstr "" +"Recherche dans la liste des répertoires spécifiés un fichier de bibliothèque " +"statique ou partagée *lib* et renvoie le chemin complet vers ce fichier. Si " +"*debug* est vrai, recherche une version de débogage (si cela a du sens sur " +"la plate-forme actuelle). Renvoie ``None`` si *lib* n'a pas été trouvé dans " +"l'un des répertoires spécifiés." #: ../Doc/distutils/apiref.rst:510 msgid "" @@ -860,24 +1020,35 @@ msgid "" "environment by providing additional include files and paths and libraries " "and paths." msgstr "" +"Renvoie un booléen indiquant si *funcname* est pris en charge sur la plate-" +"forme courante. Les arguments optionnels peuvent être utilisés pour " +"enrichir l'environnement de compilation en fournissant des fichiers, des " +"répertoires de fichiers, des bibliothèques, des répertoires de bibliothèques " +"supplémentaires" #: ../Doc/distutils/apiref.rst:518 msgid "" "Return the compiler option to add *dir* to the list of directories searched " "for libraries." msgstr "" +"Renvoie l'option de compilation pour ajouter *dir* à la liste des " +"répertoires recherchés pour les bibliothèques." #: ../Doc/distutils/apiref.rst:524 msgid "" "Return the compiler option to add *lib* to the list of libraries linked into " "the shared library or executable." msgstr "" +"Renvoie l'option de compilation pour ajouter *lib* à la liste des " +"bibliothèques liées à la bibliothèque partagée ou à l'exécutable." #: ../Doc/distutils/apiref.rst:530 msgid "" "Return the compiler option to add *dir* to the list of directories searched " "for runtime libraries." msgstr "" +"Renvoie l'option de compilation pour ajouter *dir* à la liste des " +"répertoires recherchés par les bibliothèques d'exécution." #: ../Doc/distutils/apiref.rst:536 msgid "" @@ -886,6 +1057,11 @@ msgid "" "specified here depends on the compiler class (via the 'executables' class " "attribute), but most will have:" msgstr "" +"Définit les exécutables (et leurs options) qui seront exécutés pour " +"effectuer les différentes étapes de compilation. L'ensemble exact des " +"exécutables qui peuvent être spécifiés ici dépend de la classe du " +"compilateur (via l'attribut de classe *executables*), mais la plupart " +"utilisent :" #: ../Doc/distutils/apiref.rst:542 msgid "attribute" @@ -893,35 +1069,37 @@ msgstr "attribut" #: ../Doc/distutils/apiref.rst:544 msgid "*compiler*" -msgstr "" +msgstr "*compiler*" #: ../Doc/distutils/apiref.rst:544 msgid "the C/C++ compiler" -msgstr "" +msgstr "Le compilateur C/C++." #: ../Doc/distutils/apiref.rst:546 msgid "*linker_so*" -msgstr "" +msgstr "*linker_so*" #: ../Doc/distutils/apiref.rst:546 msgid "linker used to create shared objects and libraries" msgstr "" +"L'éditeur de liens utilisé pour la création d'objets ou de bibliothèques " +"partagées." #: ../Doc/distutils/apiref.rst:549 msgid "*linker_exe*" -msgstr "" +msgstr "*linker_exe*" #: ../Doc/distutils/apiref.rst:549 msgid "linker used to create binary executables" -msgstr "" +msgstr "L'éditeur de lien utilisé pour créer des exécutables binaires." #: ../Doc/distutils/apiref.rst:551 msgid "*archiver*" -msgstr "" +msgstr "*archiver*" #: ../Doc/distutils/apiref.rst:551 msgid "static library creator" -msgstr "" +msgstr "Créateur de bibliothèque statique." #: ../Doc/distutils/apiref.rst:554 msgid "" @@ -977,6 +1155,11 @@ msgid "" "to :file:`foo/bar.o` (for a Unix implementation); if *output_dir* is " "*build*, then it would compile to :file:`build/foo/bar.o`." msgstr "" +"Si *output_dir* est donné, les fichiers objets seront placés à l'intérieur, " +"tout en conservant leurs chemins relatifs. Par exemple, le :file:`truc/" +"machin.c` compile normalement en :file:`truc/machin.o` (pour une " +"implémentation Unix) ; si *output_dir* a la valeur *build*, alors il " +"compilera en :file:`build/truc/machin.o`." #: ../Doc/distutils/apiref.rst:580 msgid "" @@ -986,18 +1169,30 @@ msgid "" "explicit value. The 1-tuple case undefines a macro. Later definitions/" "redefinitions/undefinitions take precedence." msgstr "" +"Le paramètre *macros*, s'il est donné, doit être une liste de définitions de " +"macros. Une définition de macro est soit un couple ``(nom, valeur)``, ou un " +"singleton ``(nom,)``. Le premier définit une macro ; si la valeur est " +"``None``, la macro est définie sans valeur explicite. L'utilisation d'un " +"singleton désactive la macro. Les définitions, redéfinitions ou " +"désactivations ultérieures priment." #: ../Doc/distutils/apiref.rst:586 msgid "" "*include_dirs*, if given, must be a list of strings, the directories to add " "to the default include file search path for this compilation only." msgstr "" +"*include_dirs* doit être une liste de chaînes de caractères contenant les " +"répertoires à ajouter au chemin de recherche par défaut pour cette " +"compilation uniquement." #: ../Doc/distutils/apiref.rst:589 msgid "" "*debug* is a boolean; if true, the compiler will be instructed to output " "debug symbols in (or alongside) the object file(s)." msgstr "" +"*debug* est un booléen ; si sa valeur est *vraie*, le compilateur est chargé " +"d'afficher les symboles de débogage dans (ou à côté) du ou des fichiers " +"objets." #: ../Doc/distutils/apiref.rst:592 msgid "" @@ -1009,6 +1204,13 @@ msgid "" "an escape hatch for those occasions when the abstract compiler framework " "doesn't cut the mustard." msgstr "" +"*extra_preargs* et *extra_postargs* dépendent de l'implémentation. Sur les " +"plates-formes qui ont une ligne de commande (par exemple Unix, DOS/Windows), " +"il s'agit très probablement de listes de chaînes de caractères. Ce sont des " +"arguments supplémentaires à ajouter avant (*preargs*) et après (*postargs*) " +"la ligne de commande du compilateur. Sur d'autres plates-formes, consultez " +"la documentation de la classe d'implémentation. Ces paramètres sont exposés " +"pour permettre de sortir du cadre de la classe abstraite en cas de nécessité." #: ../Doc/distutils/apiref.rst:599 msgid "" @@ -1017,10 +1219,14 @@ msgid "" "be recompiled. This supports dependency tracking, but only at a coarse " "granularity." msgstr "" +"*depends* est une liste de noms de fichiers dont dépendent toutes les " +"cibles. Si un fichier source est plus ancien qu'un fichier dans *depends*, " +"alors le fichier source sera recompilé. Cela permet un suivi des " +"dépendances à un niveau macro. " #: ../Doc/distutils/apiref.rst:604 msgid "Raises :exc:`CompileError` on failure." -msgstr "" +msgstr "Lève :exc:`CompileError` en cas d'échec." #: ../Doc/distutils/apiref.rst:609 msgid "" @@ -1030,6 +1236,12 @@ msgid "" "`set_link_objects`, the libraries supplied to :meth:`add_library` and/or :" "meth:`set_libraries`, and the libraries supplied as *libraries* (if any)." msgstr "" +"Relie un ensemble d'éléments pour créer un fichier de bibliothèque statique. " +"L'ensemble d'éléments se compose de la liste des fichiers d'objets fournis " +"comme *objets*, des fichiers d'objets supplémentaires fournis à :meth:" +"`add_link_object` et/ou :meth:`set_link_objects`, des bibliothèques fournies " +"à :meth:`add_library` et/ou :meth:`set_libraries` et les bibliothèques " +"fournies à *libraries* (le cas échéant)." #: ../Doc/distutils/apiref.rst:615 msgid "" @@ -1037,6 +1249,9 @@ msgid "" "be inferred from the library name. *output_dir* is the directory where the " "library file will be put." msgstr "" +"*output_libname* doit être un nom de bibliothèque et non un nom de fichier ; " +"le nom de fichier sera déduit du nom de bibliothèque. *output_dir* est le " +"répertoire dans lequel le fichier bibliothèque sera placé." #: ../Doc/distutils/apiref.rst:621 msgid "" @@ -1044,22 +1259,31 @@ msgid "" "library (note that on most platforms, it is the compile step where this " "matters: the *debug* flag is included here just for consistency)." msgstr "" +"*debug* est un booléen ; si sa valeur est *vraie*, les informations de " +"débogage seront incluses dans la bibliothèque (notez que sur la plupart des " +"plateformes, c'est à l'étape de compilation que ce paramètre est pris en " +"compte : le paramètre *debug* est inclus ici pour assurer une cohérence)." #: ../Doc/distutils/apiref.rst:625 ../Doc/distutils/apiref.rst:667 msgid "" "*target_lang* is the target language for which the given objects are being " "compiled. This allows specific linkage time treatment of certain languages." msgstr "" +"*target_lang* est le langage cible pour lequel les objets donnés sont " +"compilés. Cela permet un traitement spécifique du temps de liaison dans " +"certains langages." #: ../Doc/distutils/apiref.rst:628 msgid "Raises :exc:`LibError` on failure." -msgstr "" +msgstr "Lève :exc:`LibError` en cas d'échec." #: ../Doc/distutils/apiref.rst:633 msgid "" "Link a bunch of stuff together to create an executable or shared library " "file." msgstr "" +"Relie un ensemble d'éléments pour créer un fichier exécutable ou une " +"bibliothèque partagée." #: ../Doc/distutils/apiref.rst:635 msgid "" @@ -1068,6 +1292,10 @@ msgid "" "supplied, *output_filename* is relative to it (i.e. *output_filename* can " "provide directory components if needed)." msgstr "" +"L'ensemble d'éléments se compose de la liste des fichiers objets fournis " +"comme *objets*. *output_filename* devrait être un nom de fichier. Si " +"*output_dir* est fourni, *output_filename* lui est relatif (c'est-à-dire que " +"*output_filename* peut être un chemin vers un fichier )." #: ../Doc/distutils/apiref.rst:640 msgid "" @@ -1078,6 +1306,13 @@ msgid "" "means the linker will look in that specific directory rather than searching " "all the normal locations." msgstr "" +"*libraries* est une liste de bibliothèques avec lesquelles il est possible " +"d'établir des liens. Ce sont des noms de bibliothèques, pas des noms de " +"fichiers, puisqu'ils sont traduits en noms de fichiers d'une manière " +"spécifique à la plate-forme (par exemple *truc* devient :file:`libtruc.a` " +"sous Unix et :file:`truc.lib` sous DOS/Windows). Cependant, ils peuvent " +"inclure un chemin, ce qui signifie que l'éditeur de liens cherchera dans ce " +"chemin spécifique plutôt que de rechercher tous les emplacements standard." #: ../Doc/distutils/apiref.rst:647 msgid "" @@ -1089,12 +1324,23 @@ msgid "" "the shared library and used to search for other shared libraries that \\*it" "\\* depends on at run-time. (This may only be relevant on Unix.)" msgstr "" +"*library_dirs*, s'il est fourni, doit être une liste de répertoires à " +"rechercher pour les bibliothèques qui ont été spécifiées comme des " +"bibliothèques pures (c'est-à-dire sans aucun répertoire). Celles-ci " +"s'ajoutent aux valeurs par défaut du système et à celles fournies à :meth:" +"`add_library_dir` et/ou :meth:`set_library_dirs`. *runtime_library_dirs* " +"est une liste de répertoires qui seront intégrés dans la bibliothèque " +"partagée et utilisés pour rechercher d'autres bibliothèques partagées dont " +"elle dépend à l'exécution. (Ceci est probablement valable uniquement sous " +"UNIX.)" #: ../Doc/distutils/apiref.rst:655 msgid "" "*export_symbols* is a list of symbols that the shared library will export. " "(This appears to be relevant only on Windows.)" msgstr "" +"*export_symbols* est une liste de symboles que la bibliothèque partagée va " +"exporter. (Ceci est probablement valable uniquement sous Window.)" #: ../Doc/distutils/apiref.rst:658 msgid "" @@ -1103,6 +1349,10 @@ msgid "" "to :meth:`create_static_lib`, which includes a *debug* flag mostly for " "form's sake)." msgstr "" +"*debug* s'utilise comme pour :meth:`compile` et :meth:`create_static_lib`, " +"avec la nuance qu'elle a ici une importance sur la plupart des plateformes " +"(par opposition à :meth:`create_static_lib` qui inclut une option *debug* " +"pour se conformer à l'interface)." #: ../Doc/distutils/apiref.rst:663 msgid "" @@ -1110,10 +1360,13 @@ msgid "" "course that they supply command-line arguments for the particular linker " "being used)." msgstr "" +"*extra_preargs* et *extra_postargs* s'utilisent comme pour :meth:`compile` " +"(sauf bien sûr qu'ils fournissent des arguments à la ligne de commande pour " +"l'éditeur de liens spécifique utilisé)." #: ../Doc/distutils/apiref.rst:670 msgid "Raises :exc:`LinkError` on failure." -msgstr "" +msgstr "Lève :exc:`LinkError` en cas d'échec." #: ../Doc/distutils/apiref.rst:675 msgid "" @@ -1121,6 +1374,9 @@ msgid "" "while *objects* are a list of object filenames to link in. Other arguments " "are as for the :meth:`link` method." msgstr "" +"Lie un exécutable. *output_progname* est le nom de l'exécutable du fichier, " +"tandis que *objects* est une liste de noms de fichiers objets à lier. Les " +"autres arguments sont les mêmes que pour la méthode :meth:`link`." #: ../Doc/distutils/apiref.rst:682 msgid "" @@ -1128,6 +1384,10 @@ msgid "" "while *objects* is a list of object filenames to link in. Other arguments " "are as for the :meth:`link` method." msgstr "" +"Lie une bibliothèque partagée. *output_libname* est le nom de la " +"bibliothèque de sortie, tandis que *objects* est une liste de noms de " +"fichiers d'objets à lier. Les autres arguments sont les mêmes que pour la " +"méthode :meth:`link`." #: ../Doc/distutils/apiref.rst:689 msgid "" @@ -1135,6 +1395,9 @@ msgid "" "that will be created, while *objects* is a list of object filenames to link " "in. Other arguments are as for the :meth:`link` method." msgstr "" +"Lie un objet partagé. *output_filename* est le nom de l'objet partagé qui " +"sera créé, tandis que *objects* est une liste de noms de fichiers d'objets à " +"lier. Les autres arguments sont les mêmes que pour la méthode :meth:`link`." #: ../Doc/distutils/apiref.rst:696 msgid "" @@ -1145,16 +1408,25 @@ msgid "" "`undefine_macro`. *include_dirs* is a list of directory names that will be " "added to the default list, in the same way as :meth:`add_include_dir`." msgstr "" +"Prétraitement d'un seul fichier source C/C++, désigné dans *source*. La " +"sortie du traitement est écrite dans un fichier nommé *output_file*, ou dans " +"*stdout* si *output_file* n'est pas fourni. *macros* est une liste de " +"définitions de macros comme pour :meth:`compile`, qui vont s'ajouter aux " +"macros définies avec :meth:`define_macro` et :meth:`undefine_macro`. " +"*include_dirs* est une liste de noms de répertoires qui seront ajoutés à la " +"liste par défaut, de la même manière que :meth:`add_include_dir`." #: ../Doc/distutils/apiref.rst:703 msgid "Raises :exc:`PreprocessError` on failure." -msgstr "" +msgstr "Lève :exc:`PreprocessError` en cas d'échec." #: ../Doc/distutils/apiref.rst:705 msgid "" "The following utility methods are defined by the :class:`CCompiler` class, " "for use by the various concrete subclasses." msgstr "" +"Les méthodes utilitaires suivantes sont définies par la classe :class:" +"`CCompiler`, à l'usage des différentes sous-classes concrètes." #: ../Doc/distutils/apiref.rst:711 msgid "" @@ -1162,6 +1434,9 @@ msgid "" "for non-Windows platforms this is the same as the basename, while Windows " "will get a :file:`.exe` added." msgstr "" +"Renvoie le nom de fichier de l'exécutable pour un *nom de base* donné. " +"Généralement, pour les plates-formes non Windows, c'est le même nom que le " +"nom de base, tandis que sur Windows l'extension :file:`.exe` sera ajouté." #: ../Doc/distutils/apiref.rst:718 msgid "" @@ -1170,17 +1445,24 @@ msgid "" "form :file:`liblibname.a`, while a *lib_type* of ``'dynamic'`` will be of " "the form :file:`liblibname.so`." msgstr "" +"Renvoie le nom de fichier pour le nom de bibliothèque donné sur la plate-" +"forme actuelle. Sous Unix, une bibliothèque avec un *lib_type* de type " +"``static`` sera généralement de la forme :file:`liblibname.a`, tandis qu'un " +"*lib_type* de type ``dynamic`` sera de la forme :file:`liblibname.so`." #: ../Doc/distutils/apiref.rst:726 msgid "" "Returns the name of the object files for the given source files. " "*source_filenames* should be a list of filenames." msgstr "" +"Renvoie le nom des fichiers objets pour les fichiers sources donnés. " +"*source_filenames* doit être une liste de noms de fichiers." #: ../Doc/distutils/apiref.rst:732 msgid "" "Returns the name of a shared object file for the given file name *basename*." msgstr "" +"Renvoie le nom d'un fichier objet partagé pour le nom de fichier *basename*." #: ../Doc/distutils/apiref.rst:737 msgid "" @@ -1188,46 +1470,59 @@ msgid "" "function *func* with the given arguments *args*, after logging and taking " "into account the *dry_run* flag." msgstr "" +"Invoque :func:`distutils.util.execute`. Cette méthode invoque une fonction " +"Python *func* avec les arguments *args* , après journalisation et prise en " +"compte de l'option *dry_run*." #: ../Doc/distutils/apiref.rst:744 msgid "" "Invokes :func:`distutils.util.spawn`. This invokes an external process to " "run the given command." msgstr "" +"Invoque :func:`distutils.util.spawn`. Invoque un processus externe pour " +"exécuter la commande donnée." #: ../Doc/distutils/apiref.rst:750 msgid "" "Invokes :func:`distutils.dir_util.mkpath`. This creates a directory and any " "missing ancestor directories." msgstr "" +"Invoque :func:`distutils.dir_util.mkpath`. Crée un répertoire et tous les " +"répertoires parents manquants." #: ../Doc/distutils/apiref.rst:756 msgid "Invokes :meth:`distutils.file_util.move_file`. Renames *src* to *dst*." -msgstr "" +msgstr "Invoque :meth:`distutils.file_util.move_file`. Renomme *src* en *dst*." #: ../Doc/distutils/apiref.rst:761 msgid "Write a message using :func:`distutils.log.debug`." -msgstr "" +msgstr "Écrit un message en utilisant :func:`distutils.log.debug`." #: ../Doc/distutils/apiref.rst:766 msgid "Write a warning message *msg* to standard error." msgstr "" +"Écris un message d'avertissement *msg* dans la sortie d'erreur standard." #: ../Doc/distutils/apiref.rst:771 msgid "" "If the *debug* flag is set on this :class:`CCompiler` instance, print *msg* " "to standard output, otherwise do nothing." msgstr "" +"Si l'option *debug* est activée pour cette instance de :class:`CCompiler`, " +"affiche *msg* sur la sortie standard, sinon rien ne s'affiche." #: ../Doc/distutils/apiref.rst:783 msgid ":mod:`distutils.unixccompiler` --- Unix C Compiler" -msgstr "" +msgstr ":mod:`distutils.unixccompiler` — Compilateur C Unix" #: ../Doc/distutils/apiref.rst:789 msgid "" "This module provides the :class:`UnixCCompiler` class, a subclass of :class:" "`CCompiler` that handles the typical Unix-style command-line C compiler:" msgstr "" +"Ce module fournit la classe :class:`UnixCCompiler`, une sous-classe de la " +"classe :class:`CCompiler` qui gère les compilateurs C ayant une interface en " +"ligne de commande conforme au standard Unix :" #: ../Doc/distutils/apiref.rst:792 msgid "macros defined with :option:`-Dname[=value]`" @@ -1254,12 +1549,17 @@ msgid "" "compile handled by :program:`cc` (or similar) executable with :option:`!-c` " "option: compiles :file:`.c` to :file:`.o`" msgstr "" +"compilation gérée par :program:`cc` (ou similaire) exécutable avec l'option :" +"option:`!-c` compile :file:`.c` vers :file:`.o`." #: ../Doc/distutils/apiref.rst:805 msgid "" "link static library handled by :program:`ar` command (possibly with :program:" "`ranlib`)" msgstr "" +"édition de liens pour une bibliothèque statique gérée par le programme en " +"ligne de commande :program:`ar` (éventuellement avec le programme :program:" +"`ranlib`)." #: ../Doc/distutils/apiref.rst:808 msgid "link shared library handled by :program:`cc` :option:`-shared`" @@ -1267,7 +1567,7 @@ msgstr "" #: ../Doc/distutils/apiref.rst:812 msgid ":mod:`distutils.msvccompiler` --- Microsoft Compiler" -msgstr "" +msgstr ":mod:`distutils.msvccompiler` — Compilateur Microsoft" #: ../Doc/distutils/apiref.rst:818 msgid "" @@ -1289,20 +1589,31 @@ msgid "" "installed; *DISTUTILS_USE_SDK* indicates that the distutils user has made an " "explicit choice to override the compiler selection by :class:`MSVCCompiler`." msgstr "" +"La classe :class:`MSVCCompiler` sélectionnera normalement le bon " +"compilateur, éditeur de liens, etc. Pour remplacer ces choix, les variables " +"d'environnement *DISTUTILS_USE_SDK* et *MSSdk* doivent être toutes les deux " +"définies. *MSSdk* indique que l'environnement courant a été configuré par le " +"script ``SetEnv.Cmd`` du kit de développement logiciel (*SDK*), ou que les " +"variables d'environnement ont été enregistrées lorsque le kit a été " +"installé ; *DISTUTILS_USE_SDK* indique que l'utilisateur de *distutils* a " +"choisi explicitement de remplacer le compilateur utilisé par :class:" +"`MSVCCompiler`." #: ../Doc/distutils/apiref.rst:835 msgid ":mod:`distutils.bcppcompiler` --- Borland Compiler" -msgstr "" +msgstr ":mod:`distutils.bcppcompiler` — Compilateur Borland" #: ../Doc/distutils/apiref.rst:840 msgid "" "This module provides :class:`BorlandCCompiler`, a subclass of the abstract :" "class:`CCompiler` class for the Borland C++ compiler." msgstr "" +"Ce module fournit :class:`BorlandCCompiler`, une sous-classe de la classe " +"abstraite :class:`CCompiler` classe pour le compilateur Borland C++." #: ../Doc/distutils/apiref.rst:845 msgid ":mod:`distutils.cygwincompiler` --- Cygwin Compiler" -msgstr "" +msgstr ":mod:`distutils.cygwincompiler` — Compilateur Cygwin" #: ../Doc/distutils/apiref.rst:850 msgid "" @@ -1311,16 +1622,22 @@ msgid "" "Windows. It also contains the Mingw32CCompiler class which handles the " "mingw32 port of GCC (same as cygwin in no-cygwin mode)." msgstr "" +"Ce module fournit la classe :class:`CygwinCCompiler`, une sous-classe de la " +"classe :class:`UnixCCompiler` qui gère *Cygwin*, le portage du compilateur " +"GNU C sur Windows. Il contient également la classe Mingw32CCompiler qui " +"gère le portage *mingw32* de GCC (comme *cygwin* en mode *no-cygwin*)." #: ../Doc/distutils/apiref.rst:857 msgid ":mod:`distutils.archive_util` --- Archiving utilities" -msgstr "" +msgstr ":mod:`distutils.archive_util` — Utilitaires d'archivage" #: ../Doc/distutils/apiref.rst:863 msgid "" "This module provides a few functions for creating archive files, such as " "tarballs or zipfiles." msgstr "" +"Ce module fournit quelques fonctions pour créer des fichiers d'archive, tels " +"que des archives aux formats *tarballs* ou *zipfiles*." #: ../Doc/distutils/apiref.rst:869 msgid "" @@ -1334,6 +1651,16 @@ msgid "" "archive. *root_dir* and *base_dir* both default to the current directory. " "Returns the name of the archive file." msgstr "" +"Crée un fichier d'archive (par exemple ``zip`` ou ``tar``). *base_name* est " +"le nom du fichier à créer, sans extension spécifique indiquant le format. " +"*format* est le format d'archive : un parmi ``zip``, ``tar``, ``gztar``, " +"``bztar``, ``xztar``, ``xztar``, ou ``ztar``. *root_dir* est un répertoire " +"qui sera le répertoire racine de l'archive ; c'est-à-dire que le programme " +"se positionne dans *root_dir* avant de créer l'archive. *base_dir* est le " +"répertoire à partir duquel se lance l'archivage ; par exemple, *base_dir* " +"est le préfixe commun à tous les fichiers et répertoires de l'archive. " +"*root_dir* et *base_dir* sont tous deux par défaut dans le répertoire " +"courant. Renvoie le nom du fichier archive." #: ../Doc/distutils/apiref.rst:879 msgid "Added support for the ``xztar`` format." @@ -1350,10 +1677,18 @@ msgid "" "compression extension (``.gz``, ``.bz2``, ``.xz`` or ``.Z``). Return the " "output filename." msgstr "" +"Crée une archive (compressée en option) sous forme de fichier au format " +"*tar* à partir de tous les fichiers dans et sous *base_dir*. *compress* doit " +"être ``'gzip'`` (par défaut), ``'bzip2'``, ``'xz'``, ``'compress'`` ou " +"``None``. Pour la méthode ``'compress'`` l'utilitaire de compression nommé " +"par :program:`compress` doit être sur le chemin de recherche par défaut, " +"donc c'est sans doute spécifique à Unix. Le fichier *tar* de sortie sera " +"nommé :file:`base_dir.tar`, avec l'extension de compression appropriée (``." +"gz``, ``.bz2``, ``.xz`` ou ``.Z``). Renvoie le nom du fichier de sortie." #: ../Doc/distutils/apiref.rst:894 msgid "Added support for the ``xz`` compression." -msgstr "" +msgstr "Ajout du support de la compression ``xz``." #: ../Doc/distutils/apiref.rst:900 msgid "" @@ -1364,10 +1699,16 @@ msgid "" "available, raises :exc:`DistutilsExecError`. Returns the name of the " "output zip file." msgstr "" +"Crée un fichier zip à partir de tous les fichiers dans et sous *base_dir*. " +"Le fichier zip de sortie est nommé *base_name* + :file:`.zip`. Utilise soit " +"le module Python :mod:`zipfile` (si disponible) ou l'utilitaire InfoZIP :" +"file:`zip` (s'il est installé et trouvé sur le chemin de recherche par " +"défaut). Si aucun des deux outils n'est disponible, lève :exc:" +"`DistutilsExecError`. Renvoie le nom du fichier zip de sortie." #: ../Doc/distutils/apiref.rst:908 msgid ":mod:`distutils.dep_util` --- Dependency checking" -msgstr "" +msgstr ":mod:`distutils.dep_util` — Vérification des dépendances" #: ../Doc/distutils/apiref.rst:914 msgid "" @@ -1375,6 +1716,10 @@ msgid "" "dependency of files and groups of files; also, functions based entirely on " "such timestamp dependency analysis." msgstr "" +"Ce module fournit des fonctions permettant d'effectuer des tests de " +"dépendance simples, basés sur les horodatages de fichiers et de groupes de " +"fichiers, ainsi que des fonctionnalités entièrement basées sur ces analyses " +"de dépendance par rapport aux horodatages." #: ../Doc/distutils/apiref.rst:921 msgid "" @@ -1383,6 +1728,10 @@ msgid "" "*target* is the same age or newer than *source*. Raise :exc:" "`DistutilsFileError` if *source* does not exist." msgstr "" +"Renvoie la valeur *true* si *source* existe et a été modifiée plus récemment " +"que *target*, ou si *source* existe et *target* n'existe pas. Renvoie la " +"valeur *false* si les deux existent et que *target* est aussi ou plus récent " +"que *source*. Lève :exc:`DistutilsFileError` si *source* n'existe pas." #: ../Doc/distutils/apiref.rst:929 msgid "" @@ -1391,6 +1740,10 @@ msgid "" "where source is newer than target, according to the semantics of :func:" "`newer`." msgstr "" +"Parcourt en parallèle deux listes de noms de fichiers, en vérifiant si " +"chaque source est plus récente que sa cible correspondante. Renvoie une " +"paire de listes (*sources*, *cibles*) où la source est plus récente que la " +"cible, selon la sémantique de :func:`newer`." #: ../Doc/distutils/apiref.rst:938 msgid "" @@ -1409,12 +1762,15 @@ msgstr "" #: ../Doc/distutils/apiref.rst:951 msgid ":mod:`distutils.dir_util` --- Directory tree operations" msgstr "" +":mod:`distutils.dir_util` --- Opérations sur l'arborescence des répertoires" #: ../Doc/distutils/apiref.rst:957 msgid "" "This module provides functions for operating on directories and trees of " "directories." msgstr "" +"Ce module fournit des fonctions pour travailler sur des répertoires et des " +"arborescences de répertoires." #: ../Doc/distutils/apiref.rst:963 msgid "" @@ -1426,6 +1782,14 @@ msgid "" "is true, print a one-line summary of each mkdir to stdout. Return the list " "of directories actually created." msgstr "" +"Crée un répertoire et tous les répertoires parents manquants. Si le " +"répertoire existe déjà (ou si *name* est la chaîne vide, c'est-à-dire le " +"répertoire courant, qui existe bien sûr), alors ne fait rien. Lève :exc:" +"`DistutilsFileError` s'il n'est pas possible de créer un répertoire en cours " +"de route (par exemple, un sous-chemin existe, mais est un fichier plutôt " +"qu'un répertoire). Si *verbose* est vrai, affiche un résumé d'une ligne de " +"chaque *mkdir* vers *stdout*. Renvoie la liste des répertoires réellement " +"créés." #: ../Doc/distutils/apiref.rst:974 msgid "" @@ -1436,6 +1800,12 @@ msgid "" "be created if it doesn't already exist. *mode*, *verbose* and *dry_run* " "flags are as for :func:`mkpath`." msgstr "" +"Crée tous les répertoires vides sous *base_dir* nécessaires pour placer " +"*files*. *base_dir* est le nom d'un répertoire qui n'existe pas encore " +"nécessairement ; *files* est une liste de noms de fichiers relatifs à " +"*base_dir*. *base_dir* + la partie répertoire de chaque fichier dans *files* " +"est créée si elle n'existe pas déjà. Les options *mode*, *verbose* et " +"*dry_run* sont les mêmes que pour :func:`mkpath`." #: ../Doc/distutils/apiref.rst:984 msgid "" @@ -1449,6 +1819,17 @@ msgid "" "it is simply the list of all files under *src*, with the names changed to be " "under *dst*." msgstr "" +"Copie une arborescence de répertoires entière *src* vers un nouvel " +"emplacement *dst*. *src* et *dst* doivent tous deux être des noms de " +"répertoire. Si *src* n'est pas un répertoire, lève :exc:" +"`DistutilsFileError`. Si *dst* n'existe pas, il est créé avec :func:" +"`mkpath`. Le résultat final de la copie est que chaque fichier dans *src* " +"est copié dans *dst*, et les répertoires sous *src* sont récursivement " +"copiés dans *dst*. Renvoie la liste des fichiers qui ont été copiés ou qui " +"auraient pu l'être, en utilisant leur nom de sortie. La valeur renvoyée " +"n'est pas affectée par *update* ou *dry_run* : c'est tout simplement la " +"liste de tous les fichiers sous *src*, avec les noms modifiés pour être sous " +"*dst*." #: ../Doc/distutils/apiref.rst:994 msgid "" @@ -1459,6 +1840,13 @@ msgid "" "destination of the symlink will be copied. *update* and *verbose* are the " "same as for :func:`copy_file`." msgstr "" +"Les modes *preserve_mode* et *preserve_times* sont les mêmes que pour :func:" +"`distutils.file_util.copy_file` ; il faut savoir que cela ne concerne que " +"les fichiers réguliers, et non les dossiers. Si *preserve_symlinks* est " +"vrai, les liens symboliques seront copiés en tant que liens symboliques (sur " +"les plateformes qui les gèrent !); sinon (par défaut), la destination du " +"lien sera copiée. *update* et *verbose* sont les mêmes que pour :func:" +"`copy_file`." #: ../Doc/distutils/apiref.rst:1002 msgid "" @@ -1466,10 +1854,13 @@ msgid "" "these files is available in answer D2 of the `NFS FAQ page `_)." msgstr "" +"Les fichiers dans *src* qui commencent par :file:`.nfs` sont ignorés (plus " +"d'informations sur ces fichiers sont disponibles dans la réponse *D2* de la " +"page `NFS FAQ page `_)." #: ../Doc/distutils/apiref.rst:1006 msgid "NFS files are ignored." -msgstr "" +msgstr "Les fichiers NFS sont ignorés." #: ../Doc/distutils/apiref.rst:1011 msgid "" @@ -1477,16 +1868,21 @@ msgid "" "Any errors are ignored (apart from being reported to ``sys.stdout`` if " "*verbose* is true)." msgstr "" +"Supprime récursivement *directory* et tous les fichiers et répertoires en " +"dessous. Toutes les erreurs sont ignorées (sauf si *verbose* est vrai, elles " +"sont affichées sur ``sys.stdout``)." #: ../Doc/distutils/apiref.rst:1017 msgid ":mod:`distutils.file_util` --- Single file operations" -msgstr "" +msgstr ":mod:`distutils.file_util` — Traitements mono-fichier" #: ../Doc/distutils/apiref.rst:1023 msgid "" "This module contains some utility functions for operating on individual " "files." msgstr "" +"Ce module contient quelques fonctions de service pour travailler sur des " +"fichiers individuels." #: ../Doc/distutils/apiref.rst:1028 msgid "" @@ -1499,6 +1895,14 @@ msgid "" "If *update* is true, *src* will only be copied if *dst* does not exist, or " "if *dst* does exist but is older than *src*." msgstr "" +"Copie le fichier *src* dans *dst*. Si *dst* est un répertoire, alors *src* y " +"est copié avec le même nom ; sinon, il faut que ce soit un nom de fichier. " +"Si *preserve_mode* est vrai (par défaut), le mode du fichier (son type et " +"ses bits de permission, ou ce qui est analogue sur la plate-forme actuelle) " +"sont copiés. Si *preserve_times* est vrai (par défaut), les horodatages de " +"la dernière modification et du dernier accès sont également copiés. Si " +"*update* est vrai, *src* ne peut être copié que si *dst* n'existe pas, ou si " +"*dst* existe mais est plus ancien que *src*." #: ../Doc/distutils/apiref.rst:1037 msgid "" @@ -1509,6 +1913,13 @@ msgid "" "hard or symbolic linking is available. It uses :func:`_copy_file_contents` " "to copy file contents." msgstr "" +"*link* permets de créer des liens physiques (en utilisant :func:`os.link`) " +"ou symboliques (en utilisant :func:`os.symlink`) au lieu de les copier : " +"paramétrez la valeur a ``'hard'`` ou ``'sym'`` ; si elle vaut ``None`` (par " +"défaut), les fichiers sont copiés. Ne définissez pas *link* sur les systèmes " +"qui ne les gèrent pas : :func:`copy_file` ne vérifie pas si des liens " +"symboliques ou physiques sont disponibles. La fonction :func:" +"`_copy_file_contents` est utilisée pour copier le contenu des fichiers." #: ../Doc/distutils/apiref.rst:1044 msgid "" @@ -1516,6 +1927,9 @@ msgid "" "the output file, and *copied* is true if the file was copied (or would have " "been copied, if *dry_run* true)." msgstr "" +"Renvoie un couple ``(dest_name, copied)`` : *dest_name* est le nom réel du " +"fichier de sortie, et *copied* est vrai si le fichier a été copié (ou aurait " +"été copié, si *dry_run* est vrai)." #: ../Doc/distutils/apiref.rst:1058 msgid "" @@ -1523,28 +1937,37 @@ msgid "" "into it with the same name; otherwise, *src* is just renamed to *dst*. " "Returns the new full name of the file." msgstr "" +"Déplace le fichier *src* vers *dst*. Si *dst* est un répertoire, le fichier " +"y est déplacé avec le même nom ; sinon, *src* est simplement renommé *dst*. " +"Renvoie le nouveau nom complet du fichier." #: ../Doc/distutils/apiref.rst:1064 msgid "" "Handles cross-device moves on Unix using :func:`copy_file`. What about " "other systems?" msgstr "" +"Gère les déplacements inter-périphériques sous Unix en utilisant :func:" +"`copy_file`. Qu'en est-il sur les autres systèmes ?" #: ../Doc/distutils/apiref.rst:1070 msgid "" "Create a file called *filename* and write *contents* (a sequence of strings " "without line terminators) to it." msgstr "" +"Crée un fichier appelé *filename* et y écrit *contents* (une séquence de " +"chaînes sans terminaison de ligne)." #: ../Doc/distutils/apiref.rst:1075 msgid ":mod:`distutils.util` --- Miscellaneous other utility functions" -msgstr "" +msgstr ":mod:`distutils.util` — Autres fonctions de service" #: ../Doc/distutils/apiref.rst:1081 msgid "" "This module contains other assorted bits and pieces that don't fit into any " "other utility module." msgstr "" +"Ce module contient d'autres éléments qui ne correspondent à aucun autre " +"module de service." #: ../Doc/distutils/apiref.rst:1087 msgid "" @@ -1559,19 +1982,19 @@ msgstr "" #: ../Doc/distutils/apiref.rst:1095 msgid "Examples of returned values:" -msgstr "" +msgstr "Exemples de valeurs renvoyées :" #: ../Doc/distutils/apiref.rst:1097 msgid "``linux-i586``" -msgstr "" +msgstr "``linux-i586``" #: ../Doc/distutils/apiref.rst:1098 msgid "``linux-alpha``" -msgstr "" +msgstr "``linux-alpha``" #: ../Doc/distutils/apiref.rst:1099 msgid "``solaris-2.6-sun4u``" -msgstr "" +msgstr "``solaris-2.6-sun4u``" #: ../Doc/distutils/apiref.rst:1100 msgid "``irix-5.3``" @@ -1584,6 +2007,8 @@ msgstr "" #: ../Doc/distutils/apiref.rst:1103 msgid "For non-POSIX platforms, currently just returns ``sys.platform``." msgstr "" +"Pour les plates-formes qui ne sont pas POSIX, renvoie simplement ``sys." +"platform``." #: ../Doc/distutils/apiref.rst:1105 msgid "" @@ -1591,6 +2016,10 @@ msgid "" "binaries will run (that is, the value of ``MACOSX_DEPLOYMENT_TARGET`` during " "the build of Python), not the OS version of the current system." msgstr "" +"Pour les systèmes Mac OS X, la version du système d'exploitation correspond " +"à la version minimale sur laquelle les binaires pourront être exécutés " +"(c'est-à-dire la valeur de ``MACOSX_DEPLOYMENT_TARGET`` pendant la " +"compilation de Python), et non la version du système actuel." #: ../Doc/distutils/apiref.rst:1109 msgid "" @@ -1603,26 +2032,35 @@ msgid "" "build (ppc, i386, x86_64) and ``intel`` is used for a universal build with " "the i386 and x86_64 architectures" msgstr "" +"Pour les binaires universels construits sur Mac OS X, la valeur de " +"l'architecture reflète l'état du binaire universel au lieu de celle de " +"l'architecture du processeur en cours. Pour les binaires universels 32 bits, " +"l'architecture est ``fat``, pour les binaires universels 64 bits, " +"l'architecture est ``fat64``, et pour les binaires universels 4 voies, " +"l'architecture est ``universelle``. A partir de Python 2.7 et Python 3.2, " +"l'architecture ``fat3`` est utilisée pour une compilation universelle à 3 " +"voies (*ppc*, *i386*, *x86_64*) et ``intel`` est utilisée pour une " +"compilation universelle avec les architectures *i386* et *x86_64*" #: ../Doc/distutils/apiref.rst:1118 msgid "Examples of returned values on Mac OS X:" -msgstr "" +msgstr "Exemples de valeurs renvoyées sous Mac OS X :" #: ../Doc/distutils/apiref.rst:1120 msgid "``macosx-10.3-ppc``" -msgstr "" +msgstr "``macosx-10.3-ppc``" #: ../Doc/distutils/apiref.rst:1122 msgid "``macosx-10.3-fat``" -msgstr "" +msgstr "``macosx-10.3-fat``" #: ../Doc/distutils/apiref.rst:1124 msgid "``macosx-10.5-universal``" -msgstr "" +msgstr "``macosx-10.5-universal``" #: ../Doc/distutils/apiref.rst:1126 msgid "``macosx-10.6-intel``" -msgstr "" +msgstr "``macosx-10.6-intel``" #: ../Doc/distutils/apiref.rst:1131 msgid "" @@ -1633,6 +2071,14 @@ msgid "" "can actually use them in the filesystem. Raises :exc:`ValueError` on non-" "Unix-ish systems if *pathname* either starts or ends with a slash." msgstr "" +"Renvoie un chemin *pathname* qui fonctionne sur le système de fichiers " +"natif. Par exemple, il sépare le chemin sur */* et le recompose en utilisant " +"le séparateur de répertoires courant. Cela est nécessaire parce que les noms " +"de fichiers dans les scripts d'installations sont toujours fournis dans le " +"style Unix, et doivent être convertis dans la convention du système avant " +"d'être utilisé par le système de fichiers. Lève :exc:`ValueError` sur les " +"systèmes non UNIX si *pathname* commence ou se termine par une barre oblique " +"(*slash* en anglais)." #: ../Doc/distutils/apiref.rst:1141 msgid "" @@ -1641,6 +2087,10 @@ msgid "" "requires making *pathname* relative and then joining the two, which is " "tricky on DOS/Windows." msgstr "" +"Renvoie un chemin *pathname* préfixé avec *new_root*. Si *pathname* est " +"relatif, c`est l'équivalent de ``os.path.join(new_root,pathname)`` Sinon, il " +"faut rendre *pathname* relatif et joindre les deux, ce qui est dangereux " +"sous DOS/Windows." #: ../Doc/distutils/apiref.rst:1148 msgid "" @@ -1648,16 +2098,22 @@ msgid "" "users can use in config files, command-line options, etc. Currently this " "includes:" msgstr "" +"Vérifie que 'os.environ' possède toutes les variables d'environnement " +"utilisables dans les fichiers de configuration, les options en ligne de " +"commande, etc. À l'heure actuelle, cela comprend :" #: ../Doc/distutils/apiref.rst:1152 msgid ":envvar:`HOME` - user's home directory (Unix only)" msgstr "" +":envvar:`HOME`. Répertoire d’accueil de l'utilisateur (Unix uniquement)" #: ../Doc/distutils/apiref.rst:1153 msgid "" ":envvar:`PLAT` - description of the current platform, including hardware and " "OS (see :func:`get_platform`)" msgstr "" +":envvar:`PLAT`. Description de la plate-forme actuelle, y compris le " +"matériel et le l'OS (voir :func:`get_platform`)" #: ../Doc/distutils/apiref.rst:1159 msgid "" @@ -1669,6 +2125,14 @@ msgid "" "`check_environ`. Raise :exc:`ValueError` for any variables not found in " "either *local_vars* or ``os.environ``." msgstr "" +"Exécute la substitution de variable de style shell/Perl sur *s*. Chaque " +"occurrence de ``$`` suivie d'un nom est considérée comme une variable, et la " +"variable est remplacée par la valeur trouvée dans le dictionnaire " +"*local_vars*, ou dans ``os.environ`` si elle ne se trouve pas dans " +"*local_vars*. *os.environ* est d'abord vérifié/étendu pour garantir qu'elle " +"contient certaines valeurs : voir :func:`check_environ`. Lève :exc:" +"`ValueError` pour toute variable non trouvée dans *local_vars* ou ``os." +"environ``." #: ../Doc/distutils/apiref.rst:1166 msgid "" @@ -1676,6 +2140,10 @@ msgid "" "``$variable`` can consist only of upper and lower case letters, numbers and " "an underscore. No { } or ( ) style quoting is available." msgstr "" +"Remarquez qu'il ne s'agit pas d'une fonction d'interpolation de chaîne à " +"part entière. Une ``$variable`` valide ne peut être composée que de lettres " +"majuscules et minuscules, de chiffres et d'un tiret bas. Aucune syntaxe de " +"type {} ou () pour indiquer des variables n'est disponible." #: ../Doc/distutils/apiref.rst:1173 msgid "" @@ -1687,6 +2155,16 @@ msgid "" "leaving only the escaped character. The quote characters are stripped from " "any quoted string. Returns a list of words." msgstr "" +"Sépare une chaîne de caractères selon les règles de type shell Unix pour les " +"guillemets et les barres obliques inverses. En bref : les mots sont " +"délimités par des espaces, tant que ces espaces ne sont pas échappées par " +"une barre oblique inversée, ou à l'intérieur d'une chaîne guillemets. Les " +"guillemets simples et doubles sont équivalents, et les caractères entre " +"guillemets peuvent être échappés à l'aide d'une barre oblique inversée. La " +"barre oblique inversée est supprimée de toute séquence d'échappement à deux " +"caractères, ne laissant que le caractère échappé. Les caractères guillemets " +"sont supprimés de toute chaîne de caractères entre guillemets. Renvoie une " +"liste de mots." #: ../Doc/distutils/apiref.rst:1186 msgid "" @@ -1697,10 +2175,18 @@ msgid "" "it (to embody the \"external action\" being performed), and an optional " "message to print." msgstr "" +"Exécute une action qui affecte le monde extérieur (par exemple, écrire dans " +"le système de fichiers). De telles actions sont spéciales car elles sont " +"désactivées par l'option *dry_run*. Cette méthode s'occupe de tout. Vous " +"devez simplement fournir la fonction à appeler avec un couple d'argument lui " +"correspondant et un message facultatif à afficher." #: ../Doc/distutils/apiref.rst:1195 msgid "Convert a string representation of truth to true (1) or false (0)." msgstr "" +"Convertit une chaîne de caractères représentant une valeur booléenne en " +"``1`` (si elle est évaluée comme vraie) ou ``0`` (si elle est évaluée comme " +"fausse)." #: ../Doc/distutils/apiref.rst:1197 msgid "" @@ -1708,6 +2194,9 @@ msgid "" "values are ``n``, ``no``, ``f``, ``false``, ``off`` and ``0``. Raises :exc:" "`ValueError` if *val* is anything else." msgstr "" +"Les valeurs *vraies* sont , ``y``, ``yes``, ``t``, ``true``, ``on`` et " +"``1``. Les valeurs *fausses* sont ``n``, ``no``, ``f``, ``false``, ``off`` " +"et ``0``. Lève :exc:`ValueError` si *val* est autre chose." #: ../Doc/distutils/apiref.rst:1204 msgid "" @@ -1716,22 +2205,30 @@ msgid "" "is a list of files to compile; any files that don't end in :file:`.py` are " "silently skipped. *optimize* must be one of the following:" msgstr "" +"Effectue une compilation vers du *bytecode* Python à partir d'un ensemble de " +"fichiers sources Python dans un fichier :file:`.pyc` dans un sous " +"répertoire :file:`__pycache__` (voir :pep:`3147` et :pep:`488`). *py_files* " +"est une liste de fichiers à compiler ; tous les fichiers qui ne se terminent " +"pas par :file:`.py` sont ignorés en silence. *optimize* doit être l'un des " +"éléments suivants :" #: ../Doc/distutils/apiref.rst:1209 msgid "``0`` - don't optimize" -msgstr "" +msgstr "``0``: ne pas optimiser" #: ../Doc/distutils/apiref.rst:1210 msgid "``1`` - normal optimization (like ``python -O``)" -msgstr "" +msgstr "``1``: optimisation normale (comme ``python -O``)" #: ../Doc/distutils/apiref.rst:1211 msgid "``2`` - extra optimization (like ``python -OO``)" -msgstr "" +msgstr "``2``: optimisation supplémentaire (comme ``python -OO``)" #: ../Doc/distutils/apiref.rst:1213 msgid "If *force* is true, all files are recompiled regardless of timestamps." msgstr "" +"Si *force* est vrai, tous les fichiers sont recompilés indépendamment des " +"horodatages." #: ../Doc/distutils/apiref.rst:1215 msgid "" @@ -1742,12 +2239,21 @@ msgid "" "*prefix* is stripped). You can supply either or both (or neither) of " "*prefix* and *base_dir*, as you wish." msgstr "" +"Le nom du fichier source encodé dans chaque fichier :term:`bytecode` est par " +"défaut le nom présent dans la liste des noms de fichiers source *py_files* ; " +"vous pouvez modifier dynamiquement ses noms avec *prefix* et *basedir*. " +"*prefix* est une chaîne de caractères qui sera supprimée de chaque nom de " +"fichier source, et *base_dir* est un nom de répertoire qui sera préfixé au " +"nom (après que le *prefixe* soit supprimé). Vous pouvez choisir de fournir " +"l'un ou l'autre (ou les deux) paramètres : *prefixe* et *base_dir*." #: ../Doc/distutils/apiref.rst:1222 msgid "" "If *dry_run* is true, doesn't actually do anything that would affect the " "filesystem." msgstr "" +"Si *dry_run* est vrai, ne fait rien qui puisse affecter le système de " +"fichiers." #: ../Doc/distutils/apiref.rst:1225 msgid "" @@ -1758,6 +2264,13 @@ msgid "" "The *direct* flag is used by the script generated in indirect mode; unless " "you know what you're doing, leave it set to ``None``." msgstr "" +"La compilation binaire se fait soit directement dans l'interpréteur courant " +"avec le module standard :mod:`py_compile`, soit indirectement en écrivant un " +"script temporaire et en l'exécutant. Normalement, vous devez laisser :func:" +"`byte_compile` choisir d'utiliser la compilation directe ou non (voir le " +"code-source pour les détails). Le paramètre *direct* est utilisé par le " +"script généré en mode indirect ; à moins que vous ne sachiez ce que vous " +"faites, laissez le paramètre à ``None`` (Aucun)." #: ../Doc/distutils/apiref.rst:1232 msgid "" @@ -1765,10 +2278,13 @@ msgid "" "their name, in a :file:`__pycache__` subdirectory instead of files without " "tag in the current directory." msgstr "" +"Crée des fichiers ``.pyc`` avec un sous-répertoire :func:`import magic tag " +"` dans leur nom, dans le sous répertoire :file:`__pycache__` " +"plutôt que dans le répertoire courant, sans tag." #: ../Doc/distutils/apiref.rst:1237 msgid "Create ``.pyc`` files according to :pep:`488`." -msgstr "" +msgstr "Crée des fichiers ``.pyc`` selon la :pep:`488`." #: ../Doc/distutils/apiref.rst:1243 msgid "" @@ -1776,38 +2292,47 @@ msgid "" "by ensuring there are 8 spaces space after each newline. Note that it does " "no other modification of the string." msgstr "" +"Renvoie une version de *header* traitée avec les échappements compatibles " +"avec les en-têtes :rfc:`822`, en s'assurant qu'il y a 8 espaces après chaque " +"nouvelle ligne. Notez qu'il ne fait aucune autre modification de la chaîne " +"de caractères." #: ../Doc/distutils/apiref.rst:1253 msgid ":mod:`distutils.dist` --- The Distribution class" -msgstr "" +msgstr ":mod:`distutils.dist` — La classe Distribution" #: ../Doc/distutils/apiref.rst:1260 msgid "" "This module provides the :class:`~distutils.core.Distribution` class, which " "represents the module distribution being built/installed/distributed." msgstr "" +"Ce module fournit la classe :class:`~distutils.core.Distribution`, qui " +"représente le module *distribution* en cours de construction/installation/" +"distribution." #: ../Doc/distutils/apiref.rst:1265 msgid ":mod:`distutils.extension` --- The Extension class" -msgstr "" +msgstr ":mod:`distutils.extension` — La classe Extension" #: ../Doc/distutils/apiref.rst:1272 msgid "" "This module provides the :class:`Extension` class, used to describe C/C++ " "extension modules in setup scripts." msgstr "" +"Ce module fournit la classe :class:`Extension`, utilisée pour décrire les " +"modules d'extension C/C++ dans les scripts de configuration." #: ../Doc/distutils/apiref.rst:1280 msgid ":mod:`distutils.debug` --- Distutils debug mode" -msgstr "" +msgstr ":mod:`distutils.debug` — Mode de débogage du module *Distutils*" #: ../Doc/distutils/apiref.rst:1286 msgid "This module provides the DEBUG flag." -msgstr "" +msgstr "Ce module fournit l'option *DEBUG*." #: ../Doc/distutils/apiref.rst:1290 msgid ":mod:`distutils.errors` --- Distutils exceptions" -msgstr "" +msgstr ":mod:`distutils.errors` — Exceptions du module *Distutils*" #: ../Doc/distutils/apiref.rst:1296 msgid "" @@ -1816,37 +2341,50 @@ msgid "" "raised for errors that are obviously the end-user's fault (eg. bad command-" "line arguments)." msgstr "" +"Fournit les exceptions utilisées par les modules de *Distutils*. Notez que " +"les modules *Distutils* peuvent soulever des exceptions standard ; en " +"particulier, ``SystemExit`` est généralement levée pour les erreurs qui sont " +"manifestement de la responsabilité de l'utilisateur final (ex : mauvais " +"argument en ligne de commande)." #: ../Doc/distutils/apiref.rst:1300 msgid "" "This module is safe to use in ``from ... import *`` mode; it only exports " "symbols whose names start with ``Distutils`` and end with ``Error``." msgstr "" +"Ce module est utilisable avec la syntaxe ``from ... import *`` ; il " +"n'exporte que des symboles dont le nom commence par ``Distutils`` et se " +"termine par ``Error``." #: ../Doc/distutils/apiref.rst:1305 msgid "" ":mod:`distutils.fancy_getopt` --- Wrapper around the standard getopt module" msgstr "" +":mod:`distutils.fancy_getopt` --- Encapsulation du module *getopt* standard" #: ../Doc/distutils/apiref.rst:1311 msgid "" "This module provides a wrapper around the standard :mod:`getopt` module " "that provides the following additional features:" msgstr "" +"Ce module est une encapsulation du module standard :mod:`getopt` qui apporte " +"les fonctionnalités supplémentaires suivantes :" #: ../Doc/distutils/apiref.rst:1314 msgid "short and long options are tied together" -msgstr "" +msgstr "Les options *short* et *long* sont liées entre elles." #: ../Doc/distutils/apiref.rst:1316 msgid "" "options have help strings, so :func:`fancy_getopt` could potentially create " "a complete usage summary" msgstr "" +"Les options ont des pages d'aide, donc :func:`fancy_getopt` pourrait " +"potentiellement créer un résumé d'utilisation complet" #: ../Doc/distutils/apiref.rst:1319 msgid "options set attributes of a passed-in object" -msgstr "" +msgstr "Les options définissent les attributs à partir d'un objet fourni." #: ../Doc/distutils/apiref.rst:1321 msgid "" @@ -1865,16 +2403,28 @@ msgid "" "`getopt` method of the :class:`FancyGetopt` class). *args* is the argument " "list. Will use ``sys.argv[1:]`` if you pass ``None`` as *args*." msgstr "" +"Encapsulation de la fonction ``getopt``. *options* est une liste de triplets " +"``(long_option, short_option, help_string)`` comme décrit dans le " +"constructeur de la classe :class:`FancyGetopt`. *negative_opt* doit être un " +"dictionnaire associant les noms des options aux noms des options, la clé et " +"la valeur doivent être dans la liste *options*. *object* est un objet qui " +"sera utilisé pour stocker des valeurs (voir la méthode :meth:`getopt` de la " +"classe :class:`FancyGetopt`). *args* est la liste des arguments. Utilise " +"``sys.argv[1 :]`` si ``None`` est passé à *args*." #: ../Doc/distutils/apiref.rst:1338 msgid "Wraps *text* to less than *width* wide." msgstr "" +"Ajoute des retours à la ligne à *texte* de manière à ce que la largeur soit " +"inférieure à *largeur*." #: ../Doc/distutils/apiref.rst:1343 msgid "" "The option_table is a list of 3-tuples: ``(long_option, short_option, " "help_string)``" msgstr "" +"La liste *option_table* est constituée de triplets : ``(long_option, " +"short_option, help_string*)``" #: ../Doc/distutils/apiref.rst:1346 msgid "" @@ -1883,14 +2433,21 @@ msgid "" "any case. *short_option* should be ``None`` if a *long_option* doesn't have " "a corresponding *short_option*. All option tuples must have long options." msgstr "" +"Si une option prend un argument, sa *long_option* doit se terminer par " +"``'='``. *short_option* doit être un seul caractère, jamais ``':'`'. " +"*option_courte* doit être ``None`` si *long_option* n'a pas de " +"*short_option* correspondante. Tous les triplets d'options doivent avoir des " +"options longues." #: ../Doc/distutils/apiref.rst:1351 msgid "The :class:`FancyGetopt` class provides the following methods:" -msgstr "" +msgstr "La classe :class:`FancyGetopt` fournit les méthodes suivantes :" #: ../Doc/distutils/apiref.rst:1356 msgid "Parse command-line options in args. Store as attributes on *object*." msgstr "" +"Analyse les options de ligne de commande des arguments. Les stocke en tant " +"qu'attributs de *objet*." #: ../Doc/distutils/apiref.rst:1358 msgid "" @@ -1901,6 +2458,13 @@ msgid "" "returns *args*; in both cases, the returned *args* is a modified copy of the " "passed-in *args* list, which is left untouched." msgstr "" +"Si *args* est ``None`` ou n'est pas définie, utilise ``sys.argv[1:]``. Si " +"*object* est ``None`` ou n'est pas définie, créer une nouvelle instance de " +"la classe :class:`OptionDummy` , stocke les valeurs d'options dans " +"l'instance et renvoie un couple ``(args, object)``. Si *objet* est fourni, " +"il est modifié sur place et :func:`getopt` renvoie simplement *args*; dans " +"les deux cas, Les arguments *args* renvoyés sont une copie modifiée de la " +"liste *args* transmise, qui est n'est pas modifiée." #: ../Doc/distutils/apiref.rst:1370 msgid "" @@ -1908,34 +2472,43 @@ msgid "" "of :meth:`getopt` Raises :exc:`RuntimeError` if :meth:`getopt` hasn't been " "called yet." msgstr "" +"Renvoie la liste des couples ``(option, valeur)`` traités par l'exécution " +"précédente de :meth:`getopt`. Déclenche :exc:`RuntimeError` si :meth:" +"`getopt` n'a pas encore été appelée." #: ../Doc/distutils/apiref.rst:1377 msgid "" "Generate help text (a list of strings, one per suggested line of output) " "from the option table for this :class:`FancyGetopt` object." msgstr "" +"Génère un texte d'aide (une liste de chaînes, une par ligne de sortie " +"suggérée) de la liste d'options pour l'objet de la classe :class:" +"`FancyGetopt`." #: ../Doc/distutils/apiref.rst:1380 msgid "If supplied, prints the supplied *header* at the top of the help." -msgstr "" +msgstr "S'il est fourni, affiche l'en-tête *header* en haut de l'aide." #: ../Doc/distutils/apiref.rst:1384 msgid ":mod:`distutils.filelist` --- The FileList class" -msgstr "" +msgstr ":mod:`distutils.filelist` — La classe *FileList* liste des fichiers" #: ../Doc/distutils/apiref.rst:1391 msgid "" "This module provides the :class:`FileList` class, used for poking about the " "filesystem and building lists of files." msgstr "" +"Ce module fournit la classe :class:`FileList`, utilisée pour parcourir le " +"système de fichiers et construire des listes de fichiers." #: ../Doc/distutils/apiref.rst:1396 msgid ":mod:`distutils.log` --- Simple PEP 282-style logging" msgstr "" +":mod:`distutils.log` --- Journalisation basée sur le style de la PEP 282" #: ../Doc/distutils/apiref.rst:1403 msgid ":mod:`distutils.spawn` --- Spawn a sub-process" -msgstr "" +msgstr ":mod:`distutils.spawn` — Crée un sous-processus" #: ../Doc/distutils/apiref.rst:1409 msgid "" @@ -1944,10 +2517,15 @@ msgid "" "Also provides :func:`find_executable` to search the path for a given " "executable name." msgstr "" +"Ce module offre la fonction :func:`spawn`, une interface avec diverses " +"fonctions spécifiques à la plate-forme pour lancer un autre programme dans " +"un sous-processus. Inclut également :func:`find_executable` pour rechercher " +"le chemin d'accès pour un nom d'exécutable donné." #: ../Doc/distutils/apiref.rst:1416 msgid ":mod:`distutils.sysconfig` --- System configuration information" msgstr "" +":mod:`distutils.sysconfig` --- Informations de configuration du système" #: ../Doc/distutils/apiref.rst:1425 msgid "" @@ -1960,26 +2538,40 @@ msgid "" "header is called :file:`pyconfig.h` for Python versions starting with 2.2, " "and :file:`config.h` for earlier versions of Python." msgstr "" +"Le module :mod:`distutils.sysconfig` donne accès aux informations de " +"configuration bas niveau de Python. Les variables de configuration " +"spécifiques disponibles dépendent de la plate-forme et de la configuration. " +"Les variables spécifiques dépendent du processus de compilation de la " +"version *spécifique* de Python en cours d'exécution. Les variables sont " +"celles qui se trouvent dans le fichier :file:`Makefile` et dans les entêtes " +"de configuration installés avec Python sur des systèmes Unix. Le fichier " +"des entêtes de configuration s'appelle :file:`pyconfig.h` pour les versions " +"de Python commençant par 2.2, et :file:`config.h` pour les versions " +"antérieures de Python." #: ../Doc/distutils/apiref.rst:1434 msgid "" "Some additional functions are provided which perform some useful " "manipulations for other parts of the :mod:`distutils` package." msgstr "" +"Quelques fonctions supplémentaires sont fournies pour effectuer des " +"manipulations utiles pour d'autres parties du paquet :mod:`distutils`." #: ../Doc/distutils/apiref.rst:1440 msgid "The result of ``os.path.normpath(sys.prefix)``." -msgstr "" +msgstr "Le résultat de ``os.path.normpath(sys.prefix)``." #: ../Doc/distutils/apiref.rst:1445 msgid "The result of ``os.path.normpath(sys.exec_prefix)``." -msgstr "" +msgstr "Le résultat de ``os.path.normpath(sys.exec_prefix)``." #: ../Doc/distutils/apiref.rst:1450 msgid "" "Return the value of a single variable. This is equivalent to " "``get_config_vars().get(name)``." msgstr "" +"Retourne la valeur d'une seule variable. C'est l'équivalent de " +"``get_config_vars().get(name)``." #: ../Doc/distutils/apiref.rst:1456 msgid "" @@ -1989,6 +2581,12 @@ msgid "" "a sequence giving the associated values. If a given name does not have a " "corresponding value, ``None`` will be included for that variable." msgstr "" +"Retourne un ensemble de définitions de variables. S'il n'y a pas " +"d'arguments, cela renvoie un dictionnaire qui associe les noms des variables " +"de configuration aux valeurs. Si des arguments sont spécifiés, ils doivent " +"être des chaînes de caractères, et la valeur renvoyée sera une séquence " +"donnant les valeurs correspondantes. Si un nom donné n'a pas de valeur " +"correspondante, la valeur ``None`` sera utilisée pour cette variable." #: ../Doc/distutils/apiref.rst:1465 msgid "" @@ -1997,6 +2595,10 @@ msgid "" "platforms the header will have been supplied directly by the Python source " "distribution. The file is a platform-specific text file." msgstr "" +"Renvoie le nom complet du chemin d'accès de l'en-tête de configuration. " +"Pour Unix, c'est l'en-tête généré par le script :program:`configure` ; pour " +"les autres plates-formes, l'en-tête provient directement de la distribution " +"source Python. Le fichier est un fichier texte spécifique à la plate-forme." #: ../Doc/distutils/apiref.rst:1473 msgid "" @@ -2005,6 +2607,11 @@ msgid "" "meaning for other platforms will vary. The file is a platform-specific text " "file, if it exists. This function is only useful on POSIX platforms." msgstr "" +"Renvoie le nom complet du chemin d'accès du fichier :file:`Makefile` utilisé " +"pour construire Python. Pour Unix, c'est le fichier généré par le script :" +"program:`configure`. La définition pour les autres plateformes varie. S'il " +"existe, il s'agit d'un fichier texte spécifique à la plate-forme. Cette " +"fonction n'est utile que sur les plates-formes POSIX." #: ../Doc/distutils/apiref.rst:1481 msgid "" @@ -2015,6 +2622,13 @@ msgid "" "const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if " "*plat_specific* is true." msgstr "" +"Renvoie le répertoire pour les fichiers d'inclusion C standards ou " +"dépendants de la plate-forme. Si *plat_specific* est vrai, le répertoire " +"*include* dépendant de la plate-forme est renvoyé ; si la valeur est *faux* " +"ou *None*, le répertoire indépendant de la plate-forme est renvoyé. Si " +"*prefix* est donné, il est utilisé soit comme préfixe au lieu de :const:" +"`PREFIX`, soit comme préfixe d'exécution au lieu de :const:`EXEC_PREFIX` si " +"*plat_specific* est vrai." #: ../Doc/distutils/apiref.rst:1491 msgid "" @@ -2027,18 +2641,31 @@ msgid "" "directory for the standard library is returned rather than the directory for " "the installation of third-party extensions." msgstr "" +"Renvoie le répertoire pour l'installation de la bibliothèque standard ou " +"dépendante de la plate-forme. Si *plat_specific* est vrai, le répertoire " +"*include* dépendant de la plate-forme est renvoyé ; si la valeur est *faux* " +"ou *None*, le répertoire indépendant de la plate-forme est renvoyé. Si " +"*prefix* est donné, il est utilisé soit comme préfixe au lieu de :const:" +"`PREFIX`, soit comme préfixe d'exécution au lieu de :const:`EXEC_PREFIX` si " +"*plat_specific* est vrai. Si *standard_lib* est vrai, le répertoire de la " +"bibliothèque standard est renvoyé plutôt que le répertoire d'installation " +"des extensions tierces." #: ../Doc/distutils/apiref.rst:1500 msgid "" "The following function is only intended for use within the :mod:`distutils` " "package." msgstr "" +"La fonction suivante est uniquement destinée à être utilisée dans le paquet :" +"mod:`distutils`." #: ../Doc/distutils/apiref.rst:1506 msgid "" "Do any platform-specific customization of a :class:`distutils.ccompiler." "CCompiler` instance." msgstr "" +"Exécute toute personnalisation spécifique à la plate-forme d'une instance :" +"class:`distutils.ccompiler.CCompiler`." #: ../Doc/distutils/apiref.rst:1509 msgid "" @@ -2048,12 +2675,21 @@ msgid "" "This information includes the selected compiler, compiler and linker " "options, and the extension used by the linker for shared objects." msgstr "" +"Cette fonction n'est nécessaire que sous Unix pour le moment, mais doit être " +"appelée de manière cohérente pour supporter la compatibilité ascendante. " +"Elle insère des informations qui varient d'une version à l'autre d'Unix et " +"qui sont stockées dans le fichier Python :file:`Makefile`. Ces informations " +"comprennent le compilateur, les options du compilateur et de l'éditeur de " +"liens sélectionnés, ainsi que l'extension utilisée par l'éditeur de liens " +"pour les objets partagés." #: ../Doc/distutils/apiref.rst:1515 msgid "" "This function is even more special-purpose, and should only be used from " "Python's own build procedures." msgstr "" +"Cette fonction est encore plus spéciale, et ne devrait être utilisée que " +"dans les procédures de compilation de Python." #: ../Doc/distutils/apiref.rst:1521 msgid "" @@ -2062,10 +2698,14 @@ msgid "" "for files, allowing them to be located in the build area rather than in an " "installed Python." msgstr "" +"Informe le module :mod:`distutils.sysconfig` qu'il est utilisé dans le cadre " +"du processus de compilation de Python. Cela change beaucoup d'emplacements " +"relatifs pour les fichiers, ce qui les place dans la zone de compilation " +"plutôt que dans un interpréteur Python installé." #: ../Doc/distutils/apiref.rst:1528 msgid ":mod:`distutils.text_file` --- The TextFile class" -msgstr "" +msgstr ":mod:`distutils.text_file` — La classe TextFile" #: ../Doc/distutils/apiref.rst:1534 msgid "" @@ -2073,6 +2713,9 @@ msgid "" "to text files that (optionally) takes care of stripping comments, ignoring " "blank lines, and joining lines with backslashes." msgstr "" +"Ce module fournit la classe :class:`TextFile`, qui donne une interface aux " +"fichiers texte qui s'occupe (optionnellement) de supprimer les commentaires, " +"d'ignorer les lignes vides et de joindre les lignes avec des antislash." #: ../Doc/distutils/apiref.rst:1541 msgid "" @@ -2083,6 +2726,14 @@ msgid "" "at end of line), strip leading and/or trailing whitespace. All of these are " "optional and independently controllable." msgstr "" +"Cette classe fournit un objet de type fichier qui se charge de tout ce que " +"vous voulez généralement faire lors du traitement d'un fichier texte ayant " +"une syntaxe ligne par ligne : Suppression des commentaires (tant que ``#`` " +"est votre caractère de commentaire), passer les lignes vides, joindre des " +"lignes adjacentes en échappant la nouvelle ligne (les lignes se terminant " +"par une antislash), supprime les espace blancs avant et après le texte etc. " +"Toutes ces fonctions sont optionnelles et peuvent être commandées " +"indépendamment." #: ../Doc/distutils/apiref.rst:1548 msgid "" @@ -2091,6 +2742,10 @@ msgid "" "question spans multiple physical lines. Also provides :meth:`unreadline` " "for implementing line-at-a-time lookahead." msgstr "" +"La classe fournit une méthode :meth:`warn` pour pouvoir générer des messages " +"d'avertissement qui renvoie le numéro de ligne physique, même si la ligne " +"logique en question couvre plusieurs lignes physiques. Fournit également :" +"meth:`unreadline` pour implémenter un système prospectif ligne par ligne." #: ../Doc/distutils/apiref.rst:1553 msgid "" @@ -2102,16 +2757,26 @@ msgid "" "messages. If *file* is not supplied, :class:`TextFile` creates its own " "using the :func:`open` built-in function." msgstr "" +"Les instances de :class:`TextFile` sont créées soit avec *filename*, soit " +"avec *file* ou bien les deux. :exc:`RuntimeError` est levé si les deux " +"valent ``None``. *filename* doit être une chaîne de caractères, et *file* un " +"objet fichier (ou quelque chose qui fournit les méthodes :meth:`readline` " +"et :meth:`close`). Il est recommandé de fournir au moins *filename*, afin " +"que :class:`TextFile` puisse l'inclure dans les messages d'avertissement. " +"Si *file* n'est pas fourni, :class:`TextFile` crée son propre fichier en " +"utilisant la fonction :func:`open`." #: ../Doc/distutils/apiref.rst:1561 msgid "" "The options are all boolean, and affect the values returned by :meth:" "`readline`" msgstr "" +"Les options sont toutes booléennes et affectent les valeurs renvoyées par :" +"meth:`readline`." #: ../Doc/distutils/apiref.rst:1566 msgid "option name" -msgstr "" +msgstr "Nom des options" #: ../Doc/distutils/apiref.rst:1566 msgid "default" @@ -2119,7 +2784,7 @@ msgstr "default" #: ../Doc/distutils/apiref.rst:1568 msgid "*strip_comments*" -msgstr "" +msgstr "*strip_comments*" #: ../Doc/distutils/apiref.rst:1568 msgid "" @@ -2134,11 +2799,12 @@ msgstr "*true*" #: ../Doc/distutils/apiref.rst:1574 msgid "*lstrip_ws*" -msgstr "" +msgstr "*lstrip_ws*" #: ../Doc/distutils/apiref.rst:1574 msgid "strip leading whitespace from each line before returning it" msgstr "" +"Efface les espaces blancs en début de chaque ligne avant de la renvoyer." #: ../Doc/distutils/apiref.rst:1574 ../Doc/distutils/apiref.rst:1592 #: ../Doc/distutils/apiref.rst:1603 @@ -2147,17 +2813,19 @@ msgstr "*false*" #: ../Doc/distutils/apiref.rst:1577 msgid "*rstrip_ws*" -msgstr "" +msgstr "*rstrip_ws*" #: ../Doc/distutils/apiref.rst:1577 msgid "" "strip trailing whitespace (including line terminator!) from each line before " "returning it." msgstr "" +"Efface les espaces blancs de fin de ligne (y compris le terminateur de " +"ligne !) de chaque ligne avant de la renvoyer." #: ../Doc/distutils/apiref.rst:1582 msgid "*skip_blanks*" -msgstr "" +msgstr "*skip_blanks*" #: ../Doc/distutils/apiref.rst:1582 msgid "" @@ -2166,10 +2834,14 @@ msgid "" "solely whitespace: these will \\*not\\* be skipped, even if *skip_blanks* is " "true.)" msgstr "" +"Ignore les lignes qui sont vides \\*après\\* la suppression des commentaires " +"et des espaces. (Si *lstrip_ws* et *rstrip_ws* sont tous les deux faux, " +"alors certaines lignes peuvent être composées uniquement d'espaces : elles " +"ne seront pas ignorées, même si *skip_blanks* est vrai." #: ../Doc/distutils/apiref.rst:1592 msgid "*join_lines*" -msgstr "" +msgstr "*join_lines*" #: ../Doc/distutils/apiref.rst:1592 msgid "" @@ -2178,16 +2850,23 @@ msgid "" "line; if N consecutive lines end with a backslash, then N+1 physical lines " "will be joined to form one logical line." msgstr "" +"Si sur la ligne, une antislash est le dernier caractère et que ce caractère " +"n'est pas le caractère de nouvelle ligne. Joint la ligne suivante pour " +"former une ligne logique. Si N lignes consécutives se terminent par une " +"antislash, alors N+1 lignes physiques seront liées pour former une seul " +"ligne logique." #: ../Doc/distutils/apiref.rst:1603 msgid "*collapse_join*" -msgstr "" +msgstr "*collapse_join*" #: ../Doc/distutils/apiref.rst:1603 msgid "" "strip leading whitespace from lines that are joined to their predecessor; " "only matters if ``(join_lines and not lstrip_ws)``" msgstr "" +"Supprime les espaces blancs des lignes qui sont jointes à leur prédécesseur. " +"n'est utile que que si ``(join_lines and not lstrip_ws)``." #: ../Doc/distutils/apiref.rst:1610 msgid "" @@ -2197,18 +2876,28 @@ msgid "" "for end-of-file: an empty string might just be a blank line (or an all-" "whitespace line), if *rstrip_ws* is true but *skip_blanks* is not." msgstr "" +"Notez que puisque *rstrip_ws* peut effacer la fin de la ligne, la sémantique " +"de :meth:`readline` doit être différente de celle de la méthode standard :" +"meth:`readline` des objets fichier ! En particulier, :meth:`readline` " +"renvoie ``None`` pour indiquer la fin du fichier: une chaîne vide peut être " +"juste une ligne blanche (ou une ligne entièrement blanche), si *rstrip_ws* " +"est vrai mais pas si *skip_blanks* est faux." #: ../Doc/distutils/apiref.rst:1619 msgid "" "Open a new file *filename*. This overrides any *file* or *filename* " "constructor arguments." msgstr "" +"Ouvre un nouveau fichier *filename*. Remplace tous les arguments du " +"constructeur *file* ou *filename*." #: ../Doc/distutils/apiref.rst:1625 msgid "" "Close the current file and forget everything we know about it (including the " "filename and the current line number)." msgstr "" +"Ferme le fichier courant et oublie toutes les informations connues à son " +"sujet (y compris le nom du fichier et le numéro de la ligne courante)." #: ../Doc/distutils/apiref.rst:1631 msgid "" @@ -2219,6 +2908,13 @@ msgid "" "may be a list or tuple to indicate a range of physical lines, or an integer " "for a single physical line." msgstr "" +"Affiche (vers *stderr*) un message d'avertissement lié à la ligne logique " +"courante dans le fichier courant. Si la ligne logique courante dans le " +"fichier s'étend sur plusieurs lignes physiques, l'avertissement se réfère à " +"une plage de lignes physiques, telles que ``\"lignes 3-5\"``. Si *line* est " +"fourni, il remplace le numéro de la ligne courante ; il peut s'agir d'une " +"liste ou d'un couple pour indiquer une plage de lignes physiques, ou d'un " +"entier pour une seule ligne physique." #: ../Doc/distutils/apiref.rst:1641 msgid "" @@ -2231,12 +2927,24 @@ msgid "" "end-of-file, since the empty string can occur if *rstrip_ws* is true but " "*strip_blanks* is not." msgstr "" +"Lit et renvoie une seule ligne logique à partir du fichier courant (ou à " +"partir d'un tampon interne si les lignes ont déjà été marqué comme non lue " +"avec :meth:`unreadline`). Si l'option *join_lines* est vraie, cela peut " +"impliquer la lecture de plusieurs lignes physiques concaténées en une seule " +"chaîne. Met à jour le numéro de la ligne courante. Appeler :meth:`warn` " +"après :meth:`readline` émet donc un avertissement sur la ou les lignes " +"physiques qui viennent d'être lues. Renvoie ``None`` à la fin du fichier, " +"puisque la chaîne vide peut se produire si *rstrip_ws* est vrai mais pas si " +"*strip_blanks* est faux." #: ../Doc/distutils/apiref.rst:1652 msgid "" "Read and return the list of all logical lines remaining in the current file. " "This updates the current line number to the last line of the file." msgstr "" +"Lit et renvoie la liste de toutes les lignes logiques restant dans le " +"fichier courant. Met à jour le numéro de la ligne courante à la dernière " +"ligne du fichier." #: ../Doc/distutils/apiref.rst:1658 msgid "" @@ -2248,18 +2956,28 @@ msgid "" "meth:`unreadline` before a call to :meth:`readline`, the lines will be " "returned most in most recent first order." msgstr "" +"Insère la ligne *line* (une chaîne de caractères) dans un tampon interne qui " +"sera vérifié par les futurs appels de :meth:`readline`. Utile pour " +"implémenter un analyseur prospectif ligne par ligne. Notez que les lignes " +"qui sont \"non lues\" avec :meth:`unreadline` ne sont ensuite pas traitées " +"de nouveau (espace blancs, ou autre) quand elles sont lues avec :meth:" +"`readline`. Si plusieurs appels sont faits à :meth:`unreadline` avant un " +"appel à :meth:`readline`, les lignes sont renvoyées dans l'ordre de la plus " +"récente première à la plus ancienne." #: ../Doc/distutils/apiref.rst:1667 msgid ":mod:`distutils.version` --- Version number classes" -msgstr "" +msgstr ":mod:`distutils.version` — Classes de numéros de version" #: ../Doc/distutils/apiref.rst:1682 msgid ":mod:`distutils.cmd` --- Abstract base class for Distutils commands" msgstr "" +":mod:`distutils.cmd` --- Classe de base abstraite pour les commandes " +"*Distutils*" #: ../Doc/distutils/apiref.rst:1689 msgid "This module supplies the abstract base class :class:`Command`." -msgstr "" +msgstr "Ce module fournit la classe de base abstraite :class:`Command`." #: ../Doc/distutils/apiref.rst:1694 msgid "" @@ -2276,6 +2994,19 @@ msgid "" "options, is the :meth:`run` method, which must also be implemented by every " "command class." msgstr "" +"Classe de base abstraite pour définir les classes de commandes, les " +"\"ouvrières\" de *Distutils*. Une analogie utile pour les classes de " +"commandes est de les considérer comme des sous-routines avec des variables " +"locales appelées *options*. Les options sont déclarées dans :meth:" +"`initialiser_options` et définies (compte tenu de leur valeur finale) dans :" +"meth:`finalize_options`, qui doivent être définies pour chaque classe de " +"commande. La distinction entre les deux est nécessaire parce que les " +"valeurs des options peuvent venir de l'extérieur (ligne de commande, fichier " +"de configuration, ....), et toutes les options dépendantes d'autres options " +"doivent être calculées après que ces options externes aient été traitées --- " +"ce qui explique :meth:`finalize_options`. Le corps de la sous-routine, où " +"s'effectue tout le travail est basé sur les valeurs de ses options, est la " +"méthode :meth:`run`, qui doit être implémentée par chaque classe de commande." #: ../Doc/distutils/apiref.rst:1707 msgid "" @@ -2287,11 +3018,12 @@ msgstr "" #: ../Doc/distutils/apiref.rst:1712 msgid "Creating a new Distutils command" -msgstr "" +msgstr "Créer une nouvelle commande *Distutils*" #: ../Doc/distutils/apiref.rst:1714 msgid "This section outlines the steps to create a new Distutils command." msgstr "" +"Cette section décrit les étapes pour créer une nouvelle commande *Distutils*." #: ../Doc/distutils/apiref.rst:1716 msgid "" @@ -2305,10 +3037,22 @@ msgid "" "command/peel_banana.py`, then edit it so that it's implementing the class :" "class:`peel_banana`, a subclass of :class:`distutils.cmd.Command`." msgstr "" +"Une nouvelle commande doit résider dans un module du package :mod:`distutils." +"command`. Il existe un exemple de modèle dans ce répertoire nommé :file:" +"`command_template`. Copiez ce fichier dans un nouveau module portant le même " +"nom que la nouvelle commande que vous implémentez. Ce module doit " +"implémenter une classe portant le même nom que le module (et la commande). " +"Par exemple, pour créer la commande ``peel_banana`` (afin que les " +"utilisateurs puissent exécuter ``setup.py peel_banana``), vous devez copier " +"le fichier :file:`commande_template` dans :file:`distutils/command/" +"peel_banana.py`, puis l'éditer pour qu'il implémente la classe :class:" +"`peel_banana`, une sous-classe de la classe :class:`distutils.cmd.Command`." #: ../Doc/distutils/apiref.rst:1726 msgid "Subclasses of :class:`Command` must define the following methods." msgstr "" +"Les sous-classes de la classe :class:`Command` doivent définir les méthodes " +"suivantes." #: ../Doc/distutils/apiref.rst:1730 msgid "" @@ -2319,6 +3063,13 @@ msgid "" "`initialize_options` implementations are just a bunch of ``self.foo = None`` " "assignments." msgstr "" +"Définit des valeurs par défaut pour toutes les options que cette commande " +"gère. Notez que ces valeurs par défaut peuvent être remplacées par d'autres " +"commandes, par le script d'installation, par des fichiers de configuration " +"ou par la ligne de commande. Ce n'est donc pas l'endroit idéal pour " +"introduire des dépendances entre les options. En règle générale, les " +"méthodes suivantes :meth:`initialize_options` ne font que des assignations " +"de type ``self.truc = None``." #: ../Doc/distutils/apiref.rst:1739 msgid "" @@ -2329,6 +3080,14 @@ msgid "" "safe to set *foo* from *bar* as long as *foo* still has the same value it " "was assigned in :meth:`initialize_options`." msgstr "" +"Définit les valeurs finales pour toutes les options que cette commande gère. " +"Cette méthode doit toujours être appelée le plus tard possible, c'est-à-dire " +"après que toutes les affectations des options de la ligne de commande ou que " +"d'autres commandes ont été faites. C'est donc l'endroit idéal pour " +"introduire des dépendances d'options : si *truc* dépend de *machin*, alors " +"il est sûr de mettre *truc* de *machin* aussi longtemps que *truc* a " +"toujours la même valeur qui lui a été attribué par :meth:" +"`initialize_options`." #: ../Doc/distutils/apiref.rst:1749 msgid "" @@ -2338,6 +3097,12 @@ msgid "" "files, and finalized in :meth:`finalize_options`. All terminal output and " "filesystem interaction should be done by :meth:`run`." msgstr "" +"La raison d'être d'une commande : exécuter l'action programmée en étant " +"contrôlée par les options initialisées dans :meth:`initialize_options`, " +"personnalisées par d'autres commandes, par le script de configuration, par " +"la ligne de commande et les fichiers de configuration, puis finalisée dans :" +"meth:`finalize_options`. Toutes les interactions avec le système de fichiers " +"et la sortie du terminal doivent être effectuées par :meth:`run`." #: ../Doc/distutils/apiref.rst:1758 msgid "" @@ -2352,6 +3117,16 @@ msgid "" "have any C header files to install.) If *predicate* is ``None``, that " "command is always applicable." msgstr "" +"*sub_commands* formalise la notion de \"famille\" de commandes, par exemple. " +"``install`` est le parent des sous-commandes ``install_lib``, " +"``install_headers``, etc. Le parent d'une famille de commandes définit " +"*sub_commands* en tant qu'attribut de classe ; c'est une liste de couples " +"``(command_name, predicate)``, avec *command_name* le nom de la commande et " +"*predicate* une fonction, une chaîne ou ``None``. *predicate* est une " +"méthode de la commande parent qui détermine si la commande correspondante " +"est applicable dans la situation actuelle. Par exemple : ``install_headers`` " +"n'est applicable que s'il existe des fichiers d'en-tête C à installer. Si " +"*predicate* est ``None``, cette commande est toujours effectuée." #: ../Doc/distutils/apiref.rst:1769 msgid "" @@ -2359,33 +3134,41 @@ msgid "" "predicates can be methods of the class, so they must already have been " "defined. The canonical example is the :command:`install` command." msgstr "" +"*sub_commands* est généralement défini à la *fin* d'une classe, car les " +"prédicats peuvent être des méthodes de la classe, ils doivent donc déjà " +"avoir été définis. L'exemple canonique est la commande :command:`install`." #: ../Doc/distutils/apiref.rst:1775 msgid ":mod:`distutils.command` --- Individual Distutils commands" -msgstr "" +msgstr ":mod:`distutils.command` — Commandes *Distutils* individuelles" #: ../Doc/distutils/apiref.rst:1786 msgid ":mod:`distutils.command.bdist` --- Build a binary installer" -msgstr "" +msgstr ":mod:`distutils.command.bdist` — Construit un installateur binaire" #: ../Doc/distutils/apiref.rst:1796 msgid "" ":mod:`distutils.command.bdist_packager` --- Abstract base class for packagers" msgstr "" +":mod:`distutils.command.bdist_packager` --- Classe de base abstraite pour " +"empaqueteurs" #: ../Doc/distutils/apiref.rst:1806 msgid ":mod:`distutils.command.bdist_dumb` --- Build a \"dumb\" installer" msgstr "" +":mod:`distutils.command.bdist_dumb` --- Construit un installateur passif " +"(*dumb*)" #: ../Doc/distutils/apiref.rst:1816 msgid "" ":mod:`distutils.command.bdist_msi` --- Build a Microsoft Installer binary " "package" msgstr "" +":mod:`distutils.command.bdist_msi` --- Construit un installateur Microsoft" #: ../Doc/distutils/apiref.rst:1823 msgid "Builds a `Windows Installer`_ (.msi) binary package." -msgstr "" +msgstr "Construit un installateur `Windows Installeur`_ (*.msi*)" #: ../Doc/distutils/apiref.rst:1827 msgid "" @@ -2394,39 +3177,53 @@ msgid "" "platforms, allows administrators to perform non-interactive installations, " "and allows installation through group policies." msgstr "" +"Dans la plupart des cas, l'installateur ``bdist_msi`` est un meilleur choix " +"que l'installateur ``bdist_wininst``, car il gère mieux les plates-formes " +"*Win64*, et permet en plus aux administrateurs d'effectuer des installations " +"non interactives ainsi que des installations via des stratégies de groupe." #: ../Doc/distutils/apiref.rst:1834 msgid "" ":mod:`distutils.command.bdist_rpm` --- Build a binary distribution as a " "Redhat RPM and SRPM" msgstr "" +":mod:`distutils.command.bdist_rpm` --- Construit une distribution binaire au " +"format Redhat RPM et SRPM" #: ../Doc/distutils/apiref.rst:1844 msgid ":mod:`distutils.command.bdist_wininst` --- Build a Windows installer" msgstr "" +":mod:`distutils.command.bdist_wininst` --- Construit un installateur Windows" #: ../Doc/distutils/apiref.rst:1854 msgid ":mod:`distutils.command.sdist` --- Build a source distribution" -msgstr "" +msgstr ":mod:`distutils.command.sdist` — Construit une distribution source" #: ../Doc/distutils/apiref.rst:1864 msgid ":mod:`distutils.command.build` --- Build all files of a package" msgstr "" +":mod:`distutils.command.build` --- Construit tous les fichiers d'un paquet" #: ../Doc/distutils/apiref.rst:1874 msgid "" ":mod:`distutils.command.build_clib` --- Build any C libraries in a package" msgstr "" +":mod:`distutils.command.build_clib` --- Construit toutes les bibliothèques C " +"d'un paquet" #: ../Doc/distutils/apiref.rst:1884 msgid "" ":mod:`distutils.command.build_ext` --- Build any extensions in a package" msgstr "" +":mod:`distutils.command.build_ext` --- Construit toutes les extensions d'un " +"paquet" #: ../Doc/distutils/apiref.rst:1894 msgid "" ":mod:`distutils.command.build_py` --- Build the .py/.pyc files of a package" msgstr "" +":mod:`distutils.command.build_py` --- Construit les fichiers *.py/.pyc* d'un " +"paquet" #: ../Doc/distutils/apiref.rst:1904 msgid "" @@ -2435,23 +3232,30 @@ msgid "" "setup.py file for a distribution that is designed to run with both Python 2." "x and 3.x, add::" msgstr "" +"Implémentation alternative de *build_py* qui exécute également la " +"bibliothèque de conversion *2to3* sur chaque fichier *.py* qui va être " +"installé. Pour l'utiliser dans un fichier *setup.py* pour une distribution " +"conçue pour fonctionner avec *Python 2.x* et *3.x*, ajouter : ::" #: ../Doc/distutils/apiref.rst:1914 msgid "to your setup.py, and later::" -msgstr "" +msgstr "à votre *setup.py* et, plus tard : ::" #: ../Doc/distutils/apiref.rst:1918 msgid "to the invocation of setup()." -msgstr "" +msgstr "à l'appel de *setup()*." #: ../Doc/distutils/apiref.rst:1922 msgid "" ":mod:`distutils.command.build_scripts` --- Build the scripts of a package" msgstr "" +":mod:`distutils.command.build_scripts` --- Construit les scripts d'un paquet" #: ../Doc/distutils/apiref.rst:1932 msgid ":mod:`distutils.command.clean` --- Clean a package build area" msgstr "" +":mod:`distutils.command.clean` --- Nettoie un dossier de compilation d'un " +"paquet" #: ../Doc/distutils/apiref.rst:1937 msgid "" @@ -2459,58 +3263,79 @@ msgid "" "subcommands, like intermediary compiled object files. With the ``--all`` " "option, the complete build directory will be removed." msgstr "" +"Cette commande supprime les fichiers temporaires créés par la commande :" +"command:`build` et ses sous-commandes, comme les fichiers objets compilés " +"intermédiaires. Avec l'option ``--all``, le répertoire de compilation sera " +"supprimé." #: ../Doc/distutils/apiref.rst:1941 msgid "" "Extension modules built :ref:`in place ` will " "not be cleaned, as they are not in the build directory." msgstr "" +"Les modules d'extension construits :ref:`sur place ` ne seront pas effacés, car ils ne sont pas dans le répertoire " +"*build*." #: ../Doc/distutils/apiref.rst:1946 msgid ":mod:`distutils.command.config` --- Perform package configuration" msgstr "" +":mod:`distutils.command.config` --- Effectue la configuration d'un paquet" #: ../Doc/distutils/apiref.rst:1956 msgid ":mod:`distutils.command.install` --- Install a package" -msgstr "" +msgstr ":mod:`distutils.command.install` — Installe un paquet" #: ../Doc/distutils/apiref.rst:1966 msgid "" ":mod:`distutils.command.install_data` --- Install data files from a package" msgstr "" +":mod:`distutils.command.install_data` --- Installe les fichiers de données " +"d'un paquet" #: ../Doc/distutils/apiref.rst:1976 msgid "" ":mod:`distutils.command.install_headers` --- Install C/C++ header files from " "a package" msgstr "" +":mod:`distutils.command.install_headers` --- Installe les fichiers d'en-tête " +"C/C++ d'un paquet" #: ../Doc/distutils/apiref.rst:1986 msgid "" ":mod:`distutils.command.install_lib` --- Install library files from a package" msgstr "" +":mod:`distutils.command.install_lib` --- Installe les fichiers de " +"bibliothèque à partir d'un paquet" #: ../Doc/distutils/apiref.rst:1996 msgid "" ":mod:`distutils.command.install_scripts` --- Install script files from a " "package" msgstr "" +":mod:`distutils.command.install_scripts` --- Installe les fichiers de script " +"d'un paquet" #: ../Doc/distutils/apiref.rst:2006 msgid "" ":mod:`distutils.command.register` --- Register a module with the Python " "Package Index" msgstr "" +":mod:`distutils.command.register` --- Enregistre un module dans l'Index des " +"paquets Python (*Python Package Index* ou *PyPI* en anglais)" #: ../Doc/distutils/apiref.rst:2012 msgid "" "The ``register`` command registers the package with the Python Package " "Index. This is described in more detail in :pep:`301`." msgstr "" +"La commande ``register`` enregistre le paquet dans l'index des paquets " +"Python. Plus de détails à ce sujet dans la :pep:`301`." #: ../Doc/distutils/apiref.rst:2019 msgid ":mod:`distutils.command.check` --- Check the meta-data of a package" msgstr "" +":mod:`distutils.command.check` --- Vérifie les méta-données d'un paquet" #: ../Doc/distutils/apiref.rst:2025 msgid "" @@ -2518,3 +3343,6 @@ msgid "" "example, it verifies that all required meta-data are provided as the " "arguments passed to the :func:`setup` function." msgstr "" +"La commande ``check`` effectue des tests sur les méta-données d'un paquet. " +"Par exemple, elle vérifie que toutes les méta-données requises sont fournies " +"lorsque les arguments sont passés à la fonction :func:`setup`." diff --git a/distutils/extending.po b/distutils/extending.po index 4cadbc6c..d97859bc 100644 --- a/distutils/extending.po +++ b/distutils/extending.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/distutils/extending.rst:5 msgid "Extending Distutils" -msgstr "" +msgstr "Extension de Distutils" #: ../Doc/distutils/extending.rst:7 msgid "" @@ -28,6 +28,11 @@ msgid "" "while replacements for existing commands may be made to modify details of " "how the command operates on a package." msgstr "" +"*Distutils* peut être étendu de multiples façons. La plupart des extensions " +"sont soit des nouvelles commandes soit des remplacements de commandes " +"existantes. De nouvelles commandes pourraient par exemple servir à " +"l'empaquetage pour des plateformes spécifiques tandis que des remplacements " +"peuvent modifier certains aspects des commandes existantes." #: ../Doc/distutils/extending.rst:13 msgid "" @@ -36,6 +41,9 @@ msgid "" "that should be copied into packages in addition to :file:`.py` files as a " "convenience." msgstr "" +"La plupart des extensions de *distutils* sont faites dans le script :file:" +"`setup.py`. La plupart ajoutent simplement quelques extensions de fichiers " +"qui devraient être copiés dans le paquet en plus des fichiers :file:`.py`." #: ../Doc/distutils/extending.rst:18 msgid "" @@ -45,10 +53,16 @@ msgid "" "indirectly, directly subclassing the command they are replacing. Commands " "are required to derive from :class:`Command`." msgstr "" +"La plupart des implémentations des commandes *distutils* sont des sous-" +"classes de :class:`distutils.cmd.Command`. Les nouvelles commandes peuvent " +"hériter directement de :class:`Command`, alors que les remplacements " +"dérivent souvent de :class:`Command` indirectement, directement sous-" +"classant la commande qu'ils remplacent. Les commandes doivent dériver de la " +"classe :class:`Command`." #: ../Doc/distutils/extending.rst:33 msgid "Integrating new commands" -msgstr "" +msgstr "Intégrer de nouvelles commandes" #: ../Doc/distutils/extending.rst:35 msgid "" @@ -57,6 +71,11 @@ msgid "" "features in distutils itself, and wait for (and require) a version of Python " "that provides that support. This is really hard for many reasons." msgstr "" +"Il y a différentes façons d’intégrer de nouvelles implémentations de " +"commandes dans *distutils*. La plus difficile est de faire pression pour " +"inclure une nouvelle fonctionnalité dans *distutils* même, et d’attendre (et " +"demander) une version de Python l'implémentant. C'est très difficile pour " +"beaucoup de raisons." #: ../Doc/distutils/extending.rst:40 msgid "" @@ -64,6 +83,10 @@ msgid "" "include the new implementations with your :file:`setup.py` script, and cause " "the :func:`distutils.core.setup` function use them::" msgstr "" +"La plus commune, et possiblement la plus raisonnable pour la plupart des " +"cas, est d'inclure les nouvelles implémentations dans votre fichier :file:" +"`setup.py`, et de faire en sorte que la fonction :func:`distutils.core." +"setup` les utilise ::" #: ../Doc/distutils/extending.rst:55 msgid "" @@ -71,6 +94,10 @@ msgid "" "use a particular package, as everyone interested in the package will need to " "have the new command implementation." msgstr "" +"Cette approche est la plus valable si les nouvelles implémentations doivent " +"être utilisées pour utiliser un paquet particulier, vu que toutes les " +"personnes intéressées par le paquet devront avoir ces nouvelles " +"implémentations de commandes." #: ../Doc/distutils/extending.rst:59 msgid "" @@ -104,10 +131,23 @@ msgid "" "could be implemented by the class :class:`distcmds.bdist_openpkg." "bdist_openpkg` or :class:`buildcmds.bdist_openpkg.bdist_openpkg`." msgstr "" +"Cette nouvelle option peut être utilisée pour ajouter n'importe quel nombre " +"de paquet à la liste des paquets recherchés pour les implémentations de " +"commandes ; plusieurs noms de paquets doivent être séparés par des virgules. " +"Quand non spécifié, la recherche est seulement faite dans le paquet :mod:" +"`distutils.command`. Cependant, lorsque :file:`setup.py` est lancé avec " +"l'option ``--command-packages distcmds,buildcmds``, les paquets :mod:" +"`distutils.command`, :mod:`distcmds`, et :mod:`buildcmds` seront cherchés " +"dans cet ordre. Il est attendu des nouvelles commandes d’être implémentées " +"en modules du même nom que la commande en utilisant des classes partageant " +"le même nom. Comme dans l'exemple shell donné ci-dessus, la commande :" +"command:`bdist_openpkg` pourrait être implémentée avec la classe :class:" +"`distcmds.bdist_openpkg.bdist_openpkg` ou :class:`buildcmds.bdist_openpkg." +"bdist_openpkg`." #: ../Doc/distutils/extending.rst:88 msgid "Adding new distribution types" -msgstr "" +msgstr "Ajout de nouveaux types de distribution" #: ../Doc/distutils/extending.rst:90 msgid "" @@ -118,3 +158,9 @@ msgid "" "file itself. In dry-run mode, pairs should still be added to represent what " "would have been created." msgstr "" +"Les commandes qui créent des distributions (fichiers dans le dossier :file:" +"`dist/`) doivent ajouter la paire ``(command, filename)`` à ``self." +"distribution.dist_files`` pour que :command:`upload` puisse publier sur " +"PyPI. Le nom de fichier (*filename*) dans la paire ne contiens pas de " +"chemin, juste le nom du fichier lui-même. En mode *dry-run*, les paires " +"doivent toujours être ajoutées pour représenter ce qui aurait été créé." diff --git a/distutils/introduction.po b/distutils/introduction.po index 1ff3bf5b..782235f1 100644 --- a/distutils/introduction.po +++ b/distutils/introduction.po @@ -30,7 +30,7 @@ msgstr "" #: ../Doc/distutils/introduction.rst:16 msgid "Concepts & Terminology" -msgstr "" +msgstr "Concepts et Terminologie" #: ../Doc/distutils/introduction.rst:18 msgid "" diff --git a/faq/design.po b/faq/design.po index ddb75c27..9d7de974 100644 --- a/faq/design.po +++ b/faq/design.po @@ -1093,6 +1093,11 @@ msgid "" "by accident. It also invalidates an important invariant of dictionaries: " "every value in ``d.keys()`` is usable as a key of the dictionary." msgstr "" +"Autoriser les listes en tant que clés, mais indiquer à l'utilisateur de ne " +"pas les modifier. Cela permettrait un ensemble de bogues difficiles à suivre " +"dans les programmes lorsque vous avez oublié ou modifié une liste par " +"accident. Cela casse également un impératif important des dictionnaires : " +"chaque valeur de ``d.keys()`` est utilisable comme clé du dictionnaire." #: ../Doc/faq/design.rst:564 msgid "" @@ -1103,6 +1108,14 @@ msgid "" "read-only -- and again, self-referential objects could cause an infinite " "loop." msgstr "" +"Marquer les listes comme étant en lecture seule une fois qu'elles sont " +"utilisées comme clé de dictionnaire. Le problème est que ce n'est pas " +"seulement l'objet de niveau supérieur qui pourrait changer sa valeur; vous " +"pourriez utiliser un tuple contenant une liste comme clé. Utiliser " +"n'importe quoi comme une clé dans un dictionnaire nécessiterait de marquer " +"tous les objets accessibles à partir de là comme en lecture seule -- et " +"encore une fois, les objets se faisant référence pourraient provoquer une " +"boucle infinie." #: ../Doc/faq/design.rst:570 msgid "" @@ -1113,6 +1126,13 @@ msgid "" "dictionary (or other hash based structure), remain fixed while the object is " "in the dictionary (or other structure). ::" msgstr "" +"Il y a un truc pour contourner ceci si vous en avez besoin, mais utilisez-le " +"à vos risques et périls. Vous pouvez encapsuler une structure mutable à " +"l'intérieur d'une instance de classe qui a à la fois une méthode :meth:" +"`__eq__` et :meth:`__hash__`. Vous devez ensuite vous assurer que la valeur " +"de hachage pour tous ces objets *wrapper* qui résident dans un dictionnaire " +"(ou une autre structure basée sur le hachage), restent fixes pendant que " +"l'objet est dans le dictionnaire (ou une autre structure). ::" #: ../Doc/faq/design.rst:594 msgid "" @@ -1120,6 +1140,9 @@ msgid "" "members of the list may be unhashable and also by the possibility of " "arithmetic overflow." msgstr "" +"Notez que le calcul de hachage peut être compliqué car il est possible que " +"certains membres de la liste peuvent être impossible à hacher et aussi par " +"la possibilité de débordement arithmétique." #: ../Doc/faq/design.rst:598 msgid "" @@ -1129,6 +1152,11 @@ msgid "" "not. If you fail to meet these restrictions dictionaries and other hash " "based structures will misbehave." msgstr "" +"De plus, il faut toujours que, si ``o1 == o2`` (par exemple ``o1.__eq__(o2) " +"vaut True``) alors ``hash(o1) == hash(o2)`` (par exemple, ``o1.__hash__() == " +"o2.__hash__()``), que l’objet se trouve dans un dictionnaire ou pas. Si vous " +"ne remplissez pas ces conditions, les dictionnaires et autres structures " +"basées sur le hachage se comporteront mal." #: ../Doc/faq/design.rst:603 msgid "" @@ -1137,10 +1165,15 @@ msgid "" "you are prepared to think hard about the requirements and the consequences " "of not meeting them correctly. Consider yourself warned." msgstr "" +"Dans le cas de *ListWrapper*, chaque fois que l'objet *wrapper* est dans un " +"dictionnaire, la liste encapsulée ne doit pas changer pour éviter les " +"anomalies. Ne faites pas cela à moins que vous n’ayez pensé aux potentielles " +"conséquences de ne pas satisfaire entièrement ces conditions. Vous avez été " +"prévenus." #: ../Doc/faq/design.rst:610 msgid "Why doesn't list.sort() return the sorted list?" -msgstr "" +msgstr "Pourquoi ``list.sort()`` ne renvoie pas la liste triée ?" #: ../Doc/faq/design.rst:612 msgid "" @@ -1151,6 +1184,12 @@ msgid "" "when you need a sorted copy but also need to keep the unsorted version " "around." msgstr "" +"Dans les situations où la performance est importante, faire une copie de la " +"liste juste pour la trier serait un gaspillage. Par conséquent, :meth:`list." +"sort` trie la liste en place. Afin de vous le rappeler, il ne retourne pas " +"la liste triée. De cette façon, vous ne serez pas dupés en écrasant " +"accidentellement une liste lorsque vous avez besoin d’une copie triée, mais " +"vous devrez également garder sous la main la version non triée." #: ../Doc/faq/design.rst:618 msgid "" @@ -1159,10 +1198,16 @@ msgid "" "it and returns it. For example, here's how to iterate over the keys of a " "dictionary in sorted order::" msgstr "" +"Si vous souhaitez retourner une nouvelle liste, utilisez plutôt la fonction " +"native :func:`sorted`. Cette fonction crée une nouvelle liste à partir d’un " +"itérable fourni, la trie et la retourne. Par exemple, voici comment itérer " +"sur les clefs d’un dictionnaire dans l’ordre trié ::" #: ../Doc/faq/design.rst:628 msgid "How do you specify and enforce an interface spec in Python?" msgstr "" +"Comment spécifiez-vous et appliquez-vous une spécification d’interface en " +"Python ?" #: ../Doc/faq/design.rst:630 msgid "" @@ -1171,6 +1216,10 @@ msgid "" "module. Many feel that compile-time enforcement of interface specifications " "helps in the construction of large programs." msgstr "" +"Une spécification d'interface pour un module fourni par des langages tels " +"que C++ et Java décrit les prototypes pour les méthodes et les fonctions du " +"module. Beaucoup estiment que la vérification au moment de la compilation " +"des spécifications d'interface aide à la construction de grands programmes." #: ../Doc/faq/design.rst:635 msgid "" @@ -1181,6 +1230,13 @@ msgid "" "`~collections.abc.Iterable`, :class:`~collections.abc.Container`, and :class:" "`~collections.abc.MutableMapping`." msgstr "" +"Python 2.6 ajoute un module :mod:`abc` qui vous permet de définir des " +"classes de base abstraites (ABCs). Vous pouvez ensuite utiliser :func:" +"`isinstance` et :func:`issubclass` pour vérifier si une instance ou une " +"classe implémente une ABC particulière. Le module :mod:`collections.abc` " +"définit un ensemble d'ABCs utiles telles que :class:`~collections.abc." +"Iterable`, :class:`~collections.abc.Container` et :class:`collections.abc." +"MutableMapping`." #: ../Doc/faq/design.rst:642 msgid "" @@ -1188,6 +1244,10 @@ msgid "" "obtained by an appropriate test discipline for components. There is also a " "tool, PyChecker, which can be used to find problems due to subclassing." msgstr "" +"Pour Python, la plupart des avantages des spécifications d'interface peuvent " +"être obtenus par une discipline de test appropriée pour les composants. Il " +"existe aussi un outil, PyChecker, qui peut être utilisé pour trouver des " +"problèmes d'héritage." #: ../Doc/faq/design.rst:646 msgid "" @@ -1200,6 +1260,15 @@ msgid "" "be used to construct exhaustive test suites that exercise every line of code " "in a module." msgstr "" +"Une bonne suite de tests pour un module peut à la fois fournir un test de " +"non régression et servir de spécification d'interface de module ainsi qu'un " +"ensemble d'exemples. De nombreux modules Python peuvent être exécutés en " +"tant que script pour fournir un simple « auto-test ». Même les modules qui " +"utilisent des interfaces externes complexes peuvent souvent être testés " +"isolément à l'aide d'émulations triviales embryonnaires de l'interface " +"externe. Les modules :mod:`doctest` et :mod:`UnitTest` ou des frameworks de " +"test tiers peuvent être utilisés pour construire des suites de tests " +"exhaustives qui éprouvent chaque ligne de code dans un module." #: ../Doc/faq/design.rst:654 msgid "" @@ -1211,6 +1280,15 @@ msgid "" "test that your :meth:`append` implementation will actually do this " "correctly, but it's trivial to check this property in a test suite." msgstr "" +"Une discipline de test appropriée peut aider à construire des applications " +"complexes de grande taille en Python aussi bien que le feraient des " +"spécifications d'interface. En fait, c'est peut être même mieux parce qu'une " +"spécification d'interface ne peut pas tester certaines propriétés d'un " +"programme. Par exemple, la méthode :meth:`Append` est censée ajouter de " +"nouveaux éléments à la fin d'une liste « sur place » ; une spécification " +"d'interface ne peut pas tester que votre implémentation de :meth:`append` va " +"réellement le faire correctement, mais il est trivial de vérifier cette " +"propriété dans une suite de tests." #: ../Doc/faq/design.rst:662 msgid "" @@ -1220,6 +1298,12 @@ msgid "" "before you write any of the actual code. Of course Python allows you to be " "sloppy and not write test cases at all." msgstr "" +"L'écriture des suites de tests est très utile, et vous voudrez peut-être " +"concevoir votre code de manière à le rendre facilement testable. Une " +"technique de plus en plus populaire, le développement dirigé par les tests, " +"requiert d'écrire d'abord des éléments de la suite de tests, avant d'écrire " +"le code réel. Bien sûr, Python vous permet d'être laxiste et de ne pas " +"écrire de test du tout." #: ../Doc/faq/design.rst:670 msgid "Why is there no goto?" @@ -1250,6 +1334,8 @@ msgstr "" #: ../Doc/faq/design.rst:692 msgid "Why can't raw strings (r-strings) end with a backslash?" msgstr "" +"Pourquoi les chaînes de caractères brutes (r-strings) ne peuvent-elles pas " +"se terminer par un *backslash* ?" #: ../Doc/faq/design.rst:694 msgid "" @@ -1257,6 +1343,9 @@ msgid "" "unpaired backslash at the end escapes the closing quote character, leaving " "an unterminated string." msgstr "" +"Plus précisément, elles ne peuvent pas se terminer par un nombre impair de " +"*backslashes* : le *backslash* non appairé à la fin échappe le caractère de " +"guillemet final, laissant une chaîne non terminée." #: ../Doc/faq/design.rst:698 msgid "" @@ -1267,17 +1356,30 @@ msgid "" "pass on the string quote character by escaping it with a backslash. These " "rules work well when r-strings are used for their intended purpose." msgstr "" +"Les chaînes brutes ont été conçues pour faciliter la création de données " +"pour les processeurs de texte (principalement les moteurs d'expressions " +"régulières) qui veulent faire leur propre traitement d'échappement " +"d'*antislashes*. Ces processeurs considèrent un *antislash* de fin non-" +"appairé comme une erreur, alors les chaînes brutes ne le permettent pas. En " +"retour, elles vous permettent de transmettre le caractère de citation de la " +"chaîne en l'échappant avec un *antislash*. Ces règles fonctionnent bien " +"lorsque les chaînes brutes sont utilisées pour leur but premier." #: ../Doc/faq/design.rst:705 msgid "" "If you're trying to build Windows pathnames, note that all Windows system " "calls accept forward slashes too::" msgstr "" +"Si vous essayez de construire des chemins d'accès Windows, notez que tous " +"les appels système Windows acceptent également les *slashes* \"classiques" +"\" ::" #: ../Doc/faq/design.rst:710 msgid "" "If you're trying to build a pathname for a DOS command, try e.g. one of ::" msgstr "" +"Si vous essayez de construire un chemin d'accès pour une commande DOS, " +"essayez par exemple l'un de ceux-là ::" #: ../Doc/faq/design.rst:718 msgid "Why doesn't Python have a \"with\" statement for attribute assignments?" @@ -1328,7 +1430,7 @@ msgstr "" #: ../Doc/faq/design.rst:741 msgid "For instance, take the following incomplete snippet::" -msgstr "" +msgstr "Prenons par exemple l'extrait incomplet suivant ::" #: ../Doc/faq/design.rst:747 msgid "" @@ -1338,6 +1440,11 @@ msgid "" "variable named \"x\", will it be used inside the with block? As you see, " "the dynamic nature of Python makes such choices much harder." msgstr "" +"L'extrait suppose que \"a\" doit avoir un attribut membre appelé \"x\". " +"Néanmoins, il n'y a rien en Python qui en informe l'interpréteur. Que se " +"passe-t-il si \"a\" est, disons, un entier ? Si une variable globale nommée " +"\"x\" existe, sera-t-elle utilisée dans le bloc ``with`` ? Comme vous " +"voyez, la nature dynamique du Python rend ces choix beaucoup plus difficiles." #: ../Doc/faq/design.rst:753 msgid "" @@ -1345,10 +1452,13 @@ msgid "" "code volume) can, however, easily be achieved in Python by assignment. " "Instead of::" msgstr "" +"L'avantage principal de ``with`` et des fonctionnalités de langage " +"similaires (réduction du volume de code) peut, cependant, être facilement " +"réalisé en Python par assignation. Au lieu de ::" #: ../Doc/faq/design.rst:760 msgid "write this::" -msgstr "" +msgstr "écrivez ceci ::" #: ../Doc/faq/design.rst:767 msgid "" @@ -1356,20 +1466,27 @@ msgid "" "bindings are resolved at run-time in Python, and the second version only " "needs to perform the resolution once." msgstr "" +"Cela a également pour effet secondaire d'augmenter la vitesse d'exécution " +"car les liaisons de noms sont résolues au moment de l'exécution en Python, " +"et la deuxième version n'a besoin d'exécuter la résolution qu'une seule fois." #: ../Doc/faq/design.rst:773 msgid "Why are colons required for the if/while/def/class statements?" msgstr "" +"Pourquoi les deux-points sont-ils nécessaires pour les déclarations ``if/" +"while/def/class`` ?" #: ../Doc/faq/design.rst:775 msgid "" "The colon is required primarily to enhance readability (one of the results " "of the experimental ABC language). Consider this::" msgstr "" +"Le deux-points est principalement nécessaires pour améliorer la lisibilité " +"(l'un des résultats du langage expérimental ABC). Considérez ceci ::" #: ../Doc/faq/design.rst:781 msgid "versus ::" -msgstr "" +msgstr "versus ::" #: ../Doc/faq/design.rst:786 msgid "" @@ -1377,6 +1494,9 @@ msgid "" "colon sets off the example in this FAQ answer; it's a standard usage in " "English." msgstr "" +"Remarquez comment le deuxième est un peu plus facile à lire. Remarquez " +"aussi comment un deux-points introduit l'exemple dans cette réponse à la " +"FAQ ; c'est un usage standard en anglais." #: ../Doc/faq/design.rst:789 msgid "" @@ -1385,16 +1505,23 @@ msgid "" "needs to be increased instead of having to do a more elaborate parsing of " "the program text." msgstr "" +"Une autre raison mineure est que les deux-points facilitent la tâche des " +"éditeurs avec coloration syntaxique ; ils peuvent rechercher les deux-points " +"pour décider quand l'indentation doit être augmentée au lieu d'avoir à faire " +"une analyse plus élaborée du texte du programme." #: ../Doc/faq/design.rst:795 msgid "Why does Python allow commas at the end of lists and tuples?" msgstr "" +"Pourquoi Python permet-il les virgules à la fin des listes et des tuples ?" #: ../Doc/faq/design.rst:797 msgid "" "Python lets you add a trailing comma at the end of lists, tuples, and " "dictionaries::" msgstr "" +"Python vous permet d'ajouter une virgule à la fin des listes, des tuples et " +"des dictionnaires ::" #: ../Doc/faq/design.rst:808 msgid "There are several reasons to allow this." @@ -1407,12 +1534,19 @@ msgid "" "remember to add a comma to the previous line. The lines can also be " "reordered without creating a syntax error." msgstr "" +"Lorsque vous avez une valeur littérale pour une liste, un tuple ou un " +"dictionnaire réparti sur plusieurs lignes, il est plus facile d'ajouter plus " +"d'éléments parce que vous n'avez pas besoin de vous rappeler d'ajouter une " +"virgule à la ligne précédente. Les lignes peuvent aussi être réorganisées " +"sans créer une erreur de syntaxe." #: ../Doc/faq/design.rst:815 msgid "" "Accidentally omitting the comma can lead to errors that are hard to " "diagnose. For example::" msgstr "" +"L'omission accidentelle de la virgule peut entraîner des erreurs difficiles " +"à diagnostiquer, par exemple ::" #: ../Doc/faq/design.rst:825 msgid "" @@ -1420,9 +1554,13 @@ msgid "" "\"fee\", \"fiefoo\" and \"fum\". Always adding the comma avoids this source " "of error." msgstr "" +"Cette liste a l'air d'avoir quatre éléments, mais elle en contient en fait " +"trois : \"*fee*\", \"*fiefoo*\" et \"*fum*\". Toujours ajouter la virgule " +"permet d'éviter cette source d'erreur." #: ../Doc/faq/design.rst:828 msgid "" "Allowing the trailing comma may also make programmatic code generation " "easier." msgstr "" +"Permettre la virgule de fin peut également faciliter la génération de code." diff --git a/faq/windows.po b/faq/windows.po index 9ffb217a..777ca06b 100644 --- a/faq/windows.po +++ b/faq/windows.po @@ -468,6 +468,8 @@ msgstr "" #: ../Doc/faq/windows.rst:309 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 ?" #: ../Doc/faq/windows.rst:311 msgid "" @@ -475,6 +477,10 @@ msgid "" "module. It defines a function ``kbhit()`` which checks whether a keyboard " "hit is present, and ``getch()`` which gets one character without echoing it." msgstr "" +"Utilisez le module ``msvcrt``. C'est une extension standard spécifique à " +"Windows, qui définit une fonction ``kbhit()`` qui vérifie si une pression de " +"touche s'est produite, et ``getch()`` qui récupère le caractère sans " +"l'afficher." #: ../Doc/faq/windows.rst:317 msgid "How do I emulate os.kill() in Windows?" diff --git a/howto/clinic.po b/howto/clinic.po index 3cfac09a..de0fbbdc 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -698,6 +698,9 @@ msgid "" "above it. You should write the opening (and closing) curly braces for the " "function, and the implementation inside." msgstr "" +"Argument Clinic génère une ligne de contrôle et la fonction prototype juste " +"au dessus. Vous devez écrire les accolades d'ouverture (et de fermeture) " +"pour la fonction, et l’implémentation à l'intérieur." #: ../Doc/howto/clinic.rst:511 msgid "" @@ -754,27 +757,31 @@ msgstr "" #: ../Doc/howto/clinic.rst:541 msgid "Advanced Topics" -msgstr "" +msgstr "Sujets avancés" #: ../Doc/howto/clinic.rst:543 msgid "" "Now that you've had some experience working with Argument Clinic, it's time " "for some advanced topics." msgstr "" +"Maintenant que vous avez un peu d'expérience avec Argument Clinic, c'est le " +"moment pour des sujets avancés." #: ../Doc/howto/clinic.rst:548 msgid "Symbolic default values" -msgstr "" +msgstr "Valeurs par défaut" #: ../Doc/howto/clinic.rst:550 msgid "" "The default value you provide for a parameter can't be any arbitrary " "expression. Currently the following are explicitly supported:" msgstr "" +"La valeur par défaut que vous fournissez pour un paramètre ne peut pas être " +"n'importe quelle expression. Actuellement, ce qui est géré :" #: ../Doc/howto/clinic.rst:553 msgid "Numeric constants (integer and float)" -msgstr "" +msgstr "Constantes numériques (entier ou nombre flottant)" #: ../Doc/howto/clinic.rst:554 msgid "String constants" @@ -782,25 +789,31 @@ msgstr "Chaînes constantes" #: ../Doc/howto/clinic.rst:555 msgid "``True``, ``False``, and ``None``" -msgstr "" +msgstr "``True``, ``False`` et ``None``" #: ../Doc/howto/clinic.rst:556 msgid "" "Simple symbolic constants like ``sys.maxsize``, which must start with the " "name of the module" msgstr "" +"Constantes symboliques simples comme ``sys.maxsize``, qui doivent commencer " +"par le nom du module" #: ../Doc/howto/clinic.rst:559 msgid "" "In case you're curious, this is implemented in ``from_builtin()`` in ``Lib/" "inspect.py``." msgstr "" +"Si par curiosité vous voulez lire l'implémentation, c'est ``from_builtin()`` " +"dans ``Lib/inspect.py``." #: ../Doc/howto/clinic.rst:562 msgid "" "(In the future, this may need to get even more elaborate, to allow full " "expressions like ``CONSTANT - 1``.)" msgstr "" +"(Dans le futur, il est possible que l'on ait besoin de l'améliorer, pour " +"autoriser les expressions complètes comme ``CONSTANT - 1``.)" #: ../Doc/howto/clinic.rst:567 msgid "Renaming the C functions and variables generated by Argument Clinic" @@ -823,12 +836,16 @@ msgid "" "For example, if we wanted to rename the C function names generated for " "``pickle.Pickler.dump``, it'd look like this::" msgstr "" +"Par exemple, si nous voulons renommer les noms de fonction C générés pour " +"``pickle.Pickler.dump``, ça ressemblerait à ça :" #: ../Doc/howto/clinic.rst:585 msgid "" "The base function would now be named ``pickler_dumper()``, and the impl " "function would now be named ``pickler_dumper_impl()``." msgstr "" +"La fonction de base sera maintenant nommée ``pickler_dumper()``, et la " +"fonction *impl* serait maintenant nommé ``pickler_dumper_impl()``." #: ../Doc/howto/clinic.rst:589 msgid "" @@ -837,6 +854,10 @@ msgid "" "Clinic allows you to give a parameter different names in Python and in C, " "using the same ``\"as\"`` syntax::" msgstr "" +"De même, vous pouvez avoir un problème quand vous souhaiterez donner à un " +"paramètre un nom spécifique à Python, mais ce nom peut être gênant en C. " +"Argument Clinic vous permet de donner à un paramètre des noms différents en " +"Python et en C." #: ../Doc/howto/clinic.rst:603 msgid "" @@ -846,11 +867,11 @@ msgstr "" #: ../Doc/howto/clinic.rst:606 msgid "You can use this to rename the ``self`` parameter too!" -msgstr "" +msgstr "Vous pouvez utiliser ceci pour renommer aussi le paramètre ``self``" #: ../Doc/howto/clinic.rst:610 msgid "Converting functions using PyArg_UnpackTuple" -msgstr "" +msgstr "Conversion des fonctions en utilisant *PyArg_UnpackTuple*" #: ../Doc/howto/clinic.rst:612 msgid "" @@ -866,10 +887,12 @@ msgid "" "Currently the generated code will use :c:func:`PyArg_ParseTuple`, but this " "will change soon." msgstr "" +"Actuellement, le code généré utilise :c:func:`PyArg_ParseTuple`, mais cela " +"va bientôt changer." #: ../Doc/howto/clinic.rst:622 msgid "Optional Groups" -msgstr "" +msgstr "Groupes optionnels" #: ../Doc/howto/clinic.rst:624 msgid "" @@ -948,6 +971,8 @@ msgid "" "If there are no required arguments, the optional groups will behave as if " "they're to the right of the required arguments." msgstr "" +"S'il n'y a pas d'arguments requis, les groupes optionnels se comportent " +"comme s'ils étaient à droite des arguments requis." #: ../Doc/howto/clinic.rst:705 msgid "" @@ -964,6 +989,8 @@ msgid "" "Optional groups are *only* intended for legacy code. Please do not use " "optional groups for new code." msgstr "" +"Les groupes optionnels sont *seulement* destinés au code hérité. Ne les " +"utilisez pas dans du nouveau code." #: ../Doc/howto/clinic.rst:715 msgid "Using real Argument Clinic converters, instead of \"legacy converters\"" diff --git a/howto/cporting.po b/howto/cporting.po index 54e11f3d..0ce1ffca 100644 --- a/howto/cporting.po +++ b/howto/cporting.po @@ -39,7 +39,7 @@ msgstr "" #: ../Doc/howto/cporting.rst:23 msgid "Conditional compilation" -msgstr "" +msgstr "Compilation conditionnelle" #: ../Doc/howto/cporting.rst:25 msgid "" diff --git a/howto/functional.po b/howto/functional.po index 92148b0f..39d9dd2a 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/howto/functional.rst:3 msgid "Functional Programming HOWTO" -msgstr "" +msgstr "Guide pratique : programmation fonctionnelle" #: ../Doc/howto/functional.rst:5 msgid "A. M. Kuchling" diff --git a/howto/ipaddress.po b/howto/ipaddress.po index 84441ccc..59fa9083 100644 --- a/howto/ipaddress.po +++ b/howto/ipaddress.po @@ -18,19 +18,19 @@ msgstr "" #: ../Doc/howto/ipaddress.rst:9 msgid "An introduction to the ipaddress module" -msgstr "" +msgstr "Introduction au module ``ipaddress``" #: ../Doc/howto/ipaddress.rst:11 msgid "Peter Moody" -msgstr "" +msgstr "Peter Moody" #: ../Doc/howto/ipaddress.rst:12 msgid "Nick Coghlan" -msgstr "" +msgstr "Nick Coghlan" #: ../Doc/howto/ipaddress.rst:0 msgid "Overview" -msgstr "" +msgstr "Aperçu" #: ../Doc/howto/ipaddress.rst:16 msgid "" @@ -40,10 +40,15 @@ msgid "" "an overview of how :mod:`ipaddress` represents IP network addressing " "concepts." msgstr "" +"Ce document vise à fournir une introduction rapide au module :mod:" +"`ipaddress`. Il est destiné aux utilisateurs qui ne sont pas familiers avec " +"la terminologie des réseaux IP, mais il peut aussi être utile aux ingénieurs " +"réseaux qui cherchent un aperçu de la représentation des concepts " +"d'adressage IP avec le module :mod:`ipaddress`." #: ../Doc/howto/ipaddress.rst:24 msgid "Creating Address/Network/Interface objects" -msgstr "" +msgstr "Créer un objet Adresse/Réseau/Interface" #: ../Doc/howto/ipaddress.rst:26 msgid "" @@ -51,10 +56,14 @@ msgid "" "addresses, the first thing you'll want to do is create some objects. You " "can use :mod:`ipaddress` to create objects from strings and integers." msgstr "" +"Vu que :mod:`ipaddress` est un module pour inspecter et manipuler des " +"adresses IP, la première chose que vous voudrez faire est de créer quelques " +"objets. Vous pouvez utiliser :mod:`ipaddress` pour créer des objets à partir " +"de chaînes de caractères et d'entiers." #: ../Doc/howto/ipaddress.rst:32 msgid "A Note on IP Versions" -msgstr "" +msgstr "Note sur les versions d'IP" #: ../Doc/howto/ipaddress.rst:34 msgid "" @@ -65,6 +74,13 @@ msgid "" "addresses to handle the needs of the whole world, especially given the " "increasing number of devices with direct connections to the internet." msgstr "" +"Pour les lecteurs qui ne sont pas particulièrement familiers avec " +"l'adressage IP il est important de savoir que le protocole IP est " +"actuellement en évolution de la version 4 du protocole vers la version 6. " +"Cette transition est largement due au fait que la version 4 du protocole ne " +"fournit pas assez d'adresses pour gérer les besoins du monde entier, " +"particulièrement à cause de la croissance des périphériques directement " +"connectés à Internet." #: ../Doc/howto/ipaddress.rst:41 msgid "" @@ -73,10 +89,14 @@ msgid "" "least be aware that these two versions exist, and it will sometimes be " "necessary to force the use of one version or the other." msgstr "" +"Expliquer les détails des différences entre les deux versions du protocole " +"est au-delà du périmètre de cette introduction, mais les lecteurs doivent au " +"moins être avertis de l'existence de ces deux versions et qu'il sera " +"nécessaire de forcer l'utilisation d'une version ou de l'autre." #: ../Doc/howto/ipaddress.rst:48 msgid "IP Host Addresses" -msgstr "" +msgstr "Adresses IP des hôtes" #: ../Doc/howto/ipaddress.rst:50 msgid "" @@ -86,12 +106,21 @@ msgid "" "determines whether to create an IPv4 or IPv6 address based on the passed in " "value:" msgstr "" +"Les adresses, souvent dénommées \"adresses hôtes\" sont les unités les plus " +"basiques quand on travaille avec l'adressage IP. Le moyen le plus simple de " +"créer des adresses est d'utiliser la fonction de fabrication :func:" +"`ipaddress.ip_address` qui va automatiquement déterminer quoi créer entre " +"une adresse IPv4 ou une adresse IPv6 en fonction de la valeur qui est " +"transmise :" #: ../Doc/howto/ipaddress.rst:61 msgid "" "Addresses can also be created directly from integers. Values that will fit " "within 32 bits are assumed to be IPv4 addresses::" msgstr "" +"Les adresses peuvent être créées directement depuis des entiers. Les valeurs " +"qui correspondent à des entiers 32 bits sont assimilées à des adresses " +"IPv4 ::" #: ../Doc/howto/ipaddress.rst:69 msgid "" @@ -99,10 +128,13 @@ msgid "" "invoked directly. This is particularly useful to force creation of IPv6 " "addresses for small integers::" msgstr "" +"Pour forcer l'utilisation d'IPv4 ou d'IPv6, la classe appropriée peut être " +"invoquée directement. C'est particulièrement utile pour forcer la création " +"d'adresse IPv6 pour de petits entiers ::" #: ../Doc/howto/ipaddress.rst:82 msgid "Defining Networks" -msgstr "" +msgstr "Définir des réseaux" #: ../Doc/howto/ipaddress.rst:84 msgid "" @@ -115,12 +147,23 @@ msgid "" "whether or not an address is part of the network and the network address " "defines the expected value of those bits." msgstr "" +"Les adresses hôtes sont souvent regroupées dans des réseaux IP, donc :mod:" +"`ipaddress` fournit un moyen de créer, d'inspecter et de manipuler les " +"définitions des réseaux. Les objets correspondants aux réseaux IP sont " +"construits à partir de chaînes de caractères qui définissent le périmètre " +"des adresses hôtes qui font partie de ce réseau. La forme la plus simple de " +"cette information est un couple \"adresse réseau/préfixe réseau\" , où le " +"préfixe définit le nombre de bits de tête qui sont comparés pour déterminer " +"si l'adresse fait ou ne fait pas partie de ce réseau et l'adresse réseau " +"définit la valeur attendue pour ces bits." #: ../Doc/howto/ipaddress.rst:93 msgid "" "As for addresses, a factory function is provided that determines the correct " "IP version automatically::" msgstr "" +"Tout comme pour les adresses, une fonction de fabrication est disponible et " +"détermine automatiquement la version correcte d'IP ::" #: ../Doc/howto/ipaddress.rst:101 msgid "" @@ -130,6 +173,12 @@ msgid "" "commonly used to describe network interfaces of a computer on a given " "network and are described further in the next section." msgstr "" +"Il est interdit pour des objets réseaux d'avoir des bits affectés à leurs " +"hôtes mis à 1. Ainsi la chaine de caractères ``192.0.2.1/24`` ne peut " +"définir un réseau. Ces objets réseaux sont aussi appelés objets d'interfaces " +"car la notation ``adresse ip / réseau`` est couramment utilisée pour décrire " +"les interfaces réseau d'un ordinateur sur un réseau donné (nous les " +"détaillons plus loin dans cette section)." #: ../Doc/howto/ipaddress.rst:107 msgid "" @@ -138,6 +187,10 @@ msgid "" "bits instead be coerced to zero, the flag ``strict=False`` can be passed to " "the constructor::" msgstr "" +"Par défaut, tenter de créer un objet réseau avec des bits d'hôtes mis à 1 " +"lève une :exc:`ValueError`. Pour demander que les bits supplémentaires " +"soient plutôt forcés à zéro, l'attribut ``strict=False`` peut être passé au " +"constructeur ::" #: ../Doc/howto/ipaddress.rst:119 msgid "" @@ -146,16 +199,24 @@ msgid "" "network is considered to contain only the single address identified by the " "integer, so the network prefix includes the entire network address::" msgstr "" +"Alors que la forme textuelle offre davantage de flexibilité les réseaux " +"peuvent aussi être définis avec des entiers, tout comme les adresses hôtes. " +"Dans ce cas le réseau est considéré comme contenant uniquement l'adresse " +"identifiée par l'entier, donc le préfixe réseau inclut l'adresse du réseau " +"complet ::" #: ../Doc/howto/ipaddress.rst:129 msgid "" "As with addresses, creation of a particular kind of network can be forced by " "calling the class constructor directly instead of using the factory function." msgstr "" +"Comme avec les adresses, la création d'un type de réseau particulier peut " +"être forcée en appelant directement le constructeur de la classe plutôt que " +"d'utiliser la fonction de fabrication." #: ../Doc/howto/ipaddress.rst:135 msgid "Host Interfaces" -msgstr "" +msgstr "Interfaces des hôtes" #: ../Doc/howto/ipaddress.rst:137 msgid "" @@ -169,16 +230,29 @@ msgid "" "defining network objects, except that the address portion isn't constrained " "to being a network address." msgstr "" +"Comme mentionné ci-dessus, si vous avez besoin de décrire une adresse sur un " +"réseau particulier, ni l'adresse ni les classes réseaux ne sont suffisantes. " +"Les notations comme ``192.0.2.1/24`` sont généralement utilisées par les " +"ingénieurs réseaux et les personnes qui écrivent des outils pour les pare-" +"feu et les routeurs comme raccourci pour \" l'hôte ``192.0.2.1`` sur le " +"réseau ``192.0.2.0/24``\", par conséquent, :mod:`ipaddress` fournit un " +"ensemble de classes hybrides qui associent une adresse à un réseau " +"particulier. L'interface pour la création est identique à celle pour la " +"définition des objets réseaux, excepté que la partie adresse n'est pas " +"contrainte d'être une adresse réseau." #: ../Doc/howto/ipaddress.rst:152 msgid "" "Integer inputs are accepted (as with networks), and use of a particular IP " "version can be forced by calling the relevant constructor directly." msgstr "" +"Les entiers sont acceptés en entrée (comme avec les réseaux) et " +"l'utilisation d'une version d'IP peut être forcée en appelant directement le " +"constructeur adapté." #: ../Doc/howto/ipaddress.rst:157 msgid "Inspecting Address/Network/Interface Objects" -msgstr "" +msgstr "Inspecter les objets Address/Network/Interface" #: ../Doc/howto/ipaddress.rst:159 msgid "" @@ -186,32 +260,38 @@ msgid "" "Interface) object, so you probably want to get information about it. :mod:" "`ipaddress` tries to make doing this easy and intuitive." msgstr "" +"Vous vous êtes donné la peine de créer un objet (adresse|réseau|" +"interface)IPv(4|6), donc vous voudrez probablement des informations sur " +"celui-ci. :mod:`ipaddress` essaie de rendre ceci facile et intuitif." #: ../Doc/howto/ipaddress.rst:163 msgid "Extracting the IP version::" -msgstr "" +msgstr "Extraire la version du protocole IP" #: ../Doc/howto/ipaddress.rst:172 msgid "Obtaining the network from an interface::" -msgstr "" +msgstr "Obtenir le réseau à partir de l'interface ::" #: ../Doc/howto/ipaddress.rst:181 msgid "Finding out how many individual addresses are in a network::" -msgstr "" +msgstr "Trouver combien d'adresses individuelles sont dans un réseau ::" #: ../Doc/howto/ipaddress.rst:190 msgid "Iterating through the \"usable\" addresses on a network::" -msgstr "" +msgstr "Itération sur chacune des adresses \"utilisables\" d'un réseau ::" #: ../Doc/howto/ipaddress.rst:205 msgid "" "Obtaining the netmask (i.e. set bits corresponding to the network prefix) or " "the hostmask (any bits that are not part of the netmask):" msgstr "" +"Obtenir le masque réseau (définit les bits correspondant au préfixe du " +"réseau) ou le masque de l'hôte (tous les bits qui ne sont pas dans le masque " +"du réseau) :" #: ../Doc/howto/ipaddress.rst:220 msgid "Exploding or compressing the address::" -msgstr "" +msgstr "Éclater ou compresser l'adresse ::" #: ../Doc/howto/ipaddress.rst:231 msgid "" @@ -220,26 +300,37 @@ msgid "" "easily ensure the most concise or most verbose form is used for IPv6 " "addresses while still correctly handling IPv4 addresses." msgstr "" +"Alors que IPv4 ne gère pas l'éclatement ou la compression, les objets " +"associés fournissent toujours les propriétés adaptées pour que du code, le " +"plus neutre possible vis-à-vis de la version, puisse facilement s'assurer " +"que la forme la plus concise ou la plus verbeuse utilisée pour des adresses " +"IPv6 va aussi fonctionner pour gérer des adresses IPv4." #: ../Doc/howto/ipaddress.rst:238 msgid "Networks as lists of Addresses" -msgstr "" +msgstr "Réseaux en tant que listes d'adresses" #: ../Doc/howto/ipaddress.rst:240 msgid "" "It's sometimes useful to treat networks as lists. This means it is possible " "to index them like this::" msgstr "" +"Il est parfois utile de traiter les réseaux en tant que listes. Cela " +"signifie qu'il est possible de les indexer comme ça ::" #: ../Doc/howto/ipaddress.rst:253 msgid "" "It also means that network objects lend themselves to using the list " "membership test syntax like this::" msgstr "" +"Cela signifie aussi que les objets réseaux se prêtent bien à l'utilisation " +"de la syntaxe suivante pour le test d'appartenance à la liste ::" #: ../Doc/howto/ipaddress.rst:259 msgid "Containment testing is done efficiently based on the network prefix::" msgstr "" +"En se basant sur le préfixe réseau on peut efficacement tester " +"l'appartenance ::" #: ../Doc/howto/ipaddress.rst:269 msgid "Comparisons" @@ -250,16 +341,20 @@ msgid "" ":mod:`ipaddress` provides some simple, hopefully intuitive ways to compare " "objects, where it makes sense::" msgstr "" +":mod:`ipaddress` fournit des moyens simples et intuitifs (du moins nous " +"l'espérons) pour comparer les objets, quand cela fait sens ::" #: ../Doc/howto/ipaddress.rst:277 msgid "" "A :exc:`TypeError` exception is raised if you try to compare objects of " "different versions or different types." msgstr "" +"Une exception :exc:`TypeError` est levée si vous tentez de comparer des " +"objets de différentes versions ou de types différents." #: ../Doc/howto/ipaddress.rst:282 msgid "Using IP Addresses with other modules" -msgstr "" +msgstr "Utiliser des adresse IP avec d'autre modules" #: ../Doc/howto/ipaddress.rst:284 msgid "" @@ -267,10 +362,14 @@ msgid "" "accept objects from this module directly. Instead, they must be coerced to " "an integer or string that the other module will accept::" msgstr "" +"Les autres modules qui utilisent des adresses IP (comme :mod:`socket`) " +"n'acceptent généralement pas les objets de ce module directement. Au lieu de " +"cela, ils doivent être convertis en entiers ou en chaînes de caractères que " +"l'autre module va accepter ::" #: ../Doc/howto/ipaddress.rst:296 msgid "Getting more detail when instance creation fails" -msgstr "" +msgstr "Obtenir plus de détails lors de l'échec de la création de l'instance" #: ../Doc/howto/ipaddress.rst:298 msgid "" @@ -281,6 +380,13 @@ msgid "" "because it's necessary to know whether the value is *supposed* to be IPv4 or " "IPv6 in order to provide more detail on why it has been rejected." msgstr "" +"Lors de la création des objets Adresse/Réseau/Interface en utilisant les " +"fonctions de fabrication agnostiques à la version, n'importe quelle erreur " +"va être signalée en tant que :exc:`ValueError` avec un message d'erreur " +"générique qui dit simplement que la valeur entrée n'a pas été reconnue en " +"tant qu'objet de ce type. Pour fournir plus de détails sur la cause du " +"rejet, il faudrait reconnaitre si la valeur est *supposée* être une adresse " +"IPv4 ou IPv6." #: ../Doc/howto/ipaddress.rst:305 msgid "" @@ -290,12 +396,19 @@ msgid "" "`ipaddress.NetmaskValueError` to indicate exactly which part of the " "definition failed to parse correctly." msgstr "" +"Pour gérer les cas d'usage où il est utile d'avoir accès à ces détails, les " +"constructeurs individuels des classes lèvent actuellement les sous-classes " +"de :exc:`ValueError`, :exc:`ipaddress.AddressValueError` et :exc:`ipaddress." +"NetmaskValueError` pour indiquer précisément quelle partie de la définition " +"n'a pas pu être correctement traitée." #: ../Doc/howto/ipaddress.rst:311 msgid "" "The error messages are significantly more detailed when using the class " "constructors directly. For example::" msgstr "" +"Les messages d'erreur sont particulièrement plus détaillés lors de " +"l'utilisation directe du constructeur. Par exemple ::" #: ../Doc/howto/ipaddress.rst:332 msgid "" @@ -303,3 +416,6 @@ msgid "" "their parent class, so if you're not concerned with the particular type of " "error, you can still write code like the following::" msgstr "" +"Cependant, les exceptions spécifiques des deux modules ont :exc:`ValueError` " +"comme classe parent ; donc si vous n'êtes pas intéressé par le type " +"particulier d'erreur remontée, vous pouvez écrire votre code comme suit ::" diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index c8b8d423..0f3c441b 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -22,7 +22,7 @@ msgstr "" #: ../Doc/howto/logging-cookbook.rst:7 msgid "Vinay Sajip " -msgstr "" +msgstr "Vinay Sajip " #: ../Doc/howto/logging-cookbook.rst:9 msgid "" @@ -724,27 +724,27 @@ msgstr "" #: ../Doc/howto/logging-cookbook.rst:1306 msgid "Module :mod:`logging`" -msgstr "" +msgstr "Module :mod:`logging`" #: ../Doc/howto/logging-cookbook.rst:1306 msgid "API reference for the logging module." -msgstr "" +msgstr "Référence d'API pour le module de journalisation." #: ../Doc/howto/logging-cookbook.rst:1309 msgid "Module :mod:`logging.config`" -msgstr "" +msgstr "Module :mod:`logging.config`" #: ../Doc/howto/logging-cookbook.rst:1309 msgid "Configuration API for the logging module." -msgstr "" +msgstr "API de configuration pour le module de journalisation." #: ../Doc/howto/logging-cookbook.rst:1312 msgid "Module :mod:`logging.handlers`" -msgstr "" +msgstr "Module :mod:`logging.handlers`" #: ../Doc/howto/logging-cookbook.rst:1312 msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Gestionnaires utiles inclus avec le module de journalisation." #: ../Doc/howto/logging-cookbook.rst:1314 msgid ":ref:`A basic logging tutorial `" diff --git a/howto/logging.po b/howto/logging.po index 5b3019bb..a5fdb08b 100644 --- a/howto/logging.po +++ b/howto/logging.po @@ -18,15 +18,15 @@ msgstr "" #: ../Doc/howto/logging.rst:3 msgid "Logging HOWTO" -msgstr "" +msgstr "Tutoriel sur la journalisation" #: ../Doc/howto/logging.rst:5 msgid "Vinay Sajip " -msgstr "" +msgstr "Vinay Sajip " #: ../Doc/howto/logging.rst:12 msgid "Basic Logging Tutorial" -msgstr "" +msgstr "Les bases de l'utilisation du module `logging`" #: ../Doc/howto/logging.rst:14 msgid "" @@ -38,10 +38,19 @@ msgid "" "which the developer ascribes to the event; the importance can also be called " "the *level* or *severity*." msgstr "" +"La journalisation (*logging* en anglais) est une façon de suivre les " +"événements qui ont lieu durant le fonctionnement d'un logiciel. Le " +"développeur du logiciel ajoute des appels à l'outil de journalisation dans " +"son code pour indiquer que certains événements ont eu lieu. Un événement est " +"décrit par un message descriptif, qui peut éventuellement contenir des " +"données variables (c'est-à-dire qui peuvent être différentes pour chaque " +"occurrence de l'événement). Un événement a aussi une importance que le " +"développeur lui attribue ; cette importance peut aussi être appelée *niveau* " +"ou *sévérité*." #: ../Doc/howto/logging.rst:23 msgid "When to use logging" -msgstr "" +msgstr "Quand utiliser `logging`" #: ../Doc/howto/logging.rst:25 msgid "" @@ -50,19 +59,26 @@ msgid "" "func:`critical`. To determine when to use logging, see the table below, " "which states, for each of a set of common tasks, the best tool to use for it." msgstr "" +"Le module *logging* fournit un ensemble de fonctions de commodités pour une " +"utilisation simple du module. Ce sont les fonctions :func:`debug`, :func:" +"`info`, :func:`warning`, :func:`error` et :func:`critical`. Pour déterminer " +"quand employer la journalisation, voyez la table ci-dessous, qui vous " +"indique, pour chaque tâche parmi les plus communes, l'outil approprié." #: ../Doc/howto/logging.rst:31 msgid "Task you want to perform" -msgstr "" +msgstr "Tâche que vous souhaitez mener" #: ../Doc/howto/logging.rst:31 msgid "The best tool for the task" -msgstr "" +msgstr "Le meilleur outil pour cette tâche" #: ../Doc/howto/logging.rst:33 msgid "" "Display console output for ordinary usage of a command line script or program" msgstr "" +"Affiche la sortie console d'un script en ligne de commande ou d'un programme " +"lors de son utilisation ordinaire" #: ../Doc/howto/logging.rst:33 msgid ":func:`print`" @@ -73,48 +89,65 @@ msgid "" "Report events that occur during normal operation of a program (e.g. for " "status monitoring or fault investigation)" msgstr "" +"Rapporter des évènements qui ont lieu au cours du fonctionnement normal d'un " +"programme (par exemple pour suivre un statut ou examiner des " +"dysfonctionnements)" #: ../Doc/howto/logging.rst:37 msgid "" ":func:`logging.info` (or :func:`logging.debug` for very detailed output for " "diagnostic purposes)" msgstr "" +":func:`logging.info` (ou :func:`logging.debug` pour une sortie très " +"détaillée à visée diagnostique)" #: ../Doc/howto/logging.rst:42 msgid "Issue a warning regarding a particular runtime event" msgstr "" +"Émettre un avertissement (*warning* en anglais) en relation avec un " +"évènement particulier au cours du fonctionnement d’un programme" #: ../Doc/howto/logging.rst:42 msgid "" ":func:`warnings.warn` in library code if the issue is avoidable and the " "client application should be modified to eliminate the warning" msgstr "" +":func:`warnings.warn` dans le code de la bibliothèque si le problème est " +"évitable et l'application cliente doit être modifiée pour éliminer cet " +"avertissement" #: ../Doc/howto/logging.rst:47 msgid "" ":func:`logging.warning` if there is nothing the client application can do " "about the situation, but the event should still be noted" msgstr "" +":func:`logging.warning` si l'application cliente ne peut rien faire pour " +"corriger la situation mais l'évènement devrait quand même être noté" #: ../Doc/howto/logging.rst:52 msgid "Report an error regarding a particular runtime event" msgstr "" +"Rapporter une erreur lors d'un évènement particulier en cours d'exécution" #: ../Doc/howto/logging.rst:52 msgid "Raise an exception" -msgstr "" +msgstr "Lever une exception" #: ../Doc/howto/logging.rst:55 msgid "" "Report suppression of an error without raising an exception (e.g. error " "handler in a long-running server process)" msgstr "" +"Rapporter la suppression d'une erreur sans lever d'exception (par exemple " +"pour la gestion d'erreur d'un processus de long terme sur un serveur)" #: ../Doc/howto/logging.rst:55 msgid "" ":func:`logging.error`, :func:`logging.exception` or :func:`logging.critical` " "as appropriate for the specific error and application domain" msgstr "" +":func:`logging.error`, :func:`logging.exception` ou :func:`logging." +"critical`, au mieux, selon l'erreur spécifique et le domaine d'application" #: ../Doc/howto/logging.rst:62 msgid "" @@ -122,14 +155,17 @@ msgid "" "they are used to track. The standard levels and their applicability are " "described below (in increasing order of severity):" msgstr "" +"Les fonctions de journalisation sont nommées d'après le niveau ou la " +"sévérité des évènements qu'elles suivent. Les niveaux standards et leurs " +"applications sont décrits ci-dessous (par ordre croissant de sévérité) :" #: ../Doc/howto/logging.rst:69 ../Doc/howto/logging.rst:826 msgid "Level" -msgstr "" +msgstr "Niveau" #: ../Doc/howto/logging.rst:69 msgid "When it's used" -msgstr "" +msgstr "Quand il est utilisé" #: ../Doc/howto/logging.rst:71 ../Doc/howto/logging.rst:836 msgid "``DEBUG``" @@ -139,6 +175,8 @@ msgstr "``DEBUG``" msgid "" "Detailed information, typically of interest only when diagnosing problems." msgstr "" +"Information détaillée, intéressante seulement lorsqu'on diagnostique un " +"problème." #: ../Doc/howto/logging.rst:74 ../Doc/howto/logging.rst:834 msgid "``INFO``" @@ -146,7 +184,7 @@ msgstr "``INFO``" #: ../Doc/howto/logging.rst:74 msgid "Confirmation that things are working as expected." -msgstr "" +msgstr "Confirmation que tout fonctionne comme prévu." #: ../Doc/howto/logging.rst:77 ../Doc/howto/logging.rst:832 msgid "``WARNING``" @@ -158,6 +196,9 @@ msgid "" "problem in the near future (e.g. 'disk space low'). The software is still " "working as expected." msgstr "" +"L'indication que quelque chose d'inattendu a eu lieu, ou de la possibilité " +"d'un problème dans un futur proche (par exemple « espace disque faible »). " +"Le logiciel fonctionne encore normalement." #: ../Doc/howto/logging.rst:82 ../Doc/howto/logging.rst:830 msgid "``ERROR``" @@ -168,6 +209,8 @@ msgid "" "Due to a more serious problem, the software has not been able to perform " "some function." msgstr "" +"Du fait d'un problème plus sérieux, le logiciel n'a pas été capable de " +"réaliser une tâche." #: ../Doc/howto/logging.rst:85 ../Doc/howto/logging.rst:828 msgid "``CRITICAL``" @@ -178,6 +221,8 @@ msgid "" "A serious error, indicating that the program itself may be unable to " "continue running." msgstr "" +"Une erreur sérieuse, indiquant que le programme lui-même pourrait être " +"incapable de continuer à fonctionner." #: ../Doc/howto/logging.rst:89 msgid "" @@ -185,6 +230,9 @@ msgid "" "and above will be tracked, unless the logging package is configured to do " "otherwise." msgstr "" +"Le niveau par défaut est ``WARNING``, ce qui signifie que seuls les " +"évènements de ce niveau et au-dessus sont suivis, sauf si le paquet " +"*logging* est configuré pour faire autrement." #: ../Doc/howto/logging.rst:93 msgid "" @@ -192,18 +240,22 @@ msgid "" "of handling tracked events is to print them to the console. Another common " "way is to write them to a disk file." msgstr "" +"Les évènements suivis peuvent être gérés de différentes façons. La manière " +"la plus simple est de les afficher dans la console. Une autre méthode " +"commune est de les écrire dans un fichier." #: ../Doc/howto/logging.rst:101 msgid "A simple example" -msgstr "" +msgstr "Un exemple simple" #: ../Doc/howto/logging.rst:103 msgid "A very simple example is::" -msgstr "" +msgstr "Un exemple très simple est : ::" #: ../Doc/howto/logging.rst:109 msgid "If you type these lines into a script and run it, you'll see:" msgstr "" +"Si vous entrez ces lignes dans un script que vous exécutez, vous verrez :" #: ../Doc/howto/logging.rst:115 msgid "" @@ -214,10 +266,17 @@ msgid "" "explained later. The actual output can be formatted quite flexibly if you " "need that; formatting options will also be explained later." msgstr "" +"affiché dans la console. Le message ``INFO`` n'apparaît pas parce que le " +"niveau par défaut est ``WARNING``. Le message affiché inclut l'indication du " +"niveau et la description de l'évènement fournie dans l'appel à *logging*, " +"ici « Watch out! ». Ne vous préoccupez pas de la partie « *root* » pour le " +"moment : nous détaillerons ce point plus bas. La sortie elle-même peut être " +"formatée de multiples manières si besoin. Les options de formatage seront " +"aussi expliquées plus bas." #: ../Doc/howto/logging.rst:124 msgid "Logging to a file" -msgstr "" +msgstr "Enregistrer les évènements dans un fichier" #: ../Doc/howto/logging.rst:126 msgid "" @@ -226,6 +285,10 @@ msgid "" "Python interpreter, and don't just continue from the session described " "above::" msgstr "" +"Il est très commun d'enregistrer les évènements dans un fichier, c'est donc " +"ce que nous allons regarder maintenant. Il faut essayer ce qui suit avec un " +"interpréteur Python nouvellement démarré, ne poursuivez pas la session " +"commencée ci-dessus ::" #: ../Doc/howto/logging.rst:136 msgid "" @@ -239,6 +302,9 @@ msgid "" "threshold for tracking. In this case, because we set the threshold to " "``DEBUG``, all of the messages were printed." msgstr "" +"Cet exemple montre aussi comment on peut régler le niveau de journalisation " +"qui sert de seuil pour le suivi. Dans ce cas, comme nous avons réglé le " +"seuil à ``DEBUG``, tous les messages ont été écrits." #: ../Doc/howto/logging.rst:147 msgid "" @@ -250,6 +316,8 @@ msgid "" "and you have the value of the parameter passed for ``--log`` in some " "variable *loglevel*, you can use::" msgstr "" +"et que vous passez ensuite la valeur du paramètre donné à l'option `--log` " +"dans une variable *loglevel*, vous pouvez utiliser : ::" #: ../Doc/howto/logging.rst:156 msgid "" @@ -257,6 +325,9 @@ msgid "" "argument. You may want to error check any user input value, perhaps as in " "the following example::" msgstr "" +"de manière à obtenir la valeur à passer à :func:`basicConfig` à travers " +"l'argument *level*. Vous pouvez vérifier que l'utilisateur n'a fait aucune " +"erreur pour la valeur de ce paramètre, comme dans l'exemple ci-dessous : ::" #: ../Doc/howto/logging.rst:168 msgid "" @@ -265,6 +336,10 @@ msgid "" "configuration facility, only the first call will actually do anything: " "subsequent calls are effectively no-ops." msgstr "" +"L'appel à :func:`basicConfig` doit être fait *avant* un appel à :func:" +"`debug`, :func:`info`, etc. Comme l'objectif est d'avoir un outil de " +"configuration simple et d'usage unique, seul le premier appel aura un effet, " +"les appels suivants ne font rien." #: ../Doc/howto/logging.rst:173 msgid "" @@ -273,22 +348,32 @@ msgid "" "afresh, not remembering the messages from earlier runs, you can specify the " "*filemode* argument, by changing the call in the above example to::" msgstr "" +"Si vous exécutez le script plusieurs fois, les messages des exécutions " +"successives sont ajoutés au fichier *example.log*. Si vous voulez que chaque " +"exécution reprenne un fichier vierge, sans conserver les messages des " +"exécutions précédentes, vous pouvez spécifier l'argument *filemode*, en " +"changeant l'appel à l'exemple précédent par ::" #: ../Doc/howto/logging.rst:180 msgid "" "The output will be the same as before, but the log file is no longer " "appended to, so the messages from earlier runs are lost." msgstr "" +"La sortie est identique à la précédente, mais le texte n'est plus ajouté au " +"fichier de log, donc les messages des exécutions précédentes sont perdus." #: ../Doc/howto/logging.rst:185 msgid "Logging from multiple modules" -msgstr "" +msgstr "Employer *logging* à partir de différents modules" #: ../Doc/howto/logging.rst:187 msgid "" "If your program consists of multiple modules, here's an example of how you " "could organize logging in it::" msgstr "" +"Si votre programme est composé de plusieurs modules, voici une façon " +"d'organiser\n" +"l'outil de journalisation : ::" #: ../Doc/howto/logging.rst:211 msgid "If you run *myapp.py*, you should see this in *myapp.log*::" @@ -304,20 +389,30 @@ msgid "" "to refer to the documentation beyond the tutorial level -- see :ref:`logging-" "advanced-tutorial`." msgstr "" +"ce qui est normalement ce à quoi vous vous attendiez. Vous pouvez " +"généraliser cela à plusieurs modules, en employant le motif de *mylib.py*. " +"Remarquez qu'avec cette méthode simple, vous ne pourrez pas savoir, en " +"lisant le fichier de log, *d'où* viennent les messages dans votre " +"application, sauf dans la description de l'évènement. Si vous voulez suivre " +"la localisation des messages, référerez-vous à la documentation avancée :ref:" +"`logging-advanced-tutorial`." #: ../Doc/howto/logging.rst:227 msgid "Logging variable data" -msgstr "" +msgstr "Journalisation de données variables" #: ../Doc/howto/logging.rst:229 msgid "" "To log variable data, use a format string for the event description message " "and append the variable data as arguments. For example::" msgstr "" +"Pour enregistrer des données variables, utilisez une chaîne formatée dans le " +"message de description de l'évènement et ajoutez les données variables comme " +"argument. Par exemple : ::" #: ../Doc/howto/logging.rst:235 msgid "will display:" -msgstr "" +msgstr "affichera :" #: ../Doc/howto/logging.rst:241 msgid "" @@ -328,16 +423,25 @@ msgid "" "options *are* supported, but exploring them is outside the scope of this " "tutorial: see :ref:`formatting-styles` for more information." msgstr "" +"Comme vous pouvez le voir, l'inclusion des données variables dans le message " +"de description de l'évènement emploie le vieux style de formatage avec %. " +"C'est pour assurer la rétrocompatibilité : le module `logging` est antérieur " +"aux nouvelles options de formatage comme :meth:`str.format` ou :class:" +"`string.Template`. Ces nouvelles options de formatage *sont* gérées, mais " +"leur exploration sort du cadre de ce tutoriel, voyez :ref:`formatting-" +"styles` pour plus d'information." #: ../Doc/howto/logging.rst:250 msgid "Changing the format of displayed messages" -msgstr "" +msgstr "Modifier le format du message affiché" #: ../Doc/howto/logging.rst:252 msgid "" "To change the format which is used to display messages, you need to specify " "the format you want to use::" msgstr "" +"Pour changer le format utilisé pour afficher le message, vous devez préciser " +"le format que vous souhaitez employer : ::" #: ../Doc/howto/logging.rst:261 msgid "which would print::" @@ -352,16 +456,25 @@ msgid "" "including variable data) and perhaps to display when the event occurred. " "This is described in the next section." msgstr "" +"Notez que le `root` qui apparaissait dans les exemples précédents a disparu. " +"Pour voir l'ensemble des éléments qui peuvent apparaître dans la chaîne de " +"format, référez-vous à la documentation pour :ref:`logrecord-attributes`. " +"Pour une utilisation simple, vous avez seulement besoin du *levelname* (la " +"sévérité), du *message* (la description de l'évènement, avec les données " +"variables) et peut-être du moment auquel l'évènement a eu lieu. Nous " +"décrivons ces points dans la prochaine section." #: ../Doc/howto/logging.rst:276 msgid "Displaying the date/time in messages" -msgstr "" +msgstr "Afficher l'horodatage dans les messages" #: ../Doc/howto/logging.rst:278 msgid "" "To display the date and time of an event, you would place '%(asctime)s' in " "your format string::" msgstr "" +"Pour afficher la date ou le temps d'un évènement, ajoutez `%(asctime)` dans " +"votre chaîne de formatage : ::" #: ../Doc/howto/logging.rst:285 msgid "which should print something like this::" @@ -382,11 +495,11 @@ msgstr "" msgid "" "The format of the *datefmt* argument is the same as supported by :func:`time." "strftime`." -msgstr "" +msgstr "Le format de *datefmt* est le même que celui de :func:`time.strftime`." #: ../Doc/howto/logging.rst:306 msgid "Next Steps" -msgstr "" +msgstr "Étapes suivantes" #: ../Doc/howto/logging.rst:308 msgid "" @@ -396,6 +509,11 @@ msgid "" "time in reading the following sections. If you're ready for that, grab some " "of your favourite beverage and carry on." msgstr "" +"Nous concluons ainsi le tutoriel basique. Il devrait suffire à vous mettre " +"le pied à l'étrier pour utiliser `logging`. Le module `logging` a beaucoup " +"d'autre cordes à son arc, mais pour en profiter au maximum, vous devez " +"prendre le temps de lire les sections suivantes. Si vous êtes prêt, servez-" +"vous votre boisson préférée et poursuivons." #: ../Doc/howto/logging.rst:314 msgid "" @@ -412,42 +530,58 @@ msgid "" "slightly more advanced/in-depth tutorial than the basic one above. After " "that, you can take a look at the :ref:`logging-cookbook`." msgstr "" +"Vous êtes encore là ? Vous pouvez lire les prochaines sections, qui donnent " +"un peu plus de détails que l'introduction ci-dessus. Après ça, vous pouvez " +"jeter un œil à :ref:`logging-cookbook`." #: ../Doc/howto/logging.rst:328 msgid "Advanced Logging Tutorial" -msgstr "" +msgstr "Usage avancé de Logging" #: ../Doc/howto/logging.rst:330 msgid "" "The logging library takes a modular approach and offers several categories " "of components: loggers, handlers, filters, and formatters." msgstr "" +"La bibliothèque de journalisation adopte une approche modulaire et offre " +"différentes catégories de composants : *loggers*, *handlers*, *filters* et " +"*formatters*." #: ../Doc/howto/logging.rst:333 msgid "Loggers expose the interface that application code directly uses." msgstr "" +"Les enregistreurs (*loggers* en anglais) exposent l'interface que le code de " +"l'application utilise directement." #: ../Doc/howto/logging.rst:334 msgid "" "Handlers send the log records (created by loggers) to the appropriate " "destination." msgstr "" +"Les gestionnaires (*handlers*) envoient les entrées de journal (crées par " +"les *loggers*) vers les destinations voulues." #: ../Doc/howto/logging.rst:336 msgid "" "Filters provide a finer grained facility for determining which log records " "to output." msgstr "" +"Les filtres (*filters*) fournissent un moyen de choisir finement quelles " +"entrées de journal doivent être sorties." #: ../Doc/howto/logging.rst:338 msgid "Formatters specify the layout of log records in the final output." msgstr "" +"Les formateurs (*formatters*) spécifient la structure de l'entrée de journal " +"dans la sortie finale." #: ../Doc/howto/logging.rst:340 msgid "" "Log event information is passed between loggers, handlers, filters and " "formatters in a :class:`LogRecord` instance." msgstr "" +"L'information relative à un événement est passée entre *loggers*, *handlers* " +"et *formatters* dans une instance de la classe :class:`LogRecord`." #: ../Doc/howto/logging.rst:343 msgid "" @@ -459,18 +593,32 @@ msgid "" "want, and indicate the area of an application in which a logged message " "originates." msgstr "" +"La journalisation est réalisée en appelant les méthodes d'instance de la " +"classe :class:`Logger` (que l'on appelle ci-dessous :dfn:`loggers`). Chaque " +"instance a un nom et les instances sont organisées conceptuellement comme " +"des hiérarchies dans l'espace de nommage, en utilisant un point comme " +"séparateur. Par exemple, un `logger` appelé `scan` est le parent des " +"`loggers` `scan.text`, `scan.html` et `scan.pdf`. Les noms des `loggers` " +"peuvent être ce que vous voulez et indiquent le sous-domaine d'une " +"application depuis lequel le message enregistré a été émis." #: ../Doc/howto/logging.rst:350 msgid "" "A good convention to use when naming loggers is to use a module-level " "logger, in each module which uses logging, named as follows::" msgstr "" +"Une bonne convention lorsqu'on nomme les *loggers* est d'utiliser un " +"*logger* au niveau du module, dans chaque module qui emploie `logging`, " +"nommé de la façon suivante : ::" #: ../Doc/howto/logging.rst:355 msgid "" "This means that logger names track the package/module hierarchy, and it's " "intuitively obvious where events are logged just from the logger name." msgstr "" +"Cela signifie que le nom d'un `logger` se rapporte à la hiérarchie du paquet " +"et des modules, et il est évident de voir où un événement a été enregistré " +"simplement en regardant le nom du `logger`." #: ../Doc/howto/logging.rst:358 msgid "" @@ -480,6 +628,12 @@ msgid "" "the root logger. The functions and the methods have the same signatures. The " "root logger's name is printed as 'root' in the logged output." msgstr "" +"La racine de la hiérarchie des `loggers` est appelée le *root logger*. C'est " +"le `logger` utilisé par les fonctions :func:`debug`, :func:`info`, :func:" +"`warning`, :func:`error` et :func:`critical`, qui appelle en fait les " +"méthodes du même nom de l'objet *root logger*. Les fonctions et les méthodes " +"ont la même signature. Le nom du *root logger* est affiché comme « `root` » " +"dans la sortie." #: ../Doc/howto/logging.rst:364 msgid "" @@ -491,6 +645,15 @@ msgid "" "destination class if you have special requirements not met by any of the " "built-in handler classes." msgstr "" +"Il est bien sûr possible d'enregistrer des messages pour des destinations " +"différentes. Ce paquet permet d'écrire des entrées de journal dans des " +"fichiers, des ressources HTTP GET/POST, par courriel via SMTP, des *sockets* " +"génériques, des files d'attente, ou des mécanismes d'enregistrement " +"spécifiques au système d'exploitation, comme *syslog* ou le journal " +"d'événements de Windows NT. Les destinations sont servies par des classes :" +"dfn:`handler`. Vous pouvez créer votre propre classe de destination si vous " +"avez des besoins spéciaux qui ne sont couverts par aucune classe *handler* " +"prédéfinie." #: ../Doc/howto/logging.rst:371 msgid "" @@ -503,6 +666,15 @@ msgid "" "displayed message before delegating to the root logger to do the actual " "message output." msgstr "" +"Par défaut, aucune destination n'est prédéfinie pour les messages de " +"journalisation. Vous pouvez définir une destination (comme la console ou un " +"fichier) en utilisant :func:`basicConfig` comme dans les exemples donnés " +"dans le tutoriel. Si vous appelez les fonctions :func:`debug`, :func:" +"`info`, :func:`warning`, :func:`error` et :func:`critical`, celles-ci " +"vérifient si une destination a été définie ; si ce n'est pas le cas, la " +"destination est assignée à la console (``sys.stderr``) avec un format par " +"défaut pour le message affiché, avant d'être déléguée au *logger* racine, " +"qui sort le message." #: ../Doc/howto/logging.rst:379 msgid "The default format set by :func:`basicConfig` for messages is::" @@ -514,20 +686,26 @@ msgid "" "the *format* keyword argument. For all options regarding how a format string " "is constructed, see :ref:`formatter-objects`." msgstr "" +"Vous pouvez modifier ce comportement en passant une chaîne de formatage à :" +"func:`basicConfig` par l'argument nommé *format*. Consultez :ref:`formatter-" +"objects` pour toutes les options de construction de cette chaîne de " +"formatage." #: ../Doc/howto/logging.rst:388 msgid "Logging Flow" -msgstr "" +msgstr "Flux du processus de journalisation" #: ../Doc/howto/logging.rst:390 msgid "" "The flow of log event information in loggers and handlers is illustrated in " "the following diagram." msgstr "" +"Le flux des informations associées à un évènement dans les `loggers` et les " +"`handlers` est illustré dans le diagramme suivant." #: ../Doc/howto/logging.rst:396 msgid "Loggers" -msgstr "" +msgstr "Loggers" #: ../Doc/howto/logging.rst:398 msgid "" @@ -538,16 +716,25 @@ msgid "" "Third, logger objects pass along relevant log messages to all interested log " "handlers." msgstr "" +"Les objets de classe :class:`Logger` ont un rôle triple. Premièrement, ils " +"exposent plusieurs méthodes au code de l'application, de manière à ce " +"qu'elle puisse enregistrer des messages en cours d'exécution. Deuxièmement, " +"les objets `logger` déterminent sur quel message agir selon leur sévérité (à " +"partir des filtres par défaut) ou selon les objets `filter` associés. " +"Troisièmement, les objets `logger` transmettent les messages pertinents à " +"tous les `handlers` concernés." #: ../Doc/howto/logging.rst:404 msgid "" "The most widely used methods on logger objects fall into two categories: " "configuration and message sending." msgstr "" +"Les méthodes des objets `logger` les plus utilisées appartiennent à deux " +"catégories : la configuration et l'envoi de messages." #: ../Doc/howto/logging.rst:407 msgid "These are the most common configuration methods:" -msgstr "" +msgstr "Voici les méthodes de configuration les plus communes :" #: ../Doc/howto/logging.rst:409 msgid "" @@ -557,6 +744,11 @@ msgid "" "INFO, the logger will handle only INFO, WARNING, ERROR, and CRITICAL " "messages and will ignore DEBUG messages." msgstr "" +":meth:`Logger.setLevel` spécifie le plus bas niveau de sévérité qu'un " +"`logger` traitera. Ainsi, `debug` est le niveau de sévérité défini par " +"défaut le plus bas et `critical` est le plus haut. Par exemple, si le niveau " +"de sévérité est INFO, le `logger` ne traite que les messages de niveau INFO, " +"WARNING, ERROR et CRITICAL ; il ignore les messages de niveau DEBUG." #: ../Doc/howto/logging.rst:415 msgid "" @@ -564,6 +756,9 @@ msgid "" "handler objects from the logger object. Handlers are covered in more detail " "in :ref:`handler-basic`." msgstr "" +":meth:`Logger.addHandler` et :meth:`Logger.removeHandler` ajoutent ou " +"enlèvent des objets `handlers` au `logger`. Les objets `handlers` sont " +"expliqués plus en détail dans :ref:`handler-basic`." #: ../Doc/howto/logging.rst:419 msgid "" @@ -571,17 +766,25 @@ msgid "" "filter objects from the logger object. Filters are covered in more detail " "in :ref:`filter`." msgstr "" +":meth:`Logger.addFilter` et :meth:`Logger.removeFilter` ajoutent ou enlèvent " +"des objets `filter` au `logger`. Les objets `filters` sont expliqués plus en " +"détail dans :ref:`filter`." #: ../Doc/howto/logging.rst:423 msgid "" "You don't need to always call these methods on every logger you create. See " "the last two paragraphs in this section." msgstr "" +"Comme nous l'expliquons aux deux derniers paragraphes de cette section, vous " +"n'avez pas besoin de faire appel à ces méthodes à chaque fois que vous créez " +"un `logger`." #: ../Doc/howto/logging.rst:426 msgid "" "With the logger object configured, the following methods create log messages:" msgstr "" +"Une fois que l'objet `logger` est correctement configuré, les méthodes " +"suivantes permettent de créer un message :" #: ../Doc/howto/logging.rst:428 msgid "" @@ -595,6 +798,16 @@ msgid "" "about a keyword of ``exc_info`` and use it to determine whether to log " "exception information." msgstr "" +"Les méthodes :meth:`Logger.debug`, :meth:`Logger.info`, :meth:`Logger." +"warning`, :meth:`Logger.error` et :meth:`Logger.critical` créent des entrées " +"de journal avec un message et un niveau correspondant à leur nom. Le message " +"est en fait une chaîne de caractères qui peut contenir la syntaxe standard " +"de substitution de chaînes de caractères : ``%s``, ``%d``, ``%f``, etc. " +"L'argument suivant est une liste des objets correspondant aux champs à " +"substituer dans le message. En ce qui concerne ``**kwargs``, les méthodes de " +"`logging` ne tiennent compte que du mot clef ``exc_info`` et l'utilisent " +"pour déterminer s'il faut enregistrer les informations associées à une " +"exception." #: ../Doc/howto/logging.rst:438 msgid "" @@ -602,6 +815,10 @@ msgid "" "error`. The difference is that :meth:`Logger.exception` dumps a stack trace " "along with it. Call this method only from an exception handler." msgstr "" +":meth:`Logger.exception` crée un message similaire à :meth:`Logger.error`. " +"La différence est que :meth:`Logger.exception` ajoute la trace de la pile " +"d'exécution au message. On ne peut appeler cette méthode qu'à l'intérieur " +"d'un bloc de gestion d'exception." #: ../Doc/howto/logging.rst:442 msgid "" @@ -610,6 +827,11 @@ msgid "" "convenience methods listed above, but this is how to log at custom log " "levels." msgstr "" +":meth:`Logger.log` prend le niveau de sévérité comme argument explicite. " +"C'est un peu plus verbeux pour enregistrer des messages que d'utiliser les " +"méthodes plus pratiques décrites si dessus, mais c'est ce qui permet " +"d'enregistrer des messages pour des niveaux de sévérité définis par " +"l'utilisateur." #: ../Doc/howto/logging.rst:446 msgid "" @@ -622,6 +844,15 @@ msgid "" "loggers with names of ``foo.bar``, ``foo.bar.baz``, and ``foo.bam`` are all " "descendants of ``foo``." msgstr "" +":func:`getLogger` renvoie une référence à un objet `logger` du nom spécifié " +"si celui-ci est donné en argument. Dans le cas contraire, se sera le `logger " +"root`. Ces noms sont des structures hiérarchiques séparées par des points. " +"Des appels répétés à :func:`getLogger` avec le même nom renvoient une " +"référence au même objet `logger`. Les `loggers` qui sont plus bas dans cette " +"liste hiérarchique sont des enfants des `loggers` plus haut dans la liste. " +"Par exemple, si un `logger` a le nom ``foo``, les `loggers` avec les noms " +"``foo.bar``, ``foo.bar.baz``, et ``foo.bam`` sont tous des descendants de " +"``foo``." #: ../Doc/howto/logging.rst:454 msgid "" @@ -634,6 +865,14 @@ msgid "" "the logger is used to determine whether the event is passed to the logger's " "handlers." msgstr "" +"On associe aux `loggers` un concept de *niveau effectif*. Si aucun niveau " +"n'est explicitement défini pour un `logger`, c'est le niveau du parent qui " +"est utilisé comme niveau effectif. Si le parent n'a pas de niveau défini, " +"c'est celui de *son* parent qui est considéré, et ainsi de suite ; on " +"examine tous les ancêtres jusqu'à ce qu'un niveau explicite soit trouvé. Le " +"`logger root` a toujours un niveau explicite (``WARNING`` par défaut). Quand " +"le `logger` traite un événement, c'est ce niveau effectif qui est utilisé " +"pour déterminer si cet événement est transmis à ses `handlers`." #: ../Doc/howto/logging.rst:462 msgid "" @@ -644,10 +883,17 @@ msgid "" "needed. (You can, however, turn off propagation by setting the *propagate* " "attribute of a logger to ``False``.)" msgstr "" +"Les `loggers` fils font remonter leurs messages aux `handlers` associés à " +"leurs `loggers` parents. De ce fait, il n'est pas nécessaire de définir et " +"configurer des `handlers` pour tous les `loggers` employés par une " +"application. Il suffit de configurer les `handlers` pour un `logger` de haut " +"niveau et de créer des `loggers` fils quand c'est nécessaire (on peut " +"cependant empêcher la propagation aux ancêtres des messages en donnant la " +"valeur ``False`` à l'attribut *propagate* d'un `logger`)." #: ../Doc/howto/logging.rst:473 msgid "Handlers" -msgstr "" +msgstr "Handlers" #: ../Doc/howto/logging.rst:475 msgid "" @@ -661,6 +907,16 @@ msgid "" "individual handlers where each handler is responsible for sending messages " "of a specific severity to a specific location." msgstr "" +"Les objets de type :class:`~logging.Handler` sont responsables de la " +"distribution des messages (selon leur niveau de sévérité) vers les " +"destinations spécifiées pour ce `handler`. Les objets :class:`Logger` " +"peuvent ajouter des objets `handler` à eux-mêmes en appelant :meth:`~Logger." +"addHandler`. Pour donner un exemple, une application peut envoyer tous les " +"messages dans un fichier journal, tous les messages de niveau `error` ou " +"supérieur vers la sortie standard, et tous les messages de niveau `critical` " +"vers une adresse de courriel. Dans ce scenario, nous avons besoin de trois " +"`handlers`, responsable chacun d'envoyer des messages d'une sévérité donnée " +"vers une destination donnée." #: ../Doc/howto/logging.rst:485 msgid "" @@ -668,6 +924,9 @@ msgid "" "handlers`); the tutorials use mainly :class:`StreamHandler` and :class:" "`FileHandler` in its examples." msgstr "" +"La bibliothèque standard inclut déjà un bon nombre de types de gestionnaires " +"(voir :ref:`useful-handlers`) ; le tutoriel utilise surtout :class:" +"`StreamHandler` et :class:`FileHandler` dans ses exemples." #: ../Doc/howto/logging.rst:489 msgid "" @@ -676,6 +935,10 @@ msgid "" "application developers who are using the built-in handler objects (that is, " "not creating custom handlers) are the following configuration methods:" msgstr "" +"Peu de méthodes des objets `handlers` sont intéressantes pour les " +"développeurs. Les seules méthodes intéressantes lorsqu'on utilise les objets " +"`handlers` natifs (c'est à dire si l'on ne crée pas d'`handler` " +"personnalisé) sont les méthodes de configuration suivantes :" #: ../Doc/howto/logging.rst:494 msgid "" @@ -686,18 +949,28 @@ msgid "" "level set in each handler determines which messages that handler will send " "on." msgstr "" +"La méthode :meth:`~Handler.setLevel`, comme celle des objets `logger` permet " +"de spécifier le plus bas niveau de sévérité qui sera distribué à la " +"destination appropriée. Pourquoi y a-t-il deux méthodes :func:`setLevel` ? " +"Le niveau défini dans le `logger` détermine quelle sévérité doit avoir un " +"message pour être transmis à ses `handlers`. Le niveau mis pour chaque " +"`handler` détermine quels messages seront envoyés aux destinations." #: ../Doc/howto/logging.rst:500 msgid "" ":meth:`~Handler.setFormatter` selects a Formatter object for this handler to " "use." msgstr "" +":meth:`~Handler.setFormatter` sélectionne l'objet `Formatter` utilisé par " +"cet `handler`." #: ../Doc/howto/logging.rst:503 msgid "" ":meth:`~Handler.addFilter` and :meth:`~Handler.removeFilter` respectively " "configure and deconfigure filter objects on handlers." msgstr "" +":meth:`~Handler.addFilter` et :meth:`~Handler.removeFilter` configurent et " +"respectivement dé-configurent des objets `filter` sur les `handlers`." #: ../Doc/howto/logging.rst:506 msgid "" @@ -706,10 +979,15 @@ msgid "" "the interface that all handlers should have and establishes some default " "behavior that child classes can use (or override)." msgstr "" +"Le code d'une application ne devrait ni instancier, ni utiliser d'instances " +"de la classe :class:`Handler`. La classe :class:`Handler` est plutôt d'une " +"classe de base qui définit l'interface que tous les gestionnaires doivent " +"avoir et établit les comportements par défaut que les classes filles peuvent " +"employer (ou redéfinir)." #: ../Doc/howto/logging.rst:513 msgid "Formatters" -msgstr "" +msgstr "Formatters" #: ../Doc/howto/logging.rst:515 msgid "" @@ -720,6 +998,13 @@ msgid "" "takes three optional arguments -- a message format string, a date format " "string and a style indicator." msgstr "" +"Les objets `formatter` configurent l'ordre final, la structure et le contenu " +"du message. Contrairement à la classe de base :class:`logging.Handler`, le " +"code d'une application peut instancier un objet de classe `formatter`, même " +"si vous pouvez toujours sous-classer `formatter` si vous avez besoin d'un " +"comportement spécial dans votre application. Le constructeur a trois " +"arguments optionnels : une chaîne de formatage du message, un chaîne de " +"formatage de la date et un indicateur de style." #: ../Doc/howto/logging.rst:524 msgid "" @@ -732,6 +1017,8 @@ msgid "" "with the milliseconds tacked on at the end. The ``style`` is one of `%`, '{' " "or '$'. If one of these is not specified, then '%' will be used." msgstr "" +"avec les millisecondes en suffixe. Le ``style`` est `%`, `{` ou `$`. Si " +"aucun n'est spécifié, `%` sera utilisé." #: ../Doc/howto/logging.rst:532 msgid "" @@ -742,10 +1029,17 @@ msgid "" "arguments), while if the style is '$' then the message format string should " "conform to what is expected by :meth:`string.Template.substitute`." msgstr "" +"Si l'argument ``style`` est `%`, la chaîne de formatage utilise ``%()s`` comme style de substitution de chaîne de caractères ; les " +"clefs possibles sont documentées dans :ref:`logrecord-attributes`. Si le " +"style est `{`, le message de la chaîne de formatage est compatible avec :" +"meth:`str.format` (en employant des arguments à mots clefs). Enfin si le " +"style est `$` alors la chaîne de formatage du message doit être conforme à " +"ce qui est attendu de :meth:`string.Template.substitute`." #: ../Doc/howto/logging.rst:539 msgid "Added the ``style`` parameter." -msgstr "" +msgstr "Ajout du paramètre ``style``." #: ../Doc/howto/logging.rst:542 msgid "" @@ -753,6 +1047,9 @@ msgid "" "format, the severity of the message, and the contents of the message, in " "that order::" msgstr "" +"La chaîne de formatage de message suivante enregistrera le temps dans un " +"format lisible par les humains, la sévérité du message et son contenu, dans " +"cet ordre ::" #: ../Doc/howto/logging.rst:548 msgid "" @@ -764,20 +1061,31 @@ msgid "" "want all logging times to be shown in GMT, set the ``converter`` attribute " "in the Formatter class (to ``time.gmtime`` for GMT display)." msgstr "" +"Les `formatters` emploient une fonction configurable par l'utilisateur pour " +"convertir le temps de création d'une entrée de journal en un tuple. Par " +"défaut, :func:`time.localtime` est employé ; pour changer cela pour une " +"instance particulière de `formatter`, assignez une fonction avec la même " +"signature que :func:`time.localtime` ou :func:`time.gmtime` à l'attribut " +"``converter`` de cette instance. Pour changer cela pour tous les " +"`formatters`, par exemple si vous voulez que tous votre horodatage soit " +"affiché en GMT, changez l'attribut ``converter`` de la classe ``Formatter`` " +"en ``time.gmtime``." #: ../Doc/howto/logging.rst:558 msgid "Configuring Logging" -msgstr "" +msgstr "Configuration de `Logging`" #: ../Doc/howto/logging.rst:562 msgid "Programmers can configure logging in three ways:" -msgstr "" +msgstr "On peut configurer `logging` de trois façons :" #: ../Doc/howto/logging.rst:564 msgid "" "Creating loggers, handlers, and formatters explicitly using Python code that " "calls the configuration methods listed above." msgstr "" +"Créer des `loggers`, `handlers` et `formatters` explicitement en utilisant " +"du code Python qui appelle les méthodes de configuration listées ci-dessus." #: ../Doc/howto/logging.rst:566 msgid "" @@ -790,6 +1098,8 @@ msgid "" "Creating a dictionary of configuration information and passing it to the :" "func:`dictConfig` function." msgstr "" +"Créer un dictionnaire d'informations de configuration et le passer à la " +"fonction :func:`dictConfig`." #: ../Doc/howto/logging.rst:571 msgid "" @@ -797,11 +1107,17 @@ msgid "" "config-api`. The following example configures a very simple logger, a " "console handler, and a simple formatter using Python code::" msgstr "" +"Pour la documentation de référence de ces deux dernières options, voyez :ref:" +"`logging-config-api`. L'exemple suivant configure un `logger` très simple, " +"un `handler` employant la console, et un `formatter` simple en utilisant du " +"code Python ::" #: ../Doc/howto/logging.rst:601 msgid "" "Running this module from the command line produces the following output:" msgstr "" +"L'exécution de ce module via la ligne de commande produit la sortie " +"suivante :" #: ../Doc/howto/logging.rst:612 msgid "" @@ -809,6 +1125,9 @@ msgid "" "identical to those in the example listed above, with the only difference " "being the names of the objects::" msgstr "" +"Le module Python suivant crée un *logger*, un *handler* et un *formatter* " +"identiques à ceux de l'exemple détaillé au-dessus, au nom des objets " +"près : ::" #: ../Doc/howto/logging.rst:631 msgid "Here is the logging.conf file::" @@ -818,6 +1137,8 @@ msgstr "" msgid "" "The output is nearly identical to that of the non-config-file-based example:" msgstr "" +"La sortie est presque identique à celle de l'exemple qui n'est pas basé sur " +"un fichier de configuration :" #: ../Doc/howto/logging.rst:673 msgid "" @@ -825,6 +1146,10 @@ msgid "" "Python code approach, mainly separation of configuration and code and the " "ability of noncoders to easily modify the logging properties." msgstr "" +"Vous pouvez constatez les avantages de l'approche par fichier de " +"configuration par rapport à celle du code Python, principalement la " +"séparation de la configuration et du code, et la possibilité pour une " +"personne qui ne code pas de modifier facilement les propriétés de `logging`." #: ../Doc/howto/logging.rst:677 msgid "" @@ -856,6 +1181,13 @@ msgid "" "module ``mymodule``, where ``mypackage`` is available on the Python import " "path)." msgstr "" +"Notez que les noms de classe référencés dans le fichier de configuration " +"doivent être relatifs au module `logging`, ou des valeurs absolues qui " +"peuvent être résolues à travers les mécanismes d'importation habituels. " +"Ainsi, on peut soit utiliser :class:`~logging.handlers.WatchedFileHandler` " +"(relativement au module `logging`) ou ``mypackage.mymodule.MyHandler`` (pour " +"une classe définie dans le paquet ``mypackage`` et le module ``mymodule``, " +"si ``mypackage`` est disponible dans les chemins d'importation de Python)." #: ../Doc/howto/logging.rst:703 msgid "" @@ -871,6 +1203,20 @@ msgid "" "can construct the dictionary in Python code, receive it in pickled form over " "a socket, or use whatever approach makes sense for your application." msgstr "" +"Dans Python 3.2, un nouveau moyen de configuration de la journalisation a " +"été introduit, à l'aide de dictionnaires pour contenir les informations de " +"configuration. Cela fournit un sur-ensemble de la fonctionnalité décrite ci-" +"dessus basée sur un fichier de configuration et c’est la méthode recommandée " +"pour les nouvelles applications et les déploiements. Étant donné qu'un " +"dictionnaire Python est utilisé pour contenir des informations de " +"configuration et que vous pouvez remplir ce dictionnaire à l'aide de " +"différents moyens, vous avez plus d'options pour la configuration. Par " +"exemple, vous pouvez utiliser un fichier de configuration au format JSON ou, " +"si vous avez accès à la fonctionnalité de traitement YAML, un fichier au " +"format YAML, pour remplir le dictionnaire de configuration. Ou bien sûr, " +"vous pouvez construire le dictionnaire dans le code Python, le recevoir sous " +"forme de *pickle* sur un connecteur (*socket* en anglais), ou utiliser " +"n'importe quelle approche suivant la logique de votre application." #: ../Doc/howto/logging.rst:715 msgid "" @@ -883,10 +1229,12 @@ msgid "" "For more information about logging using a dictionary, see :ref:`logging-" "config-api`." msgstr "" +"Pour plus d'informations sur la journalisation à l'aide d'un dictionnaire, " +"consultez :ref:`logging-config-api`." #: ../Doc/howto/logging.rst:741 msgid "What happens if no configuration is provided" -msgstr "" +msgstr "Comportement par défaut (si aucune configuration n'est fournie)" #: ../Doc/howto/logging.rst:743 msgid "" @@ -895,26 +1243,38 @@ msgid "" "output the event. The behaviour of the logging package in these " "circumstances is dependent on the Python version." msgstr "" +"Si aucune configuration de journalisation n'est fournie, il est possible " +"d'avoir une situation où un événement doit faire l'objet d'une " +"journalisation, mais où aucun gestionnaire ne peut être trouvé pour tracer " +"l'événement. Le comportement du paquet ``logging`` dans ces circonstances " +"dépend de la version Python." #: ../Doc/howto/logging.rst:748 msgid "For versions of Python prior to 3.2, the behaviour is as follows:" msgstr "" +"Pour les versions de Python antérieures à 3.2, le comportement est le " +"suivant :" #: ../Doc/howto/logging.rst:750 msgid "" "If *logging.raiseExceptions* is ``False`` (production mode), the event is " "silently dropped." msgstr "" +"Si *logging.raiseExceptions* vaut ``False`` (mode production), l’événement " +"est silencieusement abandonné." #: ../Doc/howto/logging.rst:753 msgid "" "If *logging.raiseExceptions* is ``True`` (development mode), a message 'No " "handlers could be found for logger X.Y.Z' is printed once." msgstr "" +"Si *logging.raiseExceptions* vaut ``True`` (mode de développement), un " +"message *No handlers could be found for logger X.Y.Z* est écrit sur la " +"sortie standard une fois." #: ../Doc/howto/logging.rst:756 msgid "In Python 3.2 and later, the behaviour is as follows:" -msgstr "" +msgstr "Dans Python 3.2 et ultérieur, le comportement est le suivant :" #: ../Doc/howto/logging.rst:758 msgid "" @@ -927,16 +1287,27 @@ msgid "" "handler's level is set to ``WARNING``, so all events at this and greater " "severities will be output." msgstr "" +"L'événement est sorti à l'aide d'un « gestionnaire de dernier recours », " +"stocké dans ``logging.lastResort``. Ce gestionnaire interne n'est associé à " +"aucun enregistreur et agit comme un :class:`~logging.StreamHandler` qui " +"écrit le message de description de l'événement vers la valeur actuelle de " +"``sys.stderr`` (par conséquent, en respectant les redirections qui peuvent " +"être en vigueur). Aucun formatage n'est fait sur le message – juste le " +"message de description de l'événement nu est affiché. Le niveau du " +"gestionnaire est défini sur ``WARNING``, de sorte que tous les événements de " +"cette sévérité et plus seront écrits." #: ../Doc/howto/logging.rst:767 msgid "" "To obtain the pre-3.2 behaviour, ``logging.lastResort`` can be set to " "``None``." msgstr "" +"Pour obtenir un comportement antérieur à 3.2, ``logging.lastResort`` peut " +"être mis à ``None``." #: ../Doc/howto/logging.rst:772 msgid "Configuring Logging for a Library" -msgstr "" +msgstr "Configuration de la journalisation pour une bibliothèque" #: ../Doc/howto/logging.rst:774 msgid "" @@ -948,6 +1319,15 @@ msgid "" "of severity ``WARNING`` and greater will be printed to ``sys.stderr``. This " "is regarded as the best default behaviour." msgstr "" +"Lors du développement d'une bibliothèque qui utilise la journalisation, vous " +"devez prendre soin de documenter la façon dont la bibliothèque utilise la " +"journalisation (par exemple, les noms des enregistreurs utilisés). Consacrez " +"aussi un peu de temps à la configuration de la journalisation. Si " +"l'application utilisant votre bibliothèque n'utilise pas la journalisation " +"et que le code de la bibliothèque effectue des appels de journalisation, " +"alors (comme décrit dans la section précédente), les événements de gravité " +"``WARNING`` et au-dessus seront écrits sur ``sys.stderr``. Cela est " +"considéré comme le meilleur comportement par défaut." #: ../Doc/howto/logging.rst:782 msgid "" @@ -978,6 +1358,9 @@ msgid "" "libraries, then the logger name specified can be 'orgname.foo' rather than " "just 'foo'." msgstr "" +"doit avoir l'effet désiré. Si une organisation produit un certain nombre de " +"bibliothèques, le nom de l'enregistreur spécifié peut être ``orgname.foo`` " +"plutôt que simplement ``foo``." #: ../Doc/howto/logging.rst:806 msgid "" @@ -989,10 +1372,18 @@ msgid "" "handlers 'under the hood', you might well interfere with their ability to " "carry out unit tests and deliver logs which suit their requirements." msgstr "" +"Il est vivement conseillé de ne *pas ajouter de gestionnaires autres que* :" +"class:`~logging.NullHandler` *aux enregistreurs de votre bibliothèque*. Cela " +"est dû au fait que la configuration des gestionnaires est la prérogative du " +"développeur d'applications qui utilise votre bibliothèque. Le développeur " +"d'applications connaît le public cible et les gestionnaires les plus " +"appropriés pour ses applications : si vous ajoutez des gestionnaires « sous " +"le manteau », vous pourriez bien interférer avec les tests unitaires et la " +"journalisation qui convient à ses exigences." #: ../Doc/howto/logging.rst:817 msgid "Logging Levels" -msgstr "" +msgstr "Niveaux de journalisation" #: ../Doc/howto/logging.rst:819 msgid "" @@ -1002,10 +1393,15 @@ msgid "" "define a level with the same numeric value, it overwrites the predefined " "value; the predefined name is lost." msgstr "" +"Les valeurs numériques des niveaux de journalisation sont données dans le " +"tableau suivant. Celles-ci n'ont d'intérêt que si vous voulez définir vos " +"propres niveaux, avec des valeurs spécifiques par rapport aux niveaux " +"prédéfinis. Si vous définissez un niveau avec la même valeur numérique, il " +"écrase la valeur prédéfinie ; le nom prédéfini est perdu." #: ../Doc/howto/logging.rst:826 msgid "Numeric value" -msgstr "" +msgstr "Valeur numérique" #: ../Doc/howto/logging.rst:828 msgid "50" @@ -1044,6 +1440,14 @@ msgid "" "the method call's, no logging message is actually generated. This is the " "basic mechanism controlling the verbosity of logging output." msgstr "" +"Les niveaux peuvent également être associés à des enregistreurs, étant " +"définis soit par le développeur, soit par le chargement d'une configuration " +"de journalisation enregistrée. Lorsqu'une méthode de journalisation est " +"appelée sur un enregistreur, l'enregistreur compare son propre niveau avec " +"le niveau associé à l'appel de méthode. Si le niveau de l'enregistreur est " +"supérieur à l'appel de méthode, aucun message de journalisation n'est " +"réellement généré. C'est le mécanisme de base contrôlant la verbosité de la " +"sortie de journalisation." #: ../Doc/howto/logging.rst:848 msgid "" @@ -1051,6 +1455,10 @@ msgid "" "class. When a logger decides to actually log an event, a :class:`~logging." "LogRecord` instance is created from the logging message." msgstr "" +"Les messages de journalisation sont codés en tant qu'instances de :class:" +"`~logging.LogRecord`. Lorsqu'un enregistreur décide de réellement " +"enregistrer un événement, une instance de :class:`~logging.LogRecord` est " +"créée à partir du message de journalisation." #: ../Doc/howto/logging.rst:852 msgid "" @@ -1068,6 +1476,23 @@ msgid "" "message (unless the *propagate* flag for a logger is set to a false value, " "at which point the passing to ancestor handlers stops)." msgstr "" +"Les messages de journalisation sont soumis à un mécanisme d'expédition via " +"l'utilisation de :dfn:`handlers`, qui sont des instances de sous-classes de " +"la classe :class:`Handler`. Les gestionnaires sont chargés de s'assurer " +"qu'un message journalisé (sous la forme d'un :class:`LogRecord`) atterrit " +"dans un emplacement particulier (ou un ensemble d'emplacements) qui est " +"utile pour le public cible pour ce message (tels que les utilisateurs " +"finaux, le personnel chargé de l'assistance aux utilisateurs, les " +"administrateurs système ou les développeurs). Des instances de :class:" +"`LogRecord` adaptées à leur destination finale sont passées aux " +"gestionnaires destinées à des destinations particulières. Chaque " +"enregistreur peut avoir zéro, un ou plusieurs gestionnaires associés à celui-" +"ci (via la méthode :meth:`~Logger.addHandler` de :class:`Logger`). En plus " +"de tous les gestionnaires directement associés à un enregistreur, *tous les " +"gestionnaires associés à tous les ancêtres de l'enregistreur* sont appelés " +"pour envoyer le message (à moins que l'indicateur *propager* pour un " +"enregistreur soit défini sur la valeur ``False``, auquel cas le passage à " +"l'ancêtre gestionnaires s'arrête)." #: ../Doc/howto/logging.rst:866 msgid "" @@ -1078,10 +1503,17 @@ msgid "" "defined subclasses of :class:`Handler` will need to override this :meth:" "`~Handler.emit`." msgstr "" +"Tout comme pour les enregistreurs, les gestionnaires peuvent avoir des " +"niveaux associés. Le niveau d'un gestionnaire agit comme un filtre de la " +"même manière que le niveau d'un enregistreur. Si un gestionnaire décide de " +"réellement distribuer un événement, la méthode :meth:`~Handler.emit` est " +"utilisée pour envoyer le message à sa destination. La plupart des sous-" +"classes définies par l'utilisateur de :class:`Handler` devront remplacer ce :" +"meth:`~Handler.emit`." #: ../Doc/howto/logging.rst:875 msgid "Custom Levels" -msgstr "" +msgstr "Niveaux personnalisés" #: ../Doc/howto/logging.rst:877 msgid "" @@ -1095,26 +1527,43 @@ msgid "" "difficult for the using developer to control and/or interpret, because a " "given numeric value might mean different things for different libraries." msgstr "" +"La définition de vos propres niveaux est possible, mais ne devrait pas être " +"nécessaire, car les niveaux existants ont été choisis par expérience. " +"Cependant, si vous êtes convaincu que vous avez besoin de niveaux " +"personnalisés, prenez grand soin à leur réalisation et il est pratiquement " +"certain que c’est *une très mauvaise idée de définir des niveaux " +"personnalisés si vous développez une bibliothèque*. Car si plusieurs auteurs " +"de bibliothèque définissent tous leurs propres niveaux personnalisés, il y a " +"une chance que la sortie de journalisation de ces multiples bibliothèques " +"utilisées ensemble sera difficile pour le développeur à utiliser pour " +"contrôler et/ou interpréter, car une valeur numérique donnée peut signifier " +"des choses différentes pour différentes bibliothèques." #: ../Doc/howto/logging.rst:890 msgid "Useful Handlers" -msgstr "" +msgstr "Gestionnaires utiles" #: ../Doc/howto/logging.rst:892 msgid "" "In addition to the base :class:`Handler` class, many useful subclasses are " "provided:" msgstr "" +"En plus de la classe de base :class:`Handler`, de nombreuses sous-classes " +"utiles sont fournies :" #: ../Doc/howto/logging.rst:895 msgid "" ":class:`StreamHandler` instances send messages to streams (file-like " "objects)." msgstr "" +"Les instances :class:`StreamHandler` envoient des messages aux flux (objets " +"de type fichier)." #: ../Doc/howto/logging.rst:898 msgid ":class:`FileHandler` instances send messages to disk files." msgstr "" +"Les instances :class:`FileHandler` envoient des messages à des fichiers sur " +"le disque." #: ../Doc/howto/logging.rst:900 msgid "" @@ -1123,12 +1572,20 @@ msgid "" "directly. Instead, use :class:`~handlers.RotatingFileHandler` or :class:" "`~handlers.TimedRotatingFileHandler`." msgstr "" +":class:`~handlers.BaseRotatingHandler` est la classe de base pour les " +"gestionnaires qui assurent la rotation des fichiers de journalisation à " +"partir d’un certain point. Elle n'est pas destinée à être instanciée " +"directement. Utilisez plutôt :class:`~handlers.RotatingFileHandler` ou :" +"class:`~handlers.TimedRotatingFileHandler`." #: ../Doc/howto/logging.rst:905 msgid "" ":class:`~handlers.RotatingFileHandler` instances send messages to disk " "files, with support for maximum log file sizes and log file rotation." msgstr "" +"Les instances :class:`~handlers.RotatingFileHandler` envoient des messages à " +"des fichiers sur le disque, avec la prise en charge des tailles maximales de " +"fichiers de journalisation et de la rotation des fichiers de journalisation." #: ../Doc/howto/logging.rst:908 msgid "" @@ -1141,42 +1598,59 @@ msgid "" ":class:`~handlers.SocketHandler` instances send messages to TCP/IP sockets. " "Since 3.4, Unix domain sockets are also supported." msgstr "" +"Les instances de :class:`~handlers.SocketHandler` envoient des messages aux " +"connecteurs TCP/IP. Depuis 3.4, les connecteurs UNIX sont également pris en " +"charge." #: ../Doc/howto/logging.rst:914 msgid "" ":class:`~handlers.DatagramHandler` instances send messages to UDP sockets. " "Since 3.4, Unix domain sockets are also supported." msgstr "" +"Les instances de :class:`~handlers.DatagramHandler` envoient des messages " +"aux connecteurs UDP. Depuis 3.4, les connecteurs UNIX sont également pris en " +"charge." #: ../Doc/howto/logging.rst:917 msgid "" ":class:`~handlers.SMTPHandler` instances send messages to a designated email " "address." msgstr "" +"Les instances de :class:`~handlers.SMTPHandler` envoient des messages à une " +"adresse e-mail désignée." #: ../Doc/howto/logging.rst:920 msgid "" ":class:`~handlers.SysLogHandler` instances send messages to a Unix syslog " "daemon, possibly on a remote machine." msgstr "" +"Les instances de :class:`~handlers.SysLogHandler` envoient des messages à un " +"*daemon* *syslog* UNIX, éventuellement sur un ordinateur distant." #: ../Doc/howto/logging.rst:923 msgid "" ":class:`~handlers.NTEventLogHandler` instances send messages to a Windows " "NT/2000/XP event log." msgstr "" +"Les instances de :class:`~handlers.NTEventLogHandler` envoient des messages " +"à un journal des événements Windows NT/2000/XP." #: ../Doc/howto/logging.rst:926 msgid "" ":class:`~handlers.MemoryHandler` instances send messages to a buffer in " "memory, which is flushed whenever specific criteria are met." msgstr "" +"Les instances de :class:`~handlers.MemoryHandler` envoient des messages à un " +"tampon en mémoire, qui est vidé chaque fois que des critères spécifiques " +"sont remplis." #: ../Doc/howto/logging.rst:929 msgid "" ":class:`~handlers.HTTPHandler` instances send messages to an HTTP server " "using either ``GET`` or ``POST`` semantics." msgstr "" +"Les instances de :class:`~handlers.HTTPHandler` envoient des messages à un " +"serveur HTTP à l'aide de la sémantique ``GET`` ou ``POST``." #: ../Doc/howto/logging.rst:932 msgid "" @@ -1185,12 +1659,20 @@ msgid "" "name. This handler is only useful on Unix-like systems; Windows does not " "support the underlying mechanism used." msgstr "" +"Les instances de :class:`~handlers.WatchedFileHandler` surveillent le " +"fichier sur lequel elles se connectent. Si le fichier change, il est fermé " +"et rouvert à l'aide du nom de fichier. Ce gestionnaire n'est utile que sur " +"les systèmes de type UNIX ; Windows ne prend pas en charge le mécanisme sous-" +"jacent utilisé." #: ../Doc/howto/logging.rst:937 msgid "" ":class:`~handlers.QueueHandler` instances send messages to a queue, such as " "those implemented in the :mod:`queue` or :mod:`multiprocessing` modules." msgstr "" +"Les instances de :class:`~handlers.QueueHandler` envoient des messages à une " +"file d'attente, telles que celles implémentées dans les modules :mod:`queue` " +"ou :mod:`multiprocessing`." #: ../Doc/howto/logging.rst:940 msgid "" @@ -1200,14 +1682,20 @@ msgid "" "the library user has not configured logging. See :ref:`library-config` for " "more information." msgstr "" +"Les instances :class:`NullHandler` ne font rien avec les messages d'erreur. " +"Ils sont utilisés par les développeurs de bibliothèques qui veulent utiliser " +"la journalisation, mais qui veulent éviter les messages de type *No handlers " +"could be found for logger XXX*, affiché si celui qui utilise la bibliothèque " +"n'a pas configuré la journalisation. Voir :ref:`library-config` pour plus " +"d'informations." #: ../Doc/howto/logging.rst:946 msgid "The :class:`NullHandler` class." -msgstr "" +msgstr "La classe :class:`NullHandler`." #: ../Doc/howto/logging.rst:949 msgid "The :class:`~handlers.QueueHandler` class." -msgstr "" +msgstr "La classe :class:`~handlers.QueueHandler`." #: ../Doc/howto/logging.rst:952 msgid "" @@ -1223,6 +1711,10 @@ msgid "" "class:`Formatter` class. They are initialized with a format string suitable " "for use with the % operator and a dictionary." msgstr "" +"Les messages journalisés sont mis en forme pour la présentation via des " +"instances de la classe :class:`Formatter`. Ils sont initialisés avec une " +"chaîne de format appropriée pour une utilisation avec l'opérateur % et un " +"dictionnaire." #: ../Doc/howto/logging.rst:961 msgid "" @@ -1231,6 +1723,10 @@ msgid "" "applied to each message in the batch), there is provision for header and " "trailer format strings." msgstr "" +"Pour formater plusieurs messages dans un lot, des instances de :class:" +"`~handlers.BufferingFormatter` peuvent être utilisées. En plus de la chaîne " +"de format (qui est appliquée à chaque message dans le lot), il existe des " +"dispositions pour les chaînes de format d'en-tête et de fin." #: ../Doc/howto/logging.rst:966 msgid "" @@ -1241,6 +1737,13 @@ msgid "" "consult all their filters for permission. If any filter returns a false " "value, the message is not processed further." msgstr "" +"Lorsque le filtrage basé sur le niveau de l'enregistreur et/ou le niveau du " +"gestionnaire ne suffit pas, les instances de :class:`Filter` peuvent être " +"ajoutées aux deux instances de :class:`Logger` et :class:`Handler` (par le " +"biais de leur méthode :meth:`~Handler.addFilter`). Avant de décider de " +"traiter un message plus loin, les enregistreurs et les gestionnaires " +"consultent tous leurs filtres pour obtenir l'autorisation. Si un filtre " +"renvoie une valeur ``False``, le traitement du message est arrêté." #: ../Doc/howto/logging.rst:973 msgid "" @@ -1248,10 +1751,14 @@ msgid "" "name. If this feature is used, messages sent to the named logger and its " "children are allowed through the filter, and all others dropped." msgstr "" +"La fonctionnalité de base :class:`Filter` permet de filtrer par nom de " +"*logger* spécifique. Si cette fonctionnalité est utilisée, les messages " +"envoyés à l'enregistreur nommé et à ses enfants sont autorisés via le filtre " +"et tous les autres sont abandonnés." #: ../Doc/howto/logging.rst:981 msgid "Exceptions raised during logging" -msgstr "" +msgstr "Exceptions levées par la journalisation" #: ../Doc/howto/logging.rst:983 msgid "" @@ -1260,6 +1767,12 @@ msgid "" "logging events - such as logging misconfiguration, network or other similar " "errors - do not cause the application using logging to terminate prematurely." msgstr "" +"Le paquet de journalisation est conçu pour ne pas faire apparaître les " +"exceptions qui se produisent lors de la journalisation en production. Il " +"s'agit de sorte que les erreurs qui se produisent lors de la gestion des " +"événements de journalisation (telles qu'une mauvaise configuration de la " +"journalisation , une erreur réseau ou d'autres erreurs similaires) ne " +"provoquent pas l'arrêt de l'application utilisant la journalisation." #: ../Doc/howto/logging.rst:988 msgid "" @@ -1268,6 +1781,10 @@ msgid "" "method of a :class:`Handler` subclass are passed to its :meth:`~Handler." "handleError` method." msgstr "" +"Les exceptions :class:`SystemExit` et :class:`KeyboardInterrupt` ne sont " +"jamais passées sous silence. Les autres exceptions qui se produisent pendant " +"la méthode :meth:`~Handler.emit` d'une sous classe :class:`Handler` sont " +"passées à sa méthode :meth:`~Handler.handleError`." #: ../Doc/howto/logging.rst:993 msgid "" @@ -1276,6 +1793,11 @@ msgid "" "is set. If set, a traceback is printed to :data:`sys.stderr`. If not set, " "the exception is swallowed." msgstr "" +"L'implémentation par défaut de :meth:`~Handler.handleError` dans la classe :" +"class:`Handler` vérifie si une variable au niveau du module, :data:" +"`raiseExceptions`, est définie. Si cette valeur est définie, la trace de la " +"pile d'appels est affichée sur :data:`sys.stderr`. Si elle n'est pas " +"définie, l'exception est passée sous silence." #: ../Doc/howto/logging.rst:998 msgid "" @@ -1284,10 +1806,14 @@ msgid "" "occur. It's advised that you set :data:`raiseExceptions` to ``False`` for " "production usage." msgstr "" +"La valeur par défaut de :data:`raiseExceptions` est ``True``. C'est parce " +"que pendant le développement, vous voulez généralement être notifié de " +"toutes les exceptions qui se produisent. Il est conseillé de définir :data:" +"`raiseExceptions` à ``False`` pour une utilisation en production." #: ../Doc/howto/logging.rst:1008 msgid "Using arbitrary objects as messages" -msgstr "" +msgstr "Utilisation d'objets arbitraires comme messages" #: ../Doc/howto/logging.rst:1010 msgid "" @@ -1300,10 +1826,19 @@ msgid "" "`~handlers.SocketHandler` emits an event by pickling it and sending it over " "the wire." msgstr "" +"Dans les sections et exemples précédents, il a été supposé que le message " +"passé lors de la journalisation de l'événement est une chaîne. Cependant, ce " +"n'est pas la seule possibilité. Vous pouvez passer un objet arbitraire en " +"tant que message et sa méthode :meth:`~object.__str__` est appelée lorsque " +"le système de journalisation doit le convertir en une représentation sous " +"forme de chaîne. En fait, si vous le souhaitez, vous pouvez complètement " +"éviter de calculer une représentation sous forme de chaîne. Par exemple, les " +"gestionnaires :class:`~handlers.SocketHandler` émettent un événement en lui " +"appliquant *pickle* et en l'envoyant sur le réseau." #: ../Doc/howto/logging.rst:1021 msgid "Optimization" -msgstr "" +msgstr "Optimisation" #: ../Doc/howto/logging.rst:1023 msgid "" @@ -1315,12 +1850,23 @@ msgid "" "event would be created by the Logger for that level of call. You can write " "code like this::" msgstr "" +"La mise en forme des arguments de message est différée jusqu'à ce qu'elle ne " +"puisse pas être évitée. Toutefois, le calcul des arguments passés à la " +"méthode de journalisation peut également être coûteux et vous voudrez peut-" +"être éviter de le faire si l'enregistreur va simplement jeter votre " +"événement. Pour décider de ce qu'il faut faire, vous pouvez appeler la " +"méthode :meth:`~Logger.isEnabledFor` qui prend en argument le niveau et " +"renvoie ``True`` si un événement est créé par l'enregistreur pour ce niveau " +"d'appel. Vous pouvez écrire un code qui ressemble à ça ::" #: ../Doc/howto/logging.rst:1035 msgid "" "so that if the logger's threshold is set above ``DEBUG``, the calls to :func:" "`expensive_func1` and :func:`expensive_func2` are never made." msgstr "" +"de sorte que si le seuil du journaliseur est défini au-dessus de ``DEBUG``, " +"les appels à :func:`expensive_func1` et :func:`expensive_func2` ne sont " +"jamais faits." #: ../Doc/howto/logging.rst:1038 msgid "" @@ -1333,6 +1879,16 @@ msgid "" "need to be recomputed when the logging configuration changes dynamically " "while the application is running (which is not all that common)." msgstr "" +"Dans certains cas, :meth:`~Logger.isEnabledFor` peut être plus coûteux que " +"vous le souhaitez (par exemple pour les enregistreurs profondément imbriqués " +"où un niveau explicite n'est défini que dans la hiérarchie des " +"enregistreurs). Dans de tels cas (ou si vous souhaitez éviter d'appeler une " +"méthode dans des boucles optimisées), vous pouvez mettre en cache le " +"résultat d'un appel à :meth:`~Logger.isEnabledFor` dans une variable locale " +"ou d'instance, et l'utiliser au lieu d'appeler la méthode à chaque fois. Une " +"telle valeur mise en cache ne doit être recalculée que lorsque la " +"configuration de journalisation change dynamiquement pendant l'exécution de " +"l'application (ce qui est rarement le cas)." #: ../Doc/howto/logging.rst:1047 msgid "" @@ -1341,18 +1897,23 @@ msgid "" "Here's a list of things you can do to avoid processing during logging which " "you don't need:" msgstr "" +"Il existe d'autres optimisations qui peuvent être faites pour des " +"applications spécifiques qui nécessitent un contrôle plus précis sur les " +"informations de journalisation collectées. Voici une liste de choses que " +"vous pouvez faire pour éviter le traitement pendant la journalisation dont " +"vous n'avez pas besoin :" #: ../Doc/howto/logging.rst:1053 msgid "What you don't want to collect" -msgstr "" +msgstr "Ce que vous ne voulez pas collecter" #: ../Doc/howto/logging.rst:1053 msgid "How to avoid collecting it" -msgstr "" +msgstr "Comment éviter de le collecter" #: ../Doc/howto/logging.rst:1055 msgid "Information about where calls were made from." -msgstr "" +msgstr "Informations sur l'endroit où les appels ont été faits." #: ../Doc/howto/logging.rst:1055 msgid "" @@ -1361,22 +1922,26 @@ msgid "" "(which can't speed up code that uses :func:`sys._getframe`), if and when " "PyPy supports Python 3.x." msgstr "" +"Définissez ``logging._srcfile`` à ``None``. Cela évite d'appeler :func:`sys." +"_getframe`, qui peut aider à accélérer votre code dans des environnements " +"comme PyPy (qui ne peut pas accélérer le code qui utilise :func:`sys." +"_getframe`), si et quand PyPy prendra en charge Python 3.x." #: ../Doc/howto/logging.rst:1063 msgid "Threading information." -msgstr "" +msgstr "Informations de *threading*." #: ../Doc/howto/logging.rst:1063 msgid "Set ``logging.logThreads`` to ``0``." -msgstr "" +msgstr "Mettez ``logging.logThreads`` à ``0``." #: ../Doc/howto/logging.rst:1065 msgid "Process information." -msgstr "" +msgstr "Informations sur le processus." #: ../Doc/howto/logging.rst:1065 msgid "Set ``logging.logProcesses`` to ``0``." -msgstr "" +msgstr "Mettez ``logging.logProcesses`` à ``0``." #: ../Doc/howto/logging.rst:1068 msgid "" @@ -1384,31 +1949,34 @@ msgid "" "you don't import :mod:`logging.handlers` and :mod:`logging.config`, they " "won't take up any memory." msgstr "" +"Notez également que le module de journalisation principale inclut uniquement " +"les gestionnaires de base. Si vous n'importez pas :mod:`logging.handlers` " +"et :mod:`logging.config`, ils ne prendront pas de mémoire." #: ../Doc/howto/logging.rst:1075 msgid "Module :mod:`logging`" -msgstr "" +msgstr "Module :mod:`logging`" #: ../Doc/howto/logging.rst:1075 msgid "API reference for the logging module." -msgstr "" +msgstr "Référence d'API pour le module de journalisation." #: ../Doc/howto/logging.rst:1078 msgid "Module :mod:`logging.config`" -msgstr "" +msgstr "Module :mod:`logging.config`" #: ../Doc/howto/logging.rst:1078 msgid "Configuration API for the logging module." -msgstr "" +msgstr "API de configuration pour le module de journalisation." #: ../Doc/howto/logging.rst:1081 msgid "Module :mod:`logging.handlers`" -msgstr "" +msgstr "Module :mod:`logging.handlers`" #: ../Doc/howto/logging.rst:1081 msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Gestionnaires utiles inclus avec le module de journalisation." #: ../Doc/howto/logging.rst:1083 msgid ":ref:`A logging cookbook `" -msgstr "" +msgstr ":ref:`A logging cookbook `" diff --git a/howto/pyporting.po b/howto/pyporting.po index 37e7841c..03ac8c0c 100644 --- a/howto/pyporting.po +++ b/howto/pyporting.po @@ -259,7 +259,7 @@ msgstr "" #: ../Doc/howto/pyporting.rst:157 msgid "Division" -msgstr "" +msgstr "Division" #: ../Doc/howto/pyporting.rst:159 msgid "" diff --git a/howto/sockets.po b/howto/sockets.po index e5e40c91..08c21c39 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -22,7 +22,7 @@ msgstr "" #: ../Doc/howto/sockets.rst:7 msgid "Gordon McMillan" -msgstr "" +msgstr "Gordon McMillan" #: ../Doc/howto/sockets.rst:0 msgid "Abstract" @@ -53,6 +53,17 @@ msgid "" "blocking sockets. But I'll start by talking about blocking sockets. You'll " "need to know how they work before dealing with non-blocking sockets." msgstr "" +"Je ne vais aborder que les connecteurs INET (i.e. IPv4), mais ils " +"représentent au moins 99% des connecteurs (*socket* en anglais) utilisés. Et " +"je n'aborderai que les connecteurs STREAM (i.e. TCP) — à moins que vous ne " +"sachiez vraiment ce que vous faites (auquel cas ce HOWTO n'est pas pour " +"vous !), vous obtiendrez un meilleur comportement et de meilleures " +"performances avec un connecteur STREAM que tout autre. Je vais essayer " +"d'éclaircir le mystère de ce qu'est un connecteur, ainsi que quelques " +"conseils sur la façon de travailler avec des connecteurs bloquants et non " +"bloquants. Mais je vais commencer par aborder les connecteurs bloquants. " +"Nous avons besoin de savoir comment ils fonctionnent avant de traiter les " +"connecteurs non bloquants." #: ../Doc/howto/sockets.rst:31 msgid "" @@ -118,6 +129,12 @@ msgid "" "machine. ``s.bind(('', 80))`` specifies that the socket is reachable by any " "address the machine happens to have." msgstr "" +"Quelques remarques : nous avons utilisé ``socket.gethostname()`` pour que le " +"connecteur soit visible par le monde extérieur. Si nous avions utilisé ``s." +"bind((('localhost', 80))`` ou ``s.bind((('127.0.0.0.1', 80))`` nous aurions " +"encore un connecteur \"serveur\", mais qui ne serait visible que sur la " +"machine même. ``s.bind('', 80)]`` spécifie que le socket est accessible par " +"toute adresse que la machine possède." #: ../Doc/howto/sockets.rst:87 msgid "" @@ -125,6 +142,9 @@ msgid "" "known\" services (HTTP, SNMP etc). If you're playing around, use a nice high " "number (4 digits)." msgstr "" +"Une deuxième chose à noter : les ports dont le numéro est petit sont " +"généralement réservés aux services \"bien connus\" (HTTP, SNMP, etc.). Si " +"vous expérimentez, utilisez un nombre suffisamment élevé (4 chiffres)." #: ../Doc/howto/sockets.rst:91 msgid "" @@ -133,6 +153,10 @@ msgid "" "outside connections. If the rest of the code is written properly, that " "should be plenty." msgstr "" +"Enfin, l'argument ``listen`` indique à la bibliothèque de connecteurs que " +"nous voulons qu'elle mette en file d'attente jusqu'à 5 requêtes de connexion " +"(le maximum normal) avant de refuser les connexions externes. Si le reste du " +"code est écrit correctement, cela devrait suffire." #: ../Doc/howto/sockets.rst:95 msgid "" @@ -158,7 +182,7 @@ msgstr "" #: ../Doc/howto/sockets.rst:121 msgid "IPC" -msgstr "" +msgstr "Communication Entre Processus" #: ../Doc/howto/sockets.rst:123 msgid "" @@ -168,6 +192,11 @@ msgid "" "a shortcut around a couple of layers of network code and be quite a bit " "faster." msgstr "" +"Si vous avez besoin d'une communication rapide entre deux processus sur une " +"même machine, vous devriez regarder comment utiliser les *pipes* ou la " +"mémoire partagée. Si vous décidez d'utiliser les sockets AF_INET, liez le " +"connecteur \"serveur\" à ``'localhost'``. Sur la plupart des plates-formes, " +"cela court-circuitera quelques couches réseau et sera un peu plus rapide." #: ../Doc/howto/sockets.rst:129 msgid "" @@ -227,6 +256,10 @@ msgid "" "request, then reads a reply. That's it. The socket is discarded. This means " "that a client can detect the end of the reply by receiving 0 bytes." msgstr "" +"Un protocole comme HTTP utilise un connecteur pour un seul transfert. Le " +"client envoie une demande, puis lit une réponse. C'est tout. Le connecteur " +"est mis au rebut. Cela signifie qu'un client peut détecter la fin de la " +"réponse en recevant 0 octet." #: ../Doc/howto/sockets.rst:169 msgid "" @@ -241,12 +274,27 @@ msgid "" "they are* (much better), *or end by shutting down the connection*. The " "choice is entirely yours, (but some ways are righter than others)." msgstr "" +"Mais si vous prévoyez de réutiliser votre connecteur pour d'autres " +"transferts, vous devez réaliser que il n'y a *pas* d':abbr:`EOT (End of " +"Transfer)` sur un connecteur. Je répète : si un connecteur ``send`` ou " +"``recv`` retourne après avoir manipulé 0 octets, la connexion a été " +"interrompue. Si la connexion n'a *pas* été interrompue, vous pouvez attendre " +"sur un ``recv`` pour toujours, car le connecteur ne vous dira pas qu'il n'y " +"a plus rien à lire (pour le moment). Maintenant, si vous y réfléchissez un " +"peu, vous allez vous rendre compte d'une vérité fondamentale sur les " +"connecteurs : *les messages doivent être de longueur fixe* (beurk), *ou être " +"délimités* (haussement d'épaules), *ou indiquer de quelle longueur ils sont* " +"(beaucoup mieux), *ou terminer en coupant la connexion*. Le choix est " +"entièrement de votre côté, (mais certaines façons sont plus justes que " +"d'autres)." #: ../Doc/howto/sockets.rst:180 msgid "" "Assuming you don't want to end the connection, the simplest solution is a " "fixed length message::" msgstr "" +"En supposant que vous ne vouliez pas terminer la connexion, la solution la " +"plus simple est un message de longueur fixe ::" #: ../Doc/howto/sockets.rst:217 msgid "" @@ -298,7 +346,7 @@ msgstr "" #: ../Doc/howto/sockets.rst:252 msgid "Binary Data" -msgstr "" +msgstr "Données binaires" #: ../Doc/howto/sockets.rst:254 msgid "" @@ -324,7 +372,7 @@ msgstr "" #: ../Doc/howto/sockets.rst:272 msgid "Disconnecting" -msgstr "" +msgstr "Déconnexion" #: ../Doc/howto/sockets.rst:274 msgid "" @@ -388,6 +436,10 @@ msgid "" "calls, in much the same ways. It's just that, if you do it right, your app " "will be almost inside-out." msgstr "" +"Si vous avez compris ce qui précède, vous savez déjà tout ce que vous devez " +"savoir sur la mécanique de l'utilisation des connecteurs. Vous utiliserez " +"toujours les mêmes appels, de la même façon. C'est juste que, si vous le " +"faites bien, votre application sera presque dans la poche." #: ../Doc/howto/sockets.rst:320 msgid "" @@ -398,6 +450,13 @@ msgid "" "the exact same idea. You do this after creating the socket, but before using " "it. (Actually, if you're nuts, you can switch back and forth.)" msgstr "" +"En Python, vous utilisez ``socket.setblocking(0)`` pour le rendre non-" +"bloquant. En C, c'est plus complexe, (pour commencer, vous devez choisir " +"entre la version BSD ``O_NONBLOCK`` et la version Posix presque impossible à " +"distinguer ``O_NDELAY``, qui est complètement différente de " +"``TCP_NODELAY``), mais c'est exactement la même idée. Vous le faites après " +"avoir créé le connecteur mais avant de l'utiliser (en fait, si vous êtes " +"fou, vous pouvez alterner)." #: ../Doc/howto/sockets.rst:327 msgid "" @@ -411,7 +470,7 @@ msgstr "" #: ../Doc/howto/sockets.rst:334 msgid "Use ``select``." -msgstr "" +msgstr "Utiliser ``select``." #: ../Doc/howto/sockets.rst:336 msgid "" @@ -419,6 +478,9 @@ msgid "" "but it's close enough to the C version that if you understand ``select`` in " "Python, you'll have little trouble with it in C::" msgstr "" +"En C, implémenter ``select`` est assez complexe. En Python, c'est du gâteau, " +"mais c'est assez proche de la version C ; aussi, si vous comprenez " +"``select`` en Python, vous aurez peu de problèmes avec lui en C ::" #: ../Doc/howto/sockets.rst:347 msgid "" @@ -447,6 +509,14 @@ msgid "" "nothing. (Actually, any reasonably healthy socket will return as writable - " "it just means outbound network buffer space is available.)" msgstr "" +"Si un connecteur se trouve dans la liste des sorties que vous pouvez lire, " +"vous pouvez être pratiquement certain qu'un ``recv`` sur ce connecteur " +"retournera *quelque chose*. Même chose pour la liste des sorties sur " +"lesquelles vous pouvez écrire. Vous pourrez envoyer *quelque chose*. Peut-" +"être pas tout ce que vous voudrez, mais *quelque chose* est mieux que rien. " +"(En fait, n'importe quel connecteur raisonnablement sain retournera en " +"écriture — cela signifie simplement que l'espace tampon réseau sortant est " +"disponible)." #: ../Doc/howto/sockets.rst:366 msgid "" @@ -456,6 +526,13 @@ msgid "" "it in the potential_writers list. If it shows up in the writable list, you " "have a decent chance that it has connected." msgstr "" +"Si vous avez un connecteur \"serveur\", mettez-le dans la liste des lecteurs " +"potentiels. Si il apparaît dans la liste des sorties que vous pouvez lire, " +"votre ``accept`` fonctionnera (presque certainement). Si vous avez créé un " +"nouveau connecteur pour ``connect`` à quelqu'un d'autre, mettez-le dans la " +"liste des éditeurs potentiels. Si il apparaît dans la liste des sorties sur " +"lesquelles vous pouvez écrire, vous avez une bonne chance qu'il se soit " +"connecté." #: ../Doc/howto/sockets.rst:372 msgid "" @@ -465,6 +542,11 @@ msgid "" "problem of determining whether the other end is done, or just busy with " "something else." msgstr "" +"En fait, ``select`` peut être pratique même avec des connecteurs bloquants. " +"C'est une façon de déterminer si vous allez bloquer — le socket redevient " +"lisible lorsqu'il y a quelque chose dans les tampons. Cependant, cela n'aide " +"pas encore à déterminer si l'autre extrémité a terminé, ou si elle est " +"simplement occupée par autre chose." #: ../Doc/howto/sockets.rst:377 msgid "" @@ -474,3 +556,9 @@ msgid "" "differently on Windows. In fact, on Windows I usually use threads (which " "work very, very well) with my sockets." msgstr "" +"**Alerte de portabilité** : Sous Unix, ``select`` fonctionne aussi bien avec " +"les connecteurs qu'avec les fichiers. N'essayez pas cela sous Windows. Sous " +"Windows, ``select`` ne fonctionne qu'avec les connecteurs. Notez également " +"qu'en C, la plupart des options de connecteurs les plus avancées se font " +"différemment sous Windows. En fait, sous Windows, j'utilise habituellement " +"des fils d'exécution (qui fonctionnent très, très bien) avec mes connecteurs." diff --git a/howto/unicode.po b/howto/unicode.po index 140f6f61..ab5c48a7 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/howto/unicode.rst:5 msgid "Unicode HOWTO" -msgstr "" +msgstr "Guide Unicode" #: ../Doc/howto/unicode.rst:7 msgid "1.12" -msgstr "" +msgstr "1.12" #: ../Doc/howto/unicode.rst:9 msgid "" @@ -32,11 +32,11 @@ msgstr "" #: ../Doc/howto/unicode.rst:14 msgid "Introduction to Unicode" -msgstr "" +msgstr "Introduction à Unicode" #: ../Doc/howto/unicode.rst:17 msgid "History of Character Codes" -msgstr "" +msgstr "Histoire des codes de caractères" #: ../Doc/howto/unicode.rst:19 msgid "" @@ -45,6 +45,11 @@ msgid "" "for various characters, with the numeric values running from 0 to 127. For " "example, the lowercase letter 'a' is assigned 97 as its code value." msgstr "" +"En 1968, l'*American Standard Code for Information Interchange*, mieux connu " +"sous son acronyme *ASCII*, a été normalisé. L'ASCII définissait des codes " +"numériques pour différents caractères, les valeurs numériques s'étendant de " +"0 à 127. Par exemple, la lettre minuscule « a » est assignée à 97 comme " +"valeur de code." #: ../Doc/howto/unicode.rst:24 msgid "" @@ -55,6 +60,13 @@ msgid "" "words such as 'naïve' and 'café', and some publications have house styles " "which require spellings such as 'coöperate'.)" msgstr "" +"ASCII était une norme développée par les États-Unis, elle ne définissait " +"donc que des caractères non accentués. Il y avait « e », mais pas « é » ou " +"« Í ». Cela signifiait que les langues qui nécessitaient des caractères " +"accentués ne pouvaient pas être fidèlement représentées en ASCII. (En fait, " +"les accents manquants importaient pour l'anglais aussi, qui contient des " +"mots tels que « naïve » et « café », et certaines publications ont des " +"styles propres qui exigent des orthographes tels que « *coöperate* ».)" #: ../Doc/howto/unicode.rst:31 msgid "" @@ -68,6 +80,8 @@ msgid "" "Those messages should contain accents (terminée, paramètre, enregistrés) and " "they just look wrong to someone who can read French." msgstr "" +"Ces messages devraient contenir des accents (terminée, paramètre, " +"enregistrés) et ils ont juste l'air anormaux à quelqu'un lisant le français." #: ../Doc/howto/unicode.rst:41 msgid "" @@ -88,6 +102,10 @@ msgid "" "for Russian into the 128--255 range because there are more than 128 such " "characters." msgstr "" +"255 caractères, ça n'est pas beaucoup. Par exemple, vous ne pouvez pas " +"contenir à la fois les caractères accentués utilisés en Europe occidentale " +"et l'alphabet cyrillique utilisé pour le russe dans la gamme 128--255, car " +"il y a plus de 128 de tous ces caractères." #: ../Doc/howto/unicode.rst:54 msgid "" @@ -97,6 +115,12 @@ msgid "" "that quotes some Russian text? In the 1980s people began to want to solve " "this problem, and the Unicode standardization effort began." msgstr "" +"Vous pouviez écrire les fichiers avec des codes différents (tous vos " +"fichiers russes dans un système de codage appelé *KOI8*, tous vos fichiers " +"français dans un système de codage différent appelé *Latin1*), mais que " +"faire si vous souhaitiez écrire un document français citant du texte russe ? " +"Dans les années 80, les gens ont commencé à vouloir résoudre ce problème, et " +"les efforts de standardisation Unicode ont commencé." #: ../Doc/howto/unicode.rst:60 msgid "" @@ -108,6 +132,14 @@ msgid "" "meet that goal, and the modern Unicode specification uses a wider range of " "codes, 0 through 1,114,111 ( ``0x10FFFF`` in base 16)." msgstr "" +"Unicode a commencé par utiliser des caractères 16 bits au lieu de 8 bits. 16 " +"bits signifie que vous avez 2^16 = 65 536 valeurs distinctes disponibles, ce " +"qui permet de représenter de nombreux caractères différents à partir de " +"nombreux alphabets différents. Un des objectifs initiaux était de faire en " +"sorte que Unicode contienne les alphabets de chaque langue humaine. Il " +"s’avère que même 16 bits ne suffisent pas pour atteindre cet objectif, et la " +"spécification Unicode moderne utilise une gamme de codes plus étendue, " +"allant de 0 à 1 114 111 (``0x10FFFF`` en base 16)." #: ../Doc/howto/unicode.rst:68 msgid "" @@ -115,6 +147,9 @@ msgid "" "originally separate efforts, but the specifications were merged with the 1.1 " "revision of Unicode." msgstr "" +"Il existe une norme ISO connexe, ISO 10646. Unicode et ISO 10646 étaient à " +"l’origine des efforts séparés, mais les spécifications ont été fusionnées " +"avec la révision 1.1 d’Unicode." #: ../Doc/howto/unicode.rst:72 msgid "" @@ -124,10 +159,16 @@ msgid "" "listed in the References or the `Wikipedia entry for Unicode `_ for more information.)" msgstr "" +"(Cette discussion sur l’historique d’Unicode est extrêmement simplifiée. Les " +"détails historiques précis ne sont pas nécessaires pour comprendre comment " +"utiliser efficacement Unicode, mais si vous êtes curieux, consultez le site " +"du consortium Unicode indiqué dans les références ou la `page Wikipédia pour " +"Unicode `_ (page en anglais) " +"pour plus d’informations.)" #: ../Doc/howto/unicode.rst:81 msgid "Definitions" -msgstr "" +msgstr "Définitions" #: ../Doc/howto/unicode.rst:83 msgid "" @@ -168,10 +209,17 @@ msgid "" "to worry about glyphs; figuring out the correct glyph to display is " "generally the job of a GUI toolkit or a terminal's font renderer." msgstr "" +"Un caractère est représenté sur un écran ou sur papier par un ensemble " +"d’éléments graphiques appelé **glyphe**. Le glyphe d’un A majuscule, par " +"exemple, est deux traits diagonaux et un trait horizontal, bien que les " +"détails exacts dépendent de la police utilisée. La plupart du code Python " +"n’a pas besoin de s’inquiéter des glyphes ; trouver le bon glyphe à afficher " +"est généralement le travail d’une boîte à outils GUI ou du moteur de rendu " +"des polices d’un terminal." #: ../Doc/howto/unicode.rst:120 msgid "Encodings" -msgstr "" +msgstr "Encodages" #: ../Doc/howto/unicode.rst:122 msgid "" @@ -193,10 +241,14 @@ msgid "" "This representation is straightforward but using it presents a number of " "problems." msgstr "" +"Cette représentation est simple mais son utilisation pose un certain nombre " +"de problèmes." #: ../Doc/howto/unicode.rst:140 msgid "It's not portable; different processors order the bytes differently." msgstr "" +"Elle n’est pas portable ; des processeurs différents ordonnent les octets " +"différemment." #: ../Doc/howto/unicode.rst:142 msgid "" @@ -208,18 +260,32 @@ msgid "" "that large), but expanding our usage of disk and network bandwidth by a " "factor of 4 is intolerable." msgstr "" +"Elle gâche beaucoup d'espace. Dans la plupart des textes, la majorité des " +"points de code sont inférieurs à 127, ou à 255, donc beaucoup d'espace est " +"occupé par des octets ``0x00``. La chaîne ci-dessus occupe 24 octets, à " +"comparer aux 6 octets nécessaires pour une représentation en ASCII. " +"L'utilisation supplémentaire de RAM n'a pas trop d'importance (les " +"ordinateurs de bureau ont des gigaoctets de RAM et les chaînes ne sont " +"généralement pas si grandes que ça), mais l'accroissement de notre " +"utilisation du disque et de la bande passante réseau par un facteur de 4 est " +"intolérable." #: ../Doc/howto/unicode.rst:150 msgid "" "It's not compatible with existing C functions such as ``strlen()``, so a new " "family of wide string functions would need to be used." msgstr "" +"Elle n’est pas compatible avec les fonctions C existantes telles que " +"``strlen()``, il faudrait donc utiliser une nouvelle famille de fonctions, " +"celle des chaînes larges (*wide strings*)." #: ../Doc/howto/unicode.rst:153 msgid "" "Many Internet standards are defined in terms of textual data, and can't " "handle content with embedded zero bytes." msgstr "" +"De nombreuses normes Internet sont définies en termes de données textuelles " +"et ne peuvent pas gérer le contenu incorporant des octets *zéro*." #: ../Doc/howto/unicode.rst:156 msgid "" @@ -227,6 +293,10 @@ msgid "" "that are more efficient and convenient. UTF-8 is probably the most commonly " "supported encoding; it will be discussed below." msgstr "" +"Généralement, les gens n’utilisent pas cet encodage, mais optent pour " +"d’autres encodages plus efficaces et pratiques. UTF-8 est probablement " +"l’encodage le plus couramment pris en charge ; celui-ci sera abordé ci-" +"dessous." #: ../Doc/howto/unicode.rst:160 msgid "" @@ -234,12 +304,17 @@ msgid "" "encodings don't. The rules for converting a Unicode string into the ASCII " "encoding, for example, are simple; for each code point:" msgstr "" +"Les encodages n'ont pas à gérer tous les caractères Unicode possibles, et " +"les plupart ne le font pas. Les règles pour convertir une chaîne Unicode en " +"codage ASCII, par exemple, sont simples. pour chaque point de code :" #: ../Doc/howto/unicode.rst:164 msgid "" "If the code point is < 128, each byte is the same as the value of the code " "point." msgstr "" +"Si le point de code est < 128, chaque octet est identique à la valeur du " +"point de code." #: ../Doc/howto/unicode.rst:167 msgid "" @@ -247,6 +322,9 @@ msgid "" "in this encoding. (Python raises a :exc:`UnicodeEncodeError` exception in " "this case.)" msgstr "" +"Si le point de code est égal à 128 ou plus, la chaîne Unicode ne peut pas " +"être représentée dans ce codage (Python déclenche une exception :exc:" +"`UnicodeEncodeError` dans ce cas)." #: ../Doc/howto/unicode.rst:171 msgid "" @@ -256,6 +334,11 @@ msgid "" "point larger than 255 is encountered, the string can't be encoded into " "Latin-1." msgstr "" +"Latin-1, également connu sous le nom de ISO-8859-1, est un encodage " +"similaire. Les points de code Unicode 0–255 étant identiques aux valeurs de " +"Latin-1, la conversion en cet encodage nécessite simplement la conversion " +"des points de code en octets de même valeur ; si un point de code supérieur " +"à 255 est rencontré, la chaîne ne peut pas être codée en latin-1." #: ../Doc/howto/unicode.rst:176 msgid "" @@ -266,6 +349,14 @@ msgid "" "encoding, you'd probably use some sort of lookup table to perform the " "conversion, but this is largely an internal detail." msgstr "" +"Les encodages ne doivent pas nécessairement être de simples mappages un à " +"un, comme Latin-1. Prenons l’exemple du code EBCDIC d’IBM, utilisé sur les " +"ordinateurs centraux IBM. Les valeurs de lettre ne faisaient pas partie d’un " +"bloc: les lettres « a » à « i » étaient comprises entre 129 et 137, mais les " +"lettres « j » à « r » étaient comprises entre 145 et 153. Si vous vouliez " +"utiliser EBCDIC comme encodage, vous auriez probablement utilisé une sorte " +"de table de correspondance pour effectuer la conversion, mais il s’agit en " +"surtout d’un détail d'implémentation." #: ../Doc/howto/unicode.rst:183 msgid "" @@ -279,20 +370,25 @@ msgstr "" msgid "" "If the code point is < 128, it's represented by the corresponding byte value." msgstr "" +"Si le point de code est < 128, il est représenté par la valeur de l'octet " +"correspondant." #: ../Doc/howto/unicode.rst:189 msgid "" "If the code point is >= 128, it's turned into a sequence of two, three, or " "four bytes, where each byte of the sequence is between 128 and 255." msgstr "" +"Si le point de code est >= 128, il est transformé en une séquence de deux, " +"trois ou quatre octets, où chaque octet de la séquence est compris entre 128 " +"et 255." #: ../Doc/howto/unicode.rst:192 msgid "UTF-8 has several convenient properties:" -msgstr "" +msgstr "UTF-8 a plusieurs propriétés intéressantes :" #: ../Doc/howto/unicode.rst:194 msgid "It can handle any Unicode code point." -msgstr "" +msgstr "Il peut gérer n'importe quel point de code Unicode." #: ../Doc/howto/unicode.rst:195 msgid "" @@ -304,13 +400,15 @@ msgstr "" #: ../Doc/howto/unicode.rst:199 msgid "A string of ASCII text is also valid UTF-8 text." -msgstr "" +msgstr "Une chaîne de texte ASCII est également un texte UTF-8 valide." #: ../Doc/howto/unicode.rst:200 msgid "" "UTF-8 is fairly compact; the majority of commonly used characters can be " "represented with one or two bytes." msgstr "" +"UTF-8 est assez compact. La majorité des caractères couramment utilisés " +"peuvent être représentés avec un ou deux octets." #: ../Doc/howto/unicode.rst:202 msgid "" @@ -318,6 +416,10 @@ msgid "" "next UTF-8-encoded code point and resynchronize. It's also unlikely that " "random 8-bit data will look like valid UTF-8." msgstr "" +"Si des octets sont corrompus ou perdus, il est possible de déterminer le " +"début du prochain point de code encodé en UTF-8 et de se resynchroniser. Il " +"est également improbable que des données 8-bits aléatoires ressemblent à du " +"UTF-8 valide." #: ../Doc/howto/unicode.rst:209 ../Doc/howto/unicode.rst:483 #: ../Doc/howto/unicode.rst:703 @@ -332,6 +434,11 @@ msgid "" "history/>`_ of the origin and development of Unicode is also available on " "the site." msgstr "" +"Le site du `Consortium Unicode `_, en anglais, a des " +"diagrammes de caractères, un glossaire et des versions PDF de la " +"spécification Unicode. Préparez-vous à une lecture difficile. Une " +"`chronologie `_ de l’origine et du " +"développement de l’Unicode est également disponible sur le site." #: ../Doc/howto/unicode.rst:216 msgid "" @@ -354,6 +461,9 @@ msgid "" "encoding `_\" and `UTF-8 " "`_, for example." msgstr "" +"Les pages Wikipédia sont souvent utiles ; voir les pages pour \"`Codage des " +"caractères `_\" et " +"`UTF-8 `_, par exemple." #: ../Doc/howto/unicode.rst:231 msgid "Python's Unicode Support" diff --git a/library/__future__.po b/library/__future__.po index 9bab7036..66b2b48f 100644 --- a/library/__future__.po +++ b/library/__future__.po @@ -27,12 +27,15 @@ msgstr "**Source code:** :source:`Lib/_future_.py`" #: ../Doc/library/__future__.rst:11 msgid ":mod:`__future__` is a real module, and serves three purposes:" msgstr "" +"Le module :mod:`__future__` est un vrai module, et il a trois objectifs :" #: ../Doc/library/__future__.rst:13 msgid "" "To avoid confusing existing tools that analyze import statements and expect " "to find the modules they're importing." msgstr "" +"éviter de dérouter les outils existants qui analysent les instructions " +"d'importation et s'attendent à trouver les modules qu'ils importent ;" #: ../Doc/library/__future__.rst:16 msgid "" @@ -40,6 +43,10 @@ msgid "" "2.1 at least yield runtime exceptions (the import of :mod:`__future__` will " "fail, because there was no module of that name prior to 2.1)." msgstr "" +"s'assurer que les :ref:`instructions *future* ` lancées sous les " +"versions antérieures à 2.1 lèvent au moins des exceptions à l'exécution " +"(l’import du module :mod:`__future__` échoue, car il n’y avait pas de module " +"de ce nom avant 2.1) ;" #: ../Doc/library/__future__.rst:20 msgid "" @@ -48,22 +55,31 @@ msgid "" "and can be inspected programmatically via importing :mod:`__future__` and " "examining its contents." msgstr "" +"Pour documenter le phasage de changements entraînant des incompatibilités : " +"introduction, utilisation obligatoire. Il s’agit d’une forme de " +"documentation exécutable, qui peut être inspectée par un programme en " +"important :mod:`__future__` et en examinant son contenu." #: ../Doc/library/__future__.rst:25 msgid "Each statement in :file:`__future__.py` is of the form::" -msgstr "" +msgstr "Chaque instruction dans :file:`__future__.py` est de la forme ::" #: ../Doc/library/__future__.rst:31 msgid "" "where, normally, *OptionalRelease* is less than *MandatoryRelease*, and both " "are 5-tuples of the same form as :data:`sys.version_info`::" msgstr "" +"où, normalement, *OptionalRelease* est inférieur à *MandatoryRelease*, et " +"les deux sont des quintuplets de la même forme que :data:`sys." +"version_info` ::" #: ../Doc/library/__future__.rst:41 msgid "" "*OptionalRelease* records the first release in which the feature was " "accepted." msgstr "" +"*OptionalRelease* enregistre la première version dans laquelle la " +"fonctionnalité a été acceptée." #: ../Doc/library/__future__.rst:43 msgid "" @@ -71,6 +87,9 @@ msgid "" "*MandatoryRelease* predicts the release in which the feature will become " "part of the language." msgstr "" +"Dans le cas d'un *MandatoryRelease* qui n'a pas encore eu lieu, " +"*MandatoryRelease* prédit la *release* dans laquelle la fonctionnalité " +"deviendra un élément du langage." #: ../Doc/library/__future__.rst:47 msgid "" @@ -79,18 +98,26 @@ msgid "" "statement to use the feature in question, but may continue to use such " "imports." msgstr "" +"Sinon *MandatoryRelease* enregistre lorsque la fonctionnalité est devenue " +"une partie du langage ; dans cette version ou les suivantes, les modules " +"n'ont plus besoin d'une déclaration *future* pour utiliser la fonctionnalité " +"en question, mais ils peuvent continuer à utiliser ces importations." #: ../Doc/library/__future__.rst:51 msgid "" "*MandatoryRelease* may also be ``None``, meaning that a planned feature got " "dropped." msgstr "" +"*MandatoryRelease* peut également être ``None``, ce qui signifie qu'une " +"fonction planifiée a été abandonnée." #: ../Doc/library/__future__.rst:54 msgid "" "Instances of class :class:`_Feature` have two corresponding methods, :meth:" "`getOptionalRelease` and :meth:`getMandatoryRelease`." msgstr "" +"Les instances de classe :class:`_Feature` ont deux méthodes " +"correspondantes, :meth:`getOptionalRelease` et :meth:`getMandatoryRelease`." #: ../Doc/library/__future__.rst:57 msgid "" @@ -99,6 +126,11 @@ msgid "" "dynamically compiled code. This flag is stored in the :attr:`compiler_flag` " "attribute on :class:`_Feature` instances." msgstr "" +"*CompilerFlag* est un drapeau (chaque bit représente un champ) qui doit être " +"passé en tant que quatrième argument à la fonction native :func:`compile` " +"pour activer la fonctionnalité dans le code compilé dynamiquement. Cet " +"indicateur est stocké dans l'attribut :attr:`compiler_flag` dans les " +"instances de :class:`_Feature`." #: ../Doc/library/__future__.rst:62 msgid "" @@ -185,7 +217,7 @@ msgstr "2.5.0a1" #: ../Doc/library/__future__.rst:78 msgid ":pep:`328`: *Imports: Multi-Line and Absolute/Relative*" -msgstr "" +msgstr ":pep:`328` : *Imports : multilignes et absolus/relatifs*" #: ../Doc/library/__future__.rst:81 msgid "with_statement" @@ -234,6 +266,7 @@ msgstr "3.7" #: ../Doc/library/__future__.rst:90 msgid ":pep:`479`: *StopIteration handling inside generators*" msgstr "" +":pep:`479` : *Gestion de *StopIteration* à l’intérieur des générateurs*" #: ../Doc/library/__future__.rst:97 msgid ":ref:`future`" diff --git a/library/_thread.po b/library/_thread.po index 1c623cbd..93b96eff 100644 --- a/library/_thread.po +++ b/library/_thread.po @@ -94,6 +94,11 @@ msgid "" "identifiers may be recycled when a thread exits and another thread is " "created." msgstr "" +"Renvoie l'\"identificateur de fil\" du fil d'exécution courant. C'est un " +"entier non nul. Sa valeur n'a pas de signification directe ; il est destiné " +"à être utilisé comme valeur magique opaque, par exemple comme clef de " +"dictionnaire de données pour chaque fil. Les identificateurs de fils peuvent " +"être recyclés lorsqu'un fil se termine et qu'un autre fil est créé." #: ../Doc/library/_thread.rst:94 msgid "" diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index aaa88ad4..72bbd4d7 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -195,6 +195,8 @@ msgid "" "See the :ref:`concurrency and multithreading ` " "section of the documentation." msgstr "" +"Voir la section :ref:`exécution concurrente et multi-fils d'exécution " +"` de la documentation." #: ../Doc/library/asyncio-eventloop.rst:136 msgid "Delayed calls" @@ -256,7 +258,7 @@ msgstr "La fonction :func:`asyncio.sleep`." #: ../Doc/library/asyncio-eventloop.rst:192 msgid "Futures" -msgstr "" +msgstr "Futurs" #: ../Doc/library/asyncio-eventloop.rst:196 msgid "Create an :class:`asyncio.Future` object attached to the loop." diff --git a/library/asyncio-queue.po b/library/asyncio-queue.po index 1b987a1e..43cf1aa3 100644 --- a/library/asyncio-queue.po +++ b/library/asyncio-queue.po @@ -77,7 +77,7 @@ msgstr "Les nouvelles méthodes :meth:`join` et :meth:`task_done`." #: ../Doc/library/asyncio-queue.rst:40 msgid "Return ``True`` if the queue is empty, ``False`` otherwise." -msgstr "" +msgstr "Renvoie ``True`` si la queue est vide, ``False`` sinon." #: ../Doc/library/asyncio-queue.rst:44 msgid "Return ``True`` if there are :attr:`maxsize` items in the queue." @@ -116,6 +116,8 @@ msgstr "" #: ../Doc/library/asyncio-queue.rst:71 msgid "Block until all items in the queue have been gotten and processed." msgstr "" +"Bloque jusqu'à ce que tous les éléments de la queue aient été récupérés et " +"traités." #: ../Doc/library/asyncio-queue.rst:73 msgid "" diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po index 2eec750a..a6127352 100644 --- a/library/asyncio-sync.po +++ b/library/asyncio-sync.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/asyncio-sync.rst:5 msgid "Synchronization primitives" -msgstr "" +msgstr "Primitives de synchronisation" #: ../Doc/library/asyncio-sync.rst:7 msgid "Locks:" diff --git a/library/asyncio-task.po b/library/asyncio-task.po index f0299359..87849061 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -509,7 +509,7 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:447 msgid "The frames are always ordered from oldest to newest." -msgstr "" +msgstr "La pile est toujours affichée de l'appelant à l'appelé." #: ../Doc/library/asyncio-task.rst:449 msgid "" @@ -578,6 +578,8 @@ msgid "" "Raises :exc:`asyncio.TimeoutError` if the timeout occurs before all Futures " "are done." msgstr "" +"Lève une exception :exc:`asyncio.TimeoutError` si le délai d'attente est " +"dépassé avant que tous les futurs ne soient achevés." #: ../Doc/library/asyncio-task.rst:525 msgid "Example::" @@ -673,6 +675,8 @@ msgid "" "See the :ref:`concurrency and multithreading ` " "section of the documentation." msgstr "" +"Voir la section :ref:`exécution concurrente et multi-fils d'exécution " +"` de la documentation." #: ../Doc/library/asyncio-task.rst:621 msgid "" @@ -764,6 +768,7 @@ msgstr ":const:`FIRST_COMPLETED`" #: ../Doc/library/asyncio-task.rst:687 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é." #: ../Doc/library/asyncio-task.rst:690 msgid ":const:`FIRST_EXCEPTION`" @@ -775,6 +780,9 @@ msgid "" "If no future raises an exception then it is equivalent to :const:" "`ALL_COMPLETED`." msgstr "" +"La fonction se termine lorsque n'importe quel futur se termine en levant une " +"exception. Si aucun *futur* ne lève d'exception, équivaut à :const:" +"`ALL_COMPLETED`." #: ../Doc/library/asyncio-task.rst:696 msgid ":const:`ALL_COMPLETED`" @@ -783,6 +791,7 @@ msgstr ":const:`ALL_COMPLETED`" #: ../Doc/library/asyncio-task.rst:696 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." #: ../Doc/library/asyncio-task.rst:702 msgid "Usage::" diff --git a/library/atexit.po b/library/atexit.po index bf226e6a..989ed841 100644 --- a/library/atexit.po +++ b/library/atexit.po @@ -67,6 +67,12 @@ msgid "" "modules will normally be imported before higher level modules and thus must " "be cleaned up later." msgstr "" +"Lors d'un arrêt normal du programme (par exemple, si :func:`sys.exit` est " +"appelée ou l’exécution du module principal se termine), toutes les fonctions " +"inscrites sont appelées, dans l'ordre de la dernière arrivée, première " +"servie. La supposition est que les modules les plus bas niveau vont " +"normalement être importés avant les modules haut niveau et ainsi être " +"nettoyés en dernier." #: ../Doc/library/atexit.rst:37 msgid "" diff --git a/library/binascii.po b/library/binascii.po index 320c6683..f0ba8a0a 100644 --- a/library/binascii.po +++ b/library/binascii.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/binascii.rst:2 msgid ":mod:`binascii` --- Convert between binary and ASCII" -msgstr "" +msgstr ":mod:`binascii` --- Conversion entre binaire et ASCII" #: ../Doc/library/binascii.rst:15 msgid "" @@ -29,6 +29,12 @@ msgid "" "low-level functions written in C for greater speed that are used by the " "higher-level modules." msgstr "" +"Le module :mod:`binascii` contient des méthodes pour convertir entre binaire " +"et diverses représentations binaires encodées en ASCII. Normalement, vous " +"n’allez pas utiliser ces fonctions directement mais vous utiliserez des " +"modules d’encapsulage comme :mod:`uu`, :mod:`base64`, or :mod:`binhex` à la " +"place. Le module :mod:`binascii` contient des fonctions bas-niveau écrites " +"en C plus rapides qui sont utilisées par des modules haut-niveau." #: ../Doc/library/binascii.rst:24 msgid "" @@ -37,14 +43,20 @@ msgid "" "(such as :class:`bytes`, :class:`bytearray` and other objects that support " "the buffer protocol)." msgstr "" +"La fonction ``a2b_*`` accepte des chaînes de caractères contenant seulement " +"des caractères ASCII. D’autres fonctions acceptent seulement des objets :" +"term:`bytes et similaire ` (tel que :class:`bytes`, :" +"class:`bytearray` et autres objets qui supportent le protocole tampon)." #: ../Doc/library/binascii.rst:29 msgid "ASCII-only unicode strings are now accepted by the ``a2b_*`` functions." msgstr "" +"Les chaines de caractères *unicode* seulement composées de caractères ASCII " +"sont désormais acceptées par les fonctions ``a2b_*``." #: ../Doc/library/binascii.rst:33 msgid "The :mod:`binascii` module defines the following functions:" -msgstr "" +msgstr "Le module :mod:`binascii` définit les fonctions suivantes :" #: ../Doc/library/binascii.rst:38 msgid "" @@ -52,6 +64,10 @@ msgid "" "data. Lines normally contain 45 (binary) bytes, except for the last line. " "Line data may be followed by whitespace." msgstr "" +"Convertit une seule ligne de donnée *uuencoded* en binaire et renvoie la " +"donnée binaire. Les lignes contiennent normalement 45 octets (binaire), sauf " +"pour la dernière ligne. Il se peut que la ligne de donnée soit suivie d’un " +"espace blanc." #: ../Doc/library/binascii.rst:45 msgid "" @@ -65,6 +81,8 @@ msgid "" "Convert a block of base64 data back to binary and return the binary data. " "More than one line may be passed at a time." msgstr "" +"Convertit un bloc de donnée en *base64* en binaire et renvoie la donnée " +"binaire. Plus d’une ligne peut être passé à la fois." #: ../Doc/library/binascii.rst:58 msgid "" @@ -81,6 +99,10 @@ msgid "" "binary data. More than one line may be passed at a time. If the optional " "argument *header* is present and true, underscores will be decoded as spaces." msgstr "" +"Convertit un bloc de données *quoted-printable* en binaire et renvoie les " +"données binaires. Plus d’une ligne peut être passée à la fois. Si l’argument " +"optionnel *header* est présent et vrai, les traits soulignés seront décodés " +"en espaces." #: ../Doc/library/binascii.rst:74 msgid "" @@ -102,6 +124,10 @@ msgid "" "or (in case of the last portion of the binhex4 data) have the remaining bits " "zero." msgstr "" +"Convertit un bloc de donnée ASCII au format *binhex4* en binaire, sans faire " +"de décompression RLE. La chaîne de caractères doit contenir un nombre " +"complet d’octet binaires ou (au cas où la dernière portion de donnée est au " +"format *binhex4*) avoir les bits restants à 0." #: ../Doc/library/binascii.rst:94 msgid "" @@ -111,14 +137,22 @@ msgid "" "returns the decompressed data, unless data input data ends in an orphaned " "repeat indicator, in which case the :exc:`Incomplete` exception is raised." msgstr "" +"Réalise une décompression RLE sur la donnée, d’après la norme *binhex4*. " +"L’algorithme utilise ``0x90`` après un octet comme un indicateur de " +"répétition, suivi d’un décompte. Un décompte de ``0`` définit une valeur " +"d’octet de ``0x90``. La routine renvoie la donnée décompressée, sauf si la " +"donnée entrante se finit sur un indicateur de répétition orphelin. Dans ce " +"cas l’exception :exc:`Incomplete` est levée." #: ../Doc/library/binascii.rst:100 msgid "Accept only bytestring or bytearray objects as input." -msgstr "" +msgstr "Accepte seulement des objets *bytestring* ou *bytearray* en entrée." #: ../Doc/library/binascii.rst:106 msgid "Perform binhex4 style RLE-compression on *data* and return the result." msgstr "" +"Réalise une compression RLE de type *binhex4* sur *data* et renvoie le " +"résultat." #: ../Doc/library/binascii.rst:111 msgid "" @@ -126,6 +160,9 @@ msgid "" "The argument should already be RLE-coded, and have a length divisible by 3 " "(except possibly the last fragment)." msgstr "" +"Réalise une traduction *hexbin4* de binaire à ASCII et renvoie la chaîne de " +"caractères résultante. L’argument doit être *RLE-coded*, et avoir une " +"longueur divisible par 3 (sauf, éventuellement, le dernier fragment)." #: ../Doc/library/binascii.rst:118 msgid "" @@ -141,12 +178,20 @@ msgid "" "checksum algorithm, it is not suitable for use as a general hash algorithm. " "Use as follows::" msgstr "" +"Calcule CRC-32, la somme de contrôle 32-bit de *data*, commençant par un CRC " +"initial de *value*. Le CRC initial par défaut est zéro. L’algorithme est " +"cohérent avec la somme de contrôle du fichier ZIP. Comme l’algorithme est " +"conçu pour être utilisé comme un algorithme de somme de contrôle, il ne " +"convient pas comme algorithme de hachage général. Utiliser comme suit ::" #: ../Doc/library/binascii.rst:136 msgid "" "The result is always unsigned. To generate the same numeric value across all " "Python versions and platforms, 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``." #: ../Doc/library/binascii.rst:145 msgid "" @@ -154,6 +199,9 @@ msgid "" "*data* is converted into the corresponding 2-digit hex representation. The " "returned bytes object is therefore twice as long as the length of *data*." msgstr "" +"Renvoie la représentation hexadécimale du binaire *data*. Chaque octet de " +"*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*." #: ../Doc/library/binascii.rst:153 msgid "" @@ -162,16 +210,25 @@ msgid "" "number of hexadecimal digits (which can be upper or lower case), otherwise " "an :exc:`Error` exception is raised." msgstr "" +"Renvoie la donnée binaire représentée par la chaîne de caractères " +"hexadécimale *hexstr*. Cette fonction est l’inverse de :func:`b2a_hex`. " +"*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." #: ../Doc/library/binascii.rst:161 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." #: ../Doc/library/binascii.rst:166 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." msgstr "" +"Exception levée par des données incomplète. Il ne s’agit généralement pas " +"d’erreurs de programmation, mais elles peuvent être traitées en lisant un " +"peu plus de données et en réessayant." #: ../Doc/library/binascii.rst:174 msgid "Module :mod:`base64`" @@ -181,6 +238,7 @@ msgstr "Module :mod:`base64`" 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." #: ../Doc/library/binascii.rst:177 msgid "Module :mod:`binhex`" @@ -188,7 +246,7 @@ msgstr "Module :mod:`binhex`" #: ../Doc/library/binascii.rst:177 msgid "Support for the binhex format used on the Macintosh." -msgstr "" +msgstr "Support pour le format *binhex* utilisé sur Macintosh." #: ../Doc/library/binascii.rst:180 msgid "Module :mod:`uu`" @@ -205,3 +263,5 @@ msgstr "Module :mod:`quopri`" #: ../Doc/library/binascii.rst:183 msgid "Support for quoted-printable encoding used in MIME email messages." msgstr "" +"Support de l’encodage *quote-printable* utilisé par les messages *email* " +"MIME." diff --git a/library/calendar.po b/library/calendar.po index 34edf62b..61129230 100644 --- a/library/calendar.po +++ b/library/calendar.po @@ -34,6 +34,13 @@ msgid "" "Parameters that specify dates are given as integers. For related " "functionality, see also the :mod:`datetime` and :mod:`time` modules." msgstr "" +"Ce module permet d'afficher un calendrier comme le fait le programme Unix :" +"program:`cal`, et il fournit des fonctions utiles relatives au calendrier. " +"Par défaut, ces calendriers ont le lundi comme premier jour de la semaine et " +"le dimanche comme dernier jour. Utilisez :func:`setfirstweekday` pour " +"définir le premier jour de la semaine à dimanche (6) ou à tout autre jour de " +"la semaine. Les paramètres pour spécifier les dates sont donnés sous forme " +"de nombres entiers. Voir aussi les modules :mod:`datetime` et :mod:`time`." #: ../Doc/library/calendar.rst:22 msgid "" @@ -49,6 +56,9 @@ msgid "" "Creates a :class:`Calendar` object. *firstweekday* is an integer specifying " "the first day of the week. ``0`` is Monday (the default), ``6`` is Sunday." msgstr "" +"Crée un objet :class:`Calendar`. *firstweekday* est un entier spécifiant le " +"premier jour de la semaine, valant par défaut ``0`` (lundi), pouvant aller " +"jusqu'à ``6`` (dimanche)." #: ../Doc/library/calendar.rst:34 msgid "" @@ -56,10 +66,13 @@ msgid "" "preparing the calendar data for formatting. This class doesn't do any " "formatting itself. This is the job of subclasses." msgstr "" +"L'objet :class:`Calendar` fournit plusieurs méthodes pouvant être utilisées " +"pour préparer les données du calendrier pour le formatage. Cette classe ne " +"fait pas de formatage elle-même. Il s'agit du travail des sous-classes." #: ../Doc/library/calendar.rst:39 msgid ":class:`Calendar` instances have the following methods:" -msgstr "" +msgstr "Les instances de :class:`Calendar` ont les méthodes suivantes :" #: ../Doc/library/calendar.rst:43 msgid "" @@ -67,6 +80,8 @@ msgid "" "The first value from the iterator will be the same as the value of the :attr:" "`firstweekday` property." msgstr "" +"Renvoie un itérateur sur les numéros des jours d'une semaine. La première " +"valeur est donc la même que la valeur de la propriété :attr:`firstweekday`." #: ../Doc/library/calendar.rst:50 msgid "" @@ -94,18 +109,25 @@ msgid "" "Return a list of the weeks in the month *month* of the *year* as full " "weeks. Weeks are lists of seven :class:`datetime.date` objects." msgstr "" +"Renvoie la liste des semaines complètes du mois *month* de l'année *year*. " +"Les semaines sont des listes de sept objets :class:`datetime.date`." #: ../Doc/library/calendar.rst:77 msgid "" "Return a list of the weeks in the month *month* of the *year* as full " "weeks. Weeks are lists of seven tuples of day numbers and weekday numbers." msgstr "" +"Renvoie la liste des semaines complètes du mois *month* de l'année *year*. " +"Les semaines sont des listes de sept paires contenant le numéro du jour dans " +"le mois et du numéro du jour dans la semaine." #: ../Doc/library/calendar.rst:84 msgid "" "Return a list of the weeks in the month *month* of the *year* as full " "weeks. Weeks are lists of seven day numbers." msgstr "" +"Renvoie la liste des semaines complètes du mois *month* de l'année *year*. " +"Les semaines sont une liste de sept numéros de jours." #: ../Doc/library/calendar.rst:90 msgid "" @@ -114,6 +136,11 @@ msgid "" "(defaulting to 3). Each month contains between 4 and 6 weeks and each week " "contains 1--7 days. Days are :class:`datetime.date` objects." msgstr "" +"Renvoie ce qu'il faut pour afficher correctement une année. La valeur " +"renvoyée est une liste de lignes de mois. Chaque ligne mensuelle contient " +"jusqu'à *width* mois (avec une valeur par défaut à 3). Chaque mois contient " +"de 4 à 6 semaines et chaque semaine 1 à 7 jours. Les jours sont des objets :" +"class:`datetime.date`." #: ../Doc/library/calendar.rst:98 msgid "" @@ -121,6 +148,10 @@ msgid "" "meth:`yeardatescalendar`). Entries in the week lists are tuples of day " "numbers and weekday numbers. Day numbers outside this month are zero." msgstr "" +"Renvoie ce qu'il faut pour afficher correctement une année, (similaire à :" +"meth:`yeardatescalendar`). Les listes des semaines contiennent des paires " +"contenant le numéro du jour du mois et le numéro du jour de la semaine. Les " +"numéro des jours en dehors de ce mois sont à zéro." #: ../Doc/library/calendar.rst:105 msgid "" @@ -128,14 +159,18 @@ msgid "" "meth:`yeardatescalendar`). Entries in the week lists are day numbers. Day " "numbers outside this month are zero." msgstr "" +"Renvoie ce qu'il faut pour afficher correctement une année, (similaire à :" +"meth:`yeardatescalendar`). Les listes de semaines contiennent des numéros de " +"jours. Les numéros de jours en dehors de ce mois sont de zéro." #: ../Doc/library/calendar.rst:112 msgid "This class can be used to generate plain text calendars." msgstr "" +"Cette classe peut être utilisée pour générer des calendriers en texte brut." #: ../Doc/library/calendar.rst:114 msgid ":class:`TextCalendar` instances have the following methods:" -msgstr "" +msgstr "Les instances :class:`TextCalendar` exposent les méthodes suivantes :" #: ../Doc/library/calendar.rst:118 msgid "" @@ -145,10 +180,16 @@ msgid "" "the first weekday as specified in the constructor or set by the :meth:" "`setfirstweekday` method." msgstr "" +"Donne le calendrier d'un mois dans une chaîne multi-ligne. Si *w* est " +"fourni, il spécifie la largeur des colonnes de date, qui sont centrées. Si " +"*l* est donné, il spécifie le nombre de lignes que chaque semaine utilisera. " +"Le résultat varie en fonction du premier jour de la semaine spécifié dans le " +"constructeur ou défini par la méthode :meth:`setfirstweekday`." #: ../Doc/library/calendar.rst:127 msgid "Print a month's calendar as returned by :meth:`formatmonth`." msgstr "" +"Affiche le calendrier d'un mois tel que renvoyé par :meth:`formatmonth`." #: ../Doc/library/calendar.rst:132 msgid "" @@ -159,11 +200,20 @@ msgid "" "`setfirstweekday` method. The earliest year for which a calendar can be " "generated is platform-dependent." msgstr "" +"Renvoie un calendrier de *m* colonnes pour une année entière sous forme de " +"chaîne multi-ligne. Les paramètres facultatifs *w*, *l* et *c* correspondent " +"respectivement à la largeur de la colonne date, les lignes par semaines, le " +"nombre d'espace entre les colonnes de mois. Le résultat varie en fonction du " +"premier jour de la semaine spécifié dans le constructeur ou défini par la " +"méthode :meth:`setfirstweekday`. La première année pour laquelle un " +"calendrier peut être généré, dépend de la plateforme." #: ../Doc/library/calendar.rst:142 msgid "" "Print the calendar for an entire year as returned by :meth:`formatyear`." msgstr "" +"Affiche le calendrier pour une année entière comme renvoyé par :meth:" +"`formatyear`." #: ../Doc/library/calendar.rst:147 msgid "This class can be used to generate HTML calendars." diff --git a/library/codecs.po b/library/codecs.po index 926cddce..6bbff90c 100644 --- a/library/codecs.po +++ b/library/codecs.po @@ -2066,7 +2066,7 @@ msgstr "koi8_t" #: ../Doc/library/codecs.rst:1177 msgid "Tajik" -msgstr "" +msgstr "*Tajik*" #: ../Doc/library/codecs.rst:1181 msgid "koi8_u" diff --git a/library/codeop.po b/library/codeop.po index e03eeb37..551fc8d9 100644 --- a/library/codeop.po +++ b/library/codeop.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/codeop.rst:2 msgid ":mod:`codeop` --- Compile Python code" -msgstr "" +msgstr ":mod:`codeop` — Compilation de code Python" #: ../Doc/library/codeop.rst:10 msgid "**Source code:** :source:`Lib/codeop.py`" -msgstr "" +msgstr "**Code source :** :source:`Lib/codeop.py`" #: ../Doc/library/codeop.rst:14 msgid "" @@ -32,32 +32,44 @@ msgid "" "include such a loop in your program you probably want to use the :mod:`code` " "module instead." msgstr "" +"Le module :mod:`codeop` fournit des outils permettant d'émuler une boucle de " +"lecture-évaluation-affichage (en anglais *read-eval-print-loop* ou REPL), " +"comme dans le module :mod:`code`. Par conséquent, ce module n'est pas " +"destiné à être utilisé directement ; pour inclure un REPL dans un programme, " +"il est préférable d'utiliser le module :mod:`code`." #: ../Doc/library/codeop.rst:20 msgid "There are two parts to this job:" -msgstr "" +msgstr "Cette tâche se divise en deux parties :" #: ../Doc/library/codeop.rst:22 msgid "" "Being able to tell if a line of input completes a Python statement: in " "short, telling whether to print '``>>>``' or '``...``' next." msgstr "" +"Pouvoir affirmer qu'une ligne d'entrée est une instruction complète, ou " +"achève une instruction : en bref, savoir s'il faut afficher « ``>>>`` » ou " +"« ``...`` » à sa suite." #: ../Doc/library/codeop.rst:25 msgid "" "Remembering which future statements the user has entered, so subsequent " "input can be compiled with these in effect." msgstr "" +"Conserver les instructions déjà entrées par l'utilisateur, afin que les " +"entrées suivantes puissent êtres compilées avec elles." #: ../Doc/library/codeop.rst:28 msgid "" "The :mod:`codeop` module provides a way of doing each of these things, and a " "way of doing them both." msgstr "" +"Le module :mod:`codeop` fournit un moyen d'effectuer ces deux parties, " +"individuellement ou simultanément." #: ../Doc/library/codeop.rst:31 msgid "To do just the former:" -msgstr "" +msgstr "Pour ne faire que la première partie :" #: ../Doc/library/codeop.rst:35 msgid "" @@ -67,6 +79,11 @@ msgid "" "``''``. Returns ``None`` if *source* is *not* valid Python code, but " "is a prefix of valid Python code." msgstr "" +"Essaye de compiler *source*, qui doit être une chaîne de caractères " +"représentant du code Python valide et renvoie un objet code le cas échéant. " +"Dans ce cas, l'attribut de nom de fichier de l'objet code renvoyé sera " +"*filename* (``''`` par défaut). Renvoie ``None`` si *source* n'est " +"*pas* du code Python valide, mais un *début* de code Python valide." #: ../Doc/library/codeop.rst:41 msgid "" @@ -74,6 +91,9 @@ msgid "" "`SyntaxError` is raised if there is invalid Python syntax, and :exc:" "`OverflowError` or :exc:`ValueError` if there is an invalid literal." msgstr "" +"En cas de problème avec *source*, une exception est levée ; :exc:" +"`SyntaxError` si la syntaxe Python est incorrecte, et :exc:`OverflowError` " +"ou :exc:`ValueError` si un littéral invalide est rencontré." #: ../Doc/library/codeop.rst:45 msgid "" @@ -81,6 +101,9 @@ msgid "" "(``'single'``, the default) or as an :term:`expression` (``'eval'``). Any " "other value will cause :exc:`ValueError` to be raised." msgstr "" +"L'argument *symbol* détermine si *source* est compilée comme une instruction " +"(``'single'``, par défaut) ou comme une :term:`expression` (``'eval'``). " +"Toute autre valeur lèvera :exc:`ValueError`." #: ../Doc/library/codeop.rst:51 msgid "" @@ -90,6 +113,12 @@ msgid "" "backslash followed by two newlines may be followed by arbitrary garbage. " "This will be fixed once the API for the parser is better." msgstr "" +"Il est possible (quoique improbable) que l'analyseur s'arrête avant " +"d'atteindre la fin du code source ; dans ce cas, les symboles venant après " +"peuvent être ignorés au lieu de provoquer une erreur. Par exemple, une barre " +"oblique inverse suivie de deux retours à la ligne peut être suivie par de la " +"mémoire non-initialisée. Ceci sera corrigé quand l'interface de l'analyseur " +"aura été améliorée." #: ../Doc/library/codeop.rst:60 msgid "" @@ -99,6 +128,11 @@ msgid "" "the instance 'remembers' and compiles all subsequent program texts with the " "statement in force." msgstr "" +"Les instances de cette classe ont des méthodes :meth:`__call__` de signature " +"identique à la fonction native :func:`compile`, à la différence près que si " +"l'instance compile du code source contenant une instruction :mod:" +"`__future__`, l'instance s'en « souviendra » et compilera tous les codes " +"sources suivants avec cette instruction activée." #: ../Doc/library/codeop.rst:69 msgid "" @@ -107,3 +141,8 @@ msgid "" "program text containing a ``__future__`` statement, the instance 'remembers' " "and compiles all subsequent program texts with the statement in force." msgstr "" +"Les instances de cette classe ont des méthodes :meth:`__call__` de signature " +"identique à la fonction :func:`compile_command`, à la différence près que si " +"l'instance compile du code source contenant une instruction ``__future__``, " +"l'instance s'en « souviendra » et compilera tous les codes sources suivants " +"avec cette instruction activée." diff --git a/library/concurrent.futures.po b/library/concurrent.futures.po index 9f3abfe0..5276e84c 100644 --- a/library/concurrent.futures.po +++ b/library/concurrent.futures.po @@ -362,6 +362,8 @@ msgid "" "*return_when* indicates when this function should return. It must be one of " "the following constants:" msgstr "" +"*return_when* indique quand la fonction doit se terminer. Il peut prendre " +"les valeurs suivantes :" #: ../Doc/library/concurrent.futures.rst:376 msgid "Constant" @@ -378,6 +380,7 @@ msgstr ":const:`FIRST_COMPLETED`" #: ../Doc/library/concurrent.futures.rst:378 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é." #: ../Doc/library/concurrent.futures.rst:381 msgid ":const:`FIRST_EXCEPTION`" @@ -389,6 +392,9 @@ msgid "" "If no future raises an exception then it is equivalent to :const:" "`ALL_COMPLETED`." msgstr "" +"La fonction se termine lorsque n'importe quel futur se termine en levant une " +"exception. Si aucun *futur* ne lève d'exception, équivaut à :const:" +"`ALL_COMPLETED`." #: ../Doc/library/concurrent.futures.rst:387 msgid ":const:`ALL_COMPLETED`" @@ -397,6 +403,7 @@ msgstr ":const:`ALL_COMPLETED`" #: ../Doc/library/concurrent.futures.rst:387 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." #: ../Doc/library/concurrent.futures.rst:393 msgid "" diff --git a/library/copyreg.po b/library/copyreg.po index f9962d10..a8fdac73 100644 --- a/library/copyreg.po +++ b/library/copyreg.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/copyreg.rst:2 msgid ":mod:`copyreg` --- Register :mod:`pickle` support functions" -msgstr "" +msgstr ":mod:`copyreg` — Enregistre les fonctions support de :mod:`pickle`" #: ../Doc/library/copyreg.rst:7 msgid "**Source code:** :source:`Lib/copyreg.py`" -msgstr "" +msgstr "**Code source :** :source:`Lib/copyreg.py`" #: ../Doc/library/copyreg.rst:15 msgid "" @@ -32,12 +32,22 @@ msgid "" "configuration information about object constructors which are not classes. " "Such constructors may be factory functions or class instances." msgstr "" +"Le module :mod:`copyreg` permet de définir des fonctions utilisées durant la " +"sérialisation avec *pickle* de certains objets. Les modules :mod:`pickle` " +"et :mod:`copy` utilisent ces fonctions lors d'une sérialisation ou d'une " +"copie de ces objets. Le module propose alors des informations de " +"configuration à propos de constructeurs d'objets qui ne sont pas des " +"classes. De tels constructeurs peuvent être des instances de classes ou des " +"fonctions." #: ../Doc/library/copyreg.rst:24 msgid "" "Declares *object* to be a valid constructor. If *object* is not callable " "(and hence not valid as a constructor), raises :exc:`TypeError`." msgstr "" +"Déclare *object* comme étant un constructeur valide. Si *object* n'est pas " +"appelable (et n'est donc pas un constructeur valide), l'erreur :exc:" +"`TypeError` est levée." #: ../Doc/library/copyreg.rst:30 msgid "" @@ -45,6 +55,9 @@ msgid "" "objects of type *type*. *function* should return either a string or a tuple " "containing two or three elements." msgstr "" +"Déclare que *function* devrait être utilisée en tant que fonction de " +"*réduction* pour des objets de type *type*. *function* doit soit retourner " +"une chaîne de caractères soit un tuple qui contiens deux ou trois éléments." #: ../Doc/library/copyreg.rst:34 msgid "" @@ -53,6 +66,11 @@ msgid "" "arguments returned by *function* at pickling time. :exc:`TypeError` will be " "raised if *object* is a class or *constructor* is not callable." msgstr "" +"Le paramètre optionnel *contructor*, s'il est donné, est un objet appelable " +"qui peux être utilisé pour reconstruire l’objet lorsqu'il est appelé avec un " +"tuple d'arguments retournés par *function* durant la sérialisation avec " +"*pickle*. Une exception :exc:`TypeError` sera levée si *object* est une " +"classe ou si *constructor* n'est pas appelable." #: ../Doc/library/copyreg.rst:39 msgid "" @@ -61,6 +79,11 @@ msgid "" "dispatch_table` attribute of a pickler object or subclass of :class:`pickle." "Pickler` can also be used for declaring reduction functions." msgstr "" +"Voir le module :mod:`pickle` pour plus de détails sur l'interface attendue " +"de *function* et *constructor*. Notez que l’attribut :attr:`~pickle.Pickler." +"dispatch_table` d'un objet ``pickler`` ou d'une sous-classe de :class:" +"`pickle.Pickler` peut aussi être utilisée pour déclarer des fonctions " +"réductrices." #: ../Doc/library/copyreg.rst:46 msgid "Example" @@ -71,3 +94,5 @@ msgid "" "The example below would like to show how to register a pickle function and " "how it will be used:" msgstr "" +"L'exemple si-dessous essaye de démontrer comment enregistrer une fonction " +"*pickle* et comment elle sera utilisée :" diff --git a/library/email.parser.po b/library/email.parser.po index af97b4bb..d8e77ff4 100644 --- a/library/email.parser.po +++ b/library/email.parser.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/email.parser.rst:2 msgid ":mod:`email.parser`: Parsing email messages" -msgstr "" +msgstr ":mod:`email.parser` : Analyser des e-mails" #: ../Doc/library/email.parser.rst:7 msgid "**Source code:** :source:`Lib/email/parser.py`" -msgstr "" +msgstr "**Code source :** :source:`Lib/email/parser.py`" #: ../Doc/library/email.parser.rst:11 msgid "" @@ -70,7 +70,7 @@ msgstr "" #: ../Doc/library/email.parser.rst:44 msgid "FeedParser API" -msgstr "" +msgstr "API *FeedParser*" #: ../Doc/library/email.parser.rst:46 msgid "" @@ -303,11 +303,11 @@ msgstr "" #: ../Doc/library/email.parser.rst:275 msgid "Additional notes" -msgstr "" +msgstr "Notes complémentaires" #: ../Doc/library/email.parser.rst:277 msgid "Here are some notes on the parsing semantics:" -msgstr "" +msgstr "Voici des remarques sur la sémantique d'analyse : ::" #: ../Doc/library/email.parser.rst:279 msgid "" diff --git a/library/email.po b/library/email.po index 111de078..f81c87df 100644 --- a/library/email.po +++ b/library/email.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/email.rst:2 msgid ":mod:`email` --- An email and MIME handling package" -msgstr "" +msgstr ":mod:`email` — Un paquet de gestion des e-mails et MIME" #: ../Doc/library/email.rst:12 msgid "**Source code:** :source:`Lib/email/__init__.py`" -msgstr "" +msgstr "**Code source:** :source:`Lib/email/__init__.py`" #: ../Doc/library/email.rst:16 msgid "" @@ -79,11 +79,11 @@ msgstr "" #: ../Doc/library/email.rst:51 msgid "Contents of the :mod:`email` package documentation:" -msgstr "" +msgstr "Contenus de la documentation du paquet :mod:`email` :" #: ../Doc/library/email.rst:74 msgid "Module :mod:`smtplib`" -msgstr "" +msgstr "Module :mod:`smtplib`" #: ../Doc/library/email.rst:74 msgid "SMTP protocol client" @@ -91,7 +91,7 @@ msgstr "" #: ../Doc/library/email.rst:76 msgid "Module :mod:`nntplib`" -msgstr "" +msgstr "Module :mod:`nntplib`" #: ../Doc/library/email.rst:77 msgid "NNTP protocol client" diff --git a/library/errno.po b/library/errno.po index 89218b70..0e761f9a 100644 --- a/library/errno.po +++ b/library/errno.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/errno.rst:2 msgid ":mod:`errno` --- Standard errno system symbols" -msgstr "" +msgstr ":mod:`errno` — Symboles du système *errno* standard" #: ../Doc/library/errno.rst:9 msgid "" @@ -27,6 +27,10 @@ msgid "" "are borrowed from :file:`linux/include/errno.h`, which should be pretty all-" "inclusive." msgstr "" +"Ce module met à disposition des symboles du système standard ``errno``. La " +"valeur de chaque symbole est la valeur entière correspondante. Les noms et " +"les descriptions sont empruntés à :file:`linux/include/errno.h`, qui devrait " +"être assez exhaustif." #: ../Doc/library/errno.rst:17 msgid "" @@ -34,12 +38,17 @@ msgid "" "the underlying system. For instance, ``errno.errorcode[errno.EPERM]`` maps " "to ``'EPERM'``." msgstr "" +"Dictionnaire associant la valeur *errno* au nom de chaîne dans le système " +"sous-jacent. Par exemple, ``errno.errorcode[errno.EPERM]`` correspond à " +"``'EPERM'``." #: ../Doc/library/errno.rst:21 msgid "" "To translate a numeric error code to an error message, use :func:`os." "strerror`." msgstr "" +"Pour traduire un code d'erreur en message d'erreur, utilisez :func:`os." +"strerror`." #: ../Doc/library/errno.rst:23 msgid "" @@ -47,94 +56,98 @@ msgid "" "not defined by the module. The specific list of defined symbols is " "available as ``errno.errorcode.keys()``. Symbols available can include:" msgstr "" +"De la liste suivante, les symboles qui ne sont pas utilisés dans la " +"plateforme actuelle ne sont pas définis par le module. La liste spécifique " +"des symboles définis est disponible comme ``errno.errorcode.keys()``. Les " +"symboles disponibles font partie de cette liste :" #: ../Doc/library/errno.rst:30 msgid "Operation not permitted" -msgstr "" +msgstr "Opération interdite" #: ../Doc/library/errno.rst:35 msgid "No such file or directory" -msgstr "" +msgstr "Fichier ou répertoire inexistant" #: ../Doc/library/errno.rst:40 msgid "No such process" -msgstr "" +msgstr "Processus inexistant" #: ../Doc/library/errno.rst:45 msgid "Interrupted system call." -msgstr "" +msgstr "Appel système interrompu" #: ../Doc/library/errno.rst:48 msgid "This error is mapped to the exception :exc:`InterruptedError`." -msgstr "" +msgstr "Cette erreur est associée à l'exception :exc:`InterruptedError`." #: ../Doc/library/errno.rst:53 msgid "I/O error" -msgstr "" +msgstr "Erreur d'entrée-sortie" #: ../Doc/library/errno.rst:58 msgid "No such device or address" -msgstr "" +msgstr "Dispositif ou adresse inexistant" #: ../Doc/library/errno.rst:63 msgid "Arg list too long" -msgstr "" +msgstr "Liste d'arguments trop longue" #: ../Doc/library/errno.rst:68 msgid "Exec format error" -msgstr "" +msgstr "Erreur de format d'exécution" #: ../Doc/library/errno.rst:73 msgid "Bad file number" -msgstr "" +msgstr "Mauvais descripteur de fichier" #: ../Doc/library/errno.rst:78 msgid "No child processes" -msgstr "" +msgstr "Pas de processus fils" #: ../Doc/library/errno.rst:83 msgid "Try again" -msgstr "" +msgstr "Ressource temporairement indisponible (réessayez)" #: ../Doc/library/errno.rst:88 msgid "Out of memory" -msgstr "" +msgstr "Mémoire insuffisante" #: ../Doc/library/errno.rst:93 msgid "Permission denied" -msgstr "" +msgstr "Autorisation refusée" #: ../Doc/library/errno.rst:98 msgid "Bad address" -msgstr "" +msgstr "Mauvaise adresse" #: ../Doc/library/errno.rst:103 msgid "Block device required" -msgstr "" +msgstr "Dispositif de bloc requis" #: ../Doc/library/errno.rst:108 msgid "Device or resource busy" -msgstr "" +msgstr "Dispositif ou ressource occupé" #: ../Doc/library/errno.rst:113 msgid "File exists" -msgstr "" +msgstr "Fichier déjà existant" #: ../Doc/library/errno.rst:118 msgid "Cross-device link" -msgstr "" +msgstr "Lien inapproprié" #: ../Doc/library/errno.rst:123 msgid "No such device" -msgstr "" +msgstr "Dispositif inexistant" #: ../Doc/library/errno.rst:128 msgid "Not a directory" -msgstr "" +msgstr "Pas un répertoire" #: ../Doc/library/errno.rst:133 msgid "Is a directory" -msgstr "" +msgstr "Est un répertoire" #: ../Doc/library/errno.rst:138 msgid "Invalid argument" @@ -142,400 +155,400 @@ msgstr "Argument invalide" #: ../Doc/library/errno.rst:143 msgid "File table overflow" -msgstr "" +msgstr "Plus de descripteur de fichier disponible" #: ../Doc/library/errno.rst:148 msgid "Too many open files" -msgstr "" +msgstr "Trop de fichiers ouverts" #: ../Doc/library/errno.rst:153 msgid "Not a typewriter" -msgstr "" +msgstr "Opération de contrôle d'entrée-sortie invalide" #: ../Doc/library/errno.rst:158 msgid "Text file busy" -msgstr "" +msgstr "Fichier texte occupé" #: ../Doc/library/errno.rst:163 msgid "File too large" -msgstr "" +msgstr "Fichier trop grand" #: ../Doc/library/errno.rst:168 msgid "No space left on device" -msgstr "" +msgstr "Plus de place sur le dispositif" #: ../Doc/library/errno.rst:173 msgid "Illegal seek" -msgstr "" +msgstr "Recherche invalide" #: ../Doc/library/errno.rst:178 msgid "Read-only file system" -msgstr "" +msgstr "Système de fichiers en lecture seule" #: ../Doc/library/errno.rst:183 msgid "Too many links" -msgstr "" +msgstr "Trop de liens symboliques" #: ../Doc/library/errno.rst:188 msgid "Broken pipe" -msgstr "" +msgstr "Tube brisé" #: ../Doc/library/errno.rst:193 msgid "Math argument out of domain of func" -msgstr "" +msgstr "Argument mathématique hors du domaine de définition de la fonction" #: ../Doc/library/errno.rst:198 msgid "Math result not representable" -msgstr "" +msgstr "Résultat mathématique non représentable" #: ../Doc/library/errno.rst:203 msgid "Resource deadlock would occur" -msgstr "" +msgstr "Un interblocage se produirait sur cette ressource" #: ../Doc/library/errno.rst:208 msgid "File name too long" -msgstr "" +msgstr "Nom de fichier trop long" #: ../Doc/library/errno.rst:213 msgid "No record locks available" -msgstr "" +msgstr "Plus de verrou de fichier disponible" #: ../Doc/library/errno.rst:218 msgid "Function not implemented" -msgstr "" +msgstr "Fonction non implémentée" #: ../Doc/library/errno.rst:223 msgid "Directory not empty" -msgstr "" +msgstr "Dossier non vide" #: ../Doc/library/errno.rst:228 msgid "Too many symbolic links encountered" -msgstr "" +msgstr "Trop de liens symboliques trouvés" #: ../Doc/library/errno.rst:233 msgid "Operation would block" -msgstr "" +msgstr "L'opération bloquerait" #: ../Doc/library/errno.rst:238 msgid "No message of desired type" -msgstr "" +msgstr "Pas de message du type voulu" #: ../Doc/library/errno.rst:243 msgid "Identifier removed" -msgstr "" +msgstr "Identifiant supprimé" #: ../Doc/library/errno.rst:248 msgid "Channel number out of range" -msgstr "" +msgstr "Le numéro de canal est hors des limites" #: ../Doc/library/errno.rst:253 msgid "Level 2 not synchronized" -msgstr "" +msgstr "Le niveau 2 n'est pas synchronisé" #: ../Doc/library/errno.rst:258 msgid "Level 3 halted" -msgstr "" +msgstr "Niveau 3 stoppé" #: ../Doc/library/errno.rst:263 msgid "Level 3 reset" -msgstr "" +msgstr "Niveau 3 réinitialisé" #: ../Doc/library/errno.rst:268 msgid "Link number out of range" -msgstr "" +msgstr "Le numéro du lien est hors des limites" #: ../Doc/library/errno.rst:273 msgid "Protocol driver not attached" -msgstr "" +msgstr "Le pilote de protocole n'est pas attaché" #: ../Doc/library/errno.rst:278 msgid "No CSI structure available" -msgstr "" +msgstr "Pas de structure *CSI* disponible" #: ../Doc/library/errno.rst:283 msgid "Level 2 halted" -msgstr "" +msgstr "Niveau 2 stoppé" #: ../Doc/library/errno.rst:288 msgid "Invalid exchange" -msgstr "" +msgstr "Échange invalide" #: ../Doc/library/errno.rst:293 msgid "Invalid request descriptor" -msgstr "" +msgstr "Descripteur de requête invalide" #: ../Doc/library/errno.rst:298 msgid "Exchange full" -msgstr "" +msgstr "Échange complet" #: ../Doc/library/errno.rst:303 msgid "No anode" -msgstr "" +msgstr "Pas de *anode*" #: ../Doc/library/errno.rst:308 msgid "Invalid request code" -msgstr "" +msgstr "Code de requête invalide" #: ../Doc/library/errno.rst:313 msgid "Invalid slot" -msgstr "" +msgstr "*Slot* invalide" #: ../Doc/library/errno.rst:318 msgid "File locking deadlock error" -msgstr "" +msgstr "Interblocage lors du verrouillage de fichier" #: ../Doc/library/errno.rst:323 msgid "Bad font file format" -msgstr "" +msgstr "Mauvais format de fichier de police" #: ../Doc/library/errno.rst:328 msgid "Device not a stream" -msgstr "" +msgstr "Le périphérique n'est pas un flux" #: ../Doc/library/errno.rst:333 msgid "No data available" -msgstr "" +msgstr "Pas de donnée disponible" #: ../Doc/library/errno.rst:338 msgid "Timer expired" -msgstr "" +msgstr "Délai maximal atteint" #: ../Doc/library/errno.rst:343 msgid "Out of streams resources" -msgstr "" +msgstr "Pas assez de ressources de type flux" #: ../Doc/library/errno.rst:348 msgid "Machine is not on the network" -msgstr "" +msgstr "Machine hors réseau" #: ../Doc/library/errno.rst:353 msgid "Package not installed" -msgstr "" +msgstr "Paquet non installé" #: ../Doc/library/errno.rst:358 msgid "Object is remote" -msgstr "" +msgstr "L'objet est distant" #: ../Doc/library/errno.rst:363 msgid "Link has been severed" -msgstr "" +msgstr "Lien coupé" #: ../Doc/library/errno.rst:368 msgid "Advertise error" -msgstr "" +msgstr "Erreur d'annonce" #: ../Doc/library/errno.rst:373 msgid "Srmount error" -msgstr "" +msgstr "Erreur *Srmount*" #: ../Doc/library/errno.rst:378 msgid "Communication error on send" -msgstr "" +msgstr "Erreur de communication lors de l'envoi" #: ../Doc/library/errno.rst:383 msgid "Protocol error" -msgstr "" +msgstr "Erreur de protocole" #: ../Doc/library/errno.rst:388 msgid "Multihop attempted" -msgstr "" +msgstr "Transfert à sauts multiples essayé" #: ../Doc/library/errno.rst:393 msgid "RFS specific error" -msgstr "" +msgstr "erreur spécifique *RFS*" #: ../Doc/library/errno.rst:398 msgid "Not a data message" -msgstr "" +msgstr "Pas un message de données" #: ../Doc/library/errno.rst:403 msgid "Value too large for defined data type" -msgstr "" +msgstr "Valeur trop grande pour être stockée dans ce type de donnée" #: ../Doc/library/errno.rst:408 msgid "Name not unique on network" -msgstr "" +msgstr "Nom non-unique dans le réseau" #: ../Doc/library/errno.rst:413 msgid "File descriptor in bad state" -msgstr "" +msgstr "Descripteur de fichier en mauvais état" #: ../Doc/library/errno.rst:418 msgid "Remote address changed" -msgstr "" +msgstr "Adresse distante changée" #: ../Doc/library/errno.rst:423 msgid "Can not access a needed shared library" -msgstr "" +msgstr "Accès impossible à une bibliothèque partagée nécessaire" #: ../Doc/library/errno.rst:428 msgid "Accessing a corrupted shared library" -msgstr "" +msgstr "Accès à une bibliothèque partagée corrompue" #: ../Doc/library/errno.rst:433 msgid ".lib section in a.out corrupted" -msgstr "" +msgstr "Section *.lib* de *a.out* corrompue" #: ../Doc/library/errno.rst:438 msgid "Attempting to link in too many shared libraries" -msgstr "" +msgstr "Tentative de liaison entre trop de bibliothèques partagées" #: ../Doc/library/errno.rst:443 msgid "Cannot exec a shared library directly" -msgstr "" +msgstr "Impossible d'exécuter directement une bibliothèque partagée" #: ../Doc/library/errno.rst:448 msgid "Illegal byte sequence" -msgstr "" +msgstr "Séquence de *bytes* illégale" #: ../Doc/library/errno.rst:453 msgid "Interrupted system call should be restarted" -msgstr "" +msgstr "Appel système interrompu qui devrait être relancé" #: ../Doc/library/errno.rst:458 msgid "Streams pipe error" -msgstr "" +msgstr "Erreur d’enchaînement de flux" #: ../Doc/library/errno.rst:463 msgid "Too many users" -msgstr "" +msgstr "Trop d'utilisateurs" #: ../Doc/library/errno.rst:468 msgid "Socket operation on non-socket" -msgstr "" +msgstr "Opération *socket* pas sur un connecteur" #: ../Doc/library/errno.rst:473 msgid "Destination address required" -msgstr "" +msgstr "Adresse de destination obligatoire" #: ../Doc/library/errno.rst:478 msgid "Message too long" -msgstr "" +msgstr "Message trop long" #: ../Doc/library/errno.rst:483 msgid "Protocol wrong type for socket" -msgstr "" +msgstr "Mauvais type de protocole pour ce connecteur" #: ../Doc/library/errno.rst:488 msgid "Protocol not available" -msgstr "" +msgstr "Protocole pas disponible" #: ../Doc/library/errno.rst:493 msgid "Protocol not supported" -msgstr "" +msgstr "Protocole non géré" #: ../Doc/library/errno.rst:498 msgid "Socket type not supported" -msgstr "" +msgstr "Type de connecteur non géré" #: ../Doc/library/errno.rst:503 msgid "Operation not supported on transport endpoint" -msgstr "" +msgstr "Opération non gérée par cette fin de lien" #: ../Doc/library/errno.rst:508 msgid "Protocol family not supported" -msgstr "" +msgstr "Famille de protocole non gérée" #: ../Doc/library/errno.rst:513 msgid "Address family not supported by protocol" -msgstr "" +msgstr "Famille d'adresses non gérée par ce protocole" #: ../Doc/library/errno.rst:518 msgid "Address already in use" -msgstr "" +msgstr "Adresse déjà utilisée" #: ../Doc/library/errno.rst:523 msgid "Cannot assign requested address" -msgstr "" +msgstr "Impossible d'assigner l'adresse demandée" #: ../Doc/library/errno.rst:528 msgid "Network is down" -msgstr "" +msgstr "Le réseau est désactivé" #: ../Doc/library/errno.rst:533 msgid "Network is unreachable" -msgstr "" +msgstr "Réseau inaccessible" #: ../Doc/library/errno.rst:538 msgid "Network dropped connection because of reset" -msgstr "" +msgstr "Connexion annulée par le réseau" #: ../Doc/library/errno.rst:543 msgid "Software caused connection abort" -msgstr "" +msgstr "Connexion abandonnée" #: ../Doc/library/errno.rst:548 msgid "Connection reset by peer" -msgstr "" +msgstr "Connexion réinitialisée" #: ../Doc/library/errno.rst:553 msgid "No buffer space available" -msgstr "" +msgstr "Plus d'espace tampon disponible" #: ../Doc/library/errno.rst:558 msgid "Transport endpoint is already connected" -msgstr "" +msgstr "La socket est connectée" #: ../Doc/library/errno.rst:563 msgid "Transport endpoint is not connected" -msgstr "" +msgstr "La socket n'est pas connectée" #: ../Doc/library/errno.rst:568 msgid "Cannot send after transport endpoint shutdown" -msgstr "" +msgstr "Impossible d'envoyer après l'arrêt du point final du transport" #: ../Doc/library/errno.rst:573 msgid "Too many references: cannot splice" -msgstr "" +msgstr "Trop de descripteurs : impossible d'effectuer la liaison" #: ../Doc/library/errno.rst:578 msgid "Connection timed out" -msgstr "" +msgstr "Délai maximal de connexion écoulé" #: ../Doc/library/errno.rst:583 msgid "Connection refused" -msgstr "" +msgstr "Connexion refusée" #: ../Doc/library/errno.rst:588 msgid "Host is down" -msgstr "" +msgstr "Hôte éteint" #: ../Doc/library/errno.rst:593 msgid "No route to host" -msgstr "" +msgstr "Pas de route vers l'hôte" #: ../Doc/library/errno.rst:598 msgid "Operation already in progress" -msgstr "" +msgstr "Connexion déjà en cours" #: ../Doc/library/errno.rst:603 msgid "Operation now in progress" -msgstr "" +msgstr "Opération en cours" #: ../Doc/library/errno.rst:608 msgid "Stale NFS file handle" -msgstr "" +msgstr "Descripteur de fichier NFS corrompu" #: ../Doc/library/errno.rst:613 msgid "Structure needs cleaning" -msgstr "" +msgstr "La structure a besoin d'être nettoyée" #: ../Doc/library/errno.rst:618 msgid "Not a XENIX named type file" -msgstr "" +msgstr "N'est pas un fichier nommé du type *XENIX*" #: ../Doc/library/errno.rst:623 msgid "No XENIX semaphores available" -msgstr "" +msgstr "Pas de sémaphore *XENIX* disponible" #: ../Doc/library/errno.rst:628 msgid "Is a named type file" -msgstr "" +msgstr "Est un fichier nommé" #: ../Doc/library/errno.rst:633 msgid "Remote I/O error" -msgstr "" +msgstr "Erreur d'entrées-sorties distante" #: ../Doc/library/errno.rst:638 msgid "Quota exceeded" -msgstr "" +msgstr "Quota dépassé" diff --git a/library/filecmp.po b/library/filecmp.po index be78f538..fc8c806e 100644 --- a/library/filecmp.po +++ b/library/filecmp.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/filecmp.rst:2 msgid ":mod:`filecmp` --- File and Directory Comparisons" -msgstr "" +msgstr ":mod:`filecmp` – Comparaisons de fichiers et de répertoires" #: ../Doc/library/filecmp.rst:9 msgid "**Source code:** :source:`Lib/filecmp.py`" @@ -30,28 +30,38 @@ msgid "" "directories, with various optional time/correctness trade-offs. For " "comparing files, see also the :mod:`difflib` module." msgstr "" +"Le module :mod:`filecmp` définit les fonctions permettant de comparer les " +"fichiers et les répertoires, avec différents compromis optionnels durée / " +"exactitude. Pour comparer des fichiers, voir aussi le module :mod:`difflib`." #: ../Doc/library/filecmp.rst:17 msgid "The :mod:`filecmp` module defines the following functions:" -msgstr "" +msgstr "Le module :mod:`filecmp` définit les fonctions suivantes :" #: ../Doc/library/filecmp.rst:22 msgid "" "Compare the files named *f1* and *f2*, returning ``True`` if they seem " "equal, ``False`` otherwise." msgstr "" +"Compare les fichiers nommés *f1* et *f2* , renvoie ``True`` s’ils semblent " +"égaux, ``False`` sinon." #: ../Doc/library/filecmp.rst:25 msgid "" "If *shallow* is true, files with identical :func:`os.stat` signatures are " "taken to be equal. Otherwise, the contents of the files are compared." msgstr "" +"Si *shallow* est vrai, les fichiers avec des signatures :func:`os.stat()` " +"identiques sont considérés comme égaux. Sinon, le contenu des fichiers est " +"comparé." #: ../Doc/library/filecmp.rst:28 msgid "" "Note that no external programs are called from this function, giving it " "portability and efficiency." msgstr "" +"Notez qu'aucun programme externe n'est appelé à partir de cette fonction, ce " +"qui lui confère des qualités de portabilité et d'efficacité." #: ../Doc/library/filecmp.rst:31 msgid "" @@ -59,12 +69,18 @@ msgid "" "entries invalidated if the :func:`os.stat` information for the file " "changes. The entire cache may be cleared using :func:`clear_cache`." msgstr "" +"Cette fonction utilise un cache pour les comparaisons antérieures et les " +"résultats, les entrées du cache étant invalidées si les informations :func:" +"`os.stat()` du fichier sont modifiées. La totalité du cache peut être " +"effacée avec :func:`clear_cache()`." #: ../Doc/library/filecmp.rst:38 msgid "" "Compare the files in the two directories *dir1* and *dir2* whose names are " "given by *common*." msgstr "" +"Compare les fichiers des deux répertoires *dir1* et *dir2* dont les noms " +"sont donnés par *common*." #: ../Doc/library/filecmp.rst:41 msgid "" @@ -75,12 +91,21 @@ msgid "" "directories, the user lacks permission to read them or if the comparison " "could not be done for some other reason." msgstr "" +"Renvoie trois listes de noms de fichiers : *match* , *mismatch*, *errors*. " +"*match* contient la liste des fichiers qui correspondent, *mismatch* " +"contient les noms de ceux qui ne correspondent pas et *errors* répertorie " +"les noms des fichiers qui n'ont pas pu être comparés. Les fichiers sont " +"répertoriés dans *errors* s'ils n'existent pas dans l'un des répertoires, si " +"l'utilisateur ne dispose pas de l'autorisation nécessaire pour les lire ou " +"si la comparaison n'a pas pu être effectuée pour une autre raison." #: ../Doc/library/filecmp.rst:48 msgid "" "The *shallow* parameter has the same meaning and default value as for :func:" "`filecmp.cmp`." msgstr "" +"Le paramètre *shallow* a la même signification et la même valeur par défaut " +"que pour :func:`filecmp.cmp`." #: ../Doc/library/filecmp.rst:51 msgid "" @@ -88,6 +113,9 @@ msgid "" "``b/c`` and ``a/d/e`` with ``b/d/e``. ``'c'`` and ``'d/e'`` will each be in " "one of the three returned lists." msgstr "" +"Par exemple, ``cmpfiles('a', 'b', ['c', 'd/e'])`` compare ``a/c`` et ``b/" +"c`` et ``a/d/e`` avec ``b/d/e``. ``'c'`` et ``'d/e'`` seront chacun dans " +"l'une des trois listes renvoyées." #: ../Doc/library/filecmp.rst:58 msgid "" @@ -95,10 +123,13 @@ msgid "" "after it is modified that it is within the mtime resolution of the " "underlying filesystem." msgstr "" +"Efface le cache *filecmp*. Cela peut être utile si un fichier est comparé " +"juste après avoir été modifié (dans un délai inférieur à la résolution " +"*mtime* du système de fichiers sous-jacent)." #: ../Doc/library/filecmp.rst:68 msgid "The :class:`dircmp` class" -msgstr "" +msgstr "La classe :class:`dircmp`" #: ../Doc/library/filecmp.rst:72 msgid "" @@ -107,31 +138,41 @@ msgid "" "`filecmp.DEFAULT_IGNORES`. *hide* is a list of names to hide, and defaults " "to ``[os.curdir, os.pardir]``." msgstr "" +"Construit un nouvel objet de comparaison de répertoires, pour comparer les " +"répertoires *a* et *b*. *ignore* est une liste de noms à ignorer, par défaut " +"à :attr:`filecmp.DEFAULT_IGNORES`. *hide* est une liste de noms à cacher, " +"par défaut à ``[os.curdir, os.pardir]``." #: ../Doc/library/filecmp.rst:77 msgid "" "The :class:`dircmp` class compares files by doing *shallow* comparisons as " "described for :func:`filecmp.cmp`." msgstr "" +"La classe :class:`dircmp` compare les fichiers en faisant des comparaisons " +"*superficielles* comme décrit pour :func:`filecmp.cmp`." #: ../Doc/library/filecmp.rst:80 msgid "The :class:`dircmp` class provides the following methods:" -msgstr "" +msgstr "La classe :class:`dircmp` fournit les méthodes suivantes :" #: ../Doc/library/filecmp.rst:84 msgid "Print (to :data:`sys.stdout`) a comparison between *a* and *b*." -msgstr "" +msgstr "Affiche (sur :data:`sys.stdout`) une comparaison entre *a* et *b*." #: ../Doc/library/filecmp.rst:88 msgid "" "Print a comparison between *a* and *b* and common immediate subdirectories." msgstr "" +"Affiche une comparaison entre *a* et *b* et les sous-répertoires immédiats " +"communs." #: ../Doc/library/filecmp.rst:93 msgid "" "Print a comparison between *a* and *b* and common subdirectories " "(recursively)." msgstr "" +"Affiche une comparaison entre a et b et les sous-répertoires communs " +"(récursivement)." #: ../Doc/library/filecmp.rst:96 msgid "" @@ -139,6 +180,9 @@ msgid "" "be used to get various bits of information about the directory trees being " "compared." msgstr "" +"La classe :class:`dircmp` offre un certain nombre d'attributs intéressants " +"qui peuvent être utilisés pour obtenir diverses informations sur les " +"arborescences de répertoires comparées." #: ../Doc/library/filecmp.rst:100 msgid "" @@ -146,76 +190,93 @@ msgid "" "so there is no speed penalty if only those attributes which are lightweight " "to compute are used." msgstr "" +"Notez que, via les points d'ancrage :meth:`__getattr__`, tous les attributs " +"sont calculés de manière paresseuse. Il n'y a donc pas de pénalité en " +"vitesse si seuls les attributs rapides à calculer sont utilisés." #: ../Doc/library/filecmp.rst:107 msgid "The directory *a*." -msgstr "" +msgstr "Le répertoire *a*." #: ../Doc/library/filecmp.rst:112 msgid "The directory *b*." -msgstr "" +msgstr "Le répertoire *b*." #: ../Doc/library/filecmp.rst:117 msgid "Files and subdirectories in *a*, filtered by *hide* and *ignore*." msgstr "" +"Fichiers et sous-répertoires dans *a* , filtrés par *hide* et *ignore*." #: ../Doc/library/filecmp.rst:122 msgid "Files and subdirectories in *b*, filtered by *hide* and *ignore*." msgstr "" +"Fichiers et sous-répertoires dans *b* , filtrés par *hide* et *ignore*." #: ../Doc/library/filecmp.rst:127 msgid "Files and subdirectories in both *a* and *b*." -msgstr "" +msgstr "Fichiers et sous-répertoires à la fois dans *a* et *b*." #: ../Doc/library/filecmp.rst:132 msgid "Files and subdirectories only in *a*." -msgstr "" +msgstr "Fichiers et sous-répertoires uniquement dans *a*." #: ../Doc/library/filecmp.rst:137 msgid "Files and subdirectories only in *b*." -msgstr "" +msgstr "Fichiers et sous-répertoires uniquement dans *b*." #: ../Doc/library/filecmp.rst:142 msgid "Subdirectories in both *a* and *b*." -msgstr "" +msgstr "Sous-répertoires à la fois dans *a* et *b*." #: ../Doc/library/filecmp.rst:147 msgid "Files in both *a* and *b*." -msgstr "" +msgstr "Fichiers à la fois dans *a* et *b*." #: ../Doc/library/filecmp.rst:152 msgid "" "Names in both *a* and *b*, such that the type differs between the " "directories, or names for which :func:`os.stat` reports an error." msgstr "" +"Noms dans *a* et *b* , tels que le type diffère entre les répertoires, ou " +"noms pour lesquels :func:`os.stat` signale une erreur." #: ../Doc/library/filecmp.rst:158 msgid "" "Files which are identical in both *a* and *b*, using the class's file " "comparison operator." msgstr "" +"Fichiers identiques dans *a* et *b*, en utilisant l'opérateur de comparaison " +"de fichiers de la classe." #: ../Doc/library/filecmp.rst:164 msgid "" "Files which are in both *a* and *b*, whose contents differ according to the " "class's file comparison operator." msgstr "" +"Fichiers figurant à la fois dans *a* et dans *b* , dont le contenu diffère " +"en fonction de l'opérateur de comparaison de fichiers de la classe." #: ../Doc/library/filecmp.rst:170 msgid "Files which are in both *a* and *b*, but could not be compared." msgstr "" +"Fichiers à la fois dans *a* et dans *b* , mais ne pouvant pas être comparés." #: ../Doc/library/filecmp.rst:175 msgid "" "A dictionary mapping names in :attr:`common_dirs` to :class:`dircmp` objects." msgstr "" +"Un dictionnaire faisant correspondre les noms dans :attr:`common_dirs` vers " +"des objets :class:`dircmp`." #: ../Doc/library/filecmp.rst:182 msgid "List of directories ignored by :class:`dircmp` by default." -msgstr "" +msgstr "Liste des répertoires ignorés par défaut par :class:`dircmp`." #: ../Doc/library/filecmp.rst:185 msgid "" "Here is a simplified example of using the ``subdirs`` attribute to search " "recursively through two directories to show common different files::" msgstr "" +"Voici un exemple simplifié d'utilisation de l'attribut ``subdirs`` pour " +"effectuer une recherche récursive dans deux répertoires afin d'afficher des " +"fichiers communs différents ::" diff --git a/library/grp.po b/library/grp.po index 70b7a1d8..1cd7c2a5 100644 --- a/library/grp.po +++ b/library/grp.po @@ -35,7 +35,7 @@ msgstr "" #: ../Doc/library/grp.rst:18 msgid "Index" -msgstr "" +msgstr "Index" #: ../Doc/library/grp.rst:18 msgid "Attribute" @@ -126,7 +126,7 @@ msgstr "" #: ../Doc/library/grp.rst:61 msgid "Module :mod:`pwd`" -msgstr "" +msgstr "Module :mod:`pwd`" #: ../Doc/library/grp.rst:61 msgid "An interface to the user database, similar to this." diff --git a/library/hashlib.po b/library/hashlib.po index 3df20f8c..a745094f 100644 --- a/library/hashlib.po +++ b/library/hashlib.po @@ -19,6 +19,7 @@ msgstr "" #: ../Doc/library/hashlib.rst:2 msgid ":mod:`hashlib` --- Secure hashes and message digests" msgstr "" +":mod:`hashlib` --- Algorithmes de hachage sécurisés et synthèse de messages" #: ../Doc/library/hashlib.rst:10 msgid "**Source code:** :source:`Lib/hashlib.py`" @@ -33,22 +34,34 @@ msgid "" "hash\" and \"message digest\" are interchangeable. Older algorithms were " "called message digests. The modern term is secure hash." msgstr "" +"Ce module implémente une interface commune à différents algorithmes de " +"hachage sécurisés et de synthèse de messages. Sont inclus les algorithmes " +"standards FIPS de hachage SHA1, SHA224, SHA256, SHA384, et SHA512 (définis " +"dans FIPS 180-2) ainsi que l'algorithme MD5 de RSA (défini par la :rfc:" +"`1321`). Les termes \"algorithmes de hachage sécurisé\" et \"algorithme de " +"synthèse de message\" sont interchangeables. Les anciens algorithmes étaient " +"appelés\" algorithmes de synthèse de messages\". Le terme moderne est " +"\"algorithme de hachage sécurisé\"." #: ../Doc/library/hashlib.rst:32 msgid "" "If you want the adler32 or crc32 hash functions, they are available in the :" "mod:`zlib` module." msgstr "" +"Si vous préférez utiliser les fonctions de hachage *adler32* ou *crc32*, " +"elles sont disponibles dans le module :mod:`zlib`." #: ../Doc/library/hashlib.rst:37 msgid "" "Some algorithms have known hash collision weaknesses, refer to the \"See also" "\" section at the end." msgstr "" +"Certains algorithmes ont des faiblesses connues relatives à la collision, se " +"référer à la section \"Voir aussi\" à la fin." #: ../Doc/library/hashlib.rst:44 msgid "Hash algorithms" -msgstr "" +msgstr "Algorithmes de hachage" #: ../Doc/library/hashlib.rst:46 msgid "" @@ -66,12 +79,18 @@ msgid "" "For better multithreading performance, the Python :term:`GIL` is released " "for data larger than 2047 bytes at object creation or on update." msgstr "" +"Pour de meilleures performances avec de multiples fils d'exécution, le :term:" +"`GIL` Python est relâché pour des données dont la taille est supérieure à " +"2047 octets lors de leur création ou leur mise à jour." #: ../Doc/library/hashlib.rst:61 msgid "" "Feeding string objects into :meth:`update` is not supported, as hashes work " "on bytes, not on characters." msgstr "" +"Fournir des objets chaînes de caractères à la méthode :meth:`update` n'est " +"pas implémenté, comme les fonctions de hachages travaillent sur des *bytes* " +"et pas sur des caractères." #: ../Doc/library/hashlib.rst:66 msgid "" @@ -86,10 +105,12 @@ msgid "" "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'`` : ::" #: ../Doc/library/hashlib.rst:85 msgid "More condensed:" -msgstr "" +msgstr "En plus condensé : ::" #: ../Doc/library/hashlib.rst:92 msgid "" @@ -102,11 +123,11 @@ msgstr "" #: ../Doc/library/hashlib.rst:98 msgid "Using :func:`new` with an algorithm provided by OpenSSL:" -msgstr "" +msgstr "En utilisant :func:`new` avec un algorithme fourni par OpenSSL : ::" #: ../Doc/library/hashlib.rst:105 msgid "Hashlib provides the following constant attributes:" -msgstr "" +msgstr "*Hashlib* fournit les constantes suivantes ::" #: ../Doc/library/hashlib.rst:109 msgid "" @@ -122,30 +143,40 @@ msgid "" "same algorithm may appear multiple times in this set under different names " "(thanks to OpenSSL)." msgstr "" +"Un ensemble contenant les noms des algorithmes de hachage disponibles dans " +"l'interpréteur Python. Ces noms sont reconnus lorsqu'ils sont passés à la " +"fonction :func:`new`. :attr:`algorithms_guaranteed` est toujours un sous-" +"ensemble. Le même algorithme peut apparaître plusieurs fois dans cet " +"ensemble sous un nom différent (grâce à OpenSSL)." #: ../Doc/library/hashlib.rst:124 msgid "" "The following values are provided as constant attributes of the hash objects " "returned by the constructors:" msgstr "" +"Les valeurs suivantes sont fournis en tant qu'attributs constants des objets " +"hachés retournés par les constructeurs : ::" #: ../Doc/library/hashlib.rst:130 msgid "The size of the resulting hash in bytes." -msgstr "" +msgstr "La taille du *hash* résultant en octets." #: ../Doc/library/hashlib.rst:134 msgid "The internal block size of the hash algorithm in bytes." -msgstr "" +msgstr "La taille interne d'un bloc de l'algorithme de hachage en octets." #: ../Doc/library/hashlib.rst:136 msgid "A hash object has the following attributes:" -msgstr "" +msgstr "L'objet haché possède les attributs suivants : ::" #: ../Doc/library/hashlib.rst:140 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." msgstr "" +"Le nom canonique de cet objet haché, toujours en minuscule et toujours " +"transmissible à la fonction :func:`new` pour créer un autre objet haché de " +"ce type." #: ../Doc/library/hashlib.rst:143 msgid "" @@ -153,10 +184,13 @@ msgid "" "until Python 3.4 was not formally specified, so may not exist on some " "platforms." msgstr "" +"L'attribut *name* est présent dans CPython depuis sa création, mais n'était " +"pas spécifié formellement jusqu'à Python 3.4, il peut ne pas exister sur " +"certaines plate-formes." #: ../Doc/library/hashlib.rst:148 msgid "A hash object has the following methods:" -msgstr "" +msgstr "L'objet haché possède les méthodes suivantes : ::" #: ../Doc/library/hashlib.rst:153 msgid "" @@ -172,6 +206,10 @@ msgid "" "on data larger than 2047 bytes is taking place when using hash algorithms " "supplied by OpenSSL." msgstr "" +"Le GIL Python est relâché pour permettre aux autres fils d'exécution de " +"tourner pendant que la fonction de hachage met à jour des données plus " +"larges que 2047 octets, lorsque les algorithmes fournis par OpenSSL sont " +"utilisés." #: ../Doc/library/hashlib.rst:166 msgid "" @@ -179,6 +217,9 @@ msgid "" "This is a bytes object of size :attr:`digest_size` which may contain bytes " "in the whole range from 0 to 255." msgstr "" +"Renvoie le *digest* des données passées à la méthode :meth:`update`. C'est " +"un objet de type *bytes* de taille :attr:`digest_size` qui contient des " +"octets dans l'intervalle 0 à 255." #: ../Doc/library/hashlib.rst:173 msgid "" @@ -186,16 +227,23 @@ msgid "" "double length, containing only hexadecimal digits. This may be used to " "exchange the value safely in email or other non-binary environments." msgstr "" +"Comme la méthode :meth:`digest` sauf que le *digest* renvoyé est une chaîne " +"de caractères de longueur double, contenant seulement des chiffres " +"hexadécimaux. Cela peut être utilisé pour échanger sans risque des valeurs " +"dans les *e-mails* ou dans les environnements non binaires." #: ../Doc/library/hashlib.rst:180 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." msgstr "" +"Renvoie une copie (\"clone\") de l'objet haché. Cela peut être utilisé pour " +"calculer efficacement les *digests* de données partageant des sous-chaînes " +"communes." #: ../Doc/library/hashlib.rst:185 msgid "Key derivation" -msgstr "" +msgstr "Dérivation de clé" #: ../Doc/library/hashlib.rst:187 msgid "" @@ -205,12 +253,20 @@ msgid "" "be tunable, slow, and include a `salt `_." msgstr "" +"Les algorithmes de dérivation de clés et d'étirement de clés sont conçus " +"pour le hachage sécurisé de mots de passe. Des algorithmes naïfs comme " +"``sha1(password)`` ne sont pas résistants aux attaques par force brute. Une " +"bonne fonction de hachage doit être paramétrable, lente, et inclure un `sel " +"`_." #: ../Doc/library/hashlib.rst:195 msgid "" "The function provides PKCS#5 password-based key derivation function 2. It " "uses HMAC as pseudorandom function." msgstr "" +"La fonction fournit une fonction de dérivation PKCS#5 (*Public Key " +"Cryptographic Standards #5 v2.0*). Elle utilise HMAC comme fonction de " +"pseudo-aléatoire." #: ../Doc/library/hashlib.rst:198 msgid "" @@ -220,6 +276,12 @@ msgid "" "sensible length (e.g. 1024). *salt* should be about 16 or more bytes from a " "proper source, e.g. :func:`os.urandom`." msgstr "" +"La chaîne de caractères *hash_name* est le nom de l'algorithme de hachage " +"désiré pour le HMAC, par exemple ``\"sha1\"`` ou ``\"sha256\"``. *password* " +"et *salt* sont interprétés comme des tampons d'octets. Les applications et " +"bibliothèques doivent limiter *password* à une longueur raisonnable (comme " +"``1024``). *salt* doit être de 16 octets ou plus provenant d'une source " +"correcte, e.g. :func:`os.urandom`." #: ../Doc/library/hashlib.rst:204 msgid "" @@ -227,12 +289,18 @@ msgid "" "computing power. As of 2013, at least 100,000 iterations of SHA-256 are " "suggested." msgstr "" +"Le nombre d'*iterations* doit être choisi sur la base de l'algorithme de " +"hachage et de la puissance de calcul. En 2013, au moins 100000 itérations de " +"SHA-256 sont recommandées." #: ../Doc/library/hashlib.rst:208 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." msgstr "" +"*dklen* est la longueur de la clé dérivée. Si *dklen* vaut ``None`` alors la " +"taille du message de l'algorithme de hachage *hash_name* est utilisé, e.g. " +"64 pour SHA-512." #: ../Doc/library/hashlib.rst:220 msgid "" @@ -240,14 +308,18 @@ msgid "" "Python implementation uses an inline version of :mod:`hmac`. It is about " "three times slower and doesn't release the GIL." msgstr "" +"Une implémentation rapide de *pbkdf2_hmac* est disponible avec OpenSSL. " +"L'implémentation Python utilise une version anonyme de :mod:`hmac`. Elle est " +"trois fois plus lente et ne libère pas le GIL." #: ../Doc/library/hashlib.rst:228 msgid "Module :mod:`hmac`" -msgstr "" +msgstr "Module :mod:`hmac`" #: ../Doc/library/hashlib.rst:228 msgid "A module to generate message authentication codes using hashes." msgstr "" +"Un module pour générer des codes d'authentification utilisant des *hash*." #: ../Doc/library/hashlib.rst:231 msgid "Module :mod:`base64`" @@ -256,6 +328,8 @@ msgstr "Module :mod:`base64`" #: ../Doc/library/hashlib.rst:231 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." #: ../Doc/library/hashlib.rst:234 msgid "http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf" @@ -263,24 +337,28 @@ msgstr "" #: ../Doc/library/hashlib.rst:234 msgid "The FIPS 180-2 publication on Secure Hash Algorithms." -msgstr "" +msgstr "La publication FIPS 180-2 sur les algorithmes de hachage sécurisés." #: ../Doc/library/hashlib.rst:238 msgid "" "https://en.wikipedia.org/wiki/" "Cryptographic_hash_function#Cryptographic_hash_algorithms" msgstr "" +"https://en.wikipedia.org/wiki/" +"Cryptographic_hash_function#Cryptographic_hash_algorithms" #: ../Doc/library/hashlib.rst:237 msgid "" "Wikipedia article with information on which algorithms have known issues and " "what that means regarding their use." msgstr "" +"Article Wikipedia contenant les informations relatives aux algorithmes ayant " +"des problèmes et leur interprétation au regard de leur utilisation." #: ../Doc/library/hashlib.rst:240 msgid "https://www.ietf.org/rfc/rfc2898.txt" -msgstr "" +msgstr "https://www.ietf.org/rfc/rfc2898.txt" #: ../Doc/library/hashlib.rst:241 msgid "PKCS #5: Password-Based Cryptography Specification Version 2.0" -msgstr "" +msgstr "PKCS #5: Password-Based Cryptography Specification Version 2.0" diff --git a/library/hmac.po b/library/hmac.po index 10eb09d8..7be68d64 100644 --- a/library/hmac.po +++ b/library/hmac.po @@ -103,7 +103,7 @@ msgstr "" #: ../Doc/library/hmac.rst:81 msgid "A hash object has the following attributes:" -msgstr "" +msgstr "L'objet haché possède les attributs suivants : ::" #: ../Doc/library/hmac.rst:85 msgid "The size of the resulting HMAC digest in bytes." @@ -111,7 +111,7 @@ msgstr "" #: ../Doc/library/hmac.rst:89 msgid "The internal block size of the hash algorithm in bytes." -msgstr "" +msgstr "La taille interne d'un bloc de l'algorithme de hachage en octets." #: ../Doc/library/hmac.rst:95 msgid "The canonical name of this HMAC, always lowercase, e.g. ``hmac-md5``." diff --git a/library/http.cookiejar.po b/library/http.cookiejar.po index 6b4ac37f..71a7123d 100644 --- a/library/http.cookiejar.po +++ b/library/http.cookiejar.po @@ -170,7 +170,7 @@ msgstr "" #: ../Doc/library/http.cookiejar.rst:126 msgid ":rfc:`2109` - HTTP State Management Mechanism" -msgstr "" +msgstr ":rfc:`2109` - HTTP State Management Mechanism" #: ../Doc/library/http.cookiejar.rst:126 msgid "Obsoleted by RFC 2965. Uses :mailheader:`Set-Cookie` with version=1." @@ -766,7 +766,7 @@ msgstr "" #: ../Doc/library/http.cookiejar.rst:602 msgid "Cookie Objects" -msgstr "" +msgstr "Objets *Cookie*" #: ../Doc/library/http.cookiejar.rst:604 msgid "" diff --git a/library/http.cookies.po b/library/http.cookies.po index 74e79f1b..730d4ba2 100644 --- a/library/http.cookies.po +++ b/library/http.cookies.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/http.cookies.rst:2 msgid ":mod:`http.cookies` --- HTTP state management" -msgstr "" +msgstr ":mod:`http.cookies` — gestion d'état pour HTTP" #: ../Doc/library/http.cookies.rst:10 msgid "**Source code:** :source:`Lib/http/cookies.py`" -msgstr "" +msgstr "**Code source :** :source:`Lib/http/cookies.py`" #: ../Doc/library/http.cookies.rst:14 msgid "" @@ -31,6 +31,10 @@ msgid "" "string-only cookies, and provides an abstraction for having any serializable " "data-type as cookie value." msgstr "" +"Le module :mod:`http.cookies` définit des classes abstrayant le concept de " +"témoin web (cookie), un mécanisme de gestion d'état pour HTTP. Il fournit " +"une abstraction gérant des données textuelles et tout type de données " +"sérialisable comme valeur de témoin." #: ../Doc/library/http.cookies.rst:19 msgid "" @@ -41,6 +45,13 @@ msgid "" "comes to Cookie handling. As a result, the parsing rules used are a bit " "less strict." msgstr "" +"Auparavant, le module appliquait strictement les règles d'analyse décrites " +"dans les spécifications :rfc:`2109` et :rfc:`2068`. Entre temps, il a été " +"découvert que Internet Explorer 3.0 ne suit pas les règles liées aux " +"caractères précisées dans ces spécifications. De plus, plusieurs navigateurs " +"et serveurs dans leur versions récentes ont assoupli les règles d'analyse " +"quant à la gestion des témoins. En conséquence, les règles d'analyse " +"utilisées sont un peu moins strictes que les spécifications initiales." #: ../Doc/library/http.cookies.rst:25 msgid "" @@ -48,10 +59,13 @@ msgid "" "``!#$%&'*+-.^_`|~:`` denote the set of valid characters allowed by this " "module in Cookie name (as :attr:`~Morsel.key`)." msgstr "" +"Les jeux de caractères :data:`string.ascii_letters`, :data:`string.digits` " +"et ``!#$%&'*+-.^_`|~:`` définissent l'ensemble des caractères autorisés par " +"ce module pour le nom du témoin (comme :attr:`~Morsel.key`)." #: ../Doc/library/http.cookies.rst:29 msgid "Allowed ':' as a valid Cookie name character." -msgstr "" +msgstr "Ajouté « : » comme caractère autorisé pour les noms de témoin." #: ../Doc/library/http.cookies.rst:35 msgid "" @@ -59,12 +73,17 @@ msgid "" "cookie data comes from a browser you should always prepare for invalid data " "and catch :exc:`CookieError` on parsing." msgstr "" +"Quand un témoin invalide est rencontré, l'exception :exc:`CookieError` est " +"levée. Si les données du témoin proviennent d'un navigateur il faut " +"impérativement gérer les données invalides en attrapant :exc:`CookieError`." #: ../Doc/library/http.cookies.rst:42 msgid "" "Exception failing because of :rfc:`2109` invalidity: incorrect attributes, " "incorrect :mailheader:`Set-Cookie` header, etc." msgstr "" +"Exception levée pour cause d'incompatibilité avec la :rfc:`2109`. Exemples : " +"attributs incorrects, en-tête ``Set-Cookie`` incorrect, etc." #: ../Doc/library/http.cookies.rst:48 msgid "" @@ -73,10 +92,15 @@ msgid "" "value, the value is first converted to a :class:`Morsel` containing the key " "and the value." msgstr "" +"Cette classe définit un dictionnaire dont les clés sont des chaines de " +"caractères et dont les valeurs sont des instances de :class:`Morsel`. Notez " +"qu'à l'assignation d'une valeur à une clé, la valeur est transformée en :" +"class:`Morsel` contenant la clé et la valeur." #: ../Doc/library/http.cookies.rst:52 msgid "If *input* is given, it is passed to the :meth:`load` method." msgstr "" +"Si l'argument *input* est donné, il est passé à la méthode :meth:`load`." #: ../Doc/library/http.cookies.rst:57 msgid "" @@ -87,25 +111,27 @@ msgstr "" #: ../Doc/library/http.cookies.rst:65 msgid "Module :mod:`http.cookiejar`" -msgstr "" +msgstr "Module :mod:`http.cookiejar`" #: ../Doc/library/http.cookies.rst:64 msgid "" "HTTP cookie handling for web *clients*. The :mod:`http.cookiejar` and :mod:" "`http.cookies` modules do not depend on each other." msgstr "" +"Gestion de témoins HTTP pour *clients* web. Les modules :mod:`http." +"cookiejar` et :mod:`http.cookies` ne dépendent pas l'un de l'autre." #: ../Doc/library/http.cookies.rst:67 msgid ":rfc:`2109` - HTTP State Management Mechanism" -msgstr "" +msgstr ":rfc:`2109` - HTTP State Management Mechanism" #: ../Doc/library/http.cookies.rst:68 msgid "This is the state management specification implemented by this module." -msgstr "" +msgstr "Spécification de gestion d'états implantée par ce module." #: ../Doc/library/http.cookies.rst:74 msgid "Cookie Objects" -msgstr "" +msgstr "Objets *Cookie*" #: ../Doc/library/http.cookies.rst:79 msgid "" @@ -126,6 +152,10 @@ msgid "" "In general, it should be the case that :meth:`value_encode` and :meth:" "`value_decode` are inverses on the range of *value_decode*." msgstr "" +"Généralement, les méthodes :meth:`value_encode` et :meth:`value_decode` " +"doivent être inverses l'une de l'autre, c'est-à-dire qu'en envoyant la " +"sortie de l'un dans l'entrée de l'autre la valeur finale doit être égale à " +"la valeur initiale." #: ../Doc/library/http.cookies.rst:96 msgid "" @@ -134,17 +164,24 @@ msgid "" "is used to join the headers together, and is by default the combination " "``'\\r\\n'`` (CRLF)." msgstr "" +"Renvoie une représentation textuelle compatible avec les en-têtes HTTP. " +"*attrs et *header* sont envoyés à la méthode :meth:`output` de chaque " +"classe :class:`Morsel`. *sep* est le séparateur à utiliser pour joindre les " +"valeurs d'en-têtes. Sa valeur par défaut est ``'\\r\\n'`` (CRLF)." #: ../Doc/library/http.cookies.rst:104 msgid "" "Return an embeddable JavaScript snippet, which, if run on a browser which " "supports JavaScript, will act the same as if the HTTP headers was sent." msgstr "" +"Renvoie un extrait de code JavaScript qui, lorsque exécuté par un navigateur " +"qui supporte le JavaScript, va fonctionner de la même manière que si les en-" +"têtes HTTP avaient été envoyés." #: ../Doc/library/http.cookies.rst:107 ../Doc/library/http.cookies.rst:203 #: ../Doc/library/http.cookies.rst:211 msgid "The meaning for *attrs* is the same as in :meth:`output`." -msgstr "" +msgstr "*attrs* a la même signification que dans la méthode :meth:`output`." #: ../Doc/library/http.cookies.rst:112 msgid "" @@ -152,20 +189,28 @@ msgid "" "found there as :class:`Morsel`\\ s. If it is a dictionary, it is equivalent " "to::" msgstr "" +"Si *rawdata* est une chaine de caractères, l'analyser comme étant un " +"``HTTP_COOKIE`` et ajouter les valeurs trouvées en tant que :class:`Morsel`" +"\\ s. S'il s'agit d'un dictionnaire, cela est équivalent à ::" #: ../Doc/library/http.cookies.rst:122 msgid "Morsel Objects" -msgstr "" +msgstr "Objets *Morsel*" #: ../Doc/library/http.cookies.rst:127 msgid "Abstract a key/value pair, which has some :rfc:`2109` attributes." msgstr "" +"Abstraction de paire clé / valeur, accompagnée d'attributs provenant de la " +"spécification :rfc:`2109`." #: ../Doc/library/http.cookies.rst:129 msgid "" "Morsels are dictionary-like objects, whose set of keys is constant --- the " "valid :rfc:`2109` attributes, which are" msgstr "" +"Les objets *Morsel* sont des objets compatibles dictionnaire, dont " +"l'ensemble des clés est fixe et égal aux attributs :rfc:`2109` valides, qui " +"sont" #: ../Doc/library/http.cookies.rst:132 msgid "``expires``" @@ -205,20 +250,26 @@ msgid "" "in HTTP requests, and is not accessible through JavaScript. This is intended " "to mitigate some forms of cross-site scripting." msgstr "" +"L'attribut :attr:`httponly` spécifie que le témoin transféré dans les " +"requêtes HTTP n'est pas accessible par le biais de JavaScript. Il s'agit " +"d'une contremesure à certaines attaques de scripts inter-sites (*XSS*)." #: ../Doc/library/http.cookies.rst:145 msgid "The keys are case-insensitive and their default value is ``''``." msgstr "" +"Les clés ne sont pas sensibles à la casse, leur valeur par défaut est ``''``." #: ../Doc/library/http.cookies.rst:147 msgid "" ":meth:`~Morsel.__eq__` now takes :attr:`~Morsel.key` and :attr:`~Morsel." "value` into account." msgstr "" +"Dorénavant, :meth:`~Morsel.__eq__` prend en compte :attr:`~Morsel.key` et :" +"attr:`~Morsel.value`." #: ../Doc/library/http.cookies.rst:154 msgid "The value of the cookie." -msgstr "" +msgstr "La valeur du témoin." #: ../Doc/library/http.cookies.rst:156 msgid "assigning to ``value``; use :meth:`~Morsel.set` instead." @@ -226,7 +277,7 @@ msgstr "" #: ../Doc/library/http.cookies.rst:162 msgid "The encoded value of the cookie --- this is what should be sent." -msgstr "" +msgstr "La valeur codée du témoin. C'est celle qui doit être transférée." #: ../Doc/library/http.cookies.rst:164 msgid "assigning to ``coded_value``; use :meth:`~Morsel.set` instead." @@ -234,7 +285,7 @@ msgstr "" #: ../Doc/library/http.cookies.rst:170 msgid "The name of the cookie." -msgstr "" +msgstr "Le nom du témoin." #: ../Doc/library/http.cookies.rst:172 msgid "assigning to ``key``; use :meth:`~Morsel.set` instead." @@ -242,7 +293,7 @@ msgstr "" #: ../Doc/library/http.cookies.rst:178 msgid "Set the *key*, *value* and *coded_value* attributes." -msgstr "" +msgstr "Assigne les attributs *key*, *value* et *coded_value*." #: ../Doc/library/http.cookies.rst:180 msgid "" @@ -252,7 +303,7 @@ msgstr "" #: ../Doc/library/http.cookies.rst:187 msgid "Whether *K* is a member of the set of keys of a :class:`Morsel`." -msgstr "" +msgstr "Renvoie si *K* est membre des clés d'un :class:`Morsel`." #: ../Doc/library/http.cookies.rst:192 msgid "" @@ -261,18 +312,27 @@ msgid "" "given, in which case it should be a list of attributes to use. *header* is " "by default ``\"Set-Cookie:\"``." msgstr "" +"Renvoie une représentation textuelle du *Morsel* compatible avec les en-" +"têtes HTTP. Par défaut, tous les attributs sont inclus, à moins que *attrs* " +"ne soit renseigné. Dans ce cas la valeur doit être une liste d'attributs à " +"utiliser. Par défaut, *header* a la valeur ``\"Set-Cookie:\"``." #: ../Doc/library/http.cookies.rst:200 msgid "" "Return an embeddable JavaScript snippet, which, if run on a browser which " "supports JavaScript, will act the same as if the HTTP header was sent." msgstr "" +"Renvoie un extrait de code JavaScript qui, lorsque exécuté par un navigateur " +"qui supporte le JavaScript, va fonctionner de la même manière que si les en-" +"têtes HTTP avaient été envoyés." #: ../Doc/library/http.cookies.rst:208 msgid "" "Return a string representing the Morsel, without any surrounding HTTP or " "JavaScript." msgstr "" +"Renvoie une chaine de caractères représentant le *Morsel*, nettoyé de son " +"contexte HTTP ou JavaScript." #: ../Doc/library/http.cookies.rst:216 msgid "" @@ -280,24 +340,29 @@ msgid "" "*values*. Raise an error if any of the keys in the *values* dict is not a " "valid :rfc:`2109` attribute." msgstr "" +"Met à jour les valeurs du dictionnaire du *Morsel* avec les valeurs " +"provenant du dictionnaire *values*. Lève une erreur si une des clés n'est " +"pas un attribut :rfc:`2109` valide." #: ../Doc/library/http.cookies.rst:220 msgid "an error is raised for invalid keys." -msgstr "" +msgstr "une erreur est levée pour les clés invalides." #: ../Doc/library/http.cookies.rst:226 msgid "Return a shallow copy of the Morsel object." -msgstr "" +msgstr "Renvoie une copie superficielle de l'objet *Morsel*." #: ../Doc/library/http.cookies.rst:228 msgid "return a Morsel object instead of a dict." -msgstr "" +msgstr "renvoie un objet *Morsel* au lieu d'un ``dict``." #: ../Doc/library/http.cookies.rst:234 msgid "" "Raise an error if key is not a valid :rfc:`2109` attribute, otherwise behave " "the same as :meth:`dict.setdefault`." msgstr "" +"Lève une erreur si la clé n'est pas un attribut :rfc:`2109` valide, sinon " +"fonctionne de la même manière que :meth:`dict.setdefault`." #: ../Doc/library/http.cookies.rst:241 msgid "Example" @@ -307,3 +372,4 @@ msgstr "Exemple" msgid "" "The following example demonstrates how to use the :mod:`http.cookies` module." msgstr "" +"L'exemple suivant montre comment utiliser le module :mod:`http.cookies`." diff --git a/library/inspect.po b/library/inspect.po index 0379be32..81a102bb 100644 --- a/library/inspect.po +++ b/library/inspect.po @@ -1079,7 +1079,7 @@ msgstr "" #: ../Doc/library/inspect.rst:812 msgid "Classes and functions" -msgstr "" +msgstr "Classes et fonctions" #: ../Doc/library/inspect.rst:816 msgid "" diff --git a/library/io.po b/library/io.po index 237157e6..978f071e 100644 --- a/library/io.po +++ b/library/io.po @@ -26,7 +26,7 @@ msgstr "" #: ../Doc/library/io.rst:22 msgid "Overview" -msgstr "" +msgstr "Aperçu" #: ../Doc/library/io.rst:27 msgid "" diff --git a/library/logging.config.po b/library/logging.config.po index 73f19635..3593aecc 100644 --- a/library/logging.config.po +++ b/library/logging.config.po @@ -847,16 +847,16 @@ msgstr "" #: ../Doc/library/logging.config.rst:805 msgid "Module :mod:`logging`" -msgstr "" +msgstr "Module :mod:`logging`" #: ../Doc/library/logging.config.rst:805 msgid "API reference for the logging module." -msgstr "" +msgstr "Référence d'API pour le module de journalisation." #: ../Doc/library/logging.config.rst:807 msgid "Module :mod:`logging.handlers`" -msgstr "" +msgstr "Module :mod:`logging.handlers`" #: ../Doc/library/logging.config.rst:808 msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Gestionnaires utiles inclus avec le module de journalisation." diff --git a/library/logging.handlers.po b/library/logging.handlers.po index 2891f248..2de96078 100644 --- a/library/logging.handlers.po +++ b/library/logging.handlers.po @@ -1391,16 +1391,16 @@ msgstr "" #: ../Doc/library/logging.handlers.rst:1022 msgid "Module :mod:`logging`" -msgstr "" +msgstr "Module :mod:`logging`" #: ../Doc/library/logging.handlers.rst:1022 msgid "API reference for the logging module." -msgstr "" +msgstr "Référence d'API pour le module de journalisation." #: ../Doc/library/logging.handlers.rst:1024 msgid "Module :mod:`logging.config`" -msgstr "" +msgstr "Module :mod:`logging.config`" #: ../Doc/library/logging.handlers.rst:1025 msgid "Configuration API for the logging module." -msgstr "" +msgstr "API de configuration pour le module de journalisation." diff --git a/library/logging.po b/library/logging.po index 37a0549f..f52a06a3 100644 --- a/library/logging.po +++ b/library/logging.po @@ -76,22 +76,30 @@ msgstr "" #: ../Doc/library/logging.rst:40 msgid "Loggers expose the interface that application code directly uses." msgstr "" +"Les enregistreurs (*loggers* en anglais) exposent l'interface que le code de " +"l'application utilise directement." #: ../Doc/library/logging.rst:41 msgid "" "Handlers send the log records (created by loggers) to the appropriate " "destination." msgstr "" +"Les gestionnaires (*handlers*) envoient les entrées de journal (crées par " +"les *loggers*) vers les destinations voulues." #: ../Doc/library/logging.rst:43 msgid "" "Filters provide a finer grained facility for determining which log records " "to output." msgstr "" +"Les filtres (*filters*) fournissent un moyen de choisir finement quelles " +"entrées de journal doivent être sorties." #: ../Doc/library/logging.rst:45 msgid "Formatters specify the layout of log records in the final output." msgstr "" +"Les formateurs (*formatters*) spécifient la structure de l'entrée de journal " +"dans la sortie finale." #: ../Doc/library/logging.rst:51 msgid "Logger Objects" @@ -422,7 +430,7 @@ msgstr "" #: ../Doc/library/logging.rst:330 msgid "Logging Levels" -msgstr "" +msgstr "Niveaux de journalisation" #: ../Doc/library/logging.rst:332 msgid "" @@ -432,14 +440,19 @@ msgid "" "define a level with the same numeric value, it overwrites the predefined " "value; the predefined name is lost." msgstr "" +"Les valeurs numériques des niveaux de journalisation sont données dans le " +"tableau suivant. Celles-ci n'ont d'intérêt que si vous voulez définir vos " +"propres niveaux, avec des valeurs spécifiques par rapport aux niveaux " +"prédéfinis. Si vous définissez un niveau avec la même valeur numérique, il " +"écrase la valeur prédéfinie ; le nom prédéfini est perdu." #: ../Doc/library/logging.rst:339 msgid "Level" -msgstr "" +msgstr "Niveau" #: ../Doc/library/logging.rst:339 msgid "Numeric value" -msgstr "" +msgstr "Valeur numérique" #: ../Doc/library/logging.rst:341 msgid "``CRITICAL``" @@ -1745,19 +1758,19 @@ msgstr "" #: ../Doc/library/logging.rst:1237 msgid "Module :mod:`logging.config`" -msgstr "" +msgstr "Module :mod:`logging.config`" #: ../Doc/library/logging.rst:1237 msgid "Configuration API for the logging module." -msgstr "" +msgstr "API de configuration pour le module de journalisation." #: ../Doc/library/logging.rst:1240 msgid "Module :mod:`logging.handlers`" -msgstr "" +msgstr "Module :mod:`logging.handlers`" #: ../Doc/library/logging.rst:1240 msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Gestionnaires utiles inclus avec le module de journalisation." #: ../Doc/library/logging.rst:1244 msgid ":pep:`282` - A Logging System" diff --git a/library/lzma.po b/library/lzma.po index 3b0bcbaa..80432f75 100644 --- a/library/lzma.po +++ b/library/lzma.po @@ -447,7 +447,7 @@ msgstr "" #: ../Doc/library/lzma.rst:304 msgid "Miscellaneous" -msgstr "" +msgstr "Divers" #: ../Doc/library/lzma.rst:308 msgid "Returns true if the given integrity check is supported on this system." diff --git a/library/mailbox.po b/library/mailbox.po index f7e716f1..a065cdf2 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -19,10 +19,11 @@ msgstr "" #: ../Doc/library/mailbox.rst:2 msgid ":mod:`mailbox` --- Manipulate mailboxes in various formats" msgstr "" +":mod:`mailbox` — Manipuler les boîtes de courriels dans différents formats" #: ../Doc/library/mailbox.rst:10 msgid "**Source code:** :source:`Lib/mailbox.py`" -msgstr "" +msgstr "**Code source :** :source:`Lib/mailbox.py`" #: ../Doc/library/mailbox.rst:14 msgid "" @@ -33,22 +34,30 @@ msgid "" "message.Message` class with format-specific state and behavior. Supported " "mailbox formats are Maildir, mbox, MH, Babyl, and MMDF." msgstr "" +"Ce module définit deux classes, :class:`Mailbox` et :class:`Message`, pour " +"accéder et manipuler les boîtes de courriel sur le disque et les messages " +"qu'elles contiennent. :class:`Mailbox` offre une interface ressemblant aux " +"dictionnaires avec des clés et des messages. La classe :class:`Message` " +"étend le module :mod:`email.message` de la classe :class:`~email.message." +"Message` avec un état et un comportement spécifiques à son format. Les " +"formats de boîtes de courriel gérés sont *Maildir*, *mbox*, *MH*, *Babyl* et " +"*MMDF*." #: ../Doc/library/mailbox.rst:24 msgid "Module :mod:`email`" -msgstr "" +msgstr "Module :mod:`email`" #: ../Doc/library/mailbox.rst:25 msgid "Represent and manipulate messages." -msgstr "" +msgstr "Représente et manipule des messages." #: ../Doc/library/mailbox.rst:31 msgid ":class:`Mailbox` objects" -msgstr "" +msgstr "Objets :class:`Mailbox`" #: ../Doc/library/mailbox.rst:35 msgid "A mailbox, which may be inspected and modified." -msgstr "" +msgstr "Une boîte mail, qui peut être inspectée et modifiée." #: ../Doc/library/mailbox.rst:37 msgid "" @@ -56,6 +65,10 @@ msgid "" "instantiated. Instead, format-specific subclasses should inherit from :" "class:`Mailbox` and your code should instantiate a particular subclass." msgstr "" +"La classe :class:`Mailbox` définit une interface et n'est pas destinée à " +"être instanciée. Les sous-classes de format spécifique doivent plutôt " +"hériter de :class:`Mailbox` et votre code doit instancier une sous-classe " +"particulière." #: ../Doc/library/mailbox.rst:41 msgid "" @@ -66,6 +79,12 @@ msgid "" "corresponding message is modified, such as by replacing it with another " "message." msgstr "" +"L'interface :class:`Mailbox` est un compatible avec celle des dictionnaires, " +"avec de courtes clés correspondant aux messages. Les clés sont générées par " +"l'instance :class:`Mailbox` avec laquelle elles sont utilisées et n'ont de " +"sens que pour cette instance :class:`Mailbox`. Une clé continue d'identifier " +"un message même si le message correspondant est modifié ou remplacé par un " +"autre message." #: ../Doc/library/mailbox.rst:47 msgid "" @@ -73,6 +92,10 @@ msgid "" "method :meth:`add` and removed using a ``del`` statement or the set-like " "methods :meth:`remove` and :meth:`discard`." msgstr "" +"Les messages peuvent être ajoutés à une instance :class:`Mailbox` en " +"utilisant la méthode :meth:`add` (comme pour les ensembles), et supprimés en " +"utilisant soit l'instruction ``del`` soit les méthodes :meth:`remove` et :" +"meth:`discard` (comme pour les ensembles)." #: ../Doc/library/mailbox.rst:51 msgid "" @@ -84,6 +107,14 @@ msgid "" "copied. In neither case is a reference to the message representation kept by " "the :class:`Mailbox` instance." msgstr "" +"La sémantique de l'interface :class:`Mailbox` diffère de la sémantique des " +"dictionnaires sur plusieurs aspects. À chaque fois qu'un message est " +"demandé, une nouvelle représentation (généralement une instance :class:" +"`Message`) est générée en se basant sur l'état actuel de la boîte mail. De " +"la même manière, lorsqu'un message est ajouté à l'instance :class:`Mailbox`, " +"le contenu de la représentation du message donné est copié. En aucun cas une " +"référence vers la représentation du message n'est gardée par l'instance :" +"class:`Mailbox`." #: ../Doc/library/mailbox.rst:59 msgid "" @@ -95,6 +126,15 @@ msgid "" "silently skipped, though using a key from an iterator may result in a :exc:" "`KeyError` exception if the corresponding message is subsequently removed." msgstr "" +"L'itérateur par défaut de :class:`Mailbox` itère sur les représentations des " +"messages et pas sur les clés (comme le fait par défaut l'itérateur des " +"dictionnaires). De plus, les modifications sur une boîte mail durant " +"l'itération sont sûres et clairement définies. Les messages ajoutés à la " +"boîte mail après la création d'un itérateur ne sont pas vus par l'itérateur. " +"Les messages supprimés de la boîte mail avant que l'itérateur les traite " +"seront ignorés silencieusement. Toutefois, utiliser une clé depuis un " +"itérateur peut aboutir à une exception :exc:`KeyError` si le message " +"correspondant est supprimé par la suite." #: ../Doc/library/mailbox.rst:70 msgid "" @@ -107,15 +147,25 @@ msgid "" "Failing to lock the mailbox runs the risk of losing messages or corrupting " "the entire mailbox." msgstr "" +"Soyez très prudent lorsque vous éditez des boîtes mail qui peuvent être " +"modifiées par d'autres processus. Le format de boîte mail le plus sûr à " +"utiliser pour ces tâches est *Maildir*, essayez d'éviter les formats à " +"fichier unique tels que *mbox* afin d'empêcher les écritures concurrentes. " +"Si vous modifiez une boîte mail, vous *devez* la verrouiller en appelant les " +"méthodes :meth:`lock` et :meth:`unlock` *avant* de lire les messages dans le " +"fichier ou d'y appliquer des changements en y ajoutant ou supprimant des " +"messages. Ne pas verrouiller la boîte mail vous fait prendre le risque de " +"perdre des messages ou de corrompre la boîte mail entière." #: ../Doc/library/mailbox.rst:79 msgid ":class:`Mailbox` instances have the following methods:" -msgstr "" +msgstr "Les instances :class:`Mailbox` contiennent les méthodes suivantes :" #: ../Doc/library/mailbox.rst:84 msgid "" "Add *message* to the mailbox and return the key that has been assigned to it." msgstr "" +"Ajoute *message* à la boîte mail et renvoie la clé qui lui a été assigné." #: ../Doc/library/mailbox.rst:87 msgid "" @@ -127,14 +177,22 @@ msgid "" "format-specific information is used. Otherwise, reasonable defaults for " "format-specific information are used." msgstr "" +"Le paramètre *message* peut être une instance :class:`Message`, une " +"instance :class:`email.message.Message`, une chaîne de caractères, une " +"séquence d'octets ou un objet fichier-compatible (qui doit être ouvert en " +"mode binaire). Si *message* est une instance de la sous-classe :class:" +"`Message` au format correspondant (par exemple s'il s'agit d'une instance :" +"class:`mboxMessage` et d'une instance :class:`mbox`), les informations " +"spécifiques à son format sont utilisées. Sinon, des valeurs par défaut " +"raisonnables pour son format sont utilisées." #: ../Doc/library/mailbox.rst:96 msgid "Support for binary input was added." -msgstr "" +msgstr "Ajout de la gestion des messages binaires." #: ../Doc/library/mailbox.rst:104 msgid "Delete the message corresponding to *key* from the mailbox." -msgstr "" +msgstr "Supprime le message correspondant à *key* dans la boîte mail." #: ../Doc/library/mailbox.rst:106 msgid "" @@ -144,12 +202,20 @@ msgid "" "`discard` may be preferred if the underlying mailbox format supports " "concurrent modification by other processes." msgstr "" +"Si ce message n'existe pas, une exception :exc:`KeyError` est levée si la " +"méthode a été appelée en tant que :meth:`remove` ou :meth:`__delitem__` mais " +"aucune exception n'est levée si la méthode a été appelée en tant que :meth:" +"`discard`. Vous préférerez sûrement le comportement de :meth:`discard` si le " +"format de boîte mail sous-jacent accepte la modification concurrente par les " +"autres processus." #: ../Doc/library/mailbox.rst:115 msgid "" "Replace the message corresponding to *key* with *message*. Raise a :exc:" "`KeyError` exception if no message already corresponds to *key*." msgstr "" +"Remplace le message correspondant à *key* par *message*. Lève une exception :" +"exc:`KeyError` s'il n'y a pas déjà de message correspondant à *key*." #: ../Doc/library/mailbox.rst:118 msgid "" @@ -162,12 +228,24 @@ msgid "" "specific information of the message that currently corresponds to *key* is " "left unchanged." msgstr "" +"Comme pour :meth:`add`, le paramètre *message* peut être une instance :class:" +"`Message`, une instance :class:`email.message.Message`, une chaîne de " +"caractères, une chaîne d'octets ou un objet fichier-compatible (qui doit " +"être ouvert en mode binaire). Si *message* est une instance de la sous-" +"classe :class:`Message` au format correspondant (par exemple s'il s'agit " +"d'une instance :class:`mboxMessage` et d'une instance :class:`mbox`), les " +"informations spécifiques à son format sont utilisées. Sinon, les " +"informations spécifiques au format du message qui correspond à *key* ne sont " +"modifiées." #: ../Doc/library/mailbox.rst:132 msgid "" "Return an iterator over all keys if called as :meth:`iterkeys` or return a " "list of keys if called as :meth:`keys`." msgstr "" +"Renvoie un itérateur sur toutes les clés s'il est appelé en tant que :meth:" +"`iterkeys` ou renvoie une liste de clés s'il est appelé en tant que :meth:" +"`keys`." #: ../Doc/library/mailbox.rst:140 msgid "" @@ -178,6 +256,13 @@ msgid "" "message factory was specified when the :class:`Mailbox` instance was " "initialized." msgstr "" +"Renvoie un itérateur sur les représentations de tous les messages s'il est " +"appelé en tant que :meth:`itervalues` ou :meth:`__iter__` et renvoie une " +"liste de ces représentations s'il est appelé en tant que :meth:`values`. Les " +"messages sont représentés en tant qu'instances de la sous-classe :class:" +"`Message` au format correspondant à moins qu'une fabrique de messages " +"personnalisée soit spécifiée lorsque l'instance :class:`Mailbox` a été " +"initialisée." #: ../Doc/library/mailbox.rst:149 msgid "" diff --git a/library/multiprocessing.po b/library/multiprocessing.po index e2cd21b9..d603846c 100644 --- a/library/multiprocessing.po +++ b/library/multiprocessing.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/multiprocessing.rst:2 msgid ":mod:`multiprocessing` --- Process-based parallelism" -msgstr "" +msgstr ":mod:`multiprocessing` — Parallélisme par processus" #: ../Doc/library/multiprocessing.rst:7 msgid "**Source code:** :source:`Lib/multiprocessing/`" -msgstr "" +msgstr "**Code source :** :source:`Lib/multiprocessing/`" #: ../Doc/library/multiprocessing.rst:12 msgid "Introduction" @@ -38,6 +38,14 @@ msgid "" "programmer to fully leverage multiple processors on a given machine. It " "runs on both Unix and Windows." msgstr "" +":mod:`multiprocessing` est un paquet qui permet l'instanciation de processus " +"via la même API que le module :mod:`threading`. Le paquet :mod:" +"`multiprocessing` offre à la fois des possibilités de programmation " +"concurrente locale ou à distance, contournant les problèmes du :term:`Global " +"Interpreter Lock` en utilisant des processus plutôt que des fils " +"d'exécution. Ainsi, le module :mod:`multiprocessing` permet au développeur " +"de bénéficier entièrement des multiples processeurs sur une machine. Il " +"tourne à la fois sur les systèmes Unix et Windows." #: ../Doc/library/multiprocessing.rst:22 msgid "" @@ -51,14 +59,22 @@ msgid "" "module. This basic example of data parallelism using :class:" "`~multiprocessing.pool.Pool`, ::" msgstr "" +"Le module :mod:`multiprocessing` introduit aussi des API sans analogues dans " +"le module :mod:`threading`. Un exemple est l'objet :class:`~multiprocessing." +"pool.Pool` qui offre une manière pratique de paralléliser l'exécution d'une " +"fonction sur de multiples valeurs d'entrée, distribuant ces valeurs entre " +"les processus (parallélisme de données). L'exemple suivant présente la " +"manière classique de définir une telle fonction dans un module afin que les " +"processus fils puissent importer ce module avec succès. L'exemple basique de " +"parallélisme de données utilise :class:`~multiprocessing.pool.Pool`, ::" #: ../Doc/library/multiprocessing.rst:40 msgid "will print to standard output ::" -msgstr "" +msgstr "affiche sur la sortie standard : ::" #: ../Doc/library/multiprocessing.rst:46 msgid "The :class:`Process` class" -msgstr "" +msgstr "La classe :class:`Process`" #: ../Doc/library/multiprocessing.rst:48 msgid "" @@ -67,27 +83,37 @@ msgid "" "`Process` follows the API of :class:`threading.Thread`. A trivial example " "of a multiprocess program is ::" msgstr "" +"Dans le module :mod:`multiprocessing`, les processus sont instanciés en " +"créant un objet :class:`Process` et en appelant sa méthode :meth:`~Process." +"start`. La classe :class:`Process` suit la même API que :class:`threading." +"Thread`. Un exemple trivial d'un programme multi-processus est : ::" #: ../Doc/library/multiprocessing.rst:63 msgid "" "To show the individual process IDs involved, here is an expanded example::" msgstr "" +"Pour afficher les IDs des processus impliqués, voici un exemple plus " +"étoffé : ::" #: ../Doc/library/multiprocessing.rst:84 msgid "" "For an explanation of why the ``if __name__ == '__main__'`` part is " "necessary, see :ref:`multiprocessing-programming`." msgstr "" +"La nécessité de la ligne ``if __name__ == '__main__'`` est expliquée par :" +"ref:`multiprocessing-programming`." #: ../Doc/library/multiprocessing.rst:90 msgid "Contexts and start methods" -msgstr "" +msgstr "Contextes et méthodes de démarrage" #: ../Doc/library/multiprocessing.rst:94 msgid "" "Depending on the platform, :mod:`multiprocessing` supports three ways to " "start a process. These *start methods* are" msgstr "" +"Suivant la plateforme, :mod:`multiprocessing` gère trois manières de " +"démarrer un processus. Ces *méthodes de démarrage* sont" #: ../Doc/library/multiprocessing.rst:105 msgid "*spawn*" @@ -102,10 +128,16 @@ msgid "" "Starting a process using this method is rather slow compared to using *fork* " "or *forkserver*." msgstr "" +"Le processus parent démarre un processus neuf avec un interpréteur Python. " +"Le processus fils hérite uniquement des ressources nécessaires pour exécuter " +"la méthode :meth:`~Process.run` de l'objet associé au processus. En " +"particulier, les descripteurs de fichiers superflus et gérés par le " +"processus parent ne sont pas hérités. Démarrer un processus en utilisant " +"cette méthode est plutôt lent par rapport à *fork* ou *forkserver*." #: ../Doc/library/multiprocessing.rst:105 msgid "Available on Unix and Windows. The default on Windows." -msgstr "" +msgstr "Disponible sur Unix et Windows. Par défaut sur Windows." #: ../Doc/library/multiprocessing.rst:114 msgid "*fork*" @@ -118,14 +150,19 @@ msgid "" "process. All resources of the parent are inherited by the child process. " "Note that safely forking a multithreaded process is problematic." msgstr "" +"Le processus parent utilise :func:`os.fork` pour *forker* l'interpréteur " +"Python. Le processus fils, quand il démarre, est effectivement identique au " +"processus parent. Toutes les ressources du parent sont héritées par le fils. " +"Notez qu'il est problématique de *forker* sans danger un processus *multi-" +"threadé*." #: ../Doc/library/multiprocessing.rst:114 msgid "Available on Unix only. The default on Unix." -msgstr "" +msgstr "Disponible uniquement sous Unix. Par défaut sous Unix." #: ../Doc/library/multiprocessing.rst:125 msgid "*forkserver*" -msgstr "" +msgstr "*forkserver*" #: ../Doc/library/multiprocessing.rst:117 msgid "" @@ -135,12 +172,20 @@ msgid "" "process. The fork server process is single threaded so it is safe for it to " "use :func:`os.fork`. No unnecessary resources are inherited." msgstr "" +"Quand le programme démarre et choisit la méthode de démarrage *forkserver*, " +"un processus serveur est lancé. Dès lors, chaque fois qu'un nouveau " +"processus est nécessaire, le processus parent se connecte au serveur et lui " +"demande de *forker* un nouveau processus. Le processus serveur de *fork* " +"n'utilisant qu'un seul fil d'exécution, il peut utiliser :func:`os.fork` " +"sans danger. Les ressources superflues ne sont pas héritées." #: ../Doc/library/multiprocessing.rst:124 msgid "" "Available on Unix platforms which support passing file descriptors over Unix " "pipes." msgstr "" +"Disponible sur les plateformes Unix qui acceptent le passage de descripteurs " +"de fichiers à travers des tubes (*pipes*) Unix." #: ../Doc/library/multiprocessing.rst:127 msgid "" @@ -148,6 +193,9 @@ msgid "" "platforms. Child processes no longer inherit all of the parents inheritable " "handles on Windows." msgstr "" +"*spawn* ajouté à toutes les plateformes Unix, et *forkserver* ajouté à " +"certaines plateformes Unix. Les processus fils n'héritent plus de tous les " +"descripteurs héritables du parent sous Windows." #: ../Doc/library/multiprocessing.rst:133 msgid "" @@ -166,11 +214,16 @@ msgid "" "To select a start method you use the :func:`set_start_method` in the ``if " "__name__ == '__main__'`` clause of the main module. For example::" msgstr "" +"Pour sélectionner une méthode de démarrage, utilisez la fonction :func:" +"`set_start_method` dans la clause ``if __name__ == '__main__'`` du module " +"principal. Par exemple : ::" #: ../Doc/library/multiprocessing.rst:159 msgid "" ":func:`set_start_method` should not be used more than once in the program." msgstr "" +":func:`set_start_method` ne doit pas être utilisée plus d'une fois dans le " +"programme." #: ../Doc/library/multiprocessing.rst:162 msgid "" @@ -178,6 +231,10 @@ msgid "" "Context objects have the same API as the multiprocessing module, and allow " "one to use multiple start methods in the same program. ::" msgstr "" +"Alternativement, vous pouvez utiliser :func:`get_context` pour obtenir un " +"contexte. Les contextes ont la même API que le module *multiprocessing*, et " +"permettent l'utilisation de plusieurs méthodes de démarrage dans un même " +"programme. ::" #: ../Doc/library/multiprocessing.rst:180 msgid "" @@ -192,16 +249,21 @@ msgid "" "A library which wants to use a particular start method should probably use :" "func:`get_context` to avoid interfering with the choice of the library user." msgstr "" +"Une bibliothèque qui veut utiliser une méthode de démarrage particulière " +"devrait probablement faire appel à :func:`get_context` pour éviter " +"d'interférer avec le choix de l'utilisateur de la bibliothèque." #: ../Doc/library/multiprocessing.rst:191 msgid "Exchanging objects between processes" -msgstr "" +msgstr "Échange d'objets entre les processus" #: ../Doc/library/multiprocessing.rst:193 msgid "" ":mod:`multiprocessing` supports two types of communication channel between " "processes:" msgstr "" +":mod:`multiprocessing` gère deux types de canaux de communication entre les " +"processus :" #: ../Doc/library/multiprocessing.rst:196 msgid "**Queues**" @@ -212,10 +274,14 @@ msgid "" "The :class:`Queue` class is a near clone of :class:`queue.Queue`. For " "example::" msgstr "" +"La classe :class:`Queue` est un clone assez proche de :class:`queue.Queue`. " +"Par exemple : ::" #: ../Doc/library/multiprocessing.rst:213 msgid "Queues are thread and process safe." msgstr "" +"Les queues peuvent être utilisées par plusieurs fils d'exécution ou " +"processus." #: ../Doc/library/multiprocessing.rst:215 msgid "**Pipes**" @@ -226,6 +292,8 @@ msgid "" "The :func:`Pipe` function returns a pair of connection objects connected by " "a pipe which by default is duplex (two-way). For example::" msgstr "" +"La fonction :func:`Pipe` renvoie une paire d'objets de connexion connectés à " +"un tube qui est par défaut à double-sens. Par exemple : ::" #: ../Doc/library/multiprocessing.rst:233 msgid "" @@ -236,10 +304,17 @@ msgid "" "the *same* end of the pipe at the same time. Of course there is no risk of " "corruption from processes using different ends of the pipe at the same time." msgstr "" +"Les deux objets de connexion renvoyés par :func:`Pipe` représentent les deux " +"bouts d'un tube. Chaque objet de connexion possède (entre autres) des " +"méthodes :meth:`~Connection.send` et :meth:`~Connection.recv`. Notez que les " +"données d'un tube peuvent être corrompues si deux processus (ou fils " +"d'exécution) essaient de lire ou d'écrire sur le même bout du tube en même " +"temps. Évidemment il n'y a pas de risque de corruption si les processus " +"utilisent deux bouts différents en même temps." #: ../Doc/library/multiprocessing.rst:243 msgid "Synchronization between processes" -msgstr "" +msgstr "Synchronisation entre processus" #: ../Doc/library/multiprocessing.rst:245 msgid "" @@ -247,16 +322,22 @@ msgid "" "primitives from :mod:`threading`. For instance one can use a lock to ensure " "that only one process prints to standard output at a time::" msgstr "" +":mod:`multiprocessing` contient des équivalents à toutes les primitives de " +"synchronisation de :mod:`threading`. Par exemple il est possible d'utiliser " +"un verrou pour s'assurer qu'un seul processus à la fois écrit sur la sortie " +"standard : ::" #: ../Doc/library/multiprocessing.rst:264 msgid "" "Without using the lock output from the different processes is liable to get " "all mixed up." msgstr "" +"Sans le verrou, les sorties des différents processus risquent d'être " +"mélangées." #: ../Doc/library/multiprocessing.rst:269 msgid "Sharing state between processes" -msgstr "" +msgstr "Partager un état entre les processus" #: ../Doc/library/multiprocessing.rst:271 msgid "" @@ -264,27 +345,34 @@ msgid "" "avoid using shared state as far as possible. This is particularly true when " "using multiple processes." msgstr "" +"Comme mentionné plus haut, il est généralement préférable d'éviter autant " +"que possible d'utiliser des états partagés en programmation concurrente. " +"C'est particulièrement vrai quand plusieurs processus sont utilisés." #: ../Doc/library/multiprocessing.rst:275 msgid "" "However, if you really do need to use some shared data then :mod:" "`multiprocessing` provides a couple of ways of doing so." msgstr "" +"Cependant, si vous devez réellement partager des données, :mod:" +"`multiprocessing` permet de le faire de deux manières." #: ../Doc/library/multiprocessing.rst:278 msgid "**Shared memory**" -msgstr "" +msgstr "**Mémoire partagée**" #: ../Doc/library/multiprocessing.rst:280 msgid "" "Data can be stored in a shared memory map using :class:`Value` or :class:" "`Array`. For example, the following code ::" msgstr "" +"Les données peuvent être stockées dans une mémoire partagée en utilisant " +"des :class:`Value` ou des :class:`Array`. Par exemple, le code suivant : ::" #: ../Doc/library/multiprocessing.rst:301 #: ../Doc/library/multiprocessing.rst:347 msgid "will print ::" -msgstr "" +msgstr "affiche : ::" #: ../Doc/library/multiprocessing.rst:306 msgid "" @@ -293,6 +381,11 @@ msgid "" "double precision float and ``'i'`` indicates a signed integer. These shared " "objects will be process and thread-safe." msgstr "" +"Les arguments ``'d'`` et ``'i'`` utilisés à la création des ``num`` et " +"`arr`` sont des codes de types tels qu'utilisés par le module :mod:`array` : " +"``'d'`` indique un flottant double-précision et ``'i'`` indique un entier " +"signé. Ces objets partagés seront sûr d'utilisation entre processus et fils " +"d'exécution." #: ../Doc/library/multiprocessing.rst:311 msgid "" @@ -300,10 +393,13 @@ msgid "" "`multiprocessing.sharedctypes` module which supports the creation of " "arbitrary ctypes objects allocated from shared memory." msgstr "" +"Pour plus de flexibilité dans l'utilisation de mémoire partagée, vous pouvez " +"utiliser le module :mod:`multiprocessing.sharedctypes` qui permet la " +"création d'objets arbitraires *ctypes* alloués depuis la mémoire partagée." #: ../Doc/library/multiprocessing.rst:315 msgid "**Server process**" -msgstr "" +msgstr "**Processus serveur**" #: ../Doc/library/multiprocessing.rst:317 msgid "" @@ -311,6 +407,9 @@ msgid "" "holds Python objects and allows other processes to manipulate them using " "proxies." msgstr "" +"Un objet gestionnaire renvoyé par :func:`Manager` contrôle un processus " +"serveur qui détient les objets Python et autorise les autres processus à les " +"manipuler à l'aide de mandataires." #: ../Doc/library/multiprocessing.rst:321 msgid "" @@ -320,6 +419,11 @@ msgid "" "`Event`, :class:`Barrier`, :class:`Queue`, :class:`Value` and :class:" "`Array`. For example, ::" msgstr "" +"Un gestionnaire renvoyé par :func:`Manager` supportera les types :class:" +"`list`, :class:`dict`, :class:`~managers.Namespace`, :class:`Lock`, :class:" +"`RLock`, :class:`Semaphore`, :class:`BoundedSemaphore`, :class:`Condition`, :" +"class:`Event`, :class:`Barrier`, :class:`Queue`, :class:`Value` et :class:" +"`Array`. Par exemple, ::" #: ../Doc/library/multiprocessing.rst:352 msgid "" @@ -328,10 +432,15 @@ msgid "" "manager can be shared by processes on different computers over a network. " "They are, however, slower than using shared memory." msgstr "" +"Les processus serveurs de gestionnaires sont plus flexibles que les mémoires " +"partagées parce qu'ils peuvent gérer des types d'objets arbitraires. Aussi, " +"un gestionnaire unique peut être partagé par les processus sur différentes " +"machines à travers le réseau. Cependant, ils sont plus lents que les " +"mémoires partagées." #: ../Doc/library/multiprocessing.rst:359 msgid "Using a pool of workers" -msgstr "" +msgstr "Utiliser un réservoir de *workers*" #: ../Doc/library/multiprocessing.rst:361 msgid "" @@ -339,6 +448,9 @@ msgid "" "processes. It has methods which allows tasks to be offloaded to the worker " "processes in a few different ways." msgstr "" +"La classe :class:`~multiprocessing.pool.Pool` représente une *pool* de " +"processus de travail. Elle possède des méthodes qui permettent aux tâches " +"d'être déchargées vers les processus de travail de différentes manières." #: ../Doc/library/multiprocessing.rst:365 msgid "For example::" @@ -349,6 +461,8 @@ msgid "" "Note that the methods of a pool should only ever be used by the process " "which created it." msgstr "" +"Notez que les méthodes d'une *pool* ne devraient être utilisées que par le " +"processus qui l'a créée." #: ../Doc/library/multiprocessing.rst:414 msgid "" @@ -358,6 +472,11 @@ msgid "" "examples, such as the :class:`multiprocessing.pool.Pool` examples will not " "work in the interactive interpreter. For example::" msgstr "" +"Fonctionnellement ce paquet exige que que le module ``__main__`` soit " +"importable par les fils. Cela est expliqué sur la page :ref:`multiprocessing-" +"programming`, il est cependant utile de le rappeler ici. Cela signifie que " +"certains exemples, comme les exemples utilisant :class:`multiprocessing.pool." +"Pool`, ne fonctionnent pas dans l'interpréteur interactif. Par exemple : ::" #: ../Doc/library/multiprocessing.rst:436 msgid "" @@ -365,20 +484,25 @@ msgid "" "in a semi-random fashion, and then you may have to stop the master process " "somehow.)" msgstr "" +"(Si vous essayez ce code, il affichera trois traces d'appels complètes " +"entrelacées de manière semi-aléatoire, et vous aurez alors à stopper le " +"processus maître.)" #: ../Doc/library/multiprocessing.rst:442 msgid "Reference" -msgstr "" +msgstr "Référence" #: ../Doc/library/multiprocessing.rst:444 msgid "" "The :mod:`multiprocessing` package mostly replicates the API of the :mod:" "`threading` module." msgstr "" +"Le paquet :mod:`multiprocessing` reproduit en grande partie l'API du module :" +"mod:`threading`." #: ../Doc/library/multiprocessing.rst:449 msgid ":class:`Process` and exceptions" -msgstr "" +msgstr ":class:`Process` et exceptions" #: ../Doc/library/multiprocessing.rst:454 msgid "" @@ -386,6 +510,9 @@ msgid "" "class:`Process` class has equivalents of all the methods of :class:" "`threading.Thread`." msgstr "" +"Les objets *process* représentent une activité exécutée dans un processus " +"séparé. La classe :class:`Process` a des équivalents à toutes les méthodes " +"de :class:`threading.Thread`." #: ../Doc/library/multiprocessing.rst:458 msgid "" @@ -400,10 +527,20 @@ msgid "" "``False``. If ``None`` (the default), this flag will be inherited from the " "creating process." msgstr "" +"Le constructeur doit toujours être appelé avec des arguments nommés. *group* " +"devrait toujours être ``None`` ; il existe uniquement pour la compatibilité " +"avec :class:`threading.Thread`. *target* est l'objet appelable qui est " +"invoqué par la méthode :meth:`run(). Il vaut ``None`` par défaut, signifiant " +"que rien n'est appelé. *name* est le nom du processus (voir :attr:`name` " +"pour plus de détails). *args* est le *tuple* d'arguments pour l'invocation " +"de la cible. *kwargs* est le dictionnaire des arguments nommés pour " +"l'invocation de la cible. S'il est fourni, l'argument nommé *daemon* met " +"l'option :attr:`daemon` du processus à ``True`` ou ``False``. S'il est " +"``None`` (par défaut), l'option est héritée par le processus créateur." #: ../Doc/library/multiprocessing.rst:469 msgid "By default, no arguments are passed to *target*." -msgstr "" +msgstr "Par défaut, aucun argument n'est passé à *target*." #: ../Doc/library/multiprocessing.rst:471 msgid "" @@ -411,14 +548,17 @@ msgid "" "base class constructor (:meth:`Process.__init__`) before doing anything else " "to the process." msgstr "" +"Si une sous-classe redéfinit le constructeur, elle doit s'assurer d'invoquer " +"le constructeur de la classe de base (:meth:`Process.__init__`) avant de " +"faire autre chose du processus." #: ../Doc/library/multiprocessing.rst:475 msgid "Added the *daemon* argument." -msgstr "" +msgstr "Ajout de l'argument *daemon*." #: ../Doc/library/multiprocessing.rst:480 msgid "Method representing the process's activity." -msgstr "" +msgstr "Méthode représentant l'activité du processus." #: ../Doc/library/multiprocessing.rst:482 msgid "" @@ -427,16 +567,23 @@ msgid "" "argument, if any, with sequential and keyword arguments taken from the " "*args* and *kwargs* arguments, respectively." msgstr "" +"Vous pouvez redéfinir cette méthode dans une sous-classe. La méthode " +"standard :meth:`run` invoque l'objet appelable passé au constructeur comme " +"argument *target*, si fourni, avec les arguments séquentiels et nommés " +"respectivement pris depuis les paramètres *args* et *kwargs*." #: ../Doc/library/multiprocessing.rst:489 msgid "Start the process's activity." -msgstr "" +msgstr "Démarre l'activité du processus." #: ../Doc/library/multiprocessing.rst:491 msgid "" "This must be called at most once per process object. It arranges for the " "object's :meth:`run` method to be invoked in a separate process." msgstr "" +"Elle doit être appelée au plus une fois par objet processus. Elle s'arrange " +"pour que la méthode :meth:`run` de l'objet soit invoquée dans un processus " +"séparé." #: ../Doc/library/multiprocessing.rst:496 msgid "" @@ -447,22 +594,34 @@ msgid "" "times out. Check the process's :attr:`exitcode` to determine if it " "terminated." msgstr "" +"Si l'argument optionnel *timeout* est ``None`` (par défaut), la méthode " +"bloque jusqu'à ce que le processus dont la méthode :meth:`join` a été " +"appelée se termine. Si *timeout* est un nombre positif, elle bloque au " +"maximum pendant *timeout* secondes. Notez que la méthode renvoie ``None`` si " +"le processus se termine ou si le temps d'exécution expire. Vérifiez " +"l'attribut :attr:`exitcode` du processus pour déterminer s'il s'est terminé." #: ../Doc/library/multiprocessing.rst:503 msgid "A process can be joined many times." -msgstr "" +msgstr "*join* peut être appelée plusieurs fois sur un même processus." #: ../Doc/library/multiprocessing.rst:505 msgid "" "A process cannot join itself because this would cause a deadlock. It is an " "error to attempt to join a process before it has been started." msgstr "" +"Un processus ne peut pas s'attendre lui-même car cela causerait un " +"interblocage. C'est une erreur d'essayer d'attendre un processus avant qu'il " +"ne soit démarré." #: ../Doc/library/multiprocessing.rst:510 msgid "" "The process's name. The name is a string used for identification purposes " "only. It has no semantics. Multiple processes may be given the same name." msgstr "" +"Le nom du processus. Le nom est une chaîne de caractères utilisée uniquement " +"pour l'identification du processus. Il n'a pas de sémantique. Plusieurs " +"processus peuvent avoir le même nom." #: ../Doc/library/multiprocessing.rst:514 msgid "" @@ -471,32 +630,42 @@ msgid "" "`2`:...:N\\ :sub:`k`' is constructed, where each N\\ :sub:`k` is the N-th " "child of its parent." msgstr "" +"Le nom initial est déterminé par le constructeur. Si aucun nom explicite " +"n'est fourni au constructeur, un nom de la forme « Process-N\\ :sub:`1`:N\\ :" +"sub:`2`:...:N\\ :sub:`k` » est construit, où chaque N\\ :sub:`k` est le N-" +"ième enfant de son parent." #: ../Doc/library/multiprocessing.rst:521 msgid "Return whether the process is alive." -msgstr "" +msgstr "Renvoie vrai si le processus est en vie, faux sinon." #: ../Doc/library/multiprocessing.rst:523 msgid "" "Roughly, a process object is alive from the moment the :meth:`start` method " "returns until the child process terminates." msgstr "" +"Grossièrement, un objet processus est en vie depuis le moment où la méthode :" +"meth:`start` finit de s'exécuter jusqu'à ce que le processus fils se termine." #: ../Doc/library/multiprocessing.rst:528 msgid "" "The process's daemon flag, a Boolean value. This must be set before :meth:" "`start` is called." msgstr "" +"L'option *daemon* du processus, une valeur booléenne. L'option doit être " +"réglée avant que la méthode :meth:`start` ne soit appelée." #: ../Doc/library/multiprocessing.rst:531 msgid "The initial value is inherited from the creating process." -msgstr "" +msgstr "La valeur initiale est héritée par le processus créateur." #: ../Doc/library/multiprocessing.rst:533 msgid "" "When a process exits, it attempts to terminate all of its daemonic child " "processes." msgstr "" +"Quand un processus se ferme, il tente de terminer tous ses processus enfants " +"*daemon*." #: ../Doc/library/multiprocessing.rst:536 msgid "" @@ -506,17 +675,26 @@ msgid "" "Unix daemons or services, they are normal processes that will be terminated " "(and not joined) if non-daemonic processes have exited." msgstr "" +"Notez qu'un processus *daemon* n'est pas autorisé à créer des processus " +"fils. Sinon un processus *daemon* laisserait ses enfants orphelins lorsqu'il " +"se termine par la fermeture de son parent. De plus, ce **ne sont pas** des " +"*daemons* ou services Unix, ce sont des processus normaux qui seront " +"terminés (et non attendus) si un processus non *daemon* se ferme." #: ../Doc/library/multiprocessing.rst:542 msgid "" "In addition to the :class:`threading.Thread` API, :class:`Process` objects " "also support the following attributes and methods:" msgstr "" +"En plus de l'API :class:`threading.Thread`, les objets :class:`Process` " +"supportent aussi les attributs et méthodes suivants :" #: ../Doc/library/multiprocessing.rst:547 msgid "" "Return the process ID. Before the process is spawned, this will be ``None``." msgstr "" +"Renvoie l'ID du processus. Avant que le processus ne soit lancé, la valeur " +"est ``None``." #: ../Doc/library/multiprocessing.rst:552 msgid "" @@ -524,16 +702,21 @@ msgid "" "terminated. A negative value *-N* indicates that the child was terminated " "by signal *N*." msgstr "" +"Le code de fermeture de l'enfant. La valeur est ``None`` si le processus ne " +"s'est pas encore terminé. Une valeur négative *-N* indique que le fils a été " +"terminé par un signal *N*." #: ../Doc/library/multiprocessing.rst:558 msgid "The process's authentication key (a byte string)." -msgstr "" +msgstr "La clé d'authentification du processus (une chaîne d'octets)." #: ../Doc/library/multiprocessing.rst:560 msgid "" "When :mod:`multiprocessing` is initialized the main process is assigned a " "random string using :func:`os.urandom`." msgstr "" +"Quand :mod:`multiprocessing` est initialisé, une chaîne aléatoire est " +"assignée au processus principal, en utilisant :func:`os.urandom`." #: ../Doc/library/multiprocessing.rst:563 msgid "" @@ -541,16 +724,21 @@ msgid "" "authentication key of its parent process, although this may be changed by " "setting :attr:`authkey` to another byte string." msgstr "" +"Quand un objet :class:`Process` est créé, il hérité de la clé " +"d'authentification de son parent, bien que cela puisse être changé à l'aide " +"du paramètre :attr:`authkey` pour une autre chaîne d'octets." #: ../Doc/library/multiprocessing.rst:567 msgid "See :ref:`multiprocessing-auth-keys`." -msgstr "" +msgstr "Voir :ref:`multiprocessing-auth-keys`." #: ../Doc/library/multiprocessing.rst:571 msgid "" "A numeric handle of a system object which will become \"ready\" when the " "process ends." msgstr "" +"Un identifiant numérique de l'objet système qui devient « prêt » quand le " +"processus se termine." #: ../Doc/library/multiprocessing.rst:574 msgid "" @@ -558,6 +746,9 @@ msgid "" "func:`multiprocessing.connection.wait`. Otherwise calling :meth:`join()` is " "simpler." msgstr "" +"Vous pouvez utiliser cette valeur si vous voulez attendre plusieurs " +"événements à la fois en utilisant :func:`multiprocessing.connection.wait`. " +"Autrement appeler :meth:`join()` est plus simple." #: ../Doc/library/multiprocessing.rst:578 msgid "" @@ -565,6 +756,10 @@ msgid "" "``WaitForMultipleObjects`` family of API calls. On Unix, this is a file " "descriptor usable with primitives from the :mod:`select` module." msgstr "" +"Sous Windows, c'est un mécanisme de l'OS utilisable avec les familles " +"d'appels API ``WaitForSingleObject`` et ``WaitForMultipleObjects``. Sous " +"Unix, c'est un descripteur de fichier utilisable avec les primitives sur " +"module :mod:`select`." #: ../Doc/library/multiprocessing.rst:586 msgid "" @@ -572,12 +767,18 @@ msgid "" "on Windows :c:func:`TerminateProcess` is used. Note that exit handlers and " "finally clauses, etc., will not be executed." msgstr "" +"Termine le processus. Sous Unix cela est réalisé à l'aide d'un signal " +"``SIGTERM``, sous Windows :c:func:`TerminateProcess` est utilisé. Notez que " +"les gestionnaires de sortie, les clauses `finally` etc. ne sont pas " +"exécutées." #: ../Doc/library/multiprocessing.rst:590 msgid "" "Note that descendant processes of the process will *not* be terminated -- " "they will simply become orphaned." msgstr "" +"Notez que les descendants du processus ne *seront pas* terminés -- ils " +"deviendront simplement orphelins." #: ../Doc/library/multiprocessing.rst:595 msgid "" @@ -587,6 +788,11 @@ msgid "" "semaphore etc. then terminating it is liable to cause other processes to " "deadlock." msgstr "" +"Si cette méthode est utilisée quand le processus associé utilise un tube ou " +"une queue, alors le tube ou la queue sont susceptibles d'être corrompus et " +"peuvent devenir inutilisables par les autres processus. De façon similaire, " +"si le processus a acquis un verrou, un sémaphore ou autre, alors le terminer " +"est susceptible de provoquer des blocages dans les autres processus." #: ../Doc/library/multiprocessing.rst:601 msgid "" @@ -594,38 +800,46 @@ msgid "" "`terminate` and :attr:`exitcode` methods should only be called by the " "process that created the process object." msgstr "" +"Notez que les méthodes :meth:`start`, :meth:`join`, :meth:`is_alive`, :meth:" +"`terminate` et :attr:`exitcode` ne devraient être appelées que par le " +"processus ayant créé l'objet *process*." #: ../Doc/library/multiprocessing.rst:605 msgid "Example usage of some of the methods of :class:`Process`:" -msgstr "" +msgstr "Exemple d'utilisation de quelques méthodes de :class:`Process` :" #: ../Doc/library/multiprocessing.rst:625 msgid "The base class of all :mod:`multiprocessing` exceptions." -msgstr "" +msgstr "La classe de base de toutes les exceptions de :mod:`multiprocessing`." #: ../Doc/library/multiprocessing.rst:629 msgid "" "Exception raised by :meth:`Connection.recv_bytes_into()` when the supplied " "buffer object is too small for the message read." msgstr "" +"Exception levée par :meth:`Connection.recv_bytes_into()` quand l'objet " +"tampon fourni est trop petit pour le message à lire." #: ../Doc/library/multiprocessing.rst:632 msgid "" "If ``e`` is an instance of :exc:`BufferTooShort` then ``e.args[0]`` will " "give the message as a byte string." msgstr "" +"Si ``e`` est une instance de :exc:`BufferTooShort` alors ``e.args[0]`` " +"donnera un message sous forme d'une chaîne d'octets." #: ../Doc/library/multiprocessing.rst:637 msgid "Raised when there is an authentication error." -msgstr "" +msgstr "Levée quand il y a une erreur d'authentification." #: ../Doc/library/multiprocessing.rst:641 msgid "Raised by methods with a timeout when the timeout expires." msgstr "" +"Levée par les méthodes avec temps d'exécution limité, quand ce temps expire." #: ../Doc/library/multiprocessing.rst:644 msgid "Pipes and Queues" -msgstr "" +msgstr "Tubes (*pipes*) et Queues" #: ../Doc/library/multiprocessing.rst:646 msgid "" @@ -633,12 +847,18 @@ msgid "" "communication between processes and avoids having to use any synchronization " "primitives like locks." msgstr "" +"Quand de multiples processus sont utilisés, de l'échange de messages est " +"souvent mis en place pour la communication entre processus et éviter d'avoir " +"à utiliser des primitives de synchronisation telles que des verrous." #: ../Doc/library/multiprocessing.rst:650 msgid "" "For passing messages one can use :func:`Pipe` (for a connection between two " "processes) or a queue (which allows multiple producers and consumers)." msgstr "" +"Pour échanger des messages vous pouvez utiliser un :func:`Pipe` (pour une " +"connexion entre deux processus) ou une queue (qui autorise de multiples " +"producteurs et consommateurs)." #: ../Doc/library/multiprocessing.rst:653 msgid "" @@ -656,12 +876,18 @@ msgid "" "semaphore used to count the number of unfinished tasks may eventually " "overflow, raising an exception." msgstr "" +"Si vous utilisez :class:`JoinableQueue` alors vous **devez** appeler :meth:" +"`JoinableQueue.task_done` pour chaque tâche retirée de la queue, sans quoi " +"le sémaphore utilisé pour compter le nombre de tâches non accomplies pourra " +"éventuellement déborder, levant une exception." #: ../Doc/library/multiprocessing.rst:664 msgid "" "Note that one can also create a shared queue by using a manager object -- " "see :ref:`multiprocessing-managers`." msgstr "" +"Notez que vous pouvez aussi créer une queue partagée en utilisant un objet " +"gestionnaire -- voir :ref:`multiprocessing-managers`." #: ../Doc/library/multiprocessing.rst:669 msgid "" @@ -669,6 +895,10 @@ msgid "" "Full` exceptions to signal a timeout. They are not available in the :mod:" "`multiprocessing` namespace so you need to import them from :mod:`queue`." msgstr "" +":mod:`multiprocessing` utilise les exceptions habituelles :exc:`queue.Empty` " +"et :exc:`queue.Full` pour signaler un dépassement du temps maximal autorisé. " +"Elles ne sont pas disponibles dans l'espace de nommage :mod:" +"`multiprocessing` donc vous devez les importer depuis le module :mod:`queue`." #: ../Doc/library/multiprocessing.rst:676 msgid "" @@ -678,6 +908,12 @@ msgid "" "practical difficulties -- if they really bother you then you can instead use " "a queue created with a :ref:`manager `." msgstr "" +"Quand un objet est placé dans une queue, l'objet est sérialisé par *pickle* " +"et un fil d'exécution en arrière-plan transmettra ensuite les données " +"sérialisées sur un tube sous-jacent. Cela a certaines conséquences qui " +"peuvent être un peu surprenantes, mais ne devrait causer aucune difficultés " +"pratiques -- si elles vous embêtent vraiment, alors vous pouvez à la place " +"utiliser une queue créée avec un :ref:`manager `." #: ../Doc/library/multiprocessing.rst:683 msgid "" @@ -685,6 +921,10 @@ msgid "" "delay before the queue's :meth:`~Queue.empty` method returns :const:`False` " "and :meth:`~Queue.get_nowait` can return without raising :exc:`queue.Empty`." msgstr "" +"Après avoir placé un objet dans une queue vide il peut y avoir un délai " +"infinitésimal avant que la méthode :meth:`~Queue.empty` de la queue renvoie :" +"const:`False` et que :meth:`~Queue.get_nowait` renvoie une valeur sans lever " +"de :exc:`queue.Empty`." #: ../Doc/library/multiprocessing.rst:688 msgid "" @@ -693,6 +933,10 @@ msgid "" "the same process will always be in the expected order with respect to each " "other." msgstr "" +"Si plusieurs processus placent des objets dans la queue, il est possible " +"pour les objets d'être reçus de l'autre côté dans le désordre. Cependant, " +"les objets placés par un même processus seront toujours récupérés dans " +"l'ordre attendu." #: ../Doc/library/multiprocessing.rst:695 msgid "" @@ -701,6 +945,11 @@ msgid "" "likely to become corrupted. This may cause any other process to get an " "exception when it tries to use the queue later on." msgstr "" +"Si un processus est tué à l'aide de :meth:`Process.terminate` ou :func:`os." +"kill` pendant qu'il tente d'utiliser une :class:`Queue`, alors les données " +"de la queue peuvent être corrompues. Cela peut par la suite causer des " +"levées d'exceptions dans les autres processus quand ils tenteront d'utiliser " +"la queue." #: ../Doc/library/multiprocessing.rst:702 msgid "" @@ -709,6 +958,11 @@ msgid "" "cancel_join_thread>`), then that process will not terminate until all " "buffered items have been flushed to the pipe." msgstr "" +"Comme mentionné plus haut, si un processus fils a placé des éléments dans la " +"queue (et qu'il n'a pas utilisé :meth:`JoinableQueue.cancel_join_thread " +"`), alors le processus ne se " +"terminera pas tant que les éléments placés dans le tampon n'auront pas été " +"transmis au tube." #: ../Doc/library/multiprocessing.rst:707 msgid "" @@ -718,18 +972,27 @@ msgid "" "parent process may hang on exit when it tries to join all its non-daemonic " "children." msgstr "" +"Cela signifie que si vous essayez d'attendre ce processus vous pouvez " +"obtenir un interblocage, à moins que vous ne soyez sûr que tous les éléments " +"placés dans la queue ont été consommés. De même, si le processus fils n'est " +"pas un *daemon* alors le processus parent pourrait bloquer à la fermeture " +"quand il tentera d'attendre tous ses enfants non *daemons*." #: ../Doc/library/multiprocessing.rst:712 msgid "" "Note that a queue created using a manager does not have this issue. See :" "ref:`multiprocessing-programming`." msgstr "" +"Notez que la queue créée à l'aide d'un gestionnaire n'a pas ce problème. " +"Voir :ref:`multiprocessing-programming`." #: ../Doc/library/multiprocessing.rst:715 msgid "" "For an example of the usage of queues for interprocess communication see :" "ref:`multiprocessing-examples`." msgstr "" +"Pour un exemple d'utilisation de queues pour de la communication entre les " +"processus, voir :ref:`multiprocessing-examples`." #: ../Doc/library/multiprocessing.rst:721 msgid "" @@ -744,6 +1007,9 @@ msgid "" "used for receiving messages and ``conn2`` can only be used for sending " "messages." msgstr "" +"Si *duplex* vaut ``True`` (par défaut), alors le tube est bidirectionnel. Si " +"*duplex* vaut ``False`` il est unidirectionnel : ``conn1`` ne peut être " +"utilisé que pour recevoir des messages et ``conn2`` que pour en envoyer." #: ../Doc/library/multiprocessing.rst:732 msgid "" @@ -751,42 +1017,62 @@ msgid "" "semaphores. When a process first puts an item on the queue a feeder thread " "is started which transfers objects from a buffer into the pipe." msgstr "" +"Renvoie une queue partagée entre les processus utilisant un tube et quelques " +"verrous/sémaphores. Quand un processus place initialement un élément sur la " +"queue, un fil d'exécution *feeder* est démarré pour transférer les objets du " +"tampon vers le tube." #: ../Doc/library/multiprocessing.rst:736 msgid "" "The usual :exc:`queue.Empty` and :exc:`queue.Full` exceptions from the " "standard library's :mod:`queue` module are raised to signal timeouts." msgstr "" +"Les exceptions habituelles :exc:`queue.Empty` et :exc:`queue.Full` du " +"module :mod:`queue` de la bibliothèque standard sont levées pour signaler " +"les *timeouts*." #: ../Doc/library/multiprocessing.rst:739 msgid "" ":class:`Queue` implements all the methods of :class:`queue.Queue` except " "for :meth:`~queue.Queue.task_done` and :meth:`~queue.Queue.join`." msgstr "" +":class:`Queue` implémente toutes les méthodes de :class:`queue.Queue` à " +"l'exception de :meth:`~queue.Queue.task_done` et :meth:`~queue.Queue.join`." #: ../Doc/library/multiprocessing.rst:744 msgid "" "Return the approximate size of the queue. Because of multithreading/" "multiprocessing semantics, this number is not reliable." msgstr "" +"Renvoie la taille approximative de la queue. Ce nombre n'est pas fiable en " +"raison des problématiques de *multithreading* et *multiprocessing*." #: ../Doc/library/multiprocessing.rst:747 msgid "" "Note that this may raise :exc:`NotImplementedError` on Unix platforms like " "Mac OS X where ``sem_getvalue()`` is not implemented." msgstr "" +"Notez que cela peut lever une :exc:`NotImplementedError` sous les " +"plateformes Unix telles que Mac OS X où ``sem_getvalue()`` n'est pas " +"implémentée." #: ../Doc/library/multiprocessing.rst:752 msgid "" "Return ``True`` if the queue is empty, ``False`` otherwise. Because of " "multithreading/multiprocessing semantics, this is not reliable." msgstr "" +"Renvoie ``True`` si la queue est vide, ``False`` sinon. Cette valeur n'est " +"pas fiable en raison des problématiques de *multithreading* et " +"*multiprocessing*." #: ../Doc/library/multiprocessing.rst:757 msgid "" "Return ``True`` if the queue is full, ``False`` otherwise. Because of " "multithreading/multiprocessing semantics, this is not reliable." msgstr "" +"Renvoie ``True`` si la queue est pleine, ``False`` sinon. Cette valeur n'est " +"pas fiable en raison des problématiques de *multithreading* et " +"*multiprocessing*." #: ../Doc/library/multiprocessing.rst:762 msgid "" @@ -798,10 +1084,18 @@ msgid "" "an item on the queue if a free slot is immediately available, else raise " "the :exc:`queue.Full` exception (*timeout* is ignored in that case)." msgstr "" +"Place *obj* dans la queue. Si l'argument optionnel *block* vaut ``True`` " +"(par défaut) est que *timeout* est ``None`` (par défaut), bloque jusqu'à ce " +"qu'un slot libre soit disponible. Si *timeout* est un nombre positif, la " +"méthode bloquera au maximum *timeout* secondes et lèvera une exception :exc:" +"`queue.Full` si aucun slot libre n'a été trouvé dans le temps imparti. " +"Autrement (*block* vaut ``False``), place un élément dans la queue si un " +"slot libre est immédiatement disponible, ou lève une exception :exc:`queue." +"Full` dans le cas contraire (*timeout* est ignoré dans ce cas)." #: ../Doc/library/multiprocessing.rst:773 msgid "Equivalent to ``put(obj, False)``." -msgstr "" +msgstr "Équivalent à ``put(obj, False)``." #: ../Doc/library/multiprocessing.rst:777 msgid "" @@ -813,6 +1107,15 @@ msgid "" "return an item if one is immediately available, else raise the :exc:`queue." "Empty` exception (*timeout* is ignored in that case)." msgstr "" +"Retire et renvoie un élément de la queue. Si l'argument optionnel *block* " +"vaut ``True`` (par défaut) et que *timeout* est ``None`` (par défaut), " +"bloque jusqu'à ce qu'un élément soit disponible. Si *timeout* (le délai " +"maximal autorisé) est un nombre positif, la méthode bloquera au maximum " +"*timeout* secondes et lèvera une exception :exc:`queue.Empty` si aucun " +"élément n'est disponible dans le temps imparti. Autrement (*block* vaut " +"``False``), renvoie un élément s'il est immédiatement disponible, ou lève " +"une exception :exc:`queue.Empty` dans le cas contraire (*timeout* est ignoré " +"dans ce cas)." #: ../Doc/library/multiprocessing.rst:787 msgid "Equivalent to ``get(False)``." @@ -823,6 +1126,9 @@ msgid "" ":class:`multiprocessing.Queue` has a few additional methods not found in :" "class:`queue.Queue`. These methods are usually unnecessary for most code:" msgstr "" +":class:`multiprocessing.Queue` possède quelques méthodes additionnelles non " +"présentes dans :class:`queue.Queue`. Ces méthodes ne sont habituellement pas " +"nécessaires pour la plupart des codes :" #: ../Doc/library/multiprocessing.rst:795 msgid "" @@ -831,6 +1137,10 @@ msgid "" "data to the pipe. This is called automatically when the queue is garbage " "collected." msgstr "" +"Indique que plus aucune donnée ne peut être placée sur la queue par le " +"processus courant. Le fil d'exécution en arrière-plan se terminera quand il " +"aura transféré toutes les données du tampon vers le tube. Elle est appelée " +"automatiquement quand la queue est collectée par le ramasse-miettes." #: ../Doc/library/multiprocessing.rst:802 msgid "" @@ -838,6 +1148,10 @@ msgid "" "been called. It blocks until the background thread exits, ensuring that all " "data in the buffer has been flushed to the pipe." msgstr "" +"Attend le fil d'exécution d'arrière-plan. Elle peut seulement être utilisée " +"une fois que :meth:`close` a été appelée. Elle bloque jusqu'à ce que le fil " +"d'arrière-plan se termine, assurant que toutes les données du tampon ont été " +"transmises au tube." #: ../Doc/library/multiprocessing.rst:806 msgid "" @@ -845,6 +1159,10 @@ msgid "" "attempt to join the queue's background thread. The process can call :meth:" "`cancel_join_thread` to make :meth:`join_thread` do nothing." msgstr "" +"Par défaut si un processus n'est pas le créateur de la queue alors à la " +"fermeture elle essaiera d'attendre le fil d'exécution d'arrière-plan de la " +"queue. Le processus peut appeler :meth:`cancel_join_thread` pour que :meth:" +"`join_thread` ne fasse rien." #: ../Doc/library/multiprocessing.rst:812 msgid "" @@ -852,6 +1170,9 @@ msgid "" "background thread from being joined automatically when the process exits -- " "see :meth:`join_thread`." msgstr "" +"Empêche :meth:`join_thread` de bloquer. En particulier, cela empêche le fil " +"d'arrière-plan d'être attendu automatiquement quand le processus se ferme -- " +"voir :meth:`join_thread`." #: ../Doc/library/multiprocessing.rst:816 msgid "" @@ -861,6 +1182,12 @@ msgid "" "exit immediately without waiting to flush enqueued data to the underlying " "pipe, and you don't care about lost data." msgstr "" +"Un meilleur nom pour cette méthode pourrait être " +"``allow_exit_without_flush()``. Cela peut provoquer des pertes de données " +"placées dans la queue, et vous ne devriez certainement pas avoir besoin de " +"l'utiliser. Elle n'est là que si vous souhaitez terminer immédiatement le " +"processus sans transférer les données du tampon, et que vous ne vous " +"inquiétez pas de perdre des données." #: ../Doc/library/multiprocessing.rst:825 msgid "" @@ -871,15 +1198,23 @@ msgid "" "information. The same holds true for any of the specialized queue types " "listed below." msgstr "" +"Le fonctionnement de cette classe requiert une implémentation de sémaphore " +"partagé sur le système d'exploitation hôte. Sans cela, la fonctionnalité " +"sera désactivée et la tentative d'instancier une :class:`Queue` lèvera une :" +"exc:`ImportError`. Voir :issue:`3770` pour plus d'informations. Cette " +"remarque reste valable pour les autres types de queues spécialisées définies " +"par la suite." #: ../Doc/library/multiprocessing.rst:834 msgid "" "It is a simplified :class:`Queue` type, very close to a locked :class:`Pipe`." msgstr "" +"Un type de :class:`Queue` simplifié, très proche d'un :class:`Pipe` avec " +"verrou." #: ../Doc/library/multiprocessing.rst:838 msgid "Return ``True`` if the queue is empty, ``False`` otherwise." -msgstr "" +msgstr "Renvoie ``True`` si la queue est vide, ``False`` sinon." #: ../Doc/library/multiprocessing.rst:842 msgid "Remove and return an item from the queue." @@ -887,13 +1222,15 @@ msgstr "Supprime et donne un élément de la queue." #: ../Doc/library/multiprocessing.rst:846 msgid "Put *item* into the queue." -msgstr "" +msgstr "Place *item* dans la queue." #: ../Doc/library/multiprocessing.rst:851 msgid "" ":class:`JoinableQueue`, a :class:`Queue` subclass, is a queue which " "additionally has :meth:`task_done` and :meth:`join` methods." msgstr "" +":class:`JoinableQueue`, une sous-classe de :class:`Queue`, est une queue qui " +"ajoute des méthodes :meth:`task_done` et :meth:`join`." #: ../Doc/library/multiprocessing.rst:856 msgid "" @@ -902,6 +1239,10 @@ msgid "" "call to :meth:`task_done` tells the queue that the processing on the task is " "complete." msgstr "" +"Indique qu'une tâche précédemment placée dans la queue est complétée. " +"Utilisé par les consommateurs de la queue. Pour chaque :meth:`~Queue.get` " +"utilisé pour récupérer une tâche, un appel ultérieur à :meth:`task_done` " +"indique à la queue que le traitement de la tâche est terminé." #: ../Doc/library/multiprocessing.rst:861 msgid "" @@ -909,6 +1250,10 @@ msgid "" "all items have been processed (meaning that a :meth:`task_done` call was " "received for every item that had been :meth:`~Queue.put` into the queue)." msgstr "" +"Si un :meth:`~queue.Queue.join` est actuellement bloquant, il se débloquera " +"quand tous les éléments auront été traités (signifiant qu'un appel à :meth:" +"`task_done` a été reçu pour chaque élément ayant été placé via :meth:`~Queue." +"put` dans la queue)." #: ../Doc/library/multiprocessing.rst:865 msgid "" @@ -921,6 +1266,8 @@ msgstr "" #: ../Doc/library/multiprocessing.rst:871 msgid "Block until all items in the queue have been gotten and processed." msgstr "" +"Bloque jusqu'à ce que tous les éléments de la queue aient été récupérés et " +"traités." #: ../Doc/library/multiprocessing.rst:873 msgid "" @@ -930,20 +1277,27 @@ msgid "" "the count of unfinished tasks drops to zero, :meth:`~queue.Queue.join` " "unblocks." msgstr "" +"Le compteur des tâches non accomplies augmente chaque fois qu'un élément est " +"ajouté à la queue. Le compteur redescend chaque fois qu'un consommateur " +"appelle :meth:`task_done` pour indiquer qu'un élément a été récupéré et que " +"tout le travail qui le concerne est complété. Quand le compteur des tâches " +"non accomplies atteint zéro, :meth:`~queue.Queue.join` est débloquée." #: ../Doc/library/multiprocessing.rst:881 msgid "Miscellaneous" -msgstr "" +msgstr "Divers" #: ../Doc/library/multiprocessing.rst:885 msgid "Return list of all live children of the current process." -msgstr "" +msgstr "Renvoie la liste de tous les enfants vivants du processus courant." #: ../Doc/library/multiprocessing.rst:887 msgid "" "Calling this has the side effect of \"joining\" any processes which have " "already finished." msgstr "" +"Appeler cette méthode provoque l'effet de bord d'attendre tout processus qui " +"n'a pas encore terminé." #: ../Doc/library/multiprocessing.rst:892 msgid "" @@ -953,16 +1307,16 @@ msgstr "" #: ../Doc/library/multiprocessing.rst:896 msgid ":func:`os.cpu_count`" -msgstr "" +msgstr ":func:`os.cpu_count`" #: ../Doc/library/multiprocessing.rst:900 msgid "" "Return the :class:`Process` object corresponding to the current process." -msgstr "" +msgstr "Renvoie l'objet :class:`Process` correspondant au processus courant." #: ../Doc/library/multiprocessing.rst:902 msgid "An analogue of :func:`threading.current_thread`." -msgstr "" +msgstr "Un analogue à :func:`threading.current_thread`." #: ../Doc/library/multiprocessing.rst:906 msgid "" @@ -970,18 +1324,25 @@ msgid "" "frozen to produce a Windows executable. (Has been tested with **py2exe**, " "**PyInstaller** and **cx_Freeze**.)" msgstr "" +"Ajoute le support des programmes utilisant :mod:`multiprocessing` qui ont " +"été gelés pour produire un exécutable Windows. (Testé avec **py2exe**, " +"**PyInstaller** et **cx_Freeze**.)" #: ../Doc/library/multiprocessing.rst:910 msgid "" "One needs to call this function straight after the ``if __name__ == " "'__main__'`` line of the main module. For example::" msgstr "" +"Cette fonction doit être appelée juste après la ligne ``if __name__ == " +"'__main__'`` du module principal. Par exemple : ::" #: ../Doc/library/multiprocessing.rst:922 msgid "" "If the ``freeze_support()`` line is omitted then trying to run the frozen " "executable will raise :exc:`RuntimeError`." msgstr "" +"Si la ligne ``freeze_support()`` est omise, alors tenter de lancer " +"l'exécutable gelé lèvera une :exc:`RuntimeError`." #: ../Doc/library/multiprocessing.rst:925 msgid "" @@ -990,6 +1351,10 @@ msgid "" "by the Python interpreter on Windows (the program has not been frozen), then " "``freeze_support()`` has no effect." msgstr "" +"Appeler ``freeze_support()`` n'a pas d'effet quand elle est invoquée sur un " +"système d'exploitation autre que Windows. De plus, si le module est lancé " +"normalement par l'interpréteur Python sous Windows (le programme n'a pas été " +"gelé), alors ``freeze_support()`` n'a pas d'effet." #: ../Doc/library/multiprocessing.rst:932 msgid "" @@ -999,12 +1364,19 @@ msgid "" "``'fork'`` and ``'spawn'`` are always supported, with ``'fork'`` being the " "default." msgstr "" +"Renvoie la liste des méthodes de démarrage supportées, la première étant " +"celle par défaut. Les méthodes de démarrage possibles sont ``'fork'``, " +"``'spawn'`` et ``'forkserver'``. Sous Windows seule ``'spawn'`` est " +"disponible. Sous Unix ``'fork'`` et ``'spawn'`` sont disponibles, ``'fork'`` " +"étant celle par défaut." #: ../Doc/library/multiprocessing.rst:942 msgid "" "Return a context object which has the same attributes as the :mod:" "`multiprocessing` module." msgstr "" +"Renvoie un contexte ayant les mêmes attributs que le module :mod:" +"`multiprocessing`." #: ../Doc/library/multiprocessing.rst:945 msgid "" @@ -1012,10 +1384,16 @@ msgid "" "*method* should be ``'fork'``, ``'spawn'``, ``'forkserver'``. :exc:" "`ValueError` is raised if the specified start method is not available." msgstr "" +"Si *method* est ``None`` le contexte par défaut est renvoyé. Sinon *method* " +"doit valoir ``'fork'``, ``'spawn'`` ou ``'forkserver'``. Une :exc:" +"`ValueError` est levée si la méthode de démarrage spécifiée n'est pas " +"disponible." #: ../Doc/library/multiprocessing.rst:954 msgid "Return the name of start method used for starting processes." msgstr "" +"Renvoie le nom de la méthode de démarrage utilisée pour démarrer le " +"processus." #: ../Doc/library/multiprocessing.rst:956 msgid "" @@ -1023,6 +1401,10 @@ msgid "" "start method is fixed to the default and the name is returned. If the start " "method has not been fixed and *allow_none* is true then ``None`` is returned." msgstr "" +"Si le nom de la méthode n'a pas été fixé et que *allow_none* est faux, alors " +"la méthode de démarrage est réglée à celle par défaut et son nom est " +"renvoyé. Si la méthode n'a pas été fixée et que *allow_none* est vrai, " +"``None`` est renvoyé." #: ../Doc/library/multiprocessing.rst:961 msgid "" @@ -1030,6 +1412,9 @@ msgid "" "``None``. ``'fork'`` is the default on Unix, while ``'spawn'`` is the " "default on Windows." msgstr "" +"La valeur de retour peut être ``'fork'``, ``'spawn'``, ``'forkserver'`` ou " +"``None``. ``'fork'`` est la valeur par défaut sous Unix, ``'spawn'`` est " +"celle sous Windows." #: ../Doc/library/multiprocessing.rst:969 msgid "" @@ -1037,26 +1422,36 @@ msgid "" "process. (By default :data:`sys.executable` is used). Embedders will " "probably need to do some thing like ::" msgstr "" +"Définit le chemin de l'interpréteur Python à utiliser pour démarrer un " +"processus fils. (Par défaut :data:`sys.executable` est utilisé). Les " +"intégrateurs devront probablement faire quelque chose comme : ::" #: ../Doc/library/multiprocessing.rst:975 msgid "before they can create child processes." -msgstr "" +msgstr "avant de pouvoir créer des processus fils." #: ../Doc/library/multiprocessing.rst:977 msgid "Now supported on Unix when the ``'spawn'`` start method is used." msgstr "" +"Maintenant supporté sous Unix quand la méthode de démarrage ``'spawn'`` est " +"utilisée." #: ../Doc/library/multiprocessing.rst:982 msgid "" "Set the method which should be used to start child processes. *method* can " "be ``'fork'``, ``'spawn'`` or ``'forkserver'``." msgstr "" +"Règle la méthode qui doit être utilisée pour démarrer un processus fils. " +"*method* peut être ``'fork'``, ``'spawn'`` ou ``'forkserver'``." #: ../Doc/library/multiprocessing.rst:985 msgid "" "Note that this should be called at most once, and it should be protected " "inside the ``if __name__ == '__main__'`` clause of the main module." msgstr "" +"Notez que cette fonction ne devrait être appelée qu'une fois au plus, et " +"l'appel devrait être protégé à l'intérieur d'une clause ``if __name__ == " +"'__main__'`` dans le module principal." #: ../Doc/library/multiprocessing.rst:993 msgid "" @@ -1065,16 +1460,23 @@ msgid "" "func:`threading.setprofile`, :class:`threading.Timer`, or :class:`threading." "local`." msgstr "" +":mod:`multiprocessing` ne contient pas d'analogues à :func:`threading." +"active_count`, :func:`threading.enumerate`, :func:`threading.settrace`, :" +"func:`threading.setprofile`, :class:`threading.Timer`, ou :class:`threading." +"local`." #: ../Doc/library/multiprocessing.rst:1000 msgid "Connection Objects" -msgstr "" +msgstr "Objets de connexions" #: ../Doc/library/multiprocessing.rst:1002 msgid "" "Connection objects allow the sending and receiving of picklable objects or " "strings. They can be thought of as message oriented connected sockets." msgstr "" +"Les objets de connexion autorisent l'envoi et la réception d'objets " +"sérialisables ou de chaînes de caractères. Ils peuvent être vus comme des " +"interfaces de connexion (*sockets*) connectées orientées messages." #: ../Doc/library/multiprocessing.rst:1005 msgid "" @@ -1087,6 +1489,8 @@ msgid "" "Send an object to the other end of the connection which should be read " "using :meth:`recv`." msgstr "" +"Envoie un objet sur l'autre bout de la connexion, qui devra être lu avec :" +"meth:`recv`." #: ../Doc/library/multiprocessing.rst:1015 msgid "" @@ -1104,18 +1508,22 @@ msgstr "" #: ../Doc/library/multiprocessing.rst:1027 msgid "Return the file descriptor or handle used by the connection." msgstr "" +"Renvoie le descripteur de fichier ou identifiant utilisé par la connexion." #: ../Doc/library/multiprocessing.rst:1031 msgid "Close the connection." -msgstr "" +msgstr "Ferme la connexion." #: ../Doc/library/multiprocessing.rst:1033 msgid "This is called automatically when the connection is garbage collected." msgstr "" +"Elle est appelée automatiquement quand la connexion est collectée par le " +"ramasse-miettes." #: ../Doc/library/multiprocessing.rst:1037 msgid "Return whether there is any data available to be read." msgstr "" +"Renvoie vrai ou faux selon si des données sont disponibles à la lecture." #: ../Doc/library/multiprocessing.rst:1039 msgid "" @@ -1123,16 +1531,23 @@ msgid "" "is a number then this specifies the maximum time in seconds to block. If " "*timeout* is ``None`` then an infinite timeout is used." msgstr "" +"Si *timeout* n'est pas spécifié la méthode renverra immédiatement. Si " +"*timeout* est un nombre alors il spécifie le temps maximum de blocage en " +"secondes. Si *timeout* est ``None``, un temps d'attente infini est utilisé." #: ../Doc/library/multiprocessing.rst:1043 msgid "" "Note that multiple connection objects may be polled at once by using :func:" "`multiprocessing.connection.wait`." msgstr "" +"Notez que plusieurs objets de connexions peuvent être attendus en même temps " +"à l'aide de :func:`multiprocessing.connection.wait`." #: ../Doc/library/multiprocessing.rst:1048 msgid "Send byte data from a :term:`bytes-like object` as a complete message." msgstr "" +"Envoie des données binaires depuis un :term:`bytes-like object` comme un " +"message complet." #: ../Doc/library/multiprocessing.rst:1050 msgid "" @@ -1149,18 +1564,26 @@ msgid "" "exc:`EOFError` if there is nothing left to receive and the other end has " "closed." msgstr "" +"Renvoie un message complet de données binaires envoyées depuis l'autre bout " +"de la connexion comme une chaîne de caractères. Bloque jusqu'à ce qu'il y " +"ait quelque chose à recevoir. Lève une :exc:`EOFError` s'il ne reste rien à " +"recevoir et que l'autre côté de la connexion a été fermé." #: ../Doc/library/multiprocessing.rst:1062 msgid "" "If *maxlength* is specified and the message is longer than *maxlength* then :" "exc:`OSError` is raised and the connection will no longer be readable." msgstr "" +"Si *maxlength* est précisé que que le message est plus long que *maxlength* " +"alors une :exc:`OSError` est levée et la connexion n'est plus lisible." #: ../Doc/library/multiprocessing.rst:1066 msgid "" "This function used to raise :exc:`IOError`, which is now an alias of :exc:" "`OSError`." msgstr "" +"Cette fonction levait auparavant une :exc:`IOError`, qui est maintenant un " +"alias pour :exc:`OSError`." #: ../Doc/library/multiprocessing.rst:1073 msgid "" @@ -1169,6 +1592,11 @@ msgid "" "until there is something to receive. Raises :exc:`EOFError` if there is " "nothing left to receive and the other end was closed." msgstr "" +"Lit et stocke dans *buffer* un message complet de données binaires envoyées " +"depuis l'autre bout de la connexion et renvoie le nombre d'octets du " +"message. Bloque jusqu'à ce qu'il y ait quelque chose à recevoir. Lève une :" +"exc:`EOFError` s'il ne reste rien à recevoir et que l'autre côté de la " +"connexion a été fermé." #: ../Doc/library/multiprocessing.rst:1079 msgid "" @@ -1176,6 +1604,10 @@ msgid "" "then the message will be written into the buffer from that position. Offset " "must be a non-negative integer less than the length of *buffer* (in bytes)." msgstr "" +"*buffer* doit être un :term:`bytes-like object` accessible en écriture. Si " +"*offset* est donné, le message sera écrit dans le tampon à partir de cette " +"position. *offset* doit être un entier positif, inférieur à la taille de " +"*buffer* (en octets)." #: ../Doc/library/multiprocessing.rst:1084 msgid "" @@ -1183,12 +1615,18 @@ msgid "" "and the complete message is available as ``e.args[0]`` where ``e`` is the " "exception instance." msgstr "" +"Si le tampon est trop petit une exception :exc:`BufferTooShort` est levée et " +"le message complet est accessible via ``e.args[0]`` où ``e`` est l'instance " +"de l'exception." #: ../Doc/library/multiprocessing.rst:1088 msgid "" "Connection objects themselves can now be transferred between processes " "using :meth:`Connection.send` and :meth:`Connection.recv`." msgstr "" +"Les objets de connexions eux-mêmes peuvent maintenant être transférés entre " +"les processus en utilisant :meth:`Connection.send` et :meth:`Connection." +"recv`." #: ../Doc/library/multiprocessing.rst:1092 msgid "" @@ -1196,6 +1634,10 @@ msgid "" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " "connection object, and :meth:`~contextmanager.__exit__` calls :meth:`close`." msgstr "" +"Les objets de connexions supportent maintenant le protocole des " +"gestionnaires de contexte -- voir :ref:`typecontextmanager`. :meth:" +"`~contextmanager.__enter__` renvoie l'objet de connexion, et :meth:" +"`~contextmanager.__exit__` appelle :meth:`close`." #: ../Doc/library/multiprocessing.rst:1097 msgid "For example:" @@ -1207,6 +1649,9 @@ msgid "" "receives, which can be a security risk unless you can trust the process " "which sent the message." msgstr "" +"La méthode :meth:`Connection.recv` désérialise automatiquement les données " +"qu'elle reçoit, ce qui peut être un risque de sécurité à moins que vous ne " +"fassiez réellement confiance au processus émetteur du message." #: ../Doc/library/multiprocessing.rst:1125 msgid "" @@ -1215,6 +1660,10 @@ msgid "" "methods after performing some sort of authentication. See :ref:" "`multiprocessing-auth-keys`." msgstr "" +"Par conséquent, à moins que l'objet de connexion soit instancié par :func:" +"`Pipe`, vous ne devriez uniquement utiliser les méthodes :meth:`~Connection." +"recv` et :meth:`~Connection.send` après avoir effectué une quelconque forme " +"d'authentification. Voir :ref:`multiprocessing-auth-keys`." #: ../Doc/library/multiprocessing.rst:1132 msgid "" @@ -1222,10 +1671,13 @@ msgid "" "the data in the pipe is likely to become corrupted, because it may become " "impossible to be sure where the message boundaries lie." msgstr "" +"Si un processus est tué pendant qu'il essaye de lire ou écrire sur le tube, " +"alors les données du tube ont des chances d'être corrompues, parce qu'il " +"devient impossible d'être sûr d'où se trouvent les bornes du message." #: ../Doc/library/multiprocessing.rst:1138 msgid "Synchronization primitives" -msgstr "" +msgstr "Primitives de synchronisation" #: ../Doc/library/multiprocessing.rst:1140 msgid "" @@ -1233,22 +1685,29 @@ msgid "" "program as they are in a multithreaded program. See the documentation for :" "mod:`threading` module." msgstr "" +"Généralement les primitives de synchronisation ne sont pas nécessaire dans " +"un programme multi-processus comme elles le sont dans un programme multi-" +"fils d'exécution. Voir la documentation du module :mod:`threading`." #: ../Doc/library/multiprocessing.rst:1144 msgid "" "Note that one can also create synchronization primitives by using a manager " "object -- see :ref:`multiprocessing-managers`." msgstr "" +"Notez que vous pouvez aussi créer des primitives de synchronisation en " +"utilisant un objet gestionnaire -- voir :ref:`multiprocessing-managers`." #: ../Doc/library/multiprocessing.rst:1149 msgid "A barrier object: a clone of :class:`threading.Barrier`." -msgstr "" +msgstr "Un objet barrière : un clone de :class:`threading.Barrier`." #: ../Doc/library/multiprocessing.rst:1155 msgid "" "A bounded semaphore object: a close analog of :class:`threading." "BoundedSemaphore`." msgstr "" +"Un objet sémaphore lié : un analogue proche de :class:`threading." +"BoundedSemaphore`." #: ../Doc/library/multiprocessing.rst:1158 #: ../Doc/library/multiprocessing.rst:1296 @@ -1256,31 +1715,39 @@ msgid "" "A solitary difference from its close analog exists: its ``acquire`` method's " "first argument is named *block*, as is consistent with :meth:`Lock.acquire`." msgstr "" +"Une seule différence existe avec son proche analogue : le premier argument " +"de sa méthode ``acquire`` est appelé *block*, pour la cohérence avec :meth:" +"`Lock.acquire`." #: ../Doc/library/multiprocessing.rst:1162 msgid "" "On Mac OS X, this is indistinguishable from :class:`Semaphore` because " "``sem_getvalue()`` is not implemented on that platform." msgstr "" +"Sur Mac OS X, elle n'est pas distinguable de la classe :class:`Semaphore` " +"parce que ``sem_getvalue()`` n'est pas implémentée sur cette plateforme." #: ../Doc/library/multiprocessing.rst:1167 msgid "A condition variable: an alias for :class:`threading.Condition`." msgstr "" +"Une variable conditionnelle : un alias pour :class:`threading.Condition`." #: ../Doc/library/multiprocessing.rst:1169 msgid "" "If *lock* is specified then it should be a :class:`Lock` or :class:`RLock` " "object from :mod:`multiprocessing`." msgstr "" +"Si *lock* est spécifié il doit être un objet :class:`Lock` ou :class:`RLock` " +"du module :mod:`multiprocessing`." #: ../Doc/library/multiprocessing.rst:1172 #: ../Doc/library/multiprocessing.rst:1704 msgid "The :meth:`~threading.Condition.wait_for` method was added." -msgstr "" +msgstr "La méthode :meth:`~threading.Condition.wait_for` a été ajoutée." #: ../Doc/library/multiprocessing.rst:1177 msgid "A clone of :class:`threading.Event`." -msgstr "" +msgstr "Un clone de :class:`threading.Event`." #: ../Doc/library/multiprocessing.rst:1182 msgid "" @@ -1292,6 +1759,14 @@ msgid "" "`multiprocessing.Lock` as it applies to either processes or threads, except " "as noted." msgstr "" +"Un verrou non récursif : un analogue proche de :class:`threading.Lock`. Une " +"fois que le processus ou le fil d'exécution a acquis un verrou, les " +"tentatives suivantes d'acquisition depuis n'importe quel processus ou fil " +"d'exécution bloqueront jusqu'à ce qu'il soit libéré ; n'importe quel " +"processus ou fil peut le libérer. Les concepts et comportements de :class:" +"`threading.Lock` qui s'appliquent aux fils d'exécution sont répliqués ici " +"dans :class:`multiprocessing.Lock` et s'appliquent aux processus et aux fils " +"d'exécution, à l'exception de ce qui est indiqué." #: ../Doc/library/multiprocessing.rst:1190 msgid "" @@ -1299,17 +1774,22 @@ msgid "" "instance of ``multiprocessing.synchronize.Lock`` initialized with a default " "context." msgstr "" +"Notez que :class:`Lock` est en fait une fonction *factory* qui renvoie une " +"instance de ``multiprocessing.synchronize.Lock`` initialisée avec un " +"contexte par défaut." #: ../Doc/library/multiprocessing.rst:1194 msgid "" ":class:`Lock` supports the :term:`context manager` protocol and thus may be " "used in :keyword:`with` statements." msgstr "" +":class:`Lock` supporte le protocole :term:`context manager` et peut ainsi " +"être utilisé avec une instruction :keyword:`with`." #: ../Doc/library/multiprocessing.rst:1199 #: ../Doc/library/multiprocessing.rst:1250 msgid "Acquire a lock, blocking or non-blocking." -msgstr "" +msgstr "Acquiert un verrou, bloquant ou non bloquant." #: ../Doc/library/multiprocessing.rst:1201 msgid "" @@ -1318,6 +1798,10 @@ msgid "" "return ``True``. Note that the name of this first argument differs from " "that in :meth:`threading.Lock.acquire`." msgstr "" +"Avec l'argument *block* à ``True`` (par défaut), l'appel de méthode bloquera " +"jusqu'à ce que le verrou soit dans déverrouillé, puis le verrouillera avant " +"de renvoyer ``True``. Notez que le nom de ce premier argument diffère de " +"celui de :meth:`threading.Lock.acquire`." #: ../Doc/library/multiprocessing.rst:1206 msgid "" @@ -1325,6 +1809,9 @@ msgid "" "If the lock is currently in a locked state, return ``False``; otherwise set " "the lock to a locked state and return ``True``." msgstr "" +"Avec l'argument *block* à ``False``, l'appel de méthode ne bloque pas. Si le " +"verrou est actuellement verrouillé, renvoie ``False`` ; autrement verrouille " +"le verrou et renvoie ``True``." #: ../Doc/library/multiprocessing.rst:1210 msgid "" @@ -1339,18 +1826,34 @@ msgid "" "``False`` and is thus ignored. Returns ``True`` if the lock has been " "acquired or ``False`` if the timeout period has elapsed." msgstr "" +"Quand invoqué avec un nombre flottant positif comme *timeout*, bloque au " +"maximum pendant ce nombre spécifié de secondes, tant que le verrou ne peut " +"être acquis. Les invocations avec une valeur de *timeout* négatives sont " +"équivalents à zéro. Les invocations avec un *timeout* à ``None`` (par " +"défaut) correspondent à un délai d'attente infini. Notez que le traitement " +"des valeurs de *timeout* négatives et ``None`` diffère du comportement " +"implémenté dans :meth:`threading.Lock.acquire`. L'argument *timeout* n'a pas " +"d'implication pratique si l'argument *block* est mis ) ``False`` et est " +"alors ignoré. Renvoie ``True`` si le verrou a été acquis et ``False`` si le " +"temps de *timeout* a expiré." #: ../Doc/library/multiprocessing.rst:1225 msgid "" "Release a lock. This can be called from any process or thread, not only the " "process or thread which originally acquired the lock." msgstr "" +"Libère un verrou. Elle peut être appelée depuis n'importe quel processus ou " +"fil d'exécution, pas uniquement le processus ou le fil qui a acquis le " +"verrou à l'origine." #: ../Doc/library/multiprocessing.rst:1228 msgid "" "Behavior is the same as in :meth:`threading.Lock.release` except that when " "invoked on an unlocked lock, a :exc:`ValueError` is raised." msgstr "" +"Le comportement est le même que :meth:`threading.Lock.release` excepté que " +"lorsque la méthode est appelée sur un verrou déverrouillé, une :exc:" +"`ValueError` est levée." #: ../Doc/library/multiprocessing.rst:1234 msgid "" @@ -1360,6 +1863,11 @@ msgid "" "thread may acquire it again without blocking; that process or thread must " "release it once for each time it has been acquired." msgstr "" +"Un objet verrou récursif : un analogue proche de :class:`threading.RLock`. " +"Un verrou récursif doit être libéré par le processus ou le fil d'exécution " +"qui l'a acquis. Quand un processus ou un fil acquiert un verrou récursif, le " +"même processus/fil peut l'acquérir à nouveau sans bloquer ; le processus/fil " +"doit le libérer autant de fois qu'il l'acquiert." #: ../Doc/library/multiprocessing.rst:1240 msgid "" @@ -1367,12 +1875,17 @@ msgid "" "instance of ``multiprocessing.synchronize.RLock`` initialized with a default " "context." msgstr "" +"Notez que :class:`RLock` est en fait une fonction *factory* qui renvoie une " +"instance de ``multiprocessing.synchronize.RLock`` initialisée avec un " +"contexte par défaut." #: ../Doc/library/multiprocessing.rst:1244 msgid "" ":class:`RLock` supports the :term:`context manager` protocol and thus may be " "used in :keyword:`with` statements." msgstr "" +":class:`RLock` supporte le protocole :term:`context manager` et peut ainsi " +"être utilisée avec une instruction :keyword:`with`." #: ../Doc/library/multiprocessing.rst:1252 msgid "" @@ -1386,6 +1899,14 @@ msgid "" "of :meth:`threading.RLock.acquire`, starting with the name of the argument " "itself." msgstr "" +"Quand invoqué avec l'argument *block* à ``True``, bloque jusqu'à ce que le " +"verrou soit déverrouillé (n'appartenant à aucun processus ou fil " +"d'exécution) sauf s'il appartient déjà au processus ou fil d'exécution " +"courant. Le processus ou fil d'exécution courant prend la possession du " +"verrou (s'il ne l'a pas déjà) et incrémente d'un le niveau de récursion du " +"verrou, renvoyant ainsi ``True``. Notez qu'il y a plusieurs différences dans " +"le comportement de ce premier argument comparé à l'implémentation de :meth:" +"`threading.RLock.acquire`, à commencer par le nom de l'argument lui-même." #: ../Doc/library/multiprocessing.rst:1262 msgid "" @@ -1397,6 +1918,12 @@ msgid "" "thread takes ownership and the recursion level is incremented, resulting in " "a return value of ``True``." msgstr "" +"Quand invoqué avec l'argument *block* à ``False``, ne bloque pas. Si le " +"verrou est déjà acquis (et possédé) par un autre processus ou fil " +"d'exécution, le processus/fil courant n'en prend pas la possession et le " +"niveau de récursion n'est pas incrémenté, résultant en une valeur de retour " +"à ``False``. Si le verrou est déverrouillé, le processus/fil courant en " +"prend possession et incrémente son niveau de récursion, renvoyant ``True``." #: ../Doc/library/multiprocessing.rst:1270 msgid "" @@ -1404,6 +1931,9 @@ msgid "" "acquire`. Note that some of these behaviors of *timeout* differ from the " "implemented behaviors in :meth:`threading.RLock.acquire`." msgstr "" +"L'usage et les comportements de l'argument *timeout* sont les mêmes que " +"pour :meth:`Lock.acquire`. Notez que certains de ces comportements diffèrent " +"par rapport à ceux implémentés par :meth:`threading.RLock.acquire`." #: ../Doc/library/multiprocessing.rst:1277 msgid "" @@ -1414,6 +1944,13 @@ msgid "" "after the decrement the recursion level is still nonzero, the lock remains " "locked and owned by the calling process or thread." msgstr "" +"Libère un verrou, décrémentant son niveau de récursion. Si après la " +"décrémentation le niveau de récursion est zéro, réinitialise le verrou à un " +"état déverrouillé (n'appartenant à aucun processus ou fil d'exécution) et si " +"des processus/fils attendent que le verrou se déverrouillé, autorise un seul " +"d'entre-eux à continuer. Si après cette décrémentation le niveau de " +"récursion est toujours strictement positif, le verrou reste verrouillé et " +"propriété du processus/fil appelant." #: ../Doc/library/multiprocessing.rst:1285 msgid "" @@ -1423,16 +1960,24 @@ msgid "" "state. Note that the type of exception raised in this situation differs " "from the implemented behavior in :meth:`threading.RLock.release`." msgstr "" +"N'appelez cette méthode que si le processus ou fil d'exécution appelant est " +"propriétaire du verrou. Une :exc:`AssertionError` est levée si cette méthode " +"est appelée par un processus/fil autre que le propriétaire ou si le verrou " +"n'est pas verrouillé (possédé). Notez que le type d'exception levé dans " +"cette situation diffère du comportement de :meth:`threading.RLock.release`." #: ../Doc/library/multiprocessing.rst:1294 msgid "A semaphore object: a close analog of :class:`threading.Semaphore`." -msgstr "" +msgstr "Un objet sémaphore, proche analogue de :class:`threading.Semaphore`." #: ../Doc/library/multiprocessing.rst:1301 msgid "" "On Mac OS X, ``sem_timedwait`` is unsupported, so calling ``acquire()`` with " "a timeout will emulate that function's behavior using a sleeping loop." msgstr "" +"Sous Mac OS X, ``sem_timedwait`` n'est pas supporté, donc appeler " +"``acquire()`` avec un temps d'exécution limité émulera le comportement de " +"cette fonction en utilisant une boucle d'attente." #: ../Doc/library/multiprocessing.rst:1306 msgid "" @@ -1442,12 +1987,19 @@ msgid "" "acquire` or :meth:`Condition.wait` then the call will be immediately " "interrupted and :exc:`KeyboardInterrupt` will be raised." msgstr "" +"Si le signal *SIGINT* généré par un :kbd:`Ctrl-C` survient pendant que le " +"fil d'exécution principal est bloqué par un appel à :meth:`BoundedSemaphore." +"acquire`, :meth:`Lock.acquire`, :meth:`RLock.acquire`, :meth:`Semaphore." +"acquire`, :meth:`Condition.acquire` ou :meth:`Condition.wait`, l'appel sera " +"immédiatement interrompu et une :exc:`KeyboardInterrupt` sera levée." #: ../Doc/library/multiprocessing.rst:1312 msgid "" "This differs from the behaviour of :mod:`threading` where SIGINT will be " "ignored while the equivalent blocking calls are in progress." msgstr "" +"Cela diffère du comportement de :mod:`threading` où le *SIGINT* est ignoré " +"tant que les appels bloquants sont en cours." #: ../Doc/library/multiprocessing.rst:1317 msgid "" @@ -1457,16 +2009,23 @@ msgid "" "import it will result in an :exc:`ImportError`. See :issue:`3770` for " "additional information." msgstr "" +"Certaines des fonctionnalités de ce paquet requièrent une implémentation " +"fonctionnelle de sémaphores partagés sur le système hôte. Sans cela, le " +"module :mod:`multiprocessing.synchronize` sera désactivé, et les tentatives " +"de l'importer lèveront une :exc:`ImportError`. Voir :issue:`3770` pour plus " +"d'informations." #: ../Doc/library/multiprocessing.rst:1325 msgid "Shared :mod:`ctypes` Objects" -msgstr "" +msgstr "Objets :mod:`ctypes` partagés" #: ../Doc/library/multiprocessing.rst:1327 msgid "" "It is possible to create shared objects using shared memory which can be " "inherited by child processes." msgstr "" +"Il est possible de créer des objets partagés utilisant une mémoire partagée " +"pouvant être héritée par les processus enfants." #: ../Doc/library/multiprocessing.rst:1332 msgid "" @@ -1474,6 +2033,10 @@ msgid "" "return value is actually a synchronized wrapper for the object. The object " "itself can be accessed via the *value* attribute of a :class:`Value`." msgstr "" +"Renvoie un objet :mod:`ctypes` alloué depuis la mémoire partagée. Par défaut " +"la valeur de retour est en fait un *wrapper* synchronisé autour de l'objet. " +"L'objet en lui-même est accessible par l'attribut *value* de l'une :class:" +"`Value`." #: ../Doc/library/multiprocessing.rst:1336 #: ../Doc/library/multiprocessing.rst:1423 @@ -1482,6 +2045,9 @@ msgid "" "a ctypes type or a one character typecode of the kind used by the :mod:" "`array` module. *\\*args* is passed on to the constructor for the type." msgstr "" +"*typecode_or_type* détermine le type de l'objet renvoyé : il s'agit soit " +"d'un type *ctype* soit d'un caractère *typecode* tel qu'utilisé par le " +"module :mod:`array`. *\\*args* est passé au constructeur de ce type." #: ../Doc/library/multiprocessing.rst:1340 msgid "" @@ -1492,6 +2058,12 @@ msgid "" "be automatically protected by a lock, so it will not necessarily be " "\"process-safe\"." msgstr "" +"Si *lock* vaut ``True`` (par défaut), alors un nouveau verrou récursif est " +"créé pour synchroniser l'accès à la valeur. Si *lock* est un objet :class:" +"`Lock` ou :class:`RLock` alors il sera utilisé pour synchroniser l'accès à " +"la valeur. Si *lock* vaut ``False``, l'accès à l'objet renvoyé ne sera pas " +"automatiquement protégé par un verrou, donc il ne sera pas forcément " +"« *process-safe* »" #: ../Doc/library/multiprocessing.rst:1347 msgid "" @@ -1499,24 +2071,32 @@ msgid "" "if, for instance, you want to atomically increment a shared value it is " "insufficient to just do ::" msgstr "" +"Les opérations telles que ``+=`` qui impliquent une lecture et une écriture " +"ne sont pas atomique. Ainsi si vous souhaitez par exemple réaliser une " +"incrémentation atomique sur une valeur partagée, vous ne pouvez pas " +"simplement faire : ::" #: ../Doc/library/multiprocessing.rst:1353 msgid "" "Assuming the associated lock is recursive (which it is by default) you can " "instead do ::" msgstr "" +"En supposant que le verrou associé est récursif (ce qui est le cas par " +"défaut), vous pouvez à la place faire : ::" #: ../Doc/library/multiprocessing.rst:1359 #: ../Doc/library/multiprocessing.rst:1449 #: ../Doc/library/multiprocessing.rst:1464 msgid "Note that *lock* is a keyword-only argument." -msgstr "" +msgstr "Notez que *lock* est un argument *keyword-only*." #: ../Doc/library/multiprocessing.rst:1363 msgid "" "Return a ctypes array allocated from shared memory. By default the return " "value is actually a synchronized wrapper for the array." msgstr "" +"Renvoie un tableau *ctypes* alloué depuis la mémoire partagée. Par défaut la " +"valeur de retour est en fait un *wrapper* synchronisé autour du tableau." #: ../Doc/library/multiprocessing.rst:1366 msgid "" @@ -1527,6 +2107,12 @@ msgid "" "zeroed. Otherwise, *size_or_initializer* is a sequence which is used to " "initialize the array and whose length determines the length of the array." msgstr "" +"*typecode_or_type* détermine le type des éléments du tableau renvoyé : il " +"s'agit soit d'un type *ctype* soit d'un caractère *typecode* tel qu'utilisé " +"par le module :mod:`array`. Si *size_or_initialize* est un entier, alors il " +"détermine la taille du tableau, et le tableau sera initialisé avec des " +"zéros. Autrement, *size*or_initializer* est une séquence qui sera utilisée " +"pour initialiser le tableau et dont la taille détermine celle du tableau." #: ../Doc/library/multiprocessing.rst:1373 msgid "" @@ -1537,20 +2123,29 @@ msgid "" "automatically protected by a lock, so it will not necessarily be \"process-" "safe\"." msgstr "" +"Si *lock* vaut ``True`` (par défaut), alors un nouveau verrou est créé pour " +"synchroniser l'accès à la valeur. Si *lock* est un objet :class:`Lock` ou :" +"class:`RLock` alors il sera utilisé pour synchroniser l'accès à la valeur. " +"Si *lock* vaut ``False``, l'accès à l'objet renvoyé ne sera pas " +"automatiquement protégé par un verrou, donc il ne sera pas forcément " +"« *process-safe* »" #: ../Doc/library/multiprocessing.rst:1380 msgid "Note that *lock* is a keyword only argument." -msgstr "" +msgstr "Notez que *lock* est un argument *keyword-only*." #: ../Doc/library/multiprocessing.rst:1382 msgid "" "Note that an array of :data:`ctypes.c_char` has *value* and *raw* attributes " "which allow one to use it to store and retrieve strings." msgstr "" +"Notez qu'un tableau de :data:`ctypes.c_char` a ses attributs *value* et " +"*raw* qui permettent de l'utiliser pour stocker et récupérer des chaînes de " +"caractères." #: ../Doc/library/multiprocessing.rst:1387 msgid "The :mod:`multiprocessing.sharedctypes` module" -msgstr "" +msgstr "Le module :mod:`multiprocessing.sharedctypes`" #: ../Doc/library/multiprocessing.rst:1392 msgid "" @@ -1558,6 +2153,9 @@ msgid "" "allocating :mod:`ctypes` objects from shared memory which can be inherited " "by child processes." msgstr "" +"Le module :mod:`multiprocessing.sharedctypes` fournit des fonctions pour " +"allouer des objets :mod:`ctypes` depuis la mémoire partagée, qui peuvent " +"être hérités par les processus fils." #: ../Doc/library/multiprocessing.rst:1398 msgid "" @@ -1567,10 +2165,15 @@ msgid "" "second process and trying to dereference the pointer from the second process " "may cause a crash." msgstr "" +"Bien qu'il soit possible de stocker un pointeur dans une mémoire partagée, " +"souvenez-vous qu'il référencera un emplacement dans l'espace d'adressage " +"d'un processus particulier. Ainsi, le pointeur risque d'être invalide dans " +"le contexte d'un second processus et déréférencer le pointeur depuis ce " +"second processus pourrait causer un crash." #: ../Doc/library/multiprocessing.rst:1406 msgid "Return a ctypes array allocated from shared memory." -msgstr "" +msgstr "Renvoie un tableau *ctypes* alloué depuis la mémoire partagée." #: ../Doc/library/multiprocessing.rst:1408 msgid "" @@ -1581,6 +2184,13 @@ msgid "" "zeroed. Otherwise *size_or_initializer* is a sequence which is used to " "initialize the array and whose length determines the length of the array." msgstr "" +"*typecode_or_type* détermine le type des éléments du tableau renvoyé : il " +"s'agit soit d'un type *ctype* soit d'un caractère codant le type des " +"éléments du tableau (*typecode*) tel qu'utilisé par le module :mod:`array`. " +"Si *size_or_initialize* est un entier, alors il détermine la taille du " +"tableau, et le tableau sera initialisé avec des zéros. Autrement, " +"*size*or_initializer* est une séquence qui sera utilisée pour initialiser le " +"tableau et dont la taille détermine celle du tableau." #: ../Doc/library/multiprocessing.rst:1415 msgid "" @@ -1588,10 +2198,13 @@ msgid "" "func:`Array` instead to make sure that access is automatically synchronized " "using a lock." msgstr "" +"Notez que définir ou récupérer un élément est potentiellement non atomique " +"-- utilisez plutôt :func:`Array` pour vous assurer de synchroniser " +"automatiquement avec un verrou." #: ../Doc/library/multiprocessing.rst:1421 msgid "Return a ctypes object allocated from shared memory." -msgstr "" +msgstr "Renvoie un objet *ctypes* alloué depuis la mémoire partagée." #: ../Doc/library/multiprocessing.rst:1427 msgid "" @@ -1599,6 +2212,9 @@ msgid "" "func:`Value` instead to make sure that access is automatically synchronized " "using a lock." msgstr "" +"Notez que définir ou récupérer un élément est potentiellement non atomique " +"-- utilisez plutôt :func:`Value` pour vous assurer de synchroniser " +"automatiquement avec un verrou." #: ../Doc/library/multiprocessing.rst:1431 msgid "" @@ -1606,6 +2222,9 @@ msgid "" "attributes which allow one to use it to store and retrieve strings -- see " "documentation for :mod:`ctypes`." msgstr "" +"Notez qu'un tableau de :data:`ctypes.c_char` a ses attributs *value* et " +"*raw* qui permettent de l'utiliser pour stocker et récupérer des chaînes de " +"caractères -- voir la documentation de :mod:`ctypes`." #: ../Doc/library/multiprocessing.rst:1437 msgid "" @@ -1613,6 +2232,9 @@ msgid "" "process-safe synchronization wrapper may be returned instead of a raw ctypes " "array." msgstr "" +"Identique à :func:`RawArray` à l'exception que suivant la valeur de *lock* " +"un *wrapper* de synchronisation *process-safe* pourra être renvoyé à la " +"place d'un tableau *ctypes* brut." #: ../Doc/library/multiprocessing.rst:1441 #: ../Doc/library/multiprocessing.rst:1457 @@ -1624,6 +2246,12 @@ msgid "" "returned object will not be automatically protected by a lock, so it will " "not necessarily be \"process-safe\"." msgstr "" +"Si *lock* vaut ``True`` (par défaut), alors un nouveau verrou est créé pour " +"synchroniser l'accès à la valeur. Si *lock* est un objet :class:" +"`~multiprocessing.Lock` ou :class:`~multiprocessing.RLock` alors il sera " +"utilisé pour synchroniser l'accès à la valeur. Si *lock* vaut ``False``, " +"l'accès à l'objet renvoyé ne sera pas automatiquement protégé par un verrou, " +"donc il ne sera pas forcément « *process-safe* »" #: ../Doc/library/multiprocessing.rst:1453 msgid "" @@ -1631,12 +2259,17 @@ msgid "" "process-safe synchronization wrapper may be returned instead of a raw ctypes " "object." msgstr "" +"Identique à :func:`RawValue` à l'exception que suivant la valeur de *lock* " +"un *wrapper* de synchronisation *process-safe* pourra être renvoyé à la " +"place d'un objet *ctypes* brut." #: ../Doc/library/multiprocessing.rst:1468 msgid "" "Return a ctypes object allocated from shared memory which is a copy of the " "ctypes object *obj*." msgstr "" +"Renvoie un objet *ctypes* alloué depuis la mémoire partagée, qui est une " +"copie de l'objet *ctypes* *obj*." #: ../Doc/library/multiprocessing.rst:1473 msgid "" @@ -1644,6 +2277,9 @@ msgid "" "to synchronize access. If *lock* is ``None`` (the default) then a :class:" "`multiprocessing.RLock` object is created automatically." msgstr "" +"Renvoie un *wrapper* *process-safe* autour de l'objet *ctypes* qui utilise " +"*lock* pour synchroniser l'accès. Si *lock* est ``None`` (par défaut), un " +"objet :class:`multiprocessing.RLock` est créé automatiquement." #: ../Doc/library/multiprocessing.rst:1477 msgid "" @@ -1651,16 +2287,22 @@ msgid "" "object it wraps: :meth:`get_obj` returns the wrapped object and :meth:" "`get_lock` returns the lock object used for synchronization." msgstr "" +"Un *wrapper* synchronisé aura deux méthodes en plus de celles de l'objet " +"qu'il enveloppe : :meth:`get_obj` renvoie l'objet *wrappé* et :meth:" +"`get_lock` renvoie le verrou utilisé pour la synchronisation." #: ../Doc/library/multiprocessing.rst:1481 msgid "" "Note that accessing the ctypes object through the wrapper can be a lot " "slower than accessing the raw ctypes object." msgstr "" +"Notez qu'accéder à l'objet *ctypes* à travers le *wrapper* peut s'avérer " +"beaucoup plus lent qu'accéder directement à l'objet *ctypes* brut." #: ../Doc/library/multiprocessing.rst:1484 msgid "Synchronized objects support the :term:`context manager` protocol." msgstr "" +"Les objets synchronisés supportent le protocole :term:`context manager`." #: ../Doc/library/multiprocessing.rst:1488 msgid "" @@ -1668,6 +2310,10 @@ msgid "" "shared memory with the normal ctypes syntax. (In the table ``MyStruct`` is " "some subclass of :class:`ctypes.Structure`.)" msgstr "" +"Le tableau ci-dessous compare la syntaxe de création des objets *ctypes* " +"partagés depuis une mémoire partagée avec la syntaxe normale *ctypes*. (Dans " +"le tableau, ``MyStruct`` est une sous-classe quelconque de :class:`ctypes." +"Structure`.)" #: ../Doc/library/multiprocessing.rst:1493 msgid "ctypes" @@ -1675,11 +2321,11 @@ msgstr "ctypes" #: ../Doc/library/multiprocessing.rst:1493 msgid "sharedctypes using type" -msgstr "" +msgstr "*sharedctypes* utilisant un type" #: ../Doc/library/multiprocessing.rst:1493 msgid "sharedctypes using typecode" -msgstr "" +msgstr "*sharedctypes* utilisant un *typecode*" #: ../Doc/library/multiprocessing.rst:1495 msgid "c_double(2.4)" @@ -1730,14 +2376,16 @@ msgid "" "Below is an example where a number of ctypes objects are modified by a child " "process::" msgstr "" +"Ci-dessous un exemple où des objets *ctypes* sont modifiés par un processus " +"fils ::" #: ../Doc/library/multiprocessing.rst:1540 msgid "The results printed are ::" -msgstr "" +msgstr "Les résultats affichés sont ::" #: ../Doc/library/multiprocessing.rst:1553 msgid "Managers" -msgstr "" +msgstr "Gestionnaires" #: ../Doc/library/multiprocessing.rst:1555 msgid "" @@ -1747,6 +2395,12 @@ msgid "" "*shared objects*. Other processes can access the shared objects by using " "proxies." msgstr "" +"Les gestionnaires fournissent un moyen de créer des données qui peuvent être " +"partagées entre les différents processus, incluant le partage à travers le " +"réseau entre des processus tournant sur des machines différentes. Un objet " +"gestionnaire contrôle un processus serveur qui gère les *shared objects*. " +"Les autres processus peuvent accéder aux objets partagés à l'aide de " +"mandataires." #: ../Doc/library/multiprocessing.rst:1563 msgid "" @@ -1755,6 +2409,11 @@ msgid "" "manager object corresponds to a spawned child process and has methods which " "will create shared objects and return corresponding proxies." msgstr "" +"Renvoie un objet :class:`~multiprocessing.managers.SyncManager` démarré qui " +"peut être utilisé pour partager des objets entre les processus. L'objet " +"gestionnaire renvoyé correspond à un processus enfant instancié et possède " +"des méthodes pour créer des objets partagés et renvoyer les mandataires " +"correspondants." #: ../Doc/library/multiprocessing.rst:1571 msgid "" @@ -1762,10 +2421,13 @@ msgid "" "their parent process exits. The manager classes are defined in the :mod:" "`multiprocessing.managers` module:" msgstr "" +"Les processus gestionnaires seront arrêtés dès qu'ils seront collectés par " +"le ramasse-miettes ou que leur processus parent se terminera. Les classes " +"gestionnaires sont définies dans le module :mod:`multiprocessing.managers` :" #: ../Doc/library/multiprocessing.rst:1577 msgid "Create a BaseManager object." -msgstr "" +msgstr "Crée un objet *BaseManager*." #: ../Doc/library/multiprocessing.rst:1579 msgid "" @@ -1773,12 +2435,18 @@ msgid "" "serve_forever()`` to ensure that the manager object refers to a started " "manager process." msgstr "" +"Une fois créé il faut appeler :meth:`start` ou ``get_server()." +"serve_forever()`` pour assurer que l'objet gestionnaire référence un " +"processus gestionnaire démarré." #: ../Doc/library/multiprocessing.rst:1582 msgid "" "*address* is the address on which the manager process listens for new " "connections. If *address* is ``None`` then an arbitrary one is chosen." msgstr "" +"*address* est l'adresse sur laquelle le processus gestionnaire écoute pour " +"de nouvelles connexions. Si *address* est ``None``, une adresse arbitraire " +"est choisie." #: ../Doc/library/multiprocessing.rst:1585 msgid "" @@ -1787,12 +2455,19 @@ msgid "" "then ``current_process().authkey`` is used. Otherwise *authkey* is used and " "it must be a byte string." msgstr "" +"*authkey* est la clé d'authentification qui sera utilisée pour vérifier la " +"validité des connexions entrantes sur le processus serveur. Si *authkey* est " +"``None`` alors ``current_process().authkey`` est utilisée. Autrement " +"*authkey* est utilisée et doit être une chaîne d'octets." #: ../Doc/library/multiprocessing.rst:1592 msgid "" "Start a subprocess to start the manager. If *initializer* is not ``None`` " "then the subprocess will call ``initializer(*initargs)`` when it starts." msgstr "" +"Démarre un sous-processus pour démarrer le gestionnaire. Si *initializer* " +"n'est pas ``None`` alors le sous-processus appellera " +"``initializer(*initargs)`` quand il démarrera." #: ../Doc/library/multiprocessing.rst:1597 msgid "" @@ -1800,36 +2475,47 @@ msgid "" "the control of the Manager. The :class:`Server` object supports the :meth:" "`serve_forever` method::" msgstr "" +"Renvoie un objet :class:`Server` qui représente le serveur sous le contrôle " +"du gestionnaire. L'objet :class:`Server` supporte la méthode :meth:" +"`serve_forever` ::" #: ../Doc/library/multiprocessing.rst:1606 msgid ":class:`Server` additionally has an :attr:`address` attribute." -msgstr "" +msgstr ":class:`Server` possède en plus un attribut :attr:`address`." #: ../Doc/library/multiprocessing.rst:1610 msgid "Connect a local manager object to a remote manager process::" msgstr "" +"Connecte un objet gestionnaire local au processus gestionnaire distant ::" #: ../Doc/library/multiprocessing.rst:1618 msgid "" "Stop the process used by the manager. This is only available if :meth:" "`start` has been used to start the server process." msgstr "" +"Stoppe le processus utilisé par le gestionnaire. Cela est disponible " +"uniquement si :meth:`start` a été utilisée pour démarrer le processus " +"serveur." #: ../Doc/library/multiprocessing.rst:1621 msgid "This can be called multiple times." -msgstr "" +msgstr "Cette méthode peut être appelée plusieurs fois." #: ../Doc/library/multiprocessing.rst:1625 msgid "" "A classmethod which can be used for registering a type or callable with the " "manager class." msgstr "" +"Une méthode de classe qui peut être utilisée pour enregistrer un type ou un " +"appelable avec la classe gestionnaire." #: ../Doc/library/multiprocessing.rst:1628 msgid "" "*typeid* is a \"type identifier\" which is used to identify a particular " "type of shared object. This must be a string." msgstr "" +"*typeif* est un « *type identifier* » qui est utilisé pour identifier un " +"type particulier d'objet partagé. Cela doit être une chaîne de caractères." #: ../Doc/library/multiprocessing.rst:1631 msgid "" @@ -1838,6 +2524,11 @@ msgid "" "the :meth:`connect` method, or if the *create_method* argument is ``False`` " "then this can be left as ``None``." msgstr "" +"*callable* est un objet appelable utilisé pour créer les objets avec cet " +"identifiant de type. Si une instance de gestionnaire prévoit de se connecter " +"au serveur en utilisant sa méthode :meth:`connect` ou si l'argument " +"*create_method* vaut ``False`` alors cet argument peut être laissé à " +"``None``." #: ../Doc/library/multiprocessing.rst:1637 msgid "" @@ -1845,6 +2536,9 @@ msgid "" "proxies for shared objects with this *typeid*. If ``None`` then a proxy " "class is created automatically." msgstr "" +"*proxytype* est une sous-classe de :class:`BaseProxy` utilisée pour créer " +"des mandataires autour des objets partagés avec ce *typeid*. S'il est " +"``None``, une classe mandataire sera créée automatiquement." #: ../Doc/library/multiprocessing.rst:1641 msgid "" @@ -1856,6 +2550,14 @@ msgid "" "\"public method\" means any attribute which has a :meth:`~object.__call__` " "method and whose name does not begin with ``'_'``.)" msgstr "" +"*exposed* est utilisé pour préciser une séquence de noms de méthodes dont " +"les mandataires pour ce *typeid* doivent être autorisés à accéder via :meth:" +"`BaseProxy._callmethod`. (Si *exposed* est ``None`` alors :attr:`proxytype." +"_exposed_` est utilisé à la place s'il existe.) Dans le cas où aucune liste " +"*exposed* n'est précisée, toutes les « méthodes publiques » de l'objet " +"partagé seront accessibles. (Ici une « méthode publique » signifie n'importe " +"quel attribut qui possède une méthode :meth:`~object.__call__` et dont le " +"nom ne commence pas par un ``'_'``.)" #: ../Doc/library/multiprocessing.rst:1650 msgid "" @@ -1866,6 +2568,13 @@ msgid "" "not a key of this mapping or if the mapping is ``None`` then the object " "returned by the method will be copied by value." msgstr "" +"*method_to_typeid* est un tableau associatif utilisé pour préciser le type " +"de retour de ces méthodes exposées qui doivent renvoyer un mandataire. Il " +"associé un nom de méthode à une chaîne de caractères *typeid*. (Si " +"*method_to_typeid* est ``None``, :attr:`proxytype._method_to_typeid_` est " +"utilisé à la place s'il existe). Si le nom d'une méthode n'est pas une clé " +"de ce tableau associatif ou si la valeur associée est ``None``, l'objet " +"renvoyé par la méthode sera une copie de la valeur." #: ../Doc/library/multiprocessing.rst:1657 msgid "" @@ -1873,14 +2582,20 @@ msgid "" "*typeid* which can be used to tell the server process to create a new shared " "object and return a proxy for it. By default it is ``True``." msgstr "" +"*create_method* détermine si une méthode devrait être créée avec le nom " +"*typeid*, qui peut être utilisée pour indiquer au processus serveur de créer " +"un nouvel objet partagé et d'en renvoyer un mandataire. a valeur par défaut " +"est ``True``." #: ../Doc/library/multiprocessing.rst:1661 msgid ":class:`BaseManager` instances also have one read-only property:" msgstr "" +"Les instances de :class:`BaseManager` ont aussi une propriété en lecture " +"seule :" #: ../Doc/library/multiprocessing.rst:1665 msgid "The address used by the manager." -msgstr "" +msgstr "L'adresse utilisée par le gestionnaire." #: ../Doc/library/multiprocessing.rst:1667 msgid "" @@ -1889,12 +2604,19 @@ msgid "" "process (if it has not already started) and then returns the manager " "object. :meth:`~contextmanager.__exit__` calls :meth:`shutdown`." msgstr "" +"Les objets gestionnaires supportent le protocole des gestionnaires de " +"contexte -- voir :ref:`typecontextmanager`. :meth:`~contextmanager." +"__enter__` démarre le processus serveur (s'il n'a pas déjà été démarré) et " +"renvoie l'objet gestionnaire. :meth:`~contextmanager.__exit__` appelle :meth:" +"`shutdown`." #: ../Doc/library/multiprocessing.rst:1673 msgid "" "In previous versions :meth:`~contextmanager.__enter__` did not start the " "manager's server process if it was not already started." msgstr "" +"Dans les versions précédentes :meth:`~contextmanager.__enter__` ne démarrait " +"pas le processus serveur du gestionnaire s'il n'était pas déjà démarré." #: ../Doc/library/multiprocessing.rst:1678 msgid "" @@ -1902,6 +2624,9 @@ msgid "" "of processes. Objects of this type are returned by :func:`multiprocessing." "Manager`." msgstr "" +"Une sous-classe de :class:`BaseManager` qui peut être utilisée pour la " +"synchronisation entre processus. Des objets de ce type sont renvoyés par :" +"func:`multiprocessing.Manager`." #: ../Doc/library/multiprocessing.rst:1682 msgid "It also supports creation of shared lists and dictionaries." @@ -1911,63 +2636,85 @@ msgstr "" msgid "" "Create a shared :class:`threading.Barrier` object and return a proxy for it." msgstr "" +"Crée un objet :class:`threading.Barrier` partagé et renvoie un mandataire " +"pour cet objet." #: ../Doc/library/multiprocessing.rst:1693 msgid "" "Create a shared :class:`threading.BoundedSemaphore` object and return a " "proxy for it." msgstr "" +"Crée un objet :class:`threading.BoundedSemaphore` partagé et renvoie un " +"mandataire pour cet objet." #: ../Doc/library/multiprocessing.rst:1698 msgid "" "Create a shared :class:`threading.Condition` object and return a proxy for " "it." msgstr "" +"Crée un objet :class:`threading.Condition` partagé et renvoie un mandataire " +"pour cet objet." #: ../Doc/library/multiprocessing.rst:1701 msgid "" "If *lock* is supplied then it should be a proxy for a :class:`threading." "Lock` or :class:`threading.RLock` object." msgstr "" +"Si *lock* est fourni alors il doit être un mandataire pour un objet :class:" +"`threading.Lock` ou :class:`threading.RLock`." #: ../Doc/library/multiprocessing.rst:1709 msgid "" "Create a shared :class:`threading.Event` object and return a proxy for it." msgstr "" +"Crée un objet :class:`threading.Event` partagé et renvoie un mandataire pour " +"cet objet." #: ../Doc/library/multiprocessing.rst:1713 msgid "" "Create a shared :class:`threading.Lock` object and return a proxy for it." msgstr "" +"Crée un objet :class:`threading.Lock` partagé et renvoie un mandataire pour " +"cet objet." #: ../Doc/library/multiprocessing.rst:1717 msgid "Create a shared :class:`Namespace` object and return a proxy for it." msgstr "" +"Crée un objet :class:`Namespace` partagé et renvoie un mandataire pour cet " +"objet." #: ../Doc/library/multiprocessing.rst:1721 msgid "Create a shared :class:`queue.Queue` object and return a proxy for it." msgstr "" +"Crée un objet :class:`queue.Queue` partagé et renvoie un mandataire pour cet " +"objet." #: ../Doc/library/multiprocessing.rst:1725 msgid "" "Create a shared :class:`threading.RLock` object and return a proxy for it." msgstr "" +"Crée un objet :class:`threading.RLock` partagé et renvoie un mandataire pour " +"cet objet." #: ../Doc/library/multiprocessing.rst:1729 msgid "" "Create a shared :class:`threading.Semaphore` object and return a proxy for " "it." msgstr "" +"Crée un objet :class:`threading.Semaphore` partagé et renvoie un mandataire " +"pour cet objet." #: ../Doc/library/multiprocessing.rst:1734 msgid "Create an array and return a proxy for it." -msgstr "" +msgstr "Crée un tableau et renvoie un mandataire pour cet objet." #: ../Doc/library/multiprocessing.rst:1738 msgid "" "Create an object with a writable ``value`` attribute and return a proxy for " "it." msgstr "" +"Crée un objet avec un attribut ``value`` accessible en écriture et renvoie " +"un mandataire pour cet objet." #: ../Doc/library/multiprocessing.rst:1745 msgid "Create a shared ``dict`` object and return a proxy for it." @@ -1987,13 +2734,16 @@ msgstr "" #: ../Doc/library/multiprocessing.rst:1773 msgid "A type that can register with :class:`SyncManager`." -msgstr "" +msgstr "Un type qui peut être enregistré avec :class:`SyncManager`." #: ../Doc/library/multiprocessing.rst:1775 msgid "" "A namespace object has no public methods, but does have writable attributes. " "Its representation shows the values of its attributes." msgstr "" +"Un espace de nommage n'a pas de méthodes publiques, mais possède des " +"attributs accessibles en écriture. Sa représentation montre les valeurs de " +"ses attributs." #: ../Doc/library/multiprocessing.rst:1778 msgid "" @@ -2001,10 +2751,12 @@ msgid "" "with ``'_'`` will be an attribute of the proxy and not an attribute of the " "referent:" msgstr "" +"Cependant, en utilisant un mandataire pour un espace de nommage, un attribut " +"débutant par ``'_'`` est un attribut du mandataire et non de l'objet cible :" #: ../Doc/library/multiprocessing.rst:1794 msgid "Customized managers" -msgstr "" +msgstr "Gestionnaires personnalisés" #: ../Doc/library/multiprocessing.rst:1796 msgid "" @@ -2012,40 +2764,51 @@ msgid "" "and uses the :meth:`~BaseManager.register` classmethod to register new types " "or callables with the manager class. For example::" msgstr "" +"Pour créer son propre gestionnaire, il faut créer une sous-classe de :class:" +"`BaseManager` et utiliser la méthode de classe :meth:`~BaseManager.register` " +"pour enregistrer de nouveaux types ou *callables* au gestionnaire. Par " +"exemple ::" #: ../Doc/library/multiprocessing.rst:1821 msgid "Using a remote manager" -msgstr "" +msgstr "Utiliser un gestionnaire distant" #: ../Doc/library/multiprocessing.rst:1823 msgid "" "It is possible to run a manager server on one machine and have clients use " "it from other machines (assuming that the firewalls involved allow it)." msgstr "" +"Il est possible de lancer un serveur gestionnaire sur une machine et d'avoir " +"des clients l'utilisant sur d'autres machines (en supposant que les pare-" +"feus impliqués l'autorisent)." #: ../Doc/library/multiprocessing.rst:1826 msgid "" "Running the following commands creates a server for a single shared queue " "which remote clients can access::" msgstr "" +"Exécuter les commandes suivantes crée un serveur pour une simple queue " +"partagée à laquelle des clients distants peuvent accéder ::" #: ../Doc/library/multiprocessing.rst:1838 msgid "One client can access the server as follows::" -msgstr "" +msgstr "Un client peut accéder au serveur comme suit ::" #: ../Doc/library/multiprocessing.rst:1848 msgid "Another client can also use it::" -msgstr "" +msgstr "Un autre client peut aussi l'utiliser ::" #: ../Doc/library/multiprocessing.rst:1859 msgid "" "Local processes can also access that queue, using the code from above on the " "client to access it remotely::" msgstr "" +"Les processus locaux peuvent aussi accéder à cette queue, utilisant le code " +"précédent sur le client pour y accéder à distance ::" #: ../Doc/library/multiprocessing.rst:1882 msgid "Proxy Objects" -msgstr "" +msgstr "Objets mandataires" #: ../Doc/library/multiprocessing.rst:1884 msgid "" @@ -2053,6 +2816,10 @@ msgid "" "(presumably) in a different process. The shared object is said to be the " "*referent* of the proxy. Multiple proxy objects may have the same referent." msgstr "" +"Un mandataire est un objet qui *référence* un objet partagé appartenant " +"(supposément) à un processus différent. L'objet partagé est appelé le " +"*référent* du mandataire. Plusieurs mandataires peuvent avoir un même " +"référent." #: ../Doc/library/multiprocessing.rst:1888 msgid "" @@ -2068,6 +2835,8 @@ msgid "" "of the referent, whereas applying :func:`repr` will return the " "representation of the proxy." msgstr "" +"Notez qu'appliquer :func:`str` à un mandataire renvoie la représentation du " +"référent, alors que :func:`repr` renvoie celle du mandataire." #: ../Doc/library/multiprocessing.rst:1911 msgid "" @@ -2083,32 +2852,41 @@ msgid "" "The proxy types in :mod:`multiprocessing` do nothing to support comparisons " "by value. So, for instance, we have:" msgstr "" +"Les types de mandataires de :mod:`multiprocessing` n'implémentent rien pour " +"la comparaison par valeurs. Par exemple, on a :" #: ../Doc/library/multiprocessing.rst:1937 msgid "" "One should just use a copy of the referent instead when making comparisons." msgstr "" +"Il faut à la place simplement utiliser une copie du référent pour faire les " +"comparaisons." #: ../Doc/library/multiprocessing.rst:1941 msgid "Proxy objects are instances of subclasses of :class:`BaseProxy`." msgstr "" +"Les objets mandataires sont des instances de sous-classes de :class:" +"`BaseProxy`." #: ../Doc/library/multiprocessing.rst:1945 msgid "Call and return the result of a method of the proxy's referent." msgstr "" +"Appelle et renvoie le résultat d'une méthode du référent du mandataire." #: ../Doc/library/multiprocessing.rst:1947 msgid "" "If ``proxy`` is a proxy whose referent is ``obj`` then the expression ::" msgstr "" +"Si ``proxy`` est un mandataire sont le référent est ``obj``, alors " +"l'expression ::" #: ../Doc/library/multiprocessing.rst:1951 msgid "will evaluate the expression ::" -msgstr "" +msgstr "s'évalue comme ::" #: ../Doc/library/multiprocessing.rst:1955 msgid "in the manager's process." -msgstr "" +msgstr "dans le processus du gestionnaire." #: ../Doc/library/multiprocessing.rst:1957 msgid "" @@ -2116,6 +2894,9 @@ msgid "" "new shared object -- see documentation for the *method_to_typeid* argument " "of :meth:`BaseManager.register`." msgstr "" +"La valeur renvoyée sera une copie du résultat de l'appel ou un mandataire " +"sur un nouvel objet partagé -- voir l'a documentation de l'argument " +"*method_to_typeid* de :meth:`BaseManager.register`." #: ../Doc/library/multiprocessing.rst:1961 msgid "" @@ -2124,58 +2905,71 @@ msgid "" "then this is converted into a :exc:`RemoteError` exception and is raised by :" "meth:`_callmethod`." msgstr "" +"Si une exception est levée par l'appel, elle est relayée par :meth:" +"`_callmethod`. Si une autre exception est levée par le processus du " +"gestionnaire, elle est convertie en une :exc:`RemoteError` et est levée par :" +"meth:`_callmethod`." #: ../Doc/library/multiprocessing.rst:1966 msgid "" "Note in particular that an exception will be raised if *methodname* has not " "been *exposed*." msgstr "" +"Notez en particulier qu'une exception est levée si *methodname* n'est pas " +"*exposée*." #: ../Doc/library/multiprocessing.rst:1969 msgid "An example of the usage of :meth:`_callmethod`:" -msgstr "" +msgstr "Un exemple d'utilisation de :meth:`_callmethod` :" #: ../Doc/library/multiprocessing.rst:1985 msgid "Return a copy of the referent." -msgstr "" +msgstr "Renvoie une copie du référent." #: ../Doc/library/multiprocessing.rst:1987 msgid "If the referent is unpicklable then this will raise an exception." -msgstr "" +msgstr "Si le référent n'est pas sérialisable, une exception est levée." #: ../Doc/library/multiprocessing.rst:1991 msgid "Return a representation of the proxy object." -msgstr "" +msgstr "Renvoie la représentation de l'objet mandataire." #: ../Doc/library/multiprocessing.rst:1995 msgid "Return the representation of the referent." -msgstr "" +msgstr "Renvoie la représentation du référent." #: ../Doc/library/multiprocessing.rst:1999 msgid "Cleanup" -msgstr "" +msgstr "Nettoyage" #: ../Doc/library/multiprocessing.rst:2001 msgid "" "A proxy object uses a weakref callback so that when it gets garbage " "collected it deregisters itself from the manager which owns its referent." msgstr "" +"Un mandataire utilise un *callback* sous une référence faible de façon à ce " +"que quand il est collecté par le ramasse-miettes, il se désenregistre auprès " +"du gestionnaire qui possède le référent." #: ../Doc/library/multiprocessing.rst:2004 msgid "" "A shared object gets deleted from the manager process when there are no " "longer any proxies referring to it." msgstr "" +"Un objet partagé est supprimé par le processus gestionnaire quand plus aucun " +"mandataire ne le référence." #: ../Doc/library/multiprocessing.rst:2009 msgid "Process Pools" -msgstr "" +msgstr "Bassins de processus" #: ../Doc/library/multiprocessing.rst:2014 msgid "" "One can create a pool of processes which will carry out tasks submitted to " "it with the :class:`Pool` class." msgstr "" +"On peut créer un bassin de processus qui exécuteront les tâches qui lui " +"seront soumises avec la classe :class:`Pool`." #: ../Doc/library/multiprocessing.rst:2019 msgid "" @@ -2183,18 +2977,26 @@ msgid "" "jobs can be submitted. It supports asynchronous results with timeouts and " "callbacks and has a parallel map implementation." msgstr "" +"Un objet *process pool* qui contrôle un bassin de processus *workers* auquel " +"sont soumises des tâches. Il supporte les résultats asynchrones avec des " +"*timeouts* et des *callabacks* et possède une implémentation parallèle de " +"*map*." #: ../Doc/library/multiprocessing.rst:2023 msgid "" "*processes* is the number of worker processes to use. If *processes* is " "``None`` then the number returned by :func:`os.cpu_count` is used." msgstr "" +"*processes* est le nombre de processus *workers* à utiliser. Si *processes* " +"est ``None``, le nombre renvoyé par :func:`os.cpu_count` est utilisé." #: ../Doc/library/multiprocessing.rst:2026 msgid "" "If *initializer* is not ``None`` then each worker process will call " "``initializer(*initargs)`` when it starts." msgstr "" +"Si *initializer* n'est pas ``None``, chaque processus *worker* appellera " +"``initializer(*initargs)`` en démarrant." #: ../Doc/library/multiprocessing.rst:2029 msgid "" @@ -2203,6 +3005,11 @@ msgid "" "unused resources to be freed. The default *maxtasksperchild* is ``None``, " "which means worker processes will live as long as the pool." msgstr "" +"*maxtasksperchild* est le nombre de tâches qu'un processus *worker* peut " +"accomplir avant de se fermer et d'être remplacé par un *worker* frais, pour " +"permettre aux ressources inutilisées d'être libérées. Par défaut " +"*maxtasksperchild* est ``None``, ce qui signifie que le *worker* vit aussi " +"longtemps que le bassin." #: ../Doc/library/multiprocessing.rst:2034 msgid "" @@ -2211,16 +3018,22 @@ msgid "" "`multiprocessing.Pool` or the :meth:`Pool` method of a context object. In " "both cases *context* is set appropriately." msgstr "" +"*context* peut être utilisé pour préciser le contexte utilisé pour démarrer " +"les processus *workers*. Habituellement un bassin est créé à l'aide de la " +"fonction :func:`multiprocessing.Pool` ou de la méthode :meth:`Pool` d'un " +"objet de contexte. Dans les deux cas *context* est réglé de façon appropriée." #: ../Doc/library/multiprocessing.rst:2040 msgid "" "Note that the methods of the pool object should only be called by the " "process which created the pool." msgstr "" +"Notez que les méthodes de l'objet *pool* ne doivent être appelées que par le " +"processus qui l'a créé." #: ../Doc/library/multiprocessing.rst:2043 msgid "*maxtasksperchild*" -msgstr "" +msgstr "*maxtasksperchild*" #: ../Doc/library/multiprocessing.rst:2046 msgid "*context*" @@ -2236,6 +3049,14 @@ msgid "" "one. The *maxtasksperchild* argument to the :class:`Pool` exposes this " "ability to the end user." msgstr "" +"Les processus *workers* à l'intérieur d'une :class:`Pool` vivent par défaut " +"aussi longtemps que la queue de travail du bassin. Un modèle fréquent chez " +"d'autres systèmes (tels qu'Apache, *mod_wsgi*, etc.) pour libérer les " +"ressources détenues par les *workers* est d'autoriser un *worker* dans le " +"bassin à accomplir seulement une certaine charge de travail avant de se " +"fermer, se retrouvant nettoyé et remplacé par un nouvelle processus " +"fraîchement lancé. L'argument *maxtasksperchild* de :class:`Pool` expose " +"cette fonctionnalité à l'utilisateur final." #: ../Doc/library/multiprocessing.rst:2061 msgid "" @@ -2244,10 +3065,15 @@ msgid "" "suited for performing work in parallel. Additionally, *func* is only " "executed in one of the workers of the pool." msgstr "" +"Appelle *func* avec les arguments *args* et les arguments nommés *kwds*. " +"Bloque jusqu'à ce que que le résultat soit prêt. En raison de ce blocage, :" +"meth:`apply_async` est préférable pour exécuter du travail en parallèle. De " +"plus, *func* est exécutée sur un seul des *workers* du bassin." #: ../Doc/library/multiprocessing.rst:2068 msgid "A variant of the :meth:`apply` method which returns a result object." msgstr "" +"Une variante de la méthode :meth:`apply` qui renvoie un objet résultat." #: ../Doc/library/multiprocessing.rst:2070 #: ../Doc/library/multiprocessing.rst:2095 @@ -2257,6 +3083,10 @@ msgid "" "that is unless the call failed, in which case the *error_callback* is " "applied instead." msgstr "" +"Si *callback* est précisé alors ce doit être un objet appelable qui accepte " +"un seul argument. Quand le résultat est prêt, *callback* est appelé avec ce " +"résultat, si l'appel n'échoue pas auquel cas *error_callback* est appelé à " +"la place." #: ../Doc/library/multiprocessing.rst:2075 #: ../Doc/library/multiprocessing.rst:2100 @@ -2265,6 +3095,9 @@ msgid "" "a single argument. If the target function fails, then the *error_callback* " "is called with the exception instance." msgstr "" +"Si *error_callback* est précisé alors ce doit être un objet appelable qui " +"accepte un seul argument. Si la fonction cible échoue, alors " +"*error_callback* est appelé avec l'instance de l'exception." #: ../Doc/library/multiprocessing.rst:2079 #: ../Doc/library/multiprocessing.rst:2104 @@ -2272,12 +3105,17 @@ msgid "" "Callbacks should complete immediately since otherwise the thread which " "handles the results will get blocked." msgstr "" +"Les *callbacks* doivent se terminer immédiatement, autrement le fil " +"d'exécution qui gère les résultats se retrouverait bloqué." #: ../Doc/library/multiprocessing.rst:2084 msgid "" "A parallel equivalent of the :func:`map` built-in function (it supports only " "one *iterable* argument though). It blocks until the result is ready." msgstr "" +"Un équivalent parallèle à la fonction *built-in* :func:`map` (qui ne " +"supporte cependant qu'un *itérable* en argument). Elle bloque jusqu'à ce que " +"le résultat soit prêt." #: ../Doc/library/multiprocessing.rst:2087 msgid "" @@ -2285,10 +3123,13 @@ msgid "" "the process pool as separate tasks. The (approximate) size of these chunks " "can be specified by setting *chunksize* to a positive integer." msgstr "" +"La méthode découpe l'itérable en un nombre de morceaux qu'elle envoie au " +"bassin de processus comme des tâches séparées. La taille (approximative) de " +"ces morceaux peut être précisée en passant à *chunksize* un entier positif." #: ../Doc/library/multiprocessing.rst:2093 msgid "A variant of the :meth:`.map` method which returns a result object." -msgstr "" +msgstr "Une variante de la méthode :meth:`.map` qui renvoie un objet résultat." #: ../Doc/library/multiprocessing.rst:2109 msgid "A lazier version of :meth:`map`." @@ -2300,6 +3141,10 @@ msgid "" "method. For very long iterables using a large value for *chunksize* can " "make the job complete **much** faster than using the default value of ``1``." msgstr "" +"L'argument *chunksize* est le même que celui utilisé par la méthode :meth:`." +"map`. Pour de très longs itérables, utiliser une grande valeur pour " +"*chunksize* peut faire s'exécuter la tâche **beaucoup** plus rapidement " +"qu'en utilisant la valeur par défaut de ``1``." #: ../Doc/library/multiprocessing.rst:2116 msgid "" @@ -2308,6 +3153,10 @@ msgid "" "``next(timeout)`` will raise :exc:`multiprocessing.TimeoutError` if the " "result cannot be returned within *timeout* seconds." msgstr "" +"Aussi, si *chucksize* vaut ``1`` alors la méthode :meth:`!next` de " +"l'itérateur renvoyé par :meth:`imap` prend un paramètre optionnel " +"*timeout* : ``next(timeout)`` lève une :exc:`multiprocessing.TimeoutError` " +"si le résultat ne peut pas être renvoyé avant *timeout* secondes." #: ../Doc/library/multiprocessing.rst:2123 msgid "" @@ -2315,18 +3164,25 @@ msgid "" "returned iterator should be considered arbitrary. (Only when there is only " "one worker process is the order guaranteed to be \"correct\".)" msgstr "" +"Identique à :meth:`imap` si ce n'est que l'ordre des résultats de " +"l'itérateur renvoyé doit être considéré comme arbitraire. (L'ordre n'est " +"garanti que quand il n'y a qu'un *worker*.)" #: ../Doc/library/multiprocessing.rst:2129 msgid "" "Like :meth:`map` except that the elements of the *iterable* are expected to " "be iterables that are unpacked as arguments." msgstr "" +"Semblable à :meth:`map` à l'exception que les éléments d'*iterable* doivent " +"être des itérables qui seront dépaquetés comme arguments pour la fonction." #: ../Doc/library/multiprocessing.rst:2132 msgid "" "Hence an *iterable* of ``[(1,2), (3, 4)]`` results in ``[func(1,2), " "func(3,4)]``." msgstr "" +"Par conséquent un *iterable* ``[(1,2), (3, 4)]`` donnera pour résultat " +"``[func(1,2), func(3,4)]``." #: ../Doc/library/multiprocessing.rst:2139 msgid "" @@ -2334,12 +3190,17 @@ msgid "" "*iterable* of iterables and calls *func* with the iterables unpacked. " "Returns a result object." msgstr "" +"Une combinaison de :meth:`starmap` et :meth:`map_async` qui itère sur " +"*iterable* (composé d'itérables) et appelle *func* pour chaque itérable " +"dépaqueté. Renvoie l'objet résultat." #: ../Doc/library/multiprocessing.rst:2147 msgid "" "Prevents any more tasks from being submitted to the pool. Once all the " "tasks have been completed the worker processes will exit." msgstr "" +"Empêche de nouvelles tâches d'être envoyées à la *pool*. Les processus " +"*workers* se terminent une fois que toutes les tâches ont été complétées." #: ../Doc/library/multiprocessing.rst:2152 msgid "" @@ -2347,12 +3208,17 @@ msgid "" "When the pool object is garbage collected :meth:`terminate` will be called " "immediately." msgstr "" +"Stoppe immédiatement les processus *workers* sans finaliser les travaux " +"courants. Quand l'objet *pool* est collecté par le ramasse-miettes, sa " +"méthode :meth:`terminate` est appelée immédiatement." #: ../Doc/library/multiprocessing.rst:2158 msgid "" "Wait for the worker processes to exit. One must call :meth:`close` or :meth:" "`terminate` before using :meth:`join`." msgstr "" +"Attend que les processus *workers* se terminent. Il est nécessaire " +"d'appeler :meth:`close` ou :meth:`terminate` avant d'utiliser :meth:`join`." #: ../Doc/library/multiprocessing.rst:2161 msgid "" @@ -2360,12 +3226,18 @@ msgid "" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the pool " "object, and :meth:`~contextmanager.__exit__` calls :meth:`terminate`." msgstr "" +"Les bassins de *workers* supportent maintenant le protocole des " +"gestionnaires de contexte -- voir :ref:`typecontextmanager`. :meth:" +"`~contextmanager.__enter__` renvoie l'objet *pool* et :meth:`~contextmanager." +"__exit__` appelle :meth:`terminate`." #: ../Doc/library/multiprocessing.rst:2169 msgid "" "The class of the result returned by :meth:`Pool.apply_async` and :meth:`Pool." "map_async`." msgstr "" +"La classe des résultats renvoyés par :meth:`Pool.apply_async` et :meth:`Pool." +"map_async`." #: ../Doc/library/multiprocessing.rst:2174 msgid "" @@ -2374,28 +3246,36 @@ msgid "" "TimeoutError` is raised. If the remote call raised an exception then that " "exception will be reraised by :meth:`get`." msgstr "" +"Renvoie le résultat quand il arrive. Si *timeout* n'est pas ``None`` et que " +"le résultat n'arrive pas avant *timeout* secondes, une :exc:`multiprocessing." +"TimeoutError` est levée. Si l'appel distance lève une exception, alors elle " +"est relayée par :meth:`get`." #: ../Doc/library/multiprocessing.rst:2181 msgid "Wait until the result is available or until *timeout* seconds pass." msgstr "" +"Attend que le résultat soit disponible ou que *timeout* secondes s'écoulent." #: ../Doc/library/multiprocessing.rst:2185 msgid "Return whether the call has completed." -msgstr "" +msgstr "Renvoie ``True`` ou ``False`` suivant si la tâche est accomplie." #: ../Doc/library/multiprocessing.rst:2189 msgid "" "Return whether the call completed without raising an exception. Will raise :" "exc:`AssertionError` if the result is not ready." msgstr "" +"Renvoie ``True`` ou ``False`` suivant si la tâche est accomplie sans lever " +"d'exception. Lève une :exc:`AssertionError` si le résultat n'est pas prêt." #: ../Doc/library/multiprocessing.rst:2192 msgid "The following example demonstrates the use of a pool::" msgstr "" +"Les exemples suivants présentent l'utilisation d'un bassin de *workers* ::" #: ../Doc/library/multiprocessing.rst:2219 msgid "Listeners and Clients" -msgstr "" +msgstr "Auditeurs et Clients" #: ../Doc/library/multiprocessing.rst:2224 msgid "" @@ -2412,12 +3292,19 @@ msgid "" "*digest authentication* using the :mod:`hmac` module, and for polling " "multiple connections at the same time." msgstr "" +"Cependant, le module :mod:`multiprocessing.connection` permet un peu plus de " +"flexibilité. Il fournit un message de plus haut-niveau orienté API pour " +"traiter des *sockets* ou des tubes nommés sous Windows. Il supporte aussi la " +"*digest authentication* en utilisant le module :mod:`hmac`, et pour " +"interroger de multiples connexions en même temps." #: ../Doc/library/multiprocessing.rst:2237 msgid "" "Send a randomly generated message to the other end of the connection and " "wait for a reply." msgstr "" +"Envoie un message généré aléatoirement à l'autre bout de la connexion et " +"attend une réponse." #: ../Doc/library/multiprocessing.rst:2240 msgid "" @@ -2425,18 +3312,25 @@ msgid "" "then a welcome message is sent to the other end of the connection. " "Otherwise :exc:`~multiprocessing.AuthenticationError` is raised." msgstr "" +"Si la réponse correspond au condensat du message avec la clé *authkey*, " +"alors un message de bienvenue est envoyé à l'autre bout de la connexion. " +"Autrement, une :exc:`~multiprocessing.AuthenticationError` est levée." #: ../Doc/library/multiprocessing.rst:2246 msgid "" "Receive a message, calculate the digest of the message using *authkey* as " "the key, and then send the digest back." msgstr "" +"Reçoit un message, calcule le condensat du message en utilisant la clé " +"*authkey*, et envoie le condensat en réponse." #: ../Doc/library/multiprocessing.rst:2249 msgid "" "If a welcome message is not received, then :exc:`~multiprocessing." "AuthenticationError` is raised." msgstr "" +"Si un message de bienvenue n'est pas reçu, une :exc:`~multiprocessing." +"AuthenticationError` est levée." #: ../Doc/library/multiprocessing.rst:2254 msgid "" @@ -2450,6 +3344,9 @@ msgid "" "generally be omitted since it can usually be inferred from the format of " "*address*. (See :ref:`multiprocessing-address-formats`)" msgstr "" +"Le type de la connexion est déterminé par l'argument *family*, mais il peut " +"généralement être omis puisqu'il peut être inféré depuis le format " +"d'*address*. (Voir :ref:`multiprocessing-address-formats`)" #: ../Doc/library/multiprocessing.rst:2261 msgid "" @@ -2465,12 +3362,16 @@ msgid "" "A wrapper for a bound socket or Windows named pipe which is 'listening' for " "connections." msgstr "" +"Un *wrapper* sur une *socket* liée ou un tube nommé sous Windows qui écoute " +"pour des connexions." #: ../Doc/library/multiprocessing.rst:2273 msgid "" "*address* is the address to be used by the bound socket or named pipe of the " "listener object." msgstr "" +"*address* est l'adresse à utiliser par la *socket* liée ou le tube nommé de " +"l'objet auditeur." #: ../Doc/library/multiprocessing.rst:2278 msgid "" @@ -2478,6 +3379,9 @@ msgid "" "end point on Windows. If you require a connectable end-point, you should use " "'127.0.0.1'." msgstr "" +"Si une adresse '0.0.0.0' est utilisée, l'adresse ne sera pas un point " +"d'accès connectable sous Windows. Si vous avez besoin d'un point d'accès " +"connectable, utilisez '127.0.0.1'." #: ../Doc/library/multiprocessing.rst:2282 msgid "" @@ -2492,6 +3396,16 @@ msgid "" "then the socket will be created in a private temporary directory created " "using :func:`tempfile.mkstemp`." msgstr "" +"*family* est le type de *socket* (ou tube nommé) à utiliser. Cela peut être " +"l'une des chaînes ``'AF_INET'`` (pour une *socket* TCP), ``'AF_UNIX'`` (pour " +"une *socket* Unix) ou ``'AF_PIPE'`` (pour un tube nommé sous Windows). " +"Seulement la première d'entre elles est garantie d'être disponible. Si " +"*family* est ``None``, la famille est inférée depuis le format d'*address*. " +"Si *address* est aussi ``None``, la famille par défaut est utilisée. La " +"famille par défaut est supposée être la plus rapide disponible. Voir :ref:" +"`multiprocessing-address-formats`. Notez que si la *family* est " +"``'AF_UNIX'`` et qu'*address* est ``None``, la *socket* est créée dans un " +"répertoire temporaire privé créé avec :func:`tempfile.mkstemp`." #: ../Doc/library/multiprocessing.rst:2293 msgid "" @@ -2499,6 +3413,9 @@ msgid "" "to the :meth:`~socket.socket.listen` method of the socket once it has been " "bound." msgstr "" +"Si l'objet auditeur utilise une *socket* alors *backlog* (1 par défaut) es " +"passé à la méthode :meth:`~socket.socket.listen` de la *socket* une fois " +"qu'elle a été liée." #: ../Doc/library/multiprocessing.rst:2297 msgid "" @@ -2535,20 +3452,26 @@ msgid "" "automatically when the listener is garbage collected. However it is " "advisable to call it explicitly." msgstr "" +"Ferme la *socket* liée ou le tube nommé de l'objet auditeur. La méthode est " +"appelée automatiquement quand l'auditeur est collecté par le ramasse-" +"miettes. Il est cependant conseillé de l'appeler explicitement." #: ../Doc/library/multiprocessing.rst:2323 msgid "Listener objects have the following read-only properties:" msgstr "" +"Les objets auditeurs ont aussi les propriétés en lecture seule suivantes :" #: ../Doc/library/multiprocessing.rst:2327 msgid "The address which is being used by the Listener object." -msgstr "" +msgstr "L'adresse utilisée par l'objet auditeur." #: ../Doc/library/multiprocessing.rst:2331 msgid "" "The address from which the last accepted connection came. If this is " "unavailable then it is ``None``." msgstr "" +"L'adresse depuis laquelle a été établie la dernière connexion. ``None`` si " +"aucune n'est disponible." #: ../Doc/library/multiprocessing.rst:2334 msgid "" @@ -2556,6 +3479,10 @@ msgid "" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " "listener object, and :meth:`~contextmanager.__exit__` calls :meth:`close`." msgstr "" +"Les objets auditeurs supportent maintenant le protocole des gestionnaires de " +"contexte -- voir :ref:`typecontextmanager`. :meth:`~contextmanager." +"__enter__` renvoie l'objet auditeur, et :meth:`~contextmanager.__exit__` " +"appelle :meth:`close`." #: ../Doc/library/multiprocessing.rst:2341 msgid "" @@ -2565,11 +3492,17 @@ msgid "" "will block for an unlimited period. A negative timeout is equivalent to a " "zero timeout." msgstr "" +"Attend qu'un objet d'*object_list* soit prêt. Renvoie la liste de ces objets " +"d'*object_list* qui sont prêts. Si *timeout* est un nombre flottant, l'appel " +"bloquera au maximum ce nombre de secondes. Si *timeout* est ``None``, " +"l'appelle bloquera pour une durée non limitée. Un *timeout* négatif est " +"équivalent à un *timeout* nul." #: ../Doc/library/multiprocessing.rst:2347 msgid "" "For both Unix and Windows, an object can appear in *object_list* if it is" msgstr "" +"Pour Unix et Windows, un objet peut apparaître dans *object_list* s'il est" #: ../Doc/library/multiprocessing.rst:2350 msgid "a readable :class:`~multiprocessing.Connection` object;" @@ -2577,19 +3510,23 @@ msgstr "" #: ../Doc/library/multiprocessing.rst:2351 msgid "a connected and readable :class:`socket.socket` object; or" -msgstr "" +msgstr "un objet :class:`socket.socket` connecté et accessible en lecture ; ou" #: ../Doc/library/multiprocessing.rst:2352 msgid "" "the :attr:`~multiprocessing.Process.sentinel` attribute of a :class:" "`~multiprocessing.Process` object." msgstr "" +"l'attribut :attr:`~multiprocessing.Process.sentinel` d'un objet :class:" +"`~multiprocessing.Process`." #: ../Doc/library/multiprocessing.rst:2355 msgid "" "A connection or socket object is ready when there is data available to be " "read from it, or the other end has been closed." msgstr "" +"Une connexion ou une *socket* est prête quand il y a des données disponibles " +"en lecture dessus, ou que l'autre bout a été fermé." #: ../Doc/library/multiprocessing.rst:2358 msgid "" @@ -2598,6 +3535,11 @@ msgid "" "`select.select` is interrupted by a signal, it can raise :exc:`OSError` with " "an error number of ``EINTR``, whereas :func:`wait` will not." msgstr "" +"**Unix**: ``wait(object_list, timeout)`` est en grande partie équivalente à " +"``select.select(object_list, [], [], timeout)``. La différence est que, si :" +"func:`select.select` est interrompue par un signal, elle peut lever une :exc:" +"`OSError` avec un numéro d'erreur ``EINTR``, alors que :func:`wait` ne le " +"fera pas." #: ../Doc/library/multiprocessing.rst:2364 msgid "" @@ -2607,10 +3549,16 @@ msgid "" "meth:`fileno` method which returns a socket handle or pipe handle. (Note " "that pipe handles and socket handles are **not** waitable handles.)" msgstr "" +"**Windows**: Un élément d'*object_list* doit être soit un identifiant " +"*waitable* (en accord avec la définition utilisée par la documentation de la " +"fonction Win32 ``WaitForMultipleObjects()``) soit un objet avec une méthode :" +"meth:`fileno` qui retourne un identifiant de *socket* ou de tube. (Notez que " +"les identifiants de tubes et de *sockets* **ne sont pas** des identifiants " +"*waitables*.)" #: ../Doc/library/multiprocessing.rst:2374 msgid "**Examples**" -msgstr "" +msgstr "**Exemples**" #: ../Doc/library/multiprocessing.rst:2376 msgid "" @@ -2618,38 +3566,47 @@ msgid "" "password'`` as an authentication key. It then waits for a connection and " "sends some data to the client::" msgstr "" +"Le code serveur suivant crée un auditeur qui utilise ``'secret password'`` " +"comme clé d'authentification. Il attend ensuite une connexion et envoie les " +"données au client ::" #: ../Doc/library/multiprocessing.rst:2395 msgid "" "The following code connects to the server and receives some data from the " "server::" -msgstr "" +msgstr "Le code suivant se connecte au serveur et en reçoit des données ::" #: ../Doc/library/multiprocessing.rst:2412 msgid "" "The following code uses :func:`~multiprocessing.connection.wait` to wait for " "messages from multiple processes at once::" msgstr "" +"Le code suivant utilise :func:`~multiprocessing.connection.wait` pour " +"attendre des messages depuis plusieurs processus à la fois ::" #: ../Doc/library/multiprocessing.rst:2451 msgid "Address Formats" -msgstr "" +msgstr "Formats d'adresses" #: ../Doc/library/multiprocessing.rst:2453 msgid "" "An ``'AF_INET'`` address is a tuple of the form ``(hostname, port)`` where " "*hostname* is a string and *port* is an integer." msgstr "" +"Une adresse ``'AF_INET'`` est un *tuple* de la forme ``(hostname, port)`` où " +"*hostname* est une chaîne et *port* un entier." #: ../Doc/library/multiprocessing.rst:2456 msgid "" "An ``'AF_UNIX'`` address is a string representing a filename on the " "filesystem." msgstr "" +"Une adresse ``'AF_UNIX'`` est une chaîne représentant un nom de fichier sur " +"le système de fichiers." #: ../Doc/library/multiprocessing.rst:2462 msgid "An ``'AF_PIPE'`` address is a string of the form" -msgstr "" +msgstr "Une adresse ``'AF_PIPE'`` est une chaîne de la forme" #: ../Doc/library/multiprocessing.rst:2460 msgid "" @@ -2658,16 +3615,23 @@ msgid "" "use an address of the form :samp:`r'\\\\\\\\{ServerName}\\\\pipe\\" "\\{PipeName}'` instead." msgstr "" +":samp:`r'\\\\\\\\.\\\\pipe\\\\{PipeName}'`. Pour utiliser un :func:`Client` " +"pour se connecter à un tube nommé sur une machine distante appelée " +"*ServerName*, il faut plutôt utiliser une adresse de la forme :samp:`r'\\\\\\" +"\\{ServerName}\\\\pipe\\\\{PipeName}'`." #: ../Doc/library/multiprocessing.rst:2464 msgid "" "Note that any string beginning with two backslashes is assumed by default to " "be an ``'AF_PIPE'`` address rather than an ``'AF_UNIX'`` address." msgstr "" +"Notez que toute chaîne commençant par deux antislashs est considérée par " +"défaut comme l'adresse d'un ``'AF_PIPE'`` plutôt qu'une adresse " +"``'AF_UNIX'``." #: ../Doc/library/multiprocessing.rst:2471 msgid "Authentication keys" -msgstr "" +msgstr "Clés d'authentification" #: ../Doc/library/multiprocessing.rst:2473 msgid "" @@ -2685,6 +3649,11 @@ msgid "" "the other knows the authentication key. (Demonstrating that both ends are " "using the same key does **not** involve sending the key over the connection.)" msgstr "" +"Une clé d'authentification est une chaîne d'octets qui peut être vue comme " +"un mot de passe : quand une connexion est établie, les deux interlocuteurs " +"vont demander à l'autre une preuve qu'il connaît la clé d'authentification. " +"(Démontrer que les deux utilisent la même clé n'implique **pas** d'échanger " +"la clé sur la connexion.)" #: ../Doc/library/multiprocessing.rst:2485 msgid "" @@ -2696,12 +3665,21 @@ msgid "" "program will share a single authentication key which can be used when " "setting up connections between themselves." msgstr "" +"Si l'authentification est requise et qu'aucune clé n'est spécifiée alors la " +"valeur de retour de ``current_process().authkey`` est utilisée (voir :class:" +"`~multiprocessing.Process`). Celle valeur est automatiquement héritée par " +"tout objet :class:`~multiprocessing.Process` créé par le processus courant. " +"Cela signifie que (par défaut) tous les processus d'un programme multi-" +"processus partageront une clé d'authentification unique qui peut être " +"utilisée pour mettre en place des connexions entre-eux." #: ../Doc/library/multiprocessing.rst:2493 msgid "" "Suitable authentication keys can also be generated by using :func:`os." "urandom`." msgstr "" +"Des clés d'authentification adaptées peuvent aussi être générées par :func:" +"`os.urandom`." #: ../Doc/library/multiprocessing.rst:2497 msgid "Logging" @@ -2714,12 +3692,18 @@ msgid "" "(depending on the handler type) for messages from different processes to get " "mixed up." msgstr "" +"Un certain support de la journalisation est disponible. Notez cependant que " +"le le paquet :mod:`logging` n'utilise pas de verrous partagés entre les " +"processus et il est donc possible (dépendant du type de gestionnaire) que " +"les messages de différents processus soient mélangés." #: ../Doc/library/multiprocessing.rst:2506 msgid "" "Returns the logger used by :mod:`multiprocessing`. If necessary, a new one " "will be created." msgstr "" +"Renvoie le journaliseur utilisé par :mod:`multiprocessing`. Si nécessaire, " +"un nouveau sera créé." #: ../Doc/library/multiprocessing.rst:2509 msgid "" @@ -2727,6 +3711,9 @@ msgid "" "default handler. Messages sent to this logger will not by default propagate " "to the root logger." msgstr "" +"À sa première création le journaliseur a pour niveau :data:`logging.NOTSET` " +"et pas de gestionnaire par défaut. Les messages envoyés à ce journaliseur ne " +"seront pas propagés par défaut au journaliseur principal." #: ../Doc/library/multiprocessing.rst:2513 msgid "" @@ -2734,6 +3721,9 @@ msgid "" "parent process's logger -- any other customization of the logger will not be " "inherited." msgstr "" +"Notez que sous Windows les processus fils n'hériteront que du niveau du " +"journaliseur du processus parent -- toute autre personnalisation du " +"journaliseur ne sera pas héritée." #: ../Doc/library/multiprocessing.rst:2520 msgid "" @@ -2742,52 +3732,65 @@ msgid "" "output to :data:`sys.stderr` using format ``'[%(levelname)s/%(processName)s] " "%(message)s'``." 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'``." #: ../Doc/library/multiprocessing.rst:2525 msgid "Below is an example session with logging turned on::" msgstr "" +"L'exemple ci-dessous présente une session avec la journalisation activée ::" #: ../Doc/library/multiprocessing.rst:2540 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`." #: ../Doc/library/multiprocessing.rst:2544 msgid "The :mod:`multiprocessing.dummy` module" -msgstr "" +msgstr "Le module :mod:`multiprocessing.dummy`" #: ../Doc/library/multiprocessing.rst:2549 msgid "" ":mod:`multiprocessing.dummy` replicates the API of :mod:`multiprocessing` " "but is no more than a wrapper around the :mod:`threading` module." msgstr "" +":mod:`multiprocessing.dummy` réplique toute l'API de :mod:`multiprocessing` " +"mais n'est rien de plus qu'un *wrapper* autour du module :mod:`threading`." #: ../Doc/library/multiprocessing.rst:2556 msgid "Programming guidelines" -msgstr "" +msgstr "Lignes directrices de programmation" #: ../Doc/library/multiprocessing.rst:2558 msgid "" "There are certain guidelines and idioms which should be adhered to when " "using :mod:`multiprocessing`." msgstr "" +"Il y a certaines lignes directrices et idiomes auxquels il faut adhérer en " +"utilisant :mod:`multiprocessing`." #: ../Doc/library/multiprocessing.rst:2563 msgid "All start methods" -msgstr "" +msgstr "Toutes les méthodes de démarrage" #: ../Doc/library/multiprocessing.rst:2565 msgid "The following applies to all start methods." -msgstr "" +msgstr "Les règles suivantes s'appliquent aux méthodes de démarrage." #: ../Doc/library/multiprocessing.rst:2567 msgid "Avoid shared state" -msgstr "" +msgstr "Éviter les états partagés" #: ../Doc/library/multiprocessing.rst:2569 msgid "" "As far as possible one should try to avoid shifting large amounts of data " "between processes." msgstr "" +"Autant que possible, vous devriez éviter de déplacer de larges données entre " +"les processus." #: ../Doc/library/multiprocessing.rst:2572 msgid "" @@ -2795,33 +3798,42 @@ msgid "" "between processes rather than using the lower level synchronization " "primitives." msgstr "" +"Il est probablement meilleur de s'en tenir à l'utilisation de queues et " +"tubes pour la communication entre processus plutôt que d'utiliser des " +"primitives de synchronisation plus bas-niveau." #: ../Doc/library/multiprocessing.rst:2576 msgid "Picklability" -msgstr "" +msgstr "Sérialisation" #: ../Doc/library/multiprocessing.rst:2578 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*)." #: ../Doc/library/multiprocessing.rst:2580 msgid "Thread safety of proxies" -msgstr "" +msgstr "Sûreté des mandataires à travers les fils d'exécution" #: ../Doc/library/multiprocessing.rst:2582 msgid "" "Do not use a proxy object from more than one thread unless you protect it " "with a lock." 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." #: ../Doc/library/multiprocessing.rst:2585 msgid "" "(There is never a problem with different processes using the *same* proxy.)" msgstr "" +"(Il n'y a jamais de problème avec plusieurs processus utilisant un *même* " +"mandataire.)" #: ../Doc/library/multiprocessing.rst:2587 msgid "Joining zombie processes" -msgstr "" +msgstr "Attendre les processus zombies" #: ../Doc/library/multiprocessing.rst:2589 msgid "" @@ -2833,10 +3845,18 @@ msgid "" "join the process. Even so it is probably good practice to explicitly join " "all the processes that you start." msgstr "" +"Sous Unix quand un processus se termine mais n'est pas attendu, il devient " +"un zombie. Il ne devrait jamais y en avoir beaucoup parce que chaque fois " +"qu'un nouveau processus démarre (ou que :func:`~multiprocessing." +"active_children` est appelée) tous les processus complétés qui n'ont pas été " +"attendus le seront. Aussi appeler la méthode :meth:`Process.is_alive " +"` d'un processus terminé attendra le " +"processus. Toutefois il est probablement une bonne pratique d'attendre " +"explicitement tous les processus que vous démarrez." #: ../Doc/library/multiprocessing.rst:2597 msgid "Better to inherit than pickle/unpickle" -msgstr "" +msgstr "Préférez hériter que sérialiser/désérialiser" #: ../Doc/library/multiprocessing.rst:2599 msgid "" @@ -2847,10 +3867,17 @@ msgid "" "that a process which needs access to a shared resource created elsewhere can " "inherit it from an ancestor process." msgstr "" +"Quand vous utilisez les méthodes de démarrage *spawn* ou *forkserver*, de " +"nombreux types de :mod:`multiprocessing` nécessitent d'être sérialisées pour " +"que les processus enfants puissent les utiliser. Cependant, il faut " +"généralement éviter d'envoyer des objets partagés aux autres processus en " +"utilisant des tubes ou des queues. Vous devriez plutôt vous arranger pour " +"qu'un 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." #: ../Doc/library/multiprocessing.rst:2607 msgid "Avoid terminating processes" -msgstr "" +msgstr "Éviter de terminer les processus" #: ../Doc/library/multiprocessing.rst:2609 msgid "" @@ -2859,6 +3886,10 @@ msgid "" "locks, semaphores, pipes and queues) currently being used by the process to " "become broken or unavailable to other processes." msgstr "" +"Utiliser la méthode :meth:`Process.terminate ` pour stopper un processus risque de casser ou de rendre " +"indisponible aux autres processus des ressources partagées (comme des " +"verrous, sémaphores, tubes et queues) actuellement utilisée par le processus." #: ../Doc/library/multiprocessing.rst:2615 msgid "" @@ -2866,10 +3897,13 @@ msgid "" "terminate ` on processes which never use " "any shared resources." msgstr "" +"Il est donc probablement préférable de n'utiliser :meth:`Process.terminate " +"` que sur les processus qui n'utilisent " +"jamais de ressources partagées." #: ../Doc/library/multiprocessing.rst:2619 msgid "Joining processes that use queues" -msgstr "" +msgstr "Attendre les processus qui utilisent des queues" #: ../Doc/library/multiprocessing.rst:2621 msgid "" @@ -2879,6 +3913,12 @@ msgid "" "cancel_join_thread ` method of the " "queue to avoid this behaviour.)" msgstr "" +"Gardez à l'esprit qu'un processus qui a placé des éléments dans une queue " +"attendra que tous les éléments mis en tampon soient consommés par le fil " +"d'exécution « consommateur » du tube sous-jacent avant de se terminer. (Le " +"processus enfant peut appeler la méthode :meth:`Queue.cancel_join_thread " +"` de la queue pour éviter ce " +"comportement.)" #: ../Doc/library/multiprocessing.rst:2627 msgid "" @@ -2888,20 +3928,28 @@ msgid "" "put items on the queue will terminate. Remember also that non-daemonic " "processes will be joined automatically." msgstr "" +"Cela signifie que chaque fois que vous utilisez une queue vous devez vous " +"assurer que tous les éléments qui y ont été placés seront effectivement " +"supprimés avant que le processus ne soit attendu. Autrement vous ne pouvez " +"pas être sûr que les processus qui ont placé des éléments dans la queue se " +"termineront. Souvenez-vous aussi que tous les processus non *daemons* seront " +"attendus automatiquement." #: ../Doc/library/multiprocessing.rst:2633 msgid "An example which will deadlock is the following::" -msgstr "" +msgstr "L'exemple suivant provoquera un interblocage ::" #: ../Doc/library/multiprocessing.rst:2647 msgid "" "A fix here would be to swap the last two lines (or simply remove the ``p." "join()`` line)." msgstr "" +"Une solution ici serait d'intervertir les deux dernières lignes (ou " +"simplement supprimer la ligne ``p.join()``)." #: ../Doc/library/multiprocessing.rst:2650 msgid "Explicitly pass resources to child processes" -msgstr "" +msgstr "Passer explicitement les ressources aux processus fils" #: ../Doc/library/multiprocessing.rst:2652 msgid "" @@ -2910,6 +3958,10 @@ msgid "" "However, it is better to pass the object as an argument to the constructor " "for the child process." msgstr "" +"Sous Unix en utilisant la méthode de démarrage *fork*, un processus fils " +"peut utiliser une ressource partagée créée par un processus parent en " +"utilisant une ressource globale. Cependant, il est préférable de passer " +"l'objet en argument au constructeur du processus fils." #: ../Doc/library/multiprocessing.rst:2657 msgid "" @@ -2919,28 +3971,38 @@ msgid "" "This might be important if some resource is freed when the object is garbage " "collected in the parent process." msgstr "" +"En plus de rendre le code (potentiellement) compatible avec Windows et les " +"autres méthodes de démarrage, cela assure aussi que tant que le processus " +"fils est en vie, l'objet ne sera pas collecté par le ramasse-miettes du " +"processus parent. Cela peut être important si certaines ressources sont " +"libérées quand l'objet est collecté par le ramasse-miettes du processus " +"parent." #: ../Doc/library/multiprocessing.rst:2664 msgid "So for instance ::" -msgstr "" +msgstr "Donc par exemple ::" #: ../Doc/library/multiprocessing.rst:2676 msgid "should be rewritten as ::" -msgstr "" +msgstr "devrait être réécrit comme ::" #: ../Doc/library/multiprocessing.rst:2688 msgid "Beware of replacing :data:`sys.stdin` with a \"file like object\"" msgstr "" +"Faire attention à remplacer :data:`sys.stdin` par un objet « *file-like* »" #: ../Doc/library/multiprocessing.rst:2690 msgid ":mod:`multiprocessing` originally unconditionally called::" -msgstr "" +msgstr "À l'origine, :mod:`multiprocessing` appelait inconditionnellement ::" #: ../Doc/library/multiprocessing.rst:2694 msgid "" "in the :meth:`multiprocessing.Process._bootstrap` method --- this resulted " "in issues with processes-in-processes. This has been changed to::" msgstr "" +"dans la méthode :meth:`multiprocessing.Process._bootstrap` --- cela " +"provoquait des problèmes avec les processus imbriqués. Cela peut être changé " +"en ::" #: ../Doc/library/multiprocessing.rst:2700 msgid "" @@ -2951,6 +4013,13 @@ msgid "" "`~io.IOBase.close()` on this file-like object, it could result in the same " "data being flushed to the object multiple times, resulting in corruption." msgstr "" +"Qui résout le problème fondamental des collisions entre processus provoquant " +"des erreurs de mauvais descripteurs de fichiers, mais introduit un potentiel " +"danger pour les applications qui remplacent :func:`sys.stdin` avec un " +"« *file-like object* » ayant une sortie *bufferisée*. Ce danger est que si " +"plusieurs processus appellent :meth:`~io.IOBase.close()` sur cet objet *file-" +"like*, cela peut amener les données à être transmises à l'objet à plusieurs " +"reprises, résultant en une corruption." #: ../Doc/library/multiprocessing.rst:2707 msgid "" @@ -2958,25 +4027,31 @@ msgid "" "it fork-safe by storing the pid whenever you append to the cache, and " "discarding the cache when the pid changes. For example::" msgstr "" +"Si vous écrivez un objet *file-like* et implémentez votre propre cache, vous " +"pouvez le rendre sûr pour les *forks* en stockant le *pid* chaque fois que " +"vous ajoutez des données au cache, et annulez le cache quand le *pip* " +"change. Par exemple ::" #: ../Doc/library/multiprocessing.rst:2719 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`" #: ../Doc/library/multiprocessing.rst:2722 msgid "The *spawn* and *forkserver* start methods" -msgstr "" +msgstr "Les méthodes de démarrage *spawn* et *forkserver*" #: ../Doc/library/multiprocessing.rst:2724 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*." #: ../Doc/library/multiprocessing.rst:2727 msgid "More picklability" -msgstr "" +msgstr "Plus de sérialisation" #: ../Doc/library/multiprocessing.rst:2729 msgid "" @@ -2985,10 +4060,15 @@ msgid "" "instances will be picklable when the :meth:`Process.start ` method is called." msgstr "" +"Assurez-vous que tous les argument de :meth:`Process.__init__` sont " +"sérialisables avec *pickle*. Aussi, si vous héritez de :class:" +"`~multiprocessing.Process`, assurez-vous que toutes les instances sont " +"sérialisables quand la méthode :meth:`Process.start ` est appelée." #: ../Doc/library/multiprocessing.rst:2734 msgid "Global variables" -msgstr "" +msgstr "Variables globales" #: ../Doc/library/multiprocessing.rst:2736 msgid "" @@ -2997,16 +4077,23 @@ msgid "" "in the parent process at the time that :meth:`Process.start ` was called." msgstr "" +"Gardez en tête que si le code exécuté dans un processus fils essaie " +"d'accéder à une variable globale, alors la valeur qu'il voit (s'il y en a " +"une) pourrait ne pas être la même que la valeur du processus parent au " +"moment même où :meth:`Process.start ` est " +"appelée." #: ../Doc/library/multiprocessing.rst:2741 msgid "" "However, global variables which are just module level constants cause no " "problems." msgstr "" +"Cependant, les variables globales qui sont juste des constantes de modules " +"ne posent pas de problèmes." #: ../Doc/library/multiprocessing.rst:2744 msgid "Safe importing of main module" -msgstr "" +msgstr "Importation sûre du module principal" #: ../Doc/library/multiprocessing.rst:2746 msgid "" @@ -3014,36 +4101,49 @@ msgid "" "interpreter without causing unintended side effects (such a starting a new " "process)." msgstr "" +"Assurez-vous que le module principal peut être importé en toute sécurité par " +"un nouvel interpréteur Python sans causer d'effets de bord inattendus (comme " +"le démarrage d'un nouveau processus)." #: ../Doc/library/multiprocessing.rst:2750 msgid "" "For example, using the *spawn* or *forkserver* start method running the " "following module would fail with a :exc:`RuntimeError`::" msgstr "" +"Par exemple, utiliser la méthode de démarrage *spawn* ou *forkserver* pour " +"lancer le module suivant échouerait avec une :exc:`RuntimeError` ::" #: ../Doc/library/multiprocessing.rst:2762 msgid "" "Instead one should protect the \"entry point\" of the program by using ``if " "__name__ == '__main__':`` as follows::" msgstr "" +"Vous devriez plutôt protéger le « point d'entrée » du programme en utilisant " +"``if __name__ == '__main__':`` comme suit ::" #: ../Doc/library/multiprocessing.rst:2776 msgid "" "(The ``freeze_support()`` line can be omitted if the program will be run " "normally instead of frozen.)" msgstr "" +"(La ligne ``freeze_support()`` peut être omise si le programme est " +"uniquement lancé normalement et pas gelé.)" #: ../Doc/library/multiprocessing.rst:2779 msgid "" "This allows the newly spawned Python interpreter to safely import the module " "and then run the module's ``foo()`` function." 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()``." #: ../Doc/library/multiprocessing.rst:2782 msgid "" "Similar restrictions apply if a pool or manager is created in the main " "module." msgstr "" +"Des restrictions similaires s'appliquent si une *pool* ou un gestionnaire " +"est créé dans le module principal." #: ../Doc/library/multiprocessing.rst:2789 msgid "Examples" @@ -3052,13 +4152,17 @@ msgstr "Exemples" #: ../Doc/library/multiprocessing.rst:2791 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 :" #: ../Doc/library/multiprocessing.rst:2797 msgid "Using :class:`~multiprocessing.pool.Pool`:" -msgstr "" +msgstr "En utilisant :class:`~multiprocessing.pool.Pool` :" #: ../Doc/library/multiprocessing.rst:2803 msgid "" "An example showing how to use queues to feed tasks to a collection of worker " "processes and collect the results:" msgstr "" +"Un exemple montrant comment utiliser des queues pour alimenter en tâches une " +"collection de processus *workers* et collecter les résultats :" diff --git a/library/operator.po b/library/operator.po index 29043587..a395b9e3 100644 --- a/library/operator.po +++ b/library/operator.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/operator.rst:2 msgid ":mod:`operator` --- Standard operators as functions" -msgstr "" +msgstr ":mod:`operator` — Opérateurs standards en tant que fonctions" #: ../Doc/library/operator.rst:9 msgid "**Source code:** :source:`Lib/operator.py`" @@ -38,12 +38,17 @@ msgid "" "The functions fall into categories that perform object comparisons, logical " "operations, mathematical operations and sequence operations." msgstr "" +"Les fonctions sont divisées en différentes catégories selon l'opération " +"effectuée : comparaison entre objets, opérations logiques, opérations " +"mathématiques ou opérations sur séquences." #: ../Doc/library/operator.rst:27 msgid "" "The object comparison functions are useful for all objects, and are named " "after the rich comparison operators they support:" msgstr "" +"Les fonctions de comparaison s'appliquent à tous les objets, et leur nom " +"vient des opérateurs de comparaison qu'elles implémentent :" #: ../Doc/library/operator.rst:44 msgid "" @@ -55,12 +60,21 @@ msgid "" "which may or may not be interpretable as a Boolean value. See :ref:" "`comparisons` for more information about rich comparisons." msgstr "" +"Effectue une « comparaison riche » entre *a* et *b*. Plus précisément, " +"``lt(a, b)`` équivaut à ``a < b``, ``le(a, b)`` équivaut à ``a <= b``, " +"``eq(a, b)`` équivaut à ``a == b``, ``ne(a, b)`` équivaut à ``a != b``, " +"``gt(a, b)`` équivaut à ``a > b`` et ``ge(a, b)`` équivaut à ``a >= b``. " +"Notez que ces fonctions peuvent renvoyer n'importe quelle valeur, " +"convertible ou non en booléen. Voir :ref:`comparisons` pour plus " +"d'informations sur les méthodes de comparaison riches." #: ../Doc/library/operator.rst:53 msgid "" "The logical operations are also generally applicable to all objects, and " "support truth tests, identity tests, and boolean operations:" msgstr "" +"En général, les opérations logiques s'appliquent aussi à tous les objets et " +"implémentent les tests de vérité, d'identité et les opérations booléennes :" #: ../Doc/library/operator.rst:60 msgid "" @@ -69,24 +83,33 @@ msgid "" "this operation. The result is affected by the :meth:`__bool__` and :meth:" "`__len__` methods.)" msgstr "" +"Renvoie le résultat de :keyword:`not` *obj*. (Notez qu'il n'existe pas de " +"méthode :meth:`__not__` pour les instances d'objet; seul le cœur de " +"l'interpréteur définit cette opération. Le résultat dépend des méthodes :" +"meth:`__bool__` et :meth:`__len__`.)" #: ../Doc/library/operator.rst:68 msgid "" "Return :const:`True` if *obj* is true, and :const:`False` otherwise. This " "is equivalent to using the :class:`bool` constructor." msgstr "" +"Renvoie :const:`True` si *obj* est vrai, et :const:`False` dans le cas " +"contraire. Équivaut à utiliser le constructeur de :class:`bool`." #: ../Doc/library/operator.rst:74 msgid "Return ``a is b``. Tests object identity." msgstr "" +"Renvoie ``a is b``. Vérifie si les deux paramètres sont le même objet." #: ../Doc/library/operator.rst:79 msgid "Return ``a is not b``. Tests object identity." msgstr "" +"Renvoie ``a is not b``. Vérifie si les deux paramètres sont deux objets " +"distincts." #: ../Doc/library/operator.rst:82 msgid "The mathematical and bitwise operations are the most numerous:" -msgstr "" +msgstr "Les opérations mathématiques ou bit à bit sont les plus nombreuses :" #: ../Doc/library/operator.rst:88 msgid "Return the absolute value of *obj*." @@ -94,109 +117,114 @@ msgstr "Renvoie la valeur absolue de *obj*." #: ../Doc/library/operator.rst:94 msgid "Return ``a + b``, for *a* and *b* numbers." -msgstr "" +msgstr "Renvoie ``a + b`` où *a* et *b* sont des nombres." #: ../Doc/library/operator.rst:100 msgid "Return the bitwise and of *a* and *b*." -msgstr "" +msgstr "Renvoie le *et* bit à bit de *a* et *b*." #: ../Doc/library/operator.rst:106 msgid "Return ``a // b``." -msgstr "" +msgstr "Renvoie ``a // b``." #: ../Doc/library/operator.rst:112 msgid "Return *a* converted to an integer. Equivalent to ``a.__index__()``." -msgstr "" +msgstr "Renvoie *a* converti en entier. Équivaut à ``a.__index__()``." #: ../Doc/library/operator.rst:120 msgid "" "Return the bitwise inverse of the number *obj*. This is equivalent to " "``~obj``." -msgstr "" +msgstr "Renvoie l'inverse bit à bit du nombre *obj*. Équivaut à ``~obj``." #: ../Doc/library/operator.rst:126 msgid "Return *a* shifted left by *b*." -msgstr "" +msgstr "Renvoie le décalage de *b* bits vers la gauche de *a*." #: ../Doc/library/operator.rst:132 msgid "Return ``a % b``." -msgstr "" +msgstr "Renvoie``a % b``." #: ../Doc/library/operator.rst:138 msgid "Return ``a * b``, for *a* and *b* numbers." -msgstr "" +msgstr "Renvoie ``a * b`` où *a* et *b* sont des nombres." #: ../Doc/library/operator.rst:144 msgid "Return ``a @ b``." -msgstr "" +msgstr "Renvoie ``a @ b``." #: ../Doc/library/operator.rst:152 msgid "Return *obj* negated (``-obj``)." -msgstr "" +msgstr "Renvoie l'opposé de *obj* (``-obj``)." #: ../Doc/library/operator.rst:158 msgid "Return the bitwise or of *a* and *b*." -msgstr "" +msgstr "Renvoie le *ou* bit à bit de *a* et *b*." #: ../Doc/library/operator.rst:164 msgid "Return *obj* positive (``+obj``)." -msgstr "" +msgstr "Renvoie la valeur positive de *obj* (``+obj``)." #: ../Doc/library/operator.rst:170 msgid "Return ``a ** b``, for *a* and *b* numbers." -msgstr "" +msgstr "Renvoie ``a ** b`` où *a* et *b* sont des nombres." #: ../Doc/library/operator.rst:176 msgid "Return *a* shifted right by *b*." -msgstr "" +msgstr "Renvoie le décalage de *b* bits vers la droite de *a*." #: ../Doc/library/operator.rst:182 msgid "Return ``a - b``." -msgstr "" +msgstr "Renvoie ``a - b``." #: ../Doc/library/operator.rst:188 msgid "" "Return ``a / b`` where 2/3 is .66 rather than 0. This is also known as " "\"true\" division." msgstr "" +"Renvoie ``a / b`` où 2/3 est 0.66 et non 0. Appelée aussi division « réelle " +"»." #: ../Doc/library/operator.rst:195 msgid "Return the bitwise exclusive or of *a* and *b*." -msgstr "" +msgstr "Renvoie le ou exclusif bit à bit de *a* et *b*." #: ../Doc/library/operator.rst:198 msgid "" "Operations which work with sequences (some of them with mappings too) " "include:" msgstr "" +"Les opérations sur séquences (et pour certaines, sur correspondances) sont :" #: ../Doc/library/operator.rst:203 msgid "Return ``a + b`` for *a* and *b* sequences." -msgstr "" +msgstr "Renvoie ``a + b`` où *a* et *b* sont des séquences." #: ../Doc/library/operator.rst:209 msgid "Return the outcome of the test ``b in a``. Note the reversed operands." msgstr "" +"Renvoie le résultat du test ``b in a``. Notez que les opérandes sont " +"inversées." #: ../Doc/library/operator.rst:214 msgid "Return the number of occurrences of *b* in *a*." -msgstr "" +msgstr "Renvoie le nombre d’occurrences de *b* dans *a*." #: ../Doc/library/operator.rst:220 msgid "Remove the value of *a* at index *b*." -msgstr "" +msgstr "Renvoie la valeur de *a* à l'indice *b*." #: ../Doc/library/operator.rst:226 msgid "Return the value of *a* at index *b*." -msgstr "" +msgstr "Renvoie la valeur de *a* à l'indice *b*." #: ../Doc/library/operator.rst:231 msgid "Return the index of the first of occurrence of *b* in *a*." -msgstr "" +msgstr "Renvoie l'indice de la première occurrence de *b* dans *a*." #: ../Doc/library/operator.rst:237 msgid "Set the value of *a* at index *b* to *c*." -msgstr "" +msgstr "Affecte *c* dans *a* à l'indice *b*." #: ../Doc/library/operator.rst:242 msgid "" @@ -204,6 +232,9 @@ msgid "" "actual length, then an estimate using :meth:`object.__length_hint__`, and " "finally return the default value." msgstr "" +"Renvoie une estimation de la taille de l'objet *o*. Tente d'abord de " +"renvoyer la taille réelle, puis une estimation en appelant :meth:`object." +"__length_hint__`, ou sinon la valeur par défaut." #: ../Doc/library/operator.rst:248 msgid "" @@ -212,6 +243,11 @@ msgid "" "arguments for :func:`map`, :func:`sorted`, :meth:`itertools.groupby`, or " "other functions that expect a function argument." msgstr "" +"Le module :mod:`operator` définit aussi des fonctions pour la recherche " +"générique d'attributs ou d'objets. Elles sont particulièrement utiles pour " +"construire rapidement des accesseurs d'attributs à passer en paramètre à :" +"func:`map`, :func:`sorted`, :meth:`itertools.groupby` ou à toute autre " +"fonction prenant une fonction en paramètre." #: ../Doc/library/operator.rst:257 msgid "" @@ -219,22 +255,29 @@ msgid "" "one attribute is requested, returns a tuple of attributes. The attribute " "names can also contain dots. For example:" msgstr "" +"Renvoie un objet appelable qui récupère *attr* de son opérande. Si plus d'un " +"attribut est demandé, renvoie un n-uplet d'attributs. Les noms des attributs " +"peuvent aussi comporter des points. Par exemple :" #: ../Doc/library/operator.rst:261 msgid "After ``f = attrgetter('name')``, the call ``f(b)`` returns ``b.name``." -msgstr "" +msgstr "Avec ``f = attrgetter('name')``, l'appel ``f(b)`` renvoie ``b.name``." #: ../Doc/library/operator.rst:263 msgid "" "After ``f = attrgetter('name', 'date')``, the call ``f(b)`` returns ``(b." "name, b.date)``." msgstr "" +"Avec ``f = attrgetter('name', 'date')``, l'appel ``f(b)`` renvoie ``(b.name, " +"b.date)``." #: ../Doc/library/operator.rst:266 msgid "" "After ``f = attrgetter('name.first', 'name.last')``, the call ``f(b)`` " "returns ``(b.name.first, b.name.last)``." msgstr "" +"Après ``f = attrgetter('name.first', 'name.last')``, l'appel ``f(b)`` " +"renvoie ``(b.name.first, b.name.last)``." #: ../Doc/library/operator.rst:269 ../Doc/library/operator.rst:301 #: ../Doc/library/operator.rst:347 @@ -247,16 +290,20 @@ msgid "" "operand's :meth:`__getitem__` method. If multiple items are specified, " "returns a tuple of lookup values. For example:" msgstr "" +"Renvoie un objet appelable qui récupère *item* de l'opérande en utilisant la " +"méthode :meth:`__getitem__`. Si plusieurs *item* sont passés en paramètre, " +"renvoie un n-uplet des valeurs récupérées. Par exemple :" #: ../Doc/library/operator.rst:296 msgid "After ``f = itemgetter(2)``, the call ``f(r)`` returns ``r[2]``." -msgstr "" +msgstr "Avec ``f = itemgetter(2)``, ``f(r)`` renvoie ``r[2]``." #: ../Doc/library/operator.rst:298 msgid "" "After ``g = itemgetter(2, 5, 3)``, the call ``g(r)`` returns ``(r[2], r[5], " "r[3])``." msgstr "" +"Avec ``g = itemgetter(2, 5, 3)``, ``g(r)`` renvoie ``(r[2], r[5], r[3])``." #: ../Doc/library/operator.rst:313 msgid "" @@ -264,12 +311,18 @@ msgid "" "method. Dictionaries accept any hashable value. Lists, tuples, and strings " "accept an index or a slice:" msgstr "" +"Les *items* en entrée peuvent être de n'importe quel type tant que celui-ci " +"est géré par la méthode :meth:`__getitem__` de l'opérande. Les dictionnaires " +"acceptent toute valeur hachable. Les listes, n-uplets et chaînes de " +"caractères acceptent un index ou une tranche :" #: ../Doc/library/operator.rst:325 msgid "" "Example of using :func:`itemgetter` to retrieve specific fields from a tuple " "record:" msgstr "" +"Exemple d'utilisation de :func:`itemgetter` pour récupérer des champs " +"spécifiques d'un n-uplet :" #: ../Doc/library/operator.rst:338 msgid "" @@ -277,27 +330,34 @@ msgid "" "additional arguments and/or keyword arguments are given, they will be given " "to the method as well. For example:" msgstr "" +"Renvoie un objet appelable qui appelle la méthode *name* de son opérande. Si " +"des paramètres supplémentaires et/ou des paramètres nommés sont donnés, ils " +"seront aussi passés à la méthode. Par exemple :" #: ../Doc/library/operator.rst:342 msgid "" "After ``f = methodcaller('name')``, the call ``f(b)`` returns ``b.name()``." -msgstr "" +msgstr "Avec ``f = methodcaller('name')``, ``f(b)`` renvoie ``b.name()``." #: ../Doc/library/operator.rst:344 msgid "" "After ``f = methodcaller('name', 'foo', bar=1)``, the call ``f(b)`` returns " "``b.name('foo', bar=1)``." msgstr "" +"Avec ``f = methodcaller('name', 'foo', bar=1)``, ``f(b)`` renvoie ``b." +"name('foo', bar=1)``." #: ../Doc/library/operator.rst:358 msgid "Mapping Operators to Functions" -msgstr "" +msgstr "Correspondances entre opérateurs et fonctions" #: ../Doc/library/operator.rst:360 msgid "" "This table shows how abstract operations correspond to operator symbols in " "the Python syntax and the functions in the :mod:`operator` module." msgstr "" +"Le tableau montre la correspondance entre les symboles des opérateurs Python " +"et les fonctions du module :mod:`operator`." #: ../Doc/library/operator.rst:364 msgid "Operation" @@ -305,7 +365,7 @@ msgstr "Opération" #: ../Doc/library/operator.rst:364 msgid "Syntax" -msgstr "" +msgstr "Syntaxe" #: ../Doc/library/operator.rst:364 msgid "Function" @@ -313,7 +373,7 @@ msgstr "Fonction" #: ../Doc/library/operator.rst:366 msgid "Addition" -msgstr "" +msgstr "Addition" #: ../Doc/library/operator.rst:366 msgid "``a + b``" @@ -325,7 +385,7 @@ msgstr "``add(a, b)``" #: ../Doc/library/operator.rst:368 msgid "Concatenation" -msgstr "" +msgstr "Concaténation" #: ../Doc/library/operator.rst:368 msgid "``seq1 + seq2``" @@ -337,7 +397,7 @@ msgstr "``concat(seq1, seq2)``" #: ../Doc/library/operator.rst:370 msgid "Containment Test" -msgstr "" +msgstr "Test d'inclusion" #: ../Doc/library/operator.rst:370 msgid "``obj in seq``" @@ -349,7 +409,7 @@ msgstr "``contains(seq, obj)``" #: ../Doc/library/operator.rst:372 ../Doc/library/operator.rst:374 msgid "Division" -msgstr "" +msgstr "Division" #: ../Doc/library/operator.rst:372 msgid "``a / b``" @@ -369,7 +429,7 @@ msgstr "``floordiv(a, b)``" #: ../Doc/library/operator.rst:376 msgid "Bitwise And" -msgstr "" +msgstr "*Et* bit à bit" #: ../Doc/library/operator.rst:376 msgid "``a & b``" @@ -381,7 +441,7 @@ msgstr "``and_(a, b)``" #: ../Doc/library/operator.rst:378 msgid "Bitwise Exclusive Or" -msgstr "" +msgstr "*Ou exclusif* bit à bit" #: ../Doc/library/operator.rst:378 msgid "``a ^ b``" @@ -393,7 +453,7 @@ msgstr "``xor(a, b)``" #: ../Doc/library/operator.rst:380 msgid "Bitwise Inversion" -msgstr "" +msgstr "Inversion bit à bit" #: ../Doc/library/operator.rst:380 msgid "``~ a``" @@ -405,7 +465,7 @@ msgstr "``invert(a)``" #: ../Doc/library/operator.rst:382 msgid "Bitwise Or" -msgstr "" +msgstr "*Ou* bit à bit" #: ../Doc/library/operator.rst:382 msgid "``a | b``" @@ -417,7 +477,7 @@ msgstr "``or_(a, b)``" #: ../Doc/library/operator.rst:384 msgid "Exponentiation" -msgstr "" +msgstr "Exponentiation" #: ../Doc/library/operator.rst:384 msgid "``a ** b``" @@ -429,7 +489,7 @@ msgstr "``pow(a, b)``" #: ../Doc/library/operator.rst:386 ../Doc/library/operator.rst:388 msgid "Identity" -msgstr "" +msgstr "Identité" #: ../Doc/library/operator.rst:386 msgid "``a is b``" @@ -449,7 +509,7 @@ msgstr "``is_not(a, b)``" #: ../Doc/library/operator.rst:390 msgid "Indexed Assignment" -msgstr "" +msgstr "Affectation par index" #: ../Doc/library/operator.rst:390 msgid "``obj[k] = v``" @@ -461,7 +521,7 @@ msgstr "``setitem(obj, k, v)``" #: ../Doc/library/operator.rst:392 msgid "Indexed Deletion" -msgstr "" +msgstr "Suppression par index" #: ../Doc/library/operator.rst:392 msgid "``del obj[k]``" @@ -473,7 +533,7 @@ msgstr "``delitem(obj, k)``" #: ../Doc/library/operator.rst:394 msgid "Indexing" -msgstr "" +msgstr "Indexation" #: ../Doc/library/operator.rst:394 msgid "``obj[k]``" @@ -485,7 +545,7 @@ msgstr "``getitem(obj, k)``" #: ../Doc/library/operator.rst:396 msgid "Left Shift" -msgstr "" +msgstr "Décalage bit à bit gauche" #: ../Doc/library/operator.rst:396 msgid "``a << b``" @@ -497,7 +557,7 @@ msgstr "``lshift(a, b)``" #: ../Doc/library/operator.rst:398 msgid "Modulo" -msgstr "" +msgstr "Modulo" #: ../Doc/library/operator.rst:398 msgid "``a % b``" @@ -509,7 +569,7 @@ msgstr "``mod(a, b)``" #: ../Doc/library/operator.rst:400 msgid "Multiplication" -msgstr "" +msgstr "Multiplication" #: ../Doc/library/operator.rst:400 msgid "``a * b``" @@ -521,7 +581,7 @@ msgstr "``mul(a, b)``" #: ../Doc/library/operator.rst:402 msgid "Matrix Multiplication" -msgstr "" +msgstr "Multiplication matricielle" #: ../Doc/library/operator.rst:402 msgid "``a @ b``" @@ -533,7 +593,7 @@ msgstr "``matmul(a, b)``" #: ../Doc/library/operator.rst:404 msgid "Negation (Arithmetic)" -msgstr "" +msgstr "Opposé" #: ../Doc/library/operator.rst:404 msgid "``- a``" @@ -545,7 +605,7 @@ msgstr "``neg(a)``" #: ../Doc/library/operator.rst:406 msgid "Negation (Logical)" -msgstr "" +msgstr "Négation (logique)" #: ../Doc/library/operator.rst:406 msgid "``not a``" @@ -557,7 +617,7 @@ msgstr "``not_(a)``" #: ../Doc/library/operator.rst:408 msgid "Positive" -msgstr "" +msgstr "Valeur positive" #: ../Doc/library/operator.rst:408 msgid "``+ a``" @@ -569,7 +629,7 @@ msgstr "``pos(a)``" #: ../Doc/library/operator.rst:410 msgid "Right Shift" -msgstr "" +msgstr "Décalage bit à bit droite" #: ../Doc/library/operator.rst:410 msgid "``a >> b``" @@ -581,7 +641,7 @@ msgstr "``rshift(a, b)``" #: ../Doc/library/operator.rst:412 msgid "Slice Assignment" -msgstr "" +msgstr "Affectation par tranche" #: ../Doc/library/operator.rst:412 msgid "``seq[i:j] = values``" @@ -593,7 +653,7 @@ msgstr "``setitem(seq, slice(i, j), values)``" #: ../Doc/library/operator.rst:414 msgid "Slice Deletion" -msgstr "" +msgstr "Suppression par tranche" #: ../Doc/library/operator.rst:414 msgid "``del seq[i:j]``" @@ -605,7 +665,7 @@ msgstr "``delitem(seq, slice(i, j))``" #: ../Doc/library/operator.rst:416 msgid "Slicing" -msgstr "" +msgstr "Tranche" #: ../Doc/library/operator.rst:416 msgid "``seq[i:j]``" @@ -617,7 +677,7 @@ msgstr "``getitem(seq, slice(i, j))``" #: ../Doc/library/operator.rst:418 msgid "String Formatting" -msgstr "" +msgstr "Formatage de chaînes de caractères" #: ../Doc/library/operator.rst:418 msgid "``s % obj``" @@ -629,7 +689,7 @@ msgstr "``mod(s, obj)``" #: ../Doc/library/operator.rst:420 msgid "Subtraction" -msgstr "" +msgstr "Soustraction" #: ../Doc/library/operator.rst:420 msgid "``a - b``" @@ -641,7 +701,7 @@ msgstr "``sub(a, b)``" #: ../Doc/library/operator.rst:422 msgid "Truth Test" -msgstr "" +msgstr "Test de véracité" #: ../Doc/library/operator.rst:422 msgid "``obj``" @@ -654,7 +714,7 @@ msgstr "``truth(obj)``" #: ../Doc/library/operator.rst:424 ../Doc/library/operator.rst:426 #: ../Doc/library/operator.rst:432 ../Doc/library/operator.rst:434 msgid "Ordering" -msgstr "" +msgstr "Ordre" #: ../Doc/library/operator.rst:424 msgid "``a < b``" @@ -674,7 +734,7 @@ msgstr "``le(a, b)``" #: ../Doc/library/operator.rst:428 msgid "Equality" -msgstr "" +msgstr "Égalité" #: ../Doc/library/operator.rst:428 msgid "``a == b``" @@ -725,6 +785,12 @@ msgid "" "operator.iadd(x, y)`` is equivalent to the compound statement ``z = x; z += " "y``." msgstr "" +"Beaucoup d'opérations ont une version travaillant « en-place ». Les " +"fonctions listées ci-dessous fournissent un accès plus direct aux opérateurs " +"en-place que la syntaxe Python habituelle ; par exemple, l'expression :term:" +"`statement` ``x += y`` équivaut à ``x = operator.iadd(x, y)``. Autrement " +"dit, l'expression ``z = operator.iadd(x, y)`` équivaut à l'expression " +"composée ``z = x; z += y``." #: ../Doc/library/operator.rst:447 msgid "" @@ -733,12 +799,20 @@ msgid "" "place functions listed below only do the first step, calling the in-place " "method. The second step, assignment, is not handled." msgstr "" +"Dans ces exemples, notez que lorsqu'une méthode en-place est appelée, le " +"calcul et l'affectation sont effectués en deux étapes distinctes. Les " +"fonctions en-place de la liste ci-dessous ne font que la première, en " +"appelant la méthode en-place. La seconde étape, l'affectation, n'est pas " +"effectuée." #: ../Doc/library/operator.rst:452 msgid "" "For immutable targets such as strings, numbers, and tuples, the updated " "value is computed, but not assigned back to the input variable:" msgstr "" +"Pour des paramètres non-mutables comme les chaînes de caractères, les " +"nombres et les n-uplets, la nouvelle valeur est calculée, mais pas affectée " +"à la variable d'entrée:" #: ../Doc/library/operator.rst:461 msgid "" diff --git a/library/optparse.po b/library/optparse.po index 9eb1fdd1..f2b6002e 100644 --- a/library/optparse.po +++ b/library/optparse.po @@ -1784,7 +1784,7 @@ msgstr "" #: ../Doc/library/optparse.rst:1483 msgid "Cleanup" -msgstr "" +msgstr "Nettoyage" #: ../Doc/library/optparse.rst:1485 msgid "" diff --git a/library/pickle.po b/library/pickle.po index a87c099a..244b2e15 100644 --- a/library/pickle.po +++ b/library/pickle.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/pickle.rst:2 msgid ":mod:`pickle` --- Python object serialization" -msgstr "" +msgstr ":mod:`pickle` --- Module de sérialisation d'objets Python" #: ../Doc/library/pickle.rst:10 msgid "**Source code:** :source:`Lib/pickle.py`" -msgstr "" +msgstr "**Code source :** :source:`Lib/pickle.py`" #: ../Doc/library/pickle.rst:22 msgid "" @@ -35,6 +35,15 @@ msgid "" "\"serialization\", \"marshalling,\" [#]_ or \"flattening\"; however, to " "avoid confusion, the terms used here are \"pickling\" and \"unpickling\"." msgstr "" +"Le module :mod:`pickle` implémente des protocoles binaires de sérialisation " +"et dé-sérialisation d'objets Python. Le *pickling* est le procédé par lequel " +"une hiérarchie d'objets Python est convertie en flux d'octets. *unpickling* " +"est l'opération inverse, par laquelle un flux d'octets (à partir d'un :term:" +"`binary file` ou :term:`bytes-like object`) est converti en hiérarchie " +"d'objets. *Pickling* (et *unpickling*) sont alternativement connus sous les " +"termes de \"sérialisation\", de \"*marshalling*\" [#]_ ou encore de " +"\"*flattening*\". Cependant pour éviter la confusion les termes utilisés ici " +"sont *pickling* et *unpickling*." #: ../Doc/library/pickle.rst:33 msgid "" @@ -42,14 +51,17 @@ msgid "" "constructed data. Never unpickle data received from an untrusted or " "unauthenticated source." msgstr "" +"Le module :mod:`pickle` n'est pas sécurisé contre les données erronées et " +"malicieusement construites. Ne jamais *unpickle* la donnée reçue à partir " +"d'une source non fiable ou non authentifiée." #: ../Doc/library/pickle.rst:39 msgid "Relationship to other Python modules" -msgstr "" +msgstr "Relations aux autres modules python" #: ../Doc/library/pickle.rst:42 msgid "Comparison with ``marshal``" -msgstr "" +msgstr "Comparaison avec ``marshal``" #: ../Doc/library/pickle.rst:44 msgid "" @@ -58,12 +70,18 @@ msgid "" "Python objects. :mod:`marshal` exists primarily to support Python's :file:`." "pyc` files." msgstr "" +"Python possède un module de bas niveau en sérialisation appelé :mod:" +"`marshal`, mais en général il est préférable d'utiliser :mod:`pickle` pour " +"sérialiser des objets Python. :mod:`marshal` existe principalement pour " +"gérer les fichiers Python en :file:`.pyc`." #: ../Doc/library/pickle.rst:49 msgid "" "The :mod:`pickle` module differs from :mod:`marshal` in several significant " "ways:" msgstr "" +"Le module :mod:`pickle` diffère du module :mod:`marshal` sur plusieurs " +"aspects :" #: ../Doc/library/pickle.rst:51 msgid "" @@ -71,6 +89,9 @@ msgid "" "serialized, so that later references to the same object won't be serialized " "again. :mod:`marshal` doesn't do this." msgstr "" +"Le module :mod:`pickle` garde la trace des objets qu'il a déjà sérialisés, " +"pour faire en sorte que les prochaines références à cet objet ne soient pas " +"sérialisées à nouveau. :mod:`marshal` ne le fait pas." #: ../Doc/library/pickle.rst:55 msgid "" @@ -84,6 +105,14 @@ msgid "" "Shared objects remain shared, which can be very important for mutable " "objects." msgstr "" +"Ça a des implications sur les objets partagés et les objets récursifs. Les " +"objets récursifs sont des objets qui contiennent des références à eux-mêmes. " +"Ceux-ci ne sont pas gérées par marshal : lui donner un objet récursif va le " +"faire planter. Un objet est partagé lorsque que plusieurs références " +"pointent dessus, depuis différents endroits dans la hiérarchie sérialisée. " +"Le module :mod:`pickle` repère ces partages et ne stocke ces objets qu'une " +"seule fois. Les objets partagés restent ainsi partagés, ce qui peut être " +"très important pour les objets muables." #: ../Doc/library/pickle.rst:64 msgid "" @@ -92,6 +121,11 @@ msgid "" "transparently, however the class definition must be importable and live in " "the same module as when the object was stored." msgstr "" +":mod:`marshal` ne peut être utilisé pour la sérialisation et l'instanciation " +"de classes définies par les utilisateurs. :mod:`pickle` peut sauvegarder et " +"restaurer les instances de classes de manière transparente. Cependant la " +"définition de classe doit être importable et lancée dans le même module et " +"de la même manière que lors de son importation." #: ../Doc/library/pickle.rst:69 msgid "" diff --git a/library/plistlib.po b/library/plistlib.po index 2dd6ea05..6506a09c 100644 --- a/library/plistlib.po +++ b/library/plistlib.po @@ -73,7 +73,7 @@ msgstr "" #: ../Doc/library/plistlib.rst:45 msgid "This module defines the following functions:" -msgstr "" +msgstr "Ce module définit les fonctions suivantes :" #: ../Doc/library/plistlib.rst:49 msgid "" diff --git a/library/poplib.po b/library/poplib.po index 839b75c4..d686b392 100644 --- a/library/poplib.po +++ b/library/poplib.po @@ -103,7 +103,7 @@ msgstr "" #: ../Doc/library/poplib.rst:78 msgid "Module :mod:`imaplib`" -msgstr "" +msgstr "Module :mod:`imaplib`" #: ../Doc/library/poplib.rst:78 msgid "The standard Python IMAP module." diff --git a/library/pprint.po b/library/pprint.po index 3950721a..a83e097a 100644 --- a/library/pprint.po +++ b/library/pprint.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/pprint.rst:2 msgid ":mod:`pprint` --- Data pretty printer" -msgstr "" +msgstr ":mod:`pprint` — L’affichage élégant de données" #: ../Doc/library/pprint.rst:10 msgid "**Source code:** :source:`Lib/pprint.py`" @@ -33,6 +33,15 @@ msgid "" "be the case if objects such as files, sockets or classes are included, as " "well as many other objects which are not representable as Python literals." msgstr "" +"Le module :mod:`pprint` permet « d’afficher élégamment » des structures de " +"données Python arbitraires sous une forme qui peut être utilisée ensuite " +"comme une entrée dans l’interpréteur. Si les structures formatées incluent " +"des objets qui ne sont pas des types Python fondamentaux, leurs " +"représentations peuvent ne pas être acceptables en tant que telles par " +"l’interpréteur. Cela peut être le cas si des objets tels que des fichiers, " +"des interfaces de connexion (*sockets* en anglais) ou des classes sont " +"inclus, c’est aussi valable pour beaucoup d’autres types d’objets qui ne " +"peuvent être représentés sous forme littérale en Python." #: ../Doc/library/pprint.rst:21 msgid "" @@ -41,14 +50,20 @@ msgid "" "Construct :class:`PrettyPrinter` objects explicitly if you need to adjust " "the width constraint." msgstr "" +"L’affichage formaté affiche tant que possible les objets sur une seule " +"ligne, et les sépare sur plusieurs lignes s’ils dépassent la largeur " +"autorisée par l’interpréteur. Créez explicitement des objets :class:" +"`PrettyPrinter` si vous avez besoin de modifier les limites de largeur." #: ../Doc/library/pprint.rst:26 msgid "Dictionaries are sorted by key before the display is computed." msgstr "" +"Les dictionnaires sont classés par clés avant que l’affichage ne soit " +"calculé." #: ../Doc/library/pprint.rst:28 msgid "The :mod:`pprint` module defines one class:" -msgstr "" +msgstr "Le module :mod:`pprint` définit une seule classe : ::" #: ../Doc/library/pprint.rst:36 msgid "" @@ -69,15 +84,34 @@ msgid "" "separate line. If *compact* is true, as many items as will fit within the " "*width* will be formatted on each output line." msgstr "" +"Crée une instance de :class:`PrettyPrinter`. Ce constructeur accepte " +"plusieurs paramètres nommés. Un flux de sortie peut être défini par le mot " +"clé *stream*; la seule méthode utilisée sur l’objet *stream* est la méthode :" +"meth:`write` du protocole de fichiers. Si rien n’est spécifié, la classe :" +"class:`PrettyPrinter` utilise ``sys.stdout``. La taille de l’indentation " +"ajoutée à chaque niveau récursif est spécifiée par *indent*; la valeur par " +"défaut vaut ``1`. D’autres valeurs pourraient donner des résultats " +"surprenants, mais peuvent aider à mieux visualiser les imbrications. Le " +"nombre de niveaux qui peuvent être affichés est contrôlé par *depth*; si la " +"structure de données est trop profonde, le niveau suivant est remplacé par " +"``…``. Par défaut il n’y a pas de contraintes sur la profondeur des objets " +"formatés. Vous pouvez limiter la largeur de la sortie à l’aide du paramètre " +"*width*; la valeur par défaut est de 80 caractères. Si une structure ne peut " +"pas être formatée dans les limites de la largeur contrainte, le module fait " +"au mieux. SI *compact* est initialisé à *False* (la valeur par défaut), " +"chaque élément d’une longue séquence est formaté sur une ligne séparée. Si " +"*compact* est initialisé à *True*, tous les éléments qui peuvent tenir dans " +"la largeur définie sont formatés sur chaque ligne de sortie." #: ../Doc/library/pprint.rst:53 ../Doc/library/pprint.rst:88 #: ../Doc/library/pprint.rst:102 msgid "Added the *compact* parameter." -msgstr "" +msgstr "Ajout du paramètre *compact*." #: ../Doc/library/pprint.rst:80 msgid "The :mod:`pprint` module also provides several shortcut functions:" msgstr "" +"Le module :mod:`pprint` fournit aussi quelques fonctions de raccourcis : ::" #: ../Doc/library/pprint.rst:84 msgid "" @@ -85,6 +119,9 @@ msgid "" "*width*, *depth* and *compact* will be passed to the :class:`PrettyPrinter` " "constructor as formatting parameters." msgstr "" +"Renvoie une représentation formatée de *object* sous forme de chaine de " +"caractères. *indent*, *width*, *depth* et *compact* sont passés au " +"constructeur de :class:`PrettyPrinter` comme paramètres de formatage." #: ../Doc/library/pprint.rst:95 msgid "" @@ -95,6 +132,13 @@ msgid "" "within a scope). *indent*, *width*, *depth* and *compact* will be passed to " "the :class:`PrettyPrinter` constructor as formatting parameters." msgstr "" +"Affiche la représentation formatée de *object* sur *stream*, suivie d’un " +"retour à la ligne. Si *stream* vaut ``None``, ``sys.stdout`` est alors " +"utilisé. Vous pouvez l’utiliser dans l’interpréteur interactif de Python au " +"lieu de la fonction :func:`print` pour inspecter les valeurs (vous pouvez " +"même réassigner ``print = pprint.pprint`` pour une utilisation au sein de sa " +"portée). *indent*, *width*, *depth* et *compact* sont passés au constructeur " +"de classe :class:`PrettyPrinter` comme paramètres de formatage." #: ../Doc/library/pprint.rst:121 msgid "" @@ -102,14 +146,17 @@ msgid "" "can be used to reconstruct the value using :func:`eval`. This always " "returns ``False`` for recursive objects." msgstr "" +"Détermine si la représentation formatée de *object* est « lisible », ou s’il " +"peut être utilisé pour recomposer sa valeur en utilisant la fonction :func:" +"`eval`. Cela renvoie toujours ``False`` pour les objets récursifs." #: ../Doc/library/pprint.rst:131 msgid "Determine if *object* requires a recursive representation." -msgstr "" +msgstr "Détermine si *object* requiert une représentation récursive." #: ../Doc/library/pprint.rst:134 msgid "One more support function is also defined:" -msgstr "" +msgstr "Une dernière fonction de support est définie ainsi : ::" #: ../Doc/library/pprint.rst:138 msgid "" @@ -118,26 +165,37 @@ msgid "" "the recursive reference will be represented as ````. The representation is not otherwise formatted." msgstr "" +"Renvoie une représentation de *object* sous forme de chaîne de caractère, " +"celle-ci est protégée contre les structures de données récursives. Si la " +"représentation de *object* présente une entrée récursive, celle-ci sera " +"représentée telle que ````. Par " +"ailleurs, la représentation de l’objet n’est pas formatée." #: ../Doc/library/pprint.rst:150 msgid "PrettyPrinter Objects" -msgstr "" +msgstr "Les Objets PrettyPrinter" #: ../Doc/library/pprint.rst:152 msgid ":class:`PrettyPrinter` instances have the following methods:" msgstr "" +"Les instances de la classe :class:`PrettyPrinter` ont les méthodes " +"suivantes : ::" #: ../Doc/library/pprint.rst:157 msgid "" "Return the formatted representation of *object*. This takes into account " "the options passed to the :class:`PrettyPrinter` constructor." msgstr "" +"Renvoie la représentation formatée de *object*. Cela prend en compte les " +"options passées au constructeur de la classe :class:`PrettyPrinter`." #: ../Doc/library/pprint.rst:163 msgid "" "Print the formatted representation of *object* on the configured stream, " "followed by a newline." msgstr "" +"Affiche sur le flux configuré la représentation formatée de *object*, suivie " +"d’une fin de ligne." #: ../Doc/library/pprint.rst:166 msgid "" @@ -146,6 +204,10 @@ msgid "" "more efficient since new :class:`PrettyPrinter` objects don't need to be " "created." msgstr "" +"Les méthodes suivantes fournissent les implémentations pour les fonctions " +"correspondantes de mêmes noms. L’utilisation de ces méthodes sur une " +"instance est légèrement plus efficace, car les nouveaux objets :class:" +"`PrettyPrinter` n’ont pas besoin d’être créés." #: ../Doc/library/pprint.rst:176 msgid "" @@ -155,10 +217,15 @@ msgid "" "class:`PrettyPrinter` is set and the object is deeper than allowed, this " "returns ``False``." msgstr "" +"Détermine si la représentation formatée de *object* est « lisible », ou si " +"elle peut être utilisée pour recomposer sa valeur en utilisant la fonction :" +"func:`eval`. Cela renvoie toujours ``False`` pour les objets récursifs. Si " +"le paramètre *depth* de la classe :class:`PrettyPrinter` est initialisé et " +"que l’objet est plus « profond » que permis, cela renvoie ``False``." #: ../Doc/library/pprint.rst:185 msgid "Determine if the object requires a recursive representation." -msgstr "" +msgstr "Détermine si l’objet nécessite une représentation récursive." #: ../Doc/library/pprint.rst:187 msgid "" @@ -166,6 +233,10 @@ msgid "" "objects are converted to strings. The default implementation uses the " "internals of the :func:`saferepr` implementation." msgstr "" +"Cette méthode est fournie sous forme de point d’entrée ou méthode (à " +"déclenchement) automatique (*hook* en anglais) pour permettre aux sous-" +"classes de modifier la façon dont les objets sont convertis en chaînes. " +"L’implémentation par défaut est celle de la fonction :func:`saferepr`." #: ../Doc/library/pprint.rst:194 msgid "" @@ -184,6 +255,21 @@ msgid "" "the current level; recursive calls should be passed a value less than that " "of the current call." msgstr "" +"Renvoie trois valeurs : la version formatée de *object* sous forme de chaîne " +"de caractères, une option indiquant si le résultat est « lisible », et une " +"option indiquant si une récursion a été détectée. Le premier argument est " +"l’objet à représenter. Le deuxième est un dictionnaire qui contient l'\\ :" +"func:`id` des objets (conteneurs directs ou indirects de *objet* qui " +"affectent sa représentation) qui font partie du contexte de représentation " +"courant tel que les clés; si un objet doit être représenté, mais l’a déjà " +"été dans ce contexte, le troisième argument renvoie ``True``. Des appels " +"récursifs à la méthode :meth:`.format` doivent ajouter des entrés " +"additionnelles aux conteneurs de ce dictionnaire. Le troisième argument " +"*maxlevels*, donne la limite maximale de récursivité; la valeur par défaut " +"est ``0``. Cet argument doit être passé non modifié pour des appels non " +"récursifs. Le quatrième argument, *level*, donne le niveau de récursivité " +"courant; les appels récursifs doivent être passés à une valeur inférieure à " +"celle de l’appel courant." #: ../Doc/library/pprint.rst:212 msgid "Example" @@ -199,15 +285,22 @@ msgstr "" #: ../Doc/library/pprint.rst:225 msgid "In its basic form, :func:`pprint` shows the whole object::" msgstr "" +"Dans sa forme basique, la fonction :func:`pprint` affiche l’intégralité de " +"l’objet : ::" #: ../Doc/library/pprint.rst:279 msgid "" "The result can be limited to a certain *depth* (ellipsis is used for deeper " "contents)::" msgstr "" +"Le résultat peut être limité à une certaine profondeur en initialisant " +"*depth*. ( ``…`` est utilisé pour des contenus plus « profonds ») : ::" #: ../Doc/library/pprint.rst:313 msgid "" "Additionally, maximum character *width* can be suggested. If a long object " "cannot be split, the specified width will be exceeded::" msgstr "" +"De plus, une valeur maximale de caractères sur une ligne peut être définie " +"en initialisant le paramètre *width*. Si un long objet ne peut être scindé, " +"la valeur donnée à *width* sera outrepassée : ::" diff --git a/library/pwd.po b/library/pwd.po index 87119226..b85b10b6 100644 --- a/library/pwd.po +++ b/library/pwd.po @@ -35,7 +35,7 @@ msgstr "" #: ../Doc/library/pwd.rst:18 msgid "Index" -msgstr "" +msgstr "Index" #: ../Doc/library/pwd.rst:18 msgid "Attribute" @@ -55,7 +55,7 @@ msgstr "``pw_name``" #: ../Doc/library/pwd.rst:20 msgid "Login name" -msgstr "" +msgstr "Nom d’utilisateur" #: ../Doc/library/pwd.rst:22 msgid "1" @@ -115,7 +115,7 @@ msgstr "``pw_dir``" #: ../Doc/library/pwd.rst:30 msgid "User home directory" -msgstr "" +msgstr "Répertoire d’accueil de l’utilisateur" #: ../Doc/library/pwd.rst:32 msgid "6" @@ -166,11 +166,11 @@ msgstr "" #: ../Doc/library/pwd.rst:72 msgid "Module :mod:`grp`" -msgstr "" +msgstr "Module :mod:`grp`" #: ../Doc/library/pwd.rst:72 msgid "An interface to the group database, similar to this." -msgstr "" +msgstr "Interface pour la base de données des groupes, similaire à celle-ci." #: ../Doc/library/pwd.rst:74 msgid "Module :mod:`spwd`" diff --git a/library/random.po b/library/random.po index 0b03d888..ba170688 100644 --- a/library/random.po +++ b/library/random.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/random.rst:2 msgid ":mod:`random` --- Generate pseudo-random numbers" -msgstr "" +msgstr ":mod:`random` --- Génère des nombres pseudo-aléatoires" #: ../Doc/library/random.rst:7 msgid "**Source code:** :source:`Lib/random.py`" @@ -29,6 +29,8 @@ msgid "" "This module implements pseudo-random number generators for various " "distributions." msgstr "" +"Ce module implémente des générateurs de nombres pseudo-aléatoires pour " +"différentes distributions." #: ../Doc/library/random.rst:14 msgid "" @@ -37,6 +39,10 @@ msgid "" "permutation of a list in-place, and a function for random sampling without " "replacement." msgstr "" +"Pour les entiers, il existe une sélection uniforme à partir d'une plage. " +"Pour les séquences, il existe une sélection uniforme d'un élément aléatoire, " +"une fonction pour générer une permutation aléatoire d'une liste sur place et " +"une fonction pour un échantillonnage aléatoire sans remplacement." #: ../Doc/library/random.rst:19 msgid "" @@ -44,6 +50,10 @@ msgid "" "lognormal, negative exponential, gamma, and beta distributions. For " "generating distributions of angles, the von Mises distribution is available." msgstr "" +"Pour l'ensemble des réels, il y a des fonctions pour calculer des " +"distributions uniformes, normales (gaussiennes), log-normales, " +"exponentielles négatives, gamma et bêta. Pour générer des distributions " +"d'angles, la distribution de *von Mises* est disponible." #: ../Doc/library/random.rst:23 msgid "" @@ -56,6 +66,16 @@ msgid "" "However, being completely deterministic, it is not suitable for all " "purposes, and is completely unsuitable for cryptographic purposes." msgstr "" +"Presque toutes les fonctions du module dépendent de la fonction de base :" +"func:`.random`, qui génère un nombre à virgule flottante aléatoire de façon " +"uniforme dans la plage semi-ouverte [0.0, 1.0). Python utilise l'algorithme " +"*Mersenne Twister* comme générateur de base. Il produit des flottants de " +"précision de 53 bits et a une période de 2\\*\\*\\*19937-1. L'implémentation " +"sous-jacente en C est à la fois rapide et compatible avec les programmes " +"ayant de multiples fils d'exécution. Le *Mersenne Twister* est l'un des " +"générateurs de nombres aléatoires les plus largement testés qui existent. " +"Cependant, étant complètement déterministe, il n'est pas adapté à tous les " +"usages et est totalement inadapté à des fins cryptographiques." #: ../Doc/library/random.rst:32 msgid "" @@ -63,6 +83,10 @@ msgid "" "instance of the :class:`random.Random` class. You can instantiate your own " "instances of :class:`Random` to get generators that don't share state." msgstr "" +"Les fonctions fournies par ce module dépendent en réalité de méthodes d’une " +"instance cachée de la classe :class:`random.Random`. Vous pouvez créer vos " +"propres instances de :class:`Random` pour obtenir des générateurs sans états " +"partagés." #: ../Doc/library/random.rst:36 msgid "" @@ -73,6 +97,13 @@ msgid "" "`~Random.getrandbits` method --- this allows :meth:`randrange` to produce " "selections over an arbitrarily large range." msgstr "" +"La classe :class:`Random` peut également être sous-classée si vous voulez " +"utiliser un générateur de base différent, de votre propre conception. Dans " +"ce cas, remplacez les méthodes :meth:`~Random.random`, :meth:`~Random." +"seed`, :meth:`~Random.gettsate` et :meth:`~Random.setstate`. En option, un " +"nouveau générateur peut fournir une méthode :meth:`~Random.getrandbits` --- " +"ce qui permet à :meth:`randrange` de produire des sélections sur une plage " +"de taille arbitraire." #: ../Doc/library/random.rst:42 msgid "" diff --git a/library/resource.po b/library/resource.po index f642d13c..6959691b 100644 --- a/library/resource.po +++ b/library/resource.po @@ -308,7 +308,7 @@ msgstr "" #: ../Doc/library/resource.rst:279 msgid "Index" -msgstr "" +msgstr "Index" #: ../Doc/library/resource.rst:279 msgid "Field" diff --git a/library/shutil.po b/library/shutil.po index 91a00687..e3e0ba6a 100644 --- a/library/shutil.po +++ b/library/shutil.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/shutil.rst:2 msgid ":mod:`shutil` --- High-level file operations" -msgstr "" +msgstr ":mod:`shutil` --- Opérations de haut niveau sur les fichiers" #: ../Doc/library/shutil.rst:10 msgid "**Source code:** :source:`Lib/shutil.py`" diff --git a/library/socketserver.po b/library/socketserver.po index 64e3fa39..7c50cfc0 100644 --- a/library/socketserver.po +++ b/library/socketserver.po @@ -189,7 +189,7 @@ msgstr "" #: ../Doc/library/socketserver.rst:163 msgid "Server Objects" -msgstr "" +msgstr "Objets Serveur" #: ../Doc/library/socketserver.rst:167 msgid "" diff --git a/library/spwd.po b/library/spwd.po index b818e648..735150e5 100644 --- a/library/spwd.po +++ b/library/spwd.po @@ -18,19 +18,24 @@ msgstr "" #: ../Doc/library/spwd.rst:2 msgid ":mod:`spwd` --- The shadow password database" -msgstr "" +msgstr ":mod:`spwd` — La base de données de mots de passe *shadow*" #: ../Doc/library/spwd.rst:10 msgid "" "This module provides access to the Unix shadow password database. It is " "available on various Unix versions." msgstr "" +"Ce module permet d'accéder à la base de données UNIX de mots de passe " +"*shadow*. Elle est disponible sur différentes versions d'UNIX." #: ../Doc/library/spwd.rst:13 msgid "" "You must have enough privileges to access the shadow password database (this " "usually means you have to be root)." msgstr "" +"Vous devez disposer des droits suffisants pour accéder à la base de données " +"de mots de passe *shadow* (cela signifie généralement que vous devez être " +"*root*)." #: ../Doc/library/spwd.rst:16 msgid "" @@ -38,10 +43,14 @@ msgid "" "attributes correspond to the members of the ``spwd`` structure (Attribute " "field below, see ````):" msgstr "" +"Les entrées de la base de données de mots de passe *shadow* sont renvoyées " +"comme un objet semblable à un tuple, dont les attributs correspondent aux " +"membres de la structure ``spwd`` (champ attribut ci-dessous, voir ````) :" #: ../Doc/library/spwd.rst:21 msgid "Index" -msgstr "" +msgstr "Index" #: ../Doc/library/spwd.rst:21 msgid "Attribute" @@ -61,7 +70,7 @@ msgstr "``sp_namp``" #: ../Doc/library/spwd.rst:23 msgid "Login name" -msgstr "" +msgstr "Nom d’utilisateur" #: ../Doc/library/spwd.rst:25 msgid "1" @@ -73,7 +82,7 @@ msgstr "``sp_pwdp``" #: ../Doc/library/spwd.rst:25 msgid "Encrypted password" -msgstr "" +msgstr "Mot de passe haché" #: ../Doc/library/spwd.rst:27 msgid "2" @@ -85,7 +94,7 @@ msgstr "``sp_lstchg``" #: ../Doc/library/spwd.rst:27 msgid "Date of last change" -msgstr "" +msgstr "Date du dernier changement" #: ../Doc/library/spwd.rst:29 msgid "3" @@ -97,7 +106,7 @@ msgstr "``sp_min``" #: ../Doc/library/spwd.rst:29 msgid "Minimal number of days between changes" -msgstr "" +msgstr "Nombre minimal de jours entre les modifications" #: ../Doc/library/spwd.rst:32 msgid "4" @@ -109,7 +118,7 @@ msgstr "``sp_max``" #: ../Doc/library/spwd.rst:32 msgid "Maximum number of days between changes" -msgstr "" +msgstr "Nombre maximal de jours entre les modifications" #: ../Doc/library/spwd.rst:35 msgid "5" @@ -122,6 +131,8 @@ msgstr "``sp_warn``" #: ../Doc/library/spwd.rst:35 msgid "Number of days before password expires to warn user about it" msgstr "" +"Nombre de jours avant l'expiration du mot de passe pendant lequel " +"l'utilisateur doit être prévenu" #: ../Doc/library/spwd.rst:38 msgid "6" @@ -134,6 +145,8 @@ msgstr "``sp_inact``" #: ../Doc/library/spwd.rst:38 msgid "Number of days after password expires until account is disabled" msgstr "" +"Nombre de jours avant la désactivation du compte, suite à l'expiration du " +"mot de passe" #: ../Doc/library/spwd.rst:42 msgid "7" @@ -146,6 +159,8 @@ msgstr "``sp_expire``" #: ../Doc/library/spwd.rst:42 msgid "Number of days since 1970-01-01 when account expires" msgstr "" +"Date à laquelle le compte expire, en nombre de jours depuis le 1er janvier " +"1970" #: ../Doc/library/spwd.rst:45 msgid "8" @@ -164,33 +179,42 @@ msgid "" "The sp_namp and sp_pwdp items are strings, all others are integers. :exc:" "`KeyError` is raised if the entry asked for cannot be found." msgstr "" +"Les champs ``sp_namp`` et ``sp_pwdp`` sont des chaines de caractères, tous " +"les autres sont des entiers. :exc:`KeyError` est levée si l’entrée demandée " +"est introuvable." #: ../Doc/library/spwd.rst:51 msgid "The following functions are defined:" -msgstr "" +msgstr "Les fonctions suivantes sont définies :" #: ../Doc/library/spwd.rst:56 msgid "Return the shadow password database entry for the given user name." msgstr "" +"Renvoie l'entrée de base de données de mot de passe *shadow* pour le nom " +"d'utilisateur donné." #: ../Doc/library/spwd.rst:61 msgid "" "Return a list of all available shadow password database entries, in " "arbitrary order." msgstr "" +"Renvoie une liste de toutes les entrées de la base de données de mots de " +"passe *shadow*, dans un ordre arbitraire." #: ../Doc/library/spwd.rst:68 msgid "Module :mod:`grp`" -msgstr "" +msgstr "Module :mod:`grp`" #: ../Doc/library/spwd.rst:68 msgid "An interface to the group database, similar to this." -msgstr "" +msgstr "Interface pour la base de données des groupes, similaire à celle-ci." #: ../Doc/library/spwd.rst:70 msgid "Module :mod:`pwd`" -msgstr "" +msgstr "Module :mod:`pwd`" #: ../Doc/library/spwd.rst:71 msgid "An interface to the normal password database, similar to this." msgstr "" +"Interface pour la base de données (normale) des mots de passe, semblable à " +"ceci." diff --git a/library/sqlite3.po b/library/sqlite3.po index e9e9c5b3..fb8e9869 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/sqlite3.rst:2 msgid ":mod:`sqlite3` --- DB-API 2.0 interface for SQLite databases" -msgstr "" +msgstr ":mod:`sqlite3` — Interface DB-API 2.0 pour bases de données SQLite" #: ../Doc/library/sqlite3.rst:9 msgid "**Source code:** :source:`Lib/sqlite3/`" -msgstr "" +msgstr "**Code source :** :source:`Lib/sqlite3/`" #: ../Doc/library/sqlite3.rst:13 msgid "" @@ -33,6 +33,13 @@ msgid "" "application using SQLite and then port the code to a larger database such as " "PostgreSQL or Oracle." msgstr "" +"SQLite est une bibliothèque C qui fournit une base de données légère sur " +"disque ne nécessitant pas de processus serveur et qui utilise une variante " +"(non standard) du langage de requête SQL pour accéder aux données. Certaines " +"applications peuvent utiliser SQLite pour le stockage de données internes. " +"Il est également possible de créer une application prototype utilisant " +"SQLite, puis de modifier le code pour utiliser une base de données plus " +"robuste telle que PostgreSQL ou Oracle." #: ../Doc/library/sqlite3.rst:20 msgid "" @@ -40,6 +47,8 @@ msgid "" "interface compliant with the DB-API 2.0 specification described by :pep:" "`249`." msgstr "" +"Le module *sqlite3* a été écrit par Gerhard Häring. Il fournit une " +"interface SQL conforme à la spécification DB-API 2.0 décrite par :pep:`249`." #: ../Doc/library/sqlite3.rst:23 msgid "" @@ -47,23 +56,33 @@ msgid "" "represents the database. Here the data will be stored in the :file:`example." "db` file::" msgstr "" +"Pour utiliser le module, vous devez d’abord créer une :class:`Connection` " +"qui représente la base de données. Dans cet exemple, les données sont " +"stockées dans le fichier :file:`example.db` ::" #: ../Doc/library/sqlite3.rst:30 msgid "" "You can also supply the special name ``:memory:`` to create a database in " "RAM." msgstr "" +"Vous pouvez également fournir le nom spécial ``:memory:`` pour créer une " +"base de données dans la mémoire vive." #: ../Doc/library/sqlite3.rst:32 msgid "" "Once you have a :class:`Connection`, you can create a :class:`Cursor` " "object and call its :meth:`~Cursor.execute` method to perform SQL commands::" msgstr "" +"Une fois que vous avez une instance de :class:`Connection`, vous pouvez " +"créer un objet :class:`Cursor` et appeler sa méthode :meth:`~Cursor.execute` " +"pour exécuter les commandes SQL ::" #: ../Doc/library/sqlite3.rst:51 msgid "" "The data you've saved is persistent and is available in subsequent sessions::" msgstr "" +"Les données que vous avez sauvegardées sont persistantes et disponibles dans " +"les sessions suivantes ::" #: ../Doc/library/sqlite3.rst:57 msgid "" @@ -72,6 +91,11 @@ msgid "" "doing so is insecure; it makes your program vulnerable to an SQL injection " "attack (see https://xkcd.com/327/ for humorous example of what can go wrong)." msgstr "" +"Habituellement, vos opérations SQL utilisent les valeurs de variables " +"Python. Vous ne devez pas assembler votre requête à l'aide des opérations " +"sur les chaînes de caractères de Python, car cela n'est pas sûr. Cela rend " +"votre programme vulnérable à une attaque par injection SQL (voir https://" +"xkcd.com/327/ pour un exemple amusant de ce qui peut mal tourner)." #: ../Doc/library/sqlite3.rst:62 msgid "" @@ -81,6 +105,11 @@ msgid "" "method. (Other database modules may use a different placeholder, such as ``" "%s`` or ``:1``.) For example::" msgstr "" +"À la place, utilisez la capacité DB-API de substitution des paramètres. " +"Placez un ``?`` comme indicateur partout où vous voulez utiliser une valeur, " +"puis fournissez un *tuple* de valeurs comme second argument de la méthode :" +"meth:`~Cursor.execute`. D'autres modules de base de données peuvent utiliser " +"un espace réservé différent, tel que ``%s`` ou ``:1``. Par exemple ::" #: ../Doc/library/sqlite3.rst:84 msgid "" @@ -89,30 +118,39 @@ msgid "" "fetchone` method to retrieve a single matching row, or call :meth:`~Cursor." "fetchall` to get a list of the matching rows." msgstr "" +"Pour récupérer des données après avoir exécuté une instruction *SELECT*, " +"vous pouvez considérer le curseur comme un :term:`itérateur `, " +"appeler la méthode du curseur :meth:`~Cursor.fetchone` pour récupérer une " +"seule ligne correspondante ou appeler :meth:`~Cursor.fetchall` pour obtenir " +"une liste des lignes correspondantes." #: ../Doc/library/sqlite3.rst:89 msgid "This example uses the iterator form::" -msgstr "" +msgstr "Cet exemple utilise la forme itérateur ::" #: ../Doc/library/sqlite3.rst:104 msgid "https://github.com/ghaering/pysqlite" -msgstr "" +msgstr "https://github.com/ghaering/pysqlite" #: ../Doc/library/sqlite3.rst:103 msgid "" "The pysqlite web page -- sqlite3 is developed externally under the name " "\"pysqlite\"." msgstr "" +"La page web de *pysqlite* — *sqlite3* est développée sur un site tiers sous " +"le nom *pysqlite*." #: ../Doc/library/sqlite3.rst:108 msgid "https://www.sqlite.org" -msgstr "" +msgstr "https://www.sqlite.org" #: ../Doc/library/sqlite3.rst:107 msgid "" "The SQLite web page; the documentation describes the syntax and the " "available data types for the supported SQL dialect." msgstr "" +"Dans la page Web de SQLite, la documentation décrit la syntaxe et les types " +"de données disponibles qui sont pris en charge par cette variante SQL." #: ../Doc/library/sqlite3.rst:111 msgid "http://www.w3schools.com/sql/" @@ -120,46 +158,56 @@ msgstr "" #: ../Doc/library/sqlite3.rst:111 msgid "Tutorial, reference and examples for learning SQL syntax." -msgstr "" +msgstr "Tutoriel, référence et exemples pour apprendre la syntaxe SQL." #: ../Doc/library/sqlite3.rst:113 msgid ":pep:`249` - Database API Specification 2.0" -msgstr "" +msgstr ":pep:`249` — Spécifications de l'API 2.0 pour la base de données" #: ../Doc/library/sqlite3.rst:114 msgid "PEP written by Marc-André Lemburg." -msgstr "" +msgstr "PEP écrite par Marc-André Lemburg." #: ../Doc/library/sqlite3.rst:120 msgid "Module functions and constants" -msgstr "" +msgstr "Fonctions et constantes du module" #: ../Doc/library/sqlite3.rst:125 msgid "" "The version number of this module, as a string. This is not the version of " "the SQLite library." msgstr "" +"Le numéro de version de ce module, sous forme de chaîne. Ce n'est pas la " +"version de la bibliothèque SQLite." #: ../Doc/library/sqlite3.rst:131 msgid "" "The version number of this module, as a tuple of integers. This is not the " "version of the SQLite library." msgstr "" +"Le numéro de version de ce module, sous forme d'un n-uplet d'entiers. Ce " +"n'est pas la version de la bibliothèque SQLite." #: ../Doc/library/sqlite3.rst:137 msgid "The version number of the run-time SQLite library, as a string." msgstr "" +"Le numéro de version de la bibliothèque d'exécution SQLite, sous forme de " +"chaîne." #: ../Doc/library/sqlite3.rst:142 msgid "" "The version number of the run-time SQLite library, as a tuple of integers." msgstr "" +"Le numéro de version de la bibliothèque d'exécution SQLite, sous forme " +"d'entier." #: ../Doc/library/sqlite3.rst:147 ../Doc/library/sqlite3.rst:160 msgid "" "This constant is meant to be used with the *detect_types* parameter of the :" "func:`connect` function." msgstr "" +"Cette constante est destinée à être utilisée avec le paramètre " +"*detect_types* de la fonction :func:`connect`." #: ../Doc/library/sqlite3.rst:150 msgid "" @@ -170,6 +218,11 @@ msgid "" "look into the converters dictionary and use the converter function " "registered for that type there." msgstr "" +"Si elle est définie, le module :mod:`sqlite3` analyse le type de donnée " +"déclarée pour chaque colonne. Il déduit le type du premier mot de la " +"déclaration, par exemple de *integer primary key* il gardera *integer*, ou " +"de *number(10)* il gardera *number*. Ensuite, pour cette colonne, il " +"utilisera une fonction de conversion du dictionnaire des convertisseurs." #: ../Doc/library/sqlite3.rst:163 msgid "" @@ -183,6 +236,14 @@ msgid "" "parse out everything until the first blank for the column name: the column " "name would simply be \"x\"." msgstr "" +"Permet à l’interface SQLite d'analyser le nom pour chaque colonne. Il y " +"cherchera une chaîne comme ``[mytype]`` indiquant que la colonne est de type " +"``mytype``. Il essaiera de trouver une entrée *mytype* dans le dictionnaire, " +"puis utilisera la fonction de conversion qui s'y trouve pour renvoyer la " +"valeur. Le nom de colonne donnée à :attr:`Cursor.description` n'est alors " +"que le premier mot du nom de la colonne, par exemple si vous utilisez ``'as " +"\\\"x [datetime]\\\"'`` dans votre code SQL, le nom de la colonne sera " +"simplement *x*." #: ../Doc/library/sqlite3.rst:175 msgid "" @@ -310,7 +371,7 @@ msgstr "" #: ../Doc/library/sqlite3.rst:269 msgid "Connection Objects" -msgstr "" +msgstr "Objets de connexions" #: ../Doc/library/sqlite3.rst:273 msgid "A SQLite database connection has the following attributes and methods:" @@ -833,11 +894,11 @@ msgstr "Type Python" #: ../Doc/library/sqlite3.rst:767 ../Doc/library/sqlite3.rst:784 msgid "SQLite type" -msgstr "" +msgstr "SQLite type" #: ../Doc/library/sqlite3.rst:769 ../Doc/library/sqlite3.rst:786 msgid ":const:`None`" -msgstr "" +msgstr ":const:`None`" #: ../Doc/library/sqlite3.rst:769 ../Doc/library/sqlite3.rst:786 msgid "``NULL``" @@ -861,7 +922,7 @@ msgstr "``REAL``" #: ../Doc/library/sqlite3.rst:775 msgid ":class:`str`" -msgstr "" +msgstr ":class:`str`" #: ../Doc/library/sqlite3.rst:775 ../Doc/library/sqlite3.rst:792 msgid "``TEXT``" @@ -869,7 +930,7 @@ msgstr "``TEXT``" #: ../Doc/library/sqlite3.rst:777 ../Doc/library/sqlite3.rst:795 msgid ":class:`bytes`" -msgstr "" +msgstr ":class:`bytes`" #: ../Doc/library/sqlite3.rst:777 ../Doc/library/sqlite3.rst:795 msgid "``BLOB``" diff --git a/library/stringprep.po b/library/stringprep.po index 66158eea..a0ff961d 100644 --- a/library/stringprep.po +++ b/library/stringprep.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/stringprep.rst:2 msgid ":mod:`stringprep` --- Internet String Preparation" -msgstr "" +msgstr ":mod:`stringprep` — Préparation des chaines de caractères internet" #: ../Doc/library/stringprep.rst:10 msgid "**Source code:** :source:`Lib/stringprep.py`" -msgstr "" +msgstr "**Code source :** :source:`Lib/stringprep.py`" #: ../Doc/library/stringprep.rst:14 msgid "" @@ -33,6 +33,13 @@ msgid "" "possible identifications, to allow only identifications consisting of " "\"printable\" characters." msgstr "" +"Nommer les différentes choses d'internet (comme les hôtes) amène souvent au " +"besoin de comparer ces identifiants, ce qui nécessite un critère " +"d'« égalité ». La manière dont cette comparaison est effectuée dépend du " +"domaine d'application, c'est-à-dire si elle doit être sensible à la casse ou " +"non. Il peut être aussi nécessaire de restreindre les identifiants " +"possibles, pour permettre uniquement les identifiants composés de caractères " +"« imprimables »." #: ../Doc/library/stringprep.rst:21 msgid "" @@ -45,6 +52,15 @@ msgid "" "``stringprep`` profile is ``nameprep``, which is used for internationalized " "domain names." msgstr "" +"La :rfc:`3454` définit une procédure pour \"préparer\" des chaines de " +"caractères Unicode dans les protocoles internet. Avant de passer des chaines " +"de caractères sur le câble, elles sont traitées avec la procédure de " +"préparation, après laquelle ils obtiennent une certaines forme normalisée. " +"Les RFC définissent un lot de tables, qui peuvent être combinées en profils. " +"Chaque profil doit définir quelles tables il utilise et quelles autres " +"parties optionnelles de la procédure *stringprep* font partie du profil. Un " +"exemple de profil *stringprep* est *nameprep*, qui est utilisé pour les noms " +"de domaine internationalisés." #: ../Doc/library/stringprep.rst:29 msgid "" @@ -63,100 +79,135 @@ msgid "" "the mapping function: given the key, it returns the associated value. Below " "is a list of all functions available in the module." msgstr "" +"En conséquence, ces tables sont exposées en tant que fonctions et non en " +"structures de données. Il y a deux types de tables dans la RFC : les " +"ensemble et les mises en correspondance. Pour un ensemble, :mod:`stringprep` " +"fournit la \"fonction caractéristique\", c'est-à-dire une fonction qui " +"renvoie vrai si le paramètre fait partie de l'ensemble. Pour les mises en " +"correspondance, il fournit la fonction de mise en correspondance : ayant " +"obtenu la clé, il renvoie la valeur associée. Ci-dessous se trouve une liste " +"de toutes les fonctions disponibles dans le module." #: ../Doc/library/stringprep.rst:44 msgid "" "Determine whether *code* is in tableA.1 (Unassigned code points in Unicode " "3.2)." msgstr "" +"Détermine si le code est en table A.1 (points de code non-assigné dans " +"Unicode 3.2)." #: ../Doc/library/stringprep.rst:49 msgid "Determine whether *code* is in tableB.1 (Commonly mapped to nothing)." msgstr "" +"Détermine si le code est en table B.1 (habituellement mis en correspondance " +"avec rien)." #: ../Doc/library/stringprep.rst:54 msgid "" "Return the mapped value for *code* according to tableB.2 (Mapping for case-" "folding used with NFKC)." msgstr "" +"Renvoie la valeur correspondante à *code* selon la table B.2 (mise en " +"correspondance pour la gestion de la casse utilisée avec *NFKC*)." #: ../Doc/library/stringprep.rst:60 msgid "" "Return the mapped value for *code* according to tableB.3 (Mapping for case-" "folding used with no normalization)." msgstr "" +"Renvoie la valeur correspondante à *code* dans la table B.3 (mise en " +"correspondance pour la gestion de la casse utilisée sans normalisation)." #: ../Doc/library/stringprep.rst:66 msgid "Determine whether *code* is in tableC.1.1 (ASCII space characters)." msgstr "" +"Détermine si le code est dans la table C.1.1 (caractères d'espacement ASCII)." #: ../Doc/library/stringprep.rst:71 msgid "" "Determine whether *code* is in tableC.1.2 (Non-ASCII space characters)." msgstr "" +"Détermine si le code est dans la table C.1.2 (caractères d'espacement non " +"ASCII)." #: ../Doc/library/stringprep.rst:76 msgid "" "Determine whether *code* is in tableC.1 (Space characters, union of C.1.1 " "and C.1.2)." msgstr "" +"Détermine si le code est dans la table C.1 (caractères d'espacement, union " +"de C.1.1 et C.1.2)." #: ../Doc/library/stringprep.rst:82 msgid "Determine whether *code* is in tableC.2.1 (ASCII control characters)." msgstr "" +"Détermine si le code est dans la table C.2.1 (caractères de contrôle ASCII)." #: ../Doc/library/stringprep.rst:87 msgid "" "Determine whether *code* is in tableC.2.2 (Non-ASCII control characters)." msgstr "" +"Détermine si le code est en table C.2.2 (caractères de contrôle non ASCII)." #: ../Doc/library/stringprep.rst:92 msgid "" "Determine whether *code* is in tableC.2 (Control characters, union of C.2.1 " "and C.2.2)." msgstr "" +"Détermine si le code est dans la table C.2 (caractères de contrôle, union de " +"C.2.1 et C.2.2)." #: ../Doc/library/stringprep.rst:98 msgid "Determine whether *code* is in tableC.3 (Private use)." -msgstr "" +msgstr "Détermine si le code est en table C.3 (usage privé)." #: ../Doc/library/stringprep.rst:103 msgid "Determine whether *code* is in tableC.4 (Non-character code points)." msgstr "" +"Détermine si le code est dans la table C.4 (points de code non-caractère)." #: ../Doc/library/stringprep.rst:108 msgid "Determine whether *code* is in tableC.5 (Surrogate codes)." -msgstr "" +msgstr "Détermine si le code est en table C.5 (codes substituts)." #: ../Doc/library/stringprep.rst:113 msgid "" "Determine whether *code* is in tableC.6 (Inappropriate for plain text)." msgstr "" +"Détermine si le code est dans la table C.6 (Inapproprié pour texte brut)." #: ../Doc/library/stringprep.rst:118 msgid "" "Determine whether *code* is in tableC.7 (Inappropriate for canonical " "representation)." msgstr "" +"Détermine si le code est dans la table C.7 (inapproprié pour les " +"représentations *canonics1*)." #: ../Doc/library/stringprep.rst:124 msgid "" "Determine whether *code* is in tableC.8 (Change display properties or are " "deprecated)." msgstr "" +"Détermine si le code est dans la table C.8 (change de propriétés d'affichage " +"ou sont obsolètes)." #: ../Doc/library/stringprep.rst:130 msgid "Determine whether *code* is in tableC.9 (Tagging characters)." -msgstr "" +msgstr "Détermine si le code est dans la table C.9 (caractères de marquage)." #: ../Doc/library/stringprep.rst:135 msgid "" "Determine whether *code* is in tableD.1 (Characters with bidirectional " "property \"R\" or \"AL\")." msgstr "" +"Détermine si le code est en table D.1 (caractères avec propriété " +"bidirectionnelle \"R\" ou \"AL\")." #: ../Doc/library/stringprep.rst:141 msgid "" "Determine whether *code* is in tableD.2 (Characters with bidirectional " "property \"L\")." msgstr "" +"Détermine si le code est dans la table D.2 (caractères avec propriété " +"bidirectionnelle \"L\")." diff --git a/library/sysconfig.po b/library/sysconfig.po index 72149962..e54645fc 100644 --- a/library/sysconfig.po +++ b/library/sysconfig.po @@ -290,7 +290,7 @@ msgstr "" #: ../Doc/library/sysconfig.rst:181 msgid "Examples of returned values:" -msgstr "" +msgstr "Exemples de valeurs renvoyées :" #: ../Doc/library/sysconfig.rst:183 msgid "linux-i586" diff --git a/library/tarfile.po b/library/tarfile.po index 84c39215..fe2b849f 100644 --- a/library/tarfile.po +++ b/library/tarfile.po @@ -896,7 +896,7 @@ msgstr "" #: ../Doc/library/tarfile.rst:663 msgid "Passing a directory is also acceptable:" -msgstr "" +msgstr "Passer un répertoire est aussi possible :" #: ../Doc/library/tarfile.rst:669 msgid "" @@ -937,7 +937,7 @@ msgstr "" #: ../Doc/library/tarfile.rst:715 msgid "Verbose output" -msgstr "" +msgstr "Affichage plus détaillé" #: ../Doc/library/tarfile.rst:720 msgid "Examples" diff --git a/library/telnetlib.po b/library/telnetlib.po index fddbbd8f..30210258 100644 --- a/library/telnetlib.po +++ b/library/telnetlib.po @@ -176,7 +176,7 @@ msgstr "" #: ../Doc/library/telnetlib.rst:149 msgid "Close the connection." -msgstr "" +msgstr "Ferme la connexion." #: ../Doc/library/telnetlib.rst:154 msgid "Return the socket object used internally." diff --git a/library/tempfile.po b/library/tempfile.po index faaa1889..b26d9318 100644 --- a/library/tempfile.po +++ b/library/tempfile.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/tempfile.rst:2 msgid ":mod:`tempfile` --- Generate temporary files and directories" -msgstr "" +msgstr ":mod:`tempfile` — Génération de fichiers et répertoires temporaires" #: ../Doc/library/tempfile.rst:9 msgid "**Source code:** :source:`Lib/tempfile.py`" @@ -33,6 +33,13 @@ msgid "" "managers. :func:`mkstemp` and :func:`mkdtemp` are lower-level functions " "which require manual cleanup." msgstr "" +"Ce module crée des fichiers et répertoires temporaires. Il fonctionne sur " +"toutes les plateformes supportées. :class:`TemporaryFile`, :class:" +"`NamedTemporaryFile`, :class:`TemporaryDirectory`, et :class:" +"`SpooledTemporaryFile` sont des interfaces haut-niveau qui fournissent un " +"nettoyage automatique et peuvent être utilisées comme gestionnaire de " +"contexte. :func:`mkstemp` et :func:`mkdtemp` sont des fonctions bas-niveau " +"qui nécessitent un nettoyage manuel." #: ../Doc/library/tempfile.rst:24 msgid "" @@ -44,10 +51,20 @@ msgid "" "order is somewhat odd; it is recommended to use keyword arguments for " "clarity." msgstr "" +"Toutes les fonctions et constructeurs appelables par l'utilisateur ont des " +"arguments additionnels qui permettent de contrôler directement le chemin et " +"le nom des répertoires et fichiers. Les noms de fichiers utilisés par ce " +"module incluent une chaîne de caractères aléatoires qui leur permet d'être " +"créés de manière sécurisée dans des répertoires temporaires partagés. Afin " +"de maintenir la compatibilité descendante, l'ordre des arguments est quelque " +"peu étrange ; pour des questions de clarté, il est recommandé d'utiliser les " +"arguments nommés." #: ../Doc/library/tempfile.rst:32 msgid "The module defines the following user-callable items:" msgstr "" +"Le module définit les éléments suivants pouvant être appelés par " +"l'utilisateur :" #: ../Doc/library/tempfile.rst:36 msgid "" @@ -60,6 +77,15 @@ msgid "" "rely on a temporary file created using this function having or not having a " "visible name in the file system." msgstr "" +"Renvoie un :term:`objet fichier ` qui peut être utilisé " +"comme une zone de stockage temporaire. Le fichier est créé de manière " +"sécurisé, utilisant les mêmes règles que :func:`mkstemp`. Il sera détruit " +"dès qu'il sera fermé (y compris lorsque le fichier est implicitement fermé " +"quand il est collecté par le ramasse-miette). Sous Unix, l'entrée du " +"répertoire n'est soit pas du tout créée, ou est supprimée immédiatement " +"après sa création. Les autres plateformes ne gèrent pas cela, votre code ne " +"doit pas compter sur un fichier temporaire créé en utilisant cette fonction " +"ayant ou non un nom visible sur le système de fichier." #: ../Doc/library/tempfile.rst:44 msgid "" @@ -67,6 +93,9 @@ msgid "" "examples`). On completion of the context or destruction of the file object " "the temporary file will be removed from the filesystem." msgstr "" +"L'objet résultat peut être utilisé comme un gestionnaire de contexte (voir :" +"ref:`tempfile-examples`). Une fois le contexte ou la destruction de l'objet " +"fichier terminé, le fichier temporaire sera supprimé du système de fichiers." #: ../Doc/library/tempfile.rst:49 msgid "" @@ -76,12 +105,19 @@ msgid "" "stored. *buffering*, *encoding* and *newline* are interpreted as for :func:" "`open`." msgstr "" +"Le paramètre *mode* vaut par défaut ``'w+b'`` afin que le fichier créé " +"puisse être lu et écrit sans être fermé. Le mode binaire est utilisé afin " +"que le comportement soit le même sur toutes les plateformes quelque soit la " +"donnée qui est stockée. *buffering*, *encoding* et *newline* sont " +"interprétés de la même façon que pour :func:`open`." #: ../Doc/library/tempfile.rst:55 msgid "" "The *dir*, *prefix* and *suffix* parameters have the same meaning and " "defaults as with :func:`mkstemp`." msgstr "" +"Les paramètres *dir*, *prefix* et *suffix* ont la même signification et même " +"valeur par défaut que :func:`mkstemp`." #: ../Doc/library/tempfile.rst:58 msgid "" @@ -89,16 +125,21 @@ msgid "" "platforms, it is a file-like object whose :attr:`!file` attribute is the " "underlying true file object." msgstr "" +"L'objet renvoyé est un véritable fichier sur les plateformes POSIX. Sur les " +"autres plateformes, un objet fichier-compatible est retourné où l'attribut :" +"attr:`!file` est le véritable fichier." #: ../Doc/library/tempfile.rst:62 msgid "" "The :py:data:`os.O_TMPFILE` flag is used if it is available and works (Linux-" "specific, requires Linux kernel 3.11 or later)." msgstr "" +"L'option :py:data:`os.O_TMPFILE` est utilisé s'il est disponible et " +"fonctionne (Linux exclusivement, nécessite un noyau Linux 3.11 ou plus)." #: ../Doc/library/tempfile.rst:67 msgid "The :py:data:`os.O_TMPFILE` flag is now used if available." -msgstr "" +msgstr "L'option :py:data:`os.O_TMPFILE` est maintenant utilisé si disponible." #: ../Doc/library/tempfile.rst:72 msgid "" @@ -114,6 +155,19 @@ msgid "" "This file-like object can be used in a :keyword:`with` statement, just like " "a normal file." msgstr "" +"Cette fonction fonctionne exactement comme :func:`TemporaryFile`, à la " +"différence qu'il est garanti que le fichier soit visible dans le système de " +"fichier (sur Unix, l'entrée du répertoire est supprimée). Le nom peut être " +"récupéré depuis l'attribut :attr:`name` de l'objet fichier-compatible " +"retourné. Le fait que le nom puisse être utilisé pour ouvrir le fichier une " +"seconde fois, tant que le fichier temporaire nommé est toujours ouvert, " +"varie entre les plateformes (cela peut l'être sur Unix, mais c'est " +"impossible sur Windows NT et plus). Si *delete* est vrai (valeur par " +"défaut), le fichier est supprimé dès qu'il est fermé. L'objet retourné est " +"toujours un objet fichier-compatible où l'attribut :attr:`!file` est le " +"véritable fichier. L'objet fichier-compatible peut être utilisé dans un " +"gestionnaire de contexte (instruction :keyword:`with`), juste comme un " +"fichier normal." #: ../Doc/library/tempfile.rst:88 msgid "" @@ -122,12 +176,19 @@ msgid "" "the file's :func:`fileno` method is called, at which point the contents are " "written to disk and operation proceeds as with :func:`TemporaryFile`." msgstr "" +"Cette fonction se comporte exactement comme :func:`TemporaryFile`, à " +"l'exception que les données sont stockées en mémoire jusqu'à ce que leur " +"taille dépasse *max_size*, ou que la méthode :func:`fileno` soit appelée. À " +"ce moment, le contenu est écrit sur disque et le fonctionnement redevient " +"similaire à celui de :func:`TemporaryFile`." #: ../Doc/library/tempfile.rst:94 msgid "" "The resulting file has one additional method, :func:`rollover`, which causes " "the file to roll over to an on-disk file regardless of its size." msgstr "" +"Le fichier renvoyé a une méthode supplémentaire, :func:`rollover`, qui " +"provoque la mise en écriture sur disque quelque soit la taille du fichier." #: ../Doc/library/tempfile.rst:97 msgid "" @@ -137,10 +198,16 @@ msgid "" "depending on whether :func:`rollover` has been called. This file-like " "object can be used in a :keyword:`with` statement, just like a normal file." msgstr "" +"L'objet renvoyé est un objet fichier-compatible où l'attribut :attr:`_file` " +"est soit un objet :class:`io.BytesIO` soit un objet :class:`io.StringIO` (en " +"fonction du *mode*) soit un véritable fichier, si la fonction :func:" +"`rollover` a été appelée. Cet objet fichier-compatible peut être utilisé " +"dans un gestionnaire de contexte (instruction :keyword:`with`), comme un " +"fichier normal." #: ../Doc/library/tempfile.rst:104 msgid "the truncate method now accepts a ``size`` argument." -msgstr "" +msgstr "la méthode de troncature accepte maintenant un argument ``size``." #: ../Doc/library/tempfile.rst:110 msgid "" @@ -150,6 +217,11 @@ msgid "" "of the temporary directory object the newly created temporary directory and " "all its contents are removed from the filesystem." msgstr "" +"Cette fonction crée un répertoire temporaire de manière sécurisée utilisant " +"les mêmes règles que :func:`mkdtemp`. L'objet renvoyé peut être utilisé " +"comme un gestionnaire de contexte (voir :ref:`tempfile-examples`). À la " +"sortie du contexte d’exécution ou à la destruction de l'objet, le répertoire " +"temporaire et tout son contenu sont supprimés du système de fichiers." #: ../Doc/library/tempfile.rst:116 msgid "" @@ -164,6 +236,8 @@ msgid "" "The directory can be explicitly cleaned up by calling the :func:`cleanup` " "method." msgstr "" +"Le répertoire peut être explicitement nettoyé en appelant la méthode :func:" +"`cleanup`." #: ../Doc/library/tempfile.rst:129 msgid "" @@ -175,12 +249,23 @@ msgid "" "executable by no one. The file descriptor is not inherited by child " "processes." msgstr "" +"Crée un fichier temporaire de la manière la plus sécurisée qui soit. Il n'y " +"a pas d'accès concurrent (``race condition``) au moment de la création du " +"fichier, en supposant que la plateforme implémente correctement l'option :" +"const:`os.O_EXCL` pour :func:`os.open`. Le fichier est seulement accessible " +"en lecture et écriture par l'ID de l'utilisateur créateur. Si la plateforme " +"utilise des bits de permissions pour indiquer si le fichier est exécutable, " +"alors le fichier n'est exécutable par personne. Le descripteur de fichier " +"n'est pas hérité par les processus fils." #: ../Doc/library/tempfile.rst:137 msgid "" "Unlike :func:`TemporaryFile`, the user of :func:`mkstemp` is responsible for " "deleting the temporary file when done with it." msgstr "" +"À la différence de :func:`TemporaryFile`, l'utilisateur de :func:`mkstemp` " +"est responsable de la suppression du fichier temporaire quand il n'en a plus " +"besoin." #: ../Doc/library/tempfile.rst:140 msgid "" @@ -189,6 +274,10 @@ msgid "" "between the file name and the suffix; if you need one, put it at the " "beginning of *suffix*." msgstr "" +"Si *suffix* ne vaut pas ``None``, le nom de fichier se terminera avec ce " +"suffixe, sinon il n'y aura pas de suffixe. :func:`mkstemp` ne met pas de " +"point entre le nom du fichier et le suffixe. Si vous en avez besoin, mettez " +"le point au début de *suffix*." #: ../Doc/library/tempfile.rst:145 msgid "" @@ -196,6 +285,9 @@ msgid "" "otherwise, a default prefix is used. The default is the return value of :" "func:`gettempprefix` or :func:`gettempprefixb`, as appropriate." msgstr "" +"Si *prefix* ne vaut pas ``None``, le nom de fichier commencera avec ce " +"préfixe, sinon un préfixe par défaut est utilisé. La valeur par défaut est " +"la valeur retournée par :func:`gettempprefix` ou :func:`gettempprefixb`." #: ../Doc/library/tempfile.rst:149 msgid "" @@ -207,6 +299,14 @@ msgid "" "any nice properties, such as not requiring quoting when passed to external " "commands via ``os.popen()``." msgstr "" +"Si *dir* ne vaut pas ``None``, le fichier sera créé dans ce répertoire, " +"autrement, un répertoire par défaut sera utilisé. Le répertoire par défaut " +"est choisi depuis une liste dépendante de la plateforme, mais l'utilisateur " +"de l'application peut contrôler l'emplacement du répertoire en spécifiant " +"les variables d'environnement *TMPDIR*, *TEMP* ou *TMP*. Il n'y a pas de " +"garantie que le nom de fichier généré aura de bonnes propriétés telles que " +"ne pas avoir besoin de le mettre entre guillemets lorsque celui-ci est passé " +"à des commandes externes via ``os.popen()``." #: ../Doc/library/tempfile.rst:157 msgid "" @@ -215,12 +315,19 @@ msgid "" "str. If you want to force a bytes return value with otherwise default " "behavior, pass ``suffix=b''``." msgstr "" +"Si l'un des paramètres *suffix*, *prefix* et *dir* n'est pas ``None``, ils " +"doivent être du même type. S'ils sont de type ``bytes``, le nom renvoyée " +"sera de type ``bytes`` plutôt que de type ``str``. Si vous voulez forcer la " +"valeur renvoyée en ``bytes``, passez ``suffix=b''``." #: ../Doc/library/tempfile.rst:163 msgid "" "If *text* is specified, it indicates whether to open the file in binary mode " "(the default) or text mode. On some platforms, this makes no difference." msgstr "" +"Si *text* est spécifié, cela indique si le fichier doit être ouvert en mode " +"binaire (par défaut) ou en mode texte. Sur certaines plateformes, cela ne " +"fait aucune différence." #: ../Doc/library/tempfile.rst:167 msgid "" @@ -228,6 +335,10 @@ msgid "" "file (as would be returned by :func:`os.open`) and the absolute pathname of " "that file, in that order." msgstr "" +":func:`mkstemp` renvoie un n-uplet contenant un descripteur (*handle* en " +"anglais) au niveau du système d'exploitation vers un fichier ouvert (le même " +"que renvoie :func:`os.open`) et le chemin d'accès absolu de ce fichier, dans " +"cet ordre." #: ../Doc/library/tempfile.rst:171 ../Doc/library/tempfile.rst:192 msgid "" @@ -236,6 +347,10 @@ msgid "" "and *prefix* now accept and default to ``None`` to cause an appropriate " "default value to be used." msgstr "" +"*suffix*, *prefix*, et *dir* peuvent maintenant être spécifiés en ``bytes`` " +"pour obtenir un résultat en ``bytes``. Avant cela, le type ``str`` était le " +"seul autorisé. *suffix* et *prefix* acceptent maintenant la valeur par " +"défaut ``None`` pour que la valeur par défaut appropriée soit utilisée." #: ../Doc/library/tempfile.rst:180 msgid "" @@ -243,86 +358,111 @@ msgid "" "no race conditions in the directory's creation. The directory is readable, " "writable, and searchable only by the creating user ID." msgstr "" +"Crée un répertoire temporaire de la manière la plus sécurisée qu'il soit. Il " +"n'y a pas d'accès concurrent (``race condition``) au moment de la création " +"du répertoire. Le répertoire est accessible en lecture, en écriture, et son " +"contenu lisible uniquement pour l'ID de l'utilisateur créateur." #: ../Doc/library/tempfile.rst:184 msgid "" "The user of :func:`mkdtemp` is responsible for deleting the temporary " "directory and its contents when done with it." msgstr "" +"L'utilisateur de :func:`mkdtemp` est responsable de la suppression du " +"répertoire temporaire et de son contenu lorsqu'il n'en a plus besoin." #: ../Doc/library/tempfile.rst:187 msgid "" "The *prefix*, *suffix*, and *dir* arguments are the same as for :func:" "`mkstemp`." msgstr "" +"Les arguments *prefix*, *suffix*, et *dir* sont les mêmes que pour :func:" +"`mkstemp`." #: ../Doc/library/tempfile.rst:190 msgid ":func:`mkdtemp` returns the absolute pathname of the new directory." -msgstr "" +msgstr ":func:`mkdtemp` renvoie le chemin absolu du nouveau répertoire." #: ../Doc/library/tempfile.rst:201 msgid "" "Return the name of the directory used for temporary files. This defines the " "default value for the *dir* argument to all functions in this module." msgstr "" +"Renvoie le nom du répertoire utilisé pour les fichiers temporaires. C'est la " +"valeur par défaut pour l'argument *dir* de toutes les fonctions de ce module." #: ../Doc/library/tempfile.rst:205 msgid "" "Python searches a standard list of directories to find one which the calling " "user can create files in. The list is:" msgstr "" +"Python cherche un répertoire parmi une liste standard de répertoires dans " +"lequel l'utilisateur final peut créer des fichiers. La liste est :" #: ../Doc/library/tempfile.rst:208 msgid "The directory named by the :envvar:`TMPDIR` environment variable." msgstr "" +"Le répertoire correspondant à la variable d'environnement :envvar:`TMPDIR`." #: ../Doc/library/tempfile.rst:210 msgid "The directory named by the :envvar:`TEMP` environment variable." msgstr "" +"Le répertoire correspondant à la variable d'environnement :envvar:`TEMP`." #: ../Doc/library/tempfile.rst:212 msgid "The directory named by the :envvar:`TMP` environment variable." msgstr "" +"Le répertoire correspondant à la variable d'environnement :envvar:`TMP`." #: ../Doc/library/tempfile.rst:214 msgid "A platform-specific location:" -msgstr "" +msgstr "Un emplacement dépendant à la plateforme :" #: ../Doc/library/tempfile.rst:216 msgid "" "On Windows, the directories :file:`C:\\\\TEMP`, :file:`C:\\\\TMP`, :file:`\\" "\\TEMP`, and :file:`\\\\TMP`, in that order." msgstr "" +"Sur Windows, les répertoires :file:`C:\\\\TEMP`, :file:`C:\\\\TMP`, :file:`\\" +"\\TEMP`, et :file:`\\\\TMP`, dans cet ordre." #: ../Doc/library/tempfile.rst:219 msgid "" "On all other platforms, the directories :file:`/tmp`, :file:`/var/tmp`, and :" "file:`/usr/tmp`, in that order." msgstr "" +"Sur toutes les autres plate-formes, les répertoires :file:`/tmp`, :file:`/" +"var/tmp`, et :file:`/usr/tmp`, dans cet ordre." #: ../Doc/library/tempfile.rst:222 msgid "As a last resort, the current working directory." -msgstr "" +msgstr "En dernier ressort, le répertoire de travail courant." #: ../Doc/library/tempfile.rst:224 msgid "" "The result of this search is cached, see the description of :data:`tempdir` " "below." msgstr "" +"Le résultat de cette recherche est mis en cache, voir la description de :" +"data:`tempdir` dessous." #: ../Doc/library/tempfile.rst:229 msgid "Same as :func:`gettempdir` but the return value is in bytes." msgstr "" +"Similaire à :func:`gettempdir` mais la valeur retournée est en *bytes*." #: ../Doc/library/tempfile.rst:235 msgid "" "Return the filename prefix used to create temporary files. This does not " "contain the directory component." msgstr "" +"Renvoie le préfixe de nom de fichier utilisé pour créer les fichiers " +"temporaires. Cela ne contient pas le nom du répertoire." #: ../Doc/library/tempfile.rst:240 msgid "Same as :func:`gettempprefix` but the return value is in bytes." msgstr "" +"Similaire à :func:`gettempprefix` mais la valeur retournée est en *bytes*." #: ../Doc/library/tempfile.rst:244 msgid "" @@ -353,10 +493,11 @@ msgstr "Exemples" #: ../Doc/library/tempfile.rst:265 msgid "Here are some examples of typical usage of the :mod:`tempfile` module::" msgstr "" +"Voici quelques exemples classiques d'utilisation du module :mod:`tempfile` ::" #: ../Doc/library/tempfile.rst:296 msgid "Deprecated functions and variables" -msgstr "" +msgstr "Fonctions et variables obsolètes" #: ../Doc/library/tempfile.rst:298 msgid "" @@ -368,10 +509,18 @@ msgid "" "to combine the two steps and create the file immediately. This approach is " "used by :func:`mkstemp` and the other functions described above." msgstr "" +"Historiquement, la méthode pour créer des fichiers temporaires consistait à " +"générer un nom de fichier avec la fonction :func:`mktemp` puis créer un " +"fichier en utilisant ce nom. Malheureusement, cette méthode n'est pas fiable " +"car un autre processus peut créer un fichier avec ce nom entre l'appel à la " +"fonction :func:`mktemp` et la tentative de création de fichier par le " +"premier processus en cours. La solution est de combiner les deux étapes et " +"de créer le fichier immédiatement. Cette approche est utilisée par :func:" +"`mkstemp` et les autres fonctions décrites plus haut." #: ../Doc/library/tempfile.rst:309 msgid "Use :func:`mkstemp` instead." -msgstr "" +msgstr "Utilisez :func:`mkstemp` à la place." #: ../Doc/library/tempfile.rst:312 msgid "" @@ -380,6 +529,10 @@ msgid "" "those of :func:`mkstemp`, except that bytes file names, ``suffix=None`` and " "``prefix=None`` are not supported." msgstr "" +"Renvoie le chemin absolu d'un fichier qui n'existe pas lorsque l'appel est " +"fait. Les arguments *prefix*, *suffix*, et *dir* sont similaires à ceux de :" +"func:`mkstemp` mais les noms de fichiers en _bytes_, ``sufix=None`` et " +"``prefix=None`` ne sont pas implémentées." #: ../Doc/library/tempfile.rst:319 msgid "" @@ -389,3 +542,8 @@ msgid "" "easily with :func:`NamedTemporaryFile`, passing it the ``delete=False`` " "parameter::" msgstr "" +"Utiliser cette fonction peut introduire une faille de sécurité dans votre " +"programme. Avant que vous n'ayez le temps de faire quoi que ce soit avec le " +"nom de fichier renvoyé, quelqu'un peut l'utiliser. L'utilisation de :func:" +"`mktemp` peut être remplacée facilement avec :func:`NamedTemporaryFile` en y " +"passant le paramètre ``delete=False`` ::" diff --git a/library/textwrap.po b/library/textwrap.po index eba4f379..a275308b 100644 --- a/library/textwrap.po +++ b/library/textwrap.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/textwrap.rst:2 msgid ":mod:`textwrap` --- Text wrapping and filling" -msgstr "" +msgstr ":mod:`textwrap` --- Encapsulation et remplissage de texte" #: ../Doc/library/textwrap.rst:10 msgid "**Source code:** :source:`Lib/textwrap.py`" -msgstr "" +msgstr "**Source code:** :source:`Lib/textwrap.py`" #: ../Doc/library/textwrap.rst:14 msgid "" @@ -32,6 +32,11 @@ msgid "" "should be good enough; otherwise, you should use an instance of :class:" "`TextWrapper` for efficiency." msgstr "" +"Le module :mod:`textwrap` fournit quelques fonctions pratiques, comme :class:" +"`TextWrapper`, la classe qui fait tout le travail. Si vous ne faites que " +"formater ou ajuster une ou deux chaînes de texte, les fonctions de commodité " +"devraient être assez bonnes ; sinon, nous vous conseillons d'utiliser une " +"instance de :class:`TextWrapper` pour une meilleure efficacité." #: ../Doc/library/textwrap.rst:22 msgid "" @@ -39,34 +44,48 @@ msgid "" "*width* characters long. Returns a list of output lines, without final " "newlines." msgstr "" +"Reformate le paragraphe simple dans *text* (une chaîne de caractères) de " +"sorte que chaque ligne ait au maximum *largeur* caractères. Renvoie une " +"liste de lignes de sortie, sans ligne vide ou caractère de fin de ligne à la " +"fin." #: ../Doc/library/textwrap.rst:26 msgid "" "Optional keyword arguments correspond to the instance attributes of :class:" "`TextWrapper`, documented below. *width* defaults to ``70``." msgstr "" +"Les arguments par mot-clé optionnels correspondent aux attributs d'instance " +"de :class:`TextWrapper`, documentés ci-dessous. *width* vaut ``70`` par " +"défaut." #: ../Doc/library/textwrap.rst:29 msgid "" "See the :meth:`TextWrapper.wrap` method for additional details on how :func:" "`wrap` behaves." msgstr "" +"Consultez la méthode :meth:`TextWrapper.wrap` pour plus de détails sur le " +"comportement de :func:`wrap`." #: ../Doc/library/textwrap.rst:35 msgid "" "Wraps the single paragraph in *text*, and returns a single string containing " "the wrapped paragraph. :func:`fill` is shorthand for ::" msgstr "" +"Formate le paragraphe unique dans *text* et renvoie une seule chaîne dont le " +"contenu est le paragraphe formaté. :func:`fill` est un raccourci pour : :" #: ../Doc/library/textwrap.rst:40 msgid "" "In particular, :func:`fill` accepts exactly the same keyword arguments as :" "func:`wrap`." msgstr "" +"En particulier, :func:`fill` accepte exactement les mêmes arguments par mot-" +"clé que :func:`wrap`." #: ../Doc/library/textwrap.rst:46 msgid "Collapse and truncate the given *text* to fit in the given *width*." msgstr "" +"Réduit et tronque le *text* donné pour l'adapter à la *largeur* donnée." #: ../Doc/library/textwrap.rst:48 msgid "" @@ -75,6 +94,11 @@ msgid "" "Otherwise, enough words are dropped from the end so that the remaining words " "plus the :attr:`placeholder` fit within :attr:`width`::" msgstr "" +"Tout d'abord, les espaces dans *text* sont réduites (toutes les espaces " +"blancs sont remplacées par des espaces simples). Si le résultat tient dans " +"la *width*, il est renvoyé. Sinon, suffisamment de mots sont supprimés en " +"fin de chaîne de manière à ce que les mots restants plus le :attr:" +"`placeholder` tiennent dans :attr:`width`: :" #: ../Doc/library/textwrap.rst:60 msgid "" @@ -84,16 +108,25 @@ msgid "" "so changing the value of :attr:`.tabsize`, :attr:`.expand_tabs`, :attr:`." "drop_whitespace`, and :attr:`.replace_whitespace` will have no effect." msgstr "" +"Les arguments par mot-clé optionnels correspondent aux attributs d'instance " +"de :class:`TextWrapper`, documentés ci-dessous. Notez que l'espace blanc " +"est réduit avant que le texte ne soit passé à la fonction :meth:`fill` de :" +"class:`TextWrapper`, donc changer la valeur de :attr:`.tabsize`, :attr:`." +"expand_tabs`, :attr:`.drop_whitespace`, et :attr:`.replace_whitespace` est " +"sans effet." #: ../Doc/library/textwrap.rst:71 msgid "Remove any common leading whitespace from every line in *text*." -msgstr "" +msgstr "Supprime toutes les espaces en de tête de chaque ligne dans *text*." #: ../Doc/library/textwrap.rst:73 msgid "" "This can be used to make triple-quoted strings line up with the left edge of " "the display, while still presenting them in the source code in indented form." msgstr "" +"Ceci peut être utilisé pour aligner les chaînes à trois guillemets avec le " +"bord gauche de l'affichage, tout en les présentant sous forme indentée dans " +"le code source." #: ../Doc/library/textwrap.rst:76 msgid "" @@ -101,6 +134,9 @@ msgid "" "equal: the lines ``\" hello\"`` and ``\"\\thello\"`` are considered to have " "no common leading whitespace." msgstr "" +"Notez que les tabulations et les espaces sont traitées comme des espaces, " +"mais qu'elles ne sont pas égales : les lignes ``\" hello\"`` et ``\"\\thello" +"\"`` sont considérées comme n'ayant pas d'espaces de tête communes." #: ../Doc/library/textwrap.rst:80 ../Doc/library/textwrap.rst:101 msgid "For example::" @@ -108,17 +144,19 @@ msgstr "Par exemple ::" #: ../Doc/library/textwrap.rst:94 msgid "Add *prefix* to the beginning of selected lines in *text*." -msgstr "" +msgstr "Ajoute *prefix* au début des lignes sélectionnées dans *text*." #: ../Doc/library/textwrap.rst:96 msgid "Lines are separated by calling ``text.splitlines(True)``." -msgstr "" +msgstr "Les lignes sont séparées en appelant ``text.splitlines(True)``." #: ../Doc/library/textwrap.rst:98 msgid "" "By default, *prefix* is added to all lines that do not consist solely of " "whitespace (including any line endings)." msgstr "" +"Par défaut, *prefix* est ajouté à toutes les lignes qui ne sont pas " +"constituées uniquement d'espaces (y compris les fins de ligne)." #: ../Doc/library/textwrap.rst:107 msgid "" @@ -126,6 +164,9 @@ msgid "" "indented. For example, it is easy to add *prefix* to even empty and " "whitespace-only lines::" msgstr "" +"L'argument optionnel *predicate* peut être utilisé pour contrôler quelles " +"lignes sont en retrait. Par exemple, il est facile d'ajouter *prefix* aux " +"lignes vides et aux lignes blanches seulement : :" #: ../Doc/library/textwrap.rst:120 msgid "" @@ -135,6 +176,12 @@ msgid "" "`wrap` and/or :func:`fill`, it may be more efficient to create your own :" "class:`TextWrapper` object." msgstr "" +":func:`wrap`, :func:`fill` et :func:`shorten` travaillent en créant une " +"instance :class:`TextWrapper` et en appelant une méthode unique sur celle-" +"ci. Cette instance n'est pas réutilisée, donc pour les applications qui " +"traitent plusieurs chaînes de texte en utilisant :func:`wrap` et/ou :func:" +"`fill`, il peut être plus efficace de créer votre propre objet :class:" +"`TextWrapper`." #: ../Doc/library/textwrap.rst:126 msgid "" @@ -142,6 +189,10 @@ msgid "" "hyphenated words; only then will long words be broken if necessary, unless :" "attr:`TextWrapper.break_long_words` is set to false." msgstr "" +"Le formatage du texte s'effectue en priorité sur les espaces puis juste " +"après les traits d'union dans des mots séparés par des traits d'union ; ce " +"n'est qu'alors que les mots longs seront cassés si nécessaire, à moins que :" +"attr:`TextWrapper.break_long_words` soit défini sur *False*." #: ../Doc/library/textwrap.rst:132 msgid "" @@ -149,10 +200,13 @@ msgid "" "arguments. Each keyword argument corresponds to an instance attribute, so " "for example ::" msgstr "" +"Le constructeur :class:`TextWrapper` accepte un certain nombre d'arguments " +"par mots-clés optionnels. Chaque argument par mot-clé correspond à un " +"attribut d'instance, donc par exemple : :" #: ../Doc/library/textwrap.rst:138 msgid "is the same as ::" -msgstr "" +msgstr "est identique à ::" #: ../Doc/library/textwrap.rst:143 msgid "" @@ -160,12 +214,17 @@ msgid "" "change any of its options through direct assignment to instance attributes " "between uses." msgstr "" +"Vous pouvez réutiliser le même objet :class:`TextWrapper` plusieurs fois et " +"vous pouvez changer n'importe laquelle de ses options par assignation " +"directe aux attributs d'instance entre les utilisations." #: ../Doc/library/textwrap.rst:147 msgid "" "The :class:`TextWrapper` instance attributes (and keyword arguments to the " "constructor) are as follows:" msgstr "" +"Les attributs d'instance de la classe :class:`TextWrapper` (et les arguments " +"par mot-clé au constructeur) sont les suivants :" #: ../Doc/library/textwrap.rst:153 msgid "" @@ -174,12 +233,19 @@ msgid "" "`TextWrapper` guarantees that no output line will be longer than :attr:" "`width` characters." msgstr "" +"(par défaut : ``70```) Longueur maximale des lignes reformatées. Tant qu'il " +"n'y a pas de mots individuels dans le texte d'entrée plus longs que :attr:" +"`width`, :class:`TextWrapper` garantit qu'aucune ligne de sortie n'est plus " +"longue que :attr:`width` caractères." #: ../Doc/library/textwrap.rst:161 msgid "" "(default: ``True``) If true, then all tab characters in *text* will be " "expanded to spaces using the :meth:`expandtabs` method of *text*." msgstr "" +"(par défaut : ``True``) Si `true`, alors tous les caractères de tabulation " +"dans *text* sont transformés en espaces en utilisant la méthode :meth:" +"`expandtabs` de *text*." #: ../Doc/library/textwrap.rst:167 msgid "" @@ -187,6 +253,9 @@ msgid "" "*text* will be expanded to zero or more spaces, depending on the current " "column and the given tab size." msgstr "" +"(par défaut : ``8``) Si :attr:`expand_tabs` est `true`, alors tous les " +"caractères de tabulation dans *text* sont transformés en zéro ou plus " +"d'espaces, selon la colonne courante et la taille de tabulation donnée." #: ../Doc/library/textwrap.rst:176 msgid "" @@ -195,6 +264,11 @@ msgid "" "space. The whitespace characters replaced are as follows: tab, newline, " "vertical tab, formfeed, and carriage return (``'\\t\\n\\v\\f\\r'``)." msgstr "" +"(par défaut : ``True``) Si `true`, après l'expansion des tabulations mais " +"avant le formatage, la méthode :meth:`wrap` remplace chaque *blanc* par une " +"espace unique. Les *blancs* remplacés sont les suivants : tabulation, " +"nouvelle ligne, tabulation verticale, saut de page et retour chariot (``'\\t" +"\\n\\v\\f\\r'``)." #: ../Doc/library/textwrap.rst:184 msgid "" @@ -202,6 +276,9 @@ msgid "" "tab character will be replaced by a single space, which is *not* the same as " "tab expansion." msgstr "" +"Si :attr:`expand_tabs` est *False* et :attr:`replace_whitespace` est vrai, " +"chaque caractère de tabulation est remplacé par une espace unique, ce qui " +"*n'est pas* la même chose que l'extension des tabulations." #: ../Doc/library/textwrap.rst:190 msgid "" @@ -210,6 +287,10 @@ msgid "" "paragraphs (using :meth:`str.splitlines` or similar) which are wrapped " "separately." msgstr "" +"Si :attr:`replace_whitespace` est faux, de nouvelles lignes peuvent " +"apparaître au milieu d'une ligne et provoquer une sortie étrange. Pour cette " +"raison, le texte doit être divisé en paragraphes (en utilisant :meth:`str." +"splitlines` ou similaire) qui sont formatés séparément." #: ../Doc/library/textwrap.rst:198 msgid "" @@ -219,6 +300,11 @@ msgid "" "follows it. If whitespace being dropped takes up an entire line, the whole " "line is dropped." msgstr "" +"(par défaut : ``True``) Si *True*, l'espace au début et à la fin de chaque " +"ligne (après le formatage mais avant l'indentation) est supprimée. L'espace " +"au début du paragraphe n'est cependant pas supprimée si elle n'est pas " +"suivie par une espace. Si les espaces en cours de suppression occupent une " +"ligne entière, la ligne entière est supprimée." #: ../Doc/library/textwrap.rst:207 msgid "" @@ -226,6 +312,9 @@ msgid "" "output. Counts towards the length of the first line. The empty string is " "not indented." msgstr "" +"(par défaut : ```''```) Chaîne qui est ajoutée à la première ligne de la " +"sortie formatée. Elle compte pour le calcul de la longueur de la première " +"ligne. La chaîne vide n'est pas indentée." #: ../Doc/library/textwrap.rst:214 msgid "" @@ -233,6 +322,9 @@ msgid "" "output except the first. Counts towards the length of each line except the " "first." msgstr "" +"(par défaut : ```''```) Chaîne qui préfixe toutes les lignes de la sortie " +"formatée sauf la première. Elle compte pour le calcul de la longueur de " +"chaque ligne à l'exception de la première." #: ../Doc/library/textwrap.rst:221 msgid "" @@ -245,14 +337,23 @@ msgid "" "followed by a space. One problem with this is algorithm is that it is " "unable to detect the difference between \"Dr.\" in ::" msgstr "" +"(par défaut : ``Faux``) Si `true`, :class:`TextWrapper` tente de détecter " +"les fins de phrases et de s'assurer que les phrases sont toujours séparées " +"par exactement deux espaces. Ceci est généralement souhaité pour un texte " +"en police à chasse fixe. Cependant, l'algorithme de détection de phrase est " +"imparfait : il suppose qu'une fin de phrase consiste en une lettre minuscule " +"suivie de l'une des lettres suivantes : ``'.'``, ``'!'``, ou ``'?'``, " +"éventuellement suivie d'une des lettres ``'\"'`` ou ``\"'\"``, suivie par " +"une espace. Un problème avec cet algorithme est qu'il est incapable de " +"détecter la différence entre \"Dr\" dans : :" #: ../Doc/library/textwrap.rst:232 msgid "and \"Spot.\" in ::" -msgstr "" +msgstr "et \"Spot.\" dans ::" #: ../Doc/library/textwrap.rst:236 msgid ":attr:`fix_sentence_endings` is false by default." -msgstr "" +msgstr ":attr:`fix_sentence_endings` est *False* par défaut." #: ../Doc/library/textwrap.rst:238 msgid "" @@ -261,6 +362,11 @@ msgid "" "after a period to separate sentences on the same line, it is specific to " "English-language texts." msgstr "" +"Étant donné que l'algorithme de détection de phrases repose sur ``string." +"lowercase`` pour la définition de \"lettres minuscules\" et sur une " +"convention consistant à utiliser deux espaces après un point pour séparer " +"les phrases sur la même ligne, ceci est spécifique aux textes de langue " +"anglaise." #: ../Doc/library/textwrap.rst:246 msgid "" @@ -270,6 +376,12 @@ msgid "" "than :attr:`width`. (Long words will be put on a line by themselves, in " "order to minimize the amount by which :attr:`width` is exceeded.)" msgstr "" +"(par défaut : ``True``) Si *True*, alors les mots plus longs que :attr:" +"`width` sont cassés afin de s'assurer qu'aucune ligne ne soit plus longue " +"que :attr:`width`. Si c'est *False*, les mots longs ne sont pas cassés et " +"certaines lignes peuvent être plus longues que :attr:`width` (les mots longs " +"seront mis sur une ligne qui leur est propre, afin de minimiser le " +"dépassement de :attr:`width`)." #: ../Doc/library/textwrap.rst:255 msgid "" @@ -280,24 +392,37 @@ msgid "" "want truly insecable words. Default behaviour in previous versions was to " "always allow breaking hyphenated words." msgstr "" +"(par défaut : ``True``) Si c'est vrai, le formatage se fait de préférence " +"sur les espaces et juste après sur les traits d'union des mots composés, " +"comme il est d'usage en anglais. Si *False*, seuls les espaces sont " +"considérées comme de bons endroits pour les sauts de ligne, mais vous devez " +"définir :attr:`break_long_words` à *False* si vous voulez des mots vraiment " +"insécables. Le comportement par défaut dans les versions précédentes était " +"de toujours permettre de couper les mots avec trait d'union." #: ../Doc/library/textwrap.rst:265 msgid "" "(default: ``None``) If not ``None``, then the output will contain at most " "*max_lines* lines, with *placeholder* appearing at the end of the output." msgstr "" +"(par défaut : ``None```) Si ce n'est pas ``None```, alors la sortie contient " +"au maximum *max_lines* lignes, avec *placeholder* à la fin de la sortie." #: ../Doc/library/textwrap.rst:273 msgid "" "(default: ``' [...]'``) String that will appear at the end of the output " "text if it has been truncated." msgstr "" +"(par défaut : ``'' [...]'``) Chaîne qui apparaît à la fin du texte de sortie " +"s'il a été tronqué." #: ../Doc/library/textwrap.rst:279 msgid "" ":class:`TextWrapper` also provides some public methods, analogous to the " "module-level convenience functions:" msgstr "" +":class:`TextWrapper` fournit également quelques méthodes publiques, " +"analogues aux fonctions de commodité au niveau du module :" #: ../Doc/library/textwrap.rst:284 msgid "" @@ -307,9 +432,17 @@ msgid "" "lines, without final newlines. If the wrapped output has no content, the " "returned list is empty." msgstr "" +"Formate le paragraphe unique dans *text* (une chaîne de caractères) de sorte " +"que chaque ligne ait au maximum :attr:`width` caractères. Toutes les " +"options de formatage sont tirées des attributs d'instance de l'instance de " +"classe :class:`TextWrapper`. Renvoie une liste de lignes de sortie, sans " +"nouvelles lignes finales. Si la sortie formatée n'a pas de contenu, la liste " +"vide est renvoyée." #: ../Doc/library/textwrap.rst:293 msgid "" "Wraps the single paragraph in *text*, and returns a single string containing " "the wrapped paragraph." msgstr "" +"Formate le paragraphe unique de *text* et renvoie une seule chaîne contenant " +"le paragraphe formaté." diff --git a/library/threading.po b/library/threading.po index b1875d45..45e56655 100644 --- a/library/threading.po +++ b/library/threading.po @@ -19,6 +19,7 @@ msgstr "" #: ../Doc/library/threading.rst:2 msgid ":mod:`threading` --- Thread-based parallelism" msgstr "" +":mod:`threading` — Parallélisme basé sur les fils d’exécution (*threads*)" #: ../Doc/library/threading.rst:7 msgid "**Source code:** :source:`Lib/threading.py`" @@ -29,6 +30,9 @@ msgid "" "This module constructs higher-level threading interfaces on top of the lower " "level :mod:`_thread` module. See also the :mod:`queue` module." msgstr "" +"Ce module élabore des interfaces haut-niveau de fils d'exécutions multiples " +"(*threading*) conçues en s'appuyant sur le module bas-niveau :mod:`_thread`. " +"Voir aussi le module :mod:`queue`." #: ../Doc/library/threading.rst:14 msgid "" @@ -42,16 +46,21 @@ msgid "" "methods and functions in this module in the Python 2.x series are still " "supported by this module." msgstr "" +"Bien qu'ils ne soient pas listés ci-dessous, ce module gère toujours les " +"noms en ``camelCase`` utilisés pour certaines méthodes et fonctions de ce " +"module dans la série Python 2.x." #: ../Doc/library/threading.rst:24 msgid "This module defines the following functions:" -msgstr "" +msgstr "Ce module définit les fonctions suivantes :" #: ../Doc/library/threading.rst:29 msgid "" "Return the number of :class:`Thread` objects currently alive. The returned " "count is equal to the length of the list returned by :func:`.enumerate`." msgstr "" +"Renvoie le nombre d'objets :class:`Thread` actuellement vivants. Le compte " +"renvoyé est égal à la longueur de la liste renvoyée par :func:`.enumerate`." #: ../Doc/library/threading.rst:35 msgid "" @@ -60,6 +69,10 @@ msgid "" "through the :mod:`threading` module, a dummy thread object with limited " "functionality is returned." msgstr "" +"Renvoie l'objet :class:`Thread` courant, correspondant au fil de contrôle de " +"l'appelant. Si le fil de contrôle de l'appelant n'a pas été créé via le " +"module :mod:`Thread`, un objet *thread* factice aux fonctionnalités limitées " +"est renvoyé." #: ../Doc/library/threading.rst:43 msgid "" @@ -69,6 +82,11 @@ msgid "" "identifiers may be recycled when a thread exits and another thread is " "created." msgstr "" +"Renvoie l'\"identificateur de fil\" du fil d'exécution courant. C'est un " +"entier non nul. Sa valeur n'a pas de signification directe ; il est destiné " +"à être utilisé comme valeur magique opaque, par exemple comme clef de " +"dictionnaire de données pour chaque fil. Les identificateurs de fils peuvent " +"être recyclés lorsqu'un fil se termine et qu'un autre fil est créé." #: ../Doc/library/threading.rst:54 msgid "" @@ -77,12 +95,19 @@ msgid "" "`current_thread`, and the main thread. It excludes terminated threads and " "threads that have not yet been started." msgstr "" +"Renvoie une liste de tous les objets fil d'exécution :class:`Thread` " +"actuellement vivants. La liste inclut les fils démons, les fils factices " +"créés par :func:`current_thread` et le fil principal. Elle exclut les fils " +"terminés et les fils qui n'ont pas encore été lancés." #: ../Doc/library/threading.rst:62 msgid "" "Return the main :class:`Thread` object. In normal conditions, the main " "thread is the thread from which the Python interpreter was started." msgstr "" +"Renvoie l'objet fil d'exécution :class:`Thread` principal. Dans des " +"conditions normales, le fil principal est le fil à partir duquel " +"l'interpréteur Python a été lancé." #: ../Doc/library/threading.rst:73 msgid "" @@ -90,6 +115,10 @@ msgid "" "module. The *func* will be passed to :func:`sys.settrace` for each thread, " "before its :meth:`~Thread.run` method is called." msgstr "" +"Attache une fonction de traçage pour tous les fils d'exécution démarrés " +"depuis le module :mod:`Thread`. La fonction *func* est passée à :func:`sys." +"settrace` pour chaque fil, avant que sa méthode :meth:`~Thread.run` soit " +"appelée." #: ../Doc/library/threading.rst:82 msgid "" @@ -97,6 +126,10 @@ msgid "" "module. The *func* will be passed to :func:`sys.setprofile` for each " "thread, before its :meth:`~Thread.run` method is called." msgstr "" +"Attache une fonction de profilage pour tous les fils d'exécution démarrés " +"depuis le module :mod:`Threading`. La fonction *func* est passée à :func:" +"`sys.setprofile` pour chaque fil, avant que sa méthode :meth:`~Thread.run` " +"soit appelée." #: ../Doc/library/threading.rst:89 msgid "" @@ -119,7 +152,7 @@ msgstr "" #: ../Doc/library/threading.rst:106 msgid "This module also defines the following constant:" -msgstr "" +msgstr "Ce module définit également la constante suivante :" #: ../Doc/library/threading.rst:110 msgid "" @@ -128,12 +161,18 @@ msgid "" "Specifying a timeout greater than this value will raise an :exc:" "`OverflowError`." msgstr "" +"La valeur maximale autorisée pour le paramètre *timeout* des fonctions " +"bloquantes (:meth:`Lock.acquire`, :meth:`RLock.acquire`, :meth:`Condition." +"wait`, etc.). Spécifier un délai d'attente supérieur à cette valeur lève " +"une :exc:`OverflowError`." #: ../Doc/library/threading.rst:118 msgid "" "This module defines a number of classes, which are detailed in the sections " "below." msgstr "" +"Ce module définit un certain nombre de classes, qui sont détaillées dans les " +"sections ci-dessous." #: ../Doc/library/threading.rst:121 msgid "" @@ -145,14 +184,24 @@ msgid "" "stopped, suspended, resumed, or interrupted. The static methods of Java's " "Thread class, when implemented, are mapped to module-level functions." msgstr "" +"La conception de ce module est librement basée sur le modèle des fils " +"d'exécution de Java. Cependant, là où Java fait des verrous et des variables " +"de condition le comportement de base de chaque objet, ils sont des objets " +"séparés en Python. La classe Python :class:`Thread` prend en charge un sous-" +"ensemble du comportement de la classe *Thread* de Java ; actuellement, il " +"n'y a aucune priorité, aucun groupe de fils d'exécution, et les fils ne " +"peuvent être détruits, arrêtés, suspendus, repris ni interrompus. Les " +"méthodes statiques de la classe *Thread* de Java, lorsqu'elles sont " +"implémentées, correspondent à des fonctions au niveau du module." #: ../Doc/library/threading.rst:129 msgid "All of the methods described below are executed atomically." msgstr "" +"Toutes les méthodes décrites ci-dessous sont exécutées de manière atomique." #: ../Doc/library/threading.rst:133 msgid "Thread-Local Data" -msgstr "" +msgstr "Données locales au fil d'exécution" #: ../Doc/library/threading.rst:135 msgid "" @@ -160,24 +209,31 @@ msgid "" "thread-local data, just create an instance of :class:`local` (or a subclass) " "and store attributes on it::" msgstr "" +"Les données locales au fil d'exécution (*thread-local data*) sont des " +"données dont les valeurs sont propres à chaque fil. Pour gérer les données " +"locales au fil, il suffit de créer une instance de :class:`local` (ou une " +"sous-classe) et d'y stocker des données : ::" #: ../Doc/library/threading.rst:142 msgid "The instance's values will be different for separate threads." msgstr "" +"Les valeurs dans l'instance sont différentes pour des *threads* différents." #: ../Doc/library/threading.rst:147 msgid "A class that represents thread-local data." -msgstr "" +msgstr "Classe qui représente les données locales au fil d'exécution." #: ../Doc/library/threading.rst:149 msgid "" "For more details and extensive examples, see the documentation string of " "the :mod:`_threading_local` module." msgstr "" +"Pour plus de détails et de nombreux exemples, voir la chaîne de " +"documentation du module :mod:`_threading_local`." #: ../Doc/library/threading.rst:156 msgid "Thread Objects" -msgstr "" +msgstr "Objets *Threads*" #: ../Doc/library/threading.rst:158 msgid "" @@ -188,6 +244,13 @@ msgid "" "be overridden in a subclass. In other words, *only* override the :meth:" "`~Thread.__init__` and :meth:`~Thread.run` methods of this class." msgstr "" +"La classe fil d'exécution :class:`Thread` représente une activité qui est " +"exécutée dans un fil d'exécution séparé. Il y a deux façons de spécifier " +"l'activité : en passant un objet appelable au constructeur, ou en ré-" +"implémentant la méthode :meth:`~Thread.run` dans une sous-classe. Aucune " +"autre méthode (à l'exception du constructeur) ne doit être remplacée dans " +"une sous-classe. En d'autres termes, réimplémentez *seulement* les méthodes :" +"meth:`~Thread.__init__` et :meth:`~Thread.run` de cette classe." #: ../Doc/library/threading.rst:165 msgid "" @@ -195,6 +258,9 @@ msgid "" "thread's :meth:`~Thread.start` method. This invokes the :meth:`~Thread.run` " "method in a separate thread of control." msgstr "" +"Une fois qu'un objet fil d'exécution est créé, son activité doit être lancée " +"en appelant la méthode :meth:`~Thread.start` du fil. Ceci invoque la " +"méthode :meth:`~Thread.run` dans un fil d'exécution séparé." #: ../Doc/library/threading.rst:169 msgid "" @@ -203,6 +269,10 @@ msgid "" "normally, or by raising an unhandled exception. The :meth:`~Thread." "is_alive` method tests whether the thread is alive." msgstr "" +"Une fois que l'activité du fil d'exécution est lancée, le fil est considéré " +"comme « vivant ». Il cesse d'être vivant lorsque sa méthode :meth:`~Thread." +"run` se termine – soit normalement, soit en levant une exception non gérée. " +"La méthode :meth:`~Thread.is_alive` teste si le fil est vivant." #: ../Doc/library/threading.rst:174 msgid "" @@ -210,12 +280,17 @@ msgid "" "the calling thread until the thread whose :meth:`~Thread.join` method is " "called is terminated." msgstr "" +"D'autres fils d'exécution peuvent appeler la méthode :meth:`~Thread.join` " +"d'un fil. Ceci bloque le fil appelant jusqu'à ce que le fil dont la méthode :" +"meth:`~Thread.join` est appelée soit terminé." #: ../Doc/library/threading.rst:178 msgid "" "A thread has a name. The name can be passed to the constructor, and read or " "changed through the :attr:`~Thread.name` attribute." msgstr "" +"Un fil d'exécution a un nom. Le nom peut être passé au constructeur, et lu " +"ou modifié via l'attribut :attr:`~Thread.name`." #: ../Doc/library/threading.rst:181 msgid "" @@ -225,6 +300,11 @@ msgid "" "can be set through the :attr:`~Thread.daemon` property or the *daemon* " "constructor argument." msgstr "" +"Un fil d'exécution peut être marqué comme « fil démon ». Un programme Python " +"se termine quand il ne reste plus que des fils démons. La valeur initiale " +"est héritée du fil d'exécution qui l'a créé. Cette option peut être définie " +"par la propriété :attr:`~Thread.daemon` ou par l'argument *daemon* du " +"constructeur." #: ../Doc/library/threading.rst:188 msgid "" @@ -233,12 +313,20 @@ msgid "" "you want your threads to stop gracefully, make them non-daemonic and use a " "suitable signalling mechanism such as an :class:`Event`." msgstr "" +"Les fils d'exécution démons sont brusquement terminés à l'arrêt du programme " +"Python. Leurs ressources (fichiers ouverts, transactions de base de données, " +"etc.) peuvent ne pas être libérées correctement. Si vous voulez que vos fils " +"s'arrêtent proprement, faites en sorte qu'ils ne soient pas démoniques et " +"utilisez un mécanisme de signalisation approprié tel qu'un objet évènement :" +"class:`Event`." #: ../Doc/library/threading.rst:193 msgid "" "There is a \"main thread\" object; this corresponds to the initial thread of " "control in the Python program. It is not a daemon thread." msgstr "" +"Il y a un objet \"fil principal\", qui correspond au fil de contrôle initial " +"dans le programme Python. Ce n'est pas un fil démon." #: ../Doc/library/threading.rst:196 msgid "" @@ -249,41 +337,62 @@ msgid "" "alive and daemonic, and cannot be :meth:`~Thread.join`\\ ed. They are never " "deleted, since it is impossible to detect the termination of alien threads." msgstr "" +"Il y a une possibilité que des objets fil d'exécution « fictifs » soient " +"créés. Ce sont des objets correspondant à des fils d'exécution " +"« étrangers », qui sont des fils de contrôle démarrés en dehors du module de " +"*threading*, par exemple directement depuis du code C. Les objets fils " +"d'exécution fictifs ont des fonctionnalités limitées ; ils sont toujours " +"considérés comme vivants et démoniques, et ne peuvent pas être attendus via :" +"meth:`~Thread.join`. Ils ne sont jamais supprimés, car il est impossible de " +"détecter la fin des fils d'exécution étrangers." #: ../Doc/library/threading.rst:207 msgid "" "This constructor should always be called with keyword arguments. Arguments " "are:" msgstr "" +"Ce constructeur doit toujours être appelé avec des arguments nommés. Les " +"arguments sont :" #: ../Doc/library/threading.rst:210 msgid "" "*group* should be ``None``; reserved for future extension when a :class:" "`ThreadGroup` class is implemented." msgstr "" +"*group* doit être ``None`` ; cet argument est réservé pour une extension " +"future lorsqu'une classe :class:`ThreadGroup` sera implémentée." #: ../Doc/library/threading.rst:213 msgid "" "*target* is the callable object to be invoked by the :meth:`run` method. " "Defaults to ``None``, meaning nothing is called." msgstr "" +"*target* est l'objet appelable qui doit être invoqué par la méthode :meth:" +"`run`. La valeur par défaut est ``None``, ce qui signifie que rien n'est " +"appelé." #: ../Doc/library/threading.rst:216 msgid "" "*name* is the thread name. By default, a unique name is constructed of the " "form \"Thread-*N*\" where *N* is a small decimal number." msgstr "" +"*name* est le nom du fil d'exécution. Par défaut, un nom unique est " +"construit de la forme « Thread–*N* » où *N* est un petit nombre décimal." #: ../Doc/library/threading.rst:219 msgid "" "*args* is the argument tuple for the target invocation. Defaults to ``()``." msgstr "" +"*args* est le tuple d'arguments pour l'invocation de l'objet appelable. La " +"valeur par défaut est ``()``." #: ../Doc/library/threading.rst:221 msgid "" "*kwargs* is a dictionary of keyword arguments for the target invocation. " "Defaults to ``{}``." msgstr "" +"*kwargs* est un dictionnaire d'arguments nommés pour l'invocation de l'objet " +"appelable. La valeur par défaut est ``{}``." #: ../Doc/library/threading.rst:224 msgid "" @@ -291,6 +400,9 @@ msgid "" "``None`` (the default), the daemonic property is inherited from the current " "thread." msgstr "" +"S'il ne vaut pas ``None``, *daemon* définit explicitement si le fil " +"d'exécution est démonique ou pas. S'il vaut ``None`` (par défaut), la valeur " +"est héritée du fil courant." #: ../Doc/library/threading.rst:228 msgid "" @@ -298,14 +410,17 @@ msgid "" "base class constructor (``Thread.__init__()``) before doing anything else to " "the thread." msgstr "" +"Si la sous-classe réimplémente le constructeur, elle doit s'assurer " +"d'appeler le constructeur de la classe de base (``Thread.__init__()``) avant " +"de faire autre chose au fil d'exécution." #: ../Doc/library/threading.rst:232 msgid "Added the *daemon* argument." -msgstr "" +msgstr "Ajout de l'argument *daemon*." #: ../Doc/library/threading.rst:237 msgid "Start the thread's activity." -msgstr "" +msgstr "Lance l'activité du fil d'exécution." #: ../Doc/library/threading.rst:239 msgid "" @@ -313,16 +428,21 @@ msgid "" "object's :meth:`~Thread.run` method to be invoked in a separate thread of " "control." msgstr "" +"Elle ne doit être appelée qu'une fois par objet de fil. Elle fait en sorte " +"que la méthode :meth:`~Thread.run` de l'objet soit invoquée dans un fil " +"d'exécution." #: ../Doc/library/threading.rst:243 msgid "" "This method will raise a :exc:`RuntimeError` if called more than once on the " "same thread object." msgstr "" +"Cette méthode lève une :exc:`RuntimeError` si elle est appelée plus d'une " +"fois sur le même objet fil d'exécution." #: ../Doc/library/threading.rst:248 msgid "Method representing the thread's activity." -msgstr "" +msgstr "Méthode représentant l'activité du fil d'exécution." #: ../Doc/library/threading.rst:250 msgid "" @@ -349,16 +469,26 @@ msgid "" "whether a timeout happened -- if the thread is still alive, the :meth:" "`~Thread.join` call timed out." msgstr "" +"Lorsque l'argument *timeout* est présent et ne vaut pas ``None``, il doit " +"être un nombre en virgule flottante spécifiant un délai pour l'opération en " +"secondes (ou fractions de secondes). Comme :meth:`~Thread.join` renvoie " +"toujours ``None``, vous devez appeler :meth:`~Thread.is_alive` après :meth:" +"`~Thread.join` pour déterminer si le délai a expiré – si le fil d'exécution " +"est toujours vivant, c'est que l'appel à :meth:`~Thread.join` a expiré." #: ../Doc/library/threading.rst:269 msgid "" "When the *timeout* argument is not present or ``None``, the operation will " "block until the thread terminates." msgstr "" +"Lorsque l'argument *timeout* n'est pas présent ou vaut ``None``, l'opération " +"se bloque jusqu'à ce que le fil d'exécution se termine." #: ../Doc/library/threading.rst:272 msgid "A thread can be :meth:`~Thread.join`\\ ed many times." msgstr "" +"Un fil d'exécution peut être attendu via :meth:`~Thread.join` de nombreuses " +"fois." #: ../Doc/library/threading.rst:274 msgid "" @@ -367,6 +497,11 @@ msgid "" "to :meth:`~Thread.join` a thread before it has been started and attempts to " "do so raise the same exception." msgstr "" +":meth:`~Thread.join` lève une :exc:`RuntimeError` si une tentative est faite " +"pour attendre le fil d'exécution courant car cela conduirait à un " +"interblocage (*deadlock* en anglais). Attendre via :meth:`~Thread.join` un " +"fil d'exécution avant son lancement est aussi une erreur et, si vous tentez " +"de le faire, lève la même exception." #: ../Doc/library/threading.rst:281 msgid "" @@ -374,12 +509,17 @@ msgid "" "Multiple threads may be given the same name. The initial name is set by the " "constructor." msgstr "" +"Une chaîne de caractères utilisée à des fins d'identification seulement. " +"Elle n'a pas de sémantique. Plusieurs fils d'exécution peuvent porter le " +"même nom. Le nom initial est défini par le constructeur." #: ../Doc/library/threading.rst:288 msgid "" "Old getter/setter API for :attr:`~Thread.name`; use it directly as a " "property instead." msgstr "" +"Anciens accesseur et mutateur pour :attr:`~Thread.name` ; utilisez plutôt ce " +"dernier directement." #: ../Doc/library/threading.rst:293 msgid "" @@ -392,7 +532,7 @@ msgstr "" #: ../Doc/library/threading.rst:301 msgid "Return whether the thread is alive." -msgstr "" +msgstr "Renvoie si le fil d'exécution est vivant ou pas." #: ../Doc/library/threading.rst:303 msgid "" @@ -400,6 +540,10 @@ msgid "" "starts until just after the :meth:`~Thread.run` method terminates. The " "module function :func:`.enumerate` returns a list of all alive threads." msgstr "" +"Cette méthode renvoie ``True`` depuis juste avant le démarrage de la " +"méthode :meth:`~Thread.run` et jusqu'à juste après la terminaison de la " +"méthode :meth:`~Thread.run`. La fonction :func:`.enumerate` du module " +"renvoie une liste de tous les fils d'exécution vivants." #: ../Doc/library/threading.rst:309 msgid "" @@ -410,17 +554,27 @@ msgid "" "therefore all threads created in the main thread default to :attr:`~Thread." "daemon` = ``False``." msgstr "" +"Booléen indiquant si ce fil d'exécution est un fil démon (``True``) ou non " +"(``False``). Celui-ci doit être défini avant que :meth:`~Thread.start` ne " +"soit appelé, sinon :exc:`RuntimeError` est levée. Sa valeur initiale est " +"héritée du fil d'exécution créateur ; le fil principal n'est pas un fil " +"démon et donc tous les fils créés dans ce fil principal ont par défaut la " +"valeur :attr:`~Thread.daemon` = ``False``." #: ../Doc/library/threading.rst:316 msgid "" "The entire Python program exits when no alive non-daemon threads are left." msgstr "" +"Le programme Python se termine lorsqu'il ne reste plus de fils d'exécution " +"non-démons vivants." #: ../Doc/library/threading.rst:321 msgid "" "Old getter/setter API for :attr:`~Thread.daemon`; use it directly as a " "property instead." msgstr "" +"Anciens accesseur et mutateur pour :attr:`~Thread.daemon` ; utilisez plutôt " +"ce dernier directement." #: ../Doc/library/threading.rst:327 msgid "" @@ -432,6 +586,15 @@ msgid "" "ProcessPoolExecutor`. However, threading is still an appropriate model if " "you want to run multiple I/O-bound tasks simultaneously." msgstr "" +"En CPython, en raison du verrou global de l'interpréteur (:term:`Global " +"Interpreter Lock`), un seul fil d'exécution peut exécuter du code Python à " +"la fois (même si certaines bibliothèques orientées performance peuvent " +"surmonter cette limitation). Si vous voulez que votre application fasse un " +"meilleur usage des ressources de calcul des machines multi-cœurs, nous vous " +"conseillons d'utiliser :mod:`multiprocessing` ou :class:`concurrent.futures." +"ProcessPoolExecutor`. Néanmoins, les fils d'exécutions multiples restent un " +"modèle approprié si vous souhaitez exécuter simultanément plusieurs tâches " +"limitées par les performances des entrées-sorties." #: ../Doc/library/threading.rst:340 msgid "Lock Objects" @@ -488,7 +651,7 @@ msgstr "" #: ../Doc/library/threading.rst:380 ../Doc/library/threading.rst:454 msgid "Acquire a lock, blocking or non-blocking." -msgstr "" +msgstr "Acquiert un verrou, bloquant ou non bloquant." #: ../Doc/library/threading.rst:382 msgid "" @@ -1195,7 +1358,7 @@ msgstr "" #: ../Doc/library/threading.rst:985 msgid "is equivalent to::" -msgstr "" +msgstr "est équivalente à ::" #: ../Doc/library/threading.rst:993 msgid "" diff --git a/library/time.po b/library/time.po index a65e0759..12238a89 100644 --- a/library/time.po +++ b/library/time.po @@ -18,13 +18,16 @@ msgstr "" #: ../Doc/library/time.rst:2 msgid ":mod:`time` --- Time access and conversions" -msgstr "" +msgstr ":mod:`time` — Accès au temps et conversions" #: ../Doc/library/time.rst:9 msgid "" "This module provides various time-related functions. For related " "functionality, see also the :mod:`datetime` and :mod:`calendar` modules." msgstr "" +"Ce module fournit différentes fonctions liées au temps. Pour les " +"fonctionnalités associées, voir aussi les modules :mod:`datetime` et :mod:" +"`calendar`." #: ../Doc/library/time.rst:12 msgid "" @@ -34,10 +37,17 @@ msgid "" "consult the platform documentation, because the semantics of these functions " "varies among platforms." msgstr "" +"Bien que ce module soit toujours disponible, toutes les fonctions ne sont " +"pas disponibles sur toutes les plateformes. La plupart des fonctions " +"définies dans ce module délèguent à des fonctions de même nom de la " +"bibliothèque C. Il peut parfois être utile de consulter la documentation de " +"la plate-forme, car la sémantique de ces fonctions peut varier." #: ../Doc/library/time.rst:18 msgid "An explanation of some terminology and conventions is in order." msgstr "" +"Vous trouvez ci-dessous, mises en ordre, quelques explications relative à la " +"terminologie et aux conventions." #: ../Doc/library/time.rst:22 msgid "" @@ -52,6 +62,10 @@ msgid "" "or far in the future. The cut-off point in the future is determined by the " "C library; for 32-bit systems, it is typically in 2038." msgstr "" +"Les fonctions de ce module peuvent ne pas gérer les dates et heures " +"antérieures à *epoch* ou dans un avenir lointain. Le seuil du futur est " +"déterminé par la bibliothèque C ; pour les systèmes 32 bits, il s’agit " +"généralement de 2038." #: ../Doc/library/time.rst:38 msgid "" @@ -63,6 +77,14 @@ msgid "" "standards: values 69--99 are mapped to 1969--1999, and values 0--68 are " "mapped to 2000--2068." msgstr "" +"**Problèmes liés à l’an 2000 (Y2K)** : Python dépend de la bibliothèque C de " +"la plate-forme, qui n’a généralement pas de problèmes liés à l’an 2000, " +"étant donné que toutes les dates et heures sont représentées en interne en " +"secondes depuis *epoch*. La fonction :func:`strptime` peut analyser des " +"années à 2 chiffres lorsque le format ``%y`` est spécifié. Lorsque les " +"années à deux chiffres sont analysées, elles sont converties conformément " +"aux normes POSIX et ISO C : les valeurs 69—99 correspondent à 1969—1999 et " +"les valeurs 0—68 à 2000—2068." #: ../Doc/library/time.rst:50 msgid "" @@ -70,6 +92,9 @@ msgid "" "GMT). The acronym UTC is not a mistake but a compromise between English and " "French." msgstr "" +"UTC désigne le temps universel coordonné (*Coordinated Universal Time* en " +"anglais), anciennement l'heure de Greenwich (ou GMT). L'acronyme UTC n'est " +"pas une erreur mais un compromis entre l'anglais et le français." #: ../Doc/library/time.rst:56 msgid "" @@ -79,6 +104,12 @@ msgid "" "local rules (often it is read from a system file for flexibility) and is the " "only source of True Wisdom in this respect." msgstr "" +"Le DST (*Daylight Saving Time*) correspond à l’heure d’été, un ajustement du " +"fuseau horaire d’une heure (généralement) pendant une partie de l’année. Les " +"règles de DST sont magiques (déterminées par la loi locale) et peuvent " +"changer d’année en année. La bibliothèque C possède une table contenant les " +"règles locales (souvent, elle est lue dans un fichier système par souci de " +"souplesse) et constitue la seule source fiable." #: ../Doc/library/time.rst:62 msgid "" @@ -86,6 +117,10 @@ msgid "" "by the units in which their value or argument is expressed. E.g. on most " "Unix systems, the clock \"ticks\" only 50 or 100 times a second." msgstr "" +"La précision des diverses fonctions en temps réel peut être inférieure à " +"celle suggérée par les unités dans lesquelles leur valeur ou leur argument " +"est exprimé. Par exemple, sur la plupart des systèmes Unix, l’horloge ne « " +"bat » que 50 ou 100 fois par seconde." #: ../Doc/library/time.rst:66 msgid "" @@ -96,6 +131,12 @@ msgid "" "with a nonzero fraction (Unix :c:func:`select` is used to implement this, " "where available)." msgstr "" +"D’autre part, la précision de :func:`.time` et :func:`sleep` est meilleure " +"que leurs équivalents Unix : les temps sont exprimés en nombres à virgule " +"flottante, :func:`.time` renvoie le temps le plus précis disponible (en " +"utilisant :c:func:`gettimeofday` d'Unix si elle est disponible), et :func:" +"`sleep` accepte le temps avec une fraction non nulle (:c:func:`select` " +"d'Unix est utilisée pour l’implémenter, si elle est disponible)." #: ../Doc/library/time.rst:73 msgid "" @@ -105,10 +146,15 @@ msgid "" "`gmtime`, :func:`localtime`, and :func:`strptime` also offer attribute names " "for individual fields." msgstr "" +"La valeur temporelle renvoyée par :func:`gmtime`, :func:`localtime` et :func:" +"`strptime`, et acceptée par :func:`asctime`, :func:`mktime` et :func:" +"`strftime`, est une séquence de 9 nombres entiers. Les valeurs de retour de :" +"func:`gmtime`, :func:`localtime` et :func:`strptime` proposent également des " +"noms d’attributs pour des champs individuels." #: ../Doc/library/time.rst:79 msgid "See :class:`struct_time` for a description of these objects." -msgstr "" +msgstr "Voir :class:`struct_time` pour une description de ces objets." #: ../Doc/library/time.rst:81 msgid "" @@ -116,10 +162,15 @@ msgid "" "and :attr:`tm_zone` attributes when platform supports corresponding ``struct " "tm`` members." msgstr "" +"Le type :class:`struct_time` a été étendu pour fournir les attributs :attr:" +"`tm_gmtoff` et :attr:`tm_zone` lorsque la plateforme prend en charge les " +"membres ``struct tm`` correspondants." #: ../Doc/library/time.rst:86 msgid "Use the following functions to convert between time representations:" msgstr "" +"Utilisez les fonctions suivantes pour convertir des représentations " +"temporelles :" #: ../Doc/library/time.rst:89 msgid "From" @@ -131,36 +182,36 @@ msgstr "À" #: ../Doc/library/time.rst:89 msgid "Use" -msgstr "" +msgstr "Utilisez" #: ../Doc/library/time.rst:91 ../Doc/library/time.rst:94 #: ../Doc/library/time.rst:97 ../Doc/library/time.rst:100 msgid "seconds since the epoch" -msgstr "" +msgstr "secondes depuis *epoch*" #: ../Doc/library/time.rst:91 ../Doc/library/time.rst:97 msgid ":class:`struct_time` in UTC" -msgstr "" +msgstr ":class:`struct_time` en UTC" #: ../Doc/library/time.rst:91 msgid ":func:`gmtime`" -msgstr "" +msgstr ":func:`gmtime`" #: ../Doc/library/time.rst:94 ../Doc/library/time.rst:100 msgid ":class:`struct_time` in local time" -msgstr "" +msgstr ":class:`struct_time` en heure locale" #: ../Doc/library/time.rst:94 msgid ":func:`localtime`" -msgstr "" +msgstr ":func:`localtime`" #: ../Doc/library/time.rst:97 msgid ":func:`calendar.timegm`" -msgstr "" +msgstr ":func:`calendar.timegm`" #: ../Doc/library/time.rst:100 msgid ":func:`mktime`" -msgstr "" +msgstr ":func:`mktime`" #: ../Doc/library/time.rst:105 msgid "The module defines the following functions and data items:" @@ -181,12 +232,19 @@ msgid "" "returned by :func:`localtime` is used. Locale information is not used by :" "func:`asctime`." msgstr "" +"Convertit un *tuple* ou :class:`struct_time` représentant une heure renvoyée " +"par :func:`gmtime` ou :func:`localtime` en une chaîne de la forme suivante : " +"``'Sun Jun 20 23:21:05 1993'``. Si *t* n’est pas fourni, l’heure actuelle " +"renvoyée par :func:`localtime` est utilisée. Les informations sur les " +"paramètres régionaux ne sont pas utilisées par :func:`asctime`." #: ../Doc/library/time.rst:124 msgid "" "Unlike the C function of the same name, :func:`asctime` does not add a " "trailing newline." msgstr "" +"Contrairement à la fonction C du même nom, :func:`asctime` n’ajoute pas de " +"caractère de fin de ligne." #: ../Doc/library/time.rst:135 msgid "" @@ -195,6 +253,10 @@ msgid "" "meaning of \"processor time\", depends on that of the C function of the same " "name." msgstr "" +"Sous UNIX, renvoie le temps processeur actuel, en secondes, sous la forme " +"d'un nombre à virgule flottante exprimé en secondes. La précision, et en " +"fait la définition même de la signification de \"temps processeur\", dépend " +"de celle de la fonction C du même nom." #: ../Doc/library/time.rst:139 msgid "" @@ -203,6 +265,11 @@ msgid "" "function :c:func:`QueryPerformanceCounter`. The resolution is typically " "better than one microsecond." msgstr "" +"Sous Windows, cette fonction renvoie les secondes réelles (type horloge " +"murale) écoulées depuis le premier appel à cette fonction, en tant que " +"nombre à virgule flottante, en fonction de la fonction *Win32* :c:func:" +"`QueryPerformanceCounter`. La résolution est généralement meilleure qu'une " +"microseconde." #: ../Doc/library/time.rst:144 msgid "" @@ -210,6 +277,9 @@ msgid "" "`perf_counter` or :func:`process_time` instead, depending on your " "requirements, to have a well defined behaviour." msgstr "" +"Le comportement de cette fonction dépend de la plate-forme : utilisez " +"plutôt :func:`perf_counter` ou :func:`process_time`, selon vos besoins, pour " +"avoir un comportement bien défini." #: ../Doc/library/time.rst:152 msgid "Return the resolution (precision) of the specified clock *clk_id*." @@ -246,12 +316,16 @@ msgid "" "Clock that cannot be set and represents monotonic time since some " "unspecified starting point." msgstr "" +"Horloge qui ne peut pas être réglée et représente l’heure monotone depuis un " +"point de départ non spécifié." #: ../Doc/library/time.rst:200 msgid "" "Similar to :data:`CLOCK_MONOTONIC`, but provides access to a raw hardware-" "based time that is not subject to NTP adjustments." msgstr "" +"Similaire à :data:`CLOCK_MONOTONIC`, mais donne accès à une heure matérielle " +"brute qui n’est pas soumise aux ajustements NTP." #: ../Doc/library/time.rst:203 msgid "Availability: Linux 2.6.28 or later." @@ -259,17 +333,19 @@ msgstr "" #: ../Doc/library/time.rst:210 msgid "High-resolution per-process timer from the CPU." -msgstr "" +msgstr "Minuterie haute résolution par processus du CPU." #: ../Doc/library/time.rst:219 msgid "" "System-wide real-time clock. Setting this clock requires appropriate " "privileges." msgstr "" +"Horloge en temps réel à l’échelle du système. Le réglage de cette horloge " +"nécessite des privilèges appropriés." #: ../Doc/library/time.rst:229 msgid "Thread-specific CPU-time clock." -msgstr "" +msgstr "Horloge de temps CPU spécifique au thread." #: ../Doc/library/time.rst:238 msgid "" @@ -279,6 +355,12 @@ msgid "" "``asctime(localtime(secs))``. Locale information is not used by :func:" "`ctime`." msgstr "" +"Convertit une heure exprimée en secondes depuis *epoch* en une chaîne " +"représentant l’heure locale. Si *secs* n’est pas fourni ou vaut :const:" +"`None`, l’heure actuelle renvoyée par :func:`.time` est utilisée. " +"``ctime(secs)`` est équivalent à ``asctime(localtime(secs))``. Les " +"informations sur les paramètres régionaux ne sont pas utilisées par :func:" +"`ctime`." #: ../Doc/library/time.rst:246 msgid "Nonzero if a DST timezone is defined." @@ -289,6 +371,9 @@ msgid "" "Get information on the specified clock as a namespace object. Supported " "clock names and the corresponding functions to read their value are:" msgstr "" +"Renvoie des informations sur l’horloge spécifiée en tant qu’objet d’espace " +"de nom. Les noms d’horloge pris en charge et les fonctions correspondantes " +"permettant de lire leur valeur sont les suivants :" #: ../Doc/library/time.rst:255 msgid "``'clock'``: :func:`time.clock`" @@ -312,13 +397,16 @@ msgstr "``'time'``: :func:`time.time`" #: ../Doc/library/time.rst:261 msgid "The result has the following attributes:" -msgstr "" +msgstr "Le résultat a les attributs suivants :" #: ../Doc/library/time.rst:263 msgid "" "*adjustable*: ``True`` if the clock can be changed automatically (e.g. by a " "NTP daemon) or manually by the system administrator, ``False`` otherwise" msgstr "" +"*adjustable* : ``True`` si l’horloge peut être changée automatiquement (par " +"exemple par un démon NTP) ou manuellement par l’administrateur système, " +"``False`` autrement" #: ../Doc/library/time.rst:265 msgid "" @@ -330,10 +418,12 @@ msgstr "" msgid "" "*monotonic*: ``True`` if the clock cannot go backward, ``False`` otherwise" msgstr "" +"*monotonic* : ``True`` si l’horloge ne peut pas revenir en arrière, " +"``False`` autrement" #: ../Doc/library/time.rst:269 msgid "*resolution*: The resolution of the clock in seconds (:class:`float`)" -msgstr "" +msgstr "*resolution* : La résolution de l’horloge en secondes (:class:`float`)" #: ../Doc/library/time.rst:276 msgid "" @@ -344,6 +434,12 @@ msgid "" "the :class:`struct_time` object. See :func:`calendar.timegm` for the inverse " "of this function." msgstr "" +"Convertit un temps exprimé en secondes depuis *epoch* en un :class:" +"`struct_time` au format UTC dans lequel le drapeau *dst* est toujours égal à " +"zéro. Si *secs* n’est pas fourni ou vaut :const:`None`, l’heure actuelle " +"renvoyée par :func:`.time` est utilisée. Les fractions de seconde sont " +"ignorées. Voir ci-dessus pour une description de l’objet :class:" +"`struct_time`. Voir :func:`calendar.timegm` pour l’inverse de cette fonction." #: ../Doc/library/time.rst:286 msgid "" @@ -351,6 +447,10 @@ msgid "" "or :const:`None`, the current time as returned by :func:`.time` is used. " "The dst flag is set to ``1`` when DST applies to the given time." msgstr "" +"Comme :func:`gmtime` mais convertit le résultat en heure locale. Si *secs* " +"n’est pas fourni ou vaut :const:`None`, l’heure actuelle renvoyée par :func:" +"`.time` est utilisée. Le drapeau *dst* est mis à ``1`` lorsque l’heure d’été " +"s’applique à l’heure indiquée." #: ../Doc/library/time.rst:293 msgid "" @@ -364,6 +464,15 @@ msgid "" "libraries). The earliest date for which it can generate a time is platform-" "dependent." msgstr "" +"C’est la fonction inverse de :func:`localtime`. Son argument est soit un :" +"class:`struct_time` soit un 9-tuple (puisque le drapeau *dst* est " +"nécessaire ; utilisez ``-1`` comme drapeau *dst* s’il est inconnu) qui " +"exprime le temps **local**, pas UTC. Il retourne un nombre à virgule " +"flottante, pour compatibilité avec :func:`.time`. Si la valeur d’entrée ne " +"peut pas être représentée comme une heure valide, soit :exc:`OverflowError` " +"ou :exc:`ValueError` sera levée (selon que la valeur non valide est " +"interceptée par Python ou par les bibliothèque C sous-jacentes). La date la " +"plus proche pour laquelle il peut générer une heure dépend de la plate-forme." #: ../Doc/library/time.rst:305 msgid "" @@ -372,6 +481,11 @@ msgid "" "updates. The reference point of the returned value is undefined, so that " "only the difference between the results of consecutive calls is valid." msgstr "" +"Renvoie la valeur (en quelques fractions de secondes) d’une horloge " +"monotone, c’est-à-dire une horloge qui ne peut pas revenir en arrière. " +"L’horloge n’est pas affectée par les mises à jour de l’horloge système. Le " +"point de référence de la valeur renvoyée n’est pas défini, de sorte que " +"seule la différence entre les résultats d’appels consécutifs est valide." #: ../Doc/library/time.rst:310 msgid "" @@ -396,6 +510,12 @@ msgid "" "point of the returned value is undefined, so that only the difference " "between the results of consecutive calls is valid." msgstr "" +"Renvoie la valeur (en quelques fractions de secondes) d’un compteur de " +"performance, c’est-à-dire une horloge avec la résolution disponible la plus " +"élevée possible pour mesurer une courte durée. Cela inclut le temps écoulé " +"pendant le sommeil et concerne l’ensemble du système. Le point de référence " +"de la valeur renvoyée n’est pas défini, de sorte que seule la différence " +"entre les résultats d’appels consécutifs est valide." #: ../Doc/library/time.rst:336 msgid "" @@ -405,6 +525,11 @@ msgid "" "returned value is undefined, so that only the difference between the results " "of consecutive calls is valid." msgstr "" +"Renvoie la valeur (en quelques fractions de secondes) de la somme des temps " +"système et utilisateur du processus en cours. Il ne comprend pas le temps " +"écoulé pendant le sommeil. C’est un processus par définition. Le point de " +"référence de la valeur renvoyée n’est pas défini, de sorte que seule la " +"différence entre les résultats d’appels consécutifs est valide." #: ../Doc/library/time.rst:346 msgid "" @@ -416,6 +541,14 @@ msgid "" "requested by an arbitrary amount because of the scheduling of other activity " "in the system." msgstr "" +"Suspend l’exécution du thread appelant pendant le nombre de secondes " +"indiqué. L’argument peut être un nombre à virgule flottante pour indiquer un " +"temps de sommeil plus précis. Le temps de suspension réel peut être " +"inférieur à celui demandé, car tout signal capturé mettra fin à la commande :" +"func:`sleep` après l’exécution de la routine de capture de ce signal. En " +"outre, le temps de suspension peut être plus long que celui demandé par un " +"montant arbitraire en raison de la planification d’une autre activité dans " +"le système." #: ../Doc/library/time.rst:354 msgid "" @@ -423,6 +556,9 @@ msgid "" "a signal, except if the signal handler raises an exception (see :pep:`475` " "for the rationale)." msgstr "" +"La fonction dort maintenant au moins *secondes* même si le sommeil est " +"interrompu par un signal, sauf si le gestionnaire de signaux lève une " +"exception (voir :pep:`475` pour la justification)." #: ../Doc/library/time.rst:362 msgid "" @@ -432,12 +568,20 @@ msgid "" "`localtime` is used. *format* must be a string. :exc:`ValueError` is " "raised if any field in *t* is outside of the allowed range." msgstr "" +"Convertit un *tuple* ou :class:`struct_time` représentant une heure renvoyée " +"par :func:`gmtime` ou :func:`localtime` en une chaîne spécifiée par " +"l’argument *format*. Si *t* n’est pas fourni, l’heure actuelle renvoyée par :" +"func:`localtime` est utilisée. *format* doit être une chaîne. Si l’un des " +"champs de *t* se situe en dehors de la plage autorisée, une :exc:" +"`ValueError` est levée ." #: ../Doc/library/time.rst:368 msgid "" "0 is a legal argument for any position in the time tuple; if it is normally " "illegal the value is forced to a correct one." msgstr "" +"0 est un argument légal pour toute position dans le *tuple* temporel ; s’il " +"est normalement illégal, la valeur est forcée à une valeur correcte." #: ../Doc/library/time.rst:371 msgid "" @@ -445,6 +589,10 @@ msgid "" "shown without the optional field width and precision specification, and are " "replaced by the indicated characters in the :func:`strftime` result:" msgstr "" +"Les directives suivantes peuvent être incorporées dans la chaîne *format*. " +"Ils sont affichés sans la spécification facultative de largeur de champ ni " +"de précision, et sont remplacés par les caractères indiqués dans le résultat " +"de :func:`strftime` :" #: ../Doc/library/time.rst:376 msgid "Directive" @@ -464,7 +612,7 @@ msgstr "``%a``" #: ../Doc/library/time.rst:378 msgid "Locale's abbreviated weekday name." -msgstr "" +msgstr "Nom abrégé du jour de la semaine selon les paramètres régionaux." #: ../Doc/library/time.rst:381 msgid "``%A``" @@ -472,7 +620,7 @@ msgstr "``%A``" #: ../Doc/library/time.rst:381 msgid "Locale's full weekday name." -msgstr "" +msgstr "Le nom de semaine complet de la région." #: ../Doc/library/time.rst:383 msgid "``%b``" @@ -480,7 +628,7 @@ msgstr "``%b``" #: ../Doc/library/time.rst:383 msgid "Locale's abbreviated month name." -msgstr "" +msgstr "Nom abrégé du mois de la région." #: ../Doc/library/time.rst:386 msgid "``%B``" @@ -488,7 +636,7 @@ msgstr "``%B``" #: ../Doc/library/time.rst:386 msgid "Locale's full month name." -msgstr "" +msgstr "Nom complet du mois de la région." #: ../Doc/library/time.rst:388 msgid "``%c``" @@ -504,7 +652,7 @@ msgstr "``%d``" #: ../Doc/library/time.rst:391 msgid "Day of the month as a decimal number [01,31]." -msgstr "" +msgstr "Jour du mois sous forme décimale [01,31]." #: ../Doc/library/time.rst:394 msgid "``%H``" @@ -512,7 +660,7 @@ msgstr "``%H``" #: ../Doc/library/time.rst:394 msgid "Hour (24-hour clock) as a decimal number [00,23]." -msgstr "" +msgstr "Heure (horloge sur 24 heures) sous forme de nombre décimal [00,23]." #: ../Doc/library/time.rst:397 msgid "``%I``" @@ -520,7 +668,7 @@ msgstr "``%I``" #: ../Doc/library/time.rst:397 msgid "Hour (12-hour clock) as a decimal number [01,12]." -msgstr "" +msgstr "Heure (horloge sur 12 heures) sous forme de nombre décimal [01,12]." #: ../Doc/library/time.rst:400 msgid "``%j``" @@ -528,7 +676,7 @@ msgstr "``%j``" #: ../Doc/library/time.rst:400 msgid "Day of the year as a decimal number [001,366]." -msgstr "" +msgstr "Jour de l’année sous forme de nombre décimal [001,366]." #: ../Doc/library/time.rst:403 msgid "``%m``" @@ -536,7 +684,7 @@ msgstr "``%m``" #: ../Doc/library/time.rst:403 msgid "Month as a decimal number [01,12]." -msgstr "" +msgstr "Mois sous forme décimale [01,12]." #: ../Doc/library/time.rst:406 msgid "``%M``" @@ -544,7 +692,7 @@ msgstr "``%M``" #: ../Doc/library/time.rst:406 msgid "Minute as a decimal number [00,59]." -msgstr "" +msgstr "Minutes sous forme décimale [00,59]." #: ../Doc/library/time.rst:409 msgid "``%p``" @@ -564,7 +712,7 @@ msgstr "``%S``" #: ../Doc/library/time.rst:412 msgid "Second as a decimal number [00,61]." -msgstr "" +msgstr "Deuxième sous forme de nombre décimal [00,61]." #: ../Doc/library/time.rst:412 msgid "\\(2)" @@ -580,6 +728,10 @@ msgid "" "number [00,53]. All days in a new year preceding the first Sunday are " "considered to be in week 0." msgstr "" +"Numéro de semaine de l’année (dimanche en tant que premier jour de la " +"semaine) sous forme décimale [00,53]. Tous les jours d’une nouvelle année " +"précédant le premier dimanche sont considérés comme appartenant à la semaine " +"0." #: ../Doc/library/time.rst:415 ../Doc/library/time.rst:426 msgid "\\(3)" @@ -591,7 +743,7 @@ msgstr "``%w``" #: ../Doc/library/time.rst:423 msgid "Weekday as a decimal number [0(Sunday),6]." -msgstr "" +msgstr "Jour de la semaine sous forme de nombre décimal [0 (dimanche), 6]." #: ../Doc/library/time.rst:426 msgid "``%W``" @@ -603,6 +755,9 @@ msgid "" "number [00,53]. All days in a new year preceding the first Monday are " "considered to be in week 0." msgstr "" +"Numéro de semaine de l’année (lundi comme premier jour de la semaine) sous " +"forme décimale [00,53]. Tous les jours d’une nouvelle année précédant le " +"premier lundi sont considérés comme appartenant à la semaine 0." #: ../Doc/library/time.rst:434 msgid "``%x``" @@ -626,7 +781,7 @@ msgstr "``%y``" #: ../Doc/library/time.rst:440 msgid "Year without century as a decimal number [00,99]." -msgstr "" +msgstr "Année sans siècle comme un nombre décimal [00, 99]." #: ../Doc/library/time.rst:443 msgid "``%Y``" @@ -646,6 +801,10 @@ msgid "" "GMT of the form +HHMM or -HHMM, where H represents decimal hour digits and M " "represents decimal minute digits [-23:59, +23:59]." msgstr "" +"Décalage de fuseau horaire indiquant une différence de temps positive ou " +"négative par rapport à UTC / GMT de la forme *+HHMM* ou *-HHMM*, où H " +"représente les chiffres des heures décimales et M, les chiffres des minutes " +"décimales [*-23:59*, *+23:59*]." #: ../Doc/library/time.rst:452 msgid "``%Z``" @@ -654,6 +813,7 @@ msgstr "``%Z``" #: ../Doc/library/time.rst:452 msgid "Time zone name (no characters if no time zone exists)." msgstr "" +"Nom du fuseau horaire (pas de caractères s’il n’y a pas de fuseau horaire)." #: ../Doc/library/time.rst:455 msgid "``%%``" @@ -673,6 +833,9 @@ msgid "" "affects the output hour field if the ``%I`` directive is used to parse the " "hour." msgstr "" +"Lorsqu’elle est utilisée avec la fonction :func:`strptime`, la directive ``" +"%p`` n’affecte le champ d’heure en sortie que si la directive ``%I`` est " +"utilisée pour analyser l’heure." #: ../Doc/library/time.rst:465 msgid "" @@ -686,12 +849,17 @@ msgid "" "When used with the :func:`strptime` function, ``%U`` and ``%W`` are only " "used in calculations when the day of the week and the year are specified." msgstr "" +"Lorsqu’elles sont utilisées avec la fonction :func:`strptime`, ``%U`` et ``" +"%W`` ne sont utilisées que dans les calculs lorsque le jour de la semaine et " +"l’année sont spécifiés." #: ../Doc/library/time.rst:473 msgid "" "Here is an example, a format for dates compatible with that specified in " "the :rfc:`2822` Internet email standard. [#]_ ::" msgstr "" +"Voici un exemple de format de date compatible avec celui spécifié dans la " +"norme de courrier électronique Internet suivante :rfc:`2822`. [#]_ ::" #: ../Doc/library/time.rst:480 msgid "" @@ -700,6 +868,11 @@ msgid "" "of format codes supported on your platform, consult the :manpage:" "`strftime(3)` documentation." msgstr "" +"Des directives supplémentaires peuvent être prises en charge sur certaines " +"plates-formes, mais seules celles énumérées ici ont une signification " +"normalisée par ANSI C. Pour voir la liste complète des codes de format pris " +"en charge sur votre plate-forme, consultez la documentation :manpage:" +"`strftime(3)`." #: ../Doc/library/time.rst:485 msgid "" @@ -708,12 +881,19 @@ msgid "" "order; this is also not portable. The field width is normally 2 except for ``" "%j`` where it is 3." msgstr "" +"Sur certaines plates-formes, une spécification facultative de largeur et de " +"précision de champ peut suivre immédiatement le ``'%'`` initial d’une " +"directive dans l’ordre suivant ; ce n’est pas non plus portable. La largeur " +"du champ est normalement 2 sauf pour ``%j`` où il est 3." #: ../Doc/library/time.rst:493 msgid "" "Parse a string representing a time according to a format. The return value " "is a :class:`struct_time` as returned by :func:`gmtime` or :func:`localtime`." msgstr "" +"Analyse une chaîne représentant une heure selon un format. La valeur " +"renvoyée est une :class:`struct_time` tel que renvoyé par :func:`gmtime` ou :" +"func:`localtime`." #: ../Doc/library/time.rst:497 msgid "" @@ -725,6 +905,14 @@ msgid "" "accurate values cannot be inferred are ``(1900, 1, 1, 0, 0, 0, 0, 1, -1)``. " "Both *string* and *format* must be strings." msgstr "" +"Le paramètre *format* utilise les mêmes directives que celles utilisées par :" +"func:`strftime`; La valeur par défaut est ``\"%a %b %d %H:%M:%S %Y\"`` qui " +"correspond à la mise en forme renvoyée par :func:`ctime`. Si *string* ne " +"peut pas être analysé selon *format*, ou s’il contient trop de données après " +"l’analyse, une exception :exc:`ValueError` est levée. Les valeurs par défaut " +"utilisées pour renseigner les données manquantes lorsque des valeurs plus " +"précises ne peuvent pas être inférées sont ``(1900, 1, 1, 0, 0, 0, 0, 1, " +"-1)``. *string* et *format* doivent être des chaînes." #: ../Doc/library/time.rst:505 msgid "For example:" @@ -737,6 +925,11 @@ msgid "" "platform-specific except for recognizing UTC and GMT which are always known " "(and are considered to be non-daylight savings timezones)." msgstr "" +"La prise en charge de la directive ``%Z`` est basée sur les valeurs " +"contenues dans ``tzname`` et sur le fait de savoir si ``daylight`` est vrai. " +"Pour cette raison, il est spécifique à la plate-forme, à l’exception de la " +"reconnaissance des heures UTC et GMT, qui sont toujours connues (et " +"considérées comme des fuseaux horaires ne respectant pas l’heure d’été)." #: ../Doc/library/time.rst:517 msgid "" @@ -746,6 +939,12 @@ msgid "" "platform and thus does not necessarily support all directives available that " "are not documented as supported." msgstr "" +"Seules les directives spécifiées dans la documentation sont prises en " +"charge. Parce que ``strftime()`` peut être implémenté différemment sur " +"chaque plate-forme, il peut parfois offrir plus de directives que celles " +"listées. Mais ``strptime()`` est indépendant de toute plate-forme et ne " +"supporte donc pas nécessairement toutes les directives disponibles qui ne " +"sont pas documentées comme gérées." #: ../Doc/library/time.rst:526 msgid "" @@ -754,10 +953,14 @@ msgid "" "tuple` interface: values can be accessed by index and by attribute name. " "The following values are present:" msgstr "" +"Le type de la séquence de valeur temporelle renvoyé par :func:`gmtime`, :" +"func:`localtime` et :func:`strptime`. Semblable à un :term:`named tuple` : " +"ses valeurs sont accessibles par index et par nom d’attribut. Les valeurs " +"suivantes sont présentes :" #: ../Doc/library/time.rst:532 msgid "Index" -msgstr "" +msgstr "Index" #: ../Doc/library/time.rst:532 msgid "Attribute" @@ -777,7 +980,7 @@ msgstr ":attr:`tm_year`" #: ../Doc/library/time.rst:534 msgid "(for example, 1993)" -msgstr "" +msgstr "(par exemple, 1993)" #: ../Doc/library/time.rst:536 msgid "1" @@ -789,7 +992,7 @@ msgstr ":attr:`tm_mon`" #: ../Doc/library/time.rst:536 msgid "range [1, 12]" -msgstr "" +msgstr "plage [1, 12]" #: ../Doc/library/time.rst:538 msgid "2" @@ -801,7 +1004,7 @@ msgstr ":attr:`tm_mday`" #: ../Doc/library/time.rst:538 msgid "range [1, 31]" -msgstr "" +msgstr "plage [1, 31]" #: ../Doc/library/time.rst:540 msgid "3" @@ -813,7 +1016,7 @@ msgstr ":attr:`tm_hour`" #: ../Doc/library/time.rst:540 msgid "range [0, 23]" -msgstr "" +msgstr "plage [0, 23]" #: ../Doc/library/time.rst:542 msgid "4" @@ -825,7 +1028,7 @@ msgstr ":attr:`tm_min`" #: ../Doc/library/time.rst:542 msgid "range [0, 59]" -msgstr "" +msgstr "plage [0, 59]" #: ../Doc/library/time.rst:544 msgid "5" @@ -837,7 +1040,7 @@ msgstr ":attr:`tm_sec`" #: ../Doc/library/time.rst:544 msgid "range [0, 61]; see **(2)** in :func:`strftime` description" -msgstr "" +msgstr "plage [0, 61]; voir **(2)** dans la description :func:`strftime`" #: ../Doc/library/time.rst:547 msgid "6" @@ -849,7 +1052,7 @@ msgstr ":attr:`tm_wday`" #: ../Doc/library/time.rst:547 msgid "range [0, 6], Monday is 0" -msgstr "" +msgstr "plage [0, 6], Lundi valant 0" #: ../Doc/library/time.rst:549 msgid "7" @@ -861,7 +1064,7 @@ msgstr ":attr:`tm_yday`" #: ../Doc/library/time.rst:549 msgid "range [1, 366]" -msgstr "" +msgstr "plage [1, 366]" #: ../Doc/library/time.rst:551 msgid "8" @@ -873,7 +1076,7 @@ msgstr ":attr:`tm_isdst`" #: ../Doc/library/time.rst:551 msgid "0, 1 or -1; see below" -msgstr "" +msgstr "``0``, ``1`` or ``-1`` ; voir en bas" #: ../Doc/library/time.rst:553 ../Doc/library/time.rst:555 msgid "N/A" @@ -885,7 +1088,7 @@ msgstr ":attr:`tm_zone`" #: ../Doc/library/time.rst:553 msgid "abbreviation of timezone name" -msgstr "" +msgstr "abréviation du nom du fuseau horaire" #: ../Doc/library/time.rst:555 msgid ":attr:`tm_gmtoff`" @@ -893,13 +1096,15 @@ msgstr ":attr:`tm_gmtoff`" #: ../Doc/library/time.rst:555 msgid "offset east of UTC in seconds" -msgstr "" +msgstr "décalage à l’est de UTC en secondes" #: ../Doc/library/time.rst:558 msgid "" "Note that unlike the C structure, the month value is a range of [1, 12], not " "[0, 11]." msgstr "" +"Notez que contrairement à la structure C, la valeur du mois est une plage de " +"[1, 12], pas de [0, 11]." #: ../Doc/library/time.rst:561 msgid "" @@ -908,6 +1113,10 @@ msgid "" "that this is not known, and will usually result in the correct state being " "filled in." msgstr "" +"Dans les appels à :func:`mktime`, :attr:`tm_isdst` peut être défini sur 1 " +"lorsque l’heure d'été est en vigueur et sur 0 lorsque ce n’est pas le cas. " +"Une valeur de ``-1`` indique que cela n’est pas connu et entraînera " +"généralement le remplissage de l’état correct." #: ../Doc/library/time.rst:565 msgid "" @@ -915,6 +1124,9 @@ msgid "" "class:`struct_time`, or having elements of the wrong type, a :exc:" "`TypeError` is raised." msgstr "" +"Lorsqu’un *tuple* de longueur incorrecte est passé à une fonction acceptant " +"une :class:`struct_time`, ou comportant des éléments de type incorrect, une " +"exception :exc:`TypeError` est levé." #: ../Doc/library/time.rst:569 msgid "" @@ -957,20 +1169,27 @@ msgid "" "affect the output of functions like :func:`localtime` without calling :func:" "`tzset`, this behavior should not be relied on." msgstr "" +"Bien que dans de nombreux cas, la modification de la variable " +"d’environnement :envvar:`TZ` puisse affecter la sortie de fonctions telles " +"que :func:`localtime` sans appeler :func:`tzset`, ce comportement n'est pas " +"garanti." #: ../Doc/library/time.rst:608 msgid "The :envvar:`TZ` environment variable should contain no whitespace." msgstr "" +"La variable d’environnement :envvar:`TZ` ne doit contenir aucun espace." #: ../Doc/library/time.rst:610 msgid "" "The standard format of the :envvar:`TZ` environment variable is (whitespace " "added for clarity)::" msgstr "" +"Le format standard de la variable d’environnement :envvar:`TZ` est (espaces " +"ajoutés pour plus de clarté)::" #: ../Doc/library/time.rst:615 msgid "Where the components are:" -msgstr "" +msgstr "Où les composants sont :" #: ../Doc/library/time.rst:619 msgid "``std`` and ``dst``" @@ -981,6 +1200,8 @@ msgid "" "Three or more alphanumerics giving the timezone abbreviations. These will be " "propagated into time.tzname" msgstr "" +"Trois alphanumériques ou plus donnant les abréviations du fuseau horaire. " +"Ceux-ci seront propagés dans *time.tzname*" #: ../Doc/library/time.rst:625 msgid "``offset``" @@ -993,6 +1214,11 @@ msgid "" "of the Prime Meridian; otherwise, it is west. If no offset follows dst, " "summer time is assumed to be one hour ahead of standard time." msgstr "" +"Le décalage a la forme suivante : ``± hh[:mm[:ss]]``. Cela indique la valeur " +"ajoutée à l’heure locale pour arriver à UTC. S'il est précédé d’un ``'-'``, " +"le fuseau horaire est à l’est du Premier Méridien ; sinon, c’est l’ouest. Si " +"aucun décalage ne suit *dst*, l’heure d’été est supposée être en avance " +"d’une heure sur l’heure standard." #: ../Doc/library/time.rst:647 msgid "``start[/time], end[/time]``" @@ -1003,6 +1229,8 @@ msgid "" "Indicates when to change to and back from DST. The format of the start and " "end dates are one of the following:" msgstr "" +"Indique quand passer à DST et en revenir. Le format des dates de début et de " +"fin est l’un des suivants :" #: ../Doc/library/time.rst:633 msgid ":samp:`J{n}`" @@ -1013,6 +1241,9 @@ msgid "" "The Julian day *n* (1 <= *n* <= 365). Leap days are not counted, so in all " "years February 28 is day 59 and March 1 is day 60." msgstr "" +"Le jour Julien *n* (1 <= *n* <= 365). Les jours bissextiles ne sont pas " +"comptabilisés. Par conséquent, le 28 février est le 59\\ :sup:`e` jour et le " +"1\\ :sup:`er` Mars est le 60\\ :sup:`e` jour de toutes les années." #: ../Doc/library/time.rst:637 msgid ":samp:`{n}`" @@ -1023,6 +1254,8 @@ msgid "" "The zero-based Julian day (0 <= *n* <= 365). Leap days are counted, and it " "is possible to refer to February 29." msgstr "" +"Le jour Julien de base zéro (0 <= *n* <= 365). Les jours bissextiles sont " +"comptés et il est possible de se référer au 29 février." #: ../Doc/library/time.rst:644 msgid ":samp:`M{m}.{n}.{d}`" @@ -1041,6 +1274,9 @@ msgid "" "``time`` has the same format as ``offset`` except that no leading sign ('-' " "or '+') is allowed. The default, if time is not given, is 02:00:00." msgstr "" +"``time`` a le même format que ``offset`` sauf qu’aucun signe de direction " +"(``'-'`` ou ``'+'``) n’est autorisé. La valeur par défaut, si l’heure n’est " +"pas spécifiée, est 02:00:00." #: ../Doc/library/time.rst:660 msgid "" @@ -1052,6 +1288,14 @@ msgid "" "located at :file:`/usr/share/zoneinfo`. For example, ``'US/Eastern'``, " "``'Australia/Melbourne'``, ``'Egypt'`` or ``'Europe/Amsterdam'``. ::" msgstr "" +"Sur de nombreux systèmes Unix (y compris \\*BSD, Linux, Solaris et Darwin), " +"il est plus pratique d’utiliser la base de données *zoneinfo* (:manpage:" +"`tzfile (5)`) du système pour spécifier les règles de fuseau horaire. Pour " +"ce faire, définissez la variable d’environnement :envvar:`TZ` sur le chemin " +"du fichier de fuseau horaire requis, par rapport à la racine de la base de " +"données du système *zoneinfo*, généralement situé à :file:`/usr/share/" +"zoneinfo`. Par exemple, ``'US/Eastern'``, ``'Australia/Melbourne'``, " +"``'Egypt'`` ou ``'Europe/Amsterdam'``. ::" #: ../Doc/library/time.rst:681 msgid "Module :mod:`datetime`" @@ -1059,7 +1303,7 @@ msgstr "Module :mod:`datetime`" #: ../Doc/library/time.rst:681 msgid "More object-oriented interface to dates and times." -msgstr "" +msgstr "Interface plus orientée objet vers les dates et les heures." #: ../Doc/library/time.rst:685 msgid "Module :mod:`locale`" @@ -1071,6 +1315,9 @@ msgid "" "interpretation of many format specifiers in :func:`strftime` and :func:" "`strptime`." msgstr "" +"Services d’internationalisation. Les paramètres régionaux affectent " +"l’interprétation de nombreux spécificateurs de format dans :func:`strftime` " +"et :func:`strptime`." #: ../Doc/library/time.rst:688 msgid "Module :mod:`calendar`" @@ -1081,6 +1328,8 @@ msgid "" "General calendar-related functions. :func:`~calendar.timegm` is the " "inverse of :func:`gmtime` from this module." msgstr "" +"Fonctions générales liées au calendrier. :func:`~calendar.timegm` est " +"l’inverse de :func:`gmtime` à partir de ce module." #: ../Doc/library/time.rst:692 msgid "Footnotes" @@ -1096,3 +1345,11 @@ msgid "" "digit year has been first recommended by :rfc:`1123` and then mandated by :" "rfc:`2822`." msgstr "" +"L'utilisation de ``%Z`` est maintenant obsolète, mais l'échappement ``%z`` " +"qui donne le décalage horaire jusqu'à la minute et dépendant des paramètres " +"régionaux n'est pas pris en charge par toutes les bibliothèques C ANSI. En " +"outre, une lecture stricte du standard :rfc:`822` de 1982 milite pour une " +"année à deux chiffres (%y plutôt que %Y), mais la pratique a migré vers des " +"années à 4 chiffres de long avant l'année 2000. Après cela, la :rfc:`822` " +"est devenue obsolète et l'année à 4 chiffres a été recommandée pour la " +"première fois par la :rfc:`1123` puis rendue obligatoire par la :rfc:`2822`." diff --git a/library/timeit.po b/library/timeit.po index a7a3002d..ff9db604 100644 --- a/library/timeit.po +++ b/library/timeit.po @@ -188,7 +188,7 @@ msgstr "" #: ../Doc/library/timeit.rst:179 msgid "Command-Line Interface" -msgstr "" +msgstr "Interface en ligne de commande" #: ../Doc/library/timeit.rst:181 msgid "" diff --git a/library/tkinter.po b/library/tkinter.po index d60d0db5..26a8f720 100644 --- a/library/tkinter.po +++ b/library/tkinter.po @@ -665,7 +665,7 @@ msgstr "" #: ../Doc/library/tkinter.rst:430 msgid "Index" -msgstr "" +msgstr "Index" #: ../Doc/library/tkinter.rst:430 msgid "Meaning" @@ -681,7 +681,7 @@ msgstr "0" #: ../Doc/library/tkinter.rst:432 msgid "option name" -msgstr "" +msgstr "Nom des options" #: ../Doc/library/tkinter.rst:432 ../Doc/library/tkinter.rst:434 msgid "``'relief'``" diff --git a/library/tracemalloc.po b/library/tracemalloc.po index b87b6b8c..71d79e00 100644 --- a/library/tracemalloc.po +++ b/library/tracemalloc.po @@ -151,7 +151,7 @@ msgstr "" #: ../Doc/library/tracemalloc.rst:256 msgid "API" -msgstr "" +msgstr "API" #: ../Doc/library/tracemalloc.rst:259 msgid "Functions" diff --git a/library/turtle.po b/library/turtle.po index e97b28cc..35270aab 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/turtle.rst:3 msgid ":mod:`turtle` --- Turtle graphics" -msgstr "" +msgstr ":mod:`turtle` — Tortue graphique" #: ../Doc/library/turtle.rst:10 msgid "**Source code:** :source:`Lib/turtle.py`" -msgstr "" +msgstr "**Code Source :** :source:`Lib/turtle.py`" #: ../Doc/library/turtle.rst:20 msgid "Introduction" @@ -34,6 +34,9 @@ msgid "" "was part of the original Logo programming language developed by Wally " "Feurzig and Seymour Papert in 1966." msgstr "" +"Une façon populaire pour initier les enfants au monde du développement est " +"le module Tortue graphique. Ce dernier faisait partie du langage de " +"programmation Logo créé par Wally Feurzig et Seymout Papert en 1966." #: ../Doc/library/turtle.rst:26 msgid "" @@ -43,6 +46,10 @@ msgid "" "moves. Give it the command ``turtle.right(25)``, and it rotates in-place 25 " "degrees clockwise." msgstr "" +"Imaginez un robot sous forme de tortue partant au centre (0, 0) d'un plan " +"cartésien x-y. Après un ``import turtle``, exécutez la commande ``turtle." +"forward(15)`` et la tortue se déplace (sur l'écran) de 15 pixels en face " +"d'elle, en dessinant une ligne." #: ../Doc/library/turtle.rst:0 msgid "Turtle star" @@ -52,18 +59,24 @@ msgstr "" msgid "" "Turtle can draw intricate shapes using programs that repeat simple moves." msgstr "" +"La tortue permet de dessiner des formes complexes en utilisant un programme " +"qui répète des actions élémentaires." #: ../Doc/library/turtle.rst:41 msgid "" "By combining together these and similar commands, intricate shapes and " "pictures can easily be drawn." msgstr "" +"On peut donc facilement construire des formes et images à partir de " +"commandes simples." #: ../Doc/library/turtle.rst:44 msgid "" "The :mod:`turtle` module is an extended reimplementation of the same-named " "module from the Python standard distribution up to version Python 2.5." msgstr "" +"Le module :mod:`turtle` est une version étendue du module homonyme " +"appartenant à la distribution standard de Python jusqu'à la version 2.5." #: ../Doc/library/turtle.rst:47 msgid "" @@ -72,6 +85,11 @@ msgid "" "programmer to use all the commands, classes and methods interactively when " "using the module from within IDLE run with the ``-n`` switch." msgstr "" +"Cette bibliothèque essaye de garder les avantages de l'ancien module et " +"d'être (presque) 100% compatible avec celui-ci. Cela permet à l'apprenti " +"développeur d'utiliser toutes les commandes, classes et méthodes de façon " +"interactive pendant qu'il utilise le module depuis IDLE lancé avec l'option " +"``-n``." #: ../Doc/library/turtle.rst:52 msgid "" @@ -80,10 +98,15 @@ msgid "" "the underlying graphics, it needs a version of Python installed with Tk " "support." msgstr "" +"*Turtle* permet d'utiliser des primitives graphiques en utilisant un style " +"de programmation orienté objet ou procédural. Du fait qu'il utilise la " +"bibliothèque graphique :mod:`tkinter`, *Turtle* a besoin d'une version de " +"python implémentant *Tk*." #: ../Doc/library/turtle.rst:56 msgid "The object-oriented interface uses essentially two+two classes:" msgstr "" +"L'interface orientée objet utilise essentiellement deux + deux classes :" #: ../Doc/library/turtle.rst:58 msgid "" @@ -92,6 +115,11 @@ msgid "" "class:`ScrolledCanvas` as argument. It should be used when :mod:`turtle` is " "used as part of some application." msgstr "" +"La classe :class:`TurtleScreen` définit une fenêtre graphique utilisé comme " +"un terrain de jeu pour les dessins de la tortue. Le constructeur de cette " +"classe a besoin d'un :class:`tkinter.Canvas` ou :class:`ScrolledCanvas` " +"comme argument. Cette classe doit être utilisée seulement si :mod:`turtle` " +"fait partie intégrante d'une autre application." #: ../Doc/library/turtle.rst:63 msgid "" @@ -100,12 +128,19 @@ msgid "" "used as a standalone tool for doing graphics. As a singleton object, " "inheriting from its class is not possible." msgstr "" +"La fonction :func:`Screen` renvoie un singleton d'une sous-classe de :class:" +"`TurtleScreen`. Elle doit être utilisée quand le module :mod:`turtle` est " +"utilisé de façon autonome pour dessiner. Le singleton renvoyé ne peut " +"hériter de sa classe." #: ../Doc/library/turtle.rst:68 msgid "" "All methods of TurtleScreen/Screen also exist as functions, i.e. as part of " "the procedure-oriented interface." msgstr "" +"Toutes les méthodes de *TurtleScreen*/*Screen* existent également sous la " +"forme de fonctions, c'est-à-dire que ces dernières peuvent être utilisées " +"dans un style procédural." #: ../Doc/library/turtle.rst:71 msgid "" @@ -114,6 +149,10 @@ msgid "" "ScrolledCanvas or TurtleScreen as argument, so the RawTurtle objects know " "where to draw." msgstr "" +"La classe :class:`RawTurtle` (alias :class:`RawPen`) définit des objets " +"*Turtle* qui peuvent dessiner sur la classe :class:`TurtleScreen`. Son " +"constructeur prend en paramètre un *Canvas*, un *ScrolledCanvas* ou un " +"*TurtleScreen* permettant à l'objet *RawTurtle* de savoir où écrire." #: ../Doc/library/turtle.rst:75 msgid "" @@ -121,12 +160,18 @@ msgid "" "`Pen`), which draws on \"the\" :class:`Screen` instance which is " "automatically created, if not already present." msgstr "" +"La sous-classe :class:`Turtle` (alias: :class:`Pen`), dérivée de " +"*RawTurtle*, dessine sur l'instance :class:`Screen` qui est créée " +"automatiquement si elle n'est pas déjà présente." #: ../Doc/library/turtle.rst:79 msgid "" "All methods of RawTurtle/Turtle also exist as functions, i.e. part of the " "procedure-oriented interface." msgstr "" +"Toutes les méthodes de *RawTurtle*/*Turtle* existent également sous la forme " +"de fonctions, c'est-à-dire que ces dernières pourront être utilisées en " +"style procédural." #: ../Doc/library/turtle.rst:82 msgid "" @@ -137,12 +182,20 @@ msgid "" "(unnamed) turtle object is automatically created whenever any of the " "functions derived from a Turtle method is called." msgstr "" +"L'interface procédurale met à disposition des fonctions équivalentes à " +"celles des méthodes des classes :class:`Screen` et :class:`Turtle`. Le nom " +"d'une fonction est le même que la méthode équivalente. Un objet *Screen* est " +"créé automatiquement dès qu'une fonction dérivée d'une méthode *Screen* est " +"appelée. Un objet *Turtle* (sans nom) est créé automatiquement dès qu'une " +"fonction dérivée d'une méthode *Turtle* est appelée." #: ../Doc/library/turtle.rst:89 msgid "" "To use multiple turtles on a screen one has to use the object-oriented " "interface." msgstr "" +"Afin de pouvoir utiliser plusieurs tortues simultanément sur l'écran, vous " +"devez utiliser l'interface orientée-objet." #: ../Doc/library/turtle.rst:92 msgid "" @@ -150,22 +203,25 @@ msgid "" "Methods, of course, have the additional first argument *self* which is " "omitted here." msgstr "" +"La liste des paramètres des fonctions est donnée dans cette documentation. " +"Les méthodes ont, évidemment, le paramètre *self* comme premier argument, " +"mais ce dernier n'est pas indiqué ici." #: ../Doc/library/turtle.rst:98 msgid "Overview of available Turtle and Screen methods" -msgstr "" +msgstr "Résumé des méthodes de *Turtle* et *Screen*" #: ../Doc/library/turtle.rst:101 msgid "Turtle methods" -msgstr "" +msgstr "Les méthodes du module *Turtle*" #: ../Doc/library/turtle.rst:132 ../Doc/library/turtle.rst:242 msgid "Turtle motion" -msgstr "" +msgstr "Les mouvements dans le module *Turtle*" #: ../Doc/library/turtle.rst:120 msgid "Move and draw" -msgstr "" +msgstr "Bouger et dessiner" #: ../Doc/library/turtle.rst:0 msgid ":func:`forward` | :func:`fd`" diff --git a/library/unittest.mock-examples.po b/library/unittest.mock-examples.po index a0a0ed61..762bed1e 100644 --- a/library/unittest.mock-examples.po +++ b/library/unittest.mock-examples.po @@ -286,6 +286,9 @@ msgid "" "they are looked up. This is normally straightforward, but for a quick guide " "read :ref:`where to patch `." msgstr "" +"Avec :func:`patch`, il est important de *patcher* les objets dans l'espace " +"de nommage où ils sont recherchés. C'est ce qui se fait normalement, mais " +"pour un guide rapide, lisez :ref:`où patcher `." #: ../Doc/library/unittest.mock-examples.rst:310 msgid "" @@ -351,6 +354,9 @@ msgid "" "during a scope and restoring the dictionary to its original state when the " "test ends:" msgstr "" +"Il existe également :func:`patch.dict` pour définir des valeurs d'un " +"dictionnaire au sein d'une portée et restaurer ce dictionnaire à son état " +"d'origine lorsque le test se termine ::" #: ../Doc/library/unittest.mock-examples.rst:410 msgid "" diff --git a/library/unittest.mock.po b/library/unittest.mock.po index 74e95cf4..a4aabd3f 100644 --- a/library/unittest.mock.po +++ b/library/unittest.mock.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/unittest.mock.rst:3 msgid ":mod:`unittest.mock` --- mock object library" -msgstr "" +msgstr ":mod:`unittest.mock` — Bibliothèque d'objets simulacres" #: ../Doc/library/unittest.mock.rst:13 msgid "**Source code:** :source:`Lib/unittest/mock.py`" -msgstr "" +msgstr "**Code source :** :source:`Lib/unittest/mock.py`" #: ../Doc/library/unittest.mock.rst:17 msgid "" @@ -30,6 +30,9 @@ msgid "" "replace parts of your system under test with mock objects and make " "assertions about how they have been used." msgstr "" +":mod:`unittest.mock` est une bibliothèque pour tester en Python. Elle permet " +"de remplacer des parties du système sous tests par des objets simulacres et " +"faire des assertions sur la façon dont ces objets ont été utilisés." #: ../Doc/library/unittest.mock.rst:21 msgid "" @@ -39,6 +42,12 @@ msgid "" "and arguments they were called with. You can also specify return values and " "set needed attributes in the normal way." msgstr "" +":mod:`unittest.mock` fournit une classe :class:`Mock` pour ne pas avoir " +"besoin de créer manuellement des objets factices dans la suite de tests. " +"Après avoir effectué une action, on peut faire des assertions sur les " +"méthodes / attributs utilisés et les arguments avec lesquels ils ont été " +"appelés. On peut également spécifier des valeurs renvoyées et définir les " +"attributs nécessaires aux tests." #: ../Doc/library/unittest.mock.rst:27 msgid "" @@ -48,6 +57,11 @@ msgid "" "some examples of how to use :class:`Mock`, :class:`MagicMock` and :func:" "`patch`." msgstr "" +"De plus, *mock* fournit un décorateur :func:`patch` qui est capable de " +"*patcher* les modules et les classes dans la portée d'un test, ainsi que :" +"const:`sentinel` pour créer des objets uniques. Voir le guide rapide `quick " +"guide`_ pour quelques exemples d'utilisation de :class:`Mock`, :class:" +"`MagicMock` et :func:`patch`." #: ../Doc/library/unittest.mock.rst:33 msgid "" @@ -55,6 +69,10 @@ msgid "" "is based on the 'action -> assertion' pattern instead of 'record -> replay' " "used by many mocking frameworks." msgstr "" +"*Mock* est très facile à utiliser et est conçu pour être utilisé avec :mod:" +"`unittest`. *Mock* est basé sur le modèle *action -> assertion* au lieu de " +"*enregistrement -> rejouer* utilisé par de nombreux cadriciels d'objets " +"simulacres." #: ../Doc/library/unittest.mock.rst:37 msgid "" @@ -64,7 +82,7 @@ msgstr "" #: ../Doc/library/unittest.mock.rst:42 msgid "Quick Guide" -msgstr "" +msgstr "Guide rapide" #: ../Doc/library/unittest.mock.rst:44 msgid "" @@ -73,12 +91,19 @@ msgid "" "can configure them, to specify return values or limit what attributes are " "available, and then make assertions about how they have been used:" msgstr "" +"Les classes :class:`Mock` et :class:`MagicMock` créent tous les attributs et " +"méthodes au fur et à mesure des accès et stockent les détails de la façon " +"dont ils ont été utilisés. On peut les configurer, pour spécifier des " +"valeurs de renvoi ou limiter les attributs utilisables, puis faire des " +"assertions sur la façon dont ils ont été utilisés ::" #: ../Doc/library/unittest.mock.rst:56 msgid "" ":attr:`side_effect` allows you to perform side effects, including raising an " "exception when a mock is called:" msgstr "" +"L'attribut :attr:`side_effect` permet de spécifier des effets de bords, y " +"compris la levée d'une exception lorsqu'un objet simulacre est appelé ::" #: ../Doc/library/unittest.mock.rst:76 msgid "" @@ -87,6 +112,11 @@ msgid "" "from another object. Attempting to access attributes or methods on the mock " "that don't exist on the spec will fail with an :exc:`AttributeError`." msgstr "" +"Il existe beaucoup d'autres façons de configurer et de contrôler le " +"comportement de *Mock*. Par exemple, l'argument *spec* configure le *mock* " +"pour qu'il utilise les spécifications d'un autre objet. Tenter d'accéder à " +"des attributs ou méthodes sur le *mock* qui n'existent pas sur l'objet " +"*spec* lève une :exc:`AttributeError`." #: ../Doc/library/unittest.mock.rst:81 msgid "" @@ -95,6 +125,10 @@ msgid "" "with a mock (or other object) during the test and restored when the test " "ends:" msgstr "" +"Le décorateur / gestionnaire de contexte :func:`patch` permet de simuler " +"facilement des classes ou des objets dans un module sous tests. L'objet " +"spécifié est remplacé par un objet simulacre (ou autre) pendant le test et " +"est restauré à la fin du test ::" #: ../Doc/library/unittest.mock.rst:100 msgid "" @@ -110,12 +144,17 @@ msgid "" "they are looked up. This is normally straightforward, but for a quick guide " "read :ref:`where to patch `." msgstr "" +"Avec :func:`patch`, il est important de *patcher* les objets dans l'espace " +"de nommage où ils sont recherchés. C'est ce qui se fait normalement, mais " +"pour un guide rapide, lisez :ref:`où patcher `." #: ../Doc/library/unittest.mock.rst:109 msgid "" "As well as a decorator :func:`patch` can be used as a context manager in a " "with statement:" msgstr "" +"Comme tout décorateur, :func:`patch` peut être utilisé comme gestionnaire de " +"contexte avec une instruction *with* ::" #: ../Doc/library/unittest.mock.rst:119 msgid "" @@ -123,6 +162,9 @@ msgid "" "during a scope and restoring the dictionary to its original state when the " "test ends:" msgstr "" +"Il existe également :func:`patch.dict` pour définir des valeurs d'un " +"dictionnaire au sein d'une portée et restaurer ce dictionnaire à son état " +"d'origine lorsque le test se termine ::" #: ../Doc/library/unittest.mock.rst:130 msgid "" @@ -130,6 +172,9 @@ msgid "" "The easiest way of using magic methods is with the :class:`MagicMock` class. " "It allows you to do things like:" msgstr "" +"*Mock* gère le remplacement des :ref:`méthodes magiques ` de " +"Python. La façon la plus simple d'utiliser les méthodes magiques est la " +"classe :class:`MagicMock`. Elle permet de faire des choses comme ::" #: ../Doc/library/unittest.mock.rst:140 msgid "" @@ -138,12 +183,18 @@ msgid "" "is just a Mock variant that has all of the magic methods pre-created for you " "(well, all the useful ones anyway)." msgstr "" +"*Mock* permet d'assigner des fonctions (ou d'autres instances *Mock*) à des " +"méthodes magiques et elles seront appelées correctement. La classe :class:" +"`MagicMock` est juste une variante de *Mock* qui a toutes les méthodes " +"magiques pré-créées (enfin, toutes les méthodes utiles)." #: ../Doc/library/unittest.mock.rst:145 msgid "" "The following is an example of using magic methods with the ordinary Mock " "class:" msgstr "" +"L'exemple suivant est un exemple de création de méthodes magiques avec la " +"classe *Mock* ordinaire ::" #: ../Doc/library/unittest.mock.rst:153 msgid "" @@ -155,12 +206,21 @@ msgid "" "replacing, and any functions and methods (including constructors) have the " "same call signature as the real object." msgstr "" +"Pour être sûr que les objets simulacres dans vos tests ont la même API que " +"les objets qu'ils remplacent, utilisez :ref:`l'auto-spécification `. L'auto-spécification peut se faire via l'argument *autospec* de " +"patch ou par la fonction :func:`create_autospec`. L'auto-spécification crée " +"des objets simulacres qui ont les mêmes attributs et méthodes que les objets " +"qu'ils remplacent, et toutes les fonctions et méthodes (y compris les " +"constructeurs) ont les mêmes signatures d'appel que l'objet réel." #: ../Doc/library/unittest.mock.rst:161 msgid "" "This ensures that your mocks will fail in the same way as your production " "code if they are used incorrectly:" msgstr "" +"Ceci garantit que vos objets simulacres échouent de la même manière que " +"votre code de production s'ils ne sont pas utilisés correctement ::" #: ../Doc/library/unittest.mock.rst:177 msgid "" @@ -168,10 +228,13 @@ msgid "" "signature of the ``__init__`` method, and on callable objects where it " "copies the signature of the ``__call__`` method." msgstr "" +"La fonction :func:`create_autospec` peut aussi être utilisée sur les " +"classes, où elle copie la signature de la méthode ``__init__``, et sur les " +"objets appelables où elle copie la signature de la méthode ``__call__``." #: ../Doc/library/unittest.mock.rst:184 msgid "The Mock Class" -msgstr "" +msgstr "La classe *Mock*" #: ../Doc/library/unittest.mock.rst:187 msgid "" @@ -181,6 +244,12 @@ msgid "" "attribute will always return the same mock. Mocks record how you use them, " "allowing you to make assertions about what your code has done to them." msgstr "" +"La classe :class:`Mock` est un objet simulacre flexible destiné à remplacer " +"l'utilisation d'objets bouchons et factices dans votre code. Les Mocks sont " +"appelables et créent des attributs comme de nouveaux *Mocks* lorsque l'on y " +"accède [#]_. L'accès au même attribut renvoie toujours le même *mock*. Les " +"simulacres enregistrent la façon dont ils sont utilisés, ce qui permet de " +"faire des assertions sur ce que le code leur a fait." #: ../Doc/library/unittest.mock.rst:193 msgid "" @@ -189,6 +258,11 @@ msgid "" "when you are mocking out objects that aren't callable: :class:" "`NonCallableMock` and :class:`NonCallableMagicMock`" msgstr "" +"La classe :class:`MagicMock` est une sous-classe de :class:`Mock` avec " +"toutes les méthodes magiques pré-créées et prête à l'emploi. Il existe " +"également des variantes non appelables, utiles lorsque l'on simule des " +"objets qui ne sont pas appelables : :class:`NonCallableMock` et :class:" +"`NonCallableMagicMock`" #: ../Doc/library/unittest.mock.rst:198 msgid "" @@ -197,12 +271,18 @@ msgid "" "will create a :class:`MagicMock` for you. You can specify an alternative " "class of :class:`Mock` using the *new_callable* argument to :func:`patch`." msgstr "" +"Le décorateur :func:`patch` facilite le remplacement temporaire de classes " +"d'un module avec un objet :class:`Mock`. Par défaut :func:`patch` crée un :" +"class:`MagicMock`. On peut spécifier une classe alternative de :class:`Mock` " +"en utilisant le paramètre *new_callable* de :func:`patch`." #: ../Doc/library/unittest.mock.rst:206 msgid "" "Create a new :class:`Mock` object. :class:`Mock` takes several optional " "arguments that specify the behaviour of the Mock object:" msgstr "" +"Crée un nouvel objet :class:`Mock`. :class:`Mock` prend plusieurs arguments " +"optionnels qui spécifient le comportement de l'objet *Mock* ::" #: ../Doc/library/unittest.mock.rst:209 msgid "" @@ -212,6 +292,12 @@ msgid "" "(excluding unsupported magic attributes and methods). Accessing any " "attribute not in this list will raise an :exc:`AttributeError`." msgstr "" +"*spec* : une liste de chaînes de caractères ou un objet existant (une classe " +"ou une instance) qui sert de spécification pour l'objet simulacre. Si on " +"passe un objet, alors une liste de chaînes de caractères est formée en " +"appelant la fonction *dir* sur l'objet (à l'exclusion des attributs et " +"méthodes magiques non pris en charge). L'accès à un attribut qui n'est pas " +"dans cette liste entraîne la levée d'une exception :exc:`AttributeError`." #: ../Doc/library/unittest.mock.rst:215 msgid "" @@ -219,6 +305,9 @@ msgid "" "__class__` returns the class of the spec object. This allows mocks to pass :" "func:`isinstance` tests." msgstr "" +"Si *spec* est un objet (plutôt qu'une liste de chaînes de caractères) alors :" +"attr:`~instance.__class__` renvoie la classe de l'objet spécifié. Ceci " +"permet aux *mocks* de passer les tests :func:`isinstance`." #: ../Doc/library/unittest.mock.rst:219 msgid "" @@ -226,6 +315,10 @@ msgid "" "get an attribute on the mock that isn't on the object passed as *spec_set* " "will raise an :exc:`AttributeError`." msgstr "" +"*spec_set* : variante plus stricte de *spec*. S'il est utilisé, essayer " +"d'utiliser la fonction *set* ou tenter d’accéder à un attribut sur le *mock* " +"qui n'est pas sur l'objet passé comme *spec_set* lève une exception :exc:" +"`AttributeError`." #: ../Doc/library/unittest.mock.rst:223 msgid "" @@ -235,22 +328,32 @@ msgid "" "arguments as the mock, and unless it returns :data:`DEFAULT`, the return " "value of this function is used as the return value." msgstr "" +"*side_effect* : fonction à appeler à chaque fois que le *Mock* est appelé. " +"Voir l'attribut :attr:`~Mock.side_effect`. Utile pour lever des exceptions " +"ou modifier dynamiquement les valeurs de retour. La fonction est appelée " +"avec les mêmes arguments que la fonction simulée et, à moins qu'elle ne " +"renvoie :data:`DEFAULT`, la valeur de retour de cette fonction devient la " +"valeur de retour de la fonction simulée." #: ../Doc/library/unittest.mock.rst:229 msgid "" "Alternatively *side_effect* can be an exception class or instance. In this " "case the exception will be raised when the mock is called." msgstr "" +"*side_effect* peut être soit une classe, soit une instance d'exception. Dans " +"ce cas, l'exception est levée lors de l'appel de l'objet simulacre." #: ../Doc/library/unittest.mock.rst:232 msgid "" "If *side_effect* is an iterable then each call to the mock will return the " "next value from the iterable." msgstr "" +"Si *side_effect* est un itérable alors chaque appel au *mock* renvoie la " +"valeur suivante de l’itérable." #: ../Doc/library/unittest.mock.rst:235 msgid "A *side_effect* can be cleared by setting it to ``None``." -msgstr "" +msgstr "Utilisez ``None`` pour remettre à zéro un *side_effect*." #: ../Doc/library/unittest.mock.rst:237 msgid "" @@ -258,6 +361,9 @@ msgid "" "is a new Mock (created on first access). See the :attr:`return_value` " "attribute." msgstr "" +"*return_value* : valeur renvoyée lors de l'appel de l'objet simulacre. Par " +"défaut, il s'agit d'un nouveau *Mock* (créé lors du premier accès). Voir " +"l'attribut :attr:`return_value`." #: ../Doc/library/unittest.mock.rst:241 msgid "" @@ -265,6 +371,9 @@ msgid "" "raise an :exc:`AttributeError`. Passing ``unsafe=True`` will allow access to " "these attributes." msgstr "" +"*unsafe* : par défaut, si un attribut commence par *assert* ou *assret*, une " +"exception :exc:`AttributeError` est levée. Le fait de passer ``unsafe=True`` " +"permet d'accéder à ces attributs." #: ../Doc/library/unittest.mock.rst:247 msgid "" @@ -275,18 +384,30 @@ msgid "" "to access an attribute that doesn't exist will raise an :exc:" "`AttributeError`)." msgstr "" +"*wraps* : élément que le simulacre doit simuler. Si *wraps* n'est pas " +"``None`` alors appeler *Mock* passe l'appel à l'objet simulé (renvoyant le " +"résultat réel). L'accès à un attribut sur le *mock* renvoie un objet *Mock* " +"qui simule l'attribut correspondant de l'objet simulé (donc essayer " +"d'accéder à un attribut qui n'existe pas lève une exception :exc:" +"`AttributeError`)." #: ../Doc/library/unittest.mock.rst:254 msgid "" "If the mock has an explicit *return_value* set then calls are not passed to " "the wrapped object and the *return_value* is returned instead." msgstr "" +"Si l'objet simulacre a un ensemble explicite de *return_value* alors les " +"appels ne sont pas passés à l'objet simulé et c'est *return_value* qui est " +"renvoyée à la place." #: ../Doc/library/unittest.mock.rst:257 msgid "" "*name*: If the mock has a name then it will be used in the repr of the mock. " "This can be useful for debugging. The name is propagated to child mocks." msgstr "" +"*name* : Si le *mock* a un nom, il est alors utilisé par la fonction *repr* " +"du *mock*. C'est utile pour le débogage. Le nom est propagé aux enfants de " +"l'objet *mock*." #: ../Doc/library/unittest.mock.rst:261 msgid "" @@ -294,12 +415,18 @@ msgid "" "used to set attributes on the mock after it is created. See the :meth:" "`configure_mock` method for details." msgstr "" +"Les *mocks* peuvent aussi être appelés avec des arguments par mots-clés " +"arbitraires. Ceux-ci sont utilisés pour définir les attributs sur le *mock* " +"après sa création. Voir la méthode :meth:`configure_mock` pour plus de " +"détails." #: ../Doc/library/unittest.mock.rst:268 msgid "" "This method is a convenient way of asserting that calls are made in a " "particular way:" msgstr "" +"Cette méthode est un moyen pratique d'asserter que les appels sont effectués " +"d'une manière particulière ::" #: ../Doc/library/unittest.mock.rst:278 msgid "" @@ -309,7 +436,7 @@ msgstr "" #: ../Doc/library/unittest.mock.rst:293 msgid "assert the mock has been called with the specified arguments." -msgstr "" +msgstr "Asserter que le simulacre a été appelé avec les arguments spécifiés." #: ../Doc/library/unittest.mock.rst:295 msgid "" @@ -323,26 +450,35 @@ msgid "" "assert the mock has been called with the specified calls. The :attr:" "`mock_calls` list is checked for the calls." msgstr "" +"Asserter que le simulacre a été appelé avec les appels spécifiés. " +"L'attribut :attr:`mock_calls` est comparé à la liste des appels." #: ../Doc/library/unittest.mock.rst:310 msgid "" "If *any_order* is false (the default) then the calls must be sequential. " "There can be extra calls before or after the specified calls." msgstr "" +"Si *any_order* est faux (la valeur par défaut) alors les appels doivent être " +"séquentiels. Il peut y avoir des appels supplémentaires avant ou après les " +"appels spécifiés." #: ../Doc/library/unittest.mock.rst:314 msgid "" "If *any_order* is true then the calls can be in any order, but they must all " "appear in :attr:`mock_calls`." msgstr "" +"Si *any_order* est vrai alors les appels peuvent être dans n'importe quel " +"ordre, mais ils doivent tous apparaître dans :attr:`mock_calls`." #: ../Doc/library/unittest.mock.rst:329 msgid "Assert the mock was never called." -msgstr "" +msgstr "Asserter que le simulacre n'a jamais été appelé." #: ../Doc/library/unittest.mock.rst:344 msgid "The reset_mock method resets all the call attributes on a mock object:" msgstr "" +"La méthode *reset_mock* réinitialise tous les attributs d'appel sur un " +"simulacre :" #: ../Doc/library/unittest.mock.rst:354 msgid "" @@ -357,10 +493,15 @@ msgid "" "Add a spec to a mock. *spec* can either be an object or a list of strings. " "Only attributes on the *spec* can be fetched as attributes from the mock." msgstr "" +"Ajoute une spécification à un simulacre. *spec* peut être un objet ou une " +"liste de chaînes de caractères. Seuls les attributs de la spécification " +"*spec* peuvent être récupérés en tant qu'attributs du simulacre." #: ../Doc/library/unittest.mock.rst:367 msgid "If *spec_set* is true then only attributes on the spec can be set." msgstr "" +"Si *spec_set* est vrai, seuls les attributs de la spécification peuvent être " +"définis." #: ../Doc/library/unittest.mock.rst:372 msgid "" @@ -368,26 +509,37 @@ msgid "" "Calls to the attached mock will be recorded in the :attr:`method_calls` and :" "attr:`mock_calls` attributes of this one." msgstr "" +"Attache un simulacre comme attribut de l'instance courante, en remplaçant " +"son nom et son parent. Les appels au simulacre attaché sont enregistrés dans " +"les attributs :attr:`method_calls` et :attr:`mock_calls` de l'instance " +"courante." #: ../Doc/library/unittest.mock.rst:379 msgid "Set attributes on the mock through keyword arguments." -msgstr "" +msgstr "Définir les attributs sur le simulacre à l'aide d'arguments nommés." #: ../Doc/library/unittest.mock.rst:381 msgid "" "Attributes plus return values and side effects can be set on child mocks " "using standard dot notation and unpacking a dictionary in the method call:" msgstr "" +"Les attributs, les valeurs de retour et les effets de bords peuvent être " +"définis sur des simulacres enfants en utilisant la notation par points " +"standard et en dépaquetant un dictionnaire dans l'appel de méthode :" #: ../Doc/library/unittest.mock.rst:395 msgid "The same thing can be achieved in the constructor call to mocks:" msgstr "" +"La même chose peut être réalisée en utilisant le constructeur des " +"simulacres :" #: ../Doc/library/unittest.mock.rst:408 msgid "" ":meth:`configure_mock` exists to make it easier to do configuration after " "the mock has been created." msgstr "" +":meth:`configure_mock` existe pour faciliter la configuration après la " +"création du simulacre." #: ../Doc/library/unittest.mock.rst:414 msgid "" @@ -395,12 +547,17 @@ msgid "" "results. For mocks with a *spec* this includes all the permitted attributes " "for the mock." msgstr "" +"Les objets :class:`Mock` limitent les résultats de ``dir(un_mock)`` à des " +"résultats utiles. Pour les simulacres avec une spécification *spec*, cela " +"inclut tous les attributs autorisés du simulacre." #: ../Doc/library/unittest.mock.rst:418 msgid "" "See :data:`FILTER_DIR` for what this filtering does, and how to switch it " "off." msgstr "" +"Voir :data:`FILTER_DIR` pour savoir ce que fait ce filtrage, et comment le " +"désactiver." #: ../Doc/library/unittest.mock.rst:424 msgid "" @@ -408,40 +565,53 @@ msgid "" "mocks will be the same type as the parent. Subclasses of Mock may want to " "override this to customize the way child mocks are made." msgstr "" +"Crée les simulacres enfants pour les attributs et la valeur de retour. Par " +"défaut, les objets simulacre enfants sont du même type que le parent. Les " +"sous-classes de *Mock* peuvent surcharger cette méthode pour personnaliser " +"la façon dont les simulacres enfants sont créés." #: ../Doc/library/unittest.mock.rst:429 msgid "" "For non-callable mocks the callable variant will be used (rather than any " "custom subclass)." msgstr "" +"Pour les simulacres non appelables, la variante appelable est utilisée " +"(plutôt qu'une sous-classe personnalisée)." #: ../Doc/library/unittest.mock.rst:435 msgid "A boolean representing whether or not the mock object has been called:" -msgstr "" +msgstr "Un booléen représentant si le simulacre a bien été appelé ou non :" #: ../Doc/library/unittest.mock.rst:446 msgid "An integer telling you how many times the mock object has been called:" -msgstr "" +msgstr "Un entier indiquant combien de fois le simulacre a été appelé :" #: ../Doc/library/unittest.mock.rst:459 msgid "Set this to configure the value returned by calling the mock:" msgstr "" +"Définir cette option pour configurer la valeur renvoyé par appel du " +"simulacre :" #: ../Doc/library/unittest.mock.rst:466 msgid "" "The default return value is a mock object and you can configure it in the " "normal way:" msgstr "" +"La valeur de revoie par défaut est un simulacre configurable normalement :" #: ../Doc/library/unittest.mock.rst:475 msgid ":attr:`return_value` can also be set in the constructor:" msgstr "" +"L'attribut :attr:`return_value` peut également être défini dans le " +"constructeur :" #: ../Doc/library/unittest.mock.rst:486 msgid "" "This can either be a function to be called when the mock is called, an " "iterable or an exception (class or instance) to be raised." msgstr "" +"C'est soit une fonction à appeler lors de l'appel du simulacre, soit une " +"exception (classe ou instance) à lever." #: ../Doc/library/unittest.mock.rst:489 msgid "" @@ -451,6 +621,11 @@ msgid "" "returns :data:`DEFAULT` then the mock will return its normal value (from " "the :attr:`return_value`)." msgstr "" +"Si vous passez une fonction, elle est appelée avec les mêmes arguments que " +"la fonction simulée et à moins que la fonction ne renvoie le singleton :data:" +"`DEFAULT` l'appel le la fonction simulée renvoie ce que la fonction renvoie. " +"Si la fonction renvoie :data:`DEFAULT` alors le simulacre renvoie sa valeur " +"normale (celle de :attr:`return_value`)." #: ../Doc/library/unittest.mock.rst:495 msgid "" @@ -459,30 +634,39 @@ msgid "" "to be raised, or a value to be returned from the call to the mock (:data:" "`DEFAULT` handling is identical to the function case)." msgstr "" +"Si vous passez un itérable, il est utilisé pour récupérer un itérateur qui " +"doit renvoyer une valeur à chaque appel. Cette valeur peut être soit une " +"instance d'exception à lever, soit une valeur à renvoyer à l'appel au " +"simulacre (le traitement :data:`DEFAULT` est identique au renvoie de la " +"fonction simulée)." #: ../Doc/library/unittest.mock.rst:500 msgid "" "An example of a mock that raises an exception (to test exception handling of " "an API):" msgstr "" +"Un exemple d'un simulacre qui lève une exception (pour tester la gestion des " +"exceptions d'une API) :" #: ../Doc/library/unittest.mock.rst:510 msgid "Using :attr:`side_effect` to return a sequence of values:" -msgstr "" +msgstr "Utiliser :attr:`side_effect` pour renvoyer une séquence de valeurs :" #: ../Doc/library/unittest.mock.rst:517 msgid "Using a callable:" -msgstr "" +msgstr "Utilisation d'un objet appelable :" #: ../Doc/library/unittest.mock.rst:527 msgid "" ":attr:`side_effect` can be set in the constructor. Here's an example that " "adds one to the value the mock is called with and returns it:" msgstr "" +"Un attribut :attr:`side_effect` peut être défini dans le constructeur. Voici " +"un exemple qui ajoute un à la valeur du simulacre appelé et qui le renvoie :" #: ../Doc/library/unittest.mock.rst:537 msgid "Setting :attr:`side_effect` to ``None`` clears it:" -msgstr "" +msgstr "Positionner :attr:`side_effect` sur ``None`` l'efface :" #: ../Doc/library/unittest.mock.rst:551 msgid "" @@ -492,6 +676,11 @@ msgid "" "tuple) and the second member is any keyword arguments (or an empty " "dictionary)." msgstr "" +"C'est soit ``None`` (si le simulacre n'a pas été appelé), soit les arguments " +"avec lesquels le simulacre a été appelé en dernier. Le retour est sous la " +"forme d'un tuple : le premier élément est l'ensemble des arguments ordonnés " +"avec lequel le simulacre a été appelé (ou un tuple vide) et le second " +"élément est l'ensemble des arguments nommés (ou un dictionnaire vide)." #: ../Doc/library/unittest.mock.rst:574 msgid "" @@ -500,6 +689,11 @@ msgid "" "are tuples, so they can be unpacked to get at the individual arguments and " "make more complex assertions. See :ref:`calls as tuples `." msgstr "" +"L'attribut :attr:`call_args`, ainsi que les éléments des listes :attr:" +"`call_args_list`, :attr:`method_calls` et :attr:`mock_calls` sont des " +"objets :data:`call`. Ce sont des tuples, que l'on peut dépaqueter afin de " +"faire des affirmations plus complexes sur chacun des arguments. Voir :ref:" +"`appels comme tuples `." #: ../Doc/library/unittest.mock.rst:583 msgid "" diff --git a/library/unittest.po b/library/unittest.po index 4fbfb0b5..b349dbf6 100644 --- a/library/unittest.po +++ b/library/unittest.po @@ -294,23 +294,30 @@ msgstr "" #: ../Doc/library/unittest.rst:158 msgid "Command-Line Interface" -msgstr "" +msgstr "Interface en ligne de commande" #: ../Doc/library/unittest.rst:160 msgid "" "The unittest module can be used from the command line to run tests from " "modules, classes or even individual test methods::" msgstr "" +"Le module *unittest* est utilisable depuis la ligne de commande pour " +"exécuter des tests à partir de modules, de classes ou même de méthodes de " +"test individuelles  ::" #: ../Doc/library/unittest.rst:167 msgid "" "You can pass in a list with any combination of module names, and fully " "qualified class or method names." msgstr "" +"La commande accepte en argument une liste de n'importe quelle combinaison de " +"noms de modules et de noms de classes ou de méthodes entièrement qualifiés." #: ../Doc/library/unittest.rst:170 msgid "Test modules can be specified by file path as well::" msgstr "" +"Les modules de test peuvent également être spécifiés par un chemin de " +"fichier  ::" #: ../Doc/library/unittest.rst:174 msgid "" @@ -320,35 +327,48 @@ msgid "" "separators into '.'. If you want to execute a test file that isn't " "importable as a module you should execute the file directly instead." msgstr "" +"Cette fonctionnalité permet d'utiliser la complétion de l'interpréteur de " +"commandes système (*le shell*) pour spécifier le module de test. Le chemin " +"est converti en nom de module en supprimant le '.py' et en convertissant les " +"séparateurs de chemin en '.'. Si vous voulez exécuter un fichier test qui " +"n'est pas importable en tant que module, exécutez directement le fichier." #: ../Doc/library/unittest.rst:180 msgid "" "You can run tests with more detail (higher verbosity) by passing in the -v " "flag::" msgstr "" +"Pour obtenir plus de détails lors de l'exécution utilisez l'option `-v` " +"(plus de verbosité) ::" #: ../Doc/library/unittest.rst:184 msgid "" "When executed without arguments :ref:`unittest-test-discovery` is started::" msgstr "" +"Quand la commande est exécutée sans arguments :ref:`unittest-test-discovery` " +"est lancée ::" #: ../Doc/library/unittest.rst:188 msgid "For a list of all the command-line options::" msgstr "" +"Pour afficher la liste de toutes les options de la commande utilisez " +"l'option `-h` ::" #: ../Doc/library/unittest.rst:192 msgid "" "In earlier versions it was only possible to run individual test methods and " "not modules or classes." msgstr "" +"Dans les versions antérieures, il était seulement possible d'exécuter des " +"méthodes de test individuelles et non des modules ou des classes." #: ../Doc/library/unittest.rst:198 msgid "Command-line options" -msgstr "" +msgstr "Options de la ligne de commande" #: ../Doc/library/unittest.rst:200 msgid ":program:`unittest` supports these command-line options:" -msgstr "" +msgstr "Le programme : `unittest` gère ces options de la ligne de commande :" #: ../Doc/library/unittest.rst:206 msgid "" @@ -356,6 +376,10 @@ msgid "" "run. Output during a passing test is discarded. Output is echoed normally on " "test fail or error and is added to the failure messages." msgstr "" +"Les flux de sortie et d'erreur standards sont mis en mémoire tampon pendant " +"l'exécution des tests. L'affichage produit par un test réussi n'est pas pris " +"en compte. Les sorties d'affichages d'un test en échec ou en erreur sont " +"conservés et ajoutés aux messages d'erreur." #: ../Doc/library/unittest.rst:212 msgid "" @@ -363,37 +387,46 @@ msgid "" "then reports all the results so far. A second :kbd:`Control-C` raises the " "normal :exc:`KeyboardInterrupt` exception." msgstr "" +"Utiliser :kbd:`Control-C` pendant l'exécution des tests attend que le test " +"en cours se termine, puis affiche tous les résultats obtenus jusqu'ici. Une " +"seconde utilisation de :kbd:`Control-C` provoque l'exception normale :exc:" +"`KeyboardInterrupt`." #: ../Doc/library/unittest.rst:216 msgid "" "See `Signal Handling`_ for the functions that provide this functionality." msgstr "" +"Voir `Signal Handling`_ pour les fonctions qui utilisent cette " +"fonctionnalité." #: ../Doc/library/unittest.rst:220 msgid "Stop the test run on the first error or failure." -msgstr "" +msgstr "Arrête l'exécution des tests lors du premier cas d'erreur ou d'échec." #: ../Doc/library/unittest.rst:224 msgid "Show local variables in tracebacks." -msgstr "" +msgstr "Affiche les variables locales dans les traces d'appels." #: ../Doc/library/unittest.rst:226 msgid "The command-line options ``-b``, ``-c`` and ``-f`` were added." msgstr "" +"Les options de ligne de commande ``-b``, ``-c`` et ``-f`` ont été ajoutées." #: ../Doc/library/unittest.rst:229 msgid "The command-line option ``--locals``." -msgstr "" +msgstr "Ajout de l'option de ligne de commande ``--locals``." #: ../Doc/library/unittest.rst:232 msgid "" "The command line can also be used for test discovery, for running all of the " "tests in a project or just a subset." msgstr "" +"La ligne de commande peut également être utilisée pour découvrir les tests, " +"pour exécuter tous les tests dans un projet ou juste un sous-ensemble." #: ../Doc/library/unittest.rst:239 msgid "Test Discovery" -msgstr "" +msgstr "Découverte des tests" #: ../Doc/library/unittest.rst:243 msgid "" @@ -404,12 +437,21 @@ msgid "" "(this means that their filenames must be valid :ref:`identifiers " "`)." msgstr "" +"*Unittest* prend en charge une découverte simple des tests. Afin d'être " +"compatible avec le système de découverte de tests, tous les fichiers de test " +"doivent être des :ref:`modules ` ou des :ref:`paquets ` (incluant des :term:`paquets-espaces de nommage `) importables du répertoire du projet (cela signifie que leurs noms " +"doivent être des :ref:`identifiants ` valables)." #: ../Doc/library/unittest.rst:250 msgid "" "Test discovery is implemented in :meth:`TestLoader.discover`, but can also " "be used from the command line. The basic command-line usage is::" msgstr "" +"La découverte de tests est implémentée dans :meth:`TestLoader.discover`, " +"mais peut également être utilisée depuis la ligne de commande. Par exemple " +" ::" #: ../Doc/library/unittest.rst:258 msgid "" @@ -417,26 +459,29 @@ msgid "" "unittest discover``. If you want to pass arguments to test discovery the " "``discover`` sub-command must be used explicitly." msgstr "" +"Comme raccourci, ``python -m unittest`` est l'équivalent de ``python -m " +"unittest discover``. Pour passer des arguments au système de découverte des " +"tests, la sous-commande ``discover`` doit être utilisée explicitement." #: ../Doc/library/unittest.rst:262 msgid "The ``discover`` sub-command has the following options:" -msgstr "" +msgstr "La sous-commande ``discover`` a les options suivantes  ::" #: ../Doc/library/unittest.rst:268 msgid "Verbose output" -msgstr "" +msgstr "Affichage plus détaillé" #: ../Doc/library/unittest.rst:272 msgid "Directory to start discovery (``.`` default)" -msgstr "" +msgstr "Répertoire racine pour démarrer la découverte (``.`` par défaut)." #: ../Doc/library/unittest.rst:276 msgid "Pattern to match test files (``test*.py`` default)" -msgstr "" +msgstr "Motif de détection des fichiers de test (``test*.py`` par défaut)" #: ../Doc/library/unittest.rst:280 msgid "Top level directory of project (defaults to start directory)" -msgstr "" +msgstr "Dossier du premier niveau du projet (Par défaut le dossier de départ)" #: ../Doc/library/unittest.rst:282 msgid "" @@ -444,6 +489,9 @@ msgid "" "positional arguments in that order. The following two command lines are " "equivalent::" msgstr "" +"Les options :option:`-s`, :option:`-p` et :option:`-t` peuvent être passées " +"en arguments positionnels dans cet ordre. Les deux lignes de commande " +"suivantes sont équivalentes  ::" #: ../Doc/library/unittest.rst:289 msgid "" @@ -452,6 +500,10 @@ msgid "" "supply will then be imported and its location on the filesystem will be used " "as the start directory." msgstr "" +"Il est aussi possible de passer un nom de paquet plutôt qu'un chemin, par " +"exemple ``monprojet.souspaquet.test``, comme répertoire racine. Le nom du " +"paquet fourni est alors importé et son emplacement sur le système de " +"fichiers est utilisé comme répertoire racine." #: ../Doc/library/unittest.rst:296 msgid "" @@ -460,6 +512,11 @@ msgid "" "into package names to import. For example :file:`foo/bar/baz.py` will be " "imported as ``foo.bar.baz``." msgstr "" +"Le mécanisme de découverte charge les tests en les important. Une fois que " +"le système a trouvé tous les fichiers de tests du répertoire de démarrage " +"spécifié, il transforme les chemins en noms de paquets à importer. Par " +"exemple :file:`truc/bidule/machin.py` est importé sous ``truc.bidule." +"machin``." #: ../Doc/library/unittest.rst:301 msgid "" @@ -467,6 +524,10 @@ msgid "" "different copy of the package then the import *could* happen from the wrong " "place. If this happens test discovery will warn you and exit." msgstr "" +"Si un paquet est installé globalement et que le mécanisme de découverte de " +"tests est effectué sur une copie différente du paquet, l'importation *peut* " +"se produire à partir du mauvais endroit. Si cela arrive, le système émet un " +"avertissement et se termine." #: ../Doc/library/unittest.rst:305 msgid "" @@ -474,20 +535,28 @@ msgid "" "directory then discover assumes that whichever location it imports from is " "the location you intended, so you will not get the warning." msgstr "" +"Si vous donnez le répertoire racine sous la forme d'un nom de paquet plutôt " +"que d'un chemin d'accès à un répertoire, alors Python suppose que " +"l'emplacement à partir duquel il importe est l'emplacement que vous voulez, " +"vous ne verrez donc pas l'avertissement." #: ../Doc/library/unittest.rst:310 msgid "" "Test modules and packages can customize test loading and discovery by " "through the `load_tests protocol`_." msgstr "" +"Les modules de test et les paquets peuvent adapter le chargement et la " +"découverte des tests en utilisant le protocole `load_tests protocol`_." #: ../Doc/library/unittest.rst:313 msgid "Test discovery supports :term:`namespace packages `." msgstr "" +"La découverte de tests prend en charge :term:`les paquets-espaces de nommage " +"`." #: ../Doc/library/unittest.rst:320 msgid "Organizing test code" -msgstr "" +msgstr "Organiser le code de test" #: ../Doc/library/unittest.rst:322 msgid "" @@ -497,6 +566,12 @@ msgid "" "instances. To make your own test cases you must write subclasses of :class:" "`TestCase` or use :class:`FunctionTestCase`." msgstr "" +"Les éléments de base des tests unitaires sont les :dfn:`scénarios de tests` " +"(*test cases* en anglais) --- Des scénarios uniques qui sont mis en place et " +"exécutés pour vérifier qu'ils sont corrects. Dans :mod:`unittest`, les " +"scénarios de test sont représentés par des instances de :class:`unittest." +"TestCase`. Pour créer vos propres scénarios de test, vous devez écrire des " +"sous-classes de :class:`TestCase` ou utiliser :class:`FunctionTestCase`." #: ../Doc/library/unittest.rst:328 msgid "" @@ -504,6 +579,9 @@ msgid "" "contained, such that it can be run either in isolation or in arbitrary " "combination with any number of other test cases." msgstr "" +"Le code de test d'une instance de :class:`TestCase` doit être entièrement " +"autonome, de sorte qu'il puisse être exécuté soit de manière isolée, soit en " +"combinaison arbitraire avec un nombre quelconque d'autres scénarios de test." #: ../Doc/library/unittest.rst:332 msgid "" @@ -511,6 +589,9 @@ msgid "" "(i.e. a method whose name starts with ``test``) in order to perform specific " "testing code::" msgstr "" +"La sous-classe :class:`TestCase` la plus simple va tout simplement " +"implémenter une méthode de test (c'est-à-dire une méthode dont le nom " +"commence par ``test``) afin d'exécuter un code de test spécifique  ::" #: ../Doc/library/unittest.rst:343 msgid "" @@ -527,12 +608,19 @@ msgid "" "setUp`, which the testing framework will automatically call for every single " "test we run::" msgstr "" +"Les tests peuvent être nombreux et leur mise en place peut être répétitive. " +"Heureusement, on peut factoriser le code de mise en place en implémentant " +"une méthode appelée :meth:`~TestCase.setUp`, que le système de test appelle " +"automatiquement pour chaque test exécuté  ::" #: ../Doc/library/unittest.rst:369 msgid "" "The order in which the various tests will be run is determined by sorting " "the test method names with respect to the built-in ordering for strings." msgstr "" +"L'ordre dans lequel les différents tests sont exécutés est déterminé en " +"classant les noms des méthodes de test en fonction de la relation d'ordre " +"des chaines de caractères ." #: ../Doc/library/unittest.rst:373 msgid "" @@ -540,18 +628,25 @@ msgid "" "running, the framework will consider the test to have suffered an error, and " "the test method will not be executed." msgstr "" +"Si la méthode :meth:`~TestCase.setUp` lève une exception pendant l'exécution " +"du test, le système considère que le test a subi une erreur, et la méthode " +"test n'est pas exécutée." #: ../Doc/library/unittest.rst:377 msgid "" "Similarly, we can provide a :meth:`~TestCase.tearDown` method that tidies up " "after the test method has been run::" msgstr "" +"De même, on peut fournir une méthode :meth:`~TestCase.tearDown` qui nettoie " +"après l'exécution de la méthode de test  ::" #: ../Doc/library/unittest.rst:389 msgid "" "If :meth:`~TestCase.setUp` succeeded, :meth:`~TestCase.tearDown` will be run " "whether the test method succeeded or not." msgstr "" +"Si :meth:`~TestCase.setUp` a réussi, :meth:`~TestCase.tearDown` est " +"exécutée, que la méthode de test ait réussi ou non." #: ../Doc/library/unittest.rst:392 msgid "" @@ -572,6 +667,8 @@ msgid "" "However, should you want to customize the building of your test suite, you " "can do it yourself::" msgstr "" +"Cependant, si vous voulez personnaliser la construction de votre suite de " +"tests, vous pouvez le faire vous-même  ::" #: ../Doc/library/unittest.rst:409 msgid "" @@ -580,44 +677,58 @@ msgid "" "are several advantages to placing the test code in a separate module, such " "as :file:`test_widget.py`:" msgstr "" +"Vous pouvez placer les définitions des scénarios de test et des suites de " +"test dans le même module que le code à tester (tel que :file:`composant." +"py`), mais il y a plusieurs avantages à placer le code de test dans un " +"module séparé, tel que :file:`test_composant.py` :" #: ../Doc/library/unittest.rst:414 msgid "The test module can be run standalone from the command line." msgstr "" +"Le module de test peut être exécuté indépendamment depuis la ligne de " +"commande." #: ../Doc/library/unittest.rst:416 msgid "The test code can more easily be separated from shipped code." -msgstr "" +msgstr "Le code de test est plus facilement séparable du code livré." #: ../Doc/library/unittest.rst:418 msgid "" "There is less temptation to change test code to fit the code it tests " "without a good reason." msgstr "" +"La tentation est moins grande de changer le code de test pour l'adapter au " +"code qu'il teste sans avoir une bonne raison." #: ../Doc/library/unittest.rst:421 msgid "" "Test code should be modified much less frequently than the code it tests." msgstr "" +"Le code de test doit être modifié beaucoup moins souvent que le code qu'il " +"teste." #: ../Doc/library/unittest.rst:423 msgid "Tested code can be refactored more easily." -msgstr "" +msgstr "Le code testé peut être réusiné plus facilement." #: ../Doc/library/unittest.rst:425 msgid "" "Tests for modules written in C must be in separate modules anyway, so why " "not be consistent?" msgstr "" +"Les tests pour les modules écrits en C doivent de toute façon être dans des " +"modules séparés, alors pourquoi ne pas être cohérent ?" #: ../Doc/library/unittest.rst:428 msgid "" "If the testing strategy changes, there is no need to change the source code." msgstr "" +"Si la stratégie de test change, il n'est pas nécessaire de changer le code " +"source." #: ../Doc/library/unittest.rst:434 msgid "Re-using old test code" -msgstr "" +msgstr "Réutilisation d'ancien code de test" #: ../Doc/library/unittest.rst:436 msgid "" @@ -625,6 +736,9 @@ msgid "" "to run from :mod:`unittest`, without converting every old test function to " "a :class:`TestCase` subclass." msgstr "" +"Certains utilisateurs constatent qu'ils ont du code de test existant qu'ils " +"souhaitent exécuter à partir de :mod:`unittest`, sans convertir chaque " +"ancienne fonction de test en une sous-classe de :class:`TestCase`." #: ../Doc/library/unittest.rst:440 msgid "" @@ -632,16 +746,23 @@ msgid "" "This subclass of :class:`TestCase` can be used to wrap an existing test " "function. Set-up and tear-down functions can also be provided." msgstr "" +"Pour cette raison, :mod:`unittest` fournit une classe :class:" +"`FunctionTestCase`. Cette sous-classe de :class:`TestCase` peut être " +"utilisée pour encapsuler une fonction de test existante. Des fonctions de " +"mise en place (*setUp*) et de démantèlement (*tearDown*) peuvent également " +"être fournies." #: ../Doc/library/unittest.rst:444 msgid "Given the following test function::" -msgstr "" +msgstr "Étant donnée la fonction de test suivante  ::" #: ../Doc/library/unittest.rst:451 msgid "" "one can create an equivalent test case instance as follows, with optional " "set-up and tear-down methods::" msgstr "" +"on peut créer une instance de scénario de test équivalente, avec des " +"méthodes optionnelles de mise en place et de démantèlement  ::" #: ../Doc/library/unittest.rst:460 msgid "" @@ -650,6 +771,11 @@ msgid "" "is not recommended. Taking the time to set up proper :class:`TestCase` " "subclasses will make future test refactorings infinitely easier." msgstr "" +"Même si la classe :class:`FunctionTestCase` peut être utilisée pour " +"convertir rapidement une base de test existante vers un système basé sur :" +"mod:`unittest`, cette approche n'est pas recommandée. Prendre le temps de " +"bien configurer les sous-classes de :class:`TestCase` simplifiera " +"considérablement les futurs réusinages des tests." #: ../Doc/library/unittest.rst:465 msgid "" @@ -658,10 +784,15 @@ msgid "" "class that can automatically build :class:`unittest.TestSuite` instances " "from the existing :mod:`doctest`\\ -based tests." msgstr "" +"Dans certains cas, les tests déjà existants ont pu être écrits avec le " +"module :mod:`doctest`. Dans ce cas, :mod:`doctest` fournit une classe :" +"class:`DocTestSuite` qui peut construire automatiquement des instances de la " +"classe :class:`unittest.TestSuite` depuis des tests basés sur le module :mod:" +"`doctest`." #: ../Doc/library/unittest.rst:474 msgid "Skipping tests and expected failures" -msgstr "" +msgstr "Ignorer des tests et des erreurs prévisibles" #: ../Doc/library/unittest.rst:478 msgid "" @@ -670,34 +801,46 @@ msgid "" "a test that is broken and will fail, but shouldn't be counted as a failure " "on a :class:`TestResult`." msgstr "" +"*Unittest* permet d'ignorer des méthodes de test individuelles et même des " +"classes entières de tests. De plus, il prend en charge le marquage d'un test " +"comme étant une \"erreur prévue\". Un test qui est cassé et qui échoue, mais " +"qui ne doit pas être considéré comme un échec dans la classe :class:" +"`TestResult`." #: ../Doc/library/unittest.rst:483 msgid "" "Skipping a test is simply a matter of using the :func:`skip` :term:" "`decorator` or one of its conditional variants." msgstr "" +"Ignorer un test consiste à utiliser le :term:`décorateur ` :func:" +"`skip` ou une de ses variantes conditionnelles." #: ../Doc/library/unittest.rst:486 msgid "Basic skipping looks like this::" -msgstr "" +msgstr "Un exemple de tests à ignorer  ::" #: ../Doc/library/unittest.rst:505 msgid "This is the output of running the example above in verbose mode::" msgstr "" +"Ceci est le résultat de l'exécution de l'exemple ci-dessus en mode verbeux " +" ::" #: ../Doc/library/unittest.rst:516 msgid "Classes can be skipped just like methods::" -msgstr "" +msgstr "Les classes peuvent être ignorées tout comme les méthodes  ::" #: ../Doc/library/unittest.rst:523 msgid "" ":meth:`TestCase.setUp` can also skip the test. This is useful when a " "resource that needs to be set up is not available." msgstr "" +"La méthode :meth:`TestCase.setUp` permet également d'ignorer le test. Ceci " +"est utile lorsqu'une ressource qui doit être configurée n'est pas disponible." #: ../Doc/library/unittest.rst:526 msgid "Expected failures use the :func:`expectedFailure` decorator. ::" msgstr "" +"Les erreurs prévisibles utilisent le décorateur :func:`expectedFailure`  ::" #: ../Doc/library/unittest.rst:533 msgid "" @@ -705,24 +848,32 @@ msgid "" "calls :func:`skip` on the test when it wants it to be skipped. This " "decorator skips the test unless the passed object has a certain attribute::" msgstr "" +"Il est facile de faire ses propres décorateurs en créant un décorateur qui " +"appelle :func:`skip` sur le test que vous voulez ignorer. Par exemple, ce " +"décorateur ignore le test à moins que l'objet passé ne possède un certain " +"attribut  ::" #: ../Doc/library/unittest.rst:542 msgid "The following decorators implement test skipping and expected failures:" msgstr "" +"Les décorateurs suivants implémentent le système d'omission des tests et les " +"erreurs prévisibles  ::" #: ../Doc/library/unittest.rst:546 msgid "" "Unconditionally skip the decorated test. *reason* should describe why the " "test is being skipped." msgstr "" +"Ignore sans condition le test décoré. *La raison* doit décrire la raison " +"pour laquelle le test est omis." #: ../Doc/library/unittest.rst:551 msgid "Skip the decorated test if *condition* is true." -msgstr "" +msgstr "Ignore le test décoré si la *condition* est vraie." #: ../Doc/library/unittest.rst:555 msgid "Skip the decorated test unless *condition* is true." -msgstr "" +msgstr "Ignore le test décoré sauf si la *condition* est vraie." #: ../Doc/library/unittest.rst:559 msgid "" @@ -732,13 +883,15 @@ msgstr "" #: ../Doc/library/unittest.rst:564 msgid "This exception is raised to skip a test." -msgstr "" +msgstr "Cette exception est levée pour ignorer un test." #: ../Doc/library/unittest.rst:566 msgid "" "Usually you can use :meth:`TestCase.skipTest` or one of the skipping " "decorators instead of raising this directly." msgstr "" +"Habituellement, on utilise :meth:`TestCase.skipTest` ou l'un des décorateurs " +"d'omission au lieu de le lever une exception directement." #: ../Doc/library/unittest.rst:569 msgid "" @@ -747,10 +900,14 @@ msgid "" "setUpClass` or :meth:`~TestCase.tearDownClass` run. Skipped modules will not " "have :func:`setUpModule` or :func:`tearDownModule` run." msgstr "" +"Les tests ignorés ne lancent ni :meth:`~TestCase.setUp` ni :meth:`~TestCase." +"tearDown`. Les classes ignorées ne lancent ni :meth:`~TestCase.setUpClass` " +"ni :meth:`~TestCase.tearDownClass`. Les modules sautés n'ont pas :func:" +"`setUpModule` ou :func:`tearDownModule` d'exécutés." #: ../Doc/library/unittest.rst:577 msgid "Distinguishing test iterations using subtests" -msgstr "" +msgstr "Distinguer les itérations de test à l'aide de sous-tests" #: ../Doc/library/unittest.rst:581 msgid "" @@ -761,11 +918,11 @@ msgstr "" #: ../Doc/library/unittest.rst:585 msgid "For example, the following test::" -msgstr "" +msgstr "Par exemple, le test suivant  ::" #: ../Doc/library/unittest.rst:597 msgid "will produce the following output::" -msgstr "" +msgstr "produit le résultat suivant  ::" #: ../Doc/library/unittest.rst:623 msgid "" @@ -773,18 +930,21 @@ msgid "" "the error would be less easy to diagnose because the value of ``i`` wouldn't " "be displayed::" msgstr "" +"Sans l'utilisation d'un sous-test, l'exécution se termine après le premier " +"échec, et l'erreur est moins facile à diagnostiquer car la valeur de ``i`` " +"ne s'affiche pas  ::" #: ../Doc/library/unittest.rst:639 msgid "Classes and functions" -msgstr "" +msgstr "Classes et fonctions" #: ../Doc/library/unittest.rst:641 msgid "This section describes in depth the API of :mod:`unittest`." -msgstr "" +msgstr "Cette section décrit en détail l'API de :mod:`unittest`." #: ../Doc/library/unittest.rst:647 msgid "Test cases" -msgstr "" +msgstr "Scénarios de tests" #: ../Doc/library/unittest.rst:651 msgid "" @@ -795,6 +955,13 @@ msgid "" "drive the tests, and methods that the test code can use to check for and " "report various kinds of failure." msgstr "" +"Les instances de la classe :class:`TestCase` représentent des tests logiques " +"unitaires dans l'univers :mod:`unittest`. Cette classe est conçue pour être " +"utilisée comme classe de base. Les scénarios de tests sont à implémenter en " +"héritant de cette classe. La classe implémente l'interface nécessaire au " +"lanceur de tests pour lui permettre de les exécuter ainsi que les méthodes " +"que le code de test peut utiliser pour vérifier et signaler les différents " +"types d'erreurs." #: ../Doc/library/unittest.rst:658 msgid "" @@ -802,6 +969,10 @@ msgid "" "named *methodName*. In most uses of :class:`TestCase`, you will neither " "change the *methodName* nor reimplement the default ``runTest()`` method." msgstr "" +"Chaque instance de la classe :class:`TestCase` n'exécute qu'une seule " +"méthode de base : la méthode nommée *methodName* . Dans la plupart des " +"utilisations de la classe :class:`TestCase`, vous n'avez pas à changer le " +"nom de la méthode, ni à réimplémenter la méthode ``runTest()``." #: ../Doc/library/unittest.rst:663 msgid "" @@ -809,6 +980,9 @@ msgid "" "*methodName*. This makes it easier to experiment with :class:`TestCase` from " "the interactive interpreter." msgstr "" +"La classe :class:`TestCase` peut désormais être utilisée sans passer de " +"paramètre *methodName*. Cela facilite l'usage de :class:`TestCase` dans " +"l'interpréteur interactif." #: ../Doc/library/unittest.rst:668 msgid "" @@ -817,10 +991,15 @@ msgid "" "and report failures, and some inquiry methods allowing information about the " "test itself to be gathered." msgstr "" +"Les instances de la classe :class:`TestCase` fournissent trois groupes de " +"méthodes : un groupe utilisé pour exécuter le test, un autre utilisé par " +"l'implémentation du test pour vérifier les conditions et signaler les " +"échecs, et quelques méthodes de recherche permettant de recueillir des " +"informations sur le test lui-même." #: ../Doc/library/unittest.rst:673 msgid "Methods in the first group (running the test) are:" -msgstr "" +msgstr "Les méthodes du premier groupe (exécution du test) sont :" #: ../Doc/library/unittest.rst:677 msgid "" @@ -829,6 +1008,11 @@ msgid "" "`SkipTest`, any exception raised by this method will be considered an error " "rather than a test failure. The default implementation does nothing." msgstr "" +"Méthode appelée pour réaliser la mise en place du test. Elle est exécutée " +"immédiatement avant l'appel de la méthode de test ; à l'exception de :exc:" +"`AssertionError` ou :exc:`SkipTest`, toute exception levée par cette méthode " +"est considérée comme une erreur et non pas comme un échec du test. " +"L'implémentation par défaut ne fait rien." #: ../Doc/library/unittest.rst:685 msgid "" @@ -842,6 +1026,16 @@ msgid "" "the :meth:`setUp` succeeds, regardless of the outcome of the test method. " "The default implementation does nothing." msgstr "" +"Méthode appelée immédiatement après l'appel de la méthode de test et " +"l'enregistrement du résultat. Elle est appelée même si la méthode de test a " +"levé une exception. De fait, l'implémentation d'un sous-classes doit être " +"fait avec précaution si vous vérifiez l'état interne de la classe. Toute " +"exception, autre que :exc:`AssertionError` ou :exc:`SkipTest`, levée par " +"cette méthode est considérée comme une erreur supplémentaire plutôt que " +"comme un échec du test (augmentant ainsi le nombre total des erreurs " +"signalées). Cette méthode est appelée uniquement si l'exécution de :meth:" +"`setUp` est réussie quel que soit le résultat de la méthode de test. " +"L'implémentation par défaut ne fait rien." #: ../Doc/library/unittest.rst:698 msgid "" @@ -852,7 +1046,7 @@ msgstr "" #: ../Doc/library/unittest.rst:706 ../Doc/library/unittest.rst:721 msgid "See `Class and Module Fixtures`_ for more details." -msgstr "" +msgstr "Voir `Class and Module Fixtures`_ pour plus de détails." #: ../Doc/library/unittest.rst:713 msgid "" @@ -860,6 +1054,9 @@ msgid "" "``tearDownClass`` is called with the class as the only argument and must be " "decorated as a :meth:`classmethod`::" msgstr "" +"Méthode de classe appelée après l'exécution des tests de la classe en " +"question. ``tearDownClass`` est appelée avec la classe comme seul argument " +"et doit être décorée comme une :meth:`classmethod`  ::" #: ../Doc/library/unittest.rst:728 msgid "" @@ -868,23 +1065,35 @@ msgid "" "object is created (by calling the :meth:`defaultTestResult` method) and " "used. The result object is returned to :meth:`run`'s caller." msgstr "" +"Exécute le test, en collectant le résultat dans l'objet :class:`TestResult` " +"passé comme *result*. Si *result* est omis ou vaut ``None``, un objet " +"temporaire de résultat est créé (en appelant la méthode :meth:" +"`defaultTestResult`) et utilisé. L'objet résultat est renvoyé à l'appelant " +"de :meth:`run`." #: ../Doc/library/unittest.rst:734 msgid "" "The same effect may be had by simply calling the :class:`TestCase` instance." msgstr "" +"Le même effet peut être obtenu en appelant simplement l'instance :class:" +"`TestCase`." #: ../Doc/library/unittest.rst:737 msgid "" "Previous versions of ``run`` did not return the result. Neither did calling " "an instance." msgstr "" +"Les versions précédentes de ``run`` ne renvoyaient pas le résultat. Pas plus " +"que l'appel d'une instance." #: ../Doc/library/unittest.rst:743 msgid "" "Calling this during a test method or :meth:`setUp` skips the current test. " "See :ref:`unittest-skipping` for more information." msgstr "" +"Appeler cette fonction pendant l'exécution d'une méthode de test ou de :meth:" +"`setUp` permet d'ignorer le test en cours. Voir :ref:`unittest-skipping` " +"pour plus d'informations." #: ../Doc/library/unittest.rst:751 msgid "" @@ -892,16 +1101,22 @@ msgid "" "subtest. *msg* and *params* are optional, arbitrary values which are " "displayed whenever a subtest fails, allowing you to identify them clearly." msgstr "" +"Renvoie un gestionnaire de contexte qui exécute le bloc de code du contexte " +"comme un sous-test. *msg* et *params* sont des valeurs optionnelles et " +"arbitraires qui sont affichées chaque fois qu'un sous-test échoue, " +"permettant de les identifier clairement." #: ../Doc/library/unittest.rst:756 msgid "" "A test case can contain any number of subtest declarations, and they can be " "arbitrarily nested." msgstr "" +"Un scénario de test peut contenir un nombre quelconque de déclarations de " +"sous-test, et elles peuvent être imbriquées librement." #: ../Doc/library/unittest.rst:759 msgid "See :ref:`subtests` for more information." -msgstr "" +msgstr "Voir :ref:`subtests` pour plus d'informations." #: ../Doc/library/unittest.rst:766 msgid "" @@ -909,6 +1124,9 @@ msgid "" "by the test to be propagated to the caller, and can be used to support " "running tests under a debugger." msgstr "" +"Lance le test sans collecter le résultat. Ceci permet aux exceptions levées " +"par le test d'être propagées à l'appelant, et donc peut être utilisé pour " +"exécuter des tests sous un débogueur." #: ../Doc/library/unittest.rst:772 msgid "" @@ -916,6 +1134,10 @@ msgid "" "report failures. The following table lists the most commonly used methods " "(see the tables below for more assert methods):" msgstr "" +"La classe :class:`TestCase` fournit plusieurs méthodes d'assertion pour " +"vérifier et signaler les échecs. Le tableau suivant énumère les méthodes " +"les plus couramment utilisées (voir les tableaux ci-dessous pour plus de " +"méthodes d'assertion) :" #: ../Doc/library/unittest.rst:777 ../Doc/library/unittest.rst:899 #: ../Doc/library/unittest.rst:1091 ../Doc/library/unittest.rst:1215 @@ -925,12 +1147,12 @@ msgstr "Méthode" #: ../Doc/library/unittest.rst:777 ../Doc/library/unittest.rst:899 #: ../Doc/library/unittest.rst:1091 msgid "Checks that" -msgstr "" +msgstr "Vérifie que" #: ../Doc/library/unittest.rst:777 ../Doc/library/unittest.rst:899 #: ../Doc/library/unittest.rst:1091 ../Doc/library/unittest.rst:1215 msgid "New in" -msgstr "" +msgstr "Disponible en" #: ../Doc/library/unittest.rst:779 msgid ":meth:`assertEqual(a, b) `" @@ -1054,12 +1276,20 @@ msgid "" "`assertRaisesRegex`, :meth:`assertWarns`, :meth:`assertWarnsRegex` only when " "they are used as a context manager." msgstr "" +"Toutes les méthodes *assert* prennent en charge un argument *msg* qui, s'il " +"est spécifié, est utilisé comme message d'erreur en cas d'échec (voir aussi :" +"data:`longMessage`). Notez que l'argument mot-clé *msg* peut être passé à :" +"meth:`assertRaises`, :meth:`assertRaisesRegex`, :meth:`assertWarns`, :meth:" +"`assertWarnsRegex`, seulement quand elles sont utilisées comme gestionnaire " +"de contexte." #: ../Doc/library/unittest.rst:824 msgid "" "Test that *first* and *second* are equal. If the values do not compare " "equal, the test will fail." msgstr "" +"Vérifie que *first* et *second* sont égaux. Si les valeurs ne sont pas " +"égales, le test échouera." #: ../Doc/library/unittest.rst:827 msgid "" @@ -1070,26 +1300,37 @@ msgid "" "message (see also the :ref:`list of type-specific methods `)." msgstr "" +"En outre, si *first* et *second* ont exactement le même type et sont de type " +"*liste*, *tuple*, *dict*, *set*, *frozenset* ou *str* ou tout autre type de " +"sous classe enregistrée dans :meth:`addTypeEqualityFunc`. La fonction " +"égalité spécifique au type sera appelée pour générer une erreur plus utile " +"(voir aussi :ref:`liste des méthodes spécifiques de type `)." #: ../Doc/library/unittest.rst:834 msgid "Added the automatic calling of type-specific equality function." msgstr "" +"Ajout de l'appel automatique de la fonction d'égalité spécifique au type." #: ../Doc/library/unittest.rst:837 msgid "" ":meth:`assertMultiLineEqual` added as the default type equality function for " "comparing strings." msgstr "" +"Ajout de :meth:`assertMultiLineEqual` comme fonction d'égalité de type par " +"défaut pour comparer les chaînes." #: ../Doc/library/unittest.rst:844 msgid "" "Test that *first* and *second* are not equal. If the values do compare " "equal, the test will fail." msgstr "" +"Vérifie que *first* et *second* ne sont pas égaux. Si les valeurs sont " +"égales, le test échouera." #: ../Doc/library/unittest.rst:850 msgid "Test that *expr* is true (or false)." -msgstr "" +msgstr "Vérifie que *expr* est vraie (ou fausse)." #: ../Doc/library/unittest.rst:852 msgid "" @@ -1099,20 +1340,27 @@ msgid "" "``assertEqual(a, b)`` instead of ``assertTrue(a == b)``), because they " "provide a better error message in case of failure." msgstr "" +"Notez que cela revient à utiliser ``bool(expr) is True`` et non à ``expr is " +"True`` (utilisez ``assertIs(expr, True)`` pour cette dernière). Cette " +"méthode doit également être évitée lorsque des méthodes plus spécifiques " +"sont disponibles (par exemple ``assertEqual(a, b)`` au lieu de " +"``assertTrue(a == b)``), car elles fournissent un meilleur message d'erreur " +"en cas d' échec." #: ../Doc/library/unittest.rst:862 msgid "" "Test that *first* and *second* evaluate (or don't evaluate) to the same " "object." msgstr "" +"Vérifie que *first* et *second* évaluent (ou n'évaluent pas) le même objet." #: ../Doc/library/unittest.rst:871 msgid "Test that *expr* is (or is not) ``None``." -msgstr "" +msgstr "Vérifie que *expr* est (ou n'est pas) la valeur ``None``." #: ../Doc/library/unittest.rst:879 msgid "Test that *first* is (or is not) in *second*." -msgstr "" +msgstr "Vérifie que *first* est (ou n'est pas) dans *second*." #: ../Doc/library/unittest.rst:887 msgid "" @@ -1120,56 +1368,72 @@ msgid "" "a tuple of classes, as supported by :func:`isinstance`). To check for the " "exact type, use :func:`assertIs(type(obj), cls) `." msgstr "" +"Vérifie que *obj* est (ou n'est pas) une instance de *cls* (Ce qui peut être " +"une classe ou un tuple de classes, comme utilisée par :func:`isinstance`). " +"Pour vérifier le type exact, utilisez :func:`assertIs(type(obj), cls) " +"`." #: ../Doc/library/unittest.rst:895 msgid "" "It is also possible to check the production of exceptions, warnings, and log " "messages using the following methods:" msgstr "" +"Il est également possible de vérifier la production des exceptions, des " +"avertissements et des messages de journaux à l'aide des méthodes suivantes :" #: ../Doc/library/unittest.rst:901 msgid ":meth:`assertRaises(exc, fun, *args, **kwds) `" -msgstr "" +msgstr ":meth:`assertRaises(exc, fun, *args, **kwds) `" #: ../Doc/library/unittest.rst:901 msgid "``fun(*args, **kwds)`` raises *exc*" -msgstr "" +msgstr "``fun(*args, **kwds)`` lève bien l'exception *exc*" #: ../Doc/library/unittest.rst:904 msgid "" ":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) `" msgstr "" +":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) `" #: ../Doc/library/unittest.rst:904 msgid "``fun(*args, **kwds)`` raises *exc* and the message matches regex *r*" msgstr "" +"``fun(*args, **kwds)`` lève bien l'exception *exc* et que le message " +"correspond au motif de l'expression régulière *r*" #: ../Doc/library/unittest.rst:907 msgid ":meth:`assertWarns(warn, fun, *args, **kwds) `" -msgstr "" +msgstr ":meth:`assertWarns(warn, fun, *args, **kwds) `" #: ../Doc/library/unittest.rst:907 msgid "``fun(*args, **kwds)`` raises *warn*" -msgstr "" +msgstr "``fun(*args, **kwds)`` lève bien l'avertissement *warn*" #: ../Doc/library/unittest.rst:910 msgid "" ":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) `" msgstr "" +":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) `" #: ../Doc/library/unittest.rst:910 msgid "``fun(*args, **kwds)`` raises *warn* and the message matches regex *r*" msgstr "" +"``fun(*args, **kwds)`` lève bien l'avertissement *warn* et que le message " +"correspond au motif de l'expression régulière *r*" #: ../Doc/library/unittest.rst:913 msgid ":meth:`assertLogs(logger, level) `" -msgstr "" +msgstr ":meth:`assertLogs(logger, level) `" #: ../Doc/library/unittest.rst:913 msgid "The ``with`` block logs on *logger* with minimum *level*" msgstr "" +"Le bloc ``with`` écrit dans le *logger* avec un niveau minimum égal à " +"*level*" #: ../Doc/library/unittest.rst:913 msgid "3.4" @@ -1184,6 +1448,12 @@ msgid "" "any of a group of exceptions, a tuple containing the exception classes may " "be passed as *exception*." msgstr "" +"Vérifie qu'une exception est levée lorsque *callable* est appelé avec " +"n'importe quel argument positionnel ou mot-clé qui est également passé à :" +"meth:`assertRaises`. Le test réussit si *exception* est levée, est en " +"erreur si une autre exception est levée, ou en échec si aucune exception " +"n'est levée. Pour capturer une exception d'un groupe d'exceptions, un couple " +"contenant les classes d'exceptions peut être passé à *exception*." #: ../Doc/library/unittest.rst:927 msgid "" @@ -1191,12 +1461,17 @@ msgid "" "context manager so that the code under test can be written inline rather " "than as a function::" msgstr "" +"Si seuls les arguments *exception* et éventuellement *msg* sont donnés, " +"renvoie un gestionnaire de contexte pour que le code sous test puisse être " +"écrit en ligne plutôt que comme une fonction  ::" #: ../Doc/library/unittest.rst:934 msgid "" "When used as a context manager, :meth:`assertRaises` accepts the additional " "keyword argument *msg*." msgstr "" +"Lorsqu'il est utilisé comme gestionnaire de contexte, :meth:`assertRaises` " +"accepte l'argument de mot-clé supplémentaire *msg*." #: ../Doc/library/unittest.rst:937 msgid "" @@ -1204,19 +1479,26 @@ msgid "" "`exception` attribute. This can be useful if the intention is to perform " "additional checks on the exception raised::" msgstr "" +"Le gestionnaire de contexte enregistre l'exception capturée dans son " +"attribut :attr:`exception`. Ceci est particulièrement utile si l'intention " +"est d'effectuer des contrôles supplémentaires sur l'exception levée  ::" #: ../Doc/library/unittest.rst:947 msgid "Added the ability to use :meth:`assertRaises` as a context manager." msgstr "" +"Ajout de la possibilité d'utiliser :meth:`assertRaises` comme gestionnaire " +"de contexte." #: ../Doc/library/unittest.rst:950 msgid "Added the :attr:`exception` attribute." -msgstr "" +msgstr "Ajout de l'attribut :attr:`exception`." #: ../Doc/library/unittest.rst:953 ../Doc/library/unittest.rst:979 #: ../Doc/library/unittest.rst:1020 ../Doc/library/unittest.rst:1043 msgid "Added the *msg* keyword argument when used as a context manager." msgstr "" +"Ajout de l'argument *msg* comme mot-clé lorsqu'il est utilisé comme " +"gestionnaire de contexte." #: ../Doc/library/unittest.rst:960 msgid "" @@ -1225,6 +1507,11 @@ msgid "" "object or a string containing a regular expression suitable for use by :func:" "`re.search`. Examples::" msgstr "" +"Comme :meth:`assertRaises` mais vérifie aussi que *regex* correspond à la " +"représentation de la chaîne de caractères de l'exception levée. *regex* " +"peut être un objet d'expression rationnelle ou une chaîne contenant une " +"expression rationnelle appropriée pour être utilisée par :func:`re.search`. " +"Exemples  ::" #: ../Doc/library/unittest.rst:968 ../Doc/library/unittest.rst:1036 msgid "or::" @@ -1236,7 +1523,7 @@ msgstr "" #: ../Doc/library/unittest.rst:976 msgid "Renamed to :meth:`assertRaisesRegex`." -msgstr "" +msgstr "Renommé en :meth:`assertRaisesRegex`." #: ../Doc/library/unittest.rst:986 msgid "" @@ -1246,6 +1533,12 @@ msgid "" "isn't. Any exception is an error. To catch any of a group of warnings, a " "tuple containing the warning classes may be passed as *warnings*." msgstr "" +"Test qu'un avertissement est déclenché lorsque *callable* est appelé avec " +"n'importe quel argument positionnel ou mot-clé qui est également passé à :" +"meth:`assertWarns`. Le test passe si *warning* est déclenché et échoue s'il " +"ne l'est pas. Toute exception est une erreur. Pour capturer un avertissement " +"dans un ensemble d'avertissements, un couple contenant les classes " +"d'avertissement peut être passé à *warnings*." #: ../Doc/library/unittest.rst:993 msgid "" @@ -1253,12 +1546,17 @@ msgid "" "context manager so that the code under test can be written inline rather " "than as a function::" msgstr "" +"Si seuls les arguments * warning* et éventuellement *msg* sont donnés, " +"renvoie un gestionnaire de contexte pour que le code testé puisse être écrit " +"en ligne plutôt que comme une fonction  ::" #: ../Doc/library/unittest.rst:1000 msgid "" "When used as a context manager, :meth:`assertWarns` accepts the additional " "keyword argument *msg*." msgstr "" +"Lorsqu'il est utilisé comme gestionnaire de contexte, :meth:`assertWarns` " +"accepte l'argument de mot-clé supplémentaire *msg*." #: ../Doc/library/unittest.rst:1003 msgid "" @@ -1267,12 +1565,19 @@ msgid "" "the :attr:`filename` and :attr:`lineno` attributes. This can be useful if " "the intention is to perform additional checks on the warning caught::" msgstr "" +"Le gestionnaire de contexte stocke l'avertissement capturé dans son " +"attribut :attr:`warning`, et la ligne source qui a déclenché les " +"avertissements dans les attributs :attr:`filename` et :attr:`lineno`. Cette " +"fonction peut être utile si l'intention est d'effectuer des contrôles " +"supplémentaires sur l'avertissement capturé  ::" #: ../Doc/library/unittest.rst:1015 msgid "" "This method works regardless of the warning filters in place when it is " "called." msgstr "" +"Cette méthode fonctionne indépendamment des filtres d'avertissement en place " +"lorsqu'elle est appelée." #: ../Doc/library/unittest.rst:1027 msgid "" @@ -1281,12 +1586,19 @@ msgid "" "string containing a regular expression suitable for use by :func:`re." "search`. Example::" msgstr "" +"Comme :meth:`assertWarns` mais vérifie aussi qu'une *regex* corresponde au " +"message de l'avertissement. *regex* peut être un objet d'expression " +"régulière ou une chaîne contenant une expression régulière appropriée pour " +"être utilisée par :func:`re.search`. Exemple  ::" #: ../Doc/library/unittest.rst:1048 msgid "" "A context manager to test that at least one message is logged on the " "*logger* or one of its children, with at least the given *level*." msgstr "" +"Un gestionnaire de contexte pour tester qu'au moins un message est " +"enregistré sur le *logger* ou un de ses enfants, avec au moins le *niveau* " +"donné." #: ../Doc/library/unittest.rst:1052 msgid "" @@ -1294,6 +1606,9 @@ msgid "" "`str` giving the name of a logger. The default is the root logger, which " "will catch all messages." msgstr "" +"Si donné, *logger* doit être une classe :class:`logging.logger` objet ou une " +"classe :class:`str` donnant le nom d'un journal. La valeur par défaut est le " +"journal racine *root*, qui capture tous les messages." #: ../Doc/library/unittest.rst:1056 msgid "" @@ -1301,29 +1616,41 @@ msgid "" "equivalent (for example either ``\"ERROR\"`` or :attr:`logging.ERROR`). The " "default is :attr:`logging.INFO`." msgstr "" +"S'il est donné, *level* doit être soit un entier, soit son équivalent sous " +"forme de chaîne (par exemple ``\"ERROR\"`` ou :attr:`logging.ERROR`). La " +"valeur par défaut est :attr:`logging.INFO`." #: ../Doc/library/unittest.rst:1060 msgid "" "The test passes if at least one message emitted inside the ``with`` block " "matches the *logger* and *level* conditions, otherwise it fails." msgstr "" +"Le test passe si au moins un message émis à l'intérieur du bloc ``with`` " +"correspond aux conditions *logger* et *level*, sinon il échoue." #: ../Doc/library/unittest.rst:1063 msgid "" "The object returned by the context manager is a recording helper which keeps " "tracks of the matching log messages. It has two attributes:" msgstr "" +"L'objet retourné par le gestionnaire de contexte est une aide à " +"l'enregistrement qui garde la trace des messages de journal correspondants. " +"Il a deux attributs  ::" #: ../Doc/library/unittest.rst:1069 msgid "" "A list of :class:`logging.LogRecord` objects of the matching log messages." msgstr "" +"Une liste d'objets :class:`logging.LogRecord` de messages de log " +"correspondants." #: ../Doc/library/unittest.rst:1074 msgid "" "A list of :class:`str` objects with the formatted output of matching " "messages." msgstr "" +"Une liste d'objets :class:`str` avec la sortie formatée des messages " +"correspondants." #: ../Doc/library/unittest.rst:1077 msgid "Example::" @@ -1333,6 +1660,8 @@ msgstr "Exemple ::" msgid "" "There are also other methods used to perform more specific checks, such as:" msgstr "" +"Il existe également d'autres méthodes utilisées pour effectuer des contrôles " +"plus spécifiques, telles que  ::" #: ../Doc/library/unittest.rst:1093 msgid ":meth:`assertAlmostEqual(a, b) `" @@ -1344,7 +1673,7 @@ msgstr "``round(a-b, 7) == 0``" #: ../Doc/library/unittest.rst:1096 msgid ":meth:`assertNotAlmostEqual(a, b) `" -msgstr "" +msgstr ":meth:`assertNotAlmostEqual(a, b) `" #: ../Doc/library/unittest.rst:1096 msgid "``round(a-b, 7) != 0``" @@ -1416,12 +1745,20 @@ msgid "" "the values to the given number of *decimal places* (i.e. like the :func:" "`round` function) and not *significant digits*." msgstr "" +"Vérifie que *first* et *second* sont approximativement (ou pas " +"approximativement) égaux en calculant la différence, en arrondissant au " +"nombre donné de décimales *places* (par défaut 7), et en comparant à zéro. " +"Notez que ces méthodes arrondissent les valeurs au nombre donné de " +"*décimales* (par exemple comme la fonction :func:`round`) et non aux " +"*chiffres significatifs*." #: ../Doc/library/unittest.rst:1132 msgid "" "If *delta* is supplied instead of *places* then the difference between " "*first* and *second* must be less or equal to (or greater than) *delta*." msgstr "" +"Si *delta* est fourni au lieu de *places*, la différence entre *first* et " +"*second* doit être inférieure ou égale (ou supérieure) à *delta*." #: ../Doc/library/unittest.rst:1135 msgid "Supplying both *delta* and *places* raises a ``TypeError``." @@ -1433,12 +1770,18 @@ msgid "" "compare equal. :meth:`assertNotAlmostEqual` automatically fails if the " "objects compare equal. Added the *delta* keyword argument." msgstr "" +":meth:`assertAlmostEqual` considère automatiquement des objets presque égaux " +"qui se comparent égaux. :meth:`assertNotNotAlmostEqual` échoue " +"automatiquement si les objets qui se comparent sont égaux. Ajout de " +"l'argument mot-clé *delta*." #: ../Doc/library/unittest.rst:1148 msgid "" "Test that *first* is respectively >, >=, < or <= than *second* depending on " "the method name. If not, the test will fail::" msgstr "" +"Vérifie que *first* est respectivement >, >=, >=, < ou <= à *second* selon " +"le nom de la méthode. Sinon, le test échouera  ::" #: ../Doc/library/unittest.rst:1160 msgid "" @@ -1448,6 +1791,12 @@ msgid "" "regular expression object or a string containing a regular expression " "suitable for use by :func:`re.search`." msgstr "" +"Vérifie qu'une recherche par motif *regex* correspond (ou ne correspond " +"pas) à *text*. En cas d'échec, le message d'erreur inclura le motif et le " +"*texte* (ou le motif et la partie du *texte* qui correspond de manière " +"inattendue). *regex* peut être un objet d'expression régulière ou une " +"chaîne contenant une expression régulière appropriée pour être utilisée par :" +"func:`re.search`." #: ../Doc/library/unittest.rst:1166 msgid "under the name ``assertRegexpMatches``." @@ -1458,6 +1807,7 @@ msgid "" "The method ``assertRegexpMatches()`` has been renamed to :meth:`." "assertRegex`." msgstr "" +"La méthode ``assertRegexpMatches()`` a été renommé en :meth:`.assertRegex`." #: ../Doc/library/unittest.rst:1171 msgid ":meth:`.assertNotRegex`." @@ -1469,6 +1819,9 @@ msgid "" "regardless of their order. When they don't, an error message listing the " "differences between the sequences will be generated." msgstr "" +"Vérifie que la séquence *first* contient les mêmes éléments que *second*, " +"quel que soit leur ordre. Si ce n'est pas le cas, un message d'erreur " +"indiquant les différences entre les séquences est généré." #: ../Doc/library/unittest.rst:1181 msgid "" @@ -1477,6 +1830,11 @@ msgid "" "Equivalent to: ``assertEqual(Counter(list(first)), Counter(list(second)))`` " "but works with sequences of unhashable objects as well." msgstr "" +"Les éléments en double ne sont *pas* ignorés lors de la comparaison entre " +"*first* et *second*. Il vérifie si chaque élément a le même nombre dans les " +"deux séquences. Équivalent à : ``assertEqual(Counter(list(first))), " +"Counter(list(second)))`` mais fonctionne aussi avec des séquences d'objets " +"non *hachables*." #: ../Doc/library/unittest.rst:1192 msgid "" @@ -1485,6 +1843,11 @@ msgid "" "implemented for most of the built-in types, but it's also possible to " "register new methods using :meth:`addTypeEqualityFunc`:" msgstr "" +"La méthode :meth:`assertEqual` envoie le contrôle d'égalité pour les objets " +"du même type à différentes méthodes spécifiques au type. Ces méthodes sont " +"déjà implémentées pour la plupart des types intégrés, mais il est également " +"possible d'enregistrer de nouvelles méthodes en utilisant :meth:" +"`addTypeEqualityFunc`  ::" #: ../Doc/library/unittest.rst:1199 msgid "" @@ -1496,6 +1859,14 @@ msgid "" "two parameters is detected -- possibly providing useful information and " "explaining the inequalities in details in the error message." msgstr "" +"Enregistre une méthode spécifique appelée par :meth:`assertEqual` pour " +"vérifier si deux objets exactement du même *typeobj* (et non leurs sous-" +"classes) sont égaux. *function* doit prendre deux arguments positionnels et " +"un troisième argument mot-clé *msg=None* tout comme :meth:`assertEqual` le " +"fait. Il doit lever :data:`self.failureException(msg) ` " +"lorsqu'une inégalité entre les deux premiers paramètres est détectée en " +"fournissant éventuellement des informations utiles et expliquant l'inégalité " +"en détail dans le message d'erreur." #: ../Doc/library/unittest.rst:1210 msgid "" @@ -1503,10 +1874,13 @@ msgid "" "assertEqual` are summarized in the following table. Note that it's usually " "not necessary to invoke these methods directly." msgstr "" +"La liste des méthodes spécifiques utilisées automatiquement par :meth:" +"`~TestCase.assertEqual` est résumée dans le tableau suivant. Notez qu'il " +"n'est généralement pas nécessaire d'invoquer ces méthodes directement." #: ../Doc/library/unittest.rst:1215 msgid "Used to compare" -msgstr "" +msgstr "Utilisé pour comparer" #: ../Doc/library/unittest.rst:1217 msgid ":meth:`assertMultiLineEqual(a, b) `" @@ -1530,7 +1904,7 @@ msgstr ":meth:`assertListEqual(a, b) `" #: ../Doc/library/unittest.rst:1223 msgid "lists" -msgstr "" +msgstr "listes" #: ../Doc/library/unittest.rst:1226 msgid ":meth:`assertTupleEqual(a, b) `" @@ -1538,7 +1912,7 @@ msgstr ":meth:`assertTupleEqual(a, b) `" #: ../Doc/library/unittest.rst:1226 msgid "tuples" -msgstr "" +msgstr "n-uplets" #: ../Doc/library/unittest.rst:1229 msgid ":meth:`assertSetEqual(a, b) `" @@ -1546,7 +1920,7 @@ msgstr ":meth:`assertSetEqual(a, b) `" #: ../Doc/library/unittest.rst:1229 msgid "sets or frozensets" -msgstr "" +msgstr "*sets* ou *frozensets*" #: ../Doc/library/unittest.rst:1232 msgid ":meth:`assertDictEqual(a, b) `" @@ -1554,7 +1928,7 @@ msgstr ":meth:`assertDictEqual(a, b) `" #: ../Doc/library/unittest.rst:1232 msgid "dicts" -msgstr "" +msgstr "dictionnaires" #: ../Doc/library/unittest.rst:1240 msgid "" @@ -1563,6 +1937,11 @@ msgid "" "included in the error message. This method is used by default when comparing " "strings with :meth:`assertEqual`." msgstr "" +"Vérifie que la chaîne sur plusieurs lignes *first* est égale à la chaîne " +"*second*. Si les deux chaînes de caractères ne sont pas égales, un *diff* " +"mettant en évidence les différences est inclus dans le message d'erreur. " +"Cette méthode est utilisée par défaut pour comparer les chaînes avec :meth:" +"`assertEqual`." #: ../Doc/library/unittest.rst:1250 msgid "" @@ -1571,12 +1950,18 @@ msgid "" "raised. If the sequences are different an error message is constructed that " "shows the difference between the two." msgstr "" +"Vérifie que deux séquences sont égales. Si un *seq_type* est fourni, *first* " +"et *second* doivent tous deux être des instances de *seq_type* ou un échec " +"est levé. Si les séquences sont différentes, un message d'erreur indiquant " +"la différence entre les deux est généré." #: ../Doc/library/unittest.rst:1255 msgid "" "This method is not called directly by :meth:`assertEqual`, but it's used to " "implement :meth:`assertListEqual` and :meth:`assertTupleEqual`." msgstr "" +"Cette méthode n'est pas appelée directement par :meth:`assertEqual`, mais " +"sert à implémenter :meth:`assertListEqual` et :meth:`assertTupleEqual`." #: ../Doc/library/unittest.rst:1265 msgid "" @@ -1585,6 +1970,11 @@ msgid "" "also raised if either of the parameters are of the wrong type. These methods " "are used by default when comparing lists or tuples with :meth:`assertEqual`." msgstr "" +"Vérifie que deux listes ou deux n-uplets sont égaux. Si ce n'est pas le " +"cas, un message d'erreur qui ne montre que les différences entre les deux " +"est généré. Une erreur est également signalée si l'un ou l'autre des " +"paramètres n'est pas du bon type. Ces méthodes sont utilisées par défaut " +"pour comparer des listes ou des couples avec :meth:`assertEqual`." #: ../Doc/library/unittest.rst:1276 msgid "" @@ -1592,12 +1982,18 @@ msgid "" "lists the differences between the sets. This method is used by default when " "comparing sets or frozensets with :meth:`assertEqual`." msgstr "" +"Vérifie que deux ensembles sont égaux. Si ce n'est pas le cas, un message " +"d'erreur s'affiche et indique les différences entre les *sets*. Cette " +"méthode est utilisée par défaut lors de la comparaison de *sets* ou de " +"*frozensets* avec :meth:`assertEqual`." #: ../Doc/library/unittest.rst:1280 msgid "" "Fails if either of *first* or *second* does not have a :meth:`set." "difference` method." msgstr "" +"Échoue si l'un des objets *first* ou *second* n'a pas de méthode :meth:`set." +"difference`." #: ../Doc/library/unittest.rst:1288 msgid "" @@ -1605,17 +2001,25 @@ msgid "" "constructed that shows the differences in the dictionaries. This method will " "be used by default to compare dictionaries in calls to :meth:`assertEqual`." msgstr "" +"Vérifie que deux dictionnaires sont égaux. Si ce n'est pas le cas, un " +"message d'erreur qui montre les différences dans les dictionnaires est " +"généré. Cette méthode est utilisée par défaut pour comparer les " +"dictionnaires dans les appels à :meth:`assertEqual`." #: ../Doc/library/unittest.rst:1299 msgid "" "Finally the :class:`TestCase` provides the following methods and attributes:" msgstr "" +"Enfin, la classe :class:`TestCase` fournit les méthodes et attributs " +"suivants :" #: ../Doc/library/unittest.rst:1304 msgid "" "Signals a test failure unconditionally, with *msg* or ``None`` for the error " "message." msgstr "" +"Indique un échec du test sans condition, avec *msg* ou ``None`` pour le " +"message d'erreur." #: ../Doc/library/unittest.rst:1310 msgid "" @@ -1625,6 +2029,11 @@ msgid "" "fair\" with the framework. The initial value of this attribute is :exc:" "`AssertionError`." msgstr "" +"Cet attribut de classe donne l'exception levée par la méthode de test. Si " +"un *framework* de tests doit utiliser une exception spécialisée, " +"probablement pour enrichir l'exception d'informations additionnels., il doit " +"hériter de cette classe d'exception pour *bien fonctionner* avec le " +"*framework*. La valeur initiale de cet attribut est :exc:`AssertionError`." #: ../Doc/library/unittest.rst:1319 msgid "" @@ -1634,6 +2043,12 @@ msgid "" "of the standard failure message. When set to ``False``, the custom message " "replaces the standard message." msgstr "" +"Cet attribut de classe détermine ce qui se passe lorsqu'un message d'échec " +"personnalisé est passé en argument au paramètre *msg* à un appel " +"*assertXYYY* qui échoue. ``True`` est la valeur par défaut. Dans ce cas, le " +"message personnalisé est ajouté à la fin du message d'erreur standard. " +"Lorsqu'il est réglé sur ``False``, le message personnalisé remplace le " +"message standard." #: ../Doc/library/unittest.rst:1325 msgid "" @@ -1641,10 +2056,13 @@ msgid "" "an instance attribute, self.longMessage, to ``True`` or ``False`` before " "calling the assert methods." msgstr "" +"Le paramétrage de la classe peut être écrasé dans les méthodes de test " +"individuelles en assignant un attribut d'instance, *self.longMessage*, à " +"``True`` ou ``False`` avant d'appeler les méthodes d'assertion." #: ../Doc/library/unittest.rst:1329 msgid "The class setting gets reset before each test call." -msgstr "" +msgstr "Le réglage de la classe est réinitialisé avant chaque appel de test." #: ../Doc/library/unittest.rst:1336 msgid "" @@ -1654,24 +2072,36 @@ msgid "" "the sequence comparison methods that delegate to it), :meth:" "`assertDictEqual` and :meth:`assertMultiLineEqual`." msgstr "" +"Cet attribut contrôle la longueur maximale des *diffs* en sortie des " +"méthodes qui génèrent des *diffs* en cas d'échec. La valeur par défaut est " +"80*8 caractères. Les méthodes d'assertions affectées par cet attribut sont :" +"meth:`assertSequenceEqual` (y compris toutes les méthodes de comparaison de " +"séquences qui lui sont déléguées), :meth:`assertDictEqual` et :meth:" +"`assertMultiLineEqual`." #: ../Doc/library/unittest.rst:1343 msgid "" "Setting ``maxDiff`` to ``None`` means that there is no maximum length of " "diffs." msgstr "" +"Régler ``maxDiff`` sur ``None``` signifie qu'il n'y a pas de longueur " +"maximale pour les *diffs*." #: ../Doc/library/unittest.rst:1349 msgid "" "Testing frameworks can use the following methods to collect information on " "the test:" msgstr "" +"Les *frameworks* de test peuvent utiliser les méthodes suivantes pour " +"recueillir des informations sur le test :" #: ../Doc/library/unittest.rst:1355 msgid "" "Return the number of tests represented by this test object. For :class:" "`TestCase` instances, this will always be ``1``." msgstr "" +"Renvoie le nombre de tests représentés par cet objet test. Pour les " +"instances de :class:`TestCase`, c'est toujours ``1``." #: ../Doc/library/unittest.rst:1361 msgid "" @@ -1679,6 +2109,9 @@ msgid "" "test case class (if no other result instance is provided to the :meth:`run` " "method)." msgstr "" +"Retourne une instance de la classe de résultat de test qui doit être " +"utilisée pour cette classe de cas de test (si aucune autre instance de " +"résultat n'est fournie à la méthode :meth:`run`)." #: ../Doc/library/unittest.rst:1365 msgid "" @@ -1686,12 +2119,18 @@ msgid "" "`TestResult`; subclasses of :class:`TestCase` should override this as " "necessary." msgstr "" +"Pour les instances de :class:`TestCase`, c'est toujours une instance de :" +"class:`TestResult` ; les sous-classes de :class:`TestCase` peuvent la " +"remplacer au besoin." #: ../Doc/library/unittest.rst:1372 msgid "" "Return a string identifying the specific test case. This is usually the " "full name of the test method, including the module and class name." msgstr "" +"Retourne une chaîne identifiant le cas de test spécifique. Il s'agit " +"généralement du nom complet de la méthode de test, y compris le nom du " +"module et de la classe." #: ../Doc/library/unittest.rst:1378 msgid "" @@ -1699,6 +2138,9 @@ msgid "" "provided. The default implementation of this method returns the first line " "of the test method's docstring, if available, or ``None``." msgstr "" +"Renvoie une description du test, ou ``None`` si aucune description n'a été " +"fournie. L'implémentation par défaut de cette méthode renvoie la première " +"ligne de la *docstring* de la méthode de test, si disponible, ou ``None``." #: ../Doc/library/unittest.rst:1383 msgid "" @@ -1707,6 +2149,10 @@ msgid "" "unittest extensions and adding the test name was moved to the :class:" "`TextTestResult` in Python 3.2." msgstr "" +"En 3.1, ceci a été modifié pour ajouter le nom du test à la description " +"courte, même en présence d'une *docstring*. Cela a causé des problèmes de " +"compatibilité avec les extensions *unittest* et l'ajout du nom du test a été " +"déplacé dans la classe :class:`TextTestResult` dans Python 3.2." #: ../Doc/library/unittest.rst:1392 msgid "" @@ -1721,12 +2167,17 @@ msgid "" "If :meth:`setUp` fails, meaning that :meth:`tearDown` is not called, then " "any cleanup functions added will still be called." msgstr "" +"Si :meth:`setUp` échoue, cela signifie que :meth:`tearDown` n'est pas " +"appelé, alors que les fonctions de nettoyage ajoutées seront toujours " +"appelées." #: ../Doc/library/unittest.rst:1406 msgid "" "This method is called unconditionally after :meth:`tearDown`, or after :meth:" "`setUp` if :meth:`setUp` raises an exception." msgstr "" +"Cette méthode est appelée sans conditions après :meth:`tearDown`, ou après :" +"meth:`setUp` si :meth:`setUp` lève une exception." #: ../Doc/library/unittest.rst:1409 msgid "" @@ -1734,12 +2185,19 @@ msgid "" "`addCleanup`. If you need cleanup functions to be called *prior* to :meth:" "`tearDown` then you can call :meth:`doCleanups` yourself." msgstr "" +"Cette méthode est chargée d'appeler toutes les fonctions de nettoyage " +"ajoutées par :meth:`addCleanup`. Si vous avez besoin de fonctions de " +"nettoyage à appeler *avant* l'appel à :meth:`tearDown` alors vous pouvez " +"appeler :meth:`doCleanups` vous-même." #: ../Doc/library/unittest.rst:1414 msgid "" ":meth:`doCleanups` pops methods off the stack of cleanup functions one at a " "time, so it can be called at any time." msgstr "" +":meth:`doCleanups` extrait les méthodes de la pile des fonctions de " +"nettoyage une à la fois, de sorte qu'elles peuvent être appelées à tout " +"moment." #: ../Doc/library/unittest.rst:1422 msgid "" @@ -1749,10 +2207,16 @@ msgid "" "test cases using legacy test code, allowing it to be integrated into a :mod:" "`unittest`-based test framework." msgstr "" +"Cette classe implémente la partie de l'interface :class:`TestCase` qui " +"permet au lanceur de test de piloter le scénario de test, mais ne fournit " +"pas les méthodes que le code test peut utiliser pour vérifier et signaler " +"les erreurs. Ceci est utilisé pour créer des scénario de test utilisant du " +"code de test existant afin de faciliter l'intégration dans un *framework* de " +"test basé sur :mod:`unittest`." #: ../Doc/library/unittest.rst:1432 msgid "Deprecated aliases" -msgstr "" +msgstr "Alias obsolètes" #: ../Doc/library/unittest.rst:1434 msgid "" @@ -1760,6 +2224,9 @@ msgid "" "more aliases that are now deprecated. The following table lists the correct " "names along with their deprecated aliases:" msgstr "" +"Pour des raisons historiques, certaines méthodes de la classe :class:" +"`TestCase` avaient un ou plusieurs alias qui sont maintenant obsolètes. Le " +"tableau suivant énumère les noms corrects ainsi que leurs alias obsolètes  ::" #: ../Doc/library/unittest.rst:1439 msgid "Method Name" @@ -1767,7 +2234,7 @@ msgstr "Nom de méthode" #: ../Doc/library/unittest.rst:1439 msgid "Deprecated alias" -msgstr "" +msgstr "Alias obsolètes" #: ../Doc/library/unittest.rst:1441 msgid ":meth:`.assertEqual`" @@ -1877,7 +2344,7 @@ msgstr "" #: ../Doc/library/unittest.rst:1464 msgid "Grouping tests" -msgstr "" +msgstr "Regroupement des tests" #: ../Doc/library/unittest.rst:1468 msgid "" @@ -1893,6 +2360,10 @@ msgid "" "other test suites that will be used to build the suite initially. Additional " "methods are provided to add test cases and suites to the collection later on." msgstr "" +"Si *tests* est fourni, il doit s'agir d'un itérable de cas de test " +"individuels ou d'autres suites de test qui seront utilisés pour construire " +"la suite initial. Des méthodes supplémentaires sont fournies pour ajouter " +"ultérieurement des cas de test et des suites à la collection." #: ../Doc/library/unittest.rst:1477 msgid "" @@ -1902,26 +2373,37 @@ msgid "" "additional methods are available to add tests to :class:`TestSuite` " "instances:" msgstr "" +"Les objets :class:`TestSuite` se comportent comme les objets :class:" +"`TestCase`, sauf qu'ils n'implémentent pas réellement un test. Au lieu de " +"cela, ils sont utilisés pour regrouper les tests en groupes de tests qui " +"doivent être exécutés ensemble. Des méthodes supplémentaires sont " +"disponibles pour ajouter des tests aux instances de :class:`TestSuite` :" #: ../Doc/library/unittest.rst:1485 msgid "Add a :class:`TestCase` or :class:`TestSuite` to the suite." msgstr "" +"Ajouter un objet :class:`TestCase` ou :class:`TestSuite` à la suite de tests." #: ../Doc/library/unittest.rst:1490 msgid "" "Add all the tests from an iterable of :class:`TestCase` and :class:" "`TestSuite` instances to this test suite." msgstr "" +"Ajouter tous les tests d'un itérable d'instances de :class:`TestCase` et de :" +"class:`TestSuite` à cette suite de tests." #: ../Doc/library/unittest.rst:1493 msgid "" "This is equivalent to iterating over *tests*, calling :meth:`addTest` for " "each element." msgstr "" +"C'est l'équivalent d'une itération sur *tests*, appelant :meth:`addTest` " +"pour chaque élément." #: ../Doc/library/unittest.rst:1496 msgid ":class:`TestSuite` shares the following methods with :class:`TestCase`:" msgstr "" +":class:`TestSuite` partage les méthodes suivantes avec :class:`TestCase` :" #: ../Doc/library/unittest.rst:1501 msgid "" @@ -1929,6 +2411,10 @@ msgid "" "test result object passed as *result*. Note that unlike :meth:`TestCase." "run`, :meth:`TestSuite.run` requires the result object to be passed in." msgstr "" +"Exécute les tests associés à cette suite, en collectant le résultat dans " +"l'objet de résultat de test passé par *result*. Remarquer que contrairement " +"à :meth:`TestCase.run`, :meth:`TestSuite.run` nécessite que l'objet résultat " +"soit passé." #: ../Doc/library/unittest.rst:1509 msgid "" @@ -1936,12 +2422,17 @@ msgid "" "allows exceptions raised by the test to be propagated to the caller and can " "be used to support running tests under a debugger." msgstr "" +"Exécute les tests associés à cette suite sans collecter le résultat. Ceci " +"permet aux exceptions levées par le test d'être propagées à l'appelant et " +"peut être utilisé pour exécuter des tests sous un débogueur." #: ../Doc/library/unittest.rst:1516 msgid "" "Return the number of tests represented by this test object, including all " "individual tests and sub-suites." msgstr "" +"Renvoie le nombre de tests représentés par cet objet de test, y compris tous " +"les tests individuels et les sous-suites." #: ../Doc/library/unittest.rst:1522 msgid "" @@ -1954,6 +2445,16 @@ msgid "" "tests returned by this method unless the caller uses a subclass that " "overrides :meth:`TestSuite._removeTestAtIndex` to preserve test references." msgstr "" +"Les tests groupés par une classe :class:`TestSuite` sont toujours " +"accessibles par itération. Les sous-classes peuvent fournir paresseusement " +"des tests en surchargeant :meth:`__iter__`. Notez que cette méthode peut " +"être appelée plusieurs fois sur une même suite (par exemple lors du comptage " +"des tests ou de la comparaison pour l'égalité) et que les tests retournés " +"par itérations répétées avant :meth:`TestSuite.run` doivent être les mêmes " +"pour chaque itération. Après :meth:`TestSuite.run`, les appelants ne " +"devraient pas se fier aux tests retournés par cette méthode à moins qu'ils " +"n'utilisent une sous-classe qui remplace :meth:`TestSuite." +"_removeTestAtIndex` pour préserver les références des tests." #: ../Doc/library/unittest.rst:1532 msgid "" @@ -1961,6 +2462,9 @@ msgid "" "than through iteration, so overriding :meth:`__iter__` wasn't sufficient for " "providing tests." msgstr "" +"Dans les versions précédentes, la classe :class:`TestSuite` accédait aux " +"tests directement plutôt que par itération, donc surcharger la méthode :meth:" +"`__iter__` n'était pas suffisante pour fournir les tests." #: ../Doc/library/unittest.rst:1537 msgid "" @@ -1968,16 +2472,23 @@ msgid "" "`TestCase` after :meth:`TestSuite.run`. Subclasses can restore that behavior " "by overriding :meth:`TestSuite._removeTestAtIndex`." msgstr "" +"Dans les versions précédentes, la classe :class:`TestSuite` contenait des " +"références à chaque :class:`TestCase` après l'appel à :meth:`TestSuite.run`. " +"Les sous-classes peuvent restaurer ce comportement en surchargeant :meth:" +"`TestSuite._removeTestAtIndex`." #: ../Doc/library/unittest.rst:1542 msgid "" "In the typical usage of a :class:`TestSuite` object, the :meth:`run` method " "is invoked by a :class:`TestRunner` rather than by the end-user test harness." msgstr "" +"Dans l'utilisation typique de l'objet :class:`TestSuite`, la méthode :meth:" +"`run` est invoquée par une classe :class:`TestRunner` plutôt que par le " +"système de test de l'utilisateur." #: ../Doc/library/unittest.rst:1547 msgid "Loading and running tests" -msgstr "" +msgstr "Chargement et exécution des tests" #: ../Doc/library/unittest.rst:1551 msgid "" @@ -1987,10 +2498,17 @@ msgid "" "`unittest.defaultTestLoader`. Using a subclass or instance, however, allows " "customization of some configurable properties." msgstr "" +"La classe :class:`TestLoader` est utilisée pour créer des suites de tests à " +"partir de classes et de modules. Normalement, il n'est pas nécessaire de " +"créer une instance de cette classe ; le module :mod:`unittest` fournit une " +"instance qui peut être partagée comme :data:`unittest.defaultTestLoader`. " +"L'utilisation d'une sous-classe ou d'une instance permet cependant de " +"personnaliser certaines propriétés configurables." #: ../Doc/library/unittest.rst:1557 msgid ":class:`TestLoader` objects have the following attributes:" msgstr "" +"Les objets de la classe :class:`TestLoader` ont les attributs suivants :" #: ../Doc/library/unittest.rst:1562 msgid "" @@ -1999,10 +2517,16 @@ msgid "" "raising an exception to the caller. Non-fatal errors are also indicated by a " "synthetic test that will raise the original error when run." msgstr "" +"Une liste des erreurs non fatales rencontrées lors du chargement des tests. " +"Il est impossible de faire une remise à zéro pendant le chargement. Les " +"erreurs fatales sont signalées par la méthode correspondante qui lève une " +"exception à l'appelant. Les erreurs non fatales sont également indiquées par " +"un test synthétique qui lève l'erreur initiale lors de l'exécution." #: ../Doc/library/unittest.rst:1571 msgid ":class:`TestLoader` objects have the following methods:" msgstr "" +"Les objets de la classe :class:`TestLoader` ont les attributs suivants :" #: ../Doc/library/unittest.rst:1576 msgid "" @@ -2018,6 +2542,11 @@ msgid "" "`runTest` method is implemented, a single test case is created for that " "method instead." msgstr "" +"Une instance de cas de test est créée pour chaque méthode nommée par :meth:" +"`getTestCaseNames`. Par défaut, ce sont les noms des méthodes commençant par " +"\"test\". Si :meth:`getTestTestCaseNames` ne renvoie aucune méthode, mais " +"que la méthode :meth:`runTest` est implémentée, un seul cas de test est créé " +"pour cette méthode à la place." #: ../Doc/library/unittest.rst:1588 msgid "" @@ -2034,6 +2563,12 @@ msgid "" "play well with this method. Doing so, however, can be useful when the " "fixtures are different and defined in subclasses." msgstr "" +"Bien que l'utilisation d'une hiérarchie de classes :class:`TestCase` (les " +"classes dérivées de *TestCase*) peut être un moyen pratique de partager des " +"*fixtures* et des fonctions utilitaires, définir une méthode de test pour " +"des classes de base non destinées à être directement instanciée ne marche " +"pas bien avec cette méthode. Cela peut toutefois s'avérer utile lorsque les " +"*fixtures* sont différentes et définies dans des sous-classes." #: ../Doc/library/unittest.rst:1601 msgid "" @@ -2042,10 +2577,14 @@ msgid "" "`load_tests protocol`_. The *pattern* argument is passed as the third " "argument to ``load_tests``." msgstr "" +"Si un module fournit une fonction ``load_tests``, il est appelé pour charger " +"les tests. Cela permet aux modules de personnaliser le chargement des tests. " +"C'est le protocole `load_tests protocol`_. L'argument *pattern* est passé " +"comme troisième argument à ``load_tests``." #: ../Doc/library/unittest.rst:1606 msgid "Support for ``load_tests`` added." -msgstr "" +msgstr "Ajout de la prise en charge de ``load_tests``." #: ../Doc/library/unittest.rst:1609 msgid "" @@ -2054,6 +2593,10 @@ msgid "" "compatibility. The method also now accepts a keyword-only argument " "*pattern* which is passed to ``load_tests`` as the third argument." msgstr "" +"L'argument par défaut non documenté et non officiel *use_load_tests* est " +"déprécié et ignoré, bien qu'il soit toujours accepté pour la compatibilité " +"descendante. La méthode accepte aussi maintenant un argument *pattern* qui " +"est passé à ``load_tests`` comme troisième argument." #: ../Doc/library/unittest.rst:1618 msgid "Return a suite of all tests cases given a string specifier." @@ -2069,6 +2612,14 @@ msgid "" "up as \"a test method within a test case class\", rather than \"a callable " "object\"." msgstr "" +"Le spécificateur *name* est un \"nom pointillé\" qui peut être résolu soit " +"par un module, une classe de cas de test, une méthode de test dans une " +"classe de cas de test, une instance de :class:`TestSuite`, ou un objet " +"appelable qui retourne une instance de classe :class:`TestCase` ou de " +"classe :class:`TestSuite`. Ces contrôles sont appliqués dans l'ordre indiqué " +"ici, c'est-à-dire qu'une méthode sur une classe de cas de test possible sera " +"choisie comme \"méthode de test dans une classe de cas de test\", plutôt que " +"comme \"un objet appelable\"." #: ../Doc/library/unittest.rst:1628 msgid "" @@ -2082,10 +2633,19 @@ msgid "" "modules and packages which have not been imported; they will be imported as " "a side-effect." msgstr "" +"Par exemple, si vous avez un module :mod:`SampleTests` contenant une classe :" +"class:`TestCase` (classe dérivée de la classe :class:`SampleTestCase`) avec " +"trois méthodes de test (:meth:`test_one`, :meth:`test_two` et :meth:" +"`test_three`), l'élément spécificateur `SampleTests.sampleTestCase` renvoie " +"une suite qui va exécuter les trois méthodes de tests. L'utilisation du " +"spécificateur `SampleTests.SampleTestCase.test_two` permettrait de retourner " +"une suite de tests qui ne lancerait que la méthode test :meth:`test_two`. Le " +"spécificateur peut se référer à des modules et packages qui n'ont pas été " +"importés. Ils seront importés par un effet de bord." #: ../Doc/library/unittest.rst:1638 msgid "The method optionally resolves *name* relative to the given *module*." -msgstr "" +msgstr "La méthode résout facultativement *name* relatif au *module* donné." #: ../Doc/library/unittest.rst:1640 msgid "" @@ -2093,6 +2653,10 @@ msgid "" "*name* then a synthetic test that raises that error when run will be " "returned. These errors are included in the errors accumulated by self.errors." msgstr "" +"Si une :exc:`ImportError` ou :exc:`AttributeError` se produit pendant la " +"traversée de *name*, un test synthétique qui enrichie l'erreur produite lors " +"de l'exécution est renvoyé. Ces erreurs sont incluses dans les erreurs " +"accumulées par *self.errors*." #: ../Doc/library/unittest.rst:1649 msgid "" @@ -2100,12 +2664,17 @@ msgid "" "than a single name. The return value is a test suite which supports all the " "tests defined for each name." msgstr "" +"Similaire à :meth:`loadTestsFromName`, mais prend une séquence de noms " +"plutôt qu'un seul nom. La valeur renvoyée est une suite de tests qui gère " +"tous les tests définis pour chaque nom." #: ../Doc/library/unittest.rst:1656 msgid "" "Return a sorted sequence of method names found within *testCaseClass*; this " "should be a subclass of :class:`TestCase`." msgstr "" +"Renvoie une séquence triée de noms de méthodes trouvés dans " +"*testCaseClass* ; ceci doit être une sous-classe de :class:`TestCase`." #: ../Doc/library/unittest.rst:1662 msgid "" @@ -2115,6 +2684,11 @@ msgid "" "pattern matching.) Only module names that are importable (i.e. are valid " "Python identifiers) will be loaded." msgstr "" +"Trouve tous les modules de test en parcourant les sous-répertoires du " +"répertoire de démarrage spécifié, et renvoie un objet *TestSuite* qui les " +"contient. Seuls les fichiers de test qui correspondent à *pattern* sont " +"chargés. Seuls les noms de modules qui sont importables (c'est-à-dire qui " +"sont des identifiants Python valides) sont chargés." #: ../Doc/library/unittest.rst:1668 msgid "" @@ -2122,6 +2696,9 @@ msgid "" "the start directory is not the top level directory then the top level " "directory must be specified separately." msgstr "" +"Tous les modules de test doivent être importables depuis la racine du " +"projet. Si le répertoire de démarrage n'est pas la racine, le répertoire " +"racine doit être spécifié séparément." #: ../Doc/library/unittest.rst:1672 msgid "" @@ -2130,6 +2707,11 @@ msgid "" "import failure is due to :exc:`SkipTest` being raised, it will be recorded " "as a skip instead of an error." msgstr "" +"Si l'importation d'un module échoue, par exemple en raison d'une erreur de " +"syntaxe, celle-ci est alors enregistrée comme une erreur unique et la " +"découverte se poursuit. Si l'échec de l'importation est dû au fait que :exc:" +"`SkipTest` est levé, il est enregistré comme un saut plutôt que comme un " +"message d'erreur." #: ../Doc/library/unittest.rst:1677 msgid "" @@ -2140,12 +2722,21 @@ msgid "" "checked for tests once during an invocation, even if the load_tests function " "itself calls ``loader.discover``." msgstr "" +"Si un paquet (un répertoire contenant un fichier nommé :file:`__init__.py`) " +"est trouvé, le paquet est alors vérifié pour une fonction ``load_tests``. Si " +"elle existe, elle s'appellera ``package.load_tests(loader, tests, " +"pattern)``. Le mécanisme de découverte de test prend soin de s'assurer qu'un " +"paquet n'est vérifié qu'une seule fois au cours d'une invocation, même si la " +"fonction *load_tests* appelle elle-même ``loader.discover``." #: ../Doc/library/unittest.rst:1685 msgid "" "If ``load_tests`` exists then discovery does *not* recurse into the package, " "``load_tests`` is responsible for loading all tests in the package." msgstr "" +"Si ``load_tests`` existe alors la découverte ne poursuit pas la récursion " +"dans le paquet, ``load_tests`` a la responsabilité de charger tous les tests " +"dans le paquet." #: ../Doc/library/unittest.rst:1689 msgid "" @@ -2154,10 +2745,14 @@ msgid "" "``load_tests`` does not need to pass this argument in to ``loader." "discover()``." msgstr "" +"Le motif n'est délibérément pas stocké en tant qu'attribut du chargeur afin " +"que les paquets puissent continuer à être découverts eux-mêmes. " +"*top_level_dir* est stocké de sorte que ``load_tests`` n'a pas besoin de " +"passer cet argument a ``loader. discover()``." #: ../Doc/library/unittest.rst:1694 msgid "*start_dir* can be a dotted module name as well as a directory." -msgstr "" +msgstr "*start_dir* peut être un nom de module ainsi qu'un répertoire." #: ../Doc/library/unittest.rst:1698 msgid "" @@ -2167,6 +2762,12 @@ msgid "" "even if the underlying file system's ordering is not dependent on file " "name." msgstr "" +"Les modules qui lèvent :exc:`SkipTest` lors de l'importation sont " +"enregistrés comme des sauts et non des erreurs. Le mécanisme de découverte " +"fonctionne pour les :term:`paquets-espaces de nommage `. " +"Les chemins sont triés avant d'être importés pour que l'ordre d'exécution " +"soit le même, même si l'ordre du système de fichiers sous-jacent ne dépend " +"pas du nom du fichier." #: ../Doc/library/unittest.rst:1706 msgid "" @@ -2174,30 +2775,43 @@ msgid "" "their path matches *pattern*, because it is impossible for a package name to " "match the default pattern." msgstr "" +"Les paquets trouvés sont maintenant vérifiés pour ``load_tests`` " +"indépendamment du fait que leur chemin d'accès corresponde ou non à " +"*pattern*, car il est impossible pour un nom de paquet de correspondre au " +"motif par défaut." #: ../Doc/library/unittest.rst:1712 msgid "" "The following attributes of a :class:`TestLoader` can be configured either " "by subclassing or assignment on an instance:" msgstr "" +"Les attributs suivants d'une classe :class:`TestLoader` peuvent être " +"configurés soit par héritage, soit par affectation sur une instance  ::" #: ../Doc/library/unittest.rst:1718 msgid "" "String giving the prefix of method names which will be interpreted as test " "methods. The default value is ``'test'``." msgstr "" +"Chaîne donnant le préfixe des noms de méthodes qui seront interprétés comme " +"méthodes de test. La valeur par défaut est ``'test'``." #: ../Doc/library/unittest.rst:1721 msgid "" "This affects :meth:`getTestCaseNames` and all the :meth:`loadTestsFrom\\*` " "methods." msgstr "" +"Ceci affecte les méthodes :meth:`getTestCaseNames` et toutes les méthodes :" +"meth:`loadTestsFrom\\*`." #: ../Doc/library/unittest.rst:1727 msgid "" "Function to be used to compare method names when sorting them in :meth:" "`getTestCaseNames` and all the :meth:`loadTestsFrom\\*` methods." msgstr "" +"Fonction à utiliser pour comparer les noms de méthodes lors de leur tri dans " +"les méthodes :meth:`getTestCaseNames` et toutes les méthodes :meth:" +"`loadTestsFrom\\*`." #: ../Doc/library/unittest.rst:1733 msgid "" @@ -2205,16 +2819,21 @@ msgid "" "methods on the resulting object are needed. The default value is the :class:" "`TestSuite` class." msgstr "" +"Objet appelable qui construit une suite de tests à partir d'une liste de " +"tests. Aucune méthode sur l'objet résultant n'est nécessaire. La valeur par " +"défaut est la classe :class:`TestSuite`." #: ../Doc/library/unittest.rst:1737 msgid "This affects all the :meth:`loadTestsFrom\\*` methods." -msgstr "" +msgstr "Cela affecte toutes les méthodes :meth:`loadTestsFrom\\*`." #: ../Doc/library/unittest.rst:1742 msgid "" "This class is used to compile information about which tests have succeeded " "and which have failed." msgstr "" +"Cette classe est utilisée pour compiler des informations sur les tests qui " +"ont réussi et ceux qui ont échoué." #: ../Doc/library/unittest.rst:1745 msgid "" @@ -2223,6 +2842,10 @@ msgid "" "properly recorded; test authors do not need to worry about recording the " "outcome of tests." msgstr "" +"Un objet :class:`TestResult` stocke les résultats d'un ensemble de tests. " +"Les classes :class:`TestCase` et :class:`TestSuite` s'assurent que les " +"résultats sont correctement enregistrés. Les auteurs du test n'ont pas à se " +"soucier de l'enregistrement des résultats des tests." #: ../Doc/library/unittest.rst:1750 msgid "" @@ -2231,12 +2854,20 @@ msgid "" "purposes; a :class:`TestResult` instance is returned by the :meth:" "`TestRunner.run` method for this purpose." msgstr "" +"Les cadriciels de test construits sur :mod:`unittest` peuvent nécessiter " +"l'accès à l'objet :class:`TestResult` généré en exécutant un ensemble de " +"tests à des fins de génération de comptes-rendu. Une instance de :class:" +"`TestResult` est alors renvoyée par la méthode :meth:`TestRunner.run` à " +"cette fin." #: ../Doc/library/unittest.rst:1755 msgid "" ":class:`TestResult` instances have the following attributes that will be of " "interest when inspecting the results of running a set of tests:" msgstr "" +"Les instance de :class:`TestResult` ont les attributs suivants qui sont " +"intéressant pour l'inspection des résultats de l'exécution d'un ensemble de " +"tests  ::" #: ../Doc/library/unittest.rst:1761 msgid "" @@ -2244,6 +2875,9 @@ msgid "" "holding formatted tracebacks. Each tuple represents a test which raised an " "unexpected exception." msgstr "" +"Une liste contenant un couple d'instances de :class:`TestCase` et une " +"chaînes de caractères contenant des traces formatées. Chaque couple " +"représente un test qui a levé une exception inattendue." #: ../Doc/library/unittest.rst:1767 msgid "" @@ -2251,12 +2885,18 @@ msgid "" "holding formatted tracebacks. Each tuple represents a test where a failure " "was explicitly signalled using the :meth:`TestCase.assert\\*` methods." msgstr "" +"Une liste contenant un couple d'instances de :class:`TestCase` et une " +"chaînes de caractères contenant des traces formatées. Chaque tuple " +"représente un test où un échec a été explicitement signalé en utilisant les " +"méthodes :meth:`TestCase.assert\\*`." #: ../Doc/library/unittest.rst:1773 msgid "" "A list containing 2-tuples of :class:`TestCase` instances and strings " "holding the reason for skipping the test." msgstr "" +"Une liste contenant un couple d'instances de :class:`TestCase` et une " +"chaînes de caractères contenant la raison de l'omission du test." #: ../Doc/library/unittest.rst:1780 msgid "" @@ -2264,21 +2904,28 @@ msgid "" "holding formatted tracebacks. Each tuple represents an expected failure of " "the test case." msgstr "" +"Une liste contenant un couple d'instance :class:`TestCase` et une chaînes de " +"caractères contenant des traces formatées. Chaque coulpe représente un échec " +"attendu du scénario de test." #: ../Doc/library/unittest.rst:1786 msgid "" "A list containing :class:`TestCase` instances that were marked as expected " "failures, but succeeded." msgstr "" +"Une liste contenant les instances :class:`TestCase` qui ont été marquées " +"comme des échecs attendus, mais qui ont réussi." #: ../Doc/library/unittest.rst:1791 msgid "" "Set to ``True`` when the execution of tests should stop by :meth:`stop`." msgstr "" +"A positionner sur ``True`` quand l'exécution des tests doit être arrêter " +"par :meth:`stop`." #: ../Doc/library/unittest.rst:1795 msgid "The total number of tests run so far." -msgstr "" +msgstr "Le nombre total de tests effectués jusqu'à présent." #: ../Doc/library/unittest.rst:1799 msgid "" @@ -2288,28 +2935,41 @@ msgid "" "if the test fails or errors. Any output is also attached to the failure / " "error message." msgstr "" +"S'il est défini sur *true*, ``sys.stdout`` et ``sys.stderr`` sont mis dans " +"un tampon entre les appels de :meth:`startTest` et :meth:`stopTest`. La " +"sortie collectée est répercutée sur les sorties ``sys.stdout`` et ``sys." +"stderr`` réels uniquement en cas d'échec ou d'erreur du test. Toute sortie " +"est également attachée au message d'erreur." #: ../Doc/library/unittest.rst:1808 msgid "" "If set to true :meth:`stop` will be called on the first failure or error, " "halting the test run." msgstr "" +"Si la valeur est *true* :meth:`stop` est appelée lors de la première " +"défaillance ou erreur, ce qui interrompt le test en cours d'exécution." #: ../Doc/library/unittest.rst:1815 msgid "If set to true then local variables will be shown in tracebacks." msgstr "" +"Si la valeur est *true*, les variables locales sont affichées dans les " +"traces d'appels." #: ../Doc/library/unittest.rst:1821 msgid "" "Return ``True`` if all tests run so far have passed, otherwise returns " "``False``." msgstr "" +"Renvoie ``True`` si tous les tests effectués jusqu'à présent ont réussi, " +"sinon renvoie ``False``." #: ../Doc/library/unittest.rst:1824 msgid "" "Returns ``False`` if there were any :attr:`unexpectedSuccesses` from tests " "marked with the :func:`expectedFailure` decorator." msgstr "" +"Renvoie ``False`` s'il y a eu des :attr:`unexpectedSuccesses` dans les tests " +"annotés avec le décorateur :func:`expectedFailure`." #: ../Doc/library/unittest.rst:1830 msgid "" @@ -2318,6 +2978,10 @@ msgid "" "`TestRunner` objects should respect this flag and return without running any " "additional tests." msgstr "" +"Cette méthode peut être appelée pour signaler que l'ensemble des tests en " +"cours d'exécution doit être annulé en définissant l'attribut :attr:" +"`shouldStop` sur ``True``. Les instances de :class:`TestRunner` doivent " +"respecter ce signal et se terminer sans exécuter de tests supplémentaires." #: ../Doc/library/unittest.rst:1835 msgid "" @@ -2326,6 +2990,10 @@ msgid "" "keyboard. Interactive tools which provide :class:`TestRunner` " "implementations can use this in a similar manner." msgstr "" +"Par exemple, cette fonctionnalité est utilisée par la classe :class:" +"`TextTestRunner` pour arrêter le cadriciel de test lorsque l'utilisateur " +"lance une interruption clavier. Les outils interactifs qui fournissent des " +"implémentations de :class:`TestRunner` peuvent l'utiliser de la même manière." #: ../Doc/library/unittest.rst:1840 msgid "" @@ -2334,24 +3002,32 @@ msgid "" "additional reporting requirements. This is particularly useful in building " "tools which support interactive reporting while tests are being run." msgstr "" +"Les méthodes suivantes de la classe :class:`TestResult` sont utilisées pour " +"maintenir les structures de données internes, et peuvent être étendues dans " +"des sous-classes pour gérer des exigences supplémentaires en termes de " +"compte-rendu. Cette fonction est particulièrement utile pour créer des " +"outils qui prennent en charge la génération de rapports interactifs pendant " +"l'exécution des tests." #: ../Doc/library/unittest.rst:1848 msgid "Called when the test case *test* is about to be run." msgstr "" +"Appelé lorsque le scénario de test *test* est sur le point d'être exécuté." #: ../Doc/library/unittest.rst:1852 msgid "" "Called after the test case *test* has been executed, regardless of the " "outcome." msgstr "" +"Appelé après l'exécution du cas de test *test*, quel qu'en soit le résultat." #: ../Doc/library/unittest.rst:1857 msgid "Called once before any tests are executed." -msgstr "" +msgstr "Appelé une fois avant l'exécution des tests." #: ../Doc/library/unittest.rst:1864 msgid "Called once after all tests are executed." -msgstr "" +msgstr "Appelé une fois après l'exécution des tests." #: ../Doc/library/unittest.rst:1871 msgid "" @@ -2359,6 +3035,9 @@ msgid "" "tuple of the form returned by :func:`sys.exc_info`: ``(type, value, " "traceback)``." msgstr "" +"Appelé lorsque le cas de test *test* soulève une exception inattendue. *err* " +"est un couple du formulaire renvoyé par :func:`sys.exc_info` : ``(type, " +"valeur, traceback)``." #: ../Doc/library/unittest.rst:1875 msgid "" @@ -2366,12 +3045,18 @@ msgid "" "instance's :attr:`errors` attribute, where *formatted_err* is a formatted " "traceback derived from *err*." msgstr "" +"L'implémentation par défaut ajoute un couple ``(test, formatted_err)`` à " +"l'attribut :attr:`errors` de l'instance, où *formatted_err* est une trace " +"formatée à partir de *err*." #: ../Doc/library/unittest.rst:1882 msgid "" "Called when the test case *test* signals a failure. *err* is a tuple of the " "form returned by :func:`sys.exc_info`: ``(type, value, traceback)``." msgstr "" +"Appelé lorsque le cas de test *test* soulève une exception inattendue. *err* " +"est un triplet de la même forme que celui renvoyé par :func:`sys.exc_info` : " +"``(type, valeur, traceback)``." #: ../Doc/library/unittest.rst:1885 msgid "" @@ -2379,32 +3064,41 @@ msgid "" "instance's :attr:`failures` attribute, where *formatted_err* is a formatted " "traceback derived from *err*." msgstr "" +"L'implémentation par défaut ajoute un couple ``(test, formatted_err)`` à " +"l'attribut :attr:`errors` de l'instance, où *formatted_err* est une trace " +"formatée à partir de *err*." #: ../Doc/library/unittest.rst:1892 msgid "Called when the test case *test* succeeds." -msgstr "" +msgstr "Appelé lorsque le scénario de test *test* réussit." #: ../Doc/library/unittest.rst:1894 msgid "The default implementation does nothing." -msgstr "" +msgstr "L'implémentation par défaut ne fait rien." #: ../Doc/library/unittest.rst:1899 msgid "" "Called when the test case *test* is skipped. *reason* is the reason the " "test gave for skipping." msgstr "" +"Appelé lorsque le scénario de test *test* est ignoré. *raison* est la raison " +"pour laquelle le test donné à été ignoré." #: ../Doc/library/unittest.rst:1902 msgid "" "The default implementation appends a tuple ``(test, reason)`` to the " "instance's :attr:`skipped` attribute." msgstr "" +"L'implémentation par défaut ajoute un couple ``(test, raison)`` à " +"l'attribut :attr:`skipped` de l'instance." #: ../Doc/library/unittest.rst:1908 msgid "" "Called when the test case *test* fails, but was marked with the :func:" "`expectedFailure` decorator." msgstr "" +"Appelé lorsque le scénario de test *test* échoue, mais qui a été marqué avec " +"le décorateur :func:`expectedFailure`." #: ../Doc/library/unittest.rst:1911 msgid "" @@ -2412,18 +3106,25 @@ msgid "" "instance's :attr:`expectedFailures` attribute, where *formatted_err* is a " "formatted traceback derived from *err*." msgstr "" +"L'implémentation par défaut ajoute un couple ``(test, formatted_err)`` à " +"l'attribut :attr:`errors` de l'instance, où *formatted_err* est une trace " +"formatée à partir de *err*." #: ../Doc/library/unittest.rst:1918 msgid "" "Called when the test case *test* was marked with the :func:`expectedFailure` " "decorator, but succeeded." msgstr "" +"Appelé lorsque le scénario de test *test* réussit, mais que ce scénario a " +"été marqué avec le décorateur :func:`expectedFailure`." #: ../Doc/library/unittest.rst:1921 msgid "" "The default implementation appends the test to the instance's :attr:" "`unexpectedSuccesses` attribute." msgstr "" +"L'implémentation par défaut ajoute le test à l'attribut :attr:" +"`unexpectedSuccesses` de l'instance." #: ../Doc/library/unittest.rst:1927 msgid "" @@ -2431,6 +3132,9 @@ msgid "" "the test method. *subtest* is a custom :class:`TestCase` instance " "describing the subtest." msgstr "" +"Appelé à la fin d'un sous-test. *test* est le cas de test correspondant à la " +"méthode de test. *subtest* est une instance dérivée de :class:`TestCase` " +"décrivant le sous-test." #: ../Doc/library/unittest.rst:1931 msgid "" @@ -2438,24 +3142,33 @@ msgid "" "with an exception where *outcome* is a tuple of the form returned by :func:" "`sys.exc_info`: ``(type, value, traceback)``." msgstr "" +"Si *outcome* est :const:`None`, le sous-test a réussi. Sinon, il a échoué " +"avec une exception où *outcome* est un triplet du formulaire renvoyé par :" +"func:`sys.exc_info` : ``(type, valeur, traceback)``." #: ../Doc/library/unittest.rst:1935 msgid "" "The default implementation does nothing when the outcome is a success, and " "records subtest failures as normal failures." msgstr "" +"L'implémentation par défaut ne fait rien lorsque le résultat est un succès, " +"et enregistre les échecs de sous-test comme des échecs normaux." #: ../Doc/library/unittest.rst:1943 msgid "" "A concrete implementation of :class:`TestResult` used by the :class:" "`TextTestRunner`." msgstr "" +"Une implémentation concrète de :class:`TestResult` utilisé par la classe :" +"class:`TextTestRunner`." #: ../Doc/library/unittest.rst:1946 msgid "" "This class was previously named ``_TextTestResult``. The old name still " "exists as an alias but is deprecated." msgstr "" +"Cette classe s'appelait auparavant ``_TextTestResult``. L'ancien nom existe " +"toujours en tant qu'alias, mais il est obsolète." #: ../Doc/library/unittest.rst:1953 msgid "" @@ -2463,6 +3176,10 @@ msgid "" "customization of the :class:`TestLoader` is needed, this instance can be " "used instead of repeatedly creating new instances." msgstr "" +"Instance de la classe :class:`TestLoader` destinée à être partagée. Si " +"aucune personnalisation de la classe :class:`TestLoader` n'est nécessaire, " +"cette instance peut être utilisée au lieu de créer plusieurs fois de " +"nouvelles instances." #: ../Doc/library/unittest.rst:1961 msgid "" @@ -2474,6 +3191,14 @@ msgid "" "as the interface to construct runners changes when features are added to " "unittest." msgstr "" +"Une implémentation de base d'un lanceur de test qui fournit les résultats " +"dans un flux. Si *stream* est ``None``, par défaut, :data:`sys.stderr` est " +"utilisé comme flux de sortie. Cette classe a quelques paramètres " +"configurables, mais est essentiellement très simple. Les applications " +"graphiques qui exécutent des suites de tests doivent fournir des " +"implémentations alternatives. De telles implémentations doivent accepter " +"``**kwargs`` car l'interface pour construire les lanceurs change lorsque des " +"fonctionnalités sont ajoutées à *unittest*." #: ../Doc/library/unittest.rst:1968 msgid "" @@ -2489,17 +3214,19 @@ msgstr "" #: ../Doc/library/unittest.rst:1978 msgid "Added the ``warnings`` argument." -msgstr "" +msgstr "Ajout du paramètre ``warnings``." #: ../Doc/library/unittest.rst:1981 msgid "" "The default stream is set to :data:`sys.stderr` at instantiation time rather " "than import time." msgstr "" +"Le flux par défaut est défini sur :data:`sys.stderr` au moment de " +"l'instanciation plutôt qu'à l'importation." #: ../Doc/library/unittest.rst:1985 msgid "Added the tb_locals parameter." -msgstr "" +msgstr "Ajout du paramètre *tb_locals*." #: ../Doc/library/unittest.rst:1990 msgid "" @@ -2507,6 +3234,9 @@ msgid "" "is not intended to be called directly, but can be overridden in subclasses " "to provide a custom ``TestResult``." msgstr "" +"Cette méthode renvoie l'instance de ``TestResult`` utilisée par :meth:`run`. " +"Il n'est pas destiné à être appelé directement, mais peut être surchargée " +"dans des sous-classes pour fournir un ``TestResult`` personnalisé." #: ../Doc/library/unittest.rst:1994 msgid "" @@ -2515,6 +3245,10 @@ msgid "" "to :class:`TextTestResult` if no ``resultclass`` is provided. The result " "class is instantiated with the following arguments::" msgstr "" +"``_makeResult()`` instancie la classe ou l'appelable passé dans le " +"constructeur ``TextTestRunner`` comme argument ``resultclass``. Il vaut par " +"défaut :class:`TextTestResult` si aucune ``resultclass`` n'est fournie. La " +"classe de résultat est instanciée avec les arguments suivants  ::" #: ../Doc/library/unittest.rst:2003 msgid "" @@ -2531,12 +3265,19 @@ msgid "" "simplest use for this function is to include the following line at the end " "of a test script::" msgstr "" +"Un programme en ligne de commande qui charge un ensemble de tests à partir " +"du *module* et les exécute. L'utilisation principale est de rendre les " +"modules de test facilement exécutables. L'utilisation la plus simple pour " +"cette fonction est d'inclure la ligne suivante à la fin d'un script de test " +" ::" #: ../Doc/library/unittest.rst:2022 msgid "" "You can run tests with more detailed information by passing in the verbosity " "argument::" msgstr "" +"Vous pouvez exécuter des tests avec des informations plus détaillées en " +"utilisant l'option de verbosité  ::" #: ../Doc/library/unittest.rst:2028 msgid "" @@ -2545,6 +3286,10 @@ msgid "" "not specified or ``None`` and no test names are provided via *argv*, all " "tests found in *module* are run." msgstr "" +"L'argument *defaultTest* est soit le nom d'un seul test, soit un itérable de " +"noms de test à exécuter si aucun nom de test n'est spécifié via *argv*. Si " +"aucun nom de test n'est fourni via *argv*, tous les tests trouvés dans " +"*module* sont exécutés." #: ../Doc/library/unittest.rst:2033 msgid "" @@ -2552,6 +3297,9 @@ msgid "" "first element being the program name. If not specified or ``None``, the " "values of :data:`sys.argv` are used." msgstr "" +"L'argument *argv* peut être une liste d'options passées au programme, le " +"premier élément étant le nom du programme. S'il n'est pas spécifié ou vaut " +"``None``, les valeurs de :data:`sys.argv` sont utilisées." #: ../Doc/library/unittest.rst:2037 msgid "" @@ -2559,12 +3307,18 @@ msgid "" "created instance of it. By default ``main`` calls :func:`sys.exit` with an " "exit code indicating success or failure of the tests run." msgstr "" +"L'argument *testRunner* peut être soit une classe de lanceur de test, soit " +"une instance déjà créée de celle-ci. Par défaut, ``main`` appelle :func:`sys." +"exit` avec un code de sortie indiquant le succès ou l'échec des tests " +"exécutés." #: ../Doc/library/unittest.rst:2041 msgid "" "The *testLoader* argument has to be a :class:`TestLoader` instance, and " "defaults to :data:`defaultTestLoader`." msgstr "" +"L'argument *testLoader* doit être une instance de :class:`TestLoader`, et " +"par défaut de :data:`defaultTestLoader`." #: ../Doc/library/unittest.rst:2044 msgid "" @@ -2572,12 +3326,17 @@ msgid "" "the argument ``exit=False``. This displays the result on standard output " "without calling :func:`sys.exit`::" msgstr "" +"Les ``main`` sont utilisés à partir de l'interpréteur interactif en passant " +"dans l'argument ``exit=False``. Ceci affiche le résultat sur la sortie " +"standard sans appeler :func:`sys.exit`  ::" #: ../Doc/library/unittest.rst:2051 msgid "" "The *failfast*, *catchbreak* and *buffer* parameters have the same effect as " "the same-name `command-line options`_." msgstr "" +"Les paramètres *failfast*, *catchbreak* et *buffer* ont le même effet que la " +"même option en ligne de commande `command-line options`_." #: ../Doc/library/unittest.rst:2054 msgid "" @@ -2592,26 +3351,33 @@ msgid "" "Calling ``main`` actually returns an instance of the ``TestProgram`` class. " "This stores the result of the tests run as the ``result`` attribute." msgstr "" +"L'appel de ``main`` renvoie en fait une instance de la classe " +"``TestProgram``. Le résultat des tests effectués est enregistré sous " +"l'attribut ``result``." #: ../Doc/library/unittest.rst:2062 msgid "The *exit* parameter was added." -msgstr "" +msgstr "Ajout du paramètre *exit*." #: ../Doc/library/unittest.rst:2065 msgid "" "The *verbosity*, *failfast*, *catchbreak*, *buffer* and *warnings* " "parameters were added." msgstr "" +"Ajout des paramètres *verbosity*, *failfast*, *catchbreak*, *buffer* et " +"*warnings*." #: ../Doc/library/unittest.rst:2069 msgid "" "The *defaultTest* parameter was changed to also accept an iterable of test " "names." msgstr "" +"Le paramètre *defaultTest* a été modifié pour accepter également un itérable " +"de noms de test." #: ../Doc/library/unittest.rst:2075 msgid "load_tests Protocol" -msgstr "" +msgstr "Protocole de chargement des tests (*load_tests Protocol*)" #: ../Doc/library/unittest.rst:2079 msgid "" @@ -2619,22 +3385,29 @@ msgid "" "normal test runs or test discovery by implementing a function called " "``load_tests``." msgstr "" +"Les modules ou paquets peuvent personnaliser la façon dont les tests sont " +"chargés à partir de ceux-ci pendant l'exécution des tests ou pendant la " +"découverte de tests en implémentant une fonction appelée ``load_tests``." #: ../Doc/library/unittest.rst:2082 msgid "" "If a test module defines ``load_tests`` it will be called by :meth:" "`TestLoader.loadTestsFromModule` with the following arguments::" msgstr "" +"Si un module de test définit ``load_tests`` il est appelé par :meth:" +"`TestLoader.loadTestsFromModule` avec les arguments suivants  ::" #: ../Doc/library/unittest.rst:2087 msgid "" "where *pattern* is passed straight through from ``loadTestsFromModule``. It " "defaults to ``None``." msgstr "" +"où *pattern* est passé directement depuis ``loadTestsFromModule``. La valeur " +"par défaut est ``None``." #: ../Doc/library/unittest.rst:2090 msgid "It should return a :class:`TestSuite`." -msgstr "" +msgstr "Elle doit renvoyer une classe :class:`TestSuite`." #: ../Doc/library/unittest.rst:2092 msgid "" @@ -2644,12 +3417,20 @@ msgid "" "from the standard set of tests. The third argument is used when loading " "packages as part of test discovery." msgstr "" +"*loader* est l'instance de :class:`TestLoader` qui effectue le chargement. " +"*standard_tests* sont les tests qui sont chargés par défaut depuis le " +"module. Il est courant que les modules de test veuillent seulement ajouter " +"ou supprimer des tests de l'ensemble standard de tests. Le troisième " +"argument est utilisé lors du chargement de paquets dans le cadre de la " +"découverte de tests." #: ../Doc/library/unittest.rst:2098 msgid "" "A typical ``load_tests`` function that loads tests from a specific set of :" "class:`TestCase` classes may look like::" msgstr "" +"Une fonction typique de ``load_tests`` qui charge les tests d'un ensemble " +"spécifique de classes :class:`TestCase` peut ressembler à  ::" #: ../Doc/library/unittest.rst:2110 msgid "" @@ -2660,6 +3441,13 @@ msgid "" "just another directory. Otherwise, discovery of the package's tests will be " "left up to ``load_tests`` which is called with the following arguments::" msgstr "" +"Si la découverte est lancée dans un répertoire contenant un paquet, soit à " +"partir de la ligne de commande, soit en appelant :meth:`TestLoader." +"discover`, alors le système recherche dans le fichier du paquet :file:" +"`__init__.py` la fonction ``load_tests``. Si cette fonction n'existe pas, la " +"découverte se poursuit dans le paquet comme si c'était juste un autre " +"répertoire. Sinon, la découverte des tests du paquet est effectuée par " +"``load_tests`` qui est appelé avec les arguments suivants  ::" #: ../Doc/library/unittest.rst:2119 msgid "" @@ -2667,6 +3455,9 @@ msgid "" "package. (``standard_tests`` will only contain tests collected from :file:" "`__init__.py`.)" msgstr "" +"Doit retourner une classe :class:`TestSuite` représentant tous les tests du " +"paquet. (``standard_tests`` ne contient que les tests collectés dans le " +"fichier :file:`__init__.py`)." #: ../Doc/library/unittest.rst:2123 msgid "" @@ -2674,16 +3465,22 @@ msgid "" "continue (and potentially modify) test discovery. A 'do nothing' " "``load_tests`` function for a test package would look like::" msgstr "" +"Comme le motif est passé à ``load_tests``, le paquet est libre de continuer " +"(et potentiellement de modifier) la découverte des tests. Une fonction « ne " +"rien faire » ``load_tests`` pour un paquet de test ressemblerait à  ::" #: ../Doc/library/unittest.rst:2134 msgid "" "Discovery no longer checks package names for matching *pattern* due to the " "impossibility of package names matching the default pattern." msgstr "" +"La découverte de test ne vérifie plus que les noms de paquets correspondent " +"à *pattern* en raison de l'impossibilité de trouver des noms de paquets " +"correspondant au motif par défaut." #: ../Doc/library/unittest.rst:2141 msgid "Class and Module Fixtures" -msgstr "" +msgstr "Classes et modules d'aménagements des tests" #: ../Doc/library/unittest.rst:2143 msgid "" @@ -2692,6 +3489,10 @@ msgid "" "from the previous class (if there is one) is called, followed by :meth:" "`setUpClass` from the new class." msgstr "" +"Les classes et modules d'aménagements des tests sont implémentés dans :class:" +"`TestSuite`. Lorsque la suite de tests rencontre un test d'une nouvelle " +"classe, alors :meth:`tearDownClass` de la classe précédente (s'il y en a " +"une) est appelé, suivi de :meth:`setUpClass` de la nouvelle classe." #: ../Doc/library/unittest.rst:2148 msgid "" @@ -2699,12 +3500,17 @@ msgid "" "``tearDownModule`` from the previous module is run, followed by " "``setUpModule`` from the new module." msgstr "" +"De même, si un test provient d'un module différent du test précédent, alors " +"``tearDownModule`` du module précédent est exécuté, suivi par " +"``setUpModule`` du nouveau module." #: ../Doc/library/unittest.rst:2152 msgid "" "After all the tests have run the final ``tearDownClass`` and " "``tearDownModule`` are run." msgstr "" +"Après que tous les tests ont été exécutés, les ``tearDownClass`` et " +"``tearDownModule`` finaux sont exécutés." #: ../Doc/library/unittest.rst:2155 msgid "" @@ -2712,6 +3518,9 @@ msgid "" "test parallelization and they break test isolation. They should be used with " "care." msgstr "" +"Notez que les aménagements de tests partagés ne fonctionnent pas bien avec " +"de « potentielles » fonctions comme la parallélisation de test et qu'ils " +"brisent l'isolation des tests. Ils doivent être utilisés avec parcimonie." #: ../Doc/library/unittest.rst:2158 msgid "" @@ -2722,6 +3531,13 @@ msgid "" "modules and classes are adjacent to each other, then these shared fixture " "functions may be called multiple times in a single test run." msgstr "" +"L'ordre par défaut des tests créés par les chargeurs de tests unitaires est " +"de regrouper tous les tests des mêmes modules et classes. Cela à pour " +"conséquence que ``setUpClass`` / ``setUpModule`` (etc) sont appelé " +"exactement une fois par classe et module. Si vous rendez l'ordre aléatoire, " +"de sorte que les tests de différents modules et classes soient adjacents les " +"uns aux autres, alors ces fonctions d'aménagements partagées peuvent être " +"appelées plusieurs fois dans un même test." #: ../Doc/library/unittest.rst:2165 msgid "" @@ -2729,6 +3545,10 @@ msgid "" "ordering. A ``BaseTestSuite`` still exists for frameworks that don't want to " "support shared fixtures." msgstr "" +"Les aménagements de tests partagés ne sont pas conçus pour fonctionner avec " +"des suites dont la commande n'est pas standard. Une ``BaseTestSuite`` existe " +"toujours pour les cadriciels qui ne veulent pas gérer les aménagements de " +"tests partagés." #: ../Doc/library/unittest.rst:2169 msgid "" @@ -2739,14 +3559,23 @@ msgid "" "are just using the standard unittest test runner then this detail doesn't " "matter, but if you are a framework author it may be relevant." msgstr "" +"S'il y a des exceptions levées pendant l'une des fonctions d'aménagement de " +"tests partagés, le test est signalé comme étant en erreur. Parce qu'il n'y a " +"pas d'instance de test correspondante, un objet ``_ErrorHolder`` (qui a la " +"même interface qu'une classe :class:`TestCase`) est créé pour représenter " +"l'erreur. Si vous n'utilisez que le lanceur de test unitaire standard, ce " +"détail n'a pas d'importance, mais si vous êtes un auteur de cadriciel de " +"test, il peut être pertinent." #: ../Doc/library/unittest.rst:2178 msgid "setUpClass and tearDownClass" msgstr "" +"Classes de mise en place (*setUpClass*) et de démantèlement des tests " +"(*tearDownClass*)" #: ../Doc/library/unittest.rst:2180 msgid "These must be implemented as class methods::" -msgstr "" +msgstr "Elles doivent être implémentées en tant que méthodes de classe  ::" #: ../Doc/library/unittest.rst:2193 msgid "" @@ -2754,6 +3583,9 @@ msgid "" "then you must call up to them yourself. The implementations in :class:" "`TestCase` are empty." msgstr "" +"Si vous voulez que les classes de base ``setUpClass`` et ``tearDownClass`` " +"soient appelées, vous devez les appeler vous-même. Les implémentations dans :" +"class:`TestCase` sont vides." #: ../Doc/library/unittest.rst:2197 msgid "" @@ -2763,14 +3595,22 @@ msgid "" "`SkipTest` exception then the class will be reported as having been skipped " "instead of as an error." msgstr "" +"Si une exception est levée pendant l'exécution de ``setUpClass`` alors les " +"tests dans la classe ne sont pas exécutés et la classe ``tearDownClass`` " +"n'est pas exécutée. Les classes ignorées n'auront pas d'exécution de " +"``setUpClass`` ou ``tearDownClass``. Si l'exception est une exception :exc:" +"`SkipTest` alors la classe est signalée comme ayant été ignorée au lieu " +"d'être en échec." #: ../Doc/library/unittest.rst:2205 msgid "setUpModule and tearDownModule" msgstr "" +"Module de mise en place (*setUpModule*) et de démantèlement des tests " +"(*tearDownModule*)" #: ../Doc/library/unittest.rst:2207 msgid "These should be implemented as functions::" -msgstr "" +msgstr "Elles doivent être implémentées en tant que fonctions  ::" #: ../Doc/library/unittest.rst:2215 msgid "" @@ -2779,10 +3619,15 @@ msgid "" "exception is a :exc:`SkipTest` exception then the module will be reported as " "having been skipped instead of as an error." msgstr "" +"Si une exception est levée pendant l'exécution de la fonction " +"``setUpModule`` alors aucun des tests du module ne sera exécuté et la " +"fonction ``tearDownModule`` ne sera pas exécutée. Si l'exception est une " +"exception :exc:`SkipTest` alors le module est signalé comme ayant été ignoré " +"au lieu d'être en échec." #: ../Doc/library/unittest.rst:2222 msgid "Signal Handling" -msgstr "" +msgstr "Traitement des signaux" #: ../Doc/library/unittest.rst:2226 msgid "" @@ -2793,6 +3638,13 @@ msgid "" "complete, and the test run will then end and report all the results so far. " "A second control-c will raise a :exc:`KeyboardInterrupt` in the usual way." msgstr "" +"L'option :option:`-c/--catch ` en ligne de commande pour " +"*unittest*, ainsi que le paramètre ``catchbreak`` vers :func:`unittest." +"main()`, permettent une utilisation simplifiée du contrôle-C pendant un " +"test. Avec l'activation de ``catchbreak``, l'utilisation du contrôle-C " +"permet de terminer le test en cours d'exécution, et le test se termine et " +"rapporte tous les résultats obtenus jusqu'à présent. Un deuxième contrôle-C " +"lève une exception classique :exc:`KeyboardInterrupt`." #: ../Doc/library/unittest.rst:2233 msgid "" @@ -2805,12 +3657,24 @@ msgid "" "to it. For individual tests that need ``unittest`` control-c handling " "disabled the :func:`removeHandler` decorator can be used." msgstr "" +"Le gestionnaire du signal *contrôle-C* tente de rester compatible avec le " +"code ou les tests qui installent leur propre gestionnaire :const:`signal." +"SIGINT`. Si le gestionnaire ``unittest`` est appelé mais *n'est pas* le " +"gestionnaire installé :const:`signal.SIGINT`, c'est-à-dire qu'il a été " +"remplacé par le système sous test et délégué, alors il appelle le " +"gestionnaire par défaut. C'est normalement le comportement attendu par un " +"code qui remplace un gestionnaire installé et lui délègue. Pour les tests " +"individuels qui ont besoin que le signal *contrôle-C* \"*unittest*\" soit " +"désactivée, le décorateur :func:`removeHandler` peut être utilisé." #: ../Doc/library/unittest.rst:2242 msgid "" "There are a few utility functions for framework authors to enable control-c " "handling functionality within test frameworks." msgstr "" +"Il existe quelques fonctions de support pour les auteurs de cadriciel afin " +"d'activer la fonctionnalité de gestion des *contrôle-C* dans les cadriciels " +"de test." #: ../Doc/library/unittest.rst:2247 msgid "" @@ -2818,6 +3682,10 @@ msgid "" "(usually in response to the user pressing control-c) all registered results " "have :meth:`~TestResult.stop` called." msgstr "" +"Installe le gestionnaire *contrôle-c*. Quand un :const:`signal.SIGINT` est " +"reçu (généralement en réponse à l'utilisateur appuyant sur *contrôle-c*) " +"tous les résultats enregistrés vont appeler la méthode :meth:`~TestResult." +"stop`." #: ../Doc/library/unittest.rst:2254 msgid "" @@ -2825,6 +3693,10 @@ msgid "" "result stores a weak reference to it, so it doesn't prevent the result from " "being garbage collected." msgstr "" +"Enregistre un objet :class:`TestResult` pour la gestion du *contrôle-C*. " +"L'enregistrement d'un résultat stocke une référence faible sur celui-ci, de " +"sorte qu'il n'empêche pas que le résultat soit collecté par le ramasse-" +"miette." #: ../Doc/library/unittest.rst:2258 msgid "" @@ -2832,6 +3704,10 @@ msgid "" "handling is not enabled, so test frameworks can unconditionally register all " "results they create independently of whether or not handling is enabled." msgstr "" +"L'enregistrement d'un objet :class:`TestResult` n'a pas d'effets de bord si " +"la gestion du *contrôle-c* n'est pas activée, donc les cadriciels de test " +"peuvent enregistrer sans condition tous les résultats qu'ils créent " +"indépendamment du fait que la gestion soit activée ou non." #: ../Doc/library/unittest.rst:2265 msgid "" @@ -2839,6 +3715,9 @@ msgid "" "`~TestResult.stop` will no longer be called on that result object in " "response to a control-c." msgstr "" +"Supprime un résultat enregistré. Une fois qu'un résultat a été supprimé, :" +"meth:`~TestResult.stop` n'est plus appelé sur cet objet résultat en réponse " +"à un *contrôle-c*." #: ../Doc/library/unittest.rst:2272 msgid "" diff --git a/library/urllib.parse.po b/library/urllib.parse.po index dbffb34a..9e7b5683 100644 --- a/library/urllib.parse.po +++ b/library/urllib.parse.po @@ -108,7 +108,7 @@ msgstr "Attribut" #: ../Doc/library/urllib.parse.rst:92 ../Doc/library/urllib.parse.rst:208 #: ../Doc/library/urllib.parse.rst:288 msgid "Index" -msgstr "" +msgstr "Index" #: ../Doc/library/urllib.parse.rst:92 ../Doc/library/urllib.parse.rst:208 #: ../Doc/library/urllib.parse.rst:288 @@ -222,7 +222,7 @@ msgstr "" #: ../Doc/library/urllib.parse.rst:220 ../Doc/library/urllib.parse.rst:222 #: ../Doc/library/urllib.parse.rst:224 ../Doc/library/urllib.parse.rst:226 msgid ":const:`None`" -msgstr "" +msgstr ":const:`None`" #: ../Doc/library/urllib.parse.rst:109 ../Doc/library/urllib.parse.rst:222 msgid ":attr:`password`" diff --git a/library/venv.po b/library/venv.po index 54bec541..222767af 100644 --- a/library/venv.po +++ b/library/venv.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/venv.rst:2 msgid ":mod:`venv` --- Creation of virtual environments" -msgstr "" +msgstr ":mod:`venv` — Création d'environnements virtuels" #: ../Doc/library/venv.rst:12 msgid "**Source code:** :source:`Lib/venv/`" -msgstr "" +msgstr "**Code source :** :source:`Lib/venv/`" #: ../Doc/library/venv.rst:18 msgid "" @@ -37,6 +37,8 @@ msgstr "" #: ../Doc/library/venv.rst:24 msgid "See :pep:`405` for more information about Python virtual environments." msgstr "" +"Voir la :pep:`405` pour plus d'informations à propos des environnements " +"virtuels Python." #: ../Doc/library/venv.rst:27 msgid "" @@ -86,6 +88,7 @@ msgstr "" #: ../Doc/using/venv-create.inc:30 msgid "The command, if run with ``-h``, will show the available options::" msgstr "" +"La commande, si lancée avec ``-h``, montrera les options disponibles ::" #: ../Doc/using/venv-create.inc:56 msgid "" @@ -98,6 +101,7 @@ msgid "" "Installs pip by default, added the ``--without-pip`` and ``--copies`` " "options" msgstr "" +"Installe pip par défaut, ajout des options ``--without-pip`` et ``--copies``" #: ../Doc/using/venv-create.inc:63 msgid "" @@ -113,12 +117,17 @@ msgid "" "packages`` key, set to ``true`` if ``venv`` is run with the ``--system-site-" "packages`` option, ``false`` otherwise." msgstr "" +"Le fichier crée ``pyenv.cfg`` inclus aussi la clé ``include-system-site-" +"packages``, dont la valeur est ``true`` si ``venv`` est lancé avec l'option " +"``--system-site-packages``, sinon sa valeur est ``false``." #: ../Doc/using/venv-create.inc:73 msgid "" "Unless the ``--without-pip`` option is given, :mod:`ensurepip` will be " "invoked to bootstrap ``pip`` into the virtual environment." msgstr "" +"Sauf si l'option ``--without-pip`` est incluse, :mod:`ensurepip` sera " +"invoqué pour amorcer ``pip`` dans l'environnement virtuel." #: ../Doc/using/venv-create.inc:76 msgid "" @@ -139,7 +148,7 @@ msgstr "Plateforme" #: ../Doc/using/venv-create.inc:84 msgid "Shell" -msgstr "" +msgstr "Invite de commande" #: ../Doc/using/venv-create.inc:84 msgid "Command to activate virtual environment" @@ -183,7 +192,7 @@ msgstr "cmd.exe" #: ../Doc/using/venv-create.inc:92 msgid "C:\\\\> \\\\Scripts\\\\activate.bat" -msgstr "" +msgstr "``C:\\\\{venv}\\\\Scripts\\\\activate.bat``" #: ../Doc/using/venv-create.inc:94 msgid "PowerShell" @@ -191,7 +200,7 @@ msgstr "PowerShell" #: ../Doc/using/venv-create.inc:94 msgid "PS C:\\\\> \\\\Scripts\\\\Activate.ps1" -msgstr "" +msgstr "``PS C:\\\\> \\\\Scripts\\\\Activate.ps1``" #: ../Doc/using/venv-create.inc:97 msgid "" @@ -214,7 +223,7 @@ msgstr "" #: ../Doc/using/venv-create.inc:109 msgid "``fish`` and ``csh`` activation scripts." -msgstr "" +msgstr "Les scripts d'activation pour ``fish`` et ``csh``." #: ../Doc/library/venv.rst:40 msgid "" @@ -276,7 +285,7 @@ msgstr "" #: ../Doc/library/venv.rst:83 msgid "API" -msgstr "" +msgstr "API" #: ../Doc/library/venv.rst:87 msgid "" @@ -285,12 +294,18 @@ msgid "" "customize environment creation according to their needs, the :class:" "`EnvBuilder` class." msgstr "" +"La méthode haut niveau décrite au dessus utilise une API simple qui permet à " +"des créateurs d'environnements virtuels externes de personnaliser la " +"création d'environnements virtuels basés sur leurs besoins, la classe :class:" +"`EnvBuilder`." #: ../Doc/library/venv.rst:94 msgid "" "The :class:`EnvBuilder` class accepts the following keyword arguments on " "instantiation:" msgstr "" +"La classe :class:`EnvBuilder` accepte les arguments suivants lors de " +"l'instanciation :" #: ../Doc/library/venv.rst:97 msgid "" @@ -298,12 +313,17 @@ msgid "" "Python site-packages should be available to the environment (defaults to " "``False``)." msgstr "" +"``system_site_packages`` -- Une valeur booléenne qui indique que les site-" +"packages du système Python devraient être disponibles dans l'environnement " +"virtuel (par défaut à ``False``)." #: ../Doc/library/venv.rst:100 msgid "" "``clear`` -- a Boolean value which, if true, will delete the contents of any " "existing target directory, before creating the environment." msgstr "" +"``clear`` -- Une valeur booléenne qui, si vraie, supprimera le contenu de " +"n'importe quel dossier existant cible, avant de créer l'environnement." #: ../Doc/library/venv.rst:103 msgid "" @@ -319,6 +339,9 @@ msgid "" "environment with the running Python - for use when that Python has been " "upgraded in-place (defaults to ``False``)." msgstr "" +"``upgrade`` -- Une valeur booléenne qui, si vraie, mettra à jour un " +"environnement existant avec le Python lancé -- utilisé quand Python à été " +"mis a jour sur place (par défaut à ``False``)." #: ../Doc/library/venv.rst:112 msgid "" @@ -326,20 +349,26 @@ msgid "" "the virtual environment. This uses :mod:`ensurepip` with the ``--default-" "pip`` option." msgstr "" +"``with_pip`` -- Une valeur booléenne qui, si vraie, assure que pip est " +"installé dans l'environnement virtuel. Cela utilise :mod:`ensurepip` avec " +"l'option ``--default-pip``." #: ../Doc/library/venv.rst:116 ../Doc/library/venv.rst:221 msgid "Added the ``with_pip`` parameter" -msgstr "" +msgstr "Ajout du paramètre ``with_pip``" #: ../Doc/library/venv.rst:120 msgid "" "Creators of third-party virtual environment tools will be free to use the " "provided ``EnvBuilder`` class as a base class." msgstr "" +"Les créateurs des outils de création d'environnement virtuel externes seront " +"libres d'utiliser la classe ``EnvBuilder`` en tant que classe de base." #: ../Doc/library/venv.rst:123 msgid "The returned env-builder is an object which has a method, ``create``:" msgstr "" +"Le **env-builder** retourné est un objet qui a une méthode, ``create`` :" #: ../Doc/library/venv.rst:127 msgid "" @@ -348,12 +377,18 @@ msgid "" "environment. The ``create`` method will either create the environment in " "the specified directory, or raise an appropriate exception." msgstr "" +"Cette méthode prends en argument obligatoire le chemin (absolu ou relatif " +"par rapport au dossier courant) du dossier cible qui doit contenir " +"l'environnement virtuel. La méthode ``create`` doit soit créer un " +"environnement dans le dossier spécifié, soit lever une exception." #: ../Doc/library/venv.rst:133 msgid "" "The ``create`` method of the ``EnvBuilder`` class illustrates the hooks " "available for subclass customization::" msgstr "" +"La méthode ``create`` de la classe ``EnvBuilder`` illustre les points " +"d'entrées disponibles pour la personnalisation de sous-classes ::" #: ../Doc/library/venv.rst:148 msgid "" @@ -361,6 +396,9 @@ msgid "" "`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` and :" "meth:`post_setup` can be overridden." msgstr "" +"Chacune des méthodes :meth:`ensure_directories`, :meth:" +"`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` et :meth:" +"`post_setup` peuvent être écrasés." #: ../Doc/library/venv.rst:154 msgid "" @@ -370,10 +408,15 @@ msgid "" "long as either ``clear`` or ``upgrade`` were specified to allow operating on " "an existing environment directory." msgstr "" +"Crée un dossier d'environnement et tous les dossiers nécessaires, et " +"retourne un objet contexte. C'est juste un conteneur pour des attributs " +"(comme des chemins), qui sera utilisé par d'autres méthodes. Ces dossiers " +"peuvent déjà exister. tant que ``clear`` ou ``upgrade`` ont été spécifiés " +"pour permettre de telles opérations dans un dossier d'environnement existant." #: ../Doc/library/venv.rst:162 msgid "Creates the ``pyvenv.cfg`` configuration file in the environment." -msgstr "" +msgstr "Crée le fichier de configuration ``pyenv.cfg`` dans l'environnement." #: ../Doc/library/venv.rst:166 msgid "" @@ -388,6 +431,8 @@ msgid "" "Installs activation scripts appropriate to the platform into the virtual " "environment." msgstr "" +"Installe les scripts d'activation appropriés à la plateforme dans " +"l'environnement virtuel." #: ../Doc/library/venv.rst:179 msgid "" @@ -395,6 +440,9 @@ msgid "" "to pre-install packages in the virtual environment or perform other post-" "creation steps." msgstr "" +"Une méthode qui n'est la que pour se faire surcharger dans des " +"implémentation externes pour pré installer des paquets dans l'environnement " +"virtuel ou pour exécuter des étapes post-création." #: ../Doc/library/venv.rst:183 msgid "" @@ -402,6 +450,10 @@ msgid "" "called from :meth:`setup_scripts` or :meth:`post_setup` in subclasses to " "assist in installing custom scripts into the virtual environment." msgstr "" +"De plus, :class:`EnvBuilder` propose cette méthode utilitaire qui peut être " +"appelée de :meth:`setup_scripts` ou :meth:`post_setup` dans des sous classes " +"pour assister dans l'installation de scripts customs dans l'environnement " +"virtuel." #: ../Doc/library/venv.rst:189 msgid "" @@ -411,56 +463,75 @@ msgid "" "corresponding to :data:`os.name` are copied after some text replacement of " "placeholders:" msgstr "" +"*path* corresponds au chemin vers le dossier qui contiens les sous dossiers " +"\"**common**\", \"**posix**\", \"**nt**\", chacun contenant des scripts " +"destinés pour le dossier \"**bin**\" dans l'environnement. Le contenu du " +"dossier \"**common**\" et le dossier correspondant à :data:`os.name` sont " +"copiés après quelque remplacement de texte temporaires :" #: ../Doc/library/venv.rst:195 msgid "" "``__VENV_DIR__`` is replaced with the absolute path of the environment " "directory." msgstr "" +"``__VENV_DIR__`` est remplacé avec le chemin absolu du dossier de " +"l'environnement." #: ../Doc/library/venv.rst:198 msgid "" "``__VENV_NAME__`` is replaced with the environment name (final path segment " "of environment directory)." msgstr "" +"``__VENV_NAME__`` est remplacé avec le nom de l'environnement (le dernier " +"segment du chemin vers le dossier de l'environnement)." #: ../Doc/library/venv.rst:201 msgid "" "``__VENV_PROMPT__`` is replaced with the prompt (the environment name " "surrounded by parentheses and with a following space)" msgstr "" +"``__VENV_PROMPT__`` est remplacé par le prompt (nom de l'environnement " +"entouré de parenthèses et avec un espace le suivant)." #: ../Doc/library/venv.rst:204 msgid "" "``__VENV_BIN_NAME__`` is replaced with the name of the bin directory (either " "``bin`` or ``Scripts``)." msgstr "" +"``__VENV_BIN_NAME__`` est remplacé par le nom du dossier **bin** (soit " +"``bin`` soit ``Scripts``)." #: ../Doc/library/venv.rst:207 msgid "" "``__VENV_PYTHON__`` is replaced with the absolute path of the environment's " "executable." msgstr "" +"``__VENV_PYTHON__`` est remplacé avec le chemin absolu de l’exécutable de " +"l'environnement." #: ../Doc/library/venv.rst:210 msgid "" "The directories are allowed to exist (for when an existing environment is " "being upgraded)." msgstr "" +"Les dossiers peuvent exister (pour quand un environnement existant est mis à " +"jour)." #: ../Doc/library/venv.rst:213 msgid "There is also a module-level convenience function:" -msgstr "" +msgstr "Il y a aussi une fonction pratique au niveau du module :" #: ../Doc/library/venv.rst:218 msgid "" "Create an :class:`EnvBuilder` with the given keyword arguments, and call " "its :meth:`~EnvBuilder.create` method with the *env_dir* argument." msgstr "" +"Crée une :class:`EnvBuilder` avec les arguments donnés, et appelle sa " +"méthode :meth:`~EnvBuilder.create` avec l'argument *env_dir*." #: ../Doc/library/venv.rst:225 msgid "An example of extending ``EnvBuilder``" -msgstr "" +msgstr "Un exemple d'extension de ``EnvBuilder``" #: ../Doc/library/venv.rst:227 msgid "" diff --git a/library/warnings.po b/library/warnings.po index 709c4200..6cd33171 100644 --- a/library/warnings.po +++ b/library/warnings.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/warnings.rst:2 msgid ":mod:`warnings` --- Warning control" -msgstr "" +msgstr ":mod:`warnings` --- Contrôle des alertes" #: ../Doc/library/warnings.rst:7 msgid "**Source code:** :source:`Lib/warnings.py`" @@ -32,6 +32,11 @@ msgid "" "program. For example, one might want to issue a warning when a program uses " "an obsolete module." msgstr "" +"Les messages d'avertissement sont généralement émis dans les situations où " +"il est utile d'alerter l'utilisateur d'un problème dans un programme, mais " +"qu'il n'est pas justifié de lever une exception et de le terminer. Par " +"exemple, on peut vouloir émettre un avertissement lorsqu'un programme " +"utilise un module obsolète." #: ../Doc/library/warnings.rst:18 msgid "" @@ -39,6 +44,9 @@ msgid "" "defined in this module. (C programmers use :c:func:`PyErr_WarnEx`; see :ref:" "`exceptionhandling` for details)." msgstr "" +"Les développeurs Python émettent des avertissements en appelant la fonction :" +"func:`warn` définie dans ce module. (Les développeurs C utilisent :c:func:" +"`PyErr_WarnEx` ; voir :ref:`exceptionhandling` pour plus d'informations)." #: ../Doc/library/warnings.rst:22 msgid "" @@ -49,6 +57,12 @@ msgid "" "source location where it is issued. Repetitions of a particular warning for " "the same source location are typically suppressed." msgstr "" +"Les messages d'avertissement sont normalement écrits sur ``sys.stderr``, " +"mais leurs effets peuvent être modifiés, il est possible d'ignorer tous les " +"avertissements ou au contraire les transformer en exceptions. L'effet des " +"avertissements peut varier en fonction de la catégorie d'avertissement (voir " +"ci-dessous), de son texte et d'où il est émis. Les répétitions d'un même " +"avertissement d'une même source sont généralement ignorés." #: ../Doc/library/warnings.rst:29 msgid "" @@ -57,6 +71,10 @@ msgid "" "next, if a message is to be issued, it is formatted and printed using a user-" "settable hook." msgstr "" +"La gestion des avertissements se fait en deux étapes : premièrement, chaque " +"fois qu'un avertissement est émis, le module détermine si un message doit " +"être émis ou non ; ensuite, si un message doit être émis, il est formaté et " +"affiché en utilisant une fonction qui peut être définie par l'utilisateur." #: ../Doc/library/warnings.rst:33 msgid "" @@ -65,6 +83,10 @@ msgid "" "be added to the filter by calling :func:`filterwarnings` and reset to its " "default state by calling :func:`resetwarnings`." msgstr "" +"Un filtre (une séquence de règles) est utilisé pour décider si un message " +"d'avertissement doit être émis ou non. Des règles peuvent être ajoutées au " +"filtre en appelant :func:`filterwarnings` et remises à leur état par défaut " +"en appelant :func:`resetwarnings`." #: ../Doc/library/warnings.rst:38 msgid "" @@ -73,16 +95,22 @@ msgid "" "the message by calling :func:`formatwarning`, which is also available for " "use by custom implementations." msgstr "" +"L'affichage des messages d'avertissement se fait en appelant la fonction :" +"func:`showwarning`, qui peut être redéfinie ; l'implémentation par défaut " +"formate le message en appelant :func:`formatwarning`, qui peut également " +"être réutilisée par une implémentation personnalisée." #: ../Doc/library/warnings.rst:44 msgid "" ":func:`logging.captureWarnings` allows you to handle all warnings with the " "standard logging infrastructure." msgstr "" +":func:`logging.captureWarnings` vous permet de gérer tous les avertissements " +"avec l'infrastructure de journalisation standard." #: ../Doc/library/warnings.rst:51 msgid "Warning Categories" -msgstr "" +msgstr "Catégories d'avertissement" #: ../Doc/library/warnings.rst:53 msgid "" @@ -93,7 +121,7 @@ msgstr "" #: ../Doc/library/warnings.rst:60 msgid "Class" -msgstr "" +msgstr "Classe" #: ../Doc/library/warnings.rst:60 msgid "Description" @@ -108,6 +136,8 @@ msgid "" "This is the base class of all warning category classes. It is a subclass " "of :exc:`Exception`." msgstr "" +"Il s'agit de la classe de base de toutes les classes de catégories " +"d'avertissement. C'est une sous-classe de :exc:`Exception`." #: ../Doc/library/warnings.rst:66 msgid ":exc:`UserWarning`" @@ -115,7 +145,7 @@ msgstr ":exc:`UserWarning`" #: ../Doc/library/warnings.rst:66 msgid "The default category for :func:`warn`." -msgstr "" +msgstr "Catégorie par défaut pour :func:`warn`." #: ../Doc/library/warnings.rst:68 msgid ":exc:`DeprecationWarning`" @@ -133,6 +163,7 @@ msgstr ":exc:`SyntaxWarning`" #: ../Doc/library/warnings.rst:71 msgid "Base category for warnings about dubious syntactic features." msgstr "" +"Catégorie de base pour les avertissements concernant les syntaxes douteuses." #: ../Doc/library/warnings.rst:74 msgid ":exc:`RuntimeWarning`" @@ -141,6 +172,8 @@ msgstr ":exc:`RuntimeWarning`" #: ../Doc/library/warnings.rst:74 msgid "Base category for warnings about dubious runtime features." msgstr "" +"Catégorie de base pour les avertissements concernant les fonctionnalités " +"douteuses à l'exécution." #: ../Doc/library/warnings.rst:77 msgid ":exc:`FutureWarning`" @@ -161,6 +194,8 @@ msgid "" "Base category for warnings about features that will be deprecated in the " "future (ignored by default)." msgstr "" +"Catégorie de base pour les avertissements concernant les fonctionnalités qui " +"seront obsolètes dans le futur (ignorée par défaut)." #: ../Doc/library/warnings.rst:84 msgid ":exc:`ImportWarning`" @@ -171,6 +206,8 @@ msgid "" "Base category for warnings triggered during the process of importing a " "module (ignored by default)." msgstr "" +"Catégorie de base pour les avertissements déclenchés lors de l'importation " +"d'un module (ignoré par défaut)." #: ../Doc/library/warnings.rst:88 msgid ":exc:`UnicodeWarning`" @@ -178,7 +215,7 @@ msgstr ":exc:`UnicodeWarning`" #: ../Doc/library/warnings.rst:88 msgid "Base category for warnings related to Unicode." -msgstr "" +msgstr "Catégorie de base pour les avertissements relatifs à Unicode." #: ../Doc/library/warnings.rst:91 msgid ":exc:`BytesWarning`" @@ -188,6 +225,8 @@ msgstr ":exc:`BytesWarning`" msgid "" "Base category for warnings related to :class:`bytes` and :class:`bytearray`." msgstr "" +"Catégorie de base pour les avertissements relatifs à :class:`bytes` et :" +"class:`bytearray`." #: ../Doc/library/warnings.rst:94 msgid ":exc:`ResourceWarning`" @@ -196,6 +235,8 @@ msgstr ":exc:`ResourceWarning`" #: ../Doc/library/warnings.rst:94 msgid "Base category for warnings related to resource usage." msgstr "" +"Catégorie de base pour les avertissements relatifs à l'utilisation des " +"ressources." #: ../Doc/library/warnings.rst:99 msgid "" @@ -209,16 +250,22 @@ msgid "" "standard warning categories. A warning category must always be a subclass " "of the :exc:`Warning` class." msgstr "" +"Le code utilisateur peut définir des catégories d'avertissement " +"supplémentaires en héritant l'une des catégories d'avertissement standard. " +"Une catégorie d'avertissement doit toujours hériter de la classe :exc:" +"`Warning`." #: ../Doc/library/warnings.rst:110 msgid "The Warnings Filter" -msgstr "" +msgstr "Le filtre des avertissements" #: ../Doc/library/warnings.rst:112 msgid "" "The warnings filter controls whether warnings are ignored, displayed, or " "turned into errors (raising an exception)." msgstr "" +"Le filtre des avertissements contrôle si les avertissements sont ignorés, " +"affichés ou transformés en erreurs (ce qui lève une exception)." #: ../Doc/library/warnings.rst:115 msgid "" @@ -231,7 +278,7 @@ msgstr "" #: ../Doc/library/warnings.rst:121 msgid "*action* is one of the following strings:" -msgstr "" +msgstr "*action* est l'une des chaînes de caractères suivantes :" #: ../Doc/library/warnings.rst:124 msgid "Value" @@ -239,7 +286,7 @@ msgstr "Valeur" #: ../Doc/library/warnings.rst:124 msgid "Disposition" -msgstr "" +msgstr "Action" #: ../Doc/library/warnings.rst:126 msgid "``\"error\"``" @@ -247,7 +294,7 @@ msgstr "``\"error\"``" #: ../Doc/library/warnings.rst:126 msgid "turn matching warnings into exceptions" -msgstr "" +msgstr "transforme les avertissements correspondants en exceptions" #: ../Doc/library/warnings.rst:128 msgid "``\"ignore\"``" @@ -255,7 +302,7 @@ msgstr "``\"ignore\"``" #: ../Doc/library/warnings.rst:128 msgid "never print matching warnings" -msgstr "" +msgstr "ignore les avertissements correspondants" #: ../Doc/library/warnings.rst:130 msgid "``\"always\"``" @@ -263,7 +310,7 @@ msgstr "``\"always\"``" #: ../Doc/library/warnings.rst:130 msgid "always print matching warnings" -msgstr "" +msgstr "affiche toujours les avertissements correspondants" #: ../Doc/library/warnings.rst:132 msgid "``\"default\"``" @@ -293,6 +340,8 @@ msgstr "``\"once\"``" msgid "" "print only the first occurrence of matching warnings, regardless of location" msgstr "" +"n'affiche que la première occurrence des avertissements correspondants, quel " +"que soit l'endroit où ils se trouvent" #: ../Doc/library/warnings.rst:144 msgid "" @@ -300,30 +349,43 @@ msgid "" "warning message must match. The expression is compiled to always be case-" "insensitive." msgstr "" +"*message* est une chaîne de caractères contenant une expression régulière " +"avec laquelle le début du message d'avertissement doit correspondre. " +"L'expression est compilée pour être toujours insensible à la casse." #: ../Doc/library/warnings.rst:148 msgid "" "*category* is a class (a subclass of :exc:`Warning`) of which the warning " "category must be a subclass in order to match." msgstr "" +"*category* est une classe (une sous-classe de :exc:`Warning`) dont la " +"catégorie d'avertissement doit être une sous-classe afin de correspondre." #: ../Doc/library/warnings.rst:151 msgid "" "*module* is a string containing a regular expression that the module name " "must match. The expression is compiled to be case-sensitive." msgstr "" +"*module* est une chaîne de caractères contenant une expression régulière " +"avec laquelle le nom du module doit correspondre. L'expression est compilée " +"pour être sensible à la casse." #: ../Doc/library/warnings.rst:154 msgid "" "*lineno* is an integer that the line number where the warning occurred must " "match, or ``0`` to match all line numbers." msgstr "" +"*lineno* est le numéro de ligne d'où l'avertissement doit provenir, ou ``0`` " +"pour correspondre à tous les numéros de ligne." #: ../Doc/library/warnings.rst:157 msgid "" "Since the :exc:`Warning` class is derived from the built-in :exc:`Exception` " "class, to turn a warning into an error we simply raise ``category(message)``." msgstr "" +"Puisque que la classe :exc:`Warning` hérite de la classe :exc:`Exception`, " +"pour transformer un avertissement en erreur, il suffit de lever " +"``category(message)``." #: ../Doc/library/warnings.rst:160 msgid "" @@ -368,10 +430,12 @@ msgid "" ":exc:`DeprecationWarning` is now ignored by default in addition to :exc:" "`PendingDeprecationWarning`." msgstr "" +":exc:`DeprecationWarning` est maintenant ignoré par défaut en plus de :exc:" +"`PendingDeprecationWarning`." #: ../Doc/library/warnings.rst:191 msgid "Temporarily Suppressing Warnings" -msgstr "" +msgstr "Suppression temporaire des avertissements" #: ../Doc/library/warnings.rst:193 msgid "" @@ -389,10 +453,18 @@ msgid "" "threaded application. If two or more threads use the :class:`catch_warnings` " "context manager at the same time, the behavior is undefined." msgstr "" +"Dans le gestionnaire de contexte, tous les avertissements sont simplement " +"ignorés. Ceci vous permet d'utiliser du code déclaré obsolète sans voir " +"l'avertissement tout en ne supprimant pas l'avertissement pour un autre code " +"qui pourrait ne pas être conscient de son utilisation de code déprécié. " +"Remarque : ceci ne peut être garanti que dans une application utilisant un " +"seul fil d'exécution. Si deux ou plusieurs *threads* utilisent le " +"gestionnaire de contexte :class:`catch_warnings` en même temps, le " +"comportement est indéfini." #: ../Doc/library/warnings.rst:218 msgid "Testing Warnings" -msgstr "" +msgstr "Tester les avertissements" #: ../Doc/library/warnings.rst:220 msgid "" @@ -401,6 +473,10 @@ msgid "" "facilitate your testing. For instance, do the following to capture all " "raised warnings to check::" msgstr "" +"Pour tester les avertissements générés par le code, utilisez le gestionnaire " +"de contexte :class:`catch_warnings`. Avec lui, vous pouvez temporairement " +"modifier le filtre d'avertissements pour faciliter votre test. Par exemple, " +"procédez comme suit pour capturer tous les avertissements levés à vérifier ::" #: ../Doc/library/warnings.rst:240 msgid "" @@ -410,6 +486,12 @@ msgid "" "filters are set the warning will not be seen again unless the warnings " "registry related to the warning has been cleared." msgstr "" +"Vous pouvez aussi faire en sorte que tous les avertissements soient des " +"exceptions en utilisant ``error`` au lieu de ``always``. Il faut savoir que " +"si un avertissement a déjà été émis à cause d'une règle ``once`` ou " +"``default``, quel que soit le filtre activé, l'avertissement ne sera pas " +"revu à moins que le registre des avertissements lié à l'avertissement ait " +"été vidé." #: ../Doc/library/warnings.rst:246 msgid "" @@ -421,6 +503,15 @@ msgid "" "application. If two or more threads use the :class:`catch_warnings` context " "manager at the same time, the behavior is undefined." msgstr "" +"A sa sortie, le gestionnaire de contexte restaure le filtre des " +"avertissements dans l'état où il était au démarrage du contexte. Cela " +"empêche les tests de changer le filtre d'avertissements de manière " +"inattendue entre les tests et d'aboutir à des résultats de test " +"indéterminés. La fonction :func:`showwarning` du module est également " +"restaurée à sa valeur originale. Remarque : ceci ne peut être garanti que " +"dans une application *mono-threadées*. Si deux ou plusieurs fils d'exécution " +"utilisent le gestionnaire de contexte :class:`catch_warnings` en même temps, " +"le comportement est indéfini." #: ../Doc/library/warnings.rst:254 msgid "" @@ -431,6 +522,14 @@ msgid "" "continues to increase after each operation, or else delete the previous " "entries from the warnings list before each new operation)." msgstr "" +"Lorsque vous testez plusieurs opérations qui provoquent le même type " +"d'avertissement, il est important de les tester d'une manière qui confirme " +"que chaque opération provoque un nouvel avertissement (par exemple, " +"définissez les avertissements comme exceptions et vérifiez que les " +"opérations provoquent des exceptions, vérifiez que la longueur de la liste " +"des avertissements continue à augmenter après chaque opération, ou bien " +"supprimez les entrées précédentes de la liste des avertissements avant " +"chaque nouvelle opération)." #: ../Doc/library/warnings.rst:265 msgid "Updating Code For New Versions of Python" @@ -482,7 +581,7 @@ msgstr "" #: ../Doc/library/warnings.rst:301 msgid "Available Functions" -msgstr "" +msgstr "Fonctions disponibles" #: ../Doc/library/warnings.rst:306 msgid "" @@ -496,6 +595,15 @@ msgid "" "The *stacklevel* argument can be used by wrapper functions written in " "Python, like this::" msgstr "" +"Émet, ignore, ou transforme en exception un avertissement. L'argument " +"*category*, s'il est donné, doit être une classe de catégorie " +"d'avertissement (voir ci-dessus) ; et vaut par défaut :exc:`UserWarning`. " +"Aussi *message* peut être une instance de :exc:`Warning', auquel cas " +"*category* sera ignoré et ``message.__class__`` sera utilisé. Dans ce cas, " +"le texte du message sera ``str(message)``. Cette fonction lève une exception " +"si cet avertissement particulier émis est transformé en erreur par le filtre " +"des avertissements, voir ci-dessus. L'argument *stacklevel* peut être " +"utilisé par les fonctions *wrapper* écrites en Python, comme ceci ::" #: ../Doc/library/warnings.rst:318 msgid "" @@ -503,6 +611,9 @@ msgid "" "the source of :func:`deprecation` itself (since the latter would defeat the " "purpose of the warning message)." msgstr "" +"Fait en sorte que l'avertissement se réfère à l'appelant de :func:" +"`deprecation` plutôt qu'à la source de :func:`deprecation` elle-même " +"(puisque celle-ci irait à l'encontre du but du message d'avertissement)." #: ../Doc/library/warnings.rst:325 msgid "" @@ -515,6 +626,15 @@ msgid "" "of :exc:`Warning` or *message* may be a :exc:`Warning` instance, in which " "case *category* will be ignored." msgstr "" +"Il s'agit d'une interface de bas niveau pour la fonctionnalité de :func:" +"`warn`, en passant explicitement le message, la catégorie, le nom de fichier " +"et le numéro de ligne, et éventuellement le nom du module et le registre " +"(qui devrait être le dictionnaire ``__warningregistry__`` du module). Le " +"nom de module par défaut est le nom de fichier sans ``.py`` ; si aucun " +"registre n'est passé, l'avertissement n'est jamais supprimé. *message* doit " +"être une chaîne de caractères et *category* une sous-classe de :exc:" +"`Warning` ou *message* peut être une instance de :exc:`Warning`, auquel cas " +"*category* sera ignoré." #: ../Doc/library/warnings.rst:334 msgid "" @@ -523,6 +643,10 @@ msgid "" "displaying source for modules found in zipfiles or other non-filesystem " "import sources)." msgstr "" +"*module_globals*, s'il est fourni, doit être l'espace de nommage global " +"utilisé par le code pour lequel l'avertissement est émis. (Cet argument est " +"utilisé pour afficher les sources des modules trouvés dans les fichiers zip " +"ou d'autres sources d'importation hors du système de fichiers)." #: ../Doc/library/warnings.rst:342 msgid "" @@ -534,6 +658,13 @@ msgid "" "message; if *line* is not supplied, :func:`showwarning` will try to read the " "line specified by *filename* and *lineno*." msgstr "" +"Écrit un avertissement dans un fichier. L'implémentation par défaut appelle " +"``format warning(message, category, filename, lineno, line)``et écrit la " +"chaîne résultante dans *file*, qui par défaut est ``sys.stderr``. Vous " +"pouvez remplacer cette fonction par n'importe quel appelable en l'affectant " +"à ``warnings.showwarning``. *line* est une ligne de code source à inclure " +"dans le message d'avertissement ; si *line* n'est pas fourni, :func:`show " +"warning` essaiera de lire la ligne spécifiée par *filename* et *lineno*." #: ../Doc/library/warnings.rst:353 msgid "" @@ -543,6 +674,11 @@ msgid "" "`formatwarning` will try to read the line specified by *filename* and " "*lineno*." msgstr "" +"Formate un avertissement de la manière standard. Ceci renvoie une chaîne " +"pouvant contenir des retours à la ligne se termine par un retour à la " +"ligne. *line* est une ligne de code source à inclure dans le message " +"d'avertissement ; si *line* n'est pas fourni, :func:`formatwarning` essaiera " +"de lire la ligne spécifiée par *filename* et *lineno*." #: ../Doc/library/warnings.rst:362 msgid "" @@ -555,6 +691,13 @@ msgid "" "particular warning. Omitted arguments default to a value that matches " "everything." msgstr "" +"Insère une entrée dans la liste de :ref:`warning filter specifications " +"`. L'entrée est insérée à l'avant par défaut ; si *append* " +"est vrai, elle est insérée à la fin. Il vérifie le type des arguments, " +"compile les expressions régulières *message* et *module*, et les insère sous " +"forme de tuple dans la liste des filtres d'avertissements. Les entrées plus " +"proches du début de la liste ont priorité sur les entrées plus loin dans la " +"liste. Les arguments omis ont par défaut une valeur qui correspond à tout." #: ../Doc/library/warnings.rst:374 msgid "" @@ -564,6 +707,12 @@ msgid "" "inserted always matches any message in any module as long as the category " "and line number match." msgstr "" +"Insère une entrée simple dans la liste de :ref:`spécifications du filtre " +"d'avertissements `. La signification des paramètres de " +"fonction est la même que pour :func:`filterwarnings`, mais les expressions " +"régulières ne sont pas nécessaires car le filtre inséré correspond toujours " +"à n'importe quel message dans n'importe quel module tant que la catégorie et " +"le numéro de ligne correspondent." #: ../Doc/library/warnings.rst:383 msgid "" @@ -571,10 +720,14 @@ msgid "" "to :func:`filterwarnings`, including that of the :option:`-W` command line " "options and calls to :func:`simplefilter`." msgstr "" +"Réinitialise le filtre des avertissements. Ceci supprime l'effet de tous " +"les appels précédents à :func:`filterwarnings`, y compris celui de l'option :" +"option:`-W` des options de ligne de commande et des appels à :func:" +"`simplefilter`." #: ../Doc/library/warnings.rst:389 msgid "Available Context Managers" -msgstr "" +msgstr "Gestionnaires de contexte disponibles" #: ../Doc/library/warnings.rst:393 msgid "" @@ -586,6 +739,14 @@ msgid "" "(which also suppresses output to ``sys.stdout``). Each object in the list " "has attributes with the same names as the arguments to :func:`showwarning`." msgstr "" +"Un gestionnaire de contexte qui copie et, à la sortie, restaure le filtre " +"des avertissements et la fonction :func:`showwarning`. Si l'argument " +"*record* est :const:`False` (par défaut), le gestionnaire de contexte " +"retourne :class:`None` en entrant. Si *record* est :const:`True`, une liste " +"est renvoyée qui est progressivement remplie d'objets comme vus par une " +"fonction custom :func:`showwarning' (qui supprime également la sortie vers " +"``sys.stdout``). Chaque objet de la liste a des attributs avec les mêmes " +"noms que les arguments de :func:`showwarning`." #: ../Doc/library/warnings.rst:402 msgid "" @@ -593,6 +754,10 @@ msgid "" "returned when you import :mod:`warnings` whose filter will be protected. " "This argument exists primarily for testing the :mod:`warnings` module itself." msgstr "" +"L'argument *module* prend un module qui sera utilisé à la place du module " +"renvoyé lors de l'importation :mod:`warnings` dont le filtre sera protégé. " +"Cet argument existe principalement pour tester le module :mod:`warnings` lui-" +"même." #: ../Doc/library/warnings.rst:409 msgid "" @@ -601,3 +766,8 @@ msgid "" "filter specifications. This means the context manager is modifying global " "state and therefore is not thread-safe." msgstr "" +"Le gestionnaire :class:`catch_warnings` fonctionne en remplaçant puis en " +"restaurant plus tard la fonction :func:`showwarning` du module et la liste " +"interne des spécifications du filtre. Cela signifie que le gestionnaire de " +"contexte modifie l'état global et n'est donc pas prévisible avec plusieurs " +"fils d'exécution." diff --git a/library/weakref.po b/library/weakref.po index a2121446..35f62bb5 100644 --- a/library/weakref.po +++ b/library/weakref.po @@ -396,7 +396,7 @@ msgstr "" #: ../Doc/library/weakref.rst:341 msgid "Weak Reference Objects" -msgstr "" +msgstr "Objets à références faibles" #: ../Doc/library/weakref.rst:343 msgid "" diff --git a/library/webbrowser.po b/library/webbrowser.po index 9cb9d0e4..431aee8f 100644 --- a/library/webbrowser.po +++ b/library/webbrowser.po @@ -77,7 +77,7 @@ msgstr "" #: ../Doc/library/webbrowser.rst:51 msgid "The following functions are defined:" -msgstr "" +msgstr "Les fonctions suivantes sont définies :" #: ../Doc/library/webbrowser.rst:56 msgid "" diff --git a/library/winreg.po b/library/winreg.po index 087a5e7f..95debb5a 100644 --- a/library/winreg.po +++ b/library/winreg.po @@ -223,7 +223,7 @@ msgstr "" #: ../Doc/library/winreg.rst:210 ../Doc/library/winreg.rst:317 #: ../Doc/library/winreg.rst:361 msgid "Index" -msgstr "" +msgstr "Index" #: ../Doc/library/winreg.rst:210 ../Doc/library/winreg.rst:317 #: ../Doc/library/winreg.rst:361 diff --git a/library/xml.etree.elementtree.po b/library/xml.etree.elementtree.po index 7e1099b5..e10f3e11 100644 --- a/library/xml.etree.elementtree.po +++ b/library/xml.etree.elementtree.po @@ -306,7 +306,7 @@ msgstr "" #: ../Doc/library/xml.etree.elementtree.rst:408 msgid "Syntax" -msgstr "" +msgstr "Syntaxe" #: ../Doc/library/xml.etree.elementtree.rst:408 msgid "Meaning" @@ -422,7 +422,7 @@ msgstr "" #: ../Doc/library/xml.etree.elementtree.rst:456 msgid "Reference" -msgstr "" +msgstr "Référence" #: ../Doc/library/xml.etree.elementtree.rst:461 msgid "Functions" @@ -584,7 +584,7 @@ msgstr "" #: ../Doc/library/xml.etree.elementtree.rst:615 #: ../Doc/library/xml.etree.elementtree.rst:942 msgid "The *short_empty_elements* parameter." -msgstr "" +msgstr "Le paramètre *short_empty_elements*." #: ../Doc/library/xml.etree.elementtree.rst:603 msgid "" diff --git a/library/xml.sax.utils.po b/library/xml.sax.utils.po index c1210db7..9fb395a3 100644 --- a/library/xml.sax.utils.po +++ b/library/xml.sax.utils.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/xml.sax.utils.rst:2 msgid ":mod:`xml.sax.saxutils` --- SAX Utilities" -msgstr "" +msgstr ":mod:`xml.sax.saxutils` — Utilitaires SAX" #: ../Doc/library/xml.sax.utils.rst:10 msgid "**Source code:** :source:`Lib/xml/sax/saxutils.py`" -msgstr "" +msgstr "**Code source :** :source:`Lib/xml/sax/saxutils.py`" #: ../Doc/library/xml.sax.utils.rst:14 msgid "" @@ -30,10 +30,15 @@ msgid "" "functions that are commonly useful when creating SAX applications, either in " "direct use, or as base classes." msgstr "" +"Le module :mod:`xml.sax.saxutils` contient des classes et fonctions qui " +"sont fréquemment utiles en créant des applications SAX, soit en utilisation " +"directe, soit en classes de base." #: ../Doc/library/xml.sax.utils.rst:21 msgid "Escape ``'&'``, ``'<'``, and ``'>'`` in a string of data." msgstr "" +"Échappe ``'&'``, ``'<'``, et ``'>'`` dans une chaine de caractères de " +"données." #: ../Doc/library/xml.sax.utils.rst:23 msgid "" @@ -42,10 +47,17 @@ msgid "" "will be replaced with its corresponding value. The characters ``'&'``, " "``'<'`` and ``'>'`` are always escaped, even if *entities* is provided." msgstr "" +"Vous pouvez échapper d'autres chaines de caractères de données en passant un " +"dictionnaire au paramètre optionnel *entities*. Les clés et valeurs doivent " +"toutes être des chaines de caractères ; chaque clé sera remplacée par sa " +"valeur correspondante. Les caractères ``'&'``, ``'<'`` et ``'>'`` sont " +"toujours échappés même si *entities* est donné en paramètre." #: ../Doc/library/xml.sax.utils.rst:31 msgid "Unescape ``'&'``, ``'<'``, and ``'>'`` in a string of data." msgstr "" +"*Parse* ``'&'``, ``'<'``, et ``'>'`` dans une chaine de caractères " +"de données." #: ../Doc/library/xml.sax.utils.rst:33 msgid "" @@ -55,6 +67,11 @@ msgid "" "``'<'``, and ``'>'`` are always unescaped, even if *entities* is " "provided." msgstr "" +"Vous pouvez dé-échapper d'autres chaines de caractères de données en passant " +"un dictionnaire au paramètre optionnel *entities*. Les clés et valeurs " +"doivent toutes être des chaines de caractères ; chaque clé sera remplacée " +"par sa valeur correspondante. Les caractères ``'&'``, ``'<'`` et ``'>'`` " +"sont toujours dé-échappés même si *entities* est donné en paramètre." #: ../Doc/library/xml.sax.utils.rst:41 msgid "" @@ -67,12 +84,23 @@ msgid "" "*data* will be wrapped in double-quotes. The resulting string can be used " "directly as an attribute value::" msgstr "" +"Similaire à :func:`escape`, mais prépare aussi *data* pour être utilisé " +"comme une valeur d'attribut. La valeur renvoyée est une version entre " +"guillemets de *data* avec tous les remplacements supplémentaires " +"nécessaires. :func:`quoteattr` va sélectionner un caractère guillemet basé " +"sur le contenu de *data*, en essayant d’éviter d'encoder tous les caractères " +"guillemets dans la chaine de caractères. Si les caractères guillemet simple " +"et guillemets sont déjà dans *data*, les caractères guillemets simples " +"seront encodés et *data* sera entouré de guillemets. La chaine de caractères " +"résultante pourra être utilisée en tant que valeur d'attribut ::" #: ../Doc/library/xml.sax.utils.rst:53 msgid "" "This function is useful when generating attribute values for HTML or any " "SGML using the reference concrete syntax." msgstr "" +"Cette fonction est utile quand vous générez des valeurs d'attributs pour du " +"HTML ou n'importe quel SGML en utilisant la syntaxe concrète de référence." #: ../Doc/library/xml.sax.utils.rst:59 msgid "" @@ -86,10 +114,20 @@ msgid "" "emitted as a pair of start/end tags, if set to ``True`` they are emitted as " "a single self-closed tag." msgstr "" +"Cette classe implémente l'interface :class:`~xml.sax.handler.ContentHandler` " +"en écrivant les événements SAX dans un document XML. En d'autres termes, " +"utiliser un :class:`XMLGenerator` en tant que gestionnaire de contenu " +"reproduira le document original qui était analysé. *out* devrait être un " +"objet de type fichier qui est par défaut *sys.stdout*. *encoding* est " +"l'encodage du flux de sortie qui est par défaut ``'iso-8859-1'``. " +"*short_empty_elements* contrôle le formatage des éléments qui ne contiennent " +"rien : si ``False`` (par défaut), ils sont émis comme une paire de balises " +"(début, fin). Si la valeur est ``True``, ils sont émis comme une balise " +"seule auto-fermante." #: ../Doc/library/xml.sax.utils.rst:69 msgid "The *short_empty_elements* parameter." -msgstr "" +msgstr "Le paramètre *short_empty_elements*." #: ../Doc/library/xml.sax.utils.rst:75 msgid "" @@ -99,6 +137,12 @@ msgid "" "unmodified, but subclasses can override specific methods to modify the event " "stream or the configuration requests as they pass through." msgstr "" +"Cette classe est faite pour être entre :class:`~xml.sax.xmlreader.XMLReader` " +"et le gestionnaire des événements de l'application client. Par défaut, elle " +"ne fait rien mais passe les requêtes au lecteur et les événements au " +"gestionnaire sans les modifier, mais des sous-classes peuvent surcharger des " +"méthodes spécifiques pour modifier le flux d’événements ou la configuration " +"des requêtes à leur passage." #: ../Doc/library/xml.sax.utils.rst:85 msgid "" @@ -109,3 +153,9 @@ msgid "" "function to implement the polymorphic *source* argument to their :meth:" "`parse` method." msgstr "" +"Cette fonction prend en entrée une source et une URL de base optionnelle et " +"retourne un objet complétement résolue :class:`~xml.sax.xmlreader." +"InputSource` prêt pour être lu. La source d'entrée peut être donnée comme " +"une chaine de caractère, un objet type fichier, ou un objet :class:`~xml.sax." +"xmlreader.InputSource` ; Les analyseurs utiliseront cette fonction pour " +"gérer le polymorphisme de l'argument *source* à leur méthode :meth:`parse`." diff --git a/library/xmlrpc.client.po b/library/xmlrpc.client.po index ad953f99..446cf381 100644 --- a/library/xmlrpc.client.po +++ b/library/xmlrpc.client.po @@ -145,7 +145,7 @@ msgstr "" #: ../Doc/library/xmlrpc.client.rst:95 msgid ":class:`str`" -msgstr "" +msgstr ":class:`str`" #: ../Doc/library/xmlrpc.client.rst:97 msgid "``array``" diff --git a/library/zipapp.po b/library/zipapp.po index ff4f9e4e..beb45f1d 100644 --- a/library/zipapp.po +++ b/library/zipapp.po @@ -46,7 +46,7 @@ msgstr "" #: ../Doc/library/zipapp.rst:40 msgid "Command-Line Interface" -msgstr "" +msgstr "Interface en ligne de commande" #: ../Doc/library/zipapp.rst:42 msgid "" diff --git a/library/zipfile.po b/library/zipfile.po index a0d9b08d..4c00f578 100644 --- a/library/zipfile.po +++ b/library/zipfile.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/zipfile.rst:2 msgid ":mod:`zipfile` --- Work with ZIP archives" -msgstr "" +msgstr ":mod:`zipfile` — Travailler avec des archives ZIP" #: ../Doc/library/zipfile.rst:10 msgid "**Source code:** :source:`Lib/zipfile.py`" @@ -31,6 +31,11 @@ msgid "" "Any advanced use of this module will require an understanding of the format, " "as defined in `PKZIP Application Note`_." msgstr "" +"Le format de fichier ZIP est une archive et un standard de compression " +"couramment utilisés. Ce module fournit des outils pour créer, écrire, " +"ajouter des données à et lister un fichier ZIP. L'utilisation avancée de ce " +"module requiert une certaine compréhension du format, comme défini dans " +"`PKZIP Application Note`_." #: ../Doc/library/zipfile.rst:19 msgid "" @@ -40,6 +45,12 @@ msgid "" "archives, but it currently cannot create an encrypted file. Decryption is " "extremely slow as it is implemented in native Python rather than C." msgstr "" +"Ce module ne gère pas pour l'instant les fichiers ZIP multi-disque. Il gère " +"les fichiers ZIP qui utilisent les extensions ZIP64 (c'est-à-dire des " +"fichiers d'une taille supérieure à 4 Go). Il gère le chiffrement d'archives " +"ZIP chiffrées, mais il ne peut pas pour l'instant créer de fichier chiffré. " +"Le déchiffrement est extrêmement lent car il est implémenté uniquement en " +"Python plutôt qu'en C." #: ../Doc/library/zipfile.rst:26 msgid "The module defines the following items:" @@ -47,28 +58,34 @@ msgstr "Le module définit les éléments suivants :" #: ../Doc/library/zipfile.rst:30 msgid "The error raised for bad ZIP files." -msgstr "" +msgstr "Erreur levée en cas de fichier ZIP non valide." #: ../Doc/library/zipfile.rst:37 msgid "" "Alias of :exc:`BadZipFile`, for compatibility with older Python versions." msgstr "" +"Alias de :exc:`BadZipFile`, pour la compatibilité avec les versions de " +"Python précédentes." #: ../Doc/library/zipfile.rst:44 msgid "" "The error raised when a ZIP file would require ZIP64 functionality but that " "has not been enabled." msgstr "" +"Erreur levée quand un fichier ZIP nécessite la fonctionnalité ZIP64 mais " +"qu'elle n'a pas été activée." #: ../Doc/library/zipfile.rst:51 msgid "" "The class for reading and writing ZIP files. See section :ref:`zipfile-" "objects` for constructor details." msgstr "" +"Classe pour lire et écrire des fichiers ZIP. Voir la section :ref:`zipfile-" +"objects` pour les détails du constructeur." #: ../Doc/library/zipfile.rst:58 msgid "Class for creating ZIP archives containing Python libraries." -msgstr "" +msgstr "Classe pour créer des archives ZIP contenant des bibliothèques Python." #: ../Doc/library/zipfile.rst:63 msgid "" @@ -81,6 +98,14 @@ msgid "" "of the last modification to the file; the fields are described in section :" "ref:`zipinfo-objects`." msgstr "" +"Classe utilisée pour représenter les informations d'un membre d'une archive. " +"Les instances de cette classe sont retournées par les méthodes :meth:`." +"getinfo` et :meth:`.infolist` des objets :class:`ZipFile`. La plupart des " +"utilisateurs du module :mod:`zipfile` n'ont pas besoin de créer ces " +"instances mais d'utiliser celles créées par ce module. *filename* doit être " +"le nom complet du membre de l'archive et *date_time* doit être un *tuple* " +"contenant six champs qui décrit la date de dernière modification du " +"fichier ; les champs sont décrits dans la section :ref:`zipinfo-objects`." #: ../Doc/library/zipfile.rst:75 msgid "" @@ -88,32 +113,41 @@ msgid "" "number, otherwise returns ``False``. *filename* may be a file or file-like " "object too." msgstr "" +"Retourne ``True`` si *filename* est un fichier ZIP valide basé sur son " +"nombre magique, sinon retourne ``False``. *filename* peut aussi être un " +"fichier ou un objet fichier-compatible." #: ../Doc/library/zipfile.rst:78 msgid "Support for file and file-like objects." -msgstr "" +msgstr "Gestion des objets fichier et fichier-compatibles." #: ../Doc/library/zipfile.rst:84 msgid "The numeric constant for an uncompressed archive member." -msgstr "" +msgstr "Constante numérique pour un membre d'une archive décompressée." #: ../Doc/library/zipfile.rst:89 msgid "" "The numeric constant for the usual ZIP compression method. This requires " "the :mod:`zlib` module." msgstr "" +"Constante numérique pour la méthode habituelle de compression de ZIP. " +"Nécessite le module :mod:`zlib`." #: ../Doc/library/zipfile.rst:95 msgid "" "The numeric constant for the BZIP2 compression method. This requires the :" "mod:`bz2` module." msgstr "" +"Constante numérique pour la méthode de compressions BZIP2. Nécessite le " +"module :mod:`bz2`." #: ../Doc/library/zipfile.rst:102 msgid "" "The numeric constant for the LZMA compression method. This requires the :" "mod:`lzma` module." msgstr "" +"Constante numérique pour la méthode de compressions LZMA. Nécessite le " +"module :mod:`lzma`." #: ../Doc/library/zipfile.rst:109 msgid "" @@ -123,16 +157,23 @@ msgid "" "and may either refuse to process the ZIP file altogether, or fail to extract " "individual files." msgstr "" +"La spécification du format de fichier ZIP inclut la gestion de la " +"compression BZIP2 depuis 2001 et LZMA depuis 2006. Néanmoins, certains " +"outils (comme certaines versions de Python) ne gèrent pas ces méthodes de " +"compression et peuvent soit totalement refuser de traiter le fichier ZIP " +"soit ne pas extraire certains fichiers." #: ../Doc/library/zipfile.rst:120 msgid "`PKZIP Application Note`_" -msgstr "" +msgstr "`PKZIP Application Note`_" #: ../Doc/library/zipfile.rst:119 msgid "" "Documentation on the ZIP file format by Phil Katz, the creator of the format " "and algorithms used." msgstr "" +"Documentation sur le format de fichier ZIP par Phil Katz, créateur du format " +"et des algorithmes utilisés." #: ../Doc/library/zipfile.rst:123 msgid "`Info-ZIP Home Page `_" @@ -143,10 +184,12 @@ msgid "" "Information about the Info-ZIP project's ZIP archive programs and " "development libraries." msgstr "" +"Informations sur les programmes et les bibliothèques de développement " +"d'archivage ZIP du projet Info-ZIP." #: ../Doc/library/zipfile.rst:130 msgid "ZipFile Objects" -msgstr "" +msgstr "Objets ZipFile" #: ../Doc/library/zipfile.rst:135 msgid "" @@ -179,6 +222,9 @@ msgid "" "`closed ` without adding any files to the archive, the appropriate " "ZIP structures for an empty archive will be written to the file." msgstr "" +"Si le fichier est créé avec le mode ``'w'``, ``'x'`` ou ``'a'`` et ensuite :" +"meth:`fermé ` sans ajouter de fichiers à l'archive, la structure " +"appropriée pour un fichier archive ZIP vide sera écrite dans le fichier." #: ../Doc/library/zipfile.rst:162 msgid "" @@ -190,26 +236,33 @@ msgstr "" #: ../Doc/library/zipfile.rst:169 msgid "Added the ability to use :class:`ZipFile` as a context manager." msgstr "" +"Ajout de la possibilité d'utiliser :class:`ZipFile` comme un gestionnaire de " +"contexte." #: ../Doc/library/zipfile.rst:172 msgid "Added support for :mod:`bzip2 ` and :mod:`lzma` compression." msgstr "" +"Ajout de la gestion de la compression :mod:`bzip2 ` et :mod:`lzma`." #: ../Doc/library/zipfile.rst:175 ../Doc/library/zipfile.rst:403 msgid "ZIP64 extensions are enabled by default." -msgstr "" +msgstr "Les extensions ZIP64 sont activées par défaut." #: ../Doc/library/zipfile.rst:178 msgid "" "Added support for writing to unseekable streams. Added support for the " "``'x'`` mode." msgstr "" +"Ajout de la gestion de l'écriture dans des flux non navigables. Ajout de la " +"gestion du mode ``x``." #: ../Doc/library/zipfile.rst:185 msgid "" "Close the archive file. You must call :meth:`close` before exiting your " "program or essential records will not be written." msgstr "" +"Ferme l'archive. Vous devez appeler :meth:`close` avant de terminer votre " +"programme ou des informations essentielles n'y seront pas enregistrées." #: ../Doc/library/zipfile.rst:191 msgid "" @@ -217,6 +270,9 @@ msgid "" "*name*. Calling :meth:`getinfo` for a name not currently contained in the " "archive will raise a :exc:`KeyError`." msgstr "" +"Retourne un objet :class:`ZipInfo` avec les informations du membre *name* de " +"l'archive. Appeler :meth:`getinfo` pour un nom non contenu dans l'archive " +"lève une exception :exc:`KeyError`." #: ../Doc/library/zipfile.rst:198 msgid "" @@ -224,10 +280,13 @@ msgid "" "archive. The objects are in the same order as their entries in the actual " "ZIP file on disk if an existing archive was opened." msgstr "" +"Retourne une liste contenant un objet :class:`ZipInfo` pour chaque membre de " +"l'archive. Les objets ont le même ordre que leurs entrées dans le fichier " +"ZIP présent sur disque s'il s'agissait d'une archive préexistante." #: ../Doc/library/zipfile.rst:205 msgid "Return a list of archive members by name." -msgstr "" +msgstr "Retourne une liste des membres de l'archive indexés par leur nom." #: ../Doc/library/zipfile.rst:213 msgid "" @@ -245,6 +304,8 @@ msgid "" ":meth:`~ZipFile.open` is also a context manager and therefore supports the :" "keyword:`with` statement::" msgstr "" +":meth:`~ZipFile.open` est aussi un gestionnaire de contexte et gère ainsi la " +"déclaration :keyword:`with` : ::" #: ../Doc/library/zipfile.rst:230 msgid "" @@ -264,6 +325,10 @@ msgid "" "filename or a :class:`ZipInfo` object. You will appreciate this when trying " "to read a ZIP file that contains members with duplicate names." msgstr "" +"Les méthodes :meth:`.open`, :meth:`read` et :meth:`extract` peuvent prendre " +"un nom de fichier ou un objet :class:`ZipInfo`. Cela est appréciable " +"lorsqu'on essaie de lire un fichier ZIP qui contient des membres avec des " +"noms en double." #: ../Doc/library/zipfile.rst:248 msgid "" @@ -286,10 +351,16 @@ msgid "" "to extract to. *member* can be a filename or a :class:`ZipInfo` object. " "*pwd* is the password used for encrypted files." msgstr "" +"Extrait un membre de l'archive dans le répertoire courant ; *member* doit " +"être son nom complet ou un objet :class:`ZipInfo`. Ses propriétés de fichier " +"sont extraites le plus fidèlement possible. *path* spécifie un répertoire " +"différent où l'extraire. *member* peut être un nom de fichier ou un objet :" +"class:`ZipInfo`. *pwd* est le mot de passe utilisé pour les fichiers " +"chiffrés." #: ../Doc/library/zipfile.rst:258 msgid "Returns the normalized path created (a directory or new file)." -msgstr "" +msgstr "Retourne le chemin normalisé créé (un dossier ou un nouveau fichier)." #: ../Doc/library/zipfile.rst:262 msgid "" @@ -301,6 +372,13 @@ msgid "" "``<``, ``>``, ``|``, ``\"``, ``?``, and ``*``) replaced by underscore " "(``_``)." msgstr "" +"Si le nom de fichier d'un membre est un chemin absolu, le disque/partage UNC " +"et les (anti)slashes de départ seront supprimés, par exemple `///foo/bar`` " +"devient ``foo/bar`` sous Unix et ``C:\\foo\\bar`` devient ``foo\\bar`` sous " +"Windows. Et tous les composants ``\"..\"`` dans le nom de fichier d'un " +"membre seront supprimés, par exemple ``../../foo../../ba..r`` devient " +"``foo../ba..r``. Sous Windows les caractères illégaux (``:``, ``<``, ``>``, " +"``|``, ``\"``, ``?`` et ``*``) sont remplacés par un *underscore* (``_``)." #: ../Doc/library/zipfile.rst:273 msgid "" @@ -309,6 +387,10 @@ msgid "" "and must be a subset of the list returned by :meth:`namelist`. *pwd* is the " "password used for encrypted files." msgstr "" +"Extrait tous les membres de l'archive dans le répertoire courant. *path* " +"spécifie un dossier de destination différent. *members* est optionnel et " +"doit être un sous-ensemble de la liste retournée par :meth:`namelist`. *pwd* " +"est le mot de passe utilisé pour les fichiers chiffrés." #: ../Doc/library/zipfile.rst:280 msgid "" @@ -317,14 +399,21 @@ msgid "" "absolute filenames starting with ``\"/\"`` or filenames with two dots ``\".." "\"``. This module attempts to prevent that. See :meth:`extract` note." msgstr "" +"N'extrayez jamais d'archives depuis des sources non fiables sans inspection " +"préalable. Il est possible que des fichiers soient créés en dehors de " +"*path*, par exemple des membres qui ont des chemins de fichier absolus " +"commençant par ``\"/\"`` ou des noms de fichier avec deux points ``\".." +"\"``. Ce module essaie de prévenir ceci. Voir la note de :meth:`extract`." #: ../Doc/library/zipfile.rst:289 msgid "Print a table of contents for the archive to ``sys.stdout``." -msgstr "" +msgstr "Affiche la liste des contenus de l'archive sur ``sys.stdout``." #: ../Doc/library/zipfile.rst:294 msgid "Set *pwd* as default password to extract encrypted files." msgstr "" +"Définit *pwd* comme mot de passe par défait pour extraire des fichiers " +"chiffrés." #: ../Doc/library/zipfile.rst:299 msgid "" @@ -366,12 +455,19 @@ msgid "" "before passing them to :meth:`write`. WinZip interprets all file names as " "encoded in CP437, also known as DOS Latin." msgstr "" +"Il n'y a pas d'encodage de nom de fichier officiel pour les fichiers ZIP. Si " +"vous avez des noms de fichier *unicode*, vous devez les convertir en chaînes " +"d'octets dans l'encodage désiré avant de les passer à :meth:`write`. " +"*WinZip* interprète tous les noms de fichier comme encodés en CP437, aussi " +"connu sous le nom de DOS Latin." #: ../Doc/library/zipfile.rst:338 msgid "" "Archive names should be relative to the archive root, that is, they should " "not start with a path separator." msgstr "" +"Les noms d'archive doivent être relatifs à la racine de l'archive, c'est-à-" +"dire qu'ils ne doivent pas commencer par un séparateur de chemin." #: ../Doc/library/zipfile.rst:343 msgid "" @@ -379,6 +475,8 @@ msgid "" "null byte, the name of the file in the archive will be truncated at the null " "byte." msgstr "" +"Si ``arcname`` (ou ``filename`` si ``arcname`` n'est pas donné) contient un " +"octet nul, le nom du fichier dans l'archive sera tronqué à l'octet nul." #: ../Doc/library/zipfile.rst:348 msgid "" @@ -406,14 +504,19 @@ msgid "" "*compress_type* member of the given :class:`ZipInfo` instance. By default, " "the :class:`ZipInfo` constructor sets this member to :const:`ZIP_STORED`." msgstr "" +"Lorsque l'on passe une instance de :class:`ZipInfo` dans le paramètre " +"*zinfo_or_arcname*, la méthode de compression utilisée sera celle spécifiée " +"dans le membre *compress_type* de l'instance :class:`ZipInfo` donnée. Par " +"défaut, le constructeur de la classe :class:`ZipInfo` définit ce membre à :" +"const:`ZIP_STORED`." #: ../Doc/library/zipfile.rst:368 msgid "The *compress_type* argument." -msgstr "" +msgstr "L'argument *compress_type*." #: ../Doc/library/zipfile.rst:371 msgid "The following data attributes are also available:" -msgstr "" +msgstr "Les attributs suivants sont aussi disponibles :" #: ../Doc/library/zipfile.rst:376 msgid "" @@ -421,6 +524,9 @@ msgid "" "no output) to ``3`` (the most output). Debugging information is written to " "``sys.stdout``." msgstr "" +"Le niveau d'affichage de *debug* à utiliser. Peut être défini de ``0`` (par " +"défaut, pas d'affichage) à ``3`` (affichage le plus bavard). Les " +"informations de débogage sont affichées sur ``sys.stdout``." #: ../Doc/library/zipfile.rst:382 msgid "" @@ -432,34 +538,43 @@ msgstr "" #: ../Doc/library/zipfile.rst:392 msgid "PyZipFile Objects" -msgstr "" +msgstr "Objets *PyZipFile*" #: ../Doc/library/zipfile.rst:394 msgid "" "The :class:`PyZipFile` constructor takes the same parameters as the :class:" "`ZipFile` constructor, and one additional parameter, *optimize*." msgstr "" +"Le constructeur de :class:`PyZipFile` prend les mêmes paramètres que le " +"constructeur de :class:`ZipFile` avec un paramètre additionnel *optimize*." #: ../Doc/library/zipfile.rst:400 msgid "The *optimize* parameter." -msgstr "" +msgstr "Le paramètre *optimize*." #: ../Doc/library/zipfile.rst:406 msgid "" "Instances have one method in addition to those of :class:`ZipFile` objects:" msgstr "" +"Les instances ont une méthode supplémentaire par rapport aux objets :class:" +"`ZipFile` :" #: ../Doc/library/zipfile.rst:410 msgid "" "Search for files :file:`\\*.py` and add the corresponding file to the " "archive." msgstr "" +"Cherche les fichiers :file:`\\*.py` et ajoute le fichier correspondant à " +"l'archive." #: ../Doc/library/zipfile.rst:413 msgid "" "If the *optimize* parameter to :class:`PyZipFile` was not given or ``-1``, " "the corresponding file is a :file:`\\*.pyc` file, compiling if necessary." msgstr "" +"Si le paramètre *optimize* du constructeur de :class:`PyZipFile` n'a pas été " +"donné ou est à ``-1``, le fichier correspondant est un fichier :file:`\\*." +"pyc`, à compiler si nécessaire." #: ../Doc/library/zipfile.rst:416 msgid "" @@ -467,6 +582,9 @@ msgid "" "only files with that optimization level (see :func:`compile`) are added to " "the archive, compiling if necessary." msgstr "" +"Si le paramètre *optimize* du constructeur de :class:`PyZipFile` est à " +"``0``, ``1`` ou ``2``, ne sont ajoutés dans l'archive que les fichiers avec " +"ce niveau d'optimisation (voir :func:`compile`), à compiler si nécessaire." #: ../Doc/library/zipfile.rst:420 msgid "" @@ -483,7 +601,7 @@ msgstr "" #: ../Doc/library/zipfile.rst:430 msgid "*basename* is intended for internal use only." -msgstr "" +msgstr "*basename* n'est sensé être utilisé qu'en interne." #: ../Doc/library/zipfile.rst:432 msgid "" @@ -495,18 +613,28 @@ msgid "" "directories or start with the string ``test_``, we can use a *filterfunc* to " "exclude them::" msgstr "" +"*filterfunc*, si donné, doit être une fonction prenant une seule chaîne de " +"caractères en argument. Il lui sera passé chaque chemin (incluant chaque " +"chemin de fichier complet individuel) avant d'être ajouté à l'archive. Si " +"*filterfunc* retourne une valeur fausse, le chemin n'est pas ajouté et si " +"c'est un répertoire son contenu est ignoré. Par exemple, si nos fichiers de " +"test sont tous soit dans des répertoires ``test`` ou commencent par " +"``test_``, nous pouvons utiliser une fonction *filterfunc* pour les " +"exclure : ::" #: ../Doc/library/zipfile.rst:446 msgid "The :meth:`writepy` method makes archives with file names like this::" msgstr "" +"La méthode :meth:`writepy` crée des archives avec des noms de fichier comme " +"suit : ::" #: ../Doc/library/zipfile.rst:455 msgid "The *filterfunc* parameter." -msgstr "" +msgstr "Le paramètre *filterfunc*." #: ../Doc/library/zipfile.rst:462 msgid "ZipInfo Objects" -msgstr "" +msgstr "Objets *ZipInfo*" #: ../Doc/library/zipfile.rst:464 msgid "" @@ -514,6 +642,9 @@ msgid "" "and :meth:`.infolist` methods of :class:`ZipFile` objects. Each object " "stores information about a single member of the ZIP archive." msgstr "" +"Des instances de la classe :class:`ZipInfo` sont retournées par les " +"méthodes :meth:`.getinfo` et :meth:`.infolist` des objets :class:`ZipFile`. " +"Chaque objet stocke des informations sur un seul membre de l'archive ZIP." #: ../Doc/library/zipfile.rst:468 msgid "Instances have the following attributes:" @@ -521,17 +652,19 @@ msgstr "" #: ../Doc/library/zipfile.rst:473 msgid "Name of the file in the archive." -msgstr "" +msgstr "Nom du fichier dans l'archive." #: ../Doc/library/zipfile.rst:478 msgid "" "The time and date of the last modification to the archive member. This is a " "tuple of six values:" msgstr "" +"Date et heure de dernière modification pour le membre de l'archive. *Tuple* " +"de six valeurs :" #: ../Doc/library/zipfile.rst:482 msgid "Index" -msgstr "" +msgstr "Index" #: ../Doc/library/zipfile.rst:482 msgid "Value" @@ -543,7 +676,7 @@ msgstr "``0``" #: ../Doc/library/zipfile.rst:484 msgid "Year (>= 1980)" -msgstr "" +msgstr "Année (>= 1980)" #: ../Doc/library/zipfile.rst:486 msgid "``1``" @@ -551,7 +684,7 @@ msgstr "``1``" #: ../Doc/library/zipfile.rst:486 msgid "Month (one-based)" -msgstr "" +msgstr "Mois (indexé à partir de 1)" #: ../Doc/library/zipfile.rst:488 msgid "``2``" @@ -559,7 +692,7 @@ msgstr "``2``" #: ../Doc/library/zipfile.rst:488 msgid "Day of month (one-based)" -msgstr "" +msgstr "Jour du mois (indexé à partir de 1)" #: ../Doc/library/zipfile.rst:490 msgid "``3``" @@ -567,7 +700,7 @@ msgstr "``3``" #: ../Doc/library/zipfile.rst:490 msgid "Hours (zero-based)" -msgstr "" +msgstr "Heures (indexées à partir de 0)" #: ../Doc/library/zipfile.rst:492 msgid "``4``" @@ -575,7 +708,7 @@ msgstr "``4``" #: ../Doc/library/zipfile.rst:492 msgid "Minutes (zero-based)" -msgstr "" +msgstr "Minutes (indexées à partir de 0)" #: ../Doc/library/zipfile.rst:494 msgid "``5``" @@ -583,15 +716,15 @@ msgstr "``5``" #: ../Doc/library/zipfile.rst:494 msgid "Seconds (zero-based)" -msgstr "" +msgstr "Secondes (indexées à partir de 0)" #: ../Doc/library/zipfile.rst:499 msgid "The ZIP file format does not support timestamps before 1980." -msgstr "" +msgstr "Le format de fichier ZIP ne gère pas les horodatages avant 1980." #: ../Doc/library/zipfile.rst:504 msgid "Type of compression for the archive member." -msgstr "" +msgstr "Type de compression du membre d'archive." #: ../Doc/library/zipfile.rst:509 msgid "Comment for the individual archive member." @@ -605,48 +738,48 @@ msgstr "" #: ../Doc/library/zipfile.rst:520 msgid "System which created ZIP archive." -msgstr "" +msgstr "Système ayant créé l'archive ZIP." #: ../Doc/library/zipfile.rst:525 msgid "PKZIP version which created ZIP archive." -msgstr "" +msgstr "Version de PKZIP ayant créé l'archive ZIP." #: ../Doc/library/zipfile.rst:530 msgid "PKZIP version needed to extract archive." -msgstr "" +msgstr "Version de PKZIP nécessaire à l'extraction de l'archive ZIP." #: ../Doc/library/zipfile.rst:535 msgid "Must be zero." -msgstr "" +msgstr "Doit être à zéro." #: ../Doc/library/zipfile.rst:540 msgid "ZIP flag bits." -msgstr "" +msgstr "Bits d'options ZIP." #: ../Doc/library/zipfile.rst:545 msgid "Volume number of file header." -msgstr "" +msgstr "Numéro de volume de l'entête du fichier." #: ../Doc/library/zipfile.rst:550 msgid "Internal attributes." -msgstr "" +msgstr "Attributs internes." #: ../Doc/library/zipfile.rst:555 msgid "External file attributes." -msgstr "" +msgstr "Attributs de fichier externes." #: ../Doc/library/zipfile.rst:560 msgid "Byte offset to the file header." -msgstr "" +msgstr "Longueur de l'entête du fichier en octets." #: ../Doc/library/zipfile.rst:565 msgid "CRC-32 of the uncompressed file." -msgstr "" +msgstr "CRC-32 du fichier décompressé." #: ../Doc/library/zipfile.rst:570 msgid "Size of the compressed data." -msgstr "" +msgstr "Taille des données décompressées." #: ../Doc/library/zipfile.rst:575 msgid "Size of the uncompressed file." -msgstr "" +msgstr "Taille du fichier décompressé." diff --git a/library/zipimport.po b/library/zipimport.po index 517c2bb0..8e534b95 100644 --- a/library/zipimport.po +++ b/library/zipimport.po @@ -65,6 +65,8 @@ msgid "" "Documentation on the ZIP file format by Phil Katz, the creator of the format " "and algorithms used." msgstr "" +"Documentation sur le format de fichier ZIP par Phil Katz, créateur du format " +"et des algorithmes utilisés." #: ../Doc/library/zipimport.rst:42 msgid ":pep:`273` - Import Modules from Zip Archives" diff --git a/reference/import.po b/reference/import.po index 6c85ce17..d6c28e96 100644 --- a/reference/import.po +++ b/reference/import.po @@ -1793,7 +1793,7 @@ msgstr "" #: ../Doc/reference/import.rst:931 msgid "Open issues" -msgstr "" +msgstr "Idées d'amélioration" #: ../Doc/reference/import.rst:933 msgid "XXX It would be really nice to have a diagram." @@ -1805,24 +1805,34 @@ msgid "" "attributes of modules and packages, perhaps expanding upon or supplanting " "the related entries in the data model reference page?" msgstr "" +"XXX * (``import_machinery.rst``) Pourquoi pas une section dédiée aux " +"attributs des modules et paquets, développant ou remplaçant les entrées " +"associées dans la page de référence du modèle de données ?" #: ../Doc/reference/import.rst:939 msgid "" "XXX runpy, pkgutil, et al in the library manual should all get \"See Also\" " "links at the top pointing to the new import system section." msgstr "" +"XXX *runpy*, *pkgutil* et autres dans le manuel de la bibliothèque devraient " +"comporter un lien \"Lisez aussi\" en début de page pointant vers la section " +"du nouveau mécanisme d'import." #: ../Doc/reference/import.rst:942 msgid "" "XXX Add more explanation regarding the different ways in which ``__main__`` " "is initialized?" msgstr "" +"XXX Ajouter des explications sur les différentes manières dont ``__main__`` " +"est initialisé ?" #: ../Doc/reference/import.rst:945 msgid "" "XXX Add more info on ``__main__`` quirks/pitfalls (i.e. copy from :pep:" "`395`)." msgstr "" +"XXX Ajouter des informations sur les pièges et bizarreries de ``__main__`` " +"(c-à-d des extraits de la :pep:`395`)." #: ../Doc/reference/import.rst:950 msgid "References" diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index c4ac9dc2..b14a6442 100644 --- a/reference/lexical_analysis.po +++ b/reference/lexical_analysis.po @@ -798,7 +798,7 @@ msgstr "barre oblique inversée et retour à la ligne ignorés" #: ../Doc/reference/lexical_analysis.rst:482 msgid "``\\\\``" -msgstr "" +msgstr "``\\\\``" #: ../Doc/reference/lexical_analysis.rst:482 msgid "Backslash (``\\``)" @@ -806,7 +806,7 @@ msgstr "barre oblique inversée (``\\``)" #: ../Doc/reference/lexical_analysis.rst:484 msgid "``\\'``" -msgstr "" +msgstr "``\\'``" #: ../Doc/reference/lexical_analysis.rst:484 msgid "Single quote (``'``)" @@ -814,7 +814,7 @@ msgstr "guillemet simple (``'``)" #: ../Doc/reference/lexical_analysis.rst:486 msgid "``\\\"``" -msgstr "" +msgstr "``\\\"``" #: ../Doc/reference/lexical_analysis.rst:486 msgid "Double quote (``\"``)" @@ -822,7 +822,7 @@ msgstr "guillemet double (``\"``)" #: ../Doc/reference/lexical_analysis.rst:488 msgid "``\\a``" -msgstr "" +msgstr "``\\a``" #: ../Doc/reference/lexical_analysis.rst:488 msgid "ASCII Bell (BEL)" @@ -838,7 +838,7 @@ msgstr "retour arrière ASCII (BS)" #: ../Doc/reference/lexical_analysis.rst:492 msgid "``\\f``" -msgstr "" +msgstr "``\\f``" #: ../Doc/reference/lexical_analysis.rst:492 msgid "ASCII Formfeed (FF)" @@ -862,7 +862,7 @@ msgstr "retour à la ligne ASCII (CR)" #: ../Doc/reference/lexical_analysis.rst:498 msgid "``\\t``" -msgstr "" +msgstr "``\\t``" #: ../Doc/reference/lexical_analysis.rst:498 msgid "ASCII Horizontal Tab (TAB)" @@ -870,7 +870,7 @@ msgstr "tabulation horizontale ASCII (TAB)" #: ../Doc/reference/lexical_analysis.rst:500 msgid "``\\v``" -msgstr "" +msgstr "``\\v``" #: ../Doc/reference/lexical_analysis.rst:500 msgid "ASCII Vertical Tab (VT)" @@ -878,7 +878,7 @@ msgstr "tabulation verticale ASCII (VT)" #: ../Doc/reference/lexical_analysis.rst:502 msgid "``\\ooo``" -msgstr "" +msgstr "``\\ooo``" #: ../Doc/reference/lexical_analysis.rst:502 msgid "Character with octal value *ooo*" @@ -886,11 +886,11 @@ msgstr "caractère dont le code est *ooo* en octal" #: ../Doc/reference/lexical_analysis.rst:502 msgid "(1,3)" -msgstr "" +msgstr "(1,3)" #: ../Doc/reference/lexical_analysis.rst:505 msgid "``\\xhh``" -msgstr "" +msgstr "``\\xhh``" #: ../Doc/reference/lexical_analysis.rst:505 msgid "Character with hex value *hh*" @@ -898,7 +898,7 @@ msgstr "caractère dont le code est *ooo* en hexadécimal" #: ../Doc/reference/lexical_analysis.rst:505 msgid "(2,3)" -msgstr "" +msgstr "(2,3)" #: ../Doc/reference/lexical_analysis.rst:508 msgid "Escape sequences only recognized in string literals are:" @@ -920,7 +920,7 @@ msgstr "\\(4)" #: ../Doc/reference/lexical_analysis.rst:516 msgid "``\\uxxxx``" -msgstr "" +msgstr "``\\uxxxx``" #: ../Doc/reference/lexical_analysis.rst:516 msgid "Character with 16-bit hex value *xxxx*" diff --git a/using/cmdline.po b/using/cmdline.po index f7658b75..d05f7f5e 100644 --- a/using/cmdline.po +++ b/using/cmdline.po @@ -225,7 +225,7 @@ msgstr "" #: ../Doc/using/cmdline.rst:111 msgid ":func:`runpy.run_module`" -msgstr "" +msgstr ":func:`runpy.run_module`" #: ../Doc/using/cmdline.rst:111 ../Doc/using/cmdline.rst:153 msgid "Equivalent functionality directly available to Python code" @@ -302,7 +302,7 @@ msgstr "" #: ../Doc/using/cmdline.rst:152 msgid ":func:`runpy.run_path`" -msgstr "" +msgstr ":func:`runpy.run_path`" #: ../Doc/using/cmdline.rst:156 msgid "" @@ -320,7 +320,7 @@ msgstr "" #: ../Doc/using/cmdline.rst:162 msgid ":ref:`tut-invoking`" -msgstr "" +msgstr ":ref:`tut-invoking`" #: ../Doc/using/cmdline.rst:164 msgid "Automatic enabling of tab-completion and history editing." diff --git a/using/mac.po b/using/mac.po index ed8f0e17..921c8cbf 100644 --- a/using/mac.po +++ b/using/mac.po @@ -22,7 +22,7 @@ msgstr "Utilisation de Python sur un Macintosh" #: ../Doc/using/mac.rst:8 msgid "Bob Savage " -msgstr "" +msgstr "Bob Savage " #: ../Doc/using/mac.rst:11 msgid "" @@ -74,6 +74,11 @@ msgid "" "shell path. To uninstall MacPython, you can simply remove these three " "things. A symlink to the Python executable is placed in /usr/local/bin/." msgstr "" +"Un **framework** :file:`/Library/Frameworks/Python.framework`, qui inclut " +"l’exécutable Python et ses bibliothèques. L’installateur ajoute ce chemin à " +"votre **PATH**. Pour désinstaller MacPython, vous pouvez simplement " +"supprimer ces trois choses. Un lien symbolique vers l'exécutable Python est " +"placé dans ``/usr/local/bin/``." #: ../Doc/using/mac.rst:39 msgid "" @@ -85,6 +90,14 @@ msgid "" "but functional Python installations on your computer, so it will be " "important that your paths and usages are consistent with what you want to do." msgstr "" +"Le **build** Python fourni par Apple est installé dans :file:`/System/" +"Library/Frameworks/Python.framework` et :file:`/usr/bin/python`. Vous ne " +"devriez jamais les modifier ou supprimer, car ils sont contrôlés et utilisés " +"par Apple (ou d'autres logiciels). Rappelez vous que si vous choisissez " +"d'installer un Python plus récent depuis python.org, vous aurez deux " +"installations de Python différentes et fonctionnelles sur votre ordinateur, " +"il est donc important que vos chemins et utilisations soit cohérentes avec " +"ce que vous voulez faire." #: ../Doc/using/mac.rst:47 msgid "" @@ -92,16 +105,22 @@ msgid "" "you are completely new to Python you should start reading the tutorial " "introduction in that document." msgstr "" +"**IDLE** inclut un menu d'aide qui vous permet d’accéder à la documentation " +"Python. Si vous êtes entièrement novice, vous devriez commencer par lire le " +"tutoriel d'introduction dans ce document." #: ../Doc/using/mac.rst:51 msgid "" "If you are familiar with Python on other Unix platforms you should read the " "section on running Python scripts from the Unix shell." msgstr "" +"Si vous êtes familier avec Python sur d'autres plateformes Unix, vous " +"devriez lire la section sur comment exécuter des scripts Python depuis un " +"shell Unix." #: ../Doc/using/mac.rst:56 msgid "How to run a Python script" -msgstr "" +msgstr "Comment exécuter un script Python" #: ../Doc/using/mac.rst:58 msgid "" @@ -109,6 +128,9 @@ msgid "" "integrated development environment, see section :ref:`ide` and use the Help " "menu when the IDE is running." msgstr "" +"Le meilleur moyen de démarrer avec Python sur Max OS X est d'utiliser " +"l'environnement de développement intégré **IDLE**, voir la section :ref:" +"`ide` et utilisez le menu d'aide (**Help**) quand l'``IDE`` est lancé." #: ../Doc/using/mac.rst:62 msgid "" @@ -128,14 +150,17 @@ msgid "" "To run your script from the Terminal window you must make sure that :file:`/" "usr/local/bin` is in your shell search path." msgstr "" +"Pour exécuter votre script depuis la fenêtre Terminal, vous devez vous " +"assurer que :file:`/usr/local/bin` est dans le chemin de recherche de votre " +"shell (**PATH**)." #: ../Doc/using/mac.rst:75 msgid "To run your script from the Finder you have two options:" -msgstr "" +msgstr "Pour exécuter votre script depuis le Finder vous avez deux options :" #: ../Doc/using/mac.rst:77 msgid "Drag it to :program:`PythonLauncher`" -msgstr "" +msgstr "Glissez-le vers :program:`PythonLauncher`" #: ../Doc/using/mac.rst:79 msgid "" @@ -145,10 +170,17 @@ msgid "" "script is launched. Option-dragging allows you to change these for one " "invocation, or use its Preferences menu to change things globally." msgstr "" +"Sélectionnez :program:`PythonLauncher` en tant qu'application par défaut " +"pour ouvrir votre script (ou n'importe quel script ``.py``) depuis la " +"fenêtre **info** de votre Finder puis double-cliquez votre script. :program:" +"`PythonLauncher` a des préférences variées pour contrôler comment votre " +"script est exécuté. Glisser des options permets de les changer pour une " +"invocation, ou utilisez le menu Préférences pour changer les choses " +"globalement." #: ../Doc/using/mac.rst:89 msgid "Running scripts with a GUI" -msgstr "" +msgstr "Lancer des scripts avec une interface graphique" #: ../Doc/using/mac.rst:91 msgid "" @@ -157,6 +189,12 @@ msgid "" "anything that has a GUI) need to be run in a special way. Use :program:" "`pythonw` instead of :program:`python` to start such scripts." msgstr "" +"Avec les anciennes versions de Python, il y a une bizarrerie Max OS X dont " +"vous devez être au courant : les programmes qui communiquent avec le " +"gestionnaires de fenêtre **Aqua** (en d'autres termes, tout ce qui a une " +"interface graphique) doivent être exécutés de façon spécifique. Utilisez :" +"program:`pythonw` au lieu de :program:`python` pour exécuter ce genre de " +"scripts." #: ../Doc/using/mac.rst:96 msgid "" @@ -165,7 +203,7 @@ msgstr "" #: ../Doc/using/mac.rst:100 msgid "Configuration" -msgstr "" +msgstr "Configuration" #: ../Doc/using/mac.rst:102 msgid "" @@ -175,16 +213,24 @@ msgid "" "or :file:`.cshrc` at startup. You need to create a file :file:`~/.MacOSX/" "environment.plist`. See Apple's Technical Document QA1067 for details." msgstr "" +"Python sur OS X respecte tous les standards Unix pour les variables " +"d'environnement comme :envvar:`PYTHONPATH`, mais définir ces variables pour " +"des programmes exécutés depuis le Finder n'est pas standard car le Finder ne " +"lit pas votre :file:`.profile` ou :file:`.cshrc` au démarrage. Vous devez " +"créer un fichier :file:`~/.MacOSX/environment.plist`. Voir le document " +"technique d'Apple QA1067 pour plus de détails." #: ../Doc/using/mac.rst:109 msgid "" "For more information on installation Python packages in MacPython, see " "section :ref:`mac-package-manager`." msgstr "" +"Pour plus d'informations sur l'installation de paquets Python dans " +"**MacPython**, voir la section :ref:`mac-package-manager`." #: ../Doc/using/mac.rst:116 msgid "The IDE" -msgstr "" +msgstr "L'*IDE*" #: ../Doc/using/mac.rst:118 msgid "" @@ -195,33 +241,40 @@ msgstr "" #: ../Doc/using/mac.rst:126 msgid "Installing Additional Python Packages" -msgstr "" +msgstr "Installation de paquets Python additionnels" #: ../Doc/using/mac.rst:128 msgid "There are several methods to install additional Python packages:" msgstr "" +"Il y a plusieurs méthodes pour installer des paquets Python supplémentaires :" #: ../Doc/using/mac.rst:130 msgid "" "Packages can be installed via the standard Python distutils mode (``python " "setup.py install``)." msgstr "" +"Les paquets peuvent être installés en utilisant **distutils** (``python " +"setup.py install``)." #: ../Doc/using/mac.rst:133 msgid "" "Many packages can also be installed via the :program:`setuptools` extension " "or :program:`pip` wrapper, see https://pip.pypa.io/." msgstr "" +"Beaucoup de paquets peuvent aussi être installés via l'extension :program:" +"`setuptools` ou :program:`pip`, voir https://pip.pypa.io/." #: ../Doc/using/mac.rst:138 msgid "GUI Programming on the Mac" -msgstr "" +msgstr "Programmation d'interface graphique sur le Mac" #: ../Doc/using/mac.rst:140 msgid "" "There are several options for building GUI applications on the Mac with " "Python." msgstr "" +"Il y a plusieurs options pour construire des applications avec interface " +"graphique sur le Mac avec Python." #: ../Doc/using/mac.rst:142 msgid "" @@ -229,6 +282,10 @@ msgid "" "is the foundation of most modern Mac development. Information on PyObjC is " "available from https://pythonhosted.org/pyobjc/." msgstr "" +"*PyObjC* est un **binding** Python vers le **framework** Objective-C/Cocoa " +"d'Apple, qui est la base de la plupart des développements modernes sur Mac. " +"Des informations sur PyObjC sont disponible à https://pythonhosted.org/" +"pyobjc/." #: ../Doc/using/mac.rst:146 msgid "" @@ -237,6 +294,12 @@ msgid "" "bundled with OS X by Apple, and the latest version can be downloaded and " "installed from https://www.activestate.com; it can also be built from source." msgstr "" +"La boîte à outils standard de Python pour des interfaces graphique est :mod:" +"`tkinter`, basé sur la boite a outils multi-plateformes **Tk** (https://www." +"tcl.tk). Une version native **Aqua** de **Tk** est empaquetée avec OS X par " +"Apple, et la dernière version peut être téléchargée et installée depuis " +"https://www.activestate.com ; elle peut aussi être construite depuis les " +"sources." #: ../Doc/using/mac.rst:151 msgid "" @@ -251,10 +314,13 @@ msgid "" "Mac OS X. More information can be found at https://riverbankcomputing.com/" "software/pyqt/intro." msgstr "" +"*PyQt* est une boîte à outils multi-plateformes pour interfaces graphique " +"populaire qui tourne nativement sur Mac OS X. Plus d'informations disponible " +"sur https://riverbankcomputing.com/software/pyqt/intro." #: ../Doc/using/mac.rst:160 msgid "Distributing Python Applications on the Mac" -msgstr "" +msgstr "Distribuer des Applications Python sur le Mac" #: ../Doc/using/mac.rst:162 msgid "" @@ -270,6 +336,9 @@ msgid "" "is :program:`py2app`. More information on installing and using py2app can be " "found at http://undefined.org/python/#py2app." msgstr "" +"L'outil standard pour déployer des applications Python sur le Mac est :" +"program:`py2app`. Plus d'information sur l'installation et l'utilisation de " +"**py2app** sur http://undefined.org/python/#py2app." #: ../Doc/using/mac.rst:173 msgid "Other Resources" @@ -280,15 +349,17 @@ msgid "" "The MacPython mailing list is an excellent support resource for Python users " "and developers on the Mac:" msgstr "" +"La liste de diffusion courriel **MacPython** est une excellente ressource " +"support pour les utilisateurs et développeurs Python sur Mac :" #: ../Doc/using/mac.rst:178 msgid "https://www.python.org/community/sigs/current/pythonmac-sig/" -msgstr "" +msgstr "https://www.python.org/community/sigs/current/pythonmac-sig/" #: ../Doc/using/mac.rst:180 msgid "Another useful resource is the MacPython wiki:" -msgstr "" +msgstr "Une autre ressource utile est le wiki **MacPython** :" #: ../Doc/using/mac.rst:182 msgid "https://wiki.python.org/moin/MacPython" -msgstr "" +msgstr "https://wiki.python.org/moin/MacPython" diff --git a/using/scripts.po b/using/scripts.po index 5260e6b6..7d2cb03e 100644 --- a/using/scripts.po +++ b/using/scripts.po @@ -61,6 +61,7 @@ msgstr "" #: ../Doc/using/venv-create.inc:30 msgid "The command, if run with ``-h``, will show the available options::" msgstr "" +"La commande, si lancée avec ``-h``, montrera les options disponibles ::" #: ../Doc/using/venv-create.inc:56 msgid "" @@ -73,6 +74,7 @@ msgid "" "Installs pip by default, added the ``--without-pip`` and ``--copies`` " "options" msgstr "" +"Installe pip par défaut, ajout des options ``--without-pip`` et ``--copies``" #: ../Doc/using/venv-create.inc:63 msgid "" @@ -88,12 +90,17 @@ msgid "" "packages`` key, set to ``true`` if ``venv`` is run with the ``--system-site-" "packages`` option, ``false`` otherwise." msgstr "" +"Le fichier crée ``pyenv.cfg`` inclus aussi la clé ``include-system-site-" +"packages``, dont la valeur est ``true`` si ``venv`` est lancé avec l'option " +"``--system-site-packages``, sinon sa valeur est ``false``." #: ../Doc/using/venv-create.inc:73 msgid "" "Unless the ``--without-pip`` option is given, :mod:`ensurepip` will be " "invoked to bootstrap ``pip`` into the virtual environment." msgstr "" +"Sauf si l'option ``--without-pip`` est incluse, :mod:`ensurepip` sera " +"invoqué pour amorcer ``pip`` dans l'environnement virtuel." #: ../Doc/using/venv-create.inc:76 msgid "" @@ -114,7 +121,7 @@ msgstr "Plateforme" #: ../Doc/using/venv-create.inc:84 msgid "Shell" -msgstr "" +msgstr "Invite de commande" #: ../Doc/using/venv-create.inc:84 msgid "Command to activate virtual environment" @@ -158,7 +165,7 @@ msgstr "cmd.exe" #: ../Doc/using/venv-create.inc:92 msgid "C:\\\\> \\\\Scripts\\\\activate.bat" -msgstr "" +msgstr "``C:\\\\{venv}\\\\Scripts\\\\activate.bat``" #: ../Doc/using/venv-create.inc:94 msgid "PowerShell" @@ -166,7 +173,7 @@ msgstr "PowerShell" #: ../Doc/using/venv-create.inc:94 msgid "PS C:\\\\> \\\\Scripts\\\\Activate.ps1" -msgstr "" +msgstr "``PS C:\\\\> \\\\Scripts\\\\Activate.ps1``" #: ../Doc/using/venv-create.inc:97 msgid "" @@ -189,4 +196,4 @@ msgstr "" #: ../Doc/using/venv-create.inc:109 msgid "``fish`` and ``csh`` activation scripts." -msgstr "" +msgstr "Les scripts d'activation pour ``fish`` et ``csh``." diff --git a/using/unix.po b/using/unix.po index 9b5914f2..c93827ad 100644 --- a/using/unix.po +++ b/using/unix.po @@ -18,15 +18,15 @@ msgstr "" #: ../Doc/using/unix.rst:7 msgid "Using Python on Unix platforms" -msgstr "" +msgstr "Utilisation de Python sur les plateformes Unix" #: ../Doc/using/unix.rst:13 msgid "Getting and installing the latest version of Python" -msgstr "" +msgstr "Récupérer et installer la dernière version de Python" #: ../Doc/using/unix.rst:16 msgid "On Linux" -msgstr "" +msgstr "Sur Linux" #: ../Doc/using/unix.rst:18 msgid "" @@ -35,6 +35,11 @@ msgid "" "use that are not available on your distro's package. You can easily compile " "the latest version of Python from source." msgstr "" +"Python est pré-installé sur la plupart des distributions Linux, et est " +"disponible en paquet sur toutes les autres. Cependant, il y a certaines " +"fonctionnalités que vous voudrez utiliser qui ne seront pas disponibles sur " +"le paquet de votre distribution. Vous pouvez facilement compiler la dernière " +"version de Python depuis les sources." #: ../Doc/using/unix.rst:23 msgid "" @@ -42,22 +47,25 @@ msgid "" "repositories as well, you can easily make packages for your own distro. " "Have a look at the following links:" msgstr "" +"Dans le cas où Python n'est pas pré-installé et n'est pas dans les dépôts " +"non plus, vous pouvez facilement faire les paquets pour votre propre " +"distribution. Jetez un œil à ces liens :" #: ../Doc/using/unix.rst:29 msgid "https://www.debian.org/doc/manuals/maint-guide/first.en.html" -msgstr "" +msgstr "https://www.debian.org/doc/manuals/maint-guide/first.fr.html" #: ../Doc/using/unix.rst:30 msgid "for Debian users" -msgstr "" +msgstr "pour les utilisateurs de Debian" #: ../Doc/using/unix.rst:31 msgid "https://en.opensuse.org/Portal:Packaging" -msgstr "" +msgstr "https://en.opensuse.org/Portal:Packaging" #: ../Doc/using/unix.rst:32 msgid "for OpenSuse users" -msgstr "" +msgstr "pour les utilisateurs d'OpenSuse" #: ../Doc/using/unix.rst:33 msgid "" @@ -67,23 +75,23 @@ msgstr "" #: ../Doc/using/unix.rst:34 msgid "for Fedora users" -msgstr "" +msgstr "pour les utilisateurs de Fedora" #: ../Doc/using/unix.rst:35 msgid "http://www.slackbook.org/html/package-management-making-packages.html" -msgstr "" +msgstr "http://www.slackbook.org/html/package-management-making-packages.html" #: ../Doc/using/unix.rst:36 msgid "for Slackware users" -msgstr "" +msgstr "pour les utilisateurs de Slackware" #: ../Doc/using/unix.rst:40 msgid "On FreeBSD and OpenBSD" -msgstr "" +msgstr "Sur FreeBSD et OpenBSD" #: ../Doc/using/unix.rst:42 msgid "FreeBSD users, to add the package use::" -msgstr "" +msgstr "Utilisateurs de FreeBSD, pour installer le paquet, utilisez ::" #: ../Doc/using/unix.rst:46 msgid "OpenBSD users use::" @@ -92,10 +100,12 @@ msgstr "" #: ../Doc/using/unix.rst:50 msgid "For example i386 users get the 2.5.1 version of Python using::" msgstr "" +"Par exemple les utilisateurs d'``i386`` récupèrent la version 2.5.1 de " +"Python en faisant ::" #: ../Doc/using/unix.rst:56 msgid "On OpenSolaris" -msgstr "" +msgstr "Sur OpenSolaris" #: ../Doc/using/unix.rst:58 msgid "" @@ -103,10 +113,13 @@ msgid "" "versions of Python are available and can be installed with e.g. ``pkgutil -i " "python27``." msgstr "" +"Vous pouvez récupérer Python depuis `OpenCSW `_. " +"Différentes versions de Python sont disponibles et peuvent être installées. " +"Exemple : ``pkgutil -i python27``." #: ../Doc/using/unix.rst:65 msgid "Building Python" -msgstr "" +msgstr "Compiler Python" #: ../Doc/using/unix.rst:67 msgid "" @@ -119,7 +132,7 @@ msgstr "" #: ../Doc/using/unix.rst:73 msgid "The build process consists in the usual ::" -msgstr "" +msgstr "Le processus de compilation est le suivant ::" #: ../Doc/using/unix.rst:79 msgid "" @@ -134,10 +147,13 @@ msgid "" "``make altinstall`` is therefore recommended instead of ``make install`` " "since it only installs :file:`{exec_prefix}/bin/python{version}`." msgstr "" +"``make install`` peut écraser ou cacher le binaire :file:`python3`. ``make " +"altinstall`` est donc recommandé à la place de ``make install`` puisqu'il " +"installe seulement :file:`{exec_prefix}/bin/python{version}`." #: ../Doc/using/unix.rst:91 msgid "Python-related paths and files" -msgstr "" +msgstr "Fichiers et chemins liés à Python" #: ../Doc/using/unix.rst:93 msgid "" @@ -146,15 +162,21 @@ msgid "" "${exec_prefix}``) are installation-dependent and should be interpreted as " "for GNU software; they may be the same." msgstr "" +"Ceux-ci sont sujets à des différences en fonction des conventions locales " +"d'installation ; :envvar:`prefix` (``${prefix}``) et :envvar:`exec_prefix` " +"(``${exec_prefix}``) sont dépendants de l’installation et doivent être " +"interprétés comme pour des logiciels GNU ; ils peuvent être égaux." #: ../Doc/using/unix.rst:98 msgid "" "For example, on most Linux systems, the default for both is :file:`/usr`." msgstr "" +"Par exemple, sur la plupart des systèmes Linux, leur valeur par défaut est :" +"file:`/usr`." #: ../Doc/using/unix.rst:101 msgid "File/directory" -msgstr "" +msgstr "Fichier/dossier" #: ../Doc/using/unix.rst:101 msgid "Meaning" @@ -162,38 +184,44 @@ msgstr "Signification" #: ../Doc/using/unix.rst:103 msgid ":file:`{exec_prefix}/bin/python3`" -msgstr "" +msgstr ":file:`{exec_prefix}/bin/python3`" #: ../Doc/using/unix.rst:103 msgid "Recommended location of the interpreter." -msgstr "" +msgstr "Emplacement recommandé de l'interpréteur." #: ../Doc/using/unix.rst:105 msgid "" ":file:`{prefix}/lib/python{version}`, :file:`{exec_prefix}/lib/" "python{version}`" msgstr "" +":file:`{prefix}/lib/python{version}`, :file:`{exec_prefix}/lib/" +"python{version}`" #: ../Doc/using/unix.rst:105 msgid "" "Recommended locations of the directories containing the standard modules." -msgstr "" +msgstr "Emplacements recommandés des dossiers contenant les modules standards." #: ../Doc/using/unix.rst:108 msgid "" ":file:`{prefix}/include/python{version}`, :file:`{exec_prefix}/include/" "python{version}`" msgstr "" +":file:`{prefix}/include/python{version}`, :file:`{exec_prefix}/include/" +"python{version}`" #: ../Doc/using/unix.rst:108 msgid "" "Recommended locations of the directories containing the include files needed " "for developing Python extensions and embedding the interpreter." msgstr "" +"Emplacements recommandés des dossiers contenant les entêtes nécessaires au " +"développement d'extensions Python et à l'intégration de l'interpréteur." #: ../Doc/using/unix.rst:116 msgid "Miscellaneous" -msgstr "" +msgstr "Divers" #: ../Doc/using/unix.rst:118 msgid "" @@ -206,6 +234,8 @@ msgid "" "and put an appropriate Shebang line at the top of the script. A good choice " "is usually ::" msgstr "" +"et mettre un *shebang* approprié en haut du script. Un bon choix est " +"généralement ::" #: ../Doc/using/unix.rst:128 msgid "" @@ -213,12 +243,18 @@ msgid "" "However, some Unices may not have the :program:`env` command, so you may " "need to hardcode ``/usr/bin/python3`` as the interpreter path." msgstr "" +"qui cherche l’interpréteur Python dans le :envvar:`PATH` complet. Cependant, " +"certains systèmes Unix peuvent ne pas avoir la commande :program:`env`, donc " +"vous devrez littéralement écrire ``/usr/bin/python3`` en tant que chemin " +"d’interpréteur." #: ../Doc/using/unix.rst:132 msgid "" "To use shell commands in your Python scripts, look at the :mod:`subprocess` " "module." msgstr "" +"Pour utiliser des commandes *shell* dans vos scripts Python, regardez le " +"module :mod:`subprocess`." #: ../Doc/using/unix.rst:136 msgid "Editors" diff --git a/using/windows.po b/using/windows.po index bd5c5c5d..04ecc985 100644 --- a/using/windows.po +++ b/using/windows.po @@ -25,6 +25,9 @@ msgid "" "This document aims to give an overview of Windows-specific behaviour you " "should know about when using Python on Microsoft Windows." msgstr "" +"Ce document a pour but de donner une vue d'ensemble des comportements " +"spécifiques à Windows dont vous devriez être au courant si vous utilisez " +"Python sur Microsoft Windows." #: ../Doc/using/windows.rst:16 msgid "Installing Python" @@ -41,6 +44,15 @@ msgid "" "able to install for all users of a single machine, and a separate ZIP file " "is available for application-local distributions." msgstr "" +"Contrairement à la plupart des systèmes Unix, Windows n'inclut pas " +"d'installation de Python par défaut. Pour rendre Python disponible, l’équipe " +"CPython a compilé des installateurs (paquets MSI) pour chaque `release " +"`_ depuis plusieurs années. Ces " +"installateurs sont principalement destinés à une installation par " +"utilisateur de Python, avec l’interpréteur et la bibliothèque standard " +"utilisés par un seul utilisateur. Cet installateur peut aussi installer " +"Python pour tous les utilisateurs sur une seule machine et un fichier ZIP " +"séparé est disponible pour intégrer Python dans d'autres applications." #: ../Doc/using/windows.rst:28 msgid "Supported Versions" @@ -71,17 +83,20 @@ msgstr "" #: ../Doc/using/windows.rst:46 msgid "After starting the installer, one of two options may be selected:" -msgstr "" +msgstr "Après avoir lancé l'installateur, deux options s'affichent :" #: ../Doc/using/windows.rst:50 msgid "If you select \"Install Now\":" -msgstr "" +msgstr "Si vous sélectionnez \"Installer Maintenant\" (``Install Now``):" #: ../Doc/using/windows.rst:52 msgid "" "You will *not* need to be an administrator (unless a system update for the C " "Runtime Library is required or you install the :ref:`launcher` for all users)" msgstr "" +"Vous n'aurez *pas* besoin d'avoir les droits d'administrateur (sauf si une " +"mise à jour de la bibliothèque d'exécution C est nécessaire ou si vous " +"installez le :ref:`launcher` pour tous les utilisateurs)" #: ../Doc/using/windows.rst:55 msgid "Python will be installed into your user directory" @@ -92,18 +107,23 @@ msgid "" "The :ref:`launcher` will be installed according to the option at the bottom " "of the first page" msgstr "" +"Le :ref:`launcher` sera installé suivant l'option en bas de la première page" #: ../Doc/using/windows.rst:58 msgid "The standard library, test suite, launcher and pip will be installed" msgstr "" +"La bibliothèque standard, la suite de tests, le lanceur et *pip* seront " +"installés" #: ../Doc/using/windows.rst:59 msgid "If selected, the install directory will be added to your :envvar:`PATH`" msgstr "" +"Si l'option est cochée, le dossier d'installation sera ajouté à votre :" +"envvar:`PATH`" #: ../Doc/using/windows.rst:60 msgid "Shortcuts will only be visible for the current user" -msgstr "" +msgstr "Les raccourcis ne seront visibles que pour l'utilisateur actuel" #: ../Doc/using/windows.rst:62 msgid "" @@ -112,45 +132,57 @@ msgid "" "actions. To install debugging symbols or binaries, you will need to use this " "option." msgstr "" +"Sélectionner \"Personnaliser l'installation\" (``Customize installation``) " +"vous permettra de sélectionner les fonctionnalités à installer, le chemin " +"d'installation et d'autres options ou des options post-installation. Pour " +"installer des binaires ou symboles de débogage, vous devrez utiliser cette " +"option." #: ../Doc/using/windows.rst:66 msgid "" "To perform an all-users installation, you should select \"Customize " "installation\". In this case:" msgstr "" +"Pour effectuer une installation pour tous les utilisateurs, vous devez " +"sélectionner \"Personnaliser l'installation\". Dans ce cas :" #: ../Doc/using/windows.rst:69 msgid "You may be required to provide administrative credentials or approval" msgstr "" +"Vous pouvez avoir à donner une approbation ou des identifiants administrateur" #: ../Doc/using/windows.rst:70 msgid "Python will be installed into the Program Files directory" -msgstr "" +msgstr "Python sera installé dans le dossier *Program Files*" #: ../Doc/using/windows.rst:71 msgid "The :ref:`launcher` will be installed into the Windows directory" -msgstr "" +msgstr "Le :ref:`launcher` sera installé dans le dossier *Windows*" #: ../Doc/using/windows.rst:72 msgid "Optional features may be selected during installation" msgstr "" +"Des fonctionnalités optionnelles peuvent être sélectionnées durant " +"l'installation" #: ../Doc/using/windows.rst:73 msgid "The standard library can be pre-compiled to bytecode" -msgstr "" +msgstr "La bibliothèque standard peut être pré-compilée en *bytecode*" #: ../Doc/using/windows.rst:74 msgid "" "If selected, the install directory will be added to the system :envvar:`PATH`" msgstr "" +"Si sélectionné, le chemin d'installation sera ajouté au :envvar:`PATH` " +"système" #: ../Doc/using/windows.rst:75 msgid "Shortcuts are available for all users" -msgstr "" +msgstr "Les raccourcis sont disponibles pour tous les utilisateurs" #: ../Doc/using/windows.rst:80 msgid "Installing Without UI" -msgstr "" +msgstr "Installation sans l'interface utilisateur" #: ../Doc/using/windows.rst:82 msgid "" @@ -159,6 +191,11 @@ msgid "" "on many machines without user interaction. These options may also be set " "without suppressing the UI in order to change some of the defaults." msgstr "" +"Toutes les options disponibles dans l'installateur graphique peuvent aussi " +"être spécifiées dans l'invite de commande, permettant à des installateurs " +"scriptés de répliquer une installation sur plusieurs machines sans " +"interaction humaine. Ces options peuvent aussi être ajoutées sans enlever " +"l'interface graphique pour changer les valeurs par défauts." #: ../Doc/using/windows.rst:87 msgid "" @@ -167,6 +204,11 @@ msgid "" "and errors, pass the ``/passive`` option. The ``/uninstall`` option may be " "passed to immediately begin removing Python - no prompt will be displayed." msgstr "" +"Pour complétement cacher l'interface de l'installateur et installer Python " +"silencieusement, passez l'option ``/quiet``. Pour sauter les interactions " +"utilisateur mais afficher la progression et les erreurs, passez l'option ``/" +"passive``. L'option ``/uninstall`` peut être passée pour immédiatement " +"démarrer la suppression de Python -- Aucune confirmation ne sera demandée." #: ../Doc/using/windows.rst:93 msgid "" @@ -174,6 +216,10 @@ msgid "" "``0`` to disable a feature, ``1`` to enable a feature, or a path. The full " "list of available options is shown below." msgstr "" +"Toutes les autres options sont passées sous la forme ``name=value``, ou " +"``value`` est normalement soit ``0`` pour désactiver une fonctionnalité, " +"soit ``1`` pour activer une fonctionnalité, soit un chemin. Ci-dessous la " +"liste complète des options." #: ../Doc/using/windows.rst:98 msgid "Name" @@ -185,15 +231,15 @@ msgstr "Description" #: ../Doc/using/windows.rst:98 msgid "Default" -msgstr "" +msgstr "Valeur par défaut" #: ../Doc/using/windows.rst:100 msgid "InstallAllUsers" -msgstr "" +msgstr "InstallAllUsers" #: ../Doc/using/windows.rst:100 msgid "Perform a system-wide installation." -msgstr "" +msgstr "Effectue une installation pour tous les utilisateurs." #: ../Doc/using/windows.rst:100 ../Doc/using/windows.rst:121 #: ../Doc/using/windows.rst:124 ../Doc/using/windows.rst:133 @@ -204,37 +250,42 @@ msgstr "0" #: ../Doc/using/windows.rst:102 msgid "TargetDir" -msgstr "" +msgstr "TargetDir" #: ../Doc/using/windows.rst:102 msgid "The installation directory" -msgstr "" +msgstr "Le dossier d'installation" #: ../Doc/using/windows.rst:102 msgid "Selected based on InstallAllUsers" -msgstr "" +msgstr "Sélection basée sur InstallAllUsers" #: ../Doc/using/windows.rst:105 msgid "DefaultAllUsersTargetDir" -msgstr "" +msgstr "DefaultAllUsersTargetDir" #: ../Doc/using/windows.rst:105 msgid "The default installation directory for all-user installs" msgstr "" +"Le dossier d'installation par défaut pour les installations pour tous les " +"utilisateurs" #: ../Doc/using/windows.rst:105 msgid "" ":file:`%ProgramFiles%\\\\\\ Python X.Y` or :file:`\\ %ProgramFiles(x86)%\\\\" "\\ Python X.Y`" msgstr "" +":file:`%ProgramFiles%\\\\\\ Python X.Y` ou :file:`\\ %ProgramFiles(x86)%\\\\" +"\\ Python X.Y`" #: ../Doc/using/windows.rst:110 msgid "DefaultJustForMeTargetDir" -msgstr "" +msgstr "DefaultJustForMeTargetDir" #: ../Doc/using/windows.rst:110 msgid "The default install directory for just-for-me installs" msgstr "" +"Le dossier d'installation par défaut pour des installations juste pour soi" #: ../Doc/using/windows.rst:110 msgid "" @@ -244,23 +295,25 @@ msgstr "" #: ../Doc/using/windows.rst:115 msgid "DefaultCustomTargetDir" -msgstr "" +msgstr "DefaultCustomTargetDir" #: ../Doc/using/windows.rst:115 msgid "The default custom install directory displayed in the UI" msgstr "" +"Le dossier d'installation personnalisé par défaut affiché par l'interface " +"utilisateur" #: ../Doc/using/windows.rst:115 ../Doc/using/windows.rst:164 msgid "(empty)" -msgstr "" +msgstr "(vide)" #: ../Doc/using/windows.rst:118 msgid "AssociateFiles" -msgstr "" +msgstr "AssociateFiles" #: ../Doc/using/windows.rst:118 msgid "Create file associations if the launcher is also installed." -msgstr "" +msgstr "Crée les associations de fichiers si le lanceur est aussi installé." #: ../Doc/using/windows.rst:118 ../Doc/using/windows.rst:128 #: ../Doc/using/windows.rst:131 ../Doc/using/windows.rst:135 @@ -273,15 +326,15 @@ msgstr "1" #: ../Doc/using/windows.rst:121 msgid "CompileAll" -msgstr "" +msgstr "CompileAll" #: ../Doc/using/windows.rst:121 msgid "Compile all ``.py`` files to ``.pyc``." -msgstr "" +msgstr "Compile tous les fichiers ``.py`` en ``.pyc``." #: ../Doc/using/windows.rst:124 msgid "PrependPath" -msgstr "" +msgstr "PrependPath" #: ../Doc/using/windows.rst:124 msgid "" @@ -291,138 +344,146 @@ msgstr "" #: ../Doc/using/windows.rst:128 msgid "Shortcuts" -msgstr "" +msgstr "Shortcuts" #: ../Doc/using/windows.rst:128 msgid "" "Create shortcuts for the interpreter, documentation and IDLE if installed." msgstr "" +"Crée des raccourcis pour l'interpréteur, la documentation et IDLE si " +"installé." #: ../Doc/using/windows.rst:131 msgid "Include_doc" -msgstr "" +msgstr "Include_doc" #: ../Doc/using/windows.rst:131 msgid "Install Python manual" -msgstr "" +msgstr "Installe le manuel Python" #: ../Doc/using/windows.rst:133 msgid "Include_debug" -msgstr "" +msgstr "Include_debug" #: ../Doc/using/windows.rst:133 msgid "Install debug binaries" -msgstr "" +msgstr "Installe les binaires de débogage" #: ../Doc/using/windows.rst:135 msgid "Include_dev" -msgstr "" +msgstr "Include_dev" #: ../Doc/using/windows.rst:135 msgid "Install developer headers and libraries" -msgstr "" +msgstr "Installe les fichiers d'en-tête et les bibliothèques développeur" #: ../Doc/using/windows.rst:138 msgid "Include_exe" -msgstr "" +msgstr "Include_exe" #: ../Doc/using/windows.rst:138 msgid "Install :file:`python.exe` and related files" -msgstr "" +msgstr "Installe :file:`python.exe` et les fichiers connexes" #: ../Doc/using/windows.rst:141 msgid "Include_launcher" -msgstr "" +msgstr "Include_launcher" #: ../Doc/using/windows.rst:141 msgid "Install :ref:`launcher`." -msgstr "" +msgstr "Installe le :ref:`launcher`." #: ../Doc/using/windows.rst:143 msgid "InstallLauncherAllUsers" -msgstr "" +msgstr "InstallLauncherAllUsers" #: ../Doc/using/windows.rst:143 msgid "Installs :ref:`launcher` for all users." -msgstr "" +msgstr "Installe le :ref:`launcher` pour tous les utilisateurs." #: ../Doc/using/windows.rst:146 msgid "Include_lib" -msgstr "" +msgstr "Include_lib" #: ../Doc/using/windows.rst:146 msgid "Install standard library and extension modules" -msgstr "" +msgstr "Installe la bibliothèque standard et les modules d'extension" #: ../Doc/using/windows.rst:149 msgid "Include_pip" -msgstr "" +msgstr "Include_pip" #: ../Doc/using/windows.rst:149 msgid "Install bundled pip and setuptools" -msgstr "" +msgstr "Installe ``pip`` et ``setuptools``" #: ../Doc/using/windows.rst:151 msgid "Include_symbols" -msgstr "" +msgstr "Include_symbols" #: ../Doc/using/windows.rst:151 msgid "Install debugging symbols (`*`.pdb)" -msgstr "" +msgstr "Installe les symboles de débogage (``*.pdb``)" #: ../Doc/using/windows.rst:153 msgid "Include_tcltk" -msgstr "" +msgstr "Include_tcltk" #: ../Doc/using/windows.rst:153 msgid "Install Tcl/Tk support and IDLE" -msgstr "" +msgstr "Installe Tcl/Tk et IDLE" #: ../Doc/using/windows.rst:155 msgid "Include_test" -msgstr "" +msgstr "Include_test" #: ../Doc/using/windows.rst:155 msgid "Install standard library test suite" -msgstr "" +msgstr "Installe la suite de tests de la bibliothèque standard" #: ../Doc/using/windows.rst:157 msgid "Include_tools" -msgstr "" +msgstr "Include_tools" #: ../Doc/using/windows.rst:157 msgid "Install utility scripts" -msgstr "" +msgstr "Installe les scripts utilitaires" #: ../Doc/using/windows.rst:159 msgid "LauncherOnly" -msgstr "" +msgstr "LauncherOnly" #: ../Doc/using/windows.rst:159 msgid "Only installs the launcher. This will override most other options." msgstr "" +"Installe seulement le lanceur. Ceci écrasera la plupart des autres options." #: ../Doc/using/windows.rst:162 msgid "SimpleInstall" -msgstr "" +msgstr "SimpleInstall" #: ../Doc/using/windows.rst:162 msgid "Disable most install UI" -msgstr "" +msgstr "Désactive la plupart de l'interface d'installation" #: ../Doc/using/windows.rst:164 msgid "SimpleInstallDescription" -msgstr "" +msgstr "SimpleInstallDescription" #: ../Doc/using/windows.rst:164 msgid "A custom message to display when the simplified install UI is used." msgstr "" +"Un message personnalisé à afficher quand l'interface d'installation " +"simplifiée est utilisée." #: ../Doc/using/windows.rst:168 msgid "" "For example, to silently install a default, system-wide Python installation, " "you could use the following command (from an elevated command prompt)::" msgstr "" +"Par exemple, pour installer silencieusement Python sur tout le système, vous " +"pourriez utilisez la commande suivante (depuis une invite de commande " +"administrateur) ::" #: ../Doc/using/windows.rst:173 msgid "" @@ -430,6 +491,10 @@ msgid "" "suite, you could provide a shortcut with the following command. This will " "display a simplified initial page and disallow customization::" msgstr "" +"Pour permettre à l'utilisateur d'installer facilement une copie de Python " +"sans la suite de tests, vous pouvez proposer un raccourci avec la commande " +"suivante. Cela affichera une page initiale simplifiée et interdira la " +"personnalisation ::" #: ../Doc/using/windows.rst:180 msgid "" @@ -437,6 +502,9 @@ msgid "" "recommended for per-user installs when there is also a system-wide " "installation that included the launcher.)" msgstr "" +"(Notez qu'omettre le lanceur omet aussi les associations de fichiers, et " +"n'est recommandé que pour les installations par utilisateur quand il y a " +"aussi une installation complète sur le système qui a inclus de lanceur.)" #: ../Doc/using/windows.rst:184 msgid "" @@ -449,7 +517,7 @@ msgstr "" #: ../Doc/using/windows.rst:201 msgid "Installing Without Downloading" -msgstr "" +msgstr "Installation sans téléchargement" #: ../Doc/using/windows.rst:203 msgid "" @@ -461,6 +529,15 @@ msgid "" "be bigger than required, but where a large number of installations are going " "to be performed it is very useful to have a locally cached copy." msgstr "" +"Comme certaines fonctionnalités de Python ne sont pas incluses dans " +"l'installateur initial, la sélection de certaines de ces fonctionnalités " +"peut demander une connexion Internet. Pour éviter ce besoin, tous les " +"composants nécessaires peuvent être téléchargés à la demande pour créer un " +"installateur complet qui ne demandera plus de connexion Internet " +"indépendamment des options sélectionnées. Notez que ce téléchargement peut " +"être plus gros que nécessaire, mais lorsqu'un un grand nombre " +"d'installations doivent être faites, il est très utile d'avoir une copie " +"locale." #: ../Doc/using/windows.rst:211 msgid "" @@ -474,10 +551,11 @@ msgstr "" msgid "" "You may also specify the ``/quiet`` option to hide the progress display." msgstr "" +"Vous pouvez aussi spécifier l'option ``/quiet`` pour masquer la progression." #: ../Doc/using/windows.rst:223 msgid "Modifying an install" -msgstr "" +msgstr "Modification d'une installation" #: ../Doc/using/windows.rst:225 msgid "" @@ -485,6 +563,11 @@ msgid "" "Programs and Features tool that is part of Windows. Select the Python entry " "and choose \"Uninstall/Change\" to open the installer in maintenance mode." msgstr "" +"Une fois Python installé, vous pouvez ajouter ou supprimer des " +"fonctionnalités depuis l'outil Windows *Programs and Features* (Programmes " +"et Fonctionnalités). Sélectionnez la ligne `Python` et choisissez " +"\"Uninstall/Change\" (Désinstaller/Modifier) pour ouvrir l'installateur en " +"mode maintenance." #: ../Doc/using/windows.rst:229 msgid "" @@ -493,22 +576,32 @@ msgid "" "cannot be changed in this mode, such as the install directory; to modify " "these, you will need to remove and then reinstall Python completely." msgstr "" +"\"Modify\" vous permet d'ajouter ou d'enlever des fonctionnalités en " +"modifiant les cases à cocher (les cases inchangées n'installeront ou ne " +"supprimeront rien). Certaines options ne peuvent pas être modifiées dans ce " +"mode, comme le dossier d'installation. Pour modifier ces options, vous " +"devrez ré-installer Python entièrement." #: ../Doc/using/windows.rst:234 msgid "" "\"Repair\" will verify all the files that should be installed using the " "current settings and replace any that have been removed or modified." msgstr "" +"\"Repair\" vérifiera tous les fichiers qui doivent être installés avec les " +"paramètres actuels le sont, et remplacera ceux qui ont étés supprimés ou " +"modifiés." #: ../Doc/using/windows.rst:237 msgid "" "\"Uninstall\" will remove Python entirely, with the exception of the :ref:" "`launcher`, which has its own entry in Programs and Features." msgstr "" +"\"Uninstall\" désinstallera Python entièrement, à l'exception du :ref:" +"`launcher` qui à sa propre ligne dans *Programs and Features*." #: ../Doc/using/windows.rst:241 msgid "Other Platforms" -msgstr "" +msgstr "Autres plateformes" #: ../Doc/using/windows.rst:243 msgid "" @@ -516,10 +609,15 @@ msgid "" "earlier are no longer supported (due to the lack of users or developers). " "Check :pep:`11` for details on all unsupported platforms." msgstr "" +"Avec le développement continu de Python, certaines plateformes qui étaient " +"auparavant prises en charge ne sont plus prises en charge (en raison du " +"manque d'utilisateurs ou de développeurs). Voir :pep:`11` pour plus de " +"détails sur toutes les plateformes non prises en charge." #: ../Doc/using/windows.rst:247 msgid "`Windows CE `_ is still supported." msgstr "" +"`Windows CE `_ est toujours pris en charge." #: ../Doc/using/windows.rst:248 msgid "" @@ -528,12 +626,19 @@ msgid "" "pub/pc/gnuwin32/cygwin/mirrors/cygnus/ release/python>`_, `Maintainer " "releases `_)" msgstr "" +"L’installateur `Cygwin `_ offre d’installer " +"l’interpréteur Python (cf. `Cygwin package source `_, `Maintainer " +"releases `_)" #: ../Doc/using/windows.rst:254 msgid "" "See `Python for Windows `_ for " "detailed information about platforms with pre-compiled installers." msgstr "" +"Voir `Python pour Windows `_ pour " +"des instructions détaillées sur les plateformes avec installateurs pré-" +"compilés." #: ../Doc/using/windows.rst:261 msgid "" @@ -571,7 +676,7 @@ msgstr "" #: ../Doc/using/windows.rst:276 msgid "Alternative bundles" -msgstr "" +msgstr "Paquets alternatifs" #: ../Doc/using/windows.rst:278 msgid "" @@ -579,14 +684,19 @@ msgid "" "including additional functionality. The following is a list of popular " "versions and their key features:" msgstr "" +"À part la distribution standard CPython, il y a des paquets modifiés " +"incluant des fonctionnalités additionnelles. La liste qui suit est une liste " +"de versions populaires et de leurs fonctionnalités principales :" #: ../Doc/using/windows.rst:283 msgid "`ActivePython `_" -msgstr "" +msgstr "`ActivePython `_" #: ../Doc/using/windows.rst:283 msgid "Installer with multi-platform compatibility, documentation, PyWin32" msgstr "" +"Installeur avec une compatibilité multi-plateforme, de la documentation, et " +"*PyWin32*" #: ../Doc/using/windows.rst:287 msgid "`Anaconda `_" @@ -597,6 +707,8 @@ msgid "" "Popular scientific modules (such as numpy, scipy and pandas) and the " "``conda`` package manager." msgstr "" +"Des modules scientifiques populaires (comme *numpy*, *scipy* et *pandas*) et " +"le gestionnaire de paquets ``conda``." #: ../Doc/using/windows.rst:291 msgid "`Canopy `_" @@ -607,26 +719,33 @@ msgid "" "A \"comprehensive Python analysis environment\" with editors and other " "development tools." msgstr "" +"Un \"environnement d'analyse complet Python\" avec des éditeurs et autres " +"outils de développement." #: ../Doc/using/windows.rst:295 msgid "`WinPython `_" -msgstr "" +msgstr "`WinPython `_" #: ../Doc/using/windows.rst:294 msgid "" "Windows-specific distribution with prebuilt scientific packages and tools " "for building packages." msgstr "" +"Distribution spécifique à Windows avec des paquets scientifiques pré-" +"compilés et des outils pour construire des paquets." #: ../Doc/using/windows.rst:297 msgid "" "Note that these packages may not include the latest versions of Python or " "other libraries, and are not maintained or supported by the core Python team." msgstr "" +"Notez que ces paquets peuvent ne pas inclure la dernière version de Python " +"ou d'autres bibliothèques, et ne sont pas maintenus ni supportés par les " +"*core devs* Python." #: ../Doc/using/windows.rst:303 msgid "Configuring Python" -msgstr "" +msgstr "Configurer Python" #: ../Doc/using/windows.rst:305 msgid "" @@ -636,16 +755,26 @@ msgid "" "is only reliable for a single, system-wide installation. If you regularly " "use multiple versions of Python, consider using the :ref:`launcher`." msgstr "" +"Pour exécuter Python confortablement à partir d'une invite de commandes, " +"vous pouvez envisager de modifier certaines variables d'environnement par " +"défaut dans Windows. Bien que l'installateur offre une option pour " +"configurer les variables ``PATH`` et ``PATHEXT`` pour vous, ce n'est fiable " +"que pour une seule installation à l'échelle du système. Si vous utilisez " +"régulièrement plusieurs versions de Python, pensez à utiliser le :ref:" +"`launcher`." #: ../Doc/using/windows.rst:315 msgid "Excursus: Setting environment variables" -msgstr "" +msgstr "Digression : Définition des variables d'environnement" #: ../Doc/using/windows.rst:317 msgid "" "Windows allows environment variables to be configured permanently at both " "the User level and the System level, or temporarily in a command prompt." msgstr "" +"Windows permet de configurer les variables d'environnement de façon " +"permanente au niveau de l'utilisateur et du système, ou temporairement dans " +"une invite de commandes." #: ../Doc/using/windows.rst:320 msgid "" @@ -658,6 +787,9 @@ msgid "" "These changes will apply to any further commands executed in that console, " "and will be inherited by any applications started from the console." msgstr "" +"Ces modifications s'appliqueront à toutes les autres commandes exécutées " +"dans cette console et seront héritées par toutes les applications démarrées " +"à partir de cette console." #: ../Doc/using/windows.rst:330 msgid "" @@ -667,6 +799,10 @@ msgid "" "exe` to the start is a common way to ensure the correct version of Python is " "launched." msgstr "" +"Un nom de variable entre des signes pour cent sera remplacé par sa valeur, " +"vous permettant d'ajouter votre nouvelle valeur au début ou à la fin. " +"Ajouter :program:`python.exe` au début de :envvar:`PATH` est un moyen " +"courant de s'assurer que la version correcte de Python est lancée." #: ../Doc/using/windows.rst:336 msgid "" @@ -677,12 +813,23 @@ msgid "" "variables. To change System variables, you need non-restricted access to " "your machine (i.e. Administrator rights)." msgstr "" +"Pour modifier définitivement les variables d'environnement par défaut, " +"recherchez « modifier les variables d'environnement », via le menu démarrer, " +"ou ouvrez « Propriétés Système », :guilabel:`Paramètres Système Avancés` et " +"cliquez sur le bouton :guilabel:`Variables d'Environnement`. Dans cette " +"boîte de dialogue, vous pouvez ajouter ou modifier des variables " +"utilisateurs et systèmes. Pour modifier les variables systèmes, vous avez " +"besoin d'un accès non restreint à votre ordinateur (c'est-à-dire aux droits " +"d'administrateur)." #: ../Doc/using/windows.rst:345 msgid "" "Windows will concatenate User variables *after* System variables, which may " "cause unexpected results when modifying :envvar:`PATH`." msgstr "" +"Windows va concaténer les variables utilisateurs *après* les variables " +"systèmes, ce qui peut provoquer des résultats inattendus lors de la " +"modification de :envvar:`PATH`." #: ../Doc/using/windows.rst:348 msgid "" @@ -691,6 +838,10 @@ msgid "" "only includes code that is compatible with all of your installed Python " "versions." msgstr "" +"La variable :envvar:`PYTHONPATH` est utilisée par toutes les versions de " +"Python 2 et Python 3, vous ne devez donc pas configurer cette variable de " +"façon permanente à moins qu'elle n'ajoute que du code compatible avec toutes " +"les versions de Python installées." #: ../Doc/using/windows.rst:356 msgid "https://support.microsoft.com/kb/100843" @@ -698,23 +849,26 @@ msgstr "" #: ../Doc/using/windows.rst:356 msgid "Environment variables in Windows NT" -msgstr "" +msgstr "Variables d'environnement dans Windows NT" #: ../Doc/using/windows.rst:359 msgid "https://technet.microsoft.com/en-us/library/cc754250.aspx" -msgstr "" +msgstr "https://technet.microsoft.com/en-us/library/cc754250.aspx" #: ../Doc/using/windows.rst:359 msgid "The SET command, for temporarily modifying environment variables" msgstr "" +"La commande SET, pour modifier temporairement les variables d'environnement" #: ../Doc/using/windows.rst:362 msgid "https://technet.microsoft.com/en-us/library/cc755104.aspx" -msgstr "" +msgstr "https://technet.microsoft.com/en-us/library/cc755104.aspx" #: ../Doc/using/windows.rst:362 msgid "The SETX command, for permanently modifying environment variables" msgstr "" +"La commande SETX, pour modifier de façon permanente les variables " +"d'environnement" #: ../Doc/using/windows.rst:365 msgid "https://support.microsoft.com/kb/310519" @@ -726,7 +880,7 @@ msgstr "Comment gérer les variables d'environnement sous Windows XP" #: ../Doc/using/windows.rst:367 msgid "https://www.chem.gla.ac.uk/~louis/software/faq/q1.html" -msgstr "" +msgstr "https://www.chem.gla.ac.uk/~louis/software/faq/q1.html" #: ../Doc/using/windows.rst:368 msgid "Setting Environment variables, Louis J. Farrugia" @@ -764,10 +918,18 @@ msgid "" "entries. An example variable could look like this (assuming the first two " "entries already existed)::" msgstr "" +"Si vous n'activez pas cette option au moment de l'installation, vous pouvez " +"toujours ré-exécuter l'installateur, sélectionner Modifier et l'activer. " +"Vous pouvez également modifier manuellement le :envvar:`PATH` à l'aide des " +"instructions de :ref:`setting-envvars`. Vous devez définir votre variable " +"d'environnement :envvar:`PATH` pour inclure le répertoire de votre " +"installation Python, délimité par un point-virgule des autres entrées. Une " +"variable d'exemple pourrait ressembler à ceci (en supposant que les deux " +"premières entrées existaient déjà) ::" #: ../Doc/using/windows.rst:401 msgid "Python Launcher for Windows" -msgstr "" +msgstr "Lanceur Python pour Windows" #: ../Doc/using/windows.rst:405 msgid "" @@ -776,6 +938,10 @@ msgid "" "line) to indicate a preference for a specific Python version, and will " "locate and execute that version." msgstr "" +"Le lanceur Python pour Windows est un utilitaire qui facilite la recherche " +"et l'exécution de différentes versions de Python. Il permet aux scripts (ou " +"à la ligne de commande) d'indiquer une préférence pour une version Python " +"spécifique, cherchera et exécutera cette version." #: ../Doc/using/windows.rst:410 msgid "" @@ -784,10 +950,14 @@ msgid "" "over system-wide ones, and orders by language version rather than using the " "most recently installed version." msgstr "" +"Contrairement à la variable :envvar:`PATH`, le lanceur sélectionne " +"correctement la version la plus appropriée de Python. Il préfère les " +"installations par utilisateur sur celles du système, et les trie par version " +"plutôt que d'utiliser la version la plus récente installée." #: ../Doc/using/windows.rst:416 msgid "Getting started" -msgstr "" +msgstr "Pour commencer" #: ../Doc/using/windows.rst:419 msgid "From the command-line" @@ -800,6 +970,11 @@ msgid "" "of Python, so it does not matter which version is installed. To check that " "the launcher is available, execute the following command in Command Prompt:" msgstr "" +"Les installations systèmes de Python 3.3 et ultérieur mettent le lanceur " +"dans votre :envvar:`PATH`. Le lanceur est compatible avec toutes les " +"versions disponibles de Python, peu importe lesquelles sont installées. Pour " +"vérifier que le lanceur est disponible, exécutez la commande suivante dans " +"l'invite de commandes :" #: ../Doc/using/windows.rst:430 msgid "" @@ -825,17 +1000,19 @@ msgstr "" #: ../Doc/using/windows.rst:450 msgid "If you see the following error, you do not have the launcher installed:" -msgstr "" +msgstr "Si vous voyez l'erreur suivante, le lanceur n'est pas installé :" #: ../Doc/using/windows.rst:457 msgid "" "Per-user installations of Python do not add the launcher to :envvar:`PATH` " "unless the option was selected on installation." msgstr "" +"Les installations par utilisateur de Python n'ajoutent pas le lanceur à :" +"envvar:`PATH` sauf si l'option a été sélectionnée lors de l'installation." #: ../Doc/using/windows.rst:461 msgid "Virtual environments" -msgstr "" +msgstr "Environnements virtuels" #: ../Doc/using/windows.rst:465 msgid "" @@ -846,26 +1023,38 @@ msgid "" "interpreter, either deactivate the virtual environment, or explicitly " "specify the global Python version." msgstr "" +"Si le lanceur est exécuté sans version de Python explicite et qu'un " +"environnement virtuel (créé avec le module de la bibliothèque standard :mod:" +"`venv` ou l'outil externe ``virtualenv``) est actif, le lanceur exécute " +"l'interpréteur de l'environnement virtuel plutôt que l'interpréteur global. " +"Pour exécuter l'interpréteur global, désactivez l'environnement virtuel ou " +"spécifiez explicitement la version Python globale." #: ../Doc/using/windows.rst:473 msgid "From a script" -msgstr "" +msgstr "À partir d'un script" #: ../Doc/using/windows.rst:475 msgid "" "Let's create a test Python script - create a file called ``hello.py`` with " "the following contents" msgstr "" +"Créons un script Python de test, créez un fichier appelé ``hello.py`` avec " +"le contenu suivant" #: ../Doc/using/windows.rst:484 msgid "From the directory in which hello.py lives, execute the command:" msgstr "" +"À partir du répertoire dans lequel se trouve ``hello.py``, exécutez la " +"commande :" #: ../Doc/using/windows.rst:490 msgid "" "You should notice the version number of your latest Python 2.x installation " "is printed. Now try changing the first line to be:" msgstr "" +"Vous devriez voir le numéro de version du Python 2.x le plus récemment " +"installé. Maintenant, essayez de changer la première ligne en :" #: ../Doc/using/windows.rst:497 msgid "" @@ -875,10 +1064,16 @@ msgid "" "first line to ``#! python2.6`` and you should find the 2.6 version " "information printed." msgstr "" +"La commande doit maintenant afficher les dernières informations de Python 3." +"x. Comme pour les exemples de ligne de commande ci-dessus, vous pouvez " +"spécifier un qualificateur de version plus explicite. En supposant que vous " +"avez installé Python 2.6, essayez de changer la première ligne à ``#! " +"python2.6`` et vous devriez trouver les informations de version 2.6 " +"imprimées." #: ../Doc/using/windows.rst:504 msgid "From file associations" -msgstr "" +msgstr "À partir d'associations de fichiers" #: ../Doc/using/windows.rst:506 msgid "" @@ -888,16 +1083,25 @@ msgid "" "be used, and therefore you can use the same facilities described above to " "have the script specify the version which should be used." msgstr "" +"Le lanceur aurait dû être associé à des fichiers Python (des fichiers comme " +"``.py``, ``.pyw``, ``.pyc``) lorsqu'il a été installé. Cela signifie que " +"lorsque vous double-cliquez sur l'un de ces fichiers à partir de " +"l'Explorateur Windows, le lanceur sera utilisé, et donc vous pouvez utiliser " +"les mêmes installations décrites ci-dessus pour que le script spécifie la " +"version qui doit être utilisée." #: ../Doc/using/windows.rst:512 msgid "" "The key benefit of this is that a single launcher can support multiple " "Python versions at the same time depending on the contents of the first line." msgstr "" +"L'avantage principal de ceci est qu'un seul lanceur peut prendre en charge " +"plusieurs versions de Python en même temps en fonction du contenu de la " +"première ligne." #: ../Doc/using/windows.rst:516 msgid "Shebang Lines" -msgstr "" +msgstr "Lignes Shebang" #: ../Doc/using/windows.rst:518 msgid "" @@ -915,26 +1119,30 @@ msgid "" "Windows, this launcher supports a number of 'virtual' commands to specify " "which interpreter to use. The supported virtual commands are:" msgstr "" +"Pour permettre aux *shebang* dans les scripts Python d'être portables entre " +"UNIX et Windows, ce lanceur prend en charge un certain nombre de commandes " +"« virtuelles » pour spécifier l'interpréteur à utiliser. Les commandes " +"virtuelles prises en charge sont :" #: ../Doc/using/windows.rst:529 msgid "``/usr/bin/env python``" -msgstr "" +msgstr "``/usr/bin/env python``" #: ../Doc/using/windows.rst:530 msgid "``/usr/bin/python``" -msgstr "" +msgstr "``/usr/bin/python``" #: ../Doc/using/windows.rst:531 msgid "``/usr/local/bin/python``" -msgstr "" +msgstr "``/usr/local/bin/python``" #: ../Doc/using/windows.rst:532 msgid "``python``" -msgstr "" +msgstr "``python``" #: ../Doc/using/windows.rst:534 msgid "For example, if the first line of your script starts with" -msgstr "" +msgstr "Par exemple, si la première ligne de votre script commence par" #: ../Doc/using/windows.rst:540 msgid "" @@ -944,6 +1152,11 @@ msgid "" "script on Windows which you hope will be useful on Unix, you should use one " "of the shebang lines starting with ``/usr``." msgstr "" +"Le Python par défaut sera trouvé et utilisé. Comme de nombreux scripts " +"Python écrits pour fonctionner sur UNIX auront déjà cette ligne, ils " +"devraient fonctionner avec le lanceur sans modification. Si vous écrivez un " +"nouveau script sur Windows et que vous pensez qu'il sera utile sur UNIX, " +"vous devez utiliser l'une des lignes *shebang* commençant par ``/usr``." #: ../Doc/using/windows.rst:546 msgid "" @@ -961,28 +1174,36 @@ msgid "" "behaviour of the Unix ``env`` program, which performs a :envvar:`PATH` " "search." msgstr "" +"La forme ``/usr/bin/env`` de ligne *shebang* possède une autre propriété " +"spéciale. Avant de rechercher les interpréteurs Python installés, cette " +"forme recherche d'abord l'exécutable dans le :envvar:`PATH`. Cela correspond " +"au comportement du programme Unix ``env``, qui effectue une recherche dans :" +"envvar:`PATH`." #: ../Doc/using/windows.rst:557 msgid "Arguments in shebang lines" -msgstr "" +msgstr "Arguments dans les lignes *shebang*" #: ../Doc/using/windows.rst:559 msgid "" "The shebang lines can also specify additional options to be passed to the " "Python interpreter. For example, if you have a shebang line:" msgstr "" +"Les lignes *shebang* peuvent également spécifier des options supplémentaires " +"à passer à l'interpréteur Python. Par exemple, si vous avez une ligne " +"*shebang* :" #: ../Doc/using/windows.rst:566 msgid "Then Python will be started with the ``-v`` option" -msgstr "" +msgstr "Alors, Python sera démarré avec l'option ``-v``" #: ../Doc/using/windows.rst:569 msgid "Customization" -msgstr "" +msgstr "Personnalisation" #: ../Doc/using/windows.rst:572 msgid "Customization via INI files" -msgstr "" +msgstr "Personnalisation via des fichiers INI" #: ../Doc/using/windows.rst:574 msgid "" @@ -1004,7 +1225,7 @@ msgstr "" #: ../Doc/using/windows.rst:586 msgid "Customizing default Python versions" -msgstr "" +msgstr "Personnalisation des versions Python par défaut" #: ../Doc/using/windows.rst:588 msgid "" @@ -1021,6 +1242,9 @@ msgid "" "For example, a shebang line of ``#!python`` has no version qualifier, while " "``#!python3`` has a version qualifier which specifies only a major version." msgstr "" +"Par exemple, une ligne *shebang* valant ``#!python`` n'a pas de " +"qualificateur de version, tandis que ``#!python3`` a un qualificateur de " +"version qui ne spécifie qu'une version majeure." #: ../Doc/using/windows.rst:598 msgid "" @@ -1041,6 +1265,13 @@ msgid "" "is likely, although not guaranteed, to be the most recently installed " "version in that family." msgstr "" +"Si aucun qualificateur de version mineure n'est trouvé, la variable " +"d'environnement ``PY_PYTHON{major}`` (où ``{major}`` est le qualificateur de " +"version principale actuelle tel que déterminé ci-dessus) peut être définie " +"pour spécifier la version complète. Si aucune option de ce type n'est " +"trouvée, le lanceur énumérera les versions de Python installées et utilisera " +"la dernière version mineure trouvée pour la version principale, qui est " +"probablement la plus récemment installée dans cette famille." #: ../Doc/using/windows.rst:611 msgid "" @@ -1066,18 +1297,25 @@ msgid "" "use the latest Python 2.x version installed and the command ``python3`` will " "use the latest Python 3.x installed." msgstr "" +"Si aucune option pertinente n'est définie, les commandes ``python`` et " +"``python2`` utiliseront la dernière version de Python 2.x installée et la " +"commande ``python3`` utilisera le dernier Python 3.x installé." #: ../Doc/using/windows.rst:628 msgid "" "The commands ``python3.1`` and ``python2.7`` will not consult any options at " "all as the versions are fully specified." msgstr "" +"Les commandes ``python3.1`` et ``python2.7`` ne consultent aucune option du " +"tout car les versions sont entièrement spécifiées." #: ../Doc/using/windows.rst:631 msgid "" "If ``PY_PYTHON=3``, the commands ``python`` and ``python3`` will both use " "the latest installed Python 3 version." msgstr "" +"Si ``PY_PYTHON=3``, les commandes ``python`` et ``python3`` utiliseront la " +"dernière version de Python 3 installée." #: ../Doc/using/windows.rst:634 msgid "" @@ -1086,12 +1324,18 @@ msgid "" "installed Python (PY_PYTHON was not considered at all as a major version was " "specified.)" msgstr "" +"Si ``PY_PYTHON=3.1-32``, la commande ``python`` utilisera l'implémentation " +"32-bits de 3.1 alors que la commande ``python3`` utilisera le dernier Python " +"installé (*PY_PYTHON* n'a pas été considéré du tout comme une version " +"majeure a été spécifiée.)" #: ../Doc/using/windows.rst:639 msgid "" "If ``PY_PYTHON=3`` and ``PY_PYTHON3=3.1``, the commands ``python`` and " "``python3`` will both use specifically 3.1" msgstr "" +"Si ``PY_PYTHON=3`` et ``PY_PYTHON3=3.1``, les commandes ``python`` et " +"``python3`` utiliseront spécifiquement 3.1" #: ../Doc/using/windows.rst:642 msgid "" @@ -1102,6 +1346,13 @@ msgid "" "the INI file are case insensitive.) The contents of an environment variable " "will override things specified in the INI file." msgstr "" +"En plus des variables d'environnement, les mêmes paramètres peuvent être " +"configurés dans le ``.INI`` utilisé par le lanceur. La section dans le " +"fichier INI est appelée ``[defaults]`` et le nom de la clé sera le même que " +"les variables d'environnement sans le préfixe ``PY_`` principal (et notez " +"que les noms de clés dans le fichier **INI** sont insensibles à la case.) Le " +"contenu d'une variable d'environnement remplacera les éléments spécifiés " +"dans le fichier *INI*." #: ../Doc/using/windows.rst:649 msgid "For example:" @@ -1109,17 +1360,19 @@ msgstr "Par exemple ::" #: ../Doc/using/windows.rst:651 msgid "Setting ``PY_PYTHON=3.1`` is equivalent to the INI file containing:" -msgstr "" +msgstr "Le paramètre ``PY_PYTHON=3.1`` équivaut au fichier **INI** contenant :" #: ../Doc/using/windows.rst:658 msgid "" "Setting ``PY_PYTHON=3`` and ``PY_PYTHON3=3.1`` is equivalent to the INI file " "containing:" msgstr "" +"Le paramètre ``PY_PYTHON=3`` et ``PY_PYTHON3=3.1`` équivaut au fichier *INI* " +"contenant :" #: ../Doc/using/windows.rst:668 msgid "Diagnostics" -msgstr "" +msgstr "Diagnostics" #: ../Doc/using/windows.rst:670 msgid "" @@ -1130,10 +1383,17 @@ msgid "" "particular version was chosen and the exact command-line used to execute the " "target Python." msgstr "" +"Si une variable d'environnement ``PYLAUNCH_DEBUG`` est définie (à n'importe " +"quelle valeur), le lanceur affichera des informations de diagnostic sur " +"*stderr* (c'est-à-dire sur la console). Bien que ces informations " +"parviennent à être en même temps nombreuses et concises, elles devraient " +"vous permettre de voir quelles versions de Python ont été trouvées, pourquoi " +"une version particulière a été choisie et la ligne de commande exacte " +"utilisée pour exécuter le Python cible." #: ../Doc/using/windows.rst:682 msgid "Finding modules" -msgstr "" +msgstr "Recherche de modules" #: ../Doc/using/windows.rst:684 msgid "" @@ -1143,6 +1403,11 @@ msgid "" "\\\\` and third-party modules should be stored in :file:`C:\\\\Python\\\\Lib" "\\\\site-packages\\\\`." msgstr "" +"Python stocke généralement sa bibliothèque (et donc votre dossier ``site-" +"packages``) dans le répertoire d'installation. Donc, si vous aviez installé " +"Python dans :file:`C:\\\\Python\\\\`, la bibliothèque par défaut résiderait " +"dans :file:`C:\\\\Python\\\\Lib\\\\` et les modules tiers devraient être " +"stockés dans :file:`C:\\\\Python\\\\Lib\\\\site-packages\\\\`." #: ../Doc/using/windows.rst:690 msgid "This is how :data:`sys.path` is populated on Windows:" @@ -1153,6 +1418,7 @@ msgid "" "An empty entry is added at the start, which corresponds to the current " "directory." msgstr "" +"Une entrée vide est ajoutée au début, qui correspond au répertoire courant." #: ../Doc/using/windows.rst:695 msgid "" @@ -1161,6 +1427,11 @@ msgid "" "paths in this variable must be separated by semicolons, to distinguish them " "from the colon used in drive identifiers (``C:\\`` etc.)." msgstr "" +"Si la variable d'environnement :envvar:`PYTHONPATH` existe, comme décrit " +"dans :ref:`using-on-envvars`, ses entrées sont ajoutées ensuite. Notez que " +"sur Windows, les chemins d'accès de cette variable doivent être séparés par " +"des points-virgules, pour les distinguer des deux points utilisés dans les " +"identificateurs de lecteur (``C:\\`` etc.)." #: ../Doc/using/windows.rst:700 msgid "" @@ -1171,6 +1442,14 @@ msgid "" "cause each path to be added to :data:`sys.path`. (Note that all known " "installers only use HKLM, so HKCU is typically empty.)" msgstr "" +"Des \"chemins d'accès d'application\" supplémentaires peuvent être ajoutés " +"dans le registre en tant que sous-clés de :samp:`\\\\SOFTWARE\\\\Python\\" +"\\PythonCore\\\\{version}\\\\PythonPath` sous les ruches " +"``HKEY_CURRENT_USER`` et ``HKEY_LOCAL_MACHINE``. Les sous-clés qui ont des " +"chaînes de chemin délimitées par des points-virgules comme valeur par défaut " +"entraînent l'ajout de chaque chemin d'accès à :data:`sys.path`. (Notez que " +"tous les installateurs connus utilisent seulement HKLM, donc HKCU est " +"généralement vide.)" #: ../Doc/using/windows.rst:707 msgid "" @@ -1189,12 +1468,19 @@ msgid "" "in the environment, and no registry entries can be found, a default path " "with relative entries is used (e.g. ``.\\Lib;.\\plat-win``, etc)." msgstr "" +"Si le \"Python Home\" ne peut pas être trouvé, :envvar:`PYTHONPATH` n'est " +"pas spécifié dans l'environnement et aucune entrée de registre ne peut être " +"trouvée, un chemin par défaut avec des entrées relatives est utilisé (par " +"exemple ``.\\Lib`` ; ``.\\plat-win``, etc.)." #: ../Doc/using/windows.rst:718 msgid "" "If a ``pyvenv.cfg`` file is found alongside the main executable or in the " "directory one level above the executable, the following variations apply:" msgstr "" +"Si un fichier ``pyvenv.cfg`` se trouve à côté de l'exécutable principal ou " +"dans le répertoire un niveau au-dessus de l'exécutable, les variantes " +"suivantes s'appliquent :" #: ../Doc/using/windows.rst:721 msgid "" @@ -1202,6 +1488,9 @@ msgid "" "path is used instead of the path to the main executable when deducing the " "home location." msgstr "" +"Si ``home`` est un chemin absolu et :envvar:`PYTHONHOME` n'est pas défini, " +"ce chemin d'accès est utilisé au lieu du chemin d'accès à l'exécutable " +"principal lors de la déduction de l'emplacement du `home`." #: ../Doc/using/windows.rst:725 msgid "" @@ -1212,7 +1501,7 @@ msgstr "" #: ../Doc/using/windows.rst:729 msgid "The end result of all this is:" -msgstr "" +msgstr "Le résultat final de tout ceci est :" #: ../Doc/using/windows.rst:731 msgid "" @@ -1221,6 +1510,11 @@ msgid "" "directory), the core path is deduced, and the core paths in the registry are " "ignored. Other \"application paths\" in the registry are always read." msgstr "" +"Lors de l'exécution de :file:`python.exe`, ou tout autre ``.exe`` dans le " +"répertoire principal de Python (soit une version installée, soit directement " +"à partir du répertoire PCbuild), le chemin principal est déduit et les " +"chemins d'accès principaux dans le Registre sont ignorés. D'autres \"chemins " +"d'application\" dans le registre sont toujours lus." #: ../Doc/using/windows.rst:736 msgid "" @@ -1229,6 +1523,10 @@ msgid "" "the registry is used. Other \"application paths\" in the registry are " "always read." msgstr "" +"Lorsque Python est hébergé dans un autre fichier ``.exe`` (répertoire " +"différent, intégré via COM, etc.), le \"Python Home\" ne sera pas déduit, de " +"sorte que le chemin d'accès principal du registre est utilisé. D'autres " +"\"chemins d'application\" dans le registre sont toujours lus." #: ../Doc/using/windows.rst:740 msgid "" @@ -1236,12 +1534,18 @@ msgid "" "some very strange installation setup) you get a path with some default, but " "relative, paths." msgstr "" +"Si Python ne peut pas trouver son \"home\" et il n'y a pas de valeur de " +"registre (*.exe* gelé, une installation très étrange) vous obtenez un chemin " +"d'accès avec certains chemins par défaut, mais relatif." #: ../Doc/using/windows.rst:744 msgid "" "For those who want to bundle Python into their application or distribution, " "the following advice will prevent conflicts with other installations:" msgstr "" +"Pour ceux qui veulent intégrer Python dans leur application ou leur " +"distribution, les conseils suivants empêcheront les conflits avec d'autres " +"installations :" #: ../Doc/using/windows.rst:747 msgid "" @@ -1264,6 +1568,8 @@ msgid "" "Clear and/or overwrite :envvar:`PYTHONPATH` and set :envvar:`PYTHONHOME` " "before launching :file:`python.exe` from your application." msgstr "" +"Effacer et/ou écraser :envvar:`PYTHONPATH` et configurez :envvar:" +"`PYTHONHOME` avant de lancer le :file:`python.exe` de votre application." #: ../Doc/using/windows.rst:760 msgid "" @@ -1285,7 +1591,7 @@ msgstr "" #: ../Doc/using/windows.rst:772 msgid "Additional modules" -msgstr "" +msgstr "Modules supplémentaires" #: ../Doc/using/windows.rst:774 msgid "" @@ -1293,12 +1599,18 @@ msgid "" "features that are unique to Windows. A couple of modules, both in the " "standard library and external, and snippets exist to use these features." msgstr "" +"Même si Python a l'ambition d'être portable parmi toutes les plates-formes, " +"il existe des fonctionnalités propres à Windows. Certains modules, à la fois " +"dans la bibliothèque standard et externe, et des exemples existent pour " +"utiliser ces fonctionnalités." #: ../Doc/using/windows.rst:778 msgid "" "The Windows-specific standard modules are documented in :ref:`mswin-specific-" "services`." msgstr "" +"Les modules standard de Windows sont documentés dans :ref:`mswin-specific-" +"services`." #: ../Doc/using/windows.rst:782 msgid "PyWin32" @@ -1352,6 +1664,7 @@ msgstr "" msgid "" "`Win32 How Do I...? `_" msgstr "" +"`Win32 How Do I...? `_" #: ../Doc/using/windows.rst:802 msgid "by Tim Golden" @@ -1359,7 +1672,7 @@ msgstr "par Tim Golden" #: ../Doc/using/windows.rst:804 msgid "`Python and COM `_" -msgstr "" +msgstr "`Python and COM `_" #: ../Doc/using/windows.rst:805 msgid "by David and Paul Boddie" @@ -1367,7 +1680,7 @@ msgstr "par David et Paul Boddie" #: ../Doc/using/windows.rst:809 msgid "cx_Freeze" -msgstr "" +msgstr "cx_Freeze" #: ../Doc/using/windows.rst:811 msgid "" @@ -1388,12 +1701,18 @@ msgid "" "restricted to Unix-like systems, there is a library exclusive to Windows as " "well: Windows Console I/O for Python." msgstr "" +"Depuis la couche avancée de gestion de terminal de Python, :mod:`curses`, " +"est limité aux systèmes de type UNIX, il existe une bibliothèque exclusive à " +"Windows : *Windows Console I/O for Python*." #: ../Doc/using/windows.rst:825 msgid "" "`WConio `_ is a wrapper " "for Turbo-C's :file:`CONIO.H`, used to create text user interfaces." msgstr "" +"`WConio `_ est un " +"*wrapper* pour les fichiers Turbo-C :file:`CONIO.H`, utilisé pour créer des " +"interfaces texte utilisateur." #: ../Doc/using/windows.rst:831 msgid "Compiling Python on Windows" @@ -1413,6 +1732,10 @@ msgid "" "Visual Studio 2015, which is the compiler used to build the official Python " "releases. These files are in the :file:`PCbuild` directory." msgstr "" +"L'arborescence source contient une solution de compilation et des fichiers " +"projet pour Microsoft Visual Studio 2015, qui est le compilateur utilisé " +"pour générer les versions officielles de Python. Ces fichiers se trouvent " +"dans le répertoire :file:`PCbuild`." #: ../Doc/using/windows.rst:842 msgid "" @@ -1424,13 +1747,15 @@ msgstr "" #: ../Doc/using/windows.rst:845 msgid "For extension modules, consult :ref:`building-on-windows`." -msgstr "" +msgstr "Pour les modules d'extension, consultez :ref:`building-on-windows`." #: ../Doc/using/windows.rst:852 msgid "" "`Python + Windows + distutils + SWIG + gcc MinGW `_" msgstr "" +"`Python + Windows + distutils + SWIG + gcc MinGW `_" #: ../Doc/using/windows.rst:850 msgid "" @@ -1438,12 +1763,17 @@ msgid "" "MinGW gcc under Windows\" or \"Installing Python extension with distutils " "and without Microsoft Visual C++\" by Sébastien Sauvage, 2003" msgstr "" +"ou \"*Creating Python extensions in C/C++ with SWIG and compiling them with " +"MinGW gcc under Windows*\" ou \"*Installing Python extension with distutils " +"and without Microsoft Visual C++*\" par Sébastien Sauvage, 2003" #: ../Doc/using/windows.rst:854 msgid "" "`MingW -- Python extensions `_" msgstr "" +"`MingW -- Python extensions `_" #: ../Doc/using/windows.rst:855 msgid "by Trent Apted et al, 2007" @@ -1459,6 +1789,9 @@ msgid "" "environment. It is intended for acting as part of another application, " "rather than being directly accessed by end-users." msgstr "" +"La distribution embarquée est un fichier ZIP contenant un environnement " +"Python minimal. Il est destiné à agir dans le cadre d'une autre application, " +"plutôt que d'être directement accessible par les utilisateurs finaux." #: ../Doc/using/windows.rst:867 msgid "" @@ -1480,6 +1813,12 @@ msgid "" "via Windows Update, and can be detected by finding ``ucrtbase.dll`` in the " "system directory." msgstr "" +"La distribution intégrée n'inclut pas le `Microsoft C Runtime `_ et il est de la " +"responsabilité de l'installateur d'application de le fournir. Le *runtime* " +"peut avoir déjà été installé sur le système d'un utilisateur précédemment ou " +"automatiquement via Windows Update, et peut être détecté en trouvant " +"``ucrtbase.dll`` dans le répertoire système." #: ../Doc/using/windows.rst:883 msgid "" @@ -1491,15 +1830,26 @@ msgid "" "part of the application (\"vendoring\") so that the developer can ensure " "compatibility with newer versions before providing updates to users." msgstr "" +"Les paquets tiers doivent être installés par le programme d'installation de " +"l'application parallèlement à la distribution embarquée. L'utilisation de " +"pip pour gérer les dépendances comme pour une installation Python régulière " +"n'est pas prise en charge avec cette distribution, mais il reste possible " +"d'inclure et d'utiliser pip pour les mises à jour automatiques. En général, " +"les paquets tiers doivent être traités dans le cadre de l'application " +"(*vendoring*) afin que le développeur puisse assurer la compatibilité avec " +"les versions plus récentes avant de fournir des mises à jour aux " +"utilisateurs." #: ../Doc/using/windows.rst:891 msgid "" "The two recommended use cases for this distribution are described below." msgstr "" +"Les deux cas d'utilisation recommandés pour cette distribution sont décrits " +"ci-dessous." #: ../Doc/using/windows.rst:894 msgid "Python Application" -msgstr "" +msgstr "Application Python" #: ../Doc/using/windows.rst:896 msgid "" @@ -1509,6 +1859,12 @@ msgid "" "transparent it should be (or conversely, how professional it should appear), " "there are two options." msgstr "" +"Une application écrite en Python n'exige pas nécessairement que les " +"utilisateurs soient au courant de ce fait. La distribution embarquée peut " +"être utilisée dans ce cas pour inclure une version privée de Python dans un " +"package d'installation. Selon la façon dont il devrait être transparent (ou " +"inversement, à quel point il doit paraître professionnel), il y a deux " +"options." #: ../Doc/using/windows.rst:902 msgid "" @@ -1520,6 +1876,14 @@ msgid "" "launcher should simply be able to call ``Py_Main`` with a hard-coded command " "line." msgstr "" +"L'utilisation d'un exécutable spécialisé en tant que lanceur nécessite de la " +"programmation, mais fournit l'expérience la plus transparente pour les " +"utilisateurs. Avec un lanceur personnalisé, il n'y a pas d'indications " +"évidentes que le programme s'exécute sur Python : les icônes peuvent être " +"personnalisées, les informations de la société et de la version peuvent être " +"spécifiées, et les associations de fichiers se comportent correctement. Dans " +"la plupart des cas, un lanceur personnalisé devrait simplement pouvoir " +"appeler ``Py_Main`` avec une ligne de commande codée en dur." #: ../Doc/using/windows.rst:909 msgid "" @@ -1529,6 +1893,12 @@ msgid "" "Python and not its actual name, and users may have trouble distinguishing it " "from other running Python processes or file associations." msgstr "" +"L'approche la plus simple consiste à fournir un fichier batch ou un " +"raccourci généré qui appelle directement le ``python.exe`` ou ``pythonw." +"exe`` avec les arguments de ligne de commande requis. Dans ce cas, " +"l'application semble être Python et non son nom réel, et les utilisateurs " +"peuvent avoir du mal à le distinguer des autres processus Python en cours " +"d'exécution ou des associations de fichiers." #: ../Doc/using/windows.rst:915 msgid "" @@ -1538,10 +1908,15 @@ msgid "" "there is an opportunity to specify the search path before launching the " "application." msgstr "" +"Avec cette dernière approche, les packages doivent être installés en tant " +"que répertoires à côté de l'exécutable Python pour s'assurer qu'ils soient " +"visibles par Python. Avec le lanceur spécialisé, les paquets peuvent être " +"installés dans d'autres emplacements car il y a une possibilité de spécifier " +"le chemin de recherche avant de lancer l'application." #: ../Doc/using/windows.rst:921 msgid "Embedding Python" -msgstr "" +msgstr "Embarquer Python" #: ../Doc/using/windows.rst:923 msgid "" @@ -1553,6 +1928,13 @@ msgid "" "application installation is sufficient to provide a loadable Python " "interpreter." msgstr "" +"Les applications écrites en code natif nécessitent souvent une certaine " +"forme de langage de *scripting*, et la distribution Python intégrée peut " +"être utilisée à cette fin. En général, la majorité de l'application est dans " +"le code natif, qui soit invoque ``python.exe`` soit utilise directement " +"``python3.dll``. Dans les deux cas, l'extraction de la distribution intégrée " +"dans un sous-répertoire de l'installation de l'application est suffisante " +"pour fournir un interpréteur Python chargeable." #: ../Doc/using/windows.rst:930 msgid "" @@ -1561,6 +1943,11 @@ msgid "" "interpreter. Otherwise, there is no fundamental differences between using " "the embedded distribution and a regular installation." msgstr "" +"Comme pour l'utilisation de l'application, les paquets peuvent être " +"installés sur n'importe quel emplacement, car il est possible de spécifier " +"des chemins de recherche avant d'initialiser l'interpréteur. Sinon, il n'y a " +"pas de différences fondamentales entre l'utilisation de la distribution " +"embarquée et une installation classique." #: ../Doc/using/windows.rst:936 msgid "Other resources" diff --git a/whatsnew/2.5.po b/whatsnew/2.5.po index bde3d1c7..d50124d2 100644 --- a/whatsnew/2.5.po +++ b/whatsnew/2.5.po @@ -2304,6 +2304,13 @@ msgid "" "application using SQLite and then port the code to a larger database such as " "PostgreSQL or Oracle." msgstr "" +"SQLite est une bibliothèque C qui fournit une base de données légère sur " +"disque ne nécessitant pas de processus serveur et qui utilise une variante " +"(non standard) du langage de requête SQL pour accéder aux données. Certaines " +"applications peuvent utiliser SQLite pour le stockage de données internes. " +"Il est également possible de créer une application prototype utilisant " +"SQLite, puis de modifier le code pour utiliser une base de données plus " +"robuste telle que PostgreSQL ou Oracle." #: ../Doc/whatsnew/2.5.rst:1943 msgid "" @@ -2332,6 +2339,8 @@ msgid "" "You can also supply the special name ``:memory:`` to create a database in " "RAM." msgstr "" +"Vous pouvez également fournir le nom spécial ``:memory:`` pour créer une " +"base de données dans la mémoire vive." #: ../Doc/whatsnew/2.5.rst:1959 msgid "" @@ -2366,7 +2375,7 @@ msgstr "" #: ../Doc/whatsnew/2.5.rst:2002 msgid "This example uses the iterator form::" -msgstr "" +msgstr "Cet exemple utilise la forme itérateur ::" #: ../Doc/whatsnew/2.5.rst:2015 msgid "" @@ -2384,13 +2393,15 @@ msgstr "" #: ../Doc/whatsnew/2.5.rst:2026 msgid "https://www.sqlite.org" -msgstr "" +msgstr "https://www.sqlite.org" #: ../Doc/whatsnew/2.5.rst:2025 msgid "" "The SQLite web page; the documentation describes the syntax and the " "available data types for the supported SQL dialect." msgstr "" +"Dans la page Web de SQLite, la documentation décrit la syntaxe et les types " +"de données disponibles qui sont pris en charge par cette variante SQL." #: ../Doc/whatsnew/2.5.rst:2028 msgid "The documentation for the :mod:`sqlite3` module." @@ -2398,11 +2409,11 @@ msgstr "" #: ../Doc/whatsnew/2.5.rst:2030 msgid ":pep:`249` - Database API Specification 2.0" -msgstr "" +msgstr ":pep:`249` — Spécifications de l'API 2.0 pour la base de données" #: ../Doc/whatsnew/2.5.rst:2031 msgid "PEP written by Marc-André Lemburg." -msgstr "" +msgstr "PEP écrite par Marc-André Lemburg." #: ../Doc/whatsnew/2.5.rst:2039 msgid "The wsgiref package" diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po index e307f733..8c614425 100644 --- a/whatsnew/2.6.po +++ b/whatsnew/2.6.po @@ -1482,7 +1482,7 @@ msgstr "C’est équivalent à ::" #: ../Doc/whatsnew/2.6.rst:1382 msgid ":pep:`3129` - Class Decorators" -msgstr "" +msgstr ":pep:`3129` -- Décorateurs de classes" #: ../Doc/whatsnew/2.6.rst:1383 msgid "PEP written by Collin Winter." diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po index fa12d7f7..d47de501 100644 --- a/whatsnew/2.7.po +++ b/whatsnew/2.7.po @@ -705,7 +705,7 @@ msgstr "" #: ../Doc/whatsnew/2.7.rst:717 msgid "is equivalent to::" -msgstr "" +msgstr "est équivalente à ::" #: ../Doc/whatsnew/2.7.rst:723 msgid "" diff --git a/whatsnew/3.4.po b/whatsnew/3.4.po index f6a4b90b..83076b16 100644 --- a/whatsnew/3.4.po +++ b/whatsnew/3.4.po @@ -695,7 +695,7 @@ msgstr "" #: ../Doc/whatsnew/3.4.rst:526 msgid "pathlib" -msgstr "" +msgstr "pathlib" #: ../Doc/whatsnew/3.4.rst:528 msgid "" diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index 77f4e109..ab251f23 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -1833,7 +1833,7 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:1521 msgid "pathlib" -msgstr "" +msgstr "pathlib" #: ../Doc/whatsnew/3.5.rst:1523 msgid ""