Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions dict
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ métacaractère
métacaractères
métaclasse
métaclasses
muabilité
muable
muables
namespace
Expand Down
114 changes: 108 additions & 6 deletions library/dataclasses.po
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,22 @@ 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 <julien@palard.fr>\n"
"PO-Revision-Date: 2018-10-04 10:47+0200\n"
"Last-Translator: Romain Dorgueil <romain@dorgueil.net>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.1.1\n"

#: ../Doc/library/dataclasses.rst:2
msgid ":mod:`dataclasses` --- Data Classes"
msgstr ""
msgstr ":mod:`dataclasses` --- Classes de Données"

#: ../Doc/library/dataclasses.rst:10
msgid "**Source code:** :source:`Lib/dataclasses.py`"
msgstr ""
msgstr "**Code source :** :source:`Lib/dataclasses.py`"

#: ../Doc/library/dataclasses.rst:14
msgid ""
Expand All @@ -29,32 +30,44 @@ 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:`méthodes spéciales <special method>` comme :meth:"
"`__init__` et :meth:`__repr__` dans les *Classes de Données* 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 ""
"Ajoute, entre autres choses, une méthode :meth:`__init__` qui ressemble à ::"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/ressemble à/est de la forme/ ?


#: ../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, classes et fonctions au niveau du module"

#: ../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:`décorateur` qui est utilisé pour ajouter les :"
"term:`méthodes spéciales <special method>` générées aux classes, comme décrit ci-dessous."

#: ../Doc/library/dataclasses.rst:52
msgid ""
Expand All @@ -63,12 +76,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 ``champs``"
"\\s. Un ``champ`` 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 paramètres des méthodes générées est celui d’apparition des "
"champs dans la définition de la classe."

#: ../Doc/library/dataclasses.rst:61
msgid ""
Expand All @@ -77,27 +97,39 @@ 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` ajoute 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 dépend des paramètres, 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 ""
"If :func:`dataclass` is used just as a simple decorator with no parameters, "
"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 simple décorateur sans paramètres, il "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/utilisé/utilisée/ (c'est une fonction)

"se comporte comme si on l’avait appelé avec les valeurs par défaut présentes "
"en 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__` est 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 ""
Expand All @@ -108,22 +140,36 @@ 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 "
"ignoré."

#: ../Doc/library/dataclasses.rst:102
msgid ""
"``eq``: If true (the default), an :meth:`__eq__` method will be generated. "
"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__` est 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 ""
Expand All @@ -133,18 +179,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__` sont générées. Elles "
"permettent de comparer les instances de la classe en les considérant comme "
"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 dépend des valeurs de ``eq`` et ``frozen``."

#: ../Doc/library/dataclasses.rst:124
msgid ""
Expand All @@ -155,6 +212,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 "
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/dépends/dépend/

"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 ""
Expand All @@ -164,6 +228,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’ajoute pas de méthode implicite :meth:"
"`__hash__`, sauf s’il n’existe aucun risque sous-jacent. Il n’ajoute ou ne "
"modifie pas non plus la méthode :meth:`__hash__` si elle a est définie "
"explicitement. Définir l’attribut de classe ``__hash__ = None`` a une "
"signification particulière en Python, comme précisé dans la documentation "
"de :meth:`__hash__`."

#: ../Doc/library/dataclasses.rst:137
msgid ""
Expand All @@ -174,6 +244,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’est pas défini explicitement, 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 ""
Expand All @@ -182,6 +259,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 ""
Expand All @@ -193,6 +274,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 tous deux vrais, :func:`dataclass` génère par "
"défaut une méthode :meth:`__hash__` pour vous. Si ``eq`` est vrai mais que "
"``frozen`` est faux, :meth:`__hash__` est prends la valeur ``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__` est 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 est un hachage basé sur les id)."

#: ../Doc/library/dataclasses.rst:157
msgid ""
Expand All @@ -201,25 +290,38 @@ 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`` sont tous deux inclus dans la signature de "
"la méthode générée :meth:`__init__`, qui est définie comme suit ::"

#: ../Doc/library/dataclasses.rst:175
msgid ""
":exc:`TypeError` will be raised if a field without a default value follows a "
"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` est 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 ""
Expand Down