Working on abc

This commit is contained in:
TBurette 2018-07-13 12:15:33 +02:00
parent 61b4b28ab8
commit 9a96e845b6

View File

@ -6,13 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-23 09:03+0100\n"
"PO-Revision-Date: 2018-05-08 17:13+0200\n"
"PO-Revision-Date: 2018-07-13 12:07+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\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.0.9\n"
#: ../Doc/library/abc.rst:2
msgid ":mod:`abc` --- Abstract Base Classes"
@ -29,6 +30,12 @@ msgid ""
"see the PEP for why this was added to Python. (See also :pep:`3141` and the :"
"mod:`numbers` module regarding a type hierarchy for numbers based on ABCs.)"
msgstr ""
"Le module fournit l'infrastructure pour définir :term:`abstract base classes "
"<abstract base class>` ( *Abstract Base Class* ou *ABC* en anglais ) en "
"Python, tel qu'indiqué dans :pep:`3119`; voir le PEP pour la raison de son "
"ajout à Python. (Voir également :pep:`3141` et le module :mod:`numbers` pour "
"ce qui concerne la hiérarchie de type pour les nombres basé sur les classes "
"de base abstraites)."
#: ../Doc/library/abc.rst:20
msgid ""
@ -38,12 +45,21 @@ msgid ""
"class or instance provides a particular interface, for example, is it "
"hashable or a mapping."
msgstr ""
"Le module :mod:`collections` possède certains classes concrètes qui dérivent "
"des classes de base abstraites. Celles-ci peuvent, bien sur, être elles-"
"mêmes héritées. De plus; le sous-module :mod:`collections.abc` possède des "
"classes de base abstraites qui peuvent être utilisées pour tester si une "
"classe ou une instance fournie une interface spécifique. Par exemple, est-"
"elle hachable ou un tableau associatif ( *mapping* )."
#: ../Doc/library/abc.rst:27
msgid ""
"This module provides the metaclass :class:`ABCMeta` for defining ABCs and a "
"helper class :class:`ABC` to alternatively define ABCs through inheritance:"
msgstr ""
"Ce module fournit la métaclasse :class:`ABCMeta` pour définir les classes de "
"base abstraites et la classe d'aide :class:`ABC` qui permet de définir des "
"classes de base abstraites via l'héritage:"
#: ../Doc/library/abc.rst:32
msgid ""
@ -51,6 +67,10 @@ msgid ""
"an abstract base class can be created by simply deriving from :class:`ABC` "
"avoiding sometimes confusing metaclass usage, for example::"
msgstr ""
"Une classe d'aide qui a :class:`ABCMeta` pour métaclasse. Avec cette classe, "
"une classe de base abstraite peut être créée simplement en héritant de :"
"class:`ABC` , ce qui permet d'éviter l'usage parfois déroutant de "
"métaclasse, par exemple : ::"
#: ../Doc/library/abc.rst:41
msgid ""
@ -60,10 +80,18 @@ msgid ""
"One may also define an abstract base class by passing the metaclass keyword "
"and using :class:`ABCMeta` directly, for example::"
msgstr ""
"Il est à noter que le type de :class:`ABC` reste :class:`ABCMeta`. En "
"conséquence, hériter de :class:`ABC` nécessite les précautions habituelles "
"concernant l'usage de métaclasses: l'utilisation d'héritage multiple peut "
"entrainer des conflits de métaclasses. Il est également possible de définir "
"une classe de base abstraite en passant l'argument nommé metaclass et en "
"utilisant :class:`ABCMeta` directement, par exemple : ::"
#: ../Doc/library/abc.rst:57
msgid "Metaclass for defining Abstract Base Classes (ABCs)."
msgstr ""
"Métaclasse pour définir des classes de base abstraites (*Abstract Base "
"Classes*)."
#: ../Doc/library/abc.rst:59
msgid ""
@ -76,31 +104,52 @@ msgid ""
"will method implementations defined by the registering ABC be callable (not "
"even via :func:`super`). [#]_"
msgstr ""
"Utilisez cette métaclasse pour créer une classe de base abstraite. Il est "
"possible d'hériter d'une classe de base abstraite directement, cette classe "
"de base abstraite fonctionne alors comme une classe mixin. Vous pouvez "
"également enregistrer une classe concrète sans lien (même une classe native) "
"et des classes de base abstraites comme \"sous-classes virtuelles\" -- "
"celles-ci et leur descendantes seront considérées comme des sous-classes de "
"la classe de base abstraite par la fonction native :func:`issubclass`, mais "
"les classes de base abstraites enregistrées n'apparaitront pas dans leur "
"ordre de résolution des méthodes (*MRO* pour *Method Resolution Order* en "
"anglais). Les implémentations de méthodes définies par la classe de base "
"abstraite ne seront pas appelable (pas même via :func:`super`). [#]_"
#: ../Doc/library/abc.rst:68
msgid ""
"Classes created with a metaclass of :class:`ABCMeta` have the following "
"method:"
msgstr ""
"Les classes créées avec comme métaclasse :class:`ABCMeta` possèdent les "
"méthodes suivantes :"
#: ../Doc/library/abc.rst:72
msgid ""
"Register *subclass* as a \"virtual subclass\" of this ABC. For example::"
msgstr ""
"Enregistrer *subclass* en tant que sous-classe virtuelle de cette classe de "
"base abstraite. Par exemple : ::"
#: ../Doc/library/abc.rst:85
msgid "Returns the registered subclass, to allow usage as a class decorator."
msgstr ""
"Renvoie la sous-classe enregistrée pour permettre l'usage en tant que "
"décorateur de classe."
#: ../Doc/library/abc.rst:88
msgid ""
"To detect calls to :meth:`register`, you can use the :func:`get_cache_token` "
"function."
msgstr ""
"Pour détecter les appels à :meth:`register`, vous pouvez utiliser la "
"fonction :func:`get_cache_token`."
#: ../Doc/library/abc.rst:92
msgid "You can also override this method in an abstract base class:"
msgstr ""
"Vous pouvez également redéfinir (*override*) cette méthode dans une classe "
"de base abstraite:"
#: ../Doc/library/abc.rst:96
msgid "(Must be defined as a class method.)"
@ -114,6 +163,12 @@ msgid ""
"of the ABC. (This class method is called from the :meth:`__subclasscheck__` "
"method of the ABC.)"
msgstr ""
"Vérifie si *subclass* est considérée comme une sous-classe de cette classe "
"de base abstraite. Cela signifie que vous pouvez personnaliser le "
"comportement de ``issubclass`` sans nécessiter d'appeler :meth:`register` "
"pour chacune des classes que vous souhaitez considérer comme sous-classe de "
"la classe de base abstraite. (Cette méthode de classe est appelée par la "
"méthode :meth:`__subclasscheck__` de la classe de base abstraite)."
#: ../Doc/library/abc.rst:104
msgid ""
@ -123,11 +178,20 @@ msgid ""
"even if it would normally be one. If it returns ``NotImplemented``, the "
"subclass check is continued with the usual mechanism."
msgstr ""
"Cette méthode devrait renvoyer ``True``, ``False`` ou ``NotImplemented``. Si "
"elle renvoie ``True``, *subclass* est considérée comme sous-classe de cette "
"classe de base abstraite. Si elle renvoie ``False``, la *subclass* n'est pas "
"considérée une sous-clase de cette classe de base abstraite même si elle "
"l'aurait été en temps normal. Si elle renvoie ``NotImplemented``, la "
"vérification d'appartenance à la sous-classe continue via le mécanisme "
"habituel."
#: ../Doc/library/abc.rst:114
msgid ""
"For a demonstration of these concepts, look at this example ABC definition::"
msgstr ""
"Pour une démonstration de ces concepts, voir cet exemple de définition de "
"classe de base abstraite : ::"
#: ../Doc/library/abc.rst:143
msgid ""
@ -137,6 +201,12 @@ msgid ""
"also part of the ``MyIterable`` abstract base class, but it does not have to "
"be overridden in non-abstract derived classes."
msgstr ""
"La classe de base abstraite ``MyIterable`` définie la méthode d'itération :"
"meth:`~iterator.__iter__` comme méthode abstraite. L'implémentation qui lui "
"est donnée ici peut être appelée depuis les sous-classes. La méthode :meth:"
"`get_iterator` fait également partie de la classe de base abstraite "
"``MyIterable``, mais elle n'a pas à être redéfinie dans les classes dérivées "
"non-abstraites."
#: ../Doc/library/abc.rst:149
msgid ""
@ -145,6 +215,11 @@ msgid ""
"__dict__` (or in that of one of its base classes, accessed via the :attr:"
"`~class.__mro__` list) is considered a ``MyIterable`` too."
msgstr ""
"La méthode de classe :meth:`__subclasshook__` définie ici dit que toute "
"classe qui possède la méthode :meth:`~iterator.__iter__` dans son :attr:"
"`~object.__dict__` (ou dans une de ses classes de base, accédée via la "
"liste :attr:`~class.__mro__`) est considérée également comme un "
"``MyIterable``."
#: ../Doc/library/abc.rst:154
msgid ""
@ -154,6 +229,12 @@ msgid ""
"meth:`__getitem__`). Note that this will not make ``get_iterator`` "
"available as a method of ``Foo``, so it is provided separately."
msgstr ""
"Enfin, la dernière ligne fait de ``Foo`` une sous-classe virtuelle de "
"``MyIterable``, même si cette classe ne définit pas de méthode :meth:"
"`~iterator.__iter__` (elle utilise l'ancien protocol d'itération qui se "
"défini en termes de :meth:`__len__` et :meth:`__getitem__`). A noter que "
"cela ne rendra pas le ``get_iterator`` de ``MyIterable`` disponible comme "
"une méthode de ``Foo``, ``get_iterator`` est donc implémenté séparément."
#: ../Doc/library/abc.rst:163
msgid "The :mod:`abc` module also provides the following decorator:"
@ -161,7 +242,7 @@ msgstr "Le module :mod:`abc` fournit aussi le décorateur :"
#: ../Doc/library/abc.rst:167
msgid "A decorator indicating abstract methods."
msgstr "Un décorateur marquant les méthodes abstraites."
msgstr "Un décorateur marquant les méthodes comme abstraites."
#: ../Doc/library/abc.rst:169
msgid ""
@ -172,6 +253,13 @@ msgid ""
"the normal 'super' call mechanisms. :func:`abstractmethod` may be used to "
"declare abstract methods for properties and descriptors."
msgstr ""
"Utiliser ce décorateur nécessite que la métaclasse de la classe soit :class:"
"`ABCMeta` ou soit dérivé de celle-ci. Une classe qui possède une méta-classe "
"dérivée de :class:`ABCMeta` ne peut pas être instanciée à moins que toutes "
"ses méthodes et propriétés abstraites soient redéfinies. Les méthodes "
"abstraites peuvent être appelées en utilisant n'importe quel des mécanismes "
"d'appel à 'super'. :func:`abstractmethod` peut être utilisé pour déclarer "
"des méthodes abstraites pour les propriétés et descripteurs."
#: ../Doc/library/abc.rst:176
msgid ""
@ -181,6 +269,12 @@ msgid ""
"regular inheritance; \"virtual subclasses\" registered with the ABC's :meth:"
"`register` method are not affected."
msgstr ""
"Ajouter dynamiquement des méthodes abstraites à une classe ou essayer de "
"modifier le statut d'abstraction d'une méthode ou d'une classe une fois "
"celle-ci créée n'est pas géré. :func:`abstractmethod` n'affecte que les sous-"
"classes dérivées utilisant l'héritage classique. Les \"sous-classes "
"virtuelles\" enregistrées avec la classe de base abstraite :meth:`register` "
"ne sont pas affectées."
#: ../Doc/library/abc.rst:182
msgid ""
@ -188,6 +282,9 @@ msgid ""
"descriptors, it should be applied as the innermost decorator, as shown in "
"the following usage examples::"
msgstr ""
"Quand le décorateur :func:`abstractmethod` est utilisé en même temps que "
"d'autres descripteurs de méthodes, il devrait être appliqué en tant que "
"décorateur le plus interne. Voir les exemples d'utilisation suivants : ::"
#: ../Doc/library/abc.rst:216
msgid ""
@ -197,6 +294,11 @@ msgid ""
"of the methods used to compose the descriptor are abstract. For example, "
"Python's built-in property does the equivalent of::"
msgstr ""
"Afin d'interagir correctement avec le mécanisme de classe de base abstraite, "
"un descripteur doit s'identifier comme abstrait en utilisant :attr:"
"`__isabstractmethod__`. En général, cet attribut devrait être ``True`` si au "
"moins une des méthodes faisant partie du descripteur est abstraite. Par "
"exemple, la propriété native de python fait l'équivalent de : ::"
#: ../Doc/library/abc.rst:231
msgid ""
@ -206,46 +308,66 @@ msgid ""
"point for a super-call in a framework that uses cooperative multiple-"
"inheritance."
msgstr ""
"Contrairement aux méthodes abstraites Java, ces méthodes abstraites peuvent "
"posséder une implémentation. Cette implémentation peut être appelée via le "
"mécanisme :func:`super` depuis la classe qui la redéfinie."
#: ../Doc/library/abc.rst:239
msgid "The :mod:`abc` module also supports the following legacy decorators:"
msgstr ""
"Le module :mod:`abc` gère également les décorateurs historiques suivants:"
#: ../Doc/library/abc.rst:244
msgid ""
"It is now possible to use :class:`classmethod` with :func:`abstractmethod`, "
"making this decorator redundant."
msgstr ""
"Il est désormais possible d'utiliser :class:`classmethod` avec :func:"
"`abstractmethod`, cela rend ce décorateur redondant."
#: ../Doc/library/abc.rst:248
msgid ""
"A subclass of the built-in :func:`classmethod`, indicating an abstract "
"classmethod. Otherwise it is similar to :func:`abstractmethod`."
msgstr ""
"Une sous-classe du décorateur natif :func:`classmethod` qui indique une "
"méthode de classe ( ``classmethod`` ) abstraite. En dehors de cela, est "
"similaire à :func:`abstractmethod`."
#: ../Doc/library/abc.rst:251
msgid ""
"This special case is deprecated, as the :func:`classmethod` decorator is now "
"correctly identified as abstract when applied to an abstract method::"
msgstr ""
"Ce cas spécial est obsolète car le décorateur :func:`classmethod` est "
"désormais correctement identifié comme abstrait quand appliqué à une méthode "
"abstraite : ::"
#: ../Doc/library/abc.rst:265
msgid ""
"It is now possible to use :class:`staticmethod` with :func:`abstractmethod`, "
"making this decorator redundant."
msgstr ""
"Il est désormais possible d'utiliser :class:`staticmethod` avec :func:"
"`abstractmethod`, cela rend ce décorateur redondant."
#: ../Doc/library/abc.rst:269
msgid ""
"A subclass of the built-in :func:`staticmethod`, indicating an abstract "
"staticmethod. Otherwise it is similar to :func:`abstractmethod`."
msgstr ""
"Une sous-classe du décorateur natif :func:`classmethod` qui indique une "
"méthode statique ( ``staticmethod`` ) abstraite. En dehors de cela, est "
"similaire à :func:`abstractmethod`."
#: ../Doc/library/abc.rst:272
msgid ""
"This special case is deprecated, as the :func:`staticmethod` decorator is "
"now correctly identified as abstract when applied to an abstract method::"
msgstr ""
"Ce cas spécial est obsolète car le décorateur :func:`staticmethod` est "
"désormais correctement identifié comme abstrait quand appliqué à une méthode "
"abstraite : ::"
#: ../Doc/library/abc.rst:285
msgid ""
@ -253,17 +375,24 @@ msgid ""
"`property.setter` and :meth:`property.deleter` with :func:`abstractmethod`, "
"making this decorator redundant."
msgstr ""
"Il est désormais possible d'utiliser :class:`property`, :meth:`property."
"getter`, :meth:`property.setter` et :meth:`property.deleter` avec :func:"
"`abstractmethod`, ce qui rend ce décorateur redondant."
#: ../Doc/library/abc.rst:290
msgid ""
"A subclass of the built-in :func:`property`, indicating an abstract property."
msgstr ""
"Une sous-classe de :func:`property`, qui indique une propriété abstraite."
#: ../Doc/library/abc.rst:293
msgid ""
"This special case is deprecated, as the :func:`property` decorator is now "
"correctly identified as abstract when applied to an abstract method::"
msgstr ""
"Ce cas spécial est obsolète car le décorateur :func:`property` est désormais "
"correctement identifié comme abstrait quand appliqué à une méthode "
"abstraite : ::"
#: ../Doc/library/abc.rst:303
msgid ""
@ -271,20 +400,27 @@ msgid ""
"write abstract property by appropriately marking one or more of the "
"underlying methods as abstract::"
msgstr ""
"L'exemple ci-dessus défini une propriété en lecture seule. Vous pouvez "
"également définir une propriété en lecture-écriture abstraite en indiquant "
"une ou plusieurs des méthodes sous-jacentes comme abstraite : ::"
#: ../Doc/library/abc.rst:317
msgid ""
"If only some components are abstract, only those components need to be "
"updated to create a concrete property in a subclass::"
msgstr ""
"Si seuls certains composants sont abstraits, seuls ces composants abstraits "
"ne nécessites d'être mis à jour pour créer une propriété concrète dans une "
"sous-classe : ::"
#: ../Doc/library/abc.rst:326
msgid "The :mod:`abc` module also provides the following functions:"
msgstr ""
msgstr "Le module :mod:`abc` fourni également la fonction suivante :"
#: ../Doc/library/abc.rst:330
msgid "Returns the current abstract base class cache token."
msgstr ""
"Renvoie le jeton de cache ( *cache token*) de la classe de base abstraite."
#: ../Doc/library/abc.rst:332
msgid ""
@ -292,6 +428,10 @@ msgid ""
"the current version of the abstract base class cache for virtual subclasses. "
"The token changes with every call to :meth:`ABCMeta.register` on any ABC."
msgstr ""
"Le jeton est un objet opaque (qui implémente le test d'égalité) qui "
"identifie la version actuelle du cache de la classe de base abstraite pour "
"les sous-classes virtuelles. Le jeton change avec chaque appel à :meth:"
"`ABCMeta.register` sur n'importe quel classe de base abstraite."
#: ../Doc/library/abc.rst:340
msgid "Footnotes"
@ -302,3 +442,5 @@ msgid ""
"C++ programmers should note that Python's virtual base class concept is not "
"the same as C++'s."
msgstr ""
"Les développeurs C++ doivent noter que le concept Python de classe de base "
"virtuelle ( *virtual base class* ) n'est pas le même que celui de C++."