From 9a96e845b6a5f442f9610436df2b8669176469ef Mon Sep 17 00:00:00 2001 From: TBurette Date: Fri, 13 Jul 2018 12:15:33 +0200 Subject: [PATCH] Working on abc --- library/abc.po | 148 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 145 insertions(+), 3 deletions(-) diff --git a/library/abc.po b/library/abc.po index 8e79d8b0..ac4040d1 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-13 12:07+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,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* 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++."