diff --git a/library/abc.po b/library/abc.po index 8e79d8b0..d9721bdd 100644 --- a/library/abc.po +++ b/library/abc.po @@ -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-25 16:29+0200\n" "Last-Translator: Julien Palard \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.0.9\n" #: ../Doc/library/abc.rst:2 msgid ":mod:`abc` --- Abstract Base Classes" @@ -29,6 +30,14 @@ 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 les :term:`classes de bases " +"abstraites ` ( *Abstract Base Class* ou *ABC* en " +"anglais ) en Python, tel qu'indiqué dans la :pep:`3119`; voir la PEP pour la " +"raison de son ajout à Python. (Voir également la :pep:`3141` et le module :" +"mod:`numbers` pour ce qui concerne la hiérarchie de types pour les nombres " +"basés sur les classes de base abstraites).\n" +"Par la suite nous utiliserons l'abréviation ABC ( *Abstract Base Class*) " +"pour désigner une classe de base abstraite." #: ../Doc/library/abc.rst:20 msgid "" @@ -38,12 +47,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 " +"d'ABC. Celles-ci peuvent, bien sur, être elles-mêmes dérivées. De plus; le " +"sous-module :mod:`collections.abc` possède des ABC qui peuvent être " +"utilisées pour tester si une classe ou une instance fournit 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 ABC ainsi " +"que la classe d'aide :class:`ABC`, cette dernière permettant de définir des " +"ABC en utilisant l'héritage :" #: ../Doc/library/abc.rst:32 msgid "" @@ -51,6 +69,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 ABC peut être créée simplement en héritant de :class:`ABC` , ce qui " +"permet d'éviter l'utilisation parfois déroutante de métaclasse, par " +"exemple : ::" #: ../Doc/library/abc.rst:41 msgid "" @@ -60,10 +82,16 @@ 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'utilisation de métaclasses: l'utilisation d'héritage multiple " +"peut entrainer des conflits de métaclasses. Il est également possible de " +"définir une ABC 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 "" +msgstr "Métaclasse pour définir des classes de base abstraites (ABC)." #: ../Doc/library/abc.rst:59 msgid "" @@ -76,31 +104,50 @@ 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 ABC. Il est possible d'hériter " +"d'une ABC 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 ABC 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 ABC 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 l'ABC 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 ABC. 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'utilisation 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 ABC :" #: ../Doc/library/abc.rst:96 msgid "(Must be defined as a class method.)" @@ -114,6 +161,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 ABC. " +"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 l'ABC. (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 +176,19 @@ 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 " +"ABC. Si elle renvoie ``False``, la *subclass* n'est pas considérée une sous-" +"clase de cette ABC 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 " +"ABC : ::" #: ../Doc/library/abc.rst:143 msgid "" @@ -137,6 +198,11 @@ msgid "" "also part of the ``MyIterable`` abstract base class, but it does not have to " "be overridden in non-abstract derived classes." msgstr "" +"L'ABC ``MyIterable`` définit 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 +211,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 +225,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éfinit 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 +238,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 +249,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 +265,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 méthode :meth:`register` de l'ABC ne sont " +"pas affectées." #: ../Doc/library/abc.rst:182 msgid "" @@ -188,6 +278,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 +290,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 +304,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 +371,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 +396,26 @@ msgid "" "write abstract property by appropriately marking one or more of the " "underlying methods as abstract::" msgstr "" +"L'exemple ci-dessus définit 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 " +"nécessitent 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` fournit également la fonction suivante :" #: ../Doc/library/abc.rst:330 msgid "Returns the current abstract base class cache token." -msgstr "" +msgstr "Renvoie le jeton de cache ( *cache token*) de l'ABC." #: ../Doc/library/abc.rst:332 msgid "" @@ -292,6 +423,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 l'ABC pour les sous-classes " +"virtuelles. Le jeton change avec chaque appel à :meth:`ABCMeta.register` sur " +"n'importe quelle ABC." #: ../Doc/library/abc.rst:340 msgid "Footnotes" @@ -302,3 +437,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++ noteront que le concept Python de classe de base " +"virtuelle ( *virtual base class* ) n'est pas le même que celui de C++."