diff --git a/library/dataclasses.po b/library/dataclasses.po index 8cdf04b6..c462cebc 100644 --- a/library/dataclasses.po +++ b/library/dataclasses.po @@ -6,13 +6,14 @@ msgstr "" "Project-Id-Version: Python 3.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-09-15 21:52+0200\n" -"PO-Revision-Date: 2018-08-03 23:47+0200\n" -"Last-Translator: Julien Palard \n" +"PO-Revision-Date: 2018-09-20 22:53+0200\n" +"Last-Translator: Romain Dorgueil \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.1.1\n" #: ../Doc/library/dataclasses.rst:2 msgid ":mod:`dataclasses` --- Data Classes" @@ -29,32 +30,45 @@ msgid "" "`__repr__` to user-defined classes. It was originally described in :pep:" "`557`." msgstr "" +"Ce module fournit un décorateur et des fonctions pour générer " +"automatiquement les :term:`special method`\\s comme :meth:`__init__` et :" +"meth:`__repr__` dans les *Data Classes* définies par l’utilisateur. Ces " +"classes ont été décrites dans la :pep:`557`." #: ../Doc/library/dataclasses.rst:19 msgid "" "The member variables to use in these generated methods are defined using :" "pep:`526` type annotations. For example this code::" msgstr "" +"Les variables membres à utiliser dans ces méthodes générées sont définies en " +"utilisant les annotations de type :pep:`526`. Par exemple, ce code ::" #: ../Doc/library/dataclasses.rst:32 msgid "Will add, among other things, a :meth:`__init__` that looks like::" msgstr "" +"Va ajouter, entre autres choses, une méthode :meth:`__init__` qui ressemble " +"à ::" #: ../Doc/library/dataclasses.rst:39 msgid "" "Note that this method is automatically added to the class: it is not " "directly specified in the ``InventoryItem`` definition shown above." msgstr "" +"Il est important de noter que cette méthode est ajoutée automatiquement dans " +"la classe : elle n’est pas à écrire dans la définition de ``InventoryItem`` " +"ci-dessus." #: ../Doc/library/dataclasses.rst:45 msgid "Module-level decorators, classes, and functions" -msgstr "" +msgstr "Décorateurs au niveau du module, classes, et fonctions" #: ../Doc/library/dataclasses.rst:49 msgid "" "This function is a :term:`decorator` that is used to add generated :term:" "`special method`\\s to classes, as described below." msgstr "" +"Cette fonction est un :term:`decorator` qui est utilisé pour ajouter les :" +"term:`special method`\\s générées aux classes, comme décrit ci-dessous." #: ../Doc/library/dataclasses.rst:52 msgid "" @@ -63,12 +77,19 @@ msgid "" "exceptions described below, nothing in :func:`dataclass` examines the type " "specified in the variable annotation." msgstr "" +"Le décorateur :func:`dataclass` examine la classe pour trouver des ``field``" +"\\s. Un ``field`` est défini comme une variable de classe qui possède une " +"annotation de type. À deux exceptions près décrites plus bas, il n’y a rien " +"dans :func:`dataclass` qui examine le type spécifié dans l’annotation de " +"variable." #: ../Doc/library/dataclasses.rst:58 msgid "" "The order of the fields in all of the generated methods is the order in " "which they appear in the class definition." msgstr "" +"L’ordre des champs dans toutes les méthodes générées est l’ordre dans lequel " +"ils apparaissent dans la définition de la classe." #: ../Doc/library/dataclasses.rst:61 msgid "" @@ -77,6 +98,11 @@ msgid "" "class, the behavior depends on the parameter, as documented below. The " "decorator returns the same class that is called on; no new class is created." msgstr "" +"Le décorateur :func:`dataclass` va ajouter diverses méthodes « spéciales » à " +"la classe, décrites ci-après. Si l’une des méthodes ajoutées existe déjà " +"dans la classe, le comportement va dépendre du paramètre, comme documenté ci-" +"dessous. Le décorateur renvoie la classe sur laquelle il est appelé; il n’y " +"a pas de nouvelle classe crée." #: ../Doc/library/dataclasses.rst:67 msgid "" @@ -84,20 +110,27 @@ msgid "" "it acts as if it has the default values documented in this signature. That " "is, these three uses of :func:`dataclass` are equivalent::" msgstr "" +"Si :func:`dataclass` est utilisé comme un simple décorateur sans paramètres, " +"il se comporte comme si on lui avait fourni les valeurs par défaut de sa " +"signature. Ainsi, les trois usages suivants de :func:`dataclass` sont " +"équivalents ::" #: ../Doc/library/dataclasses.rst:84 msgid "The parameters to :func:`dataclass` are:" -msgstr "" +msgstr "Les paramètres de :func:`dataclass` sont :" #: ../Doc/library/dataclasses.rst:86 msgid "" "``init``: If true (the default), a :meth:`__init__` method will be generated." msgstr "" +"``init``: Si vrai (par défaut), une méthode :meth:`__init__` sera générée." #: ../Doc/library/dataclasses.rst:89 msgid "" "If the class already defines :meth:`__init__`, this parameter is ignored." msgstr "" +"Si la classe définit déjà une méthode :meth:`__init__`, ce paramètre est " +"ignoré." #: ../Doc/library/dataclasses.rst:92 msgid "" @@ -108,11 +141,19 @@ msgid "" "example: ``InventoryItem(name='widget', unit_price=3.0, " "quantity_on_hand=10)``." msgstr "" +"``repr``: Si vrai (par défaut), une méthode :meth:`__repr__` sera générée. " +"La chaîne de représentation comportera le nom de la classe et le nom ainsi " +"que la représentation de chaque champ, suivant leur ordre de définition. " +"Les champs marqués comme exclus (voir ``Field`` ci-dessous) de la " +"représentation ne sont pas inclus. Par exemple : " +"``InventoryItem(name='widget', unit_price=3.0, quantity_on_hand=10)``." #: ../Doc/library/dataclasses.rst:99 msgid "" "If the class already defines :meth:`__repr__`, this parameter is ignored." msgstr "" +"Si la classe définit déjà une méthode :meth:`__repr__`, ce paramètre est " +"idnoré." #: ../Doc/library/dataclasses.rst:102 msgid "" @@ -120,10 +161,16 @@ msgid "" "This method compares the class as if it were a tuple of its fields, in " "order. Both instances in the comparison must be of the identical type." msgstr "" +"``eq``: Si vrai (par défaut), une méthode :meth:`__eq__` sera générée. " +"Cette méthode permet de comparer les instances de la classe comme s’il " +"s’agissait d’un tuple de ses champs, dans l’ordre. Les deux instances dans " +"la comparaison doivent être de même type." #: ../Doc/library/dataclasses.rst:107 msgid "If the class already defines :meth:`__eq__`, this parameter is ignored." msgstr "" +"Si la classe définit déjà une méthode :meth:`__eq__`, ce paramètre est " +"ignoré." #: ../Doc/library/dataclasses.rst:110 msgid "" @@ -133,18 +180,29 @@ msgid "" "instances in the comparison must be of the identical type. If ``order`` is " "true and ``eq`` is false, a :exc:`ValueError` is raised." msgstr "" +"``order``: Si vrai (``False`` par défaut), les méthodes :meth:`__lt__`, :" +"meth:`__le__`, :meth:`__gt__`, et :meth:`__ge__` seront générées. Elles " +"permettent de comparer les instances de la classe comme si c’était des " +"tuples, dans l’ordre de définition des champs. Chaque instance dans la " +"comparaison doit être de même type. Si ``order`` est vrai mais que ``eq`` " +"est faux, une :exc:`ValueError` est levée." #: ../Doc/library/dataclasses.rst:117 msgid "" "If the class already defines any of :meth:`__lt__`, :meth:`__le__`, :meth:" "`__gt__`, or :meth:`__ge__`, then :exc:`TypeError` is raised." msgstr "" +"Si la classe définit déjà l’une des méthodes :meth:`__lt__`, :meth:" +"`__le__`, :meth:`__gt__`, ou :meth:`__ge__`, alors une :exc:`TypeError` est " +"levée." #: ../Doc/library/dataclasses.rst:121 msgid "" "``unsafe_hash``: If ``False`` (the default), a :meth:`__hash__` method is " "generated according to how ``eq`` and ``frozen`` are set." msgstr "" +"``unsafe_hash``: Si ``False`` (par défaut), une méthode :meth:`__hash__` est " +"générée et son comportement va dépendre des valeurs de ``eq`` et ``frozen``." #: ../Doc/library/dataclasses.rst:124 msgid "" @@ -155,6 +213,13 @@ msgid "" "existence and behavior of :meth:`__eq__`, and the values of the ``eq`` and " "``frozen`` flags in the :func:`dataclass` decorator." msgstr "" +":meth:`__hash__` est utilisée par la fonction native :meth:`hash()`, ainsi " +"que lorsqu’un objet est inséré dans une collection utilisant du hachage, tel " +"qu’un dictionnaire ou un ensemble. Avoir une méthode :meth:`__hash__` " +"implique que les instances de la classe sont immuables. La muabilité est une " +"propriété complexe qui dépends des intentions du programmeur, de l’existence " +"et du comportement de la méthode :meth:`__eq__`, et des valeurs des options " +"``eq`` et ``frozen`` dans l’appel au décorateur :func:`dataclass`." #: ../Doc/library/dataclasses.rst:131 msgid "" @@ -164,6 +229,12 @@ msgid "" "attribute ``__hash__ = None`` has a specific meaning to Python, as described " "in the :meth:`__hash__` documentation." msgstr "" +"Par défaut, :func:`dataclass` n’ajoutera pas implicitement de méthode :meth:" +"`__hash__`, sauf s’il n’existe aucun risque sous-jacent. Il n’ajoutera ou " +"ne modifiera pas non plus la méthode :meth:`__hash__` method si elle a été " +"définie de manière explicite. Définir l’attribut de classe ``__hash__ = " +"None`` a une signification particulière en Python, comme documenté dans la " +"documentation de :meth:`__hash__`." #: ../Doc/library/dataclasses.rst:137 msgid "" @@ -174,6 +245,13 @@ msgid "" "class is logically immutable but can nonetheless be mutated. This is a " "specialized use case and should be considered carefully." msgstr "" +"Si :meth:`__hash__` n’a pas de définition explicite, ou s’il a pour valeur " +"``None``, alors :func:`dataclass` *peut* ajouter une méthode :meth:" +"`__hash__` implicite. Bien que ce ne soit pas recommandé,, vous pouvez " +"forcer :func:`dataclass` à créer une méthode :meth:`__hash__` en utilisant " +"``unsafe_hash=True``. Cela pourrait être nécessaire si votre classe est " +"logiquement immuable mais qu’une mutation est tout de même possible. C’est " +"un cas très particulier qui doit être considéré avec la plus grande prudence." #: ../Doc/library/dataclasses.rst:144 msgid "" @@ -182,6 +260,10 @@ msgid "" "in your dataclass and set ``unsafe_hash=True``; this will result in a :exc:" "`TypeError`." msgstr "" +"Ce sont les règles autour de la création implicite de la méthode :meth:" +"`__hash__`. Il faut noter que vous ne pouvez pas avoir à la fois une " +"méthode :meth:`__hash__` explicite dans votre *dataclass* et définir " +"``unsafe_hash=True``; cela lèvera une :exc:`TypeError`." #: ../Doc/library/dataclasses.rst:149 msgid "" @@ -193,6 +275,14 @@ msgid "" "superclass will be used (if the superclass is :class:`object`, this means it " "will fall back to id-based hashing)." msgstr "" +"Si ``eq`` et ``frozen`` sont tout deux vrais, :func:`dataclass` génèrera par " +"défaut une méthode :meth:`__hash__` pour vous. Si ``eq`` est vrai mais que " +"``frozen`` est faux, :meth:`__hash__` sera positionné à ``None``, marquant " +"la classe comme non-hachable (et c’est le cas, puisqu’elle est modifiable). " +"Si ``eq`` est faux, la méthode :meth:`__hash__` sera laissée intacte, ce qui " +"veut dire que la méthode :meth:`__hash__` de la classe parente sera utilisée " +"(si la classe parente est :class:`object`, le comportement se rabattra sur " +"un hachage basé sur les id)." #: ../Doc/library/dataclasses.rst:157 msgid "" @@ -201,18 +291,27 @@ msgid "" "`__setattr__` or :meth:`__delattr__` is defined in the class, then :exc:" "`TypeError` is raised. See the discussion below." msgstr "" +"``frozen``: Si vrai (faux par défaut), assigner une valeur à un champ lèvera " +"une exception. Cela simule le comportement des instances figées en lecture " +"seule. Si la méthode :meth:`__setattr__` ou :meth:`__delattr__` est définie " +"sur la classe, alors une :exc:`TypeError` est levée. Voir la discussion ci-" +"dessous." #: ../Doc/library/dataclasses.rst:162 msgid "" "``field``\\s may optionally specify a default value, using normal Python " "syntax::" msgstr "" +"Les ``field``\\s peuvent éventuellement spécifier une valeur par défaut, en " +"utilisant la syntaxe Python normale ::" #: ../Doc/library/dataclasses.rst:170 msgid "" "In this example, both ``a`` and ``b`` will be included in the added :meth:" "`__init__` method, which will be defined as::" msgstr "" +"Dans cet exemple, ``a`` et ``b`` seront tous deux inclus dans la signature " +"de la méthode générée :meth:`__init__`, qui sera définie comme suit ::" #: ../Doc/library/dataclasses.rst:175 msgid "" @@ -220,6 +319,10 @@ msgid "" "field with a default value. This is true either when this occurs in a " "single class, or as a result of class inheritance." msgstr "" +"Une :exc:`TypeError` sera levée si un champ sans valeur par défaut est " +"défini après un champ avec une valeur par défaut. C’est le cas que ce soit " +"dans une seule classe, mais également si c’est le résultat d’un héritage de " +"classes." #: ../Doc/library/dataclasses.rst:181 msgid ""