Merge pull request #263 from tburette/abc.po

Working on abc
This commit is contained in:
Julien Palard 2018-07-27 09:27:37 +02:00 committed by GitHub
commit a6910ac9e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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-25 16:29+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,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>` ( *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++."