814 lines
32 KiB
Plaintext
814 lines
32 KiB
Plaintext
# SOME DESCRIPTIVE TITLE.
|
||
# Copyright (C) 2001-2016, Python Software Foundation
|
||
# This file is distributed under the same license as the Python package.
|
||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||
#
|
||
#, fuzzy
|
||
msgid ""
|
||
msgstr ""
|
||
"Project-Id-Version: Python 3.5\n"
|
||
"Report-Msgid-Bugs-To: \n"
|
||
"POT-Creation-Date: 2016-10-30 10:42+0100\n"
|
||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||
"MIME-Version: 1.0\n"
|
||
"Content-Type: text/plain; charset=UTF-8\n"
|
||
"Content-Transfer-Encoding: 8bit\n"
|
||
|
||
#: ../Doc/library/enum.rst:2
|
||
msgid ":mod:`enum` --- Support for enumerations"
|
||
msgstr ":mod:`enum` — Énumerations"
|
||
|
||
#: ../Doc/library/enum.rst:14
|
||
msgid "**Source code:** :source:`Lib/enum.py`"
|
||
msgstr "**Code source :** :source:`Lib/enum.py`"
|
||
|
||
#: ../Doc/library/enum.rst:18
|
||
msgid ""
|
||
"An enumeration is a set of symbolic names (members) bound to unique, "
|
||
"constant values. Within an enumeration, the members can be compared by "
|
||
"identity, and the enumeration itself can be iterated over."
|
||
msgstr ""
|
||
"Une énumération est un ensemble de noms symboliques, appelés *membres*, liés "
|
||
"à des valeurs constantes et uniques. Au sein d'une énumération, les membres "
|
||
"peuvent être comparés entre eux et il est possible d'itérer sur "
|
||
"l'énumération elle-même."
|
||
|
||
#: ../Doc/library/enum.rst:24
|
||
msgid "Module Contents"
|
||
msgstr "Contenu du module"
|
||
|
||
#: ../Doc/library/enum.rst:26
|
||
msgid ""
|
||
"This module defines two enumeration classes that can be used to define "
|
||
"unique sets of names and values: :class:`Enum` and :class:`IntEnum`. It "
|
||
"also defines one decorator, :func:`unique`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:32
|
||
msgid ""
|
||
"Base class for creating enumerated constants. See section `Functional API`_ "
|
||
"for an alternate construction syntax."
|
||
msgstr ""
|
||
"Classe de base pour créer une énumération de constantes. Voir la section "
|
||
"`API par fonction`_ pour une syntaxe alternative de construction."
|
||
|
||
#: ../Doc/library/enum.rst:37
|
||
msgid ""
|
||
"Base class for creating enumerated constants that are also subclasses of :"
|
||
"class:`int`."
|
||
msgstr ""
|
||
"Classe de base pour créer une énumération de constantes qui sont également "
|
||
"des sous-classes de :class:`int`."
|
||
|
||
#: ../Doc/library/enum.rst:42
|
||
msgid ""
|
||
"Enum class decorator that ensures only one name is bound to any one value."
|
||
msgstr ""
|
||
"Décorateur de classe qui garantit qu'une valeur ne puisse être associée qu'à "
|
||
"un seul nom."
|
||
|
||
#: ../Doc/library/enum.rst:46
|
||
msgid "Creating an Enum"
|
||
msgstr "Création d'une *Enum*"
|
||
|
||
#: ../Doc/library/enum.rst:48
|
||
msgid ""
|
||
"Enumerations are created using the :keyword:`class` syntax, which makes them "
|
||
"easy to read and write. An alternative creation method is described in "
|
||
"`Functional API`_. To define an enumeration, subclass :class:`Enum` as "
|
||
"follows::"
|
||
msgstr ""
|
||
"Une énumération est créée comme une :keyword:`class`, ce qui la rend facile "
|
||
"à lire et à écrire. Une autre méthode de création est décrite dans `API par "
|
||
"fonction`_. Pour définir une énumération, il faut hériter de :class:`Enum` "
|
||
"de la manière suivante : ::"
|
||
|
||
#: ../Doc/library/enum.rst:60
|
||
msgid "Nomenclature"
|
||
msgstr "Nomenclature"
|
||
|
||
#: ../Doc/library/enum.rst:62
|
||
msgid "The class :class:`Color` is an *enumeration* (or *enum*)"
|
||
msgstr "La classe :class:`Color` est une *énumération* (ou un *enum*)."
|
||
|
||
#: ../Doc/library/enum.rst:63
|
||
msgid ""
|
||
"The attributes :attr:`Color.red`, :attr:`Color.green`, etc., are "
|
||
"*enumeration members* (or *enum members*)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:65
|
||
msgid ""
|
||
"The enum members have *names* and *values* (the name of :attr:`Color.red` is "
|
||
"``red``, the value of :attr:`Color.blue` is ``3``, etc.)"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:71
|
||
msgid ""
|
||
"Even though we use the :keyword:`class` syntax to create Enums, Enums are "
|
||
"not normal Python classes. See `How are Enums different?`_ for more details."
|
||
msgstr ""
|
||
"Même si on utilise la syntaxe en :keyword:`class` pour créer des "
|
||
"énumérations, les *Enums* ne sont pas des vraies classes Python. Voir `En "
|
||
"quoi les Enums sont différentes ?`_ pour plus de détails."
|
||
|
||
#: ../Doc/library/enum.rst:75
|
||
msgid "Enumeration members have human readable string representations::"
|
||
msgstr ""
|
||
"Les membres d'une énumération ont une représentation en chaîne de caractères "
|
||
"compréhensible par un humain : ::"
|
||
|
||
#: ../Doc/library/enum.rst:80
|
||
msgid "...while their ``repr`` has more information::"
|
||
msgstr "… tandis que leur ``repr`` contient plus d'informations : ::"
|
||
|
||
#: ../Doc/library/enum.rst:85
|
||
msgid "The *type* of an enumeration member is the enumeration it belongs to::"
|
||
msgstr ""
|
||
"Le *type* d'un membre est l'énumération auquel ce membre appartient : ::"
|
||
|
||
#: ../Doc/library/enum.rst:93
|
||
msgid "Enum members also have a property that contains just their item name::"
|
||
msgstr "Les membres ont également un attribut qui contient leur nom : ::"
|
||
|
||
#: ../Doc/library/enum.rst:98
|
||
msgid "Enumerations support iteration, in definition order::"
|
||
msgstr ""
|
||
"Les énumérations sont itérables, l'ordre d'itération est celui dans lequel "
|
||
"les membres sont déclarés : ::"
|
||
|
||
#: ../Doc/library/enum.rst:114
|
||
msgid ""
|
||
"Enumeration members are hashable, so they can be used in dictionaries and "
|
||
"sets::"
|
||
msgstr ""
|
||
"Les membres d'une énumération sont hachables, ils peuvent ainsi être "
|
||
"utilisés dans des dictionnaires ou des ensembles : ::"
|
||
|
||
#: ../Doc/library/enum.rst:124
|
||
msgid "Programmatic access to enumeration members and their attributes"
|
||
msgstr "Accès dynamique aux membres et à leurs attributs"
|
||
|
||
#: ../Doc/library/enum.rst:126
|
||
msgid ""
|
||
"Sometimes it's useful to access members in enumerations programmatically (i."
|
||
"e. situations where ``Color.red`` won't do because the exact color is not "
|
||
"known at program-writing time). ``Enum`` allows such access::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:135
|
||
msgid "If you want to access enum members by *name*, use item access::"
|
||
msgstr ""
|
||
"Pour accéder aux membres par leur *nom*, utilisez l'accès par indexation : ::"
|
||
|
||
#: ../Doc/library/enum.rst:142
|
||
msgid "If you have an enum member and need its :attr:`name` or :attr:`value`::"
|
||
msgstr "Pour obtenir l'attribut :attr:`name` ou :attr:`value` d'un membre : ::"
|
||
|
||
#: ../Doc/library/enum.rst:152
|
||
msgid "Duplicating enum members and values"
|
||
msgstr "Duplication de membres et de valeurs"
|
||
|
||
#: ../Doc/library/enum.rst:154
|
||
msgid "Having two enum members with the same name is invalid::"
|
||
msgstr ""
|
||
"Il n'est pas possible d'avoir deux membres du même nom dans un *enum* : ::"
|
||
|
||
#: ../Doc/library/enum.rst:164
|
||
msgid ""
|
||
"However, two enum members are allowed to have the same value. Given two "
|
||
"members A and B with the same value (and A defined first), B is an alias to "
|
||
"A. By-value lookup of the value of A and B will return A. By-name lookup "
|
||
"of B will also return A::"
|
||
msgstr ""
|
||
"Cependant deux membres peuvent avoir la même valeur. Si deux membres A et B "
|
||
"ont la même valeur (et que A est défini en premier), B sera un alias de A. "
|
||
"Un accès par valeur avec la valeur commune à A et B renverra A. Un accès à B "
|
||
"par nom renverra aussi A : ::"
|
||
|
||
#: ../Doc/library/enum.rst:184
|
||
msgid ""
|
||
"Attempting to create a member with the same name as an already defined "
|
||
"attribute (another member, a method, etc.) or attempting to create an "
|
||
"attribute with the same name as a member is not allowed."
|
||
msgstr ""
|
||
"Il est interdit de créer un membre avec le même nom qu'un attribut déjà "
|
||
"défini (un autre membre, une méthode, etc.) ou de créer un attribut avec le "
|
||
"nom d'un membre."
|
||
|
||
#: ../Doc/library/enum.rst:190
|
||
msgid "Ensuring unique enumeration values"
|
||
msgstr "Coercition d'unicité des valeurs d'une énumération"
|
||
|
||
#: ../Doc/library/enum.rst:192
|
||
msgid ""
|
||
"By default, enumerations allow multiple names as aliases for the same value. "
|
||
"When this behavior isn't desired, the following decorator can be used to "
|
||
"ensure each value is used only once in the enumeration:"
|
||
msgstr ""
|
||
"Par défaut, les énumérations autorisent les alias de nom pour une même "
|
||
"valeur. Quand ce comportement n'est pas désiré, il faut utiliser le "
|
||
"décorateur suivant pour s'assurer que chaque valeur n'est utilisée qu'une "
|
||
"seule fois au sein de l'énumération : ::"
|
||
|
||
#: ../Doc/library/enum.rst:198
|
||
msgid ""
|
||
"A :keyword:`class` decorator specifically for enumerations. It searches an "
|
||
"enumeration's :attr:`__members__` gathering any aliases it finds; if any are "
|
||
"found :exc:`ValueError` is raised with the details::"
|
||
msgstr ""
|
||
"Un décorateur de :keyword:`class` spécifique aux énumérations. Il examine "
|
||
"l'attribut :attr:`__members__` d'une énumération et recherche des alias ; "
|
||
"s'il en trouve, l'exception :exc:`ValueError` est levée avec des détails : ::"
|
||
|
||
#: ../Doc/library/enum.rst:216
|
||
msgid "Iteration"
|
||
msgstr "Itération"
|
||
|
||
#: ../Doc/library/enum.rst:218
|
||
msgid "Iterating over the members of an enum does not provide the aliases::"
|
||
msgstr ""
|
||
"Itérer sur les membres d'une énumération ne parcourt pas les alias : ::"
|
||
|
||
#: ../Doc/library/enum.rst:223
|
||
msgid ""
|
||
"The special attribute ``__members__`` is an ordered dictionary mapping names "
|
||
"to members. It includes all names defined in the enumeration, including the "
|
||
"aliases::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:235
|
||
msgid ""
|
||
"The ``__members__`` attribute can be used for detailed programmatic access "
|
||
"to the enumeration members. For example, finding all the aliases::"
|
||
msgstr ""
|
||
"L'attribut ``__members__`` peut servir à accéder dynamiquement aux membres "
|
||
"de l'énumération. Par exemple, pour trouver tous les alias : ::"
|
||
|
||
#: ../Doc/library/enum.rst:243
|
||
msgid "Comparisons"
|
||
msgstr "Comparaisons"
|
||
|
||
#: ../Doc/library/enum.rst:245
|
||
msgid "Enumeration members are compared by identity::"
|
||
msgstr "Les membres d'une énumération sont comparés par identité : ::"
|
||
|
||
#: ../Doc/library/enum.rst:254
|
||
msgid ""
|
||
"Ordered comparisons between enumeration values are *not* supported. Enum "
|
||
"members are not integers (but see `IntEnum`_ below)::"
|
||
msgstr ""
|
||
"Les comparaisons d'ordre entre les valeurs d'une énumération n'existent "
|
||
"*pas* ; les membres d'un *enum* ne sont pas des entiers (voir cependant "
|
||
"`IntEnum`_ ci-dessous) : ::"
|
||
|
||
#: ../Doc/library/enum.rst:262
|
||
msgid "Equality comparisons are defined though::"
|
||
msgstr "A contrario, les comparaisons d'égalité existent : ::"
|
||
|
||
#: ../Doc/library/enum.rst:271
|
||
msgid ""
|
||
"Comparisons against non-enumeration values will always compare not equal "
|
||
"(again, :class:`IntEnum` was explicitly designed to behave differently, see "
|
||
"below)::"
|
||
msgstr ""
|
||
"Les comparaisons avec des valeurs ne provenant pas d'énumérations sont "
|
||
"toujours fausses (ici encore, :class:`IntEnum` a été conçue pour fonctionner "
|
||
"différemment, voir ci-dessous) : ::"
|
||
|
||
#: ../Doc/library/enum.rst:280
|
||
msgid "Allowed members and attributes of enumerations"
|
||
msgstr "Membres et attributs autorisés dans une énumération"
|
||
|
||
#: ../Doc/library/enum.rst:282
|
||
msgid ""
|
||
"The examples above use integers for enumeration values. Using integers is "
|
||
"short and handy (and provided by default by the `Functional API`_), but not "
|
||
"strictly enforced. In the vast majority of use-cases, one doesn't care what "
|
||
"the actual value of an enumeration is. But if the value *is* important, "
|
||
"enumerations can have arbitrary values."
|
||
msgstr ""
|
||
"Les exemples précédents utilisent des entiers pour énumérer les valeurs. "
|
||
"C'est un choix concis et pratique (et implémenté par défaut dans l'`API par "
|
||
"fonction`_), mais ce n'est pas une obligation. Dans la majorité des cas, il "
|
||
"importe peu de connaître la valeur réelle d'une énumération. Il est "
|
||
"toutefois possible de donner une valeur arbitraire aux énumérations, si "
|
||
"cette valeur est *vraiment* significative."
|
||
|
||
#: ../Doc/library/enum.rst:288
|
||
msgid ""
|
||
"Enumerations are Python classes, and can have methods and special methods as "
|
||
"usual. If we have this enumeration::"
|
||
msgstr ""
|
||
"Les énumérations sont des classes Python et peuvent donc avoir des méthodes "
|
||
"et des méthodes spéciales. L'énumération suivante : ::"
|
||
|
||
#: ../Doc/library/enum.rst:308
|
||
msgid "Then::"
|
||
msgstr "amène : ::"
|
||
|
||
#: ../Doc/library/enum.rst:317
|
||
msgid ""
|
||
"The rules for what is allowed are as follows: names that start and end with "
|
||
"a single underscore are reserved by enum and cannot be used; all other "
|
||
"attributes defined within an enumeration will become members of this "
|
||
"enumeration, with the exception of special methods (:meth:`__str__`, :meth:"
|
||
"`__add__`, etc.) and descriptors (methods are also descriptors)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:323
|
||
msgid ""
|
||
"Note: if your enumeration defines :meth:`__new__` and/or :meth:`__init__` "
|
||
"then whatever value(s) were given to the enum member will be passed into "
|
||
"those methods. See `Planet`_ for an example."
|
||
msgstr ""
|
||
"Remarque : si l'énumération définit :meth:`__new__` ou :meth:`__init__`, "
|
||
"alors la (ou les) valeur affectée au membre sera passée à ces méthodes. Voir "
|
||
"l'exemple de `Planet`_."
|
||
|
||
#: ../Doc/library/enum.rst:329
|
||
msgid "Restricted subclassing of enumerations"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:331
|
||
msgid ""
|
||
"Subclassing an enumeration is allowed only if the enumeration does not "
|
||
"define any members. So this is forbidden::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:341
|
||
msgid "But this is allowed::"
|
||
msgstr "Mais celui-ci est correct : ::"
|
||
|
||
#: ../Doc/library/enum.rst:352
|
||
msgid ""
|
||
"Allowing subclassing of enums that define members would lead to a violation "
|
||
"of some important invariants of types and instances. On the other hand, it "
|
||
"makes sense to allow sharing some common behavior between a group of "
|
||
"enumerations. (See `OrderedEnum`_ for an example.)"
|
||
msgstr ""
|
||
"Autoriser l'héritage d'*enums* définissant des membres violerait des "
|
||
"invariants sur les types et les instances. D'un autre côté, il est logique "
|
||
"d'autoriser un groupe d'énumérations à partager un comportement commun (voir "
|
||
"par exemple `OrderedEnum`_)."
|
||
|
||
#: ../Doc/library/enum.rst:359
|
||
msgid "Pickling"
|
||
msgstr "Sérialisation"
|
||
|
||
#: ../Doc/library/enum.rst:361
|
||
msgid "Enumerations can be pickled and unpickled::"
|
||
msgstr "Les énumérations peuvent être sérialisées et dé-sérialisées : ::"
|
||
|
||
#: ../Doc/library/enum.rst:368
|
||
msgid ""
|
||
"The usual restrictions for pickling apply: picklable enums must be defined "
|
||
"in the top level of a module, since unpickling requires them to be "
|
||
"importable from that module."
|
||
msgstr ""
|
||
"Les restrictions habituelles de sérialisation s'appliquent : les *enums* à "
|
||
"sérialiser doivent être déclarés dans l'espace de nom de haut niveau du "
|
||
"module car la dé-sérialisation nécessite que ces *enums* puissent être "
|
||
"importés depuis ce module."
|
||
|
||
#: ../Doc/library/enum.rst:374
|
||
msgid ""
|
||
"With pickle protocol version 4 it is possible to easily pickle enums nested "
|
||
"in other classes."
|
||
msgstr ""
|
||
"Depuis la version 4 du protocole de *pickle*, il est possible de sérialiser "
|
||
"facilement des *enums* imbriqués dans d'autres classes."
|
||
|
||
#: ../Doc/library/enum.rst:377
|
||
msgid ""
|
||
"It is possible to modify how Enum members are pickled/unpickled by defining :"
|
||
"meth:`__reduce_ex__` in the enumeration class."
|
||
msgstr ""
|
||
"Redéfinir la méthode :meth:`__reduce_ex__` permet de modifier la "
|
||
"sérialisation ou la dé-sérialisation des membres d'une énumération."
|
||
|
||
#: ../Doc/library/enum.rst:382
|
||
msgid "Functional API"
|
||
msgstr "API par fonction"
|
||
|
||
#: ../Doc/library/enum.rst:384
|
||
msgid ""
|
||
"The :class:`Enum` class is callable, providing the following functional API::"
|
||
msgstr ""
|
||
"La :class:`Enum` est appelable et implémente l'API par fonction suivante : ::"
|
||
|
||
#: ../Doc/library/enum.rst:396
|
||
msgid ""
|
||
"The semantics of this API resemble :class:`~collections.namedtuple`. The "
|
||
"first argument of the call to :class:`Enum` is the name of the enumeration."
|
||
msgstr ""
|
||
"La sémantique de cette API est similaire à :class:`~collections.namedtuple`. "
|
||
"Le premier argument de l'appel à :class:`Enum` est le nom de l'énumération."
|
||
|
||
#: ../Doc/library/enum.rst:399
|
||
msgid ""
|
||
"The second argument is the *source* of enumeration member names. It can be "
|
||
"a whitespace-separated string of names, a sequence of names, a sequence of 2-"
|
||
"tuples with key/value pairs, or a mapping (e.g. dictionary) of names to "
|
||
"values. The last two options enable assigning arbitrary values to "
|
||
"enumerations; the others auto-assign increasing integers starting with 1 "
|
||
"(use the ``start`` parameter to specify a different starting value). A new "
|
||
"class derived from :class:`Enum` is returned. In other words, the above "
|
||
"assignment to :class:`Animal` is equivalent to::"
|
||
msgstr ""
|
||
"Le second argument est la *source* des noms des membres de l'énumération. Il "
|
||
"peut être une chaîne de caractères contenant les noms séparés par des "
|
||
"espaces, une séquence de noms, une séquence de couples clé / valeur ou un "
|
||
"dictionnaire (p. ex. un *dict*) de valeurs indexées par des noms. Les deux "
|
||
"dernières options permettent d'affecter des valeurs arbitraires aux "
|
||
"énumérations ; les autres affectent automatiquement des entiers en "
|
||
"commençant par 1 (le paramètre ``start`` permet de changer la valeur de "
|
||
"départ). Ceci renvoie une nouvelle classe dérivée de :class:`Enum`. En "
|
||
"d'autres termes, la déclaration de :class:`Animal` ci-dessus équivaut à : ::"
|
||
|
||
#: ../Doc/library/enum.rst:415
|
||
msgid ""
|
||
"The reason for defaulting to ``1`` as the starting number and not ``0`` is "
|
||
"that ``0`` is ``False`` in a boolean sense, but enum members all evaluate to "
|
||
"``True``."
|
||
msgstr ""
|
||
"La valeur de départ par défaut est ``1`` et non ``0`` car ``0`` au sens "
|
||
"booléen vaut ``False`` alors que tous les membres d'une *enum* valent "
|
||
"``True``."
|
||
|
||
#: ../Doc/library/enum.rst:419
|
||
msgid ""
|
||
"Pickling enums created with the functional API can be tricky as frame stack "
|
||
"implementation details are used to try and figure out which module the "
|
||
"enumeration is being created in (e.g. it will fail if you use a utility "
|
||
"function in separate module, and also may not work on IronPython or Jython). "
|
||
"The solution is to specify the module name explicitly as follows::"
|
||
msgstr ""
|
||
"La sérialisation d'énumérations créées avec l'API en fonction peut être "
|
||
"source de problèmes, car celle-ci repose sur des détails d'implémentation de "
|
||
"l'affichage de la pile d'appel pour tenter de déterminer dans quel module "
|
||
"l'énumération est créée (p. ex. elle échouera avec les fonctions utilitaires "
|
||
"provenant d'un module séparé et peut ne pas fonctionner avec IronPython ou "
|
||
"Jython). La solution consiste à préciser explicitement le nom du module "
|
||
"comme ceci : ::"
|
||
|
||
#: ../Doc/library/enum.rst:429
|
||
msgid ""
|
||
"If ``module`` is not supplied, and Enum cannot determine what it is, the new "
|
||
"Enum members will not be unpicklable; to keep errors closer to the source, "
|
||
"pickling will be disabled."
|
||
msgstr ""
|
||
"Si ``module`` n'est pas fourni et que *Enum* ne peut pas le deviner, les "
|
||
"nouveaux membres de *l'Enum* ne seront pas dé-sérialisables ; pour garder "
|
||
"les erreurs au plus près de leur origine, la sérialisation sera désactivée."
|
||
|
||
#: ../Doc/library/enum.rst:433
|
||
msgid ""
|
||
"The new pickle protocol 4 also, in some circumstances, relies on :attr:"
|
||
"`~definition.__qualname__` being set to the location where pickle will be "
|
||
"able to find the class. For example, if the class was made available in "
|
||
"class SomeData in the global scope::"
|
||
msgstr ""
|
||
"Le nouveau protocole version 4 de *pickle* se base lui aussi, dans certains "
|
||
"cas, sur le fait que :attr:`~definition.__qualname__` pointe sur l'endroit "
|
||
"où *pickle* peut trouver la classe. Par exemple, si la classe était "
|
||
"disponible depuis la classe *SomeData* dans l'espace de nom de plus haut "
|
||
"niveau : ::"
|
||
|
||
#: ../Doc/library/enum.rst:440
|
||
msgid "The complete signature is::"
|
||
msgstr "La signature complète est la suivante : ::"
|
||
|
||
#: ../Doc/library/enum.rst:444
|
||
msgid "What the new Enum class will record as its name."
|
||
msgstr "Le nom de la la nouvelle classe *Enum*."
|
||
|
||
#: ../Doc/library/enum.rst:446
|
||
msgid ""
|
||
"The Enum members. This can be a whitespace or comma separated string "
|
||
"(values will start at 1 unless otherwise specified)::"
|
||
msgstr ""
|
||
"Les membres de l'énumération. Une chaîne de caractères séparés par des "
|
||
"espaces ou des virgules (la valeur de départ est fixée à 1, sauf si "
|
||
"spécifiée autrement) : ::"
|
||
|
||
#: ../Doc/library/enum.rst:451
|
||
msgid "or an iterator of names::"
|
||
msgstr "ou un itérateur sur les noms : ::"
|
||
|
||
#: ../Doc/library/enum.rst:455
|
||
msgid "or an iterator of (name, value) pairs::"
|
||
msgstr "ou un itérateur sur les tuples (nom, valeur) : ::"
|
||
|
||
#: ../Doc/library/enum.rst:459
|
||
msgid "or a mapping::"
|
||
msgstr "ou une correspondance : ::"
|
||
|
||
#: ../Doc/library/enum.rst:463
|
||
msgid "name of module where new Enum class can be found."
|
||
msgstr "nom du module dans lequel la classe *Enum* se trouve."
|
||
|
||
#: ../Doc/library/enum.rst:465
|
||
msgid "where in module new Enum class can be found."
|
||
msgstr "localisation de la nouvelle classe *Enum* dans le module."
|
||
|
||
#: ../Doc/library/enum.rst:467
|
||
msgid "type to mix in to new Enum class."
|
||
msgstr "le type à mélanger dans la nouvelle classe *Enum*."
|
||
|
||
#: ../Doc/library/enum.rst:469
|
||
msgid "number to start counting at if only names are passed in."
|
||
msgstr "index de départ si uniquement des noms sont passés."
|
||
|
||
#: ../Doc/library/enum.rst:471
|
||
msgid "The *start* parameter was added."
|
||
msgstr "Ajout du paramètre *start*."
|
||
|
||
#: ../Doc/library/enum.rst:476
|
||
msgid "Derived Enumerations"
|
||
msgstr "Énumérations dérivées"
|
||
|
||
#: ../Doc/library/enum.rst:479
|
||
msgid "IntEnum"
|
||
msgstr "IntEnum"
|
||
|
||
#: ../Doc/library/enum.rst:481
|
||
msgid ""
|
||
"A variation of :class:`Enum` is provided which is also a subclass of :class:"
|
||
"`int`. Members of an :class:`IntEnum` can be compared to integers; by "
|
||
"extension, integer enumerations of different types can also be compared to "
|
||
"each other::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:502
|
||
msgid ""
|
||
"However, they still can't be compared to standard :class:`Enum` "
|
||
"enumerations::"
|
||
msgstr ""
|
||
"Elles ne peuvent cependant toujours pas être comparées à des énumérations "
|
||
"standards de :class:`Enum` : ::"
|
||
|
||
#: ../Doc/library/enum.rst:515
|
||
msgid ""
|
||
":class:`IntEnum` values behave like integers in other ways you'd expect::"
|
||
msgstr ""
|
||
"Les valeurs de :class:`IntEnum` se comportent comme des entiers, comme on "
|
||
"pouvait s'y attendre : ::"
|
||
|
||
#: ../Doc/library/enum.rst:524
|
||
msgid ""
|
||
"For the vast majority of code, :class:`Enum` is strongly recommended, since :"
|
||
"class:`IntEnum` breaks some semantic promises of an enumeration (by being "
|
||
"comparable to integers, and thus by transitivity to other unrelated "
|
||
"enumerations). It should be used only in special cases where there's no "
|
||
"other choice; for example, when integer constants are replaced with "
|
||
"enumerations and backwards compatibility is required with code that still "
|
||
"expects integers."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:534
|
||
msgid "Others"
|
||
msgstr "Autres"
|
||
|
||
#: ../Doc/library/enum.rst:536
|
||
msgid ""
|
||
"While :class:`IntEnum` is part of the :mod:`enum` module, it would be very "
|
||
"simple to implement independently::"
|
||
msgstr ""
|
||
"Bien que :class:`IntEnum` fasse partie du module :mod:`enum`, elle serait "
|
||
"très simple à implémenter hors de ce module : ::"
|
||
|
||
#: ../Doc/library/enum.rst:542
|
||
msgid ""
|
||
"This demonstrates how similar derived enumerations can be defined; for "
|
||
"example a :class:`StrEnum` that mixes in :class:`str` instead of :class:"
|
||
"`int`."
|
||
msgstr ""
|
||
"Ceci montre comment définir des énumérations dérivées similaires ; par "
|
||
"exemple une classe :class:`StrEnum` qui dériverait de :class:`str` au lieu "
|
||
"de :class:`int`."
|
||
|
||
#: ../Doc/library/enum.rst:545
|
||
msgid "Some rules:"
|
||
msgstr "Quelques règles :"
|
||
|
||
#: ../Doc/library/enum.rst:547
|
||
msgid ""
|
||
"When subclassing :class:`Enum`, mix-in types must appear before :class:"
|
||
"`Enum` itself in the sequence of bases, as in the :class:`IntEnum` example "
|
||
"above."
|
||
msgstr ""
|
||
"Pour hériter de :class:`Enum`, les types de mélange doivent être placés "
|
||
"avant la classe :class:`Enum` elle-même dans la liste des classes de base, "
|
||
"comme dans l'exemple de :class:`IntEnum` ci-dessus."
|
||
|
||
#: ../Doc/library/enum.rst:550
|
||
msgid ""
|
||
"While :class:`Enum` can have members of any type, once you mix in an "
|
||
"additional type, all the members must have values of that type, e.g. :class:"
|
||
"`int` above. This restriction does not apply to mix-ins which only add "
|
||
"methods and don't specify another data type such as :class:`int` or :class:"
|
||
"`str`."
|
||
msgstr ""
|
||
"Même si une classe :class:`Enum` peut avoir des membres de n'importe quel "
|
||
"type, dès lors qu'un type de mélange est ajouté, tous les membres doivent "
|
||
"être de ce type, p. ex. :class:`int` ci-dessus. Cette restriction ne "
|
||
"s'applique pas aux types de mélange qui ne font qu'ajouter des méthodes et "
|
||
"ne définissent pas de type de données, tels :class:`int` ou :class:`str`. "
|
||
|
||
#: ../Doc/library/enum.rst:555
|
||
msgid ""
|
||
"When another data type is mixed in, the :attr:`value` attribute is *not the "
|
||
"same* as the enum member itself, although it is equivalent and will compare "
|
||
"equal."
|
||
msgstr ""
|
||
"Quand un autre type de données est mélangé, l'attribut :attr:`value` n'est "
|
||
"*pas* identique au membre de l'énumération lui-même, bien qu'ils soient "
|
||
"équivalents et égaux en comparaison."
|
||
|
||
#: ../Doc/library/enum.rst:558
|
||
msgid ""
|
||
"%-style formatting: `%s` and `%r` call the :class:`Enum` class's :meth:"
|
||
"`__str__` and :meth:`__repr__` respectively; other codes (such as `%i` or `"
|
||
"%h` for IntEnum) treat the enum member as its mixed-in type."
|
||
msgstr ""
|
||
"Formatage de style *%* : `%s` et `%r` appellent respectivement les méthodes :"
|
||
"meth:`__str__` et :meth:`__repr__` de la classe :class:`Enum` ; les autres "
|
||
"codes, comme `%i` ou `%h` pour *IntEnum*, s'appliquent au membre comme si "
|
||
"celui-ci était converti en son type de mélange."
|
||
|
||
#: ../Doc/library/enum.rst:561
|
||
msgid ""
|
||
":meth:`str.format` (or :func:`format`) will use the mixed-in type's :meth:"
|
||
"`__format__`. If the :class:`Enum` class's :func:`str` or :func:`repr` is "
|
||
"desired, use the `!s` or `!r` format codes."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:567
|
||
msgid "Interesting examples"
|
||
msgstr "Exemples intéressants"
|
||
|
||
#: ../Doc/library/enum.rst:569
|
||
msgid ""
|
||
"While :class:`Enum` and :class:`IntEnum` are expected to cover the majority "
|
||
"of use-cases, they cannot cover them all. Here are recipes for some "
|
||
"different types of enumerations that can be used directly, or as examples "
|
||
"for creating one's own."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:576
|
||
msgid "AutoNumber"
|
||
msgstr "AutoNumber"
|
||
|
||
#: ../Doc/library/enum.rst:578
|
||
msgid "Avoids having to specify the value for each enumeration member::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:597
|
||
msgid ""
|
||
"The :meth:`__new__` method, if defined, is used during creation of the Enum "
|
||
"members; it is then replaced by Enum's :meth:`__new__` which is used after "
|
||
"class creation for lookup of existing members."
|
||
msgstr ""
|
||
"La méthode :meth:`__new__`, si définie, est appelée à la création des "
|
||
"membres de l'énumération ; elle est ensuite remplacée par la méthode :meth:"
|
||
"`__new__` de *Enum*, qui est utilisée après la création de la classe pour la "
|
||
"recherche des membres existants."
|
||
|
||
#: ../Doc/library/enum.rst:603
|
||
msgid "OrderedEnum"
|
||
msgstr "OrderedEnum"
|
||
|
||
#: ../Doc/library/enum.rst:605
|
||
msgid ""
|
||
"An ordered enumeration that is not based on :class:`IntEnum` and so "
|
||
"maintains the normal :class:`Enum` invariants (such as not being comparable "
|
||
"to other enumerations)::"
|
||
msgstr ""
|
||
"Une énumération ordonnée qui n'est pas basée sur :class:`IntEnum` et qui, "
|
||
"par conséquent, respecte les invariants classiques de :class:`Enum` (comme "
|
||
"par exemple l'impossibilité de pouvoir être comparée à d'autres "
|
||
"énumérations) ::"
|
||
|
||
#: ../Doc/library/enum.rst:639
|
||
msgid "DuplicateFreeEnum"
|
||
msgstr "DuplicateFreeEnum"
|
||
|
||
#: ../Doc/library/enum.rst:641
|
||
msgid ""
|
||
"Raises an error if a duplicate member name is found instead of creating an "
|
||
"alias::"
|
||
msgstr ""
|
||
"Lève une erreur si un membre est dupliqué, plutôt que de créer un alias : ::"
|
||
|
||
#: ../Doc/library/enum.rst:666
|
||
msgid ""
|
||
"This is a useful example for subclassing Enum to add or change other "
|
||
"behaviors as well as disallowing aliases. If the only desired change is "
|
||
"disallowing aliases, the :func:`unique` decorator can be used instead."
|
||
msgstr ""
|
||
"Cet exemple d'héritage de *Enum* est intéressant pour ajouter ou modifier "
|
||
"des comportements comme interdire les alias. Si vous ne souhaitez "
|
||
"qu'interdire les alias, il suffit d'utiliser le décorateur :func:`unique`."
|
||
|
||
#: ../Doc/library/enum.rst:672
|
||
msgid "Planet"
|
||
msgstr "Planet"
|
||
|
||
#: ../Doc/library/enum.rst:674
|
||
msgid ""
|
||
"If :meth:`__new__` or :meth:`__init__` is defined the value of the enum "
|
||
"member will be passed to those methods::"
|
||
msgstr ""
|
||
"Si :meth:`__new__` ou :meth:`__init__` sont définies, la valeur du membre de "
|
||
"l'énumération sera passée à ces méthodes : ::"
|
||
|
||
#: ../Doc/library/enum.rst:702
|
||
msgid "How are Enums different?"
|
||
msgstr "En quoi les *Enums* sont différentes ?"
|
||
|
||
#: ../Doc/library/enum.rst:704
|
||
msgid ""
|
||
"Enums have a custom metaclass that affects many aspects of both derived Enum "
|
||
"classes and their instances (members)."
|
||
msgstr ""
|
||
"Les *enums* ont une métaclasse spéciale qui affecte de nombreux aspects des "
|
||
"classes dérivées de *Enum* et de leur instances (membres)."
|
||
|
||
#: ../Doc/library/enum.rst:709
|
||
msgid "Enum Classes"
|
||
msgstr "Classes *Enum*"
|
||
|
||
#: ../Doc/library/enum.rst:711
|
||
msgid ""
|
||
"The :class:`EnumMeta` metaclass is responsible for providing the :meth:"
|
||
"`__contains__`, :meth:`__dir__`, :meth:`__iter__` and other methods that "
|
||
"allow one to do things with an :class:`Enum` class that fail on a typical "
|
||
"class, such as `list(Color)` or `some_var in Color`. :class:`EnumMeta` is "
|
||
"responsible for ensuring that various other methods on the final :class:"
|
||
"`Enum` class are correct (such as :meth:`__new__`, :meth:`__getnewargs__`, :"
|
||
"meth:`__str__` and :meth:`__repr__`)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:721
|
||
msgid "Enum Members (aka instances)"
|
||
msgstr "Membres d'Enum (c.-à-d. instances)"
|
||
|
||
#: ../Doc/library/enum.rst:723
|
||
msgid ""
|
||
"The most interesting thing about Enum members is that they are singletons. :"
|
||
"class:`EnumMeta` creates them all while it is creating the :class:`Enum` "
|
||
"class itself, and then puts a custom :meth:`__new__` in place to ensure that "
|
||
"no new ones are ever instantiated by returning only the existing member "
|
||
"instances."
|
||
msgstr ""
|
||
"Il est intéressant de souligner que les membres d'une *Enum* sont des "
|
||
"singletons. La classe :class:`EnumMeta` les crée tous au moment de la "
|
||
"création de la classe :class:`Enum` elle-même et implémente une méthode :"
|
||
"meth:`__new__` spécifique. Cette méthode renvoie toujours les instances de "
|
||
"membres déjà existantes pour être sûr de ne jamais en instancier de "
|
||
"nouvelles."
|
||
|
||
#: ../Doc/library/enum.rst:731
|
||
msgid "Finer Points"
|
||
msgstr "Aspects approfondis"
|
||
|
||
#: ../Doc/library/enum.rst:733
|
||
msgid ""
|
||
":class:`Enum` members are instances of an :class:`Enum` class, and even "
|
||
"though they are accessible as `EnumClass.member`, they should not be "
|
||
"accessed directly from the member as that lookup may fail or, worse, return "
|
||
"something besides the :class:`Enum` member you looking for::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:750
|
||
msgid "The :attr:`__members__` attribute is only available on the class."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:752
|
||
msgid ""
|
||
"If you give your :class:`Enum` subclass extra methods, like the `Planet`_ "
|
||
"class above, those methods will show up in a :func:`dir` of the member, but "
|
||
"not of the class::"
|
||
msgstr ""
|
||
"Si votre classe :class:`Enum` contient des méthodes supplémentaires, comme "
|
||
"la classe `Planet`_ ci-dessus, elles s'afficheront avec un appel à :func:"
|
||
"`dir` sur le membre, mais pas avec un appel sur la classe : ::"
|
||
|
||
#: ../Doc/library/enum.rst:761
|
||
msgid ""
|
||
"The :meth:`__new__` method will only be used for the creation of the :class:"
|
||
"`Enum` members -- after that it is replaced. Any custom :meth:`__new__` "
|
||
"method must create the object and set the :attr:`_value_` attribute "
|
||
"appropriately."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/enum.rst:766
|
||
msgid ""
|
||
"If you wish to change how :class:`Enum` members are looked up you should "
|
||
"either write a helper function or a :func:`classmethod` for the :class:"
|
||
"`Enum` subclass."
|
||
msgstr ""
|