Compare commits
5 Commits
ef3cbeb573
...
1f37dada79
Author | SHA1 | Date | |
---|---|---|---|
1f37dada79 | |||
079d208194 | |||
1ce828fa6c | |||
|
ccc4fd13dd | ||
71ee8d0211 |
1
Makefile
1
Makefile
|
@ -50,6 +50,7 @@ upgrade_venv:
|
|||
|
||||
$(VENV)/bin/activate: $(SPHINX_CONF)
|
||||
$(MAKE) -C $(CPYTHON_CLONE)/Doc/ VENVDIR=$(VENV) PYTHON=$(PYTHON) venv
|
||||
$(VENV)/bin/python3 -m pip install Sphinx==2.2
|
||||
|
||||
|
||||
.PHONY: progress
|
||||
|
|
4
bugs.po
4
bugs.po
|
@ -17,7 +17,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/bugs.rst:5
|
||||
msgid "Dealing with Bugs"
|
||||
msgstr "S'attaquer aux bugs"
|
||||
msgstr "S'attaquer aux bogues"
|
||||
|
||||
#: ../Doc/bugs.rst:7
|
||||
msgid ""
|
||||
|
@ -67,7 +67,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Si vous êtes limité par le temps, vous pouvez aussi envoyer un courriel à "
|
||||
"docs@python.org (les bogues de comportement peuvent être envoyés à python-"
|
||||
"list@python.org). 'docs@' est une liste de diffusion gérée par des "
|
||||
"list@python.org). « docs@ » est une liste de diffusion gérée par des "
|
||||
"volontaires, votre requête sera vue, mais elle peut prendre un moment pour "
|
||||
"être traitée."
|
||||
|
||||
|
|
45
c-api/arg.po
45
c-api/arg.po
|
@ -88,6 +88,10 @@ msgid ""
|
|||
"this object. You won't have to release any memory yourself. The only "
|
||||
"exceptions are ``es``, ``es#``, ``et`` and ``et#``."
|
||||
msgstr ""
|
||||
"En général, lorsqu'un format définit un pointeur vers un tampon, le tampon "
|
||||
"est géré par l'objet Python correspondant et le tampon partage la durée de "
|
||||
"vie de cet objet. vous n'avez pas à libérer de mémoire. Les seules "
|
||||
"exceptions sont ``es``, ``es#``, ``et`` et ``et#``."
|
||||
|
||||
#: ../Doc/c-api/arg.rst:42
|
||||
msgid ""
|
||||
|
@ -150,6 +154,13 @@ msgid ""
|
|||
"is raised. Unicode objects are converted to C strings using ``'utf-8'`` "
|
||||
"encoding. If this conversion fails, a :exc:`UnicodeError` is raised."
|
||||
msgstr ""
|
||||
"Convertit un objet Unicode en un pointeur vers une chaîne de caractères. "
|
||||
"S'il s'agit d'un pointeur vers une chaîne de caractères déjà existante, il "
|
||||
"est stocké dans la variable de type pointeur vers un caractère dont vous "
|
||||
"avez donné l'adresse. Une chaîne de caractères en C se termine par *NULL*. "
|
||||
"La chaîne de caractères Python ne doit donc pas contenir de caractère dont "
|
||||
"le code est *null*. Si elle en contient, une exception :exc:`ValueError` est "
|
||||
"levée. Si la conversion échoue, une :exc:`UnicodeError` est levée."
|
||||
|
||||
#: ../Doc/c-api/arg.rst:77
|
||||
msgid ""
|
||||
|
@ -158,12 +169,19 @@ msgid ""
|
|||
"strings, it is preferable to use the ``O&`` format with :c:func:"
|
||||
"`PyUnicode_FSConverter` as *converter*."
|
||||
msgstr ""
|
||||
"Ce format n'accepte pas les :term:`objets compatibles avec une chaîne "
|
||||
"d'octets <bytes-like object>`. Si vous voulez accepter les chemins du "
|
||||
"système de fichiers et les convertir vers des chaînes de caractères C, il "
|
||||
"est préférable d'utiliser le format ``O&`` avec :c:func:"
|
||||
"`PyUnicode_FSConverter` en tant que *converter*."
|
||||
|
||||
#: ../Doc/c-api/arg.rst:83 ../Doc/c-api/arg.rst:150
|
||||
msgid ""
|
||||
"Previously, :exc:`TypeError` was raised when embedded null code points were "
|
||||
"encountered in the Python string."
|
||||
msgstr ""
|
||||
"Auparavant, une :exc:`TypeError` était levée quand la chaîne de caractères "
|
||||
"Python contenait des codes NULL."
|
||||
|
||||
#: ../Doc/c-api/arg.rst:91
|
||||
msgid "``s*`` (:class:`str` or :term:`bytes-like object`) [Py_buffer]"
|
||||
|
@ -176,12 +194,19 @@ msgid ""
|
|||
"resulting C string may contain embedded NUL bytes. Unicode objects are "
|
||||
"converted to C strings using ``'utf-8'`` encoding."
|
||||
msgstr ""
|
||||
"Ce format accepte les objets Unicode et les *bytes-like object*. Cela "
|
||||
"remplit une structure :c:type:`Py_buffer` qui est fournie par l'appelant. "
|
||||
"Dans ce cas, la chaîne de caractères C qui en résulte peut contenir des "
|
||||
"octets NULL. Les objets Unicode sont convertis en chaînes de caractères C en "
|
||||
"utilisant l'encodage ``'utf-8'``."
|
||||
|
||||
#: ../Doc/c-api/arg.rst:98
|
||||
msgid ""
|
||||
"``s#`` (:class:`str`, read-only :term:`bytes-like object`) [const char \\*, "
|
||||
"int or :c:type:`Py_ssize_t`]"
|
||||
msgstr ""
|
||||
"``s#`` (:class:`str`, :term:`bytes-like object` en lecture seule) [``const "
|
||||
"char \\*``, ``int`` ou :c:type:`Py_ssize_t`]"
|
||||
|
||||
#: ../Doc/c-api/arg.rst:94
|
||||
msgid ""
|
||||
|
@ -190,6 +215,11 @@ msgid ""
|
|||
"second one its length. The string may contain embedded null bytes. Unicode "
|
||||
"objects are converted to C strings using ``'utf-8'`` encoding."
|
||||
msgstr ""
|
||||
"La même chose que ``s*``, mais n'accepte pas les objets muables. Le résultat "
|
||||
"est stocké dans deux variables C, la première est un pointeur vers une "
|
||||
"chaîne de caractères C, la seconde contient sa taille. La chaîne de "
|
||||
"caractères peut contenir des octets NULL. Les objets Unicode sont convertis "
|
||||
"vers des chaînes de caractères C utilisant l'encodage ``'utf-8'``."
|
||||
|
||||
#: ../Doc/c-api/arg.rst:102 ../Doc/c-api/arg.rst:566
|
||||
msgid "``z`` (:class:`str` or ``None``) [const char \\*]"
|
||||
|
@ -232,6 +262,8 @@ msgstr ""
|
|||
#: ../Doc/c-api/arg.rst:120
|
||||
msgid "``y`` (read-only :term:`bytes-like object`) [const char \\*]"
|
||||
msgstr ""
|
||||
"``y`` (lecture seule :term:`objet compatible avec une chaîne d'octets <bytes-"
|
||||
"like object>`) [constante char \\*]"
|
||||
|
||||
#: ../Doc/c-api/arg.rst:113
|
||||
msgid ""
|
||||
|
@ -240,12 +272,18 @@ msgid ""
|
|||
"contain embedded null bytes; if it does, a :exc:`ValueError` exception is "
|
||||
"raised."
|
||||
msgstr ""
|
||||
"Ce format convertit un *objet compatible avec une chaîne d'octets* en un "
|
||||
"pointeur C vers une chaîne de caractères ; il n'accepte pas les objets "
|
||||
"Unicode. Le tampon d'octets ne doit pas contenir d'octets *null* ; si c'est "
|
||||
"le cas, une exception :exc:`ValueError` est levée."
|
||||
|
||||
#: ../Doc/c-api/arg.rst:118
|
||||
msgid ""
|
||||
"Previously, :exc:`TypeError` was raised when embedded null bytes were "
|
||||
"encountered in the bytes buffer."
|
||||
msgstr ""
|
||||
"Auparavant, :exc:`TypeError` était levée lorsque des octets *null* étaient "
|
||||
"rencontrés dans le tampon d'octets."
|
||||
|
||||
#: ../Doc/c-api/arg.rst:125
|
||||
msgid "``y*`` (:term:`bytes-like object`) [Py_buffer]"
|
||||
|
@ -306,6 +344,13 @@ msgid ""
|
|||
"Python string must not contain embedded null code points; if it does, a :exc:"
|
||||
"`ValueError` exception is raised."
|
||||
msgstr ""
|
||||
"Convertit un objet Python Unicode en un pointeur C vers un tampon de "
|
||||
"caractères Unicode terminé par *NULL*. Vous devez passer l'adresse d'un "
|
||||
"pointeur :c:type:`Py_UNICODE`, qui sera rempli avec le pointeur vers un "
|
||||
"tampon Unicode existant. Veuillez noter que la taille d'un :c:type:"
|
||||
"`Py_UNICODE` dépend des options de compilation (soit 16, soit 32 bits). La "
|
||||
"chaîne de caractères Python ne doit pas contenir de code *NULL*. Si elle en "
|
||||
"contient, une exception :exc:`ValueError` est levée."
|
||||
|
||||
#: ../Doc/c-api/arg.rst:157 ../Doc/c-api/arg.rst:166 ../Doc/c-api/arg.rst:174
|
||||
#: ../Doc/c-api/arg.rst:182
|
||||
|
|
|
@ -528,7 +528,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/c-api/buffer.rst:321
|
||||
msgid "format"
|
||||
msgstr ""
|
||||
msgstr "format"
|
||||
|
||||
#: ../Doc/c-api/buffer.rst:323 ../Doc/c-api/buffer.rst:325
|
||||
#: ../Doc/c-api/buffer.rst:327 ../Doc/c-api/buffer.rst:329
|
||||
|
|
|
@ -72,7 +72,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/c-api/bytes.rst:68
|
||||
msgid "Format Characters"
|
||||
msgstr ""
|
||||
msgstr "Caractères de format"
|
||||
|
||||
#: ../Doc/c-api/bytes.rst:68
|
||||
msgid "Type"
|
||||
|
|
|
@ -232,7 +232,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/c-api/intro.rst:193
|
||||
msgid "Reference Counts"
|
||||
msgstr ""
|
||||
msgstr "Compteurs de références"
|
||||
|
||||
#: ../Doc/c-api/intro.rst:195
|
||||
msgid ""
|
||||
|
|
|
@ -16,13 +16,15 @@ msgstr ""
|
|||
|
||||
#: ../Doc/c-api/mapping.rst:6
|
||||
msgid "Mapping Protocol"
|
||||
msgstr ""
|
||||
msgstr "Protocole de correspondance"
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:8
|
||||
msgid ""
|
||||
"See also :c:func:`PyObject_GetItem`, :c:func:`PyObject_SetItem` and :c:func:"
|
||||
"`PyObject_DelItem`."
|
||||
msgstr ""
|
||||
"Voir aussi :c:func:`PyObject_GetItem`, :c:func:`PyObject_SetItem` et :c:func:"
|
||||
"`PyObject_DelItem`."
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:14
|
||||
msgid ""
|
||||
|
@ -37,6 +39,8 @@ msgid ""
|
|||
"Returns the number of keys in object *o* on success, and ``-1`` on failure. "
|
||||
"This is equivalent to the Python expression ``len(o)``."
|
||||
msgstr ""
|
||||
"Renvoie le nombre de clefs dans l'objet *o* et ``-1`` en cas d'échec. C'est "
|
||||
"l'équivalent de l'expression Python ``len(o)``."
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:32
|
||||
msgid ""
|
||||
|
@ -58,12 +62,18 @@ msgid ""
|
|||
"on failure. This is equivalent to the Python statement ``del o[key]``. This "
|
||||
"is an alias of :c:func:`PyObject_DelItem`."
|
||||
msgstr ""
|
||||
"Supprime la correspondance associée à l'objet *key* dans l'objet *o*. "
|
||||
"Renvoie ``-1`` en cas d'échec. C'est l'équivalent de la commande Python "
|
||||
"``del o[key]``. C'est un alias pour :c:func:`PyObject_DelItem`."
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:53
|
||||
msgid ""
|
||||
"Remove the mapping for the string *key* from the object *o*. Return ``-1`` "
|
||||
"on failure. This is equivalent to the Python statement ``del o[key]``."
|
||||
msgstr ""
|
||||
"Supprime la correspondance associée à la chaîne *key* dans l'objet *o*. "
|
||||
"Renvoie ``-1`` en cas d'échec. C'est l'équivalent de la commande Python "
|
||||
"``del o[key]``."
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:59 ../Doc/c-api/mapping.rst:70
|
||||
msgid ""
|
||||
|
@ -71,6 +81,9 @@ msgid ""
|
|||
"This is equivalent to the Python expression ``key in o``. This function "
|
||||
"always succeeds."
|
||||
msgstr ""
|
||||
"Renvoie ``1`` si l'objet de correspondance possède une clef *key* et ``0`` "
|
||||
"sinon. C'est l'équivalent de l'expression Python ``key in o``. Cette "
|
||||
"fonction ne provoque jamais d'erreur."
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:63
|
||||
msgid ""
|
||||
|
@ -78,6 +91,9 @@ msgid ""
|
|||
"method will get suppressed. To get error reporting use :c:func:"
|
||||
"`PyObject_GetItem()` instead."
|
||||
msgstr ""
|
||||
"Notez que les exceptions qui surviennent pendant l'appel de la méthode :meth:"
|
||||
"`__getitem__` seront supprimées. Pour obtenir le rapport d'erreur, utilisez "
|
||||
"plutôt :c:func:`PyObject_GetItem()`."
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:74
|
||||
msgid ""
|
||||
|
@ -85,6 +101,10 @@ msgid ""
|
|||
"method and creating a temporary string object will get suppressed. To get "
|
||||
"error reporting use :c:func:`PyMapping_GetItemString()` instead."
|
||||
msgstr ""
|
||||
"Notez que les exceptions qui surviennent en créant une chaîne de caractères "
|
||||
"temporaire pendant l'appel de la méthode :meth:`__getitem__` seront "
|
||||
"supprimées. Pour obtenir le rapport d'erreur, utilisez plutôt :c:func:"
|
||||
"`PyMapping_GetItemString()`."
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:81
|
||||
msgid ""
|
||||
|
@ -95,7 +115,7 @@ msgstr ""
|
|||
#: ../Doc/c-api/mapping.rst:84 ../Doc/c-api/mapping.rst:93
|
||||
#: ../Doc/c-api/mapping.rst:102
|
||||
msgid "Previously, the function returned a list or a tuple."
|
||||
msgstr ""
|
||||
msgstr "Auparavant, la fonction renvoyait une liste ou un n-uplet."
|
||||
|
||||
#: ../Doc/c-api/mapping.rst:90
|
||||
msgid ""
|
||||
|
|
|
@ -488,7 +488,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/c-api/memory.rst:368 ../Doc/c-api/memory.rst:513
|
||||
msgid "Field"
|
||||
msgstr ""
|
||||
msgstr "Champ"
|
||||
|
||||
#: ../Doc/c-api/memory.rst:368 ../Doc/c-api/memory.rst:513
|
||||
msgid "Meaning"
|
||||
|
|
|
@ -24,6 +24,9 @@ msgid ""
|
|||
"<bufferobjects>` as a Python object which can then be passed around like any "
|
||||
"other object."
|
||||
msgstr ""
|
||||
"Un objet Python :class:`memoryview` expose le :ref:`protocole tampon "
|
||||
"<bufferobjects>` du C. Cet objet peut ensuite être passé comme n'importe "
|
||||
"quel objet."
|
||||
|
||||
#: ../Doc/c-api/memoryview.rst:18
|
||||
msgid ""
|
||||
|
@ -32,12 +35,18 @@ msgid ""
|
|||
"will be read/write, otherwise it may be either read-only or read/write at "
|
||||
"the discretion of the exporter."
|
||||
msgstr ""
|
||||
"Crée un objet *memoryview* à partir d'un objet implémentant le protocole "
|
||||
"tampon. Si *obj* permet d'exporter des tampons modifiables, l'objet "
|
||||
"*memoryview* crée acceptera la lecture et écriture, sinon l'objet crée est "
|
||||
"soit en lecture seule ou lecture/écriture, à la discrétion de l'*exporteur*."
|
||||
|
||||
#: ../Doc/c-api/memoryview.rst:25
|
||||
msgid ""
|
||||
"Create a memoryview object using *mem* as the underlying buffer. *flags* can "
|
||||
"be one of :c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE`."
|
||||
msgstr ""
|
||||
"Crée un objet *memoryview* utilisant *mem* comme un tampon sous-jacent. "
|
||||
"*flags* peut être :c:macro:`PyBUF_READ` ou :c:macro:`PyBUF_WRITE`."
|
||||
|
||||
#: ../Doc/c-api/memoryview.rst:32
|
||||
msgid ""
|
||||
|
@ -45,6 +54,8 @@ msgid ""
|
|||
"simple byte buffers, :c:func:`PyMemoryView_FromMemory` is the preferred "
|
||||
"function."
|
||||
msgstr ""
|
||||
"Crée un objet *memoryview* à partir de la structure tampon *view*. Pour de "
|
||||
"simples tampons d'octets, :c:func:`PyMemoryView_FromMemory` est préférée."
|
||||
|
||||
#: ../Doc/c-api/memoryview.rst:38
|
||||
msgid ""
|
||||
|
@ -54,12 +65,19 @@ msgid ""
|
|||
"original memory. Otherwise, a copy is made and the memoryview points to a "
|
||||
"new bytes object."
|
||||
msgstr ""
|
||||
"Crée un objet *memoryview* vers un segment de mémoire :term:`contiguous` "
|
||||
"(organisé comme en ``'C'`` ou comme en ``'F'`` pour Fortran) à partir d'un "
|
||||
"objet qui expose le protocole tampon. Si la mémoire est contiguë, l'objet "
|
||||
"*memoryview* pointe vers la mémoire d'origine. Sinon une copie est faite et "
|
||||
"la *memoryview* pointe vers un nouvel objet *bytes*."
|
||||
|
||||
#: ../Doc/c-api/memoryview.rst:47
|
||||
msgid ""
|
||||
"Return true if the object *obj* is a memoryview object. It is not currently "
|
||||
"allowed to create subclasses of :class:`memoryview`."
|
||||
msgstr ""
|
||||
"Renvoie vrai si l'objet *obj* est un objet *memoryview*. Il n'est pas permis "
|
||||
"de créer une sous-classe de :class:`memoryview`."
|
||||
|
||||
#: ../Doc/c-api/memoryview.rst:53
|
||||
msgid ""
|
||||
|
@ -67,6 +85,10 @@ msgid ""
|
|||
"*mview* **must** be a memoryview instance; this macro doesn't check its "
|
||||
"type, you must do it yourself or you will risk crashes."
|
||||
msgstr ""
|
||||
"Retourne un pointeur vers la copie privée du tampon de l'*exporteur* de "
|
||||
"*memoryview*. *mview* **doit** être une instance de *memoryview*; cette "
|
||||
"macro ne vérifie pas le type, vous devez le faire vous-même sinon vous "
|
||||
"pourriez subir un crash."
|
||||
|
||||
#: ../Doc/c-api/memoryview.rst:59
|
||||
msgid ""
|
||||
|
|
|
@ -142,7 +142,7 @@ msgstr ""
|
|||
#: ../Doc/c-api/structures.rst:139 ../Doc/c-api/structures.rst:279
|
||||
#: ../Doc/c-api/structures.rst:345
|
||||
msgid "Field"
|
||||
msgstr ""
|
||||
msgstr "Champ"
|
||||
|
||||
#: ../Doc/c-api/structures.rst:139 ../Doc/c-api/structures.rst:279
|
||||
#: ../Doc/c-api/structures.rst:345
|
||||
|
|
|
@ -150,7 +150,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/c-api/tuple.rst:145 ../Doc/c-api/tuple.rst:168
|
||||
msgid "Field"
|
||||
msgstr ""
|
||||
msgstr "Champ"
|
||||
|
||||
#: ../Doc/c-api/tuple.rst:145 ../Doc/c-api/tuple.rst:168
|
||||
msgid "C Type"
|
||||
|
|
|
@ -437,7 +437,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/c-api/unicode.rst:447
|
||||
msgid "Format Characters"
|
||||
msgstr ""
|
||||
msgstr "Caractères de format"
|
||||
|
||||
#: ../Doc/c-api/unicode.rst:447
|
||||
msgid "Type"
|
||||
|
|
164
dict
164
dict
|
@ -1,6 +1,11 @@
|
|||
017F
|
||||
212A
|
||||
Ahlstrom
|
||||
#python-fr
|
||||
-1
|
||||
-ième
|
||||
-uplet
|
||||
-uplets
|
||||
017f
|
||||
212a
|
||||
ahlstrom
|
||||
allocateur
|
||||
allocateurs
|
||||
base16
|
||||
|
@ -8,98 +13,135 @@ base32
|
|||
base64
|
||||
base85
|
||||
batch
|
||||
boguer
|
||||
c++
|
||||
c-
|
||||
C-
|
||||
C99
|
||||
c/c++
|
||||
C14N
|
||||
C89
|
||||
c99
|
||||
chacha20
|
||||
cadriciel
|
||||
cadriciels
|
||||
Catucci
|
||||
catucci
|
||||
cobjects
|
||||
composabilité
|
||||
concourance
|
||||
contravariante
|
||||
contravariantes
|
||||
configurateurs
|
||||
contribués
|
||||
coroutine
|
||||
coroutine
|
||||
coroutines
|
||||
Cython
|
||||
cpython
|
||||
curryfication
|
||||
cython
|
||||
d'allocateurs
|
||||
d'indifférentiabilité
|
||||
d'itérateurs
|
||||
docstrings
|
||||
décodables
|
||||
déduplication
|
||||
délimitants
|
||||
désenregistre
|
||||
déserialisables
|
||||
déserialisation
|
||||
déserialisations
|
||||
déserialise
|
||||
désérialise
|
||||
désérialisé
|
||||
désérialisées
|
||||
déserialiser
|
||||
désérialiser
|
||||
déserialisés
|
||||
déserialiseur
|
||||
déserialiseurs
|
||||
d'indifférentiabilité
|
||||
d'itérateurs
|
||||
docstrings
|
||||
émoji
|
||||
désérialiseur
|
||||
désérialiseurs
|
||||
déserialisées
|
||||
déserialisés
|
||||
désérialisés
|
||||
désérialise
|
||||
désérialiser
|
||||
désérialisé
|
||||
désérialisées
|
||||
encodable
|
||||
Farrugia
|
||||
ethnomathématiques
|
||||
farrugia
|
||||
finaliseur
|
||||
Fredrik
|
||||
frederik
|
||||
fredrik
|
||||
freeze
|
||||
Guido
|
||||
glibc
|
||||
guido
|
||||
hachabilité
|
||||
hachable
|
||||
hachables
|
||||
Hettinger
|
||||
hettinger
|
||||
html
|
||||
-ième
|
||||
indiçage
|
||||
indo-arabes
|
||||
ininterruptible
|
||||
interchangés
|
||||
iOS
|
||||
intralignes
|
||||
ios
|
||||
ipv4
|
||||
itérateur
|
||||
itérateurs
|
||||
ı
|
||||
journalisé
|
||||
ième
|
||||
journalise
|
||||
journaliser
|
||||
journalisés
|
||||
journaliseur
|
||||
Jr.
|
||||
Kuchling
|
||||
journalisé
|
||||
journalisée
|
||||
journalisés
|
||||
jr.
|
||||
kolams
|
||||
kuchling
|
||||
l'allocateur
|
||||
lexicographiquement
|
||||
l'indiçage
|
||||
l'itérateur
|
||||
lexicographiquement
|
||||
lorsqu'aucune
|
||||
lorsqu'aucun
|
||||
mar
|
||||
mar.
|
||||
Marc-André
|
||||
mémoïsant
|
||||
mémoïsation
|
||||
Mersenne
|
||||
métacaractère
|
||||
métacaractères
|
||||
métaclasse
|
||||
métaclasses
|
||||
marc-andré
|
||||
mersenne
|
||||
mertz
|
||||
Monty
|
||||
muabilité
|
||||
muable
|
||||
muables
|
||||
multiensemble
|
||||
multiensembles
|
||||
mutex
|
||||
mémoïsant
|
||||
mémoïsation
|
||||
métacaractère
|
||||
métacaractères
|
||||
métaclasse
|
||||
métaclasses
|
||||
n-ième
|
||||
namespace
|
||||
non-hachable
|
||||
non-hachables
|
||||
pdb
|
||||
pip
|
||||
pourcent
|
||||
proleptique
|
||||
précompilé
|
||||
préemptif
|
||||
proleptique
|
||||
préremplis
|
||||
py2exe
|
||||
pyc
|
||||
PyChecker
|
||||
Pydb
|
||||
Pylint
|
||||
PythonWin
|
||||
pychecker
|
||||
pydb
|
||||
pylint
|
||||
pythonwin
|
||||
qu
|
||||
re
|
||||
recompilation
|
||||
Reedy
|
||||
reedy
|
||||
relationelle
|
||||
retraçage
|
||||
réentrant
|
||||
réentrante
|
||||
réentrants
|
||||
réessayable
|
||||
réexécuter
|
||||
|
@ -108,33 +150,41 @@ référençables
|
|||
réimplémente
|
||||
réimplémenter
|
||||
réimplémentez
|
||||
relationelle
|
||||
résolveurs
|
||||
retraçage
|
||||
réusinage
|
||||
réusinages
|
||||
réusiné
|
||||
ſ
|
||||
sérialisable
|
||||
réutilisabilité
|
||||
serwy
|
||||
shell
|
||||
slot
|
||||
smalltalk
|
||||
sqlite
|
||||
surprenamment
|
||||
sérialisable
|
||||
sérialisables
|
||||
sérialiser
|
||||
sérialiseur
|
||||
sérialisé
|
||||
sérialisée
|
||||
sérialisées
|
||||
sérialiser
|
||||
sérialisés
|
||||
sérialiseur
|
||||
Serwy
|
||||
shell
|
||||
slot
|
||||
surprenamment
|
||||
tk
|
||||
tokenisation
|
||||
tokenisé
|
||||
tokenisés
|
||||
tty
|
||||
uplets
|
||||
utf-8
|
||||
utf-16
|
||||
utf-32
|
||||
von
|
||||
W3C
|
||||
wxWidgets
|
||||
X11
|
||||
Zope
|
||||
w3c
|
||||
world
|
||||
wxwidgets
|
||||
x11
|
||||
x86
|
||||
zope
|
||||
émoji
|
||||
ı
|
||||
ſ
|
||||
|
|
|
@ -16,7 +16,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/distutils/introduction.rst:5
|
||||
msgid "An Introduction to Distutils"
|
||||
msgstr ""
|
||||
msgstr "Introduction à Distutils"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:7
|
||||
msgid ""
|
||||
|
@ -25,6 +25,10 @@ msgid ""
|
|||
"information on installing Python modules, you should refer to the :ref:"
|
||||
"`install-index` chapter."
|
||||
msgstr ""
|
||||
"Ce document traite de l'utilisation de Distutils pour distribuer des modules "
|
||||
"Python, en se concentrant sur le rôle de développeur/distributeur : si vous "
|
||||
"cherchez des informations sur l'installation de modules Python, vous devriez "
|
||||
"vous référer au chapitre :ref:`install-index`."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:16
|
||||
msgid "Concepts & Terminology"
|
||||
|
@ -37,26 +41,30 @@ msgid ""
|
|||
"responsibilities (apart from writing solid, well-documented and well-tested "
|
||||
"code, of course!) are:"
|
||||
msgstr ""
|
||||
"Utiliser Distuils est assez simple, à la fois pour les développeurs de "
|
||||
"module et pour les utilisateurs/administrateurs qui installent des modules "
|
||||
"tiers. En tant que développeur, vos responsabilités (en plus d'écrire du "
|
||||
"code solide, bien documenté et bien testé, bien entendu !) sont :"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:23
|
||||
msgid "write a setup script (:file:`setup.py` by convention)"
|
||||
msgstr ""
|
||||
msgstr "écrire un script d'installation (:file:`setup.py` par convention) ;"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:25
|
||||
msgid "(optional) write a setup configuration file"
|
||||
msgstr ""
|
||||
msgstr "(optionnel) écrire un fichier de configuration pour l'installation ;"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:27
|
||||
msgid "create a source distribution"
|
||||
msgstr ""
|
||||
msgstr "créer une distribution source ;"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:29
|
||||
msgid "(optional) create one or more built (binary) distributions"
|
||||
msgstr ""
|
||||
msgstr "(optionnel) créer une ou plusieurs distributions compilées (binaires)."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:31
|
||||
msgid "Each of these tasks is covered in this document."
|
||||
msgstr ""
|
||||
msgstr "Chacune de ces tâches est couverte dans ce document."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:33
|
||||
msgid ""
|
||||
|
@ -70,6 +78,16 @@ msgid ""
|
|||
"module distributions in the most natural way for their platform, without "
|
||||
"having to run a single setup script or compile a line of code."
|
||||
msgstr ""
|
||||
"Tous les développeurs de modules n'ont pas accès à une multitude de "
|
||||
"plateformes, donc on ne peut pas exiger d'eux qu'ils créent une multitude de "
|
||||
"distributions compilées. On s'attend à ce que certains intermédiaires, "
|
||||
"appelés *packagers*, prennent en charge ce besoin. Les packagers vont "
|
||||
"prendre les sources des distributions publiées par les développeurs de "
|
||||
"modules, les construire sur on ou plusieurs plateformes, et publier les "
|
||||
"distributions compilées résultantes. Ainsi, les utilisateurs sur les "
|
||||
"plateformes les plus populaires vont pouvoir installer la plupart des "
|
||||
"modules Python de la façon la plus naturelle qui soit pour leur plateforme, "
|
||||
"sans avoir à exécuter de script ou à compiler du code."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:47
|
||||
msgid "A Simple Example"
|
||||
|
@ -84,22 +102,33 @@ msgid ""
|
|||
"script may be run multiple times in the course of building and installing "
|
||||
"your module distribution."
|
||||
msgstr ""
|
||||
"Le script d'installation est habituellement assez simple, même s'il n'y a "
|
||||
"pas de limite à ce qu'il peut faire (il est écrit en Python, n'est-ce "
|
||||
"pas ?). Veillez d'ailleurs à ne pas surcharger ce script avec des opérations "
|
||||
"coûteuses car, contrairement aux scripts de configuration façon Autoconf, le "
|
||||
"script d'installation peut être amené à être exécuté plusieurs fois au cours "
|
||||
"de la compilation et de l'installation du module. "
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:56
|
||||
msgid ""
|
||||
"If all you want to do is distribute a module called :mod:`foo`, contained in "
|
||||
"a file :file:`foo.py`, then your setup script can be as simple as this::"
|
||||
msgstr ""
|
||||
"Si tout ce que vous voulez est de distribuer un module appelé :mod:`foo`, "
|
||||
"contenu dans un fichier :file:`foo.py`, alors votre script d'installation "
|
||||
"peut se résumer à :"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:65
|
||||
msgid "Some observations:"
|
||||
msgstr ""
|
||||
msgstr "Quelques observations :"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:67
|
||||
msgid ""
|
||||
"most information that you supply to the Distutils is supplied as keyword "
|
||||
"arguments to the :func:`setup` function"
|
||||
msgstr ""
|
||||
"la plupart des informations que vous fournissez à Distutils sont fournies en "
|
||||
"tant que qu'arguments nommés à la fonction :func:`setup`;"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:70
|
||||
msgid ""
|
||||
|
@ -107,12 +136,17 @@ msgid ""
|
|||
"version number) and information about what's in the package (a list of pure "
|
||||
"Python modules, in this case)"
|
||||
msgstr ""
|
||||
"ces arguments nommés tombent dans deux catégories : métadonnées du paquet "
|
||||
"(nom, numéro de version) et des informations sur le contenu du paquet paquet "
|
||||
"(une liste de purs modules Python, dans ce cas) ; "
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:74
|
||||
msgid ""
|
||||
"modules are specified by module name, not filename (the same will hold true "
|
||||
"for packages and extensions)"
|
||||
msgstr ""
|
||||
"les modules sont listés par nom de module, plutôt que par nom de fichier (le "
|
||||
"cas est similaire pour les paquets et extensions) ;"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:77
|
||||
msgid ""
|
||||
|
@ -120,6 +154,9 @@ msgid ""
|
|||
"name, email address and a URL for the project (see section :ref:`setup-"
|
||||
"script` for an example)"
|
||||
msgstr ""
|
||||
"il est recommandé de fournir un minimum de métadonnées, en particulier votre "
|
||||
"nom, une adresse de courriel et une URL pour le projet (voir section :ref:"
|
||||
"`setup-script` pour un exemple)."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:81
|
||||
msgid ""
|
||||
|
@ -127,12 +164,17 @@ msgid ""
|
|||
"script, :file:`setup.py`, containing the above code, and run this command "
|
||||
"from a terminal::"
|
||||
msgstr ""
|
||||
"Pour créer une distribution source pour ce module, il faut créer un script "
|
||||
"d'installation, :file:`setup.py`, contenant le code ci-dessus, et exécuter "
|
||||
"cette commande depuis un terminal :"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:87
|
||||
msgid ""
|
||||
"For Windows, open a command prompt window (:menuselection:`Start --> "
|
||||
"Accessories`) and change the command to::"
|
||||
msgstr ""
|
||||
"Pour Windows, ouvrez une invite de commande (:menuselection:`Démarrer --> "
|
||||
"Accessoires`) et changez la commande en :"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:92
|
||||
msgid ""
|
||||
|
@ -141,6 +183,11 @@ msgid ""
|
|||
"module :file:`foo.py`. The archive file will be named :file:`foo-1.0.tar.gz` "
|
||||
"(or :file:`.zip`), and will unpack into a directory :file:`foo-1.0`."
|
||||
msgstr ""
|
||||
":command:`sdist` va créer un fichier d'archive (p. ex. une archive *tar* sur "
|
||||
"Unix, un fichier ZIP sous Windows) contenant votre script d'installation :"
|
||||
"file:`setup.py`, et votre module :file:`foo.py`. Le fichier d'archive va "
|
||||
"être nommé :file:`foo-1.0.tar.gz` (ou :file:`.zip`), et va se décompresser "
|
||||
"dans un répertoire :file:`foo-1.0`."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:97
|
||||
msgid ""
|
||||
|
@ -148,12 +195,18 @@ msgid ""
|
|||
"is download :file:`foo-1.0.tar.gz` (or :file:`.zip`), unpack it, and---from "
|
||||
"the :file:`foo-1.0` directory---run ::"
|
||||
msgstr ""
|
||||
"Si un utilisateur final souhaite installer votre module :mod:`foo`, tout ce "
|
||||
"qu'il aura à faire est de télécharger le fichier :file:`foo-1.0.tar.gz` (ou :"
|
||||
"file:`.zip`), le décompresser et ---depuis le répertoire :file:`foo-1.0`--- "
|
||||
"exécuter :"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:103
|
||||
msgid ""
|
||||
"which will ultimately copy :file:`foo.py` to the appropriate directory for "
|
||||
"third-party modules in their Python installation."
|
||||
msgstr ""
|
||||
"ce qui va finalement copier :file:`foo.py` dans le répertoire approprié pour "
|
||||
"un module tiers dans son installation Python."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:106
|
||||
msgid ""
|
||||
|
@ -164,6 +217,13 @@ msgid ""
|
|||
"while :command:`install` is more often for installers (although most "
|
||||
"developers will want to install their own code occasionally)."
|
||||
msgstr ""
|
||||
"Ce simple exemple démontre des concepts fondamentaux de Distutils, "
|
||||
"Premièrement, les développeurs et installeurs ont la même interface "
|
||||
"utilisateur basique, p. ex. le script d'installation. La différence est "
|
||||
"quelle *commande* Distutils ils utilisent : la commande :command:`sdist` est "
|
||||
"quasiment exclusivement pour les développeurs de modules Python, tandis que :"
|
||||
"command:`install` est plus souvent pour les installeurs (bien que la plupart "
|
||||
"des développeurs vont vouloir installer leur code occasionnellement)."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:113
|
||||
msgid ""
|
||||
|
@ -174,12 +234,21 @@ msgid ""
|
|||
"distribution for this platform) with the :command:`bdist_wininst` command. "
|
||||
"For example::"
|
||||
msgstr ""
|
||||
"Si vous voulez rendre les choses vraiment faciles pour vos utilisateurs, "
|
||||
"vous pouvez créer on ou plusieurs distributions compilées pour eux. En "
|
||||
"l’occurrence, si vous tournez sous une machine Windows, et que vous voulez "
|
||||
"rendre les choses faciles pour les autres utilisateurs Windows, vous pouvez "
|
||||
"créer un installateur exécutable (le mode de distribution le plus approprié "
|
||||
"pour cette plateforme) avec la commande :command:`bdist_wininst`. Par "
|
||||
"exemple :"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:121
|
||||
msgid ""
|
||||
"will create an executable installer, :file:`foo-1.0.win32.exe`, in the "
|
||||
"current directory."
|
||||
msgstr ""
|
||||
"va créer une installeur exécutable, :file:`foo-1.0.win32.exe`, dans le "
|
||||
"répertoire courant."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:124
|
||||
msgid ""
|
||||
|
@ -188,6 +257,11 @@ msgid ""
|
|||
"and HP-UX :program:`swinstall` (:command:`bdist_sdux`). For example, the "
|
||||
"following command will create an RPM file called :file:`foo-1.0.noarch.rpm`::"
|
||||
msgstr ""
|
||||
"D'autres formats de distributions compilés utiles sont RPM, implémenté par "
|
||||
"la commande :command:`bdist_rpm`, Solaris :program:`pkgtool` (:command:"
|
||||
"`bdist_pkgtool`), et HP-UX :program:`swinstall` (:command:`bdist_sdux`). Par "
|
||||
"exemple, la commande suivante va créer un fichier RPM appelé :file:`foo-1.0."
|
||||
"noarch.rpm`::"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:132
|
||||
msgid ""
|
||||
|
@ -195,16 +269,21 @@ msgid ""
|
|||
"therefore this has to be run on an RPM-based system such as Red Hat Linux, "
|
||||
"SuSE Linux, or Mandrake Linux.)"
|
||||
msgstr ""
|
||||
"(La commande :command:`bdist_rpm` utilise l'exécutable :command:`rpm`, "
|
||||
"cependant cela doit être exécuté sur un système basé sur RPM tel que Red Hat "
|
||||
"Linux, SuSE Linux, or Mandrake Linux.)"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:136
|
||||
msgid ""
|
||||
"You can find out what distribution formats are available at any time by "
|
||||
"running ::"
|
||||
msgstr ""
|
||||
"Vous pouvez trouver quelles sont les formats de distribution disponibles à "
|
||||
"n'importe quel moment en exécutant :"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:145
|
||||
msgid "General Python terminology"
|
||||
msgstr ""
|
||||
msgstr "Terminologie Python générale"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:147
|
||||
msgid ""
|
||||
|
@ -213,6 +292,10 @@ msgid ""
|
|||
"everyone is operating from a common starting point, we offer the following "
|
||||
"glossary of common Python terms:"
|
||||
msgstr ""
|
||||
"Si vous lisez ce document, vous avez probablement une bonne idée de ce que "
|
||||
"sont les modules, extensions, etc. Néanmoins, juste pour être sur que tout "
|
||||
"le monde opère depuis un point d'entrée commun, nous reprécisons le "
|
||||
"glossaire suivant des termes Python communs :"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:155
|
||||
msgid "module"
|
||||
|
@ -224,10 +307,13 @@ msgid ""
|
|||
"some other code. Three types of modules concern us here: pure Python "
|
||||
"modules, extension modules, and packages."
|
||||
msgstr ""
|
||||
"unité de base de la réutilisabilité en Python : un bloc de code importé par "
|
||||
"un autre code. Trois types de modules nous concernent ici : les purs modules "
|
||||
"Python, les modules d'extension, et les packages."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:160
|
||||
msgid "pure Python module"
|
||||
msgstr ""
|
||||
msgstr "pur module Python"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:158
|
||||
msgid ""
|
||||
|
@ -235,6 +321,8 @@ msgid ""
|
|||
"possibly associated :file:`.pyc` files). Sometimes referred to as a \"pure "
|
||||
"module.\""
|
||||
msgstr ""
|
||||
"un module écrit en Python et contenu dans un seul fichier :file:`.py` (et "
|
||||
"possiblement un fichier :file:`.pyc` associé). Parfois appelé \"pur module.\""
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:168
|
||||
msgid "extension module"
|
||||
|
@ -250,6 +338,13 @@ msgid ""
|
|||
"(Note that currently, the Distutils only handles C/C++ extensions for "
|
||||
"Python.)"
|
||||
msgstr ""
|
||||
"un module écrit dans un langage de bas niveau de l'implémentation Python: C/C"
|
||||
"++ pour Python, Java pour Jython. Typiquement contenu dans un unique fichier "
|
||||
"pré-compilé chargeable, p. ex. un fichier objet partagé (:file:`.so`) pour "
|
||||
"des extensions Python sous Unix, un fichier DLL (étant donné l'extension :"
|
||||
"file:`.pyd`) pour les extensions Python sous Windows, ou un fichier de "
|
||||
"classe Java pour les extensions Jython (notez qu'actuellement, Distutils "
|
||||
"gère seulement les extensions Python C/C++)."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:173
|
||||
msgid "package"
|
||||
|
@ -261,6 +356,9 @@ msgid ""
|
|||
"the filesystem and distinguished from other directories by the presence of a "
|
||||
"file :file:`__init__.py`."
|
||||
msgstr ""
|
||||
"un module qui contient d'autres modules ; très souvent contenu dans un "
|
||||
"répertoire du système de fichier et qui se distingue des autres répertoires "
|
||||
"par la présence d'un fichier :file:`__init__.py`."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:183
|
||||
msgid "root package"
|
||||
|
@ -276,20 +374,30 @@ msgid ""
|
|||
"package can be found in many directories: in fact, every directory listed in "
|
||||
"``sys.path`` contributes modules to the root package."
|
||||
msgstr ""
|
||||
"la racine de la hiérarchie de paquets. (Ce n'est pas vraiment un paquet, "
|
||||
"puisqu'il n'a pas un fichier :file:`__init__.py`. Mais nous devons bien le "
|
||||
"nommer.) La grande majorité de la bibliothèque standard est dans le package "
|
||||
"racine, comme le sont certains petits, des packages tiers autonomes qui "
|
||||
"n'appartiennent pas à une un module plus grand. Contrairement aux packages "
|
||||
"réguliers, les modules dans le package racine peuvent être trouvés dans "
|
||||
"plusieurs répertoires : en effet, tous les répertoires listés ``sys.path`` "
|
||||
"contribuent à faire partie du package racine."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:188
|
||||
msgid "Distutils-specific terminology"
|
||||
msgstr ""
|
||||
msgstr "Terminologie spécifique à Distutils"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:190
|
||||
msgid ""
|
||||
"The following terms apply more specifically to the domain of distributing "
|
||||
"Python modules using the Distutils:"
|
||||
msgstr ""
|
||||
"Les termes suivant s'appliquent plus spécifiquement au domaine de la "
|
||||
"distribution de modules Python en utilisant les Distutils :"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:199
|
||||
msgid "module distribution"
|
||||
msgstr ""
|
||||
msgstr "module de distribution"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:194
|
||||
msgid ""
|
||||
|
@ -299,30 +407,40 @@ msgid ""
|
|||
"called a *package*, except that term is already taken in the Python context: "
|
||||
"a single module distribution may contain zero, one, or many Python packages.)"
|
||||
msgstr ""
|
||||
"une collection de modules Python distribués ensemble, comme une unique "
|
||||
"ressource téléchargeable et ayant pour but d'être installé *en bloc*. Des "
|
||||
"exemples de modules distribués bien connus sont *NumPy*, *SciPy*, *Pillow*, "
|
||||
"ou *mxBase*. (On pourrait les appeler des *packages*, malgré que le terme "
|
||||
"soit déjà pris dans le contexte Python : une distribution de module simple "
|
||||
"pourrait contenir zéro, on ou plusieurs packages Python"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:203
|
||||
msgid "pure module distribution"
|
||||
msgstr ""
|
||||
msgstr "distribution de modules purs"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:202
|
||||
msgid ""
|
||||
"a module distribution that contains only pure Python modules and packages. "
|
||||
"Sometimes referred to as a \"pure distribution.\""
|
||||
msgstr ""
|
||||
"une distribution de module qui contient seulement des modules purs et "
|
||||
"packages Python. Parfois appelée « distribution pure »."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:207
|
||||
msgid "non-pure module distribution"
|
||||
msgstr ""
|
||||
msgstr "distribution de module non pur"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:206
|
||||
msgid ""
|
||||
"a module distribution that contains at least one extension module. "
|
||||
"Sometimes referred to as a \"non-pure distribution.\""
|
||||
msgstr ""
|
||||
"une distribution de module qui contient au moins un module d'extension. "
|
||||
"Parfois appelée « distribution non-pure »."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:211
|
||||
msgid "distribution root"
|
||||
msgstr ""
|
||||
msgstr "distribution racine"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:210
|
||||
msgid ""
|
||||
|
@ -330,3 +448,6 @@ msgid ""
|
|||
"directory where :file:`setup.py` exists. Generally :file:`setup.py` will "
|
||||
"be run from this directory."
|
||||
msgstr ""
|
||||
"le répertoire de plus haut niveau de votre arborescence (ou distribution "
|
||||
"source) ; le répertoire ou :file:`setup.py` existe. Généralement :file:"
|
||||
"`setup.py` est exécuté depuis ce répertoire."
|
||||
|
|
|
@ -7,12 +7,12 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-23 16:48+0200\n"
|
||||
"PO-Revision-Date: 2019-08-21 12:33+0200\n"
|
||||
"Last-Translator: Zepmanbc <zepman@gmail.com>\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"
|
||||
"Last-Translator: Zepmanbc <zepman@gmail.com>\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
|
||||
#: ../Doc/distutils/packageindex.rst:7
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -135,6 +135,9 @@ msgid ""
|
|||
"It is recommended to always define ``PY_SSIZE_T_CLEAN`` before including "
|
||||
"``Python.h``. See :ref:`parsetuple` for a description of this macro."
|
||||
msgstr ""
|
||||
"Il est recommandé de toujours définir ``PY_SSIZE_T_CLEAN`` avant d'inclure "
|
||||
"``Python.h``. Lisez :ref:`parsetuple` pour avoir une description de cette "
|
||||
"macro."
|
||||
|
||||
#: ../Doc/extending/extending.rst:75
|
||||
msgid ""
|
||||
|
@ -567,13 +570,16 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/extending.rst:312
|
||||
msgid "The Module's Method Table and Initialization Function"
|
||||
msgstr ""
|
||||
msgstr "La fonction d'initialisation et le tableau des méthodes du module"
|
||||
|
||||
#: ../Doc/extending/extending.rst:314
|
||||
msgid ""
|
||||
"I promised to show how :c:func:`spam_system` is called from Python programs. "
|
||||
"First, we need to list its name and address in a \"method table\"::"
|
||||
msgstr ""
|
||||
"Nous avons promis de montrer comment :c:func:`spam_system` est appelée "
|
||||
"depuis les programmes Python. D'abord, nous avons besoin d'avoir son nom et "
|
||||
"son adresse dans un « tableau des méthodes » ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:325
|
||||
msgid ""
|
||||
|
@ -583,6 +589,11 @@ msgid ""
|
|||
"value of ``0`` means that an obsolete variant of :c:func:`PyArg_ParseTuple` "
|
||||
"is used."
|
||||
msgstr ""
|
||||
"Notez la troisième entrée (``METH_VARARGS``). C'est un indicateur du type de "
|
||||
"convention à utiliser pour la fonction C, à destination de l'interpréteur. "
|
||||
"Il doit valoir normalement ``METH_VARARGS`` ou ``METH_VARARGS | "
|
||||
"METH_KEYWORDS`` ; la valeur ``0`` indique qu'une variante obsolète de :c:"
|
||||
"func:`PyArg_ParseTuple` est utilisée."
|
||||
|
||||
#: ../Doc/extending/extending.rst:330
|
||||
msgid ""
|
||||
|
@ -590,6 +601,10 @@ msgid ""
|
|||
"level parameters to be passed in as a tuple acceptable for parsing via :c:"
|
||||
"func:`PyArg_ParseTuple`; more information on this function is provided below."
|
||||
msgstr ""
|
||||
"Si seulement ``METH_VARARGS`` est utilisé, la fonction s'attend à ce que les "
|
||||
"paramètres Python soient passés comme un n-uplet que l'on peut analyser "
|
||||
"*via* :c:func:`PyArg_ParseTuple` ; des informations supplémentaires sont "
|
||||
"fournies plus bas."
|
||||
|
||||
#: ../Doc/extending/extending.rst:334
|
||||
msgid ""
|
||||
|
@ -599,11 +614,18 @@ msgid ""
|
|||
"keywords. Use :c:func:`PyArg_ParseTupleAndKeywords` to parse the arguments "
|
||||
"to such a function."
|
||||
msgstr ""
|
||||
"Le bit :const:`METH_KEYWORDS` peut être mis à un dans le troisième champ si "
|
||||
"des arguments par mot-clés doivent être passés à la fonction. Dans ce cas, "
|
||||
"la fonction C doit accepter un troisième paramètre ``PyObject *`` qui est un "
|
||||
"dictionnaire des mots-clés. Utilisez :c:func:`PyArg_ParseTupleAndKeywords` "
|
||||
"pour analyser les arguments d'une telle fonction."
|
||||
|
||||
#: ../Doc/extending/extending.rst:340
|
||||
msgid ""
|
||||
"The method table must be referenced in the module definition structure::"
|
||||
msgstr ""
|
||||
"Le tableau des méthodes doit être référencé dans la structure de définition "
|
||||
"du module ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:351
|
||||
msgid ""
|
||||
|
@ -612,6 +634,10 @@ msgid ""
|
|||
"`PyInit_name`, where *name* is the name of the module, and should be the "
|
||||
"only non-\\ ``static`` item defined in the module file::"
|
||||
msgstr ""
|
||||
"Cette structure, à son tour, doit être transmise à l'interpréteur dans la "
|
||||
"fonction d'initialisation du module. La fonction d'initialisation doit être "
|
||||
"nommée :c:func:`PyInit_name`, où *nom* est le nom du module, et doit être le "
|
||||
"seul élément non ``static`` défini dans le fichier du module ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:362
|
||||
msgid ""
|
||||
|
@ -619,6 +645,10 @@ msgid ""
|
|||
"type, declares any special linkage declarations required by the platform, "
|
||||
"and for C++ declares the function as ``extern \"C\"``."
|
||||
msgstr ""
|
||||
"Notez que *PyMODINIT_FUNC* déclare la fonction comme renvoyant un objet de "
|
||||
"type ``PyObject *``, et déclare également toute déclaration de liaison "
|
||||
"spéciale requise par la plate-forme, et pour le C++ déclare la fonction "
|
||||
"comme un C ``extern``."
|
||||
|
||||
#: ../Doc/extending/extending.rst:366
|
||||
msgid ""
|
||||
|
@ -641,6 +671,11 @@ msgid ""
|
|||
"table. To add the module to the initialization table, use :c:func:"
|
||||
"`PyImport_AppendInittab`, optionally followed by an import of the module::"
|
||||
msgstr ""
|
||||
"Lors de l'intégration de Python, la fonction :c:func:`PyInit_spam` n'est pas "
|
||||
"appelée automatiquement, sauf s'il y a une entrée dans la table :c:data:"
|
||||
"`PyImport_Inittab`. Pour ajouter le module à la table d'initialisation, "
|
||||
"utilisez :c:func:`PyImport_AppendInittab`, suivi éventuellement d'une "
|
||||
"importation du module ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:413
|
||||
msgid ""
|
||||
|
@ -650,6 +685,12 @@ msgid ""
|
|||
"extension modules. Extension module authors should exercise caution when "
|
||||
"initializing internal data structures."
|
||||
msgstr ""
|
||||
"Supprimer des entrées de ``sys.modules`` ou importer des modules compilés "
|
||||
"dans plusieurs interpréteurs au sein d'un processus (ou suivre un :c:func:"
|
||||
"`fork` sans l'intervention d'un :c:func:`exec`) peut créer des problèmes "
|
||||
"pour certains modules d'extension. Les auteurs de modules d'extension "
|
||||
"doivent faire preuve de prudence lorsqu'ils initialisent des structures de "
|
||||
"données internes."
|
||||
|
||||
#: ../Doc/extending/extending.rst:419
|
||||
msgid ""
|
||||
|
@ -657,6 +698,9 @@ msgid ""
|
|||
"distribution as :file:`Modules/xxmodule.c`. This file may be used as a "
|
||||
"template or simply read as an example."
|
||||
msgstr ""
|
||||
"Un exemple de module plus substantiel est inclus dans la distribution des "
|
||||
"sources Python sous le nom :file:`Modules/xxmodule.c`. Ce fichier peut être "
|
||||
"utilisé comme modèle ou simplement lu comme exemple."
|
||||
|
||||
#: ../Doc/extending/extending.rst:425
|
||||
msgid ""
|
||||
|
@ -665,10 +709,15 @@ msgid ""
|
|||
"``PyInit_spam``, and creation of the module is left to the import machinery. "
|
||||
"For details on multi-phase initialization, see :PEP:`489`."
|
||||
msgstr ""
|
||||
"Contrairement à notre exemple de ``spam``, ``xxmodule`` utilise une "
|
||||
"*initialisation multi-phase* (nouveau en Python 3.5), où une structure "
|
||||
"*PyModuleDef* est renvoyée à partir de ``PyInit_spam``, et la création du "
|
||||
"module est laissée au mécanisme d'importation. Pour plus de détails sur "
|
||||
"l'initialisation multi-phase, voir :PEP:`489`."
|
||||
|
||||
#: ../Doc/extending/extending.rst:434
|
||||
msgid "Compilation and Linkage"
|
||||
msgstr ""
|
||||
msgstr "Compilation et liaison"
|
||||
|
||||
#: ../Doc/extending/extending.rst:436
|
||||
msgid ""
|
||||
|
@ -707,7 +756,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/extending.rst:471
|
||||
msgid "Calling Python Functions from C"
|
||||
msgstr ""
|
||||
msgstr "Appeler des fonctions Python en C"
|
||||
|
||||
#: ../Doc/extending/extending.rst:473
|
||||
msgid ""
|
||||
|
@ -746,6 +795,10 @@ msgid ""
|
|||
"c:func:`PyArg_ParseTuple` function and its arguments are documented in "
|
||||
"section :ref:`parsetuple`."
|
||||
msgstr ""
|
||||
"Cette fonction doit être déclarée en utilisant le drapeau :const:"
|
||||
"`METH_VARARGS` ; ceci est décrit dans la section :ref:`methodtable`. La "
|
||||
"fonction :c:func:`PyArg_ParseTuple` et ses arguments sont documentés dans la "
|
||||
"section :ref:`parsetuple`."
|
||||
|
||||
#: ../Doc/extending/extending.rst:522
|
||||
msgid ""
|
||||
|
@ -807,6 +860,16 @@ msgid ""
|
|||
"simplest way to do this is to call :c:func:`Py_BuildValue`. For example, if "
|
||||
"you want to pass an integral event code, you might use the following code::"
|
||||
msgstr ""
|
||||
"Selon l'interface souhaitée pour la fonction de rappel Python, vous devrez "
|
||||
"peut-être aussi fournir une liste d'arguments à :c:func:"
|
||||
"`PyObject_CallObject`. Dans certains cas, la liste d'arguments est également "
|
||||
"fournie par le programme Python, par l'intermédiaire de la même interface "
|
||||
"qui a spécifié la fonction de rappel. Elle peut alors être sauvegardée et "
|
||||
"utilisée de la même manière que l'objet fonction. Dans d'autres cas, vous "
|
||||
"pouvez avoir à construire un nouveau n-uplet à passer comme liste "
|
||||
"d'arguments. La façon la plus simple de faire cela est d'appeler :c:func:"
|
||||
"`Py_BuildValue`. Par exemple, si vous voulez passer un code d'événement "
|
||||
"intégral, vous pouvez utiliser le code suivant ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:594
|
||||
msgid ""
|
||||
|
@ -822,14 +885,18 @@ msgid ""
|
|||
"`PyObject_Call`, which supports arguments and keyword arguments. As in the "
|
||||
"above example, we use :c:func:`Py_BuildValue` to construct the dictionary. ::"
|
||||
msgstr ""
|
||||
"Vous pouvez également appeler une fonction avec des arguments nommés en "
|
||||
"utilisant :c:func:`PyObject_Call`, qui accepte les arguments et les "
|
||||
"arguments nommés. Comme dans l'exemple ci-dessus, nous utilisons :c:func:"
|
||||
"`Py_BuildValue` pour construire le dictionnaire. ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:616
|
||||
msgid "Extracting Parameters in Extension Functions"
|
||||
msgstr ""
|
||||
msgstr "Extraire des paramètres dans des fonctions d'extension"
|
||||
|
||||
#: ../Doc/extending/extending.rst:620
|
||||
msgid "The :c:func:`PyArg_ParseTuple` function is declared as follows::"
|
||||
msgstr ""
|
||||
msgstr "La fonction :c:func:`PyArg_ParseTuple` est déclarée ainsi ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:624
|
||||
msgid ""
|
||||
|
@ -859,16 +926,17 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/extending.rst:638
|
||||
msgid "Some example calls::"
|
||||
msgstr ""
|
||||
msgstr "Quelques exemples d'appels ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:708
|
||||
msgid "Keyword Parameters for Extension Functions"
|
||||
msgstr ""
|
||||
msgstr "Paramètres nommés pour des fonctions d'extension"
|
||||
|
||||
#: ../Doc/extending/extending.rst:712
|
||||
msgid ""
|
||||
"The :c:func:`PyArg_ParseTupleAndKeywords` function is declared as follows::"
|
||||
msgstr ""
|
||||
"La fonction :c:func:`PyArg_ParseTupleAndKeywords` est déclarée ainsi ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:717
|
||||
msgid ""
|
||||
|
@ -887,22 +955,29 @@ msgid ""
|
|||
"parameters passed in which are not present in the *kwlist* will cause :exc:"
|
||||
"`TypeError` to be raised."
|
||||
msgstr ""
|
||||
"Les n-uplets imbriqués ne peuvent pas être traités lorsqu'on utilise des "
|
||||
"arguments de type mot-clé ! Ceux-ci doivent apparaître dans dans *kwlist*, "
|
||||
"dans le cas contraire une exception :exc:`TypeError` est levée."
|
||||
|
||||
#: ../Doc/extending/extending.rst:733
|
||||
msgid ""
|
||||
"Here is an example module which uses keywords, based on an example by Geoff "
|
||||
"Philbrick (philbrick@hks.com)::"
|
||||
msgstr ""
|
||||
"Voici un exemple de module qui utilise des mots-clés, basé sur un exemple de "
|
||||
"*Geoff Philbrick* (philbrick@hks.com) ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:788
|
||||
msgid "Building Arbitrary Values"
|
||||
msgstr ""
|
||||
msgstr "Créer des valeurs arbitraires"
|
||||
|
||||
#: ../Doc/extending/extending.rst:790
|
||||
msgid ""
|
||||
"This function is the counterpart to :c:func:`PyArg_ParseTuple`. It is "
|
||||
"declared as follows::"
|
||||
msgstr ""
|
||||
"Cette fonction est le complément de :c:func:`PyArg_ParseTuple`. Elle est "
|
||||
"déclarée comme suit ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:795
|
||||
msgid ""
|
||||
|
@ -911,6 +986,11 @@ msgid ""
|
|||
"not output) must not be pointers, just values. It returns a new Python "
|
||||
"object, suitable for returning from a C function called from Python."
|
||||
msgstr ""
|
||||
"Il reconnaît un ensemble d'unités de format similaires à celles reconnues "
|
||||
"par :c:func:`PyArg_ParseTuple`, mais les arguments (qui sont les données en "
|
||||
"entrée de fonction, et non de la sortie) ne doivent pas être des pointeurs, "
|
||||
"mais juste des valeurs. Il renvoie un nouvel objet Python, adapté pour être "
|
||||
"renvoyé par une fonction C appelée depuis Python."
|
||||
|
||||
#: ../Doc/extending/extending.rst:800
|
||||
msgid ""
|
||||
|
@ -928,10 +1008,11 @@ msgstr ""
|
|||
msgid ""
|
||||
"Examples (to the left the call, to the right the resulting Python value):"
|
||||
msgstr ""
|
||||
"Exemples (à gauche l'appel, à droite la valeur résultante, en Python) :"
|
||||
|
||||
#: ../Doc/extending/extending.rst:834
|
||||
msgid "Reference Counts"
|
||||
msgstr ""
|
||||
msgstr "Compteurs de références"
|
||||
|
||||
#: ../Doc/extending/extending.rst:836
|
||||
msgid ""
|
||||
|
@ -941,6 +1022,12 @@ msgid ""
|
|||
"``new`` and ``delete`` are used with essentially the same meaning and we'll "
|
||||
"restrict the following discussion to the C case."
|
||||
msgstr ""
|
||||
"Dans les langages comme le C ou le C++, le développeur est responsable de "
|
||||
"l'allocation dynamique et de la dés-allocation de la mémoire sur le tas. En "
|
||||
"C, cela se fait à l'aide des fonctions :c:func:`malloc` et :c:func:`free`. "
|
||||
"En C++, les opérateurs ``new`` et ``delete`` sont utilisés avec "
|
||||
"essentiellement la même signification et nous limiterons la discussion "
|
||||
"suivante au cas du C."
|
||||
|
||||
#: ../Doc/extending/extending.rst:842
|
||||
msgid ""
|
||||
|
@ -984,6 +1071,14 @@ msgid ""
|
|||
"reference to it is deleted. When the counter reaches zero, the last "
|
||||
"reference to the object has been deleted and the object is freed."
|
||||
msgstr ""
|
||||
"Comme Python fait un usage intensif de :c:func:`malloc` et de :c:func:"
|
||||
"`free`, il a besoin d'une stratégie pour éviter les fuites de mémoire ainsi "
|
||||
"que l'utilisation de la mémoire libérée. La méthode choisie est appelée :dfn:"
|
||||
"`reference counting`. Le principe est simple : chaque objet contient un "
|
||||
"compteur, qui est incrémenté lorsqu'une référence à l'objet est stockée "
|
||||
"quelque part, et qui est décrémenté lorsqu'une référence à celui-ci est "
|
||||
"supprimée. Lorsque le compteur atteint zéro, la dernière référence à l'objet "
|
||||
"a été supprimée et l'objet est libéré."
|
||||
|
||||
#: ../Doc/extending/extending.rst:874
|
||||
msgid ""
|
||||
|
@ -1000,6 +1095,19 @@ msgid ""
|
|||
"garbage collector will be available for C. Until then, we'll have to live "
|
||||
"with reference counts."
|
||||
msgstr ""
|
||||
"Une stratégie alternative est appelée :dfn:`automatic garbage collection` "
|
||||
"(ramasse-miettes). Parfois, le comptage des références est également appelé "
|
||||
"stratégie de ramasse-miettes, d'où l'utilisation du terme \"automatique\" "
|
||||
"pour distinguer les deux. Le grand avantage du ramasse-miettes est que "
|
||||
"l'utilisateur n'a pas besoin d'appeler :c:func:`free` explicitement. (Un "
|
||||
"autre avantage important est l'amélioration de la vitesse ou de "
|
||||
"l'utilisation de la mémoire, ce n'est cependant pas un fait avéré). "
|
||||
"L'inconvénient est que pour C, il n'y a pas de ramasse-miettes portable "
|
||||
"proprement-dit, alors que le comptage des références peut être implémenté de "
|
||||
"façon portable (tant que les fonctions :c:func:`malloc` et :c:func:`free` "
|
||||
"soient disponibles, ce que la norme C garantit). Peut-être qu'un jour un "
|
||||
"ramasse-miettes suffisamment portable sera disponible pour C. D'ici là, nous "
|
||||
"devrons utiliser les compteurs des références."
|
||||
|
||||
#: ../Doc/extending/extending.rst:886
|
||||
msgid ""
|
||||
|
@ -1014,6 +1122,18 @@ msgid ""
|
|||
"in a reference cycle, or referenced from the objects in the cycle, even "
|
||||
"though there are no further references to the cycle itself."
|
||||
msgstr ""
|
||||
"Bien que Python utilise l'implémentation traditionnelle de comptage de "
|
||||
"référence, il contient également un détecteur de cycles qui fonctionne pour "
|
||||
"détecter les cycles de référence. Cela permet aux applications d'empêcher la "
|
||||
"création de références circulaires directes ou indirectes ; ceci sont les "
|
||||
"faiblesses du ramasse-miettes mis en œuvre en utilisant uniquement le "
|
||||
"comptage de référence. Les cycles de référence sont constitués d'objets qui "
|
||||
"contiennent des références (éventuellement indirectes) à eux-mêmes, de sorte "
|
||||
"que chaque objet du cycle a un comptage de référence qui n'est pas nul. Les "
|
||||
"implémentations typiques de comptage de référence ne sont pas capables de "
|
||||
"récupérer la mémoire appartenant à des objets dans un cycle de référence, ou "
|
||||
"référencés à partir des objets dans le cycle, même s'il n'y a pas d'autres "
|
||||
"références au cycle lui-même."
|
||||
|
||||
#: ../Doc/extending/extending.rst:897
|
||||
msgid ""
|
||||
|
@ -1029,7 +1149,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/extending.rst:911
|
||||
msgid "Reference Counting in Python"
|
||||
msgstr ""
|
||||
msgstr "Comptage de références en Python"
|
||||
|
||||
#: ../Doc/extending/extending.rst:913
|
||||
msgid ""
|
||||
|
@ -1041,6 +1161,13 @@ msgid ""
|
|||
"this purpose (and others), every object also contains a pointer to its type "
|
||||
"object."
|
||||
msgstr ""
|
||||
"Il existe deux macros, ``Py_INCREF(x)`` et ``Py_DECREF(x)``, qui gèrent "
|
||||
"l'incrémentation et la décrémentation du comptage de référence. :c:func:"
|
||||
"`Py_DECREF` libère également l'objet lorsque le comptage atteint zéro. Pour "
|
||||
"plus de flexibilité, il n'appelle pas :c:func:`free` directement — plutôt, "
|
||||
"il fait un appel à travers un pointeur de fonction dans l'objet :dfn:`type "
|
||||
"objet` de l'objet. À cette fin (et pour d'autres), chaque objet contient "
|
||||
"également un pointeur vers son objet type."
|
||||
|
||||
#: ../Doc/extending/extending.rst:920
|
||||
msgid ""
|
||||
|
@ -1054,6 +1181,16 @@ msgid ""
|
|||
"on, store it, or call :c:func:`Py_DECREF`. Forgetting to dispose of an owned "
|
||||
"reference creates a memory leak."
|
||||
msgstr ""
|
||||
"La grande question demeure maintenant : quand utiliser ``Py_INCREF(x)`` et "
|
||||
"``Py_DECREF(x)`` ? Commençons par définir quelques termes. Personne ne "
|
||||
"possède un objet, mais vous pouvez en :dfn:`avoir une référence`. Le "
|
||||
"comptage de références d'un objet est maintenant défini comme étant le "
|
||||
"nombre de références à cet objet. Le propriétaire d'une référence est "
|
||||
"responsable d'appeler :c:func:`Py_DECREF` lorsque la référence n'est plus "
|
||||
"nécessaire. La propriété d'une référence peut être transférée. Il y a trois "
|
||||
"façons de disposer d'une référence : la transmettre, la stocker, ou appeler :"
|
||||
"c:func:`Py_DECREF`. Oublier de se débarrasser d'une référence crée une fuite "
|
||||
"de mémoire."
|
||||
|
||||
#: ../Doc/extending/extending.rst:929
|
||||
msgid ""
|
||||
|
@ -1074,6 +1211,14 @@ msgid ""
|
|||
"code a borrowed reference can be used after the owner from which it was "
|
||||
"borrowed has in fact disposed of it."
|
||||
msgstr ""
|
||||
"L'avantage d'emprunter, plutôt qu'être propriétaire d'une référence est que "
|
||||
"vous n'avez pas à vous soucier de disposer de la référence sur tous les "
|
||||
"chemins possibles dans le code — en d'autres termes, avec une référence "
|
||||
"empruntée, vous ne courez pas le risque de fuites lors d'une sortie "
|
||||
"prématurée. L'inconvénient de l'emprunt par rapport à la possession est "
|
||||
"qu'il existe certaines situations subtiles où, dans un code apparemment "
|
||||
"correct, une référence empruntée peut être utilisée après que le "
|
||||
"propriétaire auquel elle a été empruntée l'a en fait éliminée."
|
||||
|
||||
#: ../Doc/extending/extending.rst:943
|
||||
msgid ""
|
||||
|
@ -1086,7 +1231,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/extending.rst:953
|
||||
msgid "Ownership Rules"
|
||||
msgstr ""
|
||||
msgstr "Règles concernant la propriété de références"
|
||||
|
||||
#: ../Doc/extending/extending.rst:955
|
||||
msgid ""
|
||||
|
@ -1094,6 +1239,10 @@ msgid ""
|
|||
"of the function's interface specification whether ownership is transferred "
|
||||
"with the reference or not."
|
||||
msgstr ""
|
||||
"Chaque fois qu'une référence d'objet est passée à l'intérieur ou à "
|
||||
"l'extérieur d'une fonction, elle fait partie de la spécification de "
|
||||
"l'interface de la fonction, peu importe que la propriété soit transférée "
|
||||
"avec la référence ou non."
|
||||
|
||||
#: ../Doc/extending/extending.rst:959
|
||||
msgid ""
|
||||
|
@ -1153,7 +1302,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/extending.rst:1000
|
||||
msgid "Thin Ice"
|
||||
msgstr ""
|
||||
msgstr "Terrain dangereux"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1002
|
||||
msgid ""
|
||||
|
@ -1162,6 +1311,10 @@ msgid ""
|
|||
"invocations of the interpreter, which can cause the owner of a reference to "
|
||||
"dispose of it."
|
||||
msgstr ""
|
||||
"Il existe quelques situations où l'utilisation apparemment inoffensive d'une "
|
||||
"référence empruntée peut entraîner des problèmes. Tous ces problèmes sont en "
|
||||
"lien avec des invocations implicites de l’interpréteur, et peuvent amener le "
|
||||
"propriétaire d'une référence à s'en défaire."
|
||||
|
||||
#: ../Doc/extending/extending.rst:1006
|
||||
msgid ""
|
||||
|
@ -1169,6 +1322,9 @@ msgid ""
|
|||
"on an unrelated object while borrowing a reference to a list item. For "
|
||||
"instance::"
|
||||
msgstr ""
|
||||
"Le premier cas, et le plus important à connaître, est celui de l'application "
|
||||
"de :c:func:`Py_DECREF` à un objet non relié, tout en empruntant une "
|
||||
"référence à un élément de liste. Par exemple ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1018
|
||||
msgid ""
|
||||
|
@ -1176,6 +1332,9 @@ msgid ""
|
|||
"``list[1]`` with the value ``0``, and finally prints the borrowed reference. "
|
||||
"Looks harmless, right? But it's not!"
|
||||
msgstr ""
|
||||
"Cette fonction emprunte d'abord une référence à ``list[0]``, puis remplace "
|
||||
"``list[1]`` par la valeur ``0``, et enfin affiche la référence empruntée. "
|
||||
"Ça a l'air inoffensif, n'est-ce pas ? Mais ce n'est pas le cas !"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1022
|
||||
msgid ""
|
||||
|
@ -1186,6 +1345,13 @@ msgid ""
|
|||
"defined a :meth:`__del__` method. If this class instance has a reference "
|
||||
"count of 1, disposing of it will call its :meth:`__del__` method."
|
||||
msgstr ""
|
||||
"Suivons le flux de contrôle dans :c:func:`PyList_SetItem`. La liste possède "
|
||||
"des références à tous ses éléments, donc quand l'élément 1 est remplacé, "
|
||||
"elle doit se débarrasser de l'élément 1 original. Supposons maintenant que "
|
||||
"l'élément 1 original était une instance d'une classe définie par "
|
||||
"l'utilisateur, et supposons en outre que la classe définisse une méthode :"
|
||||
"meth:`__del__`. Si l'instance de cette classe a un nombre des références de "
|
||||
"1, sa destruction appellera sa méthode :meth:`__del__`."
|
||||
|
||||
#: ../Doc/extending/extending.rst:1029
|
||||
msgid ""
|
||||
|
@ -1197,6 +1363,13 @@ msgid ""
|
|||
"this was the last reference to that object, it would free the memory "
|
||||
"associated with it, thereby invalidating ``item``."
|
||||
msgstr ""
|
||||
"Comme elle est écrite en Python, la méthode :meth:`__del__` peut exécuter du "
|
||||
"code Python arbitraire. Pourrait-elle faire quelque chose pour invalider la "
|
||||
"référence à ``item`` dans :c:func:`bug` ? Bien sûr ! En supposant que la "
|
||||
"liste passée dans :c:func:`bug` est accessible à la méthode :meth:`__del__`, "
|
||||
"elle pourrait exécuter une instruction à l'effet de ``del list[0]``, et en "
|
||||
"supposant que ce soit la dernière référence à cet objet, elle libérerait la "
|
||||
"mémoire qui lui est associée, invalidant ainsi ``item``."
|
||||
|
||||
#: ../Doc/extending/extending.rst:1037
|
||||
msgid ""
|
||||
|
@ -1223,10 +1396,20 @@ msgid ""
|
|||
"complete. Obviously, the following function has the same problem as the "
|
||||
"previous one::"
|
||||
msgstr ""
|
||||
"Le deuxième cas de problèmes liés à une référence empruntée est une variante "
|
||||
"impliquant des fils de discussion. Normalement, plusieurs threads dans "
|
||||
"l'interpréteur Python ne peuvent pas se gêner mutuellement, car il existe un "
|
||||
"verrou global protégeant tout l'espace objet de Python. Cependant, il est "
|
||||
"possible de libérer temporairement ce verrou en utilisant la macro :c:macro:"
|
||||
"`Py_BEGIN_ALLOW_THREADS`, et de le ré-acquérir en utilisant :c:macro:"
|
||||
"`Py_END_ALLOW_THREADS`. Ceci est un procédé courant pour bloquer les appels "
|
||||
"d'entrées/sorties, afin de permettre aux autres threads d'utiliser le "
|
||||
"processeur en attendant que les E/S soient terminées. Évidemment, la "
|
||||
"fonction suivante a le même problème que la précédente ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1078
|
||||
msgid "NULL Pointers"
|
||||
msgstr ""
|
||||
msgstr "Pointeurs ``NULL``"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1080
|
||||
msgid ""
|
||||
|
@ -1278,7 +1461,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/extending.rst:1117
|
||||
msgid "Writing Extensions in C++"
|
||||
msgstr ""
|
||||
msgstr "Écrire des extensions en C++"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1119
|
||||
msgid ""
|
||||
|
@ -1292,10 +1475,21 @@ msgid ""
|
|||
"`` --- they use this form already if the symbol ``__cplusplus`` is defined "
|
||||
"(all recent C++ compilers define this symbol)."
|
||||
msgstr ""
|
||||
"C'est possible d'écrire des modules d'extension en C++, mais sous certaines "
|
||||
"conditions. Si le programme principal (l'interpréteur Python) est compilé et "
|
||||
"lié par le compilateur C, les objets globaux ou statiques avec les "
|
||||
"constructeurs ne peuvent pas être utilisés. Ceci n'est pas un problème si le "
|
||||
"programme principal est relié par le compilateur C++. Les fonctions qui "
|
||||
"seront appelées par l'interpréteur Python (en particulier, les fonctions "
|
||||
"d'initialisation des modules) doivent être déclarées en utilisant ``extern "
|
||||
"\"C\"``. Il n'est pas nécessaire d'inclure les fichiers d'en-tête Python "
|
||||
"dans le ``extern \"C\" {…}``, car ils utilisent déjà ce format si le symbole "
|
||||
"``__cplusplus`` est défini (tous les compilateurs C++ récents définissent ce "
|
||||
"symbole)."
|
||||
|
||||
#: ../Doc/extending/extending.rst:1133
|
||||
msgid "Providing a C API for an Extension Module"
|
||||
msgstr ""
|
||||
msgstr "Fournir une API en langage C pour un module d'extension"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1138
|
||||
msgid ""
|
||||
|
@ -1307,6 +1501,15 @@ msgid ""
|
|||
"create and manipulate lists, this new collection type should have a set of C "
|
||||
"functions for direct manipulation from other extension modules."
|
||||
msgstr ""
|
||||
"De nombreux modules d'extension fournissent simplement de nouvelles "
|
||||
"fonctions et de nouveaux types à utiliser à partir de Python, mais parfois "
|
||||
"le code d'un module d'extension peut être utile pour d'autres modules "
|
||||
"d'extension. Par exemple, un module d'extension peut mettre en œuvre un type "
|
||||
"\"collection\" qui fonctionne comme des listes sans ordre. Tout comme le "
|
||||
"type de liste Python standard possède une API C qui permet aux modules "
|
||||
"d'extension de créer et de manipuler des listes, ce nouveau type de "
|
||||
"collection devrait posséder un ensemble de fonctions C pour une manipulation "
|
||||
"directe à partir d'autres modules d'extension."
|
||||
|
||||
#: ../Doc/extending/extending.rst:1146
|
||||
msgid ""
|
||||
|
@ -1323,6 +1526,20 @@ msgid ""
|
|||
"if symbols are globally visible, the module whose functions one wishes to "
|
||||
"call might not have been loaded yet!"
|
||||
msgstr ""
|
||||
"À première vue, cela semble facile : il suffit d'écrire les fonctions (sans "
|
||||
"les déclarer \"statiques\", bien sûr), de fournir un fichier d'en-tête "
|
||||
"approprié et de documenter l'API C. Et en fait, cela fonctionnerait si tous "
|
||||
"les modules d'extension étaient toujours liés statiquement avec "
|
||||
"l'interpréteur Python. Cependant, lorsque les modules sont utilisés comme "
|
||||
"des bibliothèques partagées, les symboles définis dans un module peuvent ne "
|
||||
"pas être visibles par un autre module. Les détails de la visibilité "
|
||||
"dépendent du système d'exploitation ; certains systèmes utilisent un espace "
|
||||
"de noms global pour l'interpréteur Python et tous les modules d'extension "
|
||||
"(Windows, par exemple), tandis que d'autres exigent une liste explicite des "
|
||||
"symboles importés au moment de la liaison des modules (AIX en est un "
|
||||
"exemple), ou offrent un choix de stratégies différentes (la plupart des "
|
||||
"*Unix*). Et même si les symboles sont globalement visibles, le module dont "
|
||||
"on souhaite appeler les fonctions n'est peut-être pas encore chargé !"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1158
|
||||
msgid ""
|
||||
|
@ -1333,6 +1550,14 @@ msgid ""
|
|||
"section :ref:`methodtable`). And it means that symbols that *should* be "
|
||||
"accessible from other extension modules must be exported in a different way."
|
||||
msgstr ""
|
||||
"La portabilité exige donc de ne faire aucune supposition sur la visibilité "
|
||||
"des symboles. Cela signifie que tous les symboles des modules d'extension "
|
||||
"doivent être déclarés ``static``, à l'exception de la fonction "
|
||||
"d'initialisation du module, afin d'éviter les conflits de noms avec les "
|
||||
"autres modules d'extension (comme discuté dans la section :ref:"
|
||||
"`methodtable`). Et cela signifie que les symboles qui *devraient* être "
|
||||
"accessibles à partir d'autres modules d'extension doivent être exportés "
|
||||
"d'une manière différente."
|
||||
|
||||
#: ../Doc/extending/extending.rst:1165
|
||||
msgid ""
|
||||
|
@ -1355,6 +1580,13 @@ msgid ""
|
|||
"distributed in different ways between the module providing the code and the "
|
||||
"client modules."
|
||||
msgstr ""
|
||||
"Il existe de nombreuses façons d'utiliser les Capsules pour exporter l'API C "
|
||||
"d'un module d'extension. Chaque fonction peut obtenir sa propre Capsule, ou "
|
||||
"tous les pointeurs de l'API C peuvent être stockés dans un tableau dont "
|
||||
"l'adresse est inscrite dans une Capsule. Et les différentes tâches de "
|
||||
"stockage et de récupération des pointeurs peuvent être réparties de "
|
||||
"différentes manières entre le module fournissant le code et les modules "
|
||||
"clients."
|
||||
|
||||
#: ../Doc/extending/extending.rst:1179
|
||||
msgid ""
|
||||
|
@ -1390,6 +1622,14 @@ msgid ""
|
|||
"takes care of importing the module and retrieving its C API pointers; client "
|
||||
"modules only have to call this macro before accessing the C API."
|
||||
msgstr ""
|
||||
"L'exemple suivant montre une approche qui fait peser la plus grande partie "
|
||||
"de la charge sur le rédacteur du module d'exportation, ce qui est approprié "
|
||||
"pour les modules de bibliothèque couramment utilisés. Il stocke tous les "
|
||||
"pointeurs de l'API C (un seul dans l'exemple !) dans un tableau de "
|
||||
"pointeurs :c:type:`void` qui devient la valeur d'une Capsule. Le fichier "
|
||||
"d'en-tête correspondant au module fournit une macro qui se charge d'importer "
|
||||
"le module et de récupérer ses pointeurs d'API C. Les modules clients n'ont "
|
||||
"qu'à appeler cette macro avant d'accéder à l'API C."
|
||||
|
||||
#: ../Doc/extending/extending.rst:1204
|
||||
msgid ""
|
||||
|
@ -1400,6 +1640,13 @@ msgid ""
|
|||
"complicated in reality (such as adding \"spam\" to every command). This "
|
||||
"function :c:func:`PySpam_System` is also exported to other extension modules."
|
||||
msgstr ""
|
||||
"Le module d'exportation est une modification du module :mod:`spam` de la "
|
||||
"section :ref:`extending-simpleexample`. La fonction :func:`spam.system` "
|
||||
"n'appelle pas directement la fonction de la bibliothèque C :c:func:`system`, "
|
||||
"mais une fonction :c:func:`PySpam_System`, qui ferait bien sûr quelque chose "
|
||||
"de plus compliqué en réalité (comme ajouter du *spam* à chaque commande). "
|
||||
"Cette fonction :c:func:`PySpam_System` est également exportée vers d'autres "
|
||||
"modules d'extension."
|
||||
|
||||
#: ../Doc/extending/extending.rst:1211
|
||||
msgid ""
|
||||
|
@ -1409,15 +1656,15 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/extending.rst:1220
|
||||
msgid "The function :c:func:`spam_system` is modified in a trivial way::"
|
||||
msgstr ""
|
||||
msgstr "La fonction :c:func:`spam_system` est modifiée de manière simple ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1234
|
||||
msgid "In the beginning of the module, right after the line ::"
|
||||
msgstr ""
|
||||
msgstr "Au début du module, immédiatement après la ligne ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1238
|
||||
msgid "two more lines must be added::"
|
||||
msgstr ""
|
||||
msgstr "on doit ajouter deux lignes supplémentaires ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1243
|
||||
msgid ""
|
||||
|
@ -1426,18 +1673,26 @@ msgid ""
|
|||
"initialization function must take care of initializing the C API pointer "
|
||||
"array::"
|
||||
msgstr ""
|
||||
"L'indicateur ``#define`` est utilisé pour indiquer au fichier d'en-tête "
|
||||
"qu'il est inclus dans le module d'exportation, et non dans un module client. "
|
||||
"Enfin, la fonction d'initialisation du module doit prendre en charge "
|
||||
"l'initialisation du tableau de pointeurs de l'API C ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1269
|
||||
msgid ""
|
||||
"Note that ``PySpam_API`` is declared ``static``; otherwise the pointer array "
|
||||
"would disappear when :func:`PyInit_spam` terminates!"
|
||||
msgstr ""
|
||||
"Notez que ``PySpam_API`` est déclaré ``static`` ; sinon le tableau de "
|
||||
"pointeurs disparaîtrait lorsque :func:`PyInit_spam`` se finit !"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1272
|
||||
msgid ""
|
||||
"The bulk of the work is in the header file :file:`spammodule.h`, which looks "
|
||||
"like this::"
|
||||
msgstr ""
|
||||
"L'essentiel du travail se trouve dans le fichier d'en-tête :file:`spammodule."
|
||||
"h`, qui ressemble à ceci ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1323
|
||||
msgid ""
|
||||
|
@ -1445,6 +1700,9 @@ msgid ""
|
|||
"func:`PySpam_System` is to call the function (or rather macro) :c:func:"
|
||||
"`import_spam` in its initialization function::"
|
||||
msgstr ""
|
||||
"Tout ce qu'un module client doit faire pour avoir accès à la fonction :c:"
|
||||
"func:`PySpam_System` est d'appeler la fonction (ou plutôt la macro) :c:func:"
|
||||
"`import_spam` dans sa fonction d'initialisation ::"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1341
|
||||
msgid ""
|
||||
|
@ -1452,6 +1710,10 @@ msgid ""
|
|||
"is rather complicated. However, the basic structure is the same for each "
|
||||
"function that is exported, so it has to be learned only once."
|
||||
msgstr ""
|
||||
"Le principal inconvénient de cette approche est que le fichier :file:"
|
||||
"`spammodule.h` est assez compliqué. Cependant, la structure de base est la "
|
||||
"même pour chaque fonction exportée, ce qui fait qu'elle ne doit être apprise "
|
||||
"qu'une seule fois."
|
||||
|
||||
#: ../Doc/extending/extending.rst:1345
|
||||
msgid ""
|
||||
|
@ -1462,6 +1724,13 @@ msgid ""
|
|||
"Capsules (files :file:`Include/pycapsule.h` and :file:`Objects/pycapsule.c` "
|
||||
"in the Python source code distribution)."
|
||||
msgstr ""
|
||||
"Enfin, il convient de mentionner que Capsules offrent des fonctionnalités "
|
||||
"supplémentaires, qui sont particulièrement utiles pour l'allocation de la "
|
||||
"mémoire et la dés-allocation du pointeur stocké dans un objet Capsule. Les "
|
||||
"détails sont décrits dans le manuel de référence de l'API Python/C dans la "
|
||||
"section :ref:`capsules` et dans l'implémentation des Capsules (fichiers :"
|
||||
"file:`Include/pycapsule.h` et :file:`Objects/pycapsule.c` dans la "
|
||||
"distribution du code source Python)."
|
||||
|
||||
#: ../Doc/extending/extending.rst:1353
|
||||
msgid "Footnotes"
|
||||
|
@ -1472,12 +1741,16 @@ msgid ""
|
|||
"An interface for this function already exists in the standard module :mod:"
|
||||
"`os` --- it was chosen as a simple and straightforward example."
|
||||
msgstr ""
|
||||
"Une interface pour cette fonction existe déjà dans le module standard :mod:"
|
||||
"`os`, elle a été choisie comme un exemple simple et direct."
|
||||
|
||||
#: ../Doc/extending/extending.rst:1357
|
||||
msgid ""
|
||||
"The metaphor of \"borrowing\" a reference is not completely correct: the "
|
||||
"owner still has a copy of the reference."
|
||||
msgstr ""
|
||||
"L'expression « emprunter une référence » n'est pas tout à fait correcte, car "
|
||||
"le propriétaire a toujours une copie de la référence."
|
||||
|
||||
#: ../Doc/extending/extending.rst:1360
|
||||
msgid ""
|
||||
|
@ -1485,9 +1758,15 @@ msgid ""
|
|||
"reference count itself could be in freed memory and may thus be reused for "
|
||||
"another object!"
|
||||
msgstr ""
|
||||
"Vérifier que le comptage de référence est d'au moins 1 **ne fonctionne "
|
||||
"pas**, le compte de référence lui-même pourrait être en mémoire libérée et "
|
||||
"peut donc être réutilisé pour un autre objet !"
|
||||
|
||||
#: ../Doc/extending/extending.rst:1364
|
||||
msgid ""
|
||||
"These guarantees don't hold when you use the \"old\" style calling "
|
||||
"convention --- this is still found in much existing code."
|
||||
msgstr ""
|
||||
"Ces garanties ne sont pas valables lorsqu'on emploie les conventions de "
|
||||
"nommage anciennes, qu'on retrouve encore assez souvent dans beaucoup de code "
|
||||
"existant."
|
||||
|
|
|
@ -16,7 +16,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/newtypes.rst:5
|
||||
msgid "Defining Extension Types: Assorted Topics"
|
||||
msgstr ""
|
||||
msgstr "Définir les types d'extension : divers sujets"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:9
|
||||
msgid ""
|
||||
|
@ -68,16 +68,21 @@ msgid ""
|
|||
"Here you can put a string (or its address) that you want returned when the "
|
||||
"Python script references ``obj.__doc__`` to retrieve the doc string."
|
||||
msgstr ""
|
||||
"Ici vous pouvez mettre une chaîne (ou son adresse) que vous voulez renvoyer "
|
||||
"lorsque le script Python référence ``obj.__doc__`` pour récupérer le "
|
||||
"*docstring*."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:47
|
||||
msgid ""
|
||||
"Now we come to the basic type methods -- the ones most extension types will "
|
||||
"implement."
|
||||
msgstr ""
|
||||
"Nous en arrivons maintenant aux méthodes de type basiques -- celles que la "
|
||||
"plupart des types d'extension mettront en œuvre."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:52
|
||||
msgid "Finalization and De-allocation"
|
||||
msgstr ""
|
||||
msgstr "Finalisation et de-allocation"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:64
|
||||
msgid ""
|
||||
|
@ -125,11 +130,11 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/newtypes.rst:134
|
||||
msgid ":pep:`442` explains the new finalization scheme."
|
||||
msgstr ""
|
||||
msgstr ":pep:`442` explique le nouveau schéma de finalisation."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:141
|
||||
msgid "Object Presentation"
|
||||
msgstr ""
|
||||
msgstr "Présentation de l'objet"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:143
|
||||
msgid ""
|
||||
|
@ -165,11 +170,11 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/newtypes.rst:174
|
||||
msgid "Here is a simple example::"
|
||||
msgstr ""
|
||||
msgstr "Voici un exemple simple ::"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:186
|
||||
msgid "Attribute Management"
|
||||
msgstr ""
|
||||
msgstr "Gestion des attributs"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:188
|
||||
msgid ""
|
||||
|
@ -203,7 +208,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/newtypes.rst:217
|
||||
msgid "Generic Attribute Management"
|
||||
msgstr ""
|
||||
msgstr "Gestion des attributs génériques"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:219
|
||||
msgid ""
|
||||
|
@ -216,6 +221,8 @@ msgid ""
|
|||
"The name of the attributes must be known when :c:func:`PyType_Ready` is "
|
||||
"called."
|
||||
msgstr ""
|
||||
"Le nom des attributs doivent être déjà connus lorsqu'on lance :c:func:"
|
||||
"`PyType_Ready`."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:225
|
||||
msgid ""
|
||||
|
@ -244,6 +251,7 @@ msgstr ""
|
|||
#: ../Doc/extending/newtypes.rst:239
|
||||
msgid "The tables are declared as three fields of the type object::"
|
||||
msgstr ""
|
||||
"Les tables sont déclarées sous la forme de trois champs de type objet ::"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:245
|
||||
msgid ""
|
||||
|
@ -295,35 +303,35 @@ msgstr "Signification"
|
|||
|
||||
#: ../Doc/extending/newtypes.rst:286
|
||||
msgid ":const:`READONLY`"
|
||||
msgstr ""
|
||||
msgstr ":const:`READONLY`"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:286
|
||||
msgid "Never writable."
|
||||
msgstr ""
|
||||
msgstr "Jamais disponible en écriture."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:288
|
||||
msgid ":const:`READ_RESTRICTED`"
|
||||
msgstr ""
|
||||
msgstr ":const:`READ_RESTRICTED`"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:288
|
||||
msgid "Not readable in restricted mode."
|
||||
msgstr ""
|
||||
msgstr "Non disponible en lecture, dans le mode restreint."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:290
|
||||
msgid ":const:`WRITE_RESTRICTED`"
|
||||
msgstr ""
|
||||
msgstr ":const:`WRITE_RESTRICTED`"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:290
|
||||
msgid "Not writable in restricted mode."
|
||||
msgstr ""
|
||||
msgstr "Non disponible en écriture dans le mode restreint."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:292
|
||||
msgid ":const:`RESTRICTED`"
|
||||
msgstr ""
|
||||
msgstr ":const:`RESTRICTED`"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:292
|
||||
msgid "Not readable or writable in restricted mode."
|
||||
msgstr ""
|
||||
msgstr "Non disponible en lecture ou écriture, en mode restreint."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:301
|
||||
msgid ""
|
||||
|
@ -334,6 +342,13 @@ msgid ""
|
|||
"the descriptor from the class object, and get the doc string using its :attr:"
|
||||
"`__doc__` attribute."
|
||||
msgstr ""
|
||||
"Un avantage intéressant de l'utilisation de la table :c:member:"
|
||||
"`~PyTypeObject.tp_members` pour construire les descripteurs qui sont "
|
||||
"utilisés à l'exécution, est que à tout attribut défini de cette façon on "
|
||||
"peut associer un *docstring*, en écrivant simplement le texte dans la table. "
|
||||
"Une application peut utiliser l'API d'introspection pour récupérer le "
|
||||
"descripteur de l'objet de classe, et utiliser son attribut :attr:`__doc__` "
|
||||
"pour renvoyer le *docstring*."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:307
|
||||
msgid ""
|
||||
|
@ -343,7 +358,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/newtypes.rst:321
|
||||
msgid "Type-specific Attribute Management"
|
||||
msgstr ""
|
||||
msgstr "Gestion des attributs de type spécifiques"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:323
|
||||
msgid ""
|
||||
|
@ -379,7 +394,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/newtypes.rst:365
|
||||
msgid "Object Comparison"
|
||||
msgstr ""
|
||||
msgstr "Comparaison des objets"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:371
|
||||
msgid ""
|
||||
|
@ -408,7 +423,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/newtypes.rst:414
|
||||
msgid "Abstract Protocol Support"
|
||||
msgstr ""
|
||||
msgstr "Support pour le protocole abstrait"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:416
|
||||
msgid ""
|
||||
|
@ -466,7 +481,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/newtypes.rst:470
|
||||
msgid "This function takes three arguments:"
|
||||
msgstr ""
|
||||
msgstr "Cette fonction prend trois arguments :"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:472
|
||||
msgid ""
|
||||
|
@ -491,7 +506,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/newtypes.rst:484
|
||||
msgid "Here is a toy ``tp_call`` implementation::"
|
||||
msgstr ""
|
||||
msgstr "Ceci est une implémentation ``tp_call`` très simple ::"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:510
|
||||
msgid ""
|
||||
|
@ -509,6 +524,10 @@ msgid ""
|
|||
"tp_iter` handler, which must return an :term:`iterator` object. Here the "
|
||||
"same guidelines apply as for Python classes:"
|
||||
msgstr ""
|
||||
"Tout objet :term:`iterable` doit implémenter le gestionnaire :c:member:"
|
||||
"`~PyTypeObject.tp_iter`, qui doit renvoyer un objet de type :term:"
|
||||
"`iterator`. Ici, les mêmes directives s'appliquent de la même façon que "
|
||||
"pour les classes *Python* :"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:521
|
||||
msgid ""
|
||||
|
@ -516,6 +535,9 @@ msgid ""
|
|||
"independent iterators, a new iterator should be created and returned by each "
|
||||
"call to :c:member:`~PyTypeObject.tp_iter`."
|
||||
msgstr ""
|
||||
"Pour les collections (telles que les listes et les n-uplets) qui peuvent "
|
||||
"implémenter plusieurs itérateurs indépendants, un nouvel itérateur doit être "
|
||||
"créé et renvoyé par chaque appel de type :c:member:`~PyTypeObject.tp_iter`."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:524
|
||||
msgid ""
|
||||
|
@ -541,7 +563,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/newtypes.rst:545
|
||||
msgid "Weak Reference Support"
|
||||
msgstr ""
|
||||
msgstr "Prise en charge de la référence faible"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:547
|
||||
msgid ""
|
||||
|
@ -549,16 +571,22 @@ msgid ""
|
|||
"type to participate in the weak reference mechanism without incurring the "
|
||||
"overhead on performance-critical objects (such as numbers)."
|
||||
msgstr ""
|
||||
"L'un des objectifs de l'implémentation de la référence faible de *Python* "
|
||||
"est de permettre à tout type d'objet de participer au mécanisme de référence "
|
||||
"faible sans avoir à supporter le surcoût de la performance critique des "
|
||||
"certains objets, tels que les nombres."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:552
|
||||
msgid "Documentation for the :mod:`weakref` module."
|
||||
msgstr ""
|
||||
msgstr "Documentation pour le module :mod:`weakref`."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:554
|
||||
msgid ""
|
||||
"For an object to be weakly referencable, the extension type must do two "
|
||||
"things:"
|
||||
msgstr ""
|
||||
"Pour qu'un objet soit faiblement référençable, le type d'extension doit "
|
||||
"faire deux choses :"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:556
|
||||
msgid ""
|
||||
|
@ -574,16 +602,23 @@ msgid ""
|
|||
"offset of the aforementioned field in the C object structure, so that the "
|
||||
"interpreter knows how to access and modify that field."
|
||||
msgstr ""
|
||||
"Définissez le membre de type :c:member:`~PyTypeObject.tp_weaklistoffset` à "
|
||||
"la valeur de décalage (*offset*) du champ susmentionné dans la structure de "
|
||||
"l'objet *C*, afin que l'interpréteur sache comment accéder à ce champ et le "
|
||||
"modifier."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:565
|
||||
msgid ""
|
||||
"Concretely, here is how a trivial object structure would be augmented with "
|
||||
"the required field::"
|
||||
msgstr ""
|
||||
"Concrètement, voici comment une structure d'objet simple serait complétée "
|
||||
"par le champ requis ::"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:573
|
||||
msgid "And the corresponding member in the statically-declared type object::"
|
||||
msgstr ""
|
||||
"Et le membre correspondant dans l'objet de type déclaré statiquement ::"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:581
|
||||
msgid ""
|
||||
|
@ -594,7 +629,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/extending/newtypes.rst:597
|
||||
msgid "More Suggestions"
|
||||
msgstr ""
|
||||
msgstr "Plus de suggestions"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:599
|
||||
msgid ""
|
||||
|
@ -604,6 +639,12 @@ msgid ""
|
|||
"want (for example, ``tp_richcompare``). You will find examples of the "
|
||||
"function you want to implement."
|
||||
msgstr ""
|
||||
"Pour savoir comment mettre en œuvre une méthode spécifique pour votre "
|
||||
"nouveau type de données, téléchargez le code source :term:`CPython`. Allez "
|
||||
"dans le répertoire :file:`Objects`, puis cherchez dans les fichiers sources "
|
||||
"*C* la fonction ``tp_`` plus la fonction que vous voulez (par exemple, "
|
||||
"``tp_richcompare``). Vous trouverez des exemples de la fonction que vous "
|
||||
"voulez implémenter."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:605
|
||||
msgid ""
|
||||
|
@ -611,23 +652,27 @@ msgid ""
|
|||
"you are implementing, use the :c:func:`PyObject_TypeCheck` function. A "
|
||||
"sample of its use might be something like the following::"
|
||||
msgstr ""
|
||||
"Lorsque vous avez besoin de vérifier qu'un objet est une instance concrète "
|
||||
"du type que vous implémentez, utilisez la fonction :c:func:"
|
||||
"`PyObject_TypeCheck`. Voici un exemple de son utilisation ::"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:616
|
||||
msgid "Download CPython source releases."
|
||||
msgstr ""
|
||||
msgstr "Télécharger les versions sources de *CPython*."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:616
|
||||
msgid "https://www.python.org/downloads/source/"
|
||||
msgstr ""
|
||||
msgstr "https://www.python.org/downloads/source/"
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:618
|
||||
msgid ""
|
||||
"The CPython project on GitHub, where the CPython source code is developed."
|
||||
msgstr ""
|
||||
"Le projet *CPython* sur *GitHub*, où se trouve le code source *CPython*."
|
||||
|
||||
#: ../Doc/extending/newtypes.rst:619
|
||||
msgid "https://github.com/python/cpython"
|
||||
msgstr ""
|
||||
msgstr "https://github.com/python/cpython"
|
||||
|
||||
#~ msgid "Footnotes"
|
||||
#~ msgstr "Notes"
|
||||
|
|
|
@ -504,7 +504,7 @@ msgstr ""
|
|||
"train de dire à une séquence de joindre ses membres avec une constante de "
|
||||
"chaîne\". Malheureusement, vous ne l'êtes pas. Pour quelque raison, il "
|
||||
"semble être bien moins difficile d'avoir :meth:`~str.split` en tant que "
|
||||
"méthode de chaîne, puisque dans ce cas il est facile de voir que ::"
|
||||
"méthode de chaîne, puisque dans ce cas il est facile de voir que ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:269
|
||||
msgid ""
|
||||
|
@ -1094,7 +1094,7 @@ msgstr ""
|
|||
"`__eq__` et :meth:`__hash__`. Vous devez ensuite vous assurer que la valeur "
|
||||
"de hachage pour tous ces objets *wrapper* qui résident dans un dictionnaire "
|
||||
"(ou une autre structure basée sur le hachage), restent fixes pendant que "
|
||||
"l'objet est dans le dictionnaire (ou une autre structure). ::"
|
||||
"l'objet est dans le dictionnaire (ou une autre structure). ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:574
|
||||
msgid ""
|
||||
|
@ -1341,7 +1341,7 @@ msgid ""
|
|||
"If you're trying to build a pathname for a DOS command, try e.g. one of ::"
|
||||
msgstr ""
|
||||
"Si vous essayez de construire un chemin d'accès pour une commande DOS, "
|
||||
"essayez par exemple l'un de ceux-là ::"
|
||||
"essayez par exemple l'un de ceux-là ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:698
|
||||
msgid "Why doesn't Python have a \"with\" statement for attribute assignments?"
|
||||
|
@ -1448,7 +1448,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/faq/design.rst:761
|
||||
msgid "versus ::"
|
||||
msgstr "versus ::"
|
||||
msgstr "versus ::"
|
||||
|
||||
#: ../Doc/faq/design.rst:766
|
||||
msgid ""
|
||||
|
|
|
@ -7,12 +7,12 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-05-23 16:48+0200\n"
|
||||
"PO-Revision-Date: 2019-08-31 11:36+0200\n"
|
||||
"Last-Translator: Zepmanbc <zepman@gmail.com>\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"
|
||||
"Last-Translator: Zepmanbc <zepman@gmail.com>\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
|
||||
#: ../Doc/faq/extending.rst:3
|
||||
|
@ -54,11 +54,11 @@ msgid ""
|
|||
"each function that is going to be called by the Python interpreter. Global "
|
||||
"or static C++ objects with constructors are probably not a good idea."
|
||||
msgstr ""
|
||||
"Oui, en utilisant les fonctionnalités de compatibilité C existantes en C++. "
|
||||
"Placez ``extern \"C\" { ... }`` autour des fichiers Python inclus et mettez "
|
||||
"``extern \"C\"`` avant chaque fonction qui sera appelée par l'interpréteur "
|
||||
"Python. Les objets globaux ou statiques C++ ayant des constructeurs ne sont "
|
||||
"probablement pas adaptés."
|
||||
"Oui, en utilisant les fonctionnalités de compatibilité C existantes en C++. "
|
||||
"Placez ``extern \"C\" { ... }`` autour des fichiers Python inclus et mettez "
|
||||
"``extern \"C\"`` avant chaque fonction qui va être appelée par "
|
||||
"l'interpréteur Python. Les objets C++ globaux ou statiques avec les "
|
||||
"constructeurs ne sont probablement pas une bonne idée."
|
||||
|
||||
#: ../Doc/faq/extending.rst:37
|
||||
msgid "Writing C is hard; are there any alternatives?"
|
||||
|
@ -70,7 +70,7 @@ msgid ""
|
|||
"depending on what you're trying to do."
|
||||
msgstr ""
|
||||
"Il y a un certain nombre de solutions existantes qui vous permettent "
|
||||
"d'écrire vos propres extensions en C selon ce que vous essayez de faire."
|
||||
"d'écrire vos propres extensions C, selon ce que vous essayez de faire."
|
||||
|
||||
#: ../Doc/faq/extending.rst:44
|
||||
msgid ""
|
||||
|
|
|
@ -760,12 +760,12 @@ msgid ""
|
|||
"for a PEP titled \"Python X.Y Release Schedule\", where X.Y is a version "
|
||||
"that hasn't been publicly released yet."
|
||||
msgstr ""
|
||||
"Regardez https://www.python.org/dev/peps/ pour Python Enhancement Proposals "
|
||||
"(PEPs). PEPs sont des documents techniques qui décrivent une nouvelle "
|
||||
"fonctionnalité qui a été suggérée pour Python, en fournissant une "
|
||||
"spécification technique concise et logique. Recherchez une PEP intitulée "
|
||||
"\"Python X.Y Release Schedule\", où X.Y est la version qui n'a pas encore "
|
||||
"été publiée."
|
||||
"Regardez les propositions d'amélioration de Python (« *Python Enhancement "
|
||||
"Proposals* », ou *PEP*) sur https://www.python.org/dev/peps/. Les PEP sont "
|
||||
"des documents techniques qui décrivent une nouvelle fonctionnalité qui a été "
|
||||
"suggérée pour Python, en fournissant une spécification technique concise et "
|
||||
"logique. Recherchez une PEP intitulée \"Python X.Y Release Schedule\", où X."
|
||||
"Y est la version qui n'a pas encore été publiée."
|
||||
|
||||
#: ../Doc/faq/general.rst:353
|
||||
msgid ""
|
||||
|
|
|
@ -7,12 +7,12 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-06-03 22:10+0200\n"
|
||||
"PO-Revision-Date: 2019-08-06 11:31+0200\n"
|
||||
"Last-Translator: Zepmanbc <zepman@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Last-Translator: Zepmanbc <zepman@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
|
||||
#: ../Doc/faq/gui.rst:5
|
||||
|
|
|
@ -7,12 +7,12 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
|
||||
"PO-Revision-Date: 2019-08-22 22:17+0200\n"
|
||||
"Last-Translator: Antoine Wecxsteen\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"
|
||||
"Last-Translator: Antoine Wecxsteen\n"
|
||||
"X-Generator: Poedit 2.0.6\n"
|
||||
|
||||
#: ../Doc/faq/library.rst:5
|
||||
|
@ -937,7 +937,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/faq/library.rst:677
|
||||
msgid "How can I mimic CGI form submission (METHOD=POST)?"
|
||||
msgstr "Comment reproduire un envoi de formulaire CGI (METHOD=POST) ?"
|
||||
msgstr "Comment reproduire un envoi de formulaire CGI (``METHOD=POST``) ?"
|
||||
|
||||
#: ../Doc/faq/library.rst:679
|
||||
msgid ""
|
||||
|
|
|
@ -32,7 +32,7 @@ msgid ""
|
|||
"Is there a source code level debugger with breakpoints, single-stepping, "
|
||||
"etc.?"
|
||||
msgstr ""
|
||||
"Existe-t'il un débogueur de code source avec points d'arrêts, exécution pas-"
|
||||
"Existe-t-il un débogueur de code source avec points d'arrêts, exécution pas-"
|
||||
"à-pas, etc. ?"
|
||||
|
||||
#: ../Doc/faq/programming.rst:17 ../Doc/faq/programming.rst:63
|
||||
|
@ -44,6 +44,8 @@ msgid ""
|
|||
"Several debuggers for Python are described below, and the built-in function :"
|
||||
"func:`breakpoint` allows you to drop into any of them."
|
||||
msgstr ""
|
||||
"Plusieurs débogueurs sont décrits ci-dessous et la fonction native :func:"
|
||||
"`breakpoint` permet d'utiliser n'importe lequel d'entre eux."
|
||||
|
||||
#: ../Doc/faq/programming.rst:22
|
||||
msgid ""
|
||||
|
@ -52,10 +54,10 @@ msgid ""
|
|||
"Library Reference Manual <pdb>`. You can also write your own debugger by "
|
||||
"using the code for pdb as an example."
|
||||
msgstr ""
|
||||
"Le module pdb est un débogueur console simple, mais parfaitement adapté à "
|
||||
"Python. Il fait partie de la bibliothèque standard de Python, sa "
|
||||
"Le module ``pdb`` est un débogueur console simple, mais parfaitement adapté "
|
||||
"à Python. Il fait partie de la bibliothèque standard de Python, sa "
|
||||
"documentation se trouve dans le :mod:`manuel de référence <pdb>`. Vous "
|
||||
"pouvez vous inspirer du code de pdb pour écrire votre propre débogueur."
|
||||
"pouvez vous inspirer du code de ``pdb`` pour écrire votre propre débogueur."
|
||||
|
||||
#: ../Doc/faq/programming.rst:27
|
||||
msgid ""
|
||||
|
@ -64,8 +66,8 @@ msgid ""
|
|||
"graphical debugger."
|
||||
msgstr ""
|
||||
"L'environnement de développement interactif IDLE, qui est fourni avec la "
|
||||
"distribution standard de Python (normalement disponible dans Tools/scripts/"
|
||||
"idle) contient un débogueur graphique."
|
||||
"distribution standard de Python (normalement disponible dans ``Tools/scripts/"
|
||||
"idle``) contient un débogueur graphique."
|
||||
|
||||
#: ../Doc/faq/programming.rst:31
|
||||
msgid ""
|
||||
|
@ -76,13 +78,14 @@ msgid ""
|
|||
">`__ project and as a part of the ActivePython distribution (see https://www."
|
||||
"activestate.com/activepython\\ )."
|
||||
msgstr ""
|
||||
"PythonWin est un environnement de développement intégré (EDI) Python qui "
|
||||
"embarque un débogueur graphique basé sur pdb. Le débogueur PythonWin colore "
|
||||
"les points d'arrêts et possède quelques fonctionnalités sympathiques, comme "
|
||||
"la possibilité de déboguer des programmes développés sans PythonWin. "
|
||||
"PythonWin est disponible dans le projet `Extensions Python pour Windows "
|
||||
"<https://sourceforge.net/projects/pywin32/>`__ et fait partie de la "
|
||||
"distribution ActivePython (voir https://www.activestate.com/activepython\\ )."
|
||||
"*PythonWin* est un environnement de développement intégré (EDI) Python qui "
|
||||
"embarque un débogueur graphique basé sur ``pdb``. Le débogueur *PythonWin* "
|
||||
"colore les points d'arrêts et possède quelques fonctionnalités sympathiques, "
|
||||
"comme la possibilité de déboguer des programmes développés sans "
|
||||
"*PythonWin*. *PythonWin* est disponible dans le projet `Extensions Python "
|
||||
"pour Windows <https://sourceforge.net/projects/pywin32/>`__ et fait partie "
|
||||
"de la distribution ActivePython (voir https://www.activestate.com/"
|
||||
"activepython\\ )."
|
||||
|
||||
#: ../Doc/faq/programming.rst:38
|
||||
msgid ""
|
||||
|
@ -93,8 +96,8 @@ msgid ""
|
|||
"an advanced debugger, integrated help, and Zope support."
|
||||
msgstr ""
|
||||
"`Boa Constructor <http://boa-constructor.sourceforge.net/>`_ est un EDI et "
|
||||
"un constructeur d'interface homme-machine basé sur wxWidgets. Il propose la "
|
||||
"création et la manipulation de fenêtres, un inspecteur d'objets, de "
|
||||
"un constructeur d'interface homme-machine basé sur *wxWidgets*. Il propose "
|
||||
"la création et la manipulation de fenêtres, un inspecteur d'objets, de "
|
||||
"nombreuses façons de visualiser des sources comme un navigateur d'objets, "
|
||||
"les hiérarchies d'héritage, la documentation html générée par les "
|
||||
"docstrings, un débogueur avancé, une aide intégrée et la prise en charge de "
|
||||
|
@ -143,7 +146,7 @@ msgstr "PyCharm (https://www.jetbrains.com/pycharm/)"
|
|||
#: ../Doc/faq/programming.rst:61
|
||||
msgid "Is there a tool to help find bugs or perform static analysis?"
|
||||
msgstr ""
|
||||
"Existe-t'il des outils pour aider à trouver des bogues ou faire de l'analyse "
|
||||
"Existe-t-il des outils pour aider à trouver des bogues ou faire de l'analyse "
|
||||
"statique de code ?"
|
||||
|
||||
#: ../Doc/faq/programming.rst:65
|
||||
|
@ -152,9 +155,9 @@ msgid ""
|
|||
"and warns about code complexity and style. You can get PyChecker from "
|
||||
"http://pychecker.sourceforge.net/."
|
||||
msgstr ""
|
||||
"PyChecker est un outil d'analyse statique qui trouve les bogues dans le code "
|
||||
"source Python et émet des avertissements relatifs à la complexité et au "
|
||||
"style du code. PyChecker est disponible sur http://pychecker.sourceforge."
|
||||
"*PyChecker* est un outil d'analyse statique qui trouve les bogues dans le "
|
||||
"code source Python et émet des avertissements relatifs à la complexité et au "
|
||||
"style du code. *PyChecker* est disponible sur http://pychecker.sourceforge."
|
||||
"net/."
|
||||
|
||||
#: ../Doc/faq/programming.rst:69
|
||||
|
@ -266,7 +269,7 @@ msgstr ""
|
|||
#: ../Doc/faq/programming.rst:115
|
||||
msgid "Are there coding standards or a style guide for Python programs?"
|
||||
msgstr ""
|
||||
"Existe-t'il des normes de développement ou un guide de style pour écrire des "
|
||||
"Existe-t-il des normes de développement ou un guide de style pour écrire des "
|
||||
"programmes Python ?"
|
||||
|
||||
#: ../Doc/faq/programming.rst:117
|
||||
|
@ -412,7 +415,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Le code précédent crée une liste de 5 expressions lambda qui calculent "
|
||||
"chacune ``x**2``. En les exécutant, on pourrait s'attendre à obtenir ``0``, "
|
||||
"``1``, ``4``, ``9`` et ``16``. Elles renvoient en réalité toutes ``16`` :"
|
||||
"``1``, ``4``, ``9`` et ``16``. Elles renvoient en réalité toutes ``16`` ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:230
|
||||
msgid ""
|
||||
|
@ -427,7 +430,7 @@ msgstr ""
|
|||
"l'appel de l'expression lambda – et non au moment où cette expression est "
|
||||
"définie. À la fin de la boucle, ``x`` vaut ``4``, donc toutes les fonctions "
|
||||
"renvoient ``4*2``, i.e. ``16``. Ceci se vérifie également en changeant la "
|
||||
"valeur de ``x`` et en constatant que les résultats sont modifiés :"
|
||||
"valeur de ``x`` et en constatant que les résultats sont modifiés ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:240
|
||||
msgid ""
|
||||
|
@ -436,7 +439,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Pour éviter ce phénomène, les valeurs doivent être stockées dans des "
|
||||
"variables locales aux expressions lambda pour que celles-ci ne se basent "
|
||||
"plus sur la variable globale ``x`` :"
|
||||
"plus sur la variable globale ``x`` ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:247
|
||||
msgid ""
|
||||
|
@ -451,7 +454,7 @@ msgstr ""
|
|||
"``n`` a la même valeur que ``x`` à ce moment. La valeur de ``n`` est donc "
|
||||
"``0`` dans la première lambda, ``1`` dans la deuxième, ``2`` dans la "
|
||||
"troisième et ainsi de suite. Chaque expression lambda renvoie donc le "
|
||||
"résultat correct :"
|
||||
"résultat correct ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:258
|
||||
msgid ""
|
||||
|
@ -483,15 +486,15 @@ msgstr ""
|
|||
|
||||
#: ../Doc/faq/programming.rst:271
|
||||
msgid "config.py::"
|
||||
msgstr "*config.py* ::"
|
||||
msgstr "*config.py* ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:275
|
||||
msgid "mod.py::"
|
||||
msgstr "*mod.py* ::"
|
||||
msgstr "*mod.py* ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:280
|
||||
msgid "main.py::"
|
||||
msgstr "*main.py* ::"
|
||||
msgstr "*main.py* ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:286
|
||||
msgid ""
|
||||
|
@ -569,7 +572,7 @@ msgid ""
|
|||
"module is busy importing the 2nd."
|
||||
msgstr ""
|
||||
"Il n'y a aucun souci à faire des importations circulaires tant que les deux "
|
||||
"modules utilisent la forme \"import <module>\" . Ça ne pose problème que si "
|
||||
"modules utilisent la forme ``import <module>``. Ça ne pose problème que si "
|
||||
"le second module cherche à récupérer un nom du premier module (*\"from "
|
||||
"module import name\"*) et que l'importation est dans l'espace de nommage du "
|
||||
"fichier. Les noms du premier module ne sont en effet pas encore disponibles "
|
||||
|
@ -638,7 +641,7 @@ msgid ""
|
|||
"function::"
|
||||
msgstr ""
|
||||
"C'est un problème que rencontrent souvent les programmeurs débutants. "
|
||||
"Examinons la fonction suivante ::"
|
||||
"Examinons la fonction suivante ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:350
|
||||
msgid ""
|
||||
|
@ -658,7 +661,7 @@ msgid ""
|
|||
"dictionary in this example, subsequent calls to the function will refer to "
|
||||
"this changed object."
|
||||
msgstr ""
|
||||
"On est souvent amené à croire qu'un appel de fonction créé des nouveau "
|
||||
"On est souvent amené à croire qu'un appel de fonction créé des nouveaux "
|
||||
"objets pour les valeurs par défaut. Ce n'est pas le cas. Les valeurs par "
|
||||
"défaut ne sont créées qu'une et une seule fois, au moment où la fonction est "
|
||||
"définie. Si l'objet est modifié, comme le dictionnaire dans cet exemple, les "
|
||||
|
@ -686,11 +689,11 @@ msgstr ""
|
|||
"muables comme valeurs par défaut. Il vaut mieux utiliser ``None`` comme "
|
||||
"valeur par défaut et, à l'intérieur de la fonction, vérifier si le paramètre "
|
||||
"est à ``None`` et créer une nouvelle liste, dictionnaire ou autre, le cas "
|
||||
"échéant. Par exemple, il ne faut pas écrire ::"
|
||||
"échéant. Par exemple, il ne faut pas écrire ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:371
|
||||
msgid "but::"
|
||||
msgstr "mais plutôt ::"
|
||||
msgstr "mais plutôt ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:377
|
||||
msgid ""
|
||||
|
@ -704,7 +707,7 @@ msgstr ""
|
|||
"paramètres et la valeur de retour de chacun des appels d'une fonction "
|
||||
"coûteuse à exécuter, et de renvoyer la valeur stockée en cache si le même "
|
||||
"appel est ré-effectué. C'est la technique dite de « mémoïsation », qui "
|
||||
"s'implémente de la manière suivante ::"
|
||||
"s'implémente de la manière suivante ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:392
|
||||
msgid ""
|
||||
|
@ -731,7 +734,7 @@ msgstr ""
|
|||
"dans la liste des paramètres de la fonction ; ceci donne les arguments "
|
||||
"positionnels sous la forme d'un n-uplet et les arguments nommés sous forme "
|
||||
"de dictionnaire. Ces arguments peuvent être passés à une autre fonction en "
|
||||
"utilisant ``*`` et ``**`` ::"
|
||||
"utilisant ``*`` et ``**`` ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:418
|
||||
msgid "What is the difference between arguments and parameters?"
|
||||
|
@ -749,7 +752,7 @@ msgstr ""
|
|||
"définition de fonction, alors que les :term:`arguments <argument>` sont les "
|
||||
"valeurs qui sont réellement passées à une fonction lors de l'appel de celle-"
|
||||
"ci. Les paramètres définissent les types des arguments qu'une fonction "
|
||||
"accepte. Ainsi, avec la définition de fonction suivante ::"
|
||||
"accepte. Ainsi, avec la définition de fonction suivante ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:428
|
||||
msgid ""
|
||||
|
@ -757,7 +760,7 @@ msgid ""
|
|||
"``func``, for example::"
|
||||
msgstr ""
|
||||
"*foo*, *bar* et *kwargs* sont des paramètres de ``func``. Mais à l'appel de "
|
||||
"``func`` avec, par exemple ::"
|
||||
"``func`` avec, par exemple ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:433
|
||||
msgid "the values ``42``, ``314``, and ``somevar`` are arguments."
|
||||
|
@ -814,7 +817,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/faq/programming.rst:463
|
||||
msgid "If we instead assign an immutable object to ``x``::"
|
||||
msgstr "Si au contraire, on affecte un objet immuable à ``x`` ::"
|
||||
msgstr "Si au contraire, on affecte un objet immuable à ``x`` ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:473
|
||||
msgid ""
|
||||
|
@ -919,14 +922,14 @@ msgid ""
|
|||
"You can achieve the desired effect in a number of ways."
|
||||
msgstr ""
|
||||
"En Python, les arguments sont passés comme des affectations de variables. Vu "
|
||||
"qu'une affectation crée des références à des objets, il n'y pas de lien "
|
||||
"qu'une affectation crée des références à des objets, il n'y a pas de lien "
|
||||
"entre un argument dans l'appel de la fonction et sa définition, et donc pas "
|
||||
"de passage par référence en soi. Il y a cependant plusieurs façon d'en "
|
||||
"de passage par référence en soi. Il y a cependant plusieurs façons d'en "
|
||||
"émuler un."
|
||||
|
||||
#: ../Doc/faq/programming.rst:519
|
||||
msgid "By returning a tuple of the results::"
|
||||
msgstr "En renvoyant un n-uplet de résultats ::"
|
||||
msgstr "En renvoyant un n-uplet de résultats ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:530
|
||||
msgid "This is almost always the clearest solution."
|
||||
|
@ -984,7 +987,7 @@ msgstr "Ou en utilisant un objet appelable ::"
|
|||
|
||||
#: ../Doc/faq/programming.rst:597
|
||||
msgid "In both cases, ::"
|
||||
msgstr "Dans les deux cas, ::"
|
||||
msgstr "Dans les deux cas ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:601
|
||||
msgid "gives a callable object where ``taxes(10e6) == 0.3 * 10e6 + 2``."
|
||||
|
@ -1015,7 +1018,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/faq/programming.rst:635
|
||||
msgid "How do I copy an object in Python?"
|
||||
msgstr "Comment copier un objet en Python?"
|
||||
msgstr "Comment copier un objet en Python ?"
|
||||
|
||||
#: ../Doc/faq/programming.rst:637
|
||||
msgid ""
|
||||
|
@ -1111,7 +1114,7 @@ msgstr ""
|
|||
"C'est pareil que trouver le nom du chat qui traîne devant votre porte : le "
|
||||
"chat (objet) ne peut pas vous dire lui-même son nom, et il s'en moque un peu "
|
||||
"– alors le meilleur moyen de savoir comment il s'appelle est de demander à "
|
||||
"tous vos voisins (espaces de nommage) si c'est leur chat (objet)…."
|
||||
"tous vos voisins (espaces de nommage) si c'est leur chat (objet)…"
|
||||
|
||||
#: ../Doc/faq/programming.rst:695
|
||||
msgid ""
|
||||
|
@ -1167,7 +1170,7 @@ msgid ""
|
|||
"logical operators::"
|
||||
msgstr ""
|
||||
"Avant l'introduction de cette syntaxe dans Python 2.5, il était courant "
|
||||
"d'utiliser les opérateurs de logique ::"
|
||||
"d'utiliser les opérateurs de logique ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:735
|
||||
msgid ""
|
||||
|
@ -1268,7 +1271,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"L'hexadécimal est tout aussi simple, faites précéder le nombre hexadécimal "
|
||||
"par un zéro, puis un \"x\" majuscule ou minuscule. Les nombres hexadécimaux "
|
||||
"peuvent être écrit en majuscules ou en minuscules. Par exemple, dans "
|
||||
"peuvent être écrits en majuscules ou en minuscules. Par exemple, dans "
|
||||
"l'interpréteur Python ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:835
|
||||
|
@ -1281,7 +1284,7 @@ msgid ""
|
|||
"``j``. If you want that, and also want::"
|
||||
msgstr ""
|
||||
"Cela est principalement dû à la volonté que ``i % j`` ait le même signe que "
|
||||
"j. Si vous voulez en plus que ::"
|
||||
"j. Si vous voulez en plus que ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:842
|
||||
msgid ""
|
||||
|
@ -1304,8 +1307,8 @@ msgstr ""
|
|||
"Il y a peu de cas d'utilisation réels pour ``i % j`` quand ``j`` est "
|
||||
"négatif. Quand ``j`` est positif, il y en a beaucoup, et dans pratiquement "
|
||||
"tous, il est plus utile que ``i % j`` soit ``>=0``. Si l'horloge affiche "
|
||||
"10h maintenant, qu'affichait-elle il y a 200 heures ? ``-190 % 12 == 2`` est "
|
||||
"utile ; ``-190 % 12 == -10`` est un bogue en puissance."
|
||||
"10 h maintenant, qu'affichait-elle il y a 200 heures ? ``-190 % 12 == 2`` "
|
||||
"est utile ; ``-190 % 12 == -10`` est un bogue en puissance."
|
||||
|
||||
#: ../Doc/faq/programming.rst:854
|
||||
msgid "How do I convert a string to a number?"
|
||||
|
@ -1359,7 +1362,7 @@ msgid ""
|
|||
"expressions, so that e.g. ``eval('09')`` gives a syntax error because Python "
|
||||
"does not allow leading '0' in a decimal number (except '0')."
|
||||
msgstr ""
|
||||
":func:`eval` a aussi pour effet d'interpréter les nombres comme comme des "
|
||||
":func:`eval` a aussi pour effet d'interpréter les nombres comme des "
|
||||
"expressions Python. Ainsi ``eval('09')`` produit une erreur de syntaxe, "
|
||||
"parce que Python ne permet pas les '0' en tête d'un nombre décimal (à "
|
||||
"l'exception du nombre '0')."
|
||||
|
@ -1401,13 +1404,13 @@ msgstr ""
|
|||
"plupart des cas, il faut tout simplement construire une nouvelle chaîne à "
|
||||
"partir des morceaux de l'ancienne. Si toutefois vous avez besoin d'un objet "
|
||||
"capable de modifier de la donnée Unicode « sur place », essayez d'utiliser "
|
||||
"un objet :class:`io.StringIO` ou le module :mod:`array` ::"
|
||||
"un objet :class:`io.StringIO` ou le module :mod:`array` ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:922
|
||||
msgid "How do I use strings to call functions/methods?"
|
||||
msgstr ""
|
||||
"Comment utiliser des chaînes de caractères pour appeler des fonctions/"
|
||||
"méthodes?"
|
||||
"méthodes ?"
|
||||
|
||||
#: ../Doc/faq/programming.rst:924
|
||||
msgid "There are various techniques."
|
||||
|
@ -1481,7 +1484,7 @@ msgstr ""
|
|||
"occurrences de tout marqueur de fin de ligne à la fin d'une chaîne de "
|
||||
"caractère ``S``, sans en enlever aucune espace. Si la chaîne ``S`` "
|
||||
"représente plus d'une ligne, avec plusieurs lignes vides, les marqueurs de "
|
||||
"fin de de ligne de chaque ligne vide seront retirés ::"
|
||||
"fin de ligne de chaque ligne vide seront retirés ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:994
|
||||
msgid ""
|
||||
|
@ -1650,8 +1653,8 @@ msgid ""
|
|||
"detrimental to readability)."
|
||||
msgstr ""
|
||||
"Les abstractions ont tendance à créer des indirections et obligent "
|
||||
"l'interpréteur à faire plus d'efforts. Si le niveau d'indirection dépasse le "
|
||||
"quantité de travail effectif, le programme sera ralentit. Il faut toujours "
|
||||
"l'interpréteur à faire plus d'efforts. Si le niveau d'indirection dépasse la "
|
||||
"quantité de travail effectif, le programme sera ralenti. Il faut toujours "
|
||||
"éviter trop d'indirections, en particulier sous la forme de fonctions ou "
|
||||
"méthodes trop petites (qui nuisent aussi souvent à la clarté du code)."
|
||||
|
||||
|
@ -1710,7 +1713,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Pour mettre bout-à-bout un grand nombre d'objets :class:`str`, la technique "
|
||||
"recommandée consiste à toutes les mettre dans une liste et appeler la "
|
||||
"méthode :meth:`str.join` à la fin ::"
|
||||
"méthode :meth:`str.join` à la fin ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1096
|
||||
msgid "(another reasonably efficient idiom is to use :class:`io.StringIO`)"
|
||||
|
@ -1726,7 +1729,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Pour concaténer un grand nombre d'objets :class:`bytes`, la technique "
|
||||
"recommandée consiste à étendre un objet :class:`bytearray` en utilisant la "
|
||||
"concaténation en-place (l'opérateur ``+=``) ::"
|
||||
"concaténation en-place (l'opérateur ``+=``) ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1107
|
||||
msgid "Sequences (Tuples/Lists)"
|
||||
|
@ -1853,7 +1856,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Si tous les éléments de la liste peuvent être utilisés comme des clés de "
|
||||
"dictionnaire (c'est à dire, qu'elles sont toutes :term:`hachables "
|
||||
"<hashable>`) ceci est souvent plus rapide ::"
|
||||
"<hashable>`) ceci est souvent plus rapide ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1180
|
||||
msgid ""
|
||||
|
@ -1962,7 +1965,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Cela génère une liste contenant elle-même trois listes distinctes, de "
|
||||
"longueur deux. Vous pouvez aussi utiliser la syntaxe des listes en "
|
||||
"compréhension ::"
|
||||
"compréhension ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1259
|
||||
msgid ""
|
||||
|
@ -1984,7 +1987,7 @@ msgstr "Utilisez une liste en compréhension ::"
|
|||
msgid ""
|
||||
"Why does a_tuple[i] += ['item'] raise an exception when the addition works?"
|
||||
msgstr ""
|
||||
"Pourquoi a_tuple[i] += ['item'] lève-t'il une exception alors que "
|
||||
"Pourquoi ``a_tuple[i] += ['item']`` lève-t-il une exception alors que "
|
||||
"l'addition fonctionne ?"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1275
|
||||
|
@ -2004,7 +2007,7 @@ msgid ""
|
|||
"a ``list`` and ``+=`` as our exemplar."
|
||||
msgstr ""
|
||||
"Cette discussion est valable, en général, quand des opérateurs d'affectation "
|
||||
"incrémentale sont appliqués aux élément d'un n-uplet qui pointe sur des "
|
||||
"incrémentale sont appliqués aux éléments d'un n-uplet qui pointe sur des "
|
||||
"objets muables, mais on prendra ``list`` et ``+=`` comme exemple."
|
||||
|
||||
#: ../Doc/faq/programming.rst:1283
|
||||
|
@ -2031,7 +2034,7 @@ msgid ""
|
|||
"approximately this::"
|
||||
msgstr ""
|
||||
"Sous le capot, une instruction d'affectation incrémentale fait à peu près "
|
||||
"ceci :"
|
||||
"ceci ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1306
|
||||
msgid ""
|
||||
|
@ -2043,7 +2046,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/faq/programming.rst:1309
|
||||
msgid "When you write something like::"
|
||||
msgstr "Quand vous écrivez un code du style :"
|
||||
msgstr "Quand vous écrivez un code du style ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1317
|
||||
msgid ""
|
||||
|
@ -2051,7 +2054,7 @@ msgid ""
|
|||
"that even though there was an error, the append worked::"
|
||||
msgstr ""
|
||||
"L'exception est un peu plus surprenante et, chose encore plus étrange, "
|
||||
"malgré l'erreur, l'ajout a fonctionné ::"
|
||||
"malgré l'erreur, l'ajout a fonctionné ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1323
|
||||
msgid ""
|
||||
|
@ -2068,7 +2071,7 @@ msgstr ""
|
|||
"utilisée dans l'instruction d'affectation ; et que, deuxièmement, pour les "
|
||||
"listes, ``__iadd__`` équivaut à appeler ``extend`` sur la liste et à "
|
||||
"renvoyer celle-ci. C'est pour cette raison que l'on dit que pour les listes, "
|
||||
"``+=`` est un \"raccourci\" pour ``list.extend``::"
|
||||
"``+=`` est un \"raccourci\" pour ``list.extend`` ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1335
|
||||
msgid "This is equivalent to::"
|
||||
|
@ -2090,7 +2093,7 @@ msgstr ""
|
|||
msgid "Thus, in our tuple example what is happening is equivalent to::"
|
||||
msgstr ""
|
||||
"Donc, dans notre exemple avec un n-uplet, il se passe quelque chose "
|
||||
"équivalent à ::"
|
||||
"équivalent à ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1353
|
||||
msgid ""
|
||||
|
@ -2109,7 +2112,7 @@ msgid ""
|
|||
"Python?"
|
||||
msgstr ""
|
||||
"Je souhaite faire un classement compliqué : peut on faire une transformation "
|
||||
"de Schwartz en Python ?"
|
||||
"de Schwartz en Python ?"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1361
|
||||
msgid ""
|
||||
|
@ -2121,7 +2124,7 @@ msgstr ""
|
|||
"Cette technique, attribuée à Randal Schwartz de la communauté Perl, ordonne "
|
||||
"les éléments d'une liste à l'aide une transformation qui fait correspondre "
|
||||
"chaque élément à sa \"valeur de tri\". En Python, ceci est géré par "
|
||||
"l'argument ``key`` de la méthode :meth:`list.sort` ::"
|
||||
"l'argument ``key`` de la méthode :meth:`list.sort` ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1370
|
||||
msgid "How can I sort one list by values from another list?"
|
||||
|
@ -2165,7 +2168,7 @@ msgstr "Objets"
|
|||
|
||||
#: ../Doc/faq/programming.rst:1404
|
||||
msgid "What is a class?"
|
||||
msgstr "Qu'est-ce qu'une classe?"
|
||||
msgstr "Qu'est-ce qu'une classe ?"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1406
|
||||
msgid ""
|
||||
|
@ -2277,7 +2280,7 @@ msgid ""
|
|||
"just call it::"
|
||||
msgstr ""
|
||||
"Une meilleure approche est de définir une méthode ``search()`` dans toutes "
|
||||
"les classes et qu'il suffit d'appeler de la manière suivante ::"
|
||||
"les classes et qu'il suffit d'appeler de la manière suivante ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1479
|
||||
msgid "What is delegation?"
|
||||
|
@ -2344,7 +2347,7 @@ msgid ""
|
|||
"store local state for self without causing an infinite recursion."
|
||||
msgstr ""
|
||||
"La plupart des implémentations de :meth:`__setattr__` doivent modifier "
|
||||
"``self.__dict__`` pour stocker l'état locale de self sans provoquer une "
|
||||
"``self.__dict__`` pour stocker l'état local de self sans provoquer une "
|
||||
"récursion infinie."
|
||||
|
||||
#: ../Doc/faq/programming.rst:1525
|
||||
|
@ -2478,7 +2481,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/faq/programming.rst:1610
|
||||
msgid "In C++ you'd write"
|
||||
msgstr "In C++, on écrirait"
|
||||
msgstr "En C++, on écrirait"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1619
|
||||
msgid ""
|
||||
|
@ -2498,7 +2501,7 @@ msgstr ""
|
|||
msgid "You could also try a variable-length argument list, e.g. ::"
|
||||
msgstr ""
|
||||
"Vous pouvez aussi utiliser une liste d'arguments de longueur variable, par "
|
||||
"exemple ::"
|
||||
"exemple ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1636
|
||||
msgid "The same approach works for all method definitions."
|
||||
|
@ -2598,7 +2601,7 @@ msgstr ""
|
|||
"quand leur cycle de vie s'achève. Cette méthode ``close()`` peut alors "
|
||||
"supprimer les attributs qui référencent des sous-objets. Il vaut mieux ne "
|
||||
"pas appeler la méthode :meth:`__del__` directement, mais la méthode :meth:"
|
||||
"`__del__`devrait appeler la méthode ``close()`` et ``close()`` doit pouvoir "
|
||||
"`__del__` devrait appeler la méthode ``close()`` et ``close()`` doit pouvoir "
|
||||
"être appelée plusieurs fois sur le même objet."
|
||||
|
||||
#: ../Doc/faq/programming.rst:1681
|
||||
|
@ -2757,7 +2760,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Le module :mod:`py_compile` peut compiler n'importe quel module "
|
||||
"manuellement. Il est ainsi possible d'appeler la fonction ``compile()`` de "
|
||||
"manière interactive :"
|
||||
"manière interactive ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1773
|
||||
msgid ""
|
||||
|
@ -2779,7 +2782,7 @@ msgstr ""
|
|||
"Tous les fichiers d'un ou plusieurs dossiers peuvent aussi être compilés "
|
||||
"avec le module :mod:`compileall`. C'est possible depuis l'invite de commande "
|
||||
"en exécutant ``compileall.py`` avec le chemin du dossier contenant les "
|
||||
"fichiers Python à compiler ::"
|
||||
"fichiers Python à compiler ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1786
|
||||
msgid "How do I find the current module name?"
|
||||
|
@ -2798,7 +2801,7 @@ msgstr ""
|
|||
"programme est exécuté comme un script. Beaucoup de modules qui doivent "
|
||||
"normalement être importés pour pouvoir être utilisés fournissent aussi une "
|
||||
"interface en ligne de commande ou un test automatique. Ils n'exécutent cette "
|
||||
"portion du code qu'après avoir vérifié la valeur de ``__name__``::"
|
||||
"portion du code qu'après avoir vérifié la valeur de ``__name__`` ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1803
|
||||
msgid "How can I have modules that mutually import each other?"
|
||||
|
@ -2810,11 +2813,11 @@ msgstr "Considérons les modules suivants :"
|
|||
|
||||
#: ../Doc/faq/programming.rst:1807
|
||||
msgid "foo.py::"
|
||||
msgstr "*foo.py* ::"
|
||||
msgstr "*foo.py* ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1812
|
||||
msgid "bar.py::"
|
||||
msgstr "*bar.py* ::"
|
||||
msgstr "*bar.py* ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1817
|
||||
msgid "The problem is that the interpreter will perform the following steps:"
|
||||
|
@ -2937,7 +2940,8 @@ msgstr "Ces solutions peuvent être combinées."
|
|||
|
||||
#: ../Doc/faq/programming.rst:1858
|
||||
msgid "__import__('x.y.z') returns <module 'x'>; how do I get z?"
|
||||
msgstr "__import__('x.y.z') renvoie <module 'x'> ; comment accéder à z ?"
|
||||
msgstr ""
|
||||
"``__import__('x.y.z')`` renvoie ``<module 'x'>`` ; comment accéder à ``z`` ?"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1860
|
||||
msgid ""
|
||||
|
@ -2945,7 +2949,7 @@ msgid ""
|
|||
"from :mod:`importlib` instead::"
|
||||
msgstr ""
|
||||
"Utilisez plutôt la fonction :func:`~importlib.import_module` de :mod:"
|
||||
"`importlib` ::"
|
||||
"`importlib` ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1867
|
||||
msgid ""
|
||||
|
@ -2968,7 +2972,7 @@ msgstr ""
|
|||
"le cas, dans un programme composé d'un très grand nombre de modules qui "
|
||||
"importent tous le même module de base, ce module de base serait analysé et "
|
||||
"ré-analysé un très grand nombre de fois. Pour forcer la relecture d'un "
|
||||
"module, il faut faire ::"
|
||||
"module, il faut faire ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1879
|
||||
msgid ""
|
||||
|
@ -2986,9 +2990,9 @@ msgid ""
|
|||
"paradoxical behaviour::"
|
||||
msgstr ""
|
||||
"continuent de fonctionner avec l'ancienne version des objets importés. Si le "
|
||||
"module contient une définition de classe, le instances déjà existantes de "
|
||||
"module contient une définition de classe, les instances déjà existantes de "
|
||||
"celle-ci ne sont *pas* mises à jour avec la nouvelle définition de la "
|
||||
"classe. Ceci peut conduire au comportement paradoxal suivant :"
|
||||
"classe. Ceci peut conduire au comportement paradoxal suivant ::"
|
||||
|
||||
#: ../Doc/faq/programming.rst:1897
|
||||
msgid ""
|
||||
|
|
|
@ -302,7 +302,7 @@ msgid ""
|
|||
"it is typically installed in ``C:\\Windows\\System``. *NN* is the Python "
|
||||
"version, a number such as \"33\" for Python 3.3."
|
||||
msgstr ""
|
||||
"Ne compilez _pas_ Python directement dans votre fichier *.exe*. Sous "
|
||||
"Ne compilez **pas** Python directement dans votre fichier *.exe*. Sous "
|
||||
"Windows, Python doit être une DLL pour pouvoir importer des modules qui sont "
|
||||
"eux-mêmes des DLL (ceci constitue une information de première importance non "
|
||||
"documentée). Au lieu de cela faites un lien vers :file:`python{NN}.dll` qui "
|
||||
|
@ -363,8 +363,8 @@ msgstr ""
|
|||
"Python qui rendra les données et les méthodes de l'application disponibles "
|
||||
"pour Python. SWIG s'occupera de tous les détails ennuyeux pour vous. Le "
|
||||
"résultat est du code C que vous liez *dans* votre *fichier.exe* (!) Vous "
|
||||
"n'avez _pas_ besoin de créer un fichier DLL, et cela simplifie également la "
|
||||
"liaison."
|
||||
"n'avez **pas** besoin de créer un fichier DLL, et cela simplifie également "
|
||||
"la liaison."
|
||||
|
||||
#: ../Doc/faq/windows.rst:203
|
||||
msgid ""
|
||||
|
|
157
glossary.po
157
glossary.po
|
@ -69,7 +69,7 @@ msgid ""
|
|||
"reference`."
|
||||
msgstr ""
|
||||
"*2to3* est disponible dans la bibliothèque standard sous le nom de :mod:"
|
||||
"`lib2to3`; un point d’entrée indépendant est fourni via :file:`Tools/"
|
||||
"`lib2to3` ; un point d’entrée indépendant est fourni via :file:`Tools/"
|
||||
"scripts/2to3`. Cf. :ref:`2to3-reference`."
|
||||
|
||||
#: ../Doc/glossary.rst:29
|
||||
|
@ -113,7 +113,7 @@ msgid ""
|
|||
"parameter or return value, used by convention as a :term:`type hint`."
|
||||
msgstr ""
|
||||
"Étiquette associée à une variable, un attribut de classe, un paramètre de "
|
||||
"fonction ou une valeur de retour. Elle est utilisé par convention comme :"
|
||||
"fonction ou une valeur de retour. Elle est utilisée par convention comme :"
|
||||
"term:`type hint`."
|
||||
|
||||
#: ../Doc/glossary.rst:48
|
||||
|
@ -146,7 +146,7 @@ msgid ""
|
|||
"function. There are two kinds of argument:"
|
||||
msgstr ""
|
||||
"Valeur, donnée à une :term:`fonction` ou à une :term:`méthode` lors de son "
|
||||
"appel. Il existe deux types d'arguments :"
|
||||
"appel. Il existe deux types d'arguments :"
|
||||
|
||||
#: ../Doc/glossary.rst:61
|
||||
msgid ""
|
||||
|
@ -155,7 +155,7 @@ msgid ""
|
|||
"by ``**``. For example, ``3`` and ``5`` are both keyword arguments in the "
|
||||
"following calls to :func:`complex`::"
|
||||
msgstr ""
|
||||
":dfn:`argument nommé`: un argument précédé d'un identifiant (comme "
|
||||
":dfn:`argument nommé` : un argument précédé d'un identifiant (comme "
|
||||
"``name=``) ou un dictionnaire précédé de ``**``, lors d'un appel de "
|
||||
"fonction. Par exemple, ``3`` et ``5`` sont tous les deux des arguments "
|
||||
"nommés dans l'appel à :func:`complex` ici ::"
|
||||
|
@ -167,7 +167,7 @@ msgid ""
|
|||
"be passed as elements of an :term:`iterable` preceded by ``*``. For example, "
|
||||
"``3`` and ``5`` are both positional arguments in the following calls::"
|
||||
msgstr ""
|
||||
":dfn:`argument positionnel` : Un argument qui n'est pas nommé. Les arguments "
|
||||
":dfn:`argument positionnel` : un argument qui n'est pas nommé. Les arguments "
|
||||
"positionnels apparaissent au début de la liste des arguments, ou donnés sous "
|
||||
"forme d'un :term:`itérable` précédé par ``*``. Par exemple, ``3`` et ``5`` "
|
||||
"sont tous les deux des arguments positionnels dans les appels suivants ::"
|
||||
|
@ -191,9 +191,9 @@ msgid ""
|
|||
"difference between arguments and parameters <faq-argument-vs-parameter>`, "
|
||||
"and :pep:`362`."
|
||||
msgstr ""
|
||||
"Voir aussi :term:`parameter` dans le glossaire, la question :ref:"
|
||||
"`Différence entre argument et paramètre <faq-argument-vs-parameter>` de la "
|
||||
"FAQ et la :pep:`362`."
|
||||
"Voir aussi :term:`parameter` dans le glossaire, la question :ref:`Différence "
|
||||
"entre argument et paramètre <faq-argument-vs-parameter>` de la FAQ et la :"
|
||||
"pep:`362`."
|
||||
|
||||
#: ../Doc/glossary.rst:86
|
||||
msgid "asynchronous context manager"
|
||||
|
@ -275,7 +275,7 @@ msgstr ""
|
|||
"mémoire l'endroit et l'état de l'exécution (ce qui inclut les variables "
|
||||
"locales et les *try* en cours). Lorsque l'exécution de l'itérateur de "
|
||||
"générateur asynchrone reprend avec un nouvel *awaitable* renvoyé par :meth:"
|
||||
"`__anext__`, elle repart de là où elle s'était arrêtée. Voir la :pep:`492` "
|
||||
"`__anext__`, elle repart de là où elle s'était arrêtée. Voir la :pep:`492` "
|
||||
"et la :pep:`525`."
|
||||
|
||||
#: ../Doc/glossary.rst:119
|
||||
|
@ -335,9 +335,9 @@ msgid ""
|
|||
"term:`coroutine` or an object with an :meth:`__await__` method. See also :"
|
||||
"pep:`492`."
|
||||
msgstr ""
|
||||
"Objet pouvant être utilisé dans une expression :keyword:`await`. Peut être "
|
||||
"une :term:`coroutine` ou un objet avec une méthode :meth:`__await__`. Voir "
|
||||
"aussi la :pep:`492`."
|
||||
"Objet pouvant être utilisé dans une expression :keyword:`await`. Ce peut "
|
||||
"être une :term:`coroutine` ou un objet avec une méthode :meth:`__await__`. "
|
||||
"Voir aussi la :pep:`492`."
|
||||
|
||||
#: ../Doc/glossary.rst:141
|
||||
msgid "BDFL"
|
||||
|
@ -348,7 +348,7 @@ msgid ""
|
|||
"Benevolent Dictator For Life, a.k.a. `Guido van Rossum <https://gvanrossum."
|
||||
"github.io/>`_, Python's creator."
|
||||
msgstr ""
|
||||
"Dictateur bienveillant à vie (*Benevolent Dictator For Life* en anglais). "
|
||||
"Dictateur bienveillant à vie (*Benevolent Dictator For Life* en anglais). "
|
||||
"Pseudonyme de `Guido van Rossum <https://gvanrossum.github.io/>`_, le "
|
||||
"créateur de Python."
|
||||
|
||||
|
@ -410,7 +410,7 @@ msgstr ""
|
|||
"Certaines opérations nécessitent de travailler sur des données binaires "
|
||||
"variables. La documentation parle de ceux-ci comme des *read-write bytes-"
|
||||
"like objects*. Par exemple, :class:`bytearray` ou une :class:`memoryview` "
|
||||
"d'un :class:`bytearray` en font partie. D'autres opérations nécessitent de "
|
||||
"d'un :class:`bytearray` en font partie. D'autres opérations nécessitent de "
|
||||
"travailler sur des données binaires stockées dans des objets immuables (*"
|
||||
"\"read-only bytes-like objects\"*), par exemples :class:`bytes` ou :class:"
|
||||
"`memoryview` d'un objet :class:`byte`."
|
||||
|
@ -492,11 +492,11 @@ msgstr ""
|
|||
"opération dont les deux opérandes doivent être de même type. Par exemple "
|
||||
"``int(3.15)`` convertit explicitement le nombre à virgule flottante en "
|
||||
"nombre entier ``3``. Mais dans l'opération ``3 + 4.5``, les deux opérandes "
|
||||
"sont d'un type différent (Un entier et un nombre à virgule flottante), alors "
|
||||
"qu'elles doivent avoir le même type pour être additionnées (sinon une "
|
||||
"exception :exc:`TypeError` serait levée). Sans coercition, toutes les "
|
||||
"opérandes, même de types compatibles, devraient être converties (on parle "
|
||||
"aussi de *cast*) explicitement par le développeur, par exemple : ``float(3) "
|
||||
"sont d'un type différent (un entier et un nombre à virgule flottante), alors "
|
||||
"qu'ils doivent avoir le même type pour être additionnés (sinon une "
|
||||
"exception :exc:`TypeError` serait levée). Sans coercition, tous les "
|
||||
"opérandes, même de types compatibles, devraient être convertis (on parle "
|
||||
"aussi de *cast*) explicitement par le développeur, par exemple : ``float(3) "
|
||||
"+ 4.5`` au lieu du simple ``3 + 4.5``."
|
||||
|
||||
#: ../Doc/glossary.rst:206
|
||||
|
@ -520,7 +520,7 @@ msgstr ""
|
|||
"imaginaire. Les nombres imaginaires sont les nombres réels multipliés par "
|
||||
"l'unité imaginaire (la racine carrée de ``-1``, souvent écrite ``i`` en "
|
||||
"mathématiques ou ``j`` par les ingénieurs). Python comprend nativement les "
|
||||
"nombres complexes, écrits avec cette dernière notation : la partie "
|
||||
"nombres complexes, écrits avec cette dernière notation : la partie "
|
||||
"imaginaire est écrite avec un suffixe ``j``, exemple, ``3+1j``. Pour "
|
||||
"utiliser les équivalents complexes de :mod:`math`, utilisez :mod:`cmath`. "
|
||||
"Les nombres complexes sont un concept assez avancé en mathématiques. Si vous "
|
||||
|
@ -646,7 +646,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Fonction dont la valeur de retour est une autre fonction. Un décorateur est "
|
||||
"habituellement utilisé pour transformer une fonction via la syntaxe "
|
||||
"``@wrapper``, dont les exemples typiques sont : :func:`classmethod` et :func:"
|
||||
"``@wrapper``, dont les exemples typiques sont : :func:`classmethod` et :func:"
|
||||
"`staticmethod`."
|
||||
|
||||
#: ../Doc/glossary.rst:270
|
||||
|
@ -686,12 +686,12 @@ msgstr ""
|
|||
"N'importe quel objet définissant les méthodes :meth:`__get__`, :meth:"
|
||||
"`__set__`, ou :meth:`__delete__`. Lorsque l'attribut d'une classe est un "
|
||||
"descripteur, son comportement spécial est déclenché lors de la recherche des "
|
||||
"attributs. Normalement, lorsque vous écrivez *a.b* pour obtenir, affecter "
|
||||
"ou effacer un attribut, Python recherche l'objet nommé *b* dans le "
|
||||
"dictionnaire de la classe de *a*. Mais si *b* est un descripteur, c'est la "
|
||||
"méthode de ce descripteur qui est alors appelée. Comprendre les descripteurs "
|
||||
"est requis pour avoir une compréhension approfondie de Python, ils sont la "
|
||||
"base de nombre de ses caractéristiques notamment les fonctions, méthodes, "
|
||||
"attributs. Normalement, lorsque vous écrivez *a.b* pour obtenir, affecter ou "
|
||||
"effacer un attribut, Python recherche l'objet nommé *b* dans le dictionnaire "
|
||||
"de la classe de *a*. Mais si *b* est un descripteur, c'est la méthode de ce "
|
||||
"descripteur qui est alors appelée. Comprendre les descripteurs est requis "
|
||||
"pour avoir une compréhension approfondie de Python, ils sont la base de "
|
||||
"nombre de ses caractéristiques notamment les fonctions, méthodes, "
|
||||
"propriétés, méthodes de classes, méthodes statiques et les références aux "
|
||||
"classes parentes."
|
||||
|
||||
|
@ -747,8 +747,8 @@ msgid ""
|
|||
"the canonical place for documentation of the object."
|
||||
msgstr ""
|
||||
"Première chaîne littérale qui apparaît dans l'expression d'une classe, "
|
||||
"fonction, ou module. Bien qu'ignorée à l'exécution, elles est reconnue par "
|
||||
"le compilateur et placée dans l'attribut :attr:`__doc__` de la classe, de la "
|
||||
"fonction, ou module. Bien qu'ignorée à l'exécution, elle est reconnue par le "
|
||||
"compilateur et placée dans l'attribut :attr:`__doc__` de la classe, de la "
|
||||
"fonction ou du module. Comme cette chaîne est disponible par introspection, "
|
||||
"c'est l'endroit idéal pour documenter l'objet."
|
||||
|
||||
|
@ -868,9 +868,9 @@ msgstr ""
|
|||
"méthodes :meth:`read()` ou :meth:`write()`). En fonction de la manière dont "
|
||||
"il a été créé, un objet fichier peut interfacer l'accès à un fichier sur le "
|
||||
"disque ou à un autre type de stockage ou de communication (typiquement "
|
||||
"l'entrée standard, la sortie standard, un tampon en mémoire, une socket "
|
||||
"réseau, ...). Les objets fichiers sont aussi appelés :dfn:`file-like-"
|
||||
"objects` ou :dfn:`streams`."
|
||||
"l'entrée standard, la sortie standard, un tampon en mémoire, un connecteur "
|
||||
"réseau…). Les objets fichiers sont aussi appelés :dfn:`file-like-objects` "
|
||||
"ou :dfn:`streams`."
|
||||
|
||||
#: ../Doc/glossary.rst:365
|
||||
msgid ""
|
||||
|
@ -880,7 +880,7 @@ msgid ""
|
|||
"The canonical way to create a file object is by using the :func:`open` "
|
||||
"function."
|
||||
msgstr ""
|
||||
"Il existe en réalité trois catégories de fichiers objets : les :term:"
|
||||
"Il existe en réalité trois catégories de fichiers objets : les :term:"
|
||||
"`fichiers binaires <fichier binaire>` bruts, les :term:`fichiers binaires "
|
||||
"<fichier binaire>` avec tampon (*buffer*) et les :term:`fichiers textes "
|
||||
"<fichier texte>`. Leurs interfaces sont définies dans le module :mod:`io`. "
|
||||
|
@ -913,9 +913,9 @@ msgid ""
|
|||
"<meta path finder>` for use with :data:`sys.meta_path`, and :term:`path "
|
||||
"entry finders <path entry finder>` for use with :data:`sys.path_hooks`."
|
||||
msgstr ""
|
||||
"Depuis Python 3.3, il existe deux types de chercheurs : les :term:"
|
||||
"Depuis Python 3.3, il existe deux types de chercheurs : les :term:"
|
||||
"`chercheurs dans les méta-chemins <meta path finder>` à utiliser avec :data:"
|
||||
"`sys.meta_path` ; les :term:`chercheurs d'entrée dans path <path entry "
|
||||
"`sys.meta_path` ; les :term:`chercheurs d'entrée dans path <path entry "
|
||||
"finder>` à utiliser avec :data:`sys.path_hooks`."
|
||||
|
||||
#: ../Doc/glossary.rst:382
|
||||
|
@ -986,7 +986,7 @@ msgid ""
|
|||
"See :term:`variable annotation` and :pep:`484`, which describe this "
|
||||
"functionality."
|
||||
msgstr ""
|
||||
"Voir :term:`variable annotation` et :pep:` 484`, qui décrivent cette "
|
||||
"Voir :term:`variable annotation` et :pep:`484`, qui décrivent cette "
|
||||
"fonctionnalité."
|
||||
|
||||
#: ../Doc/glossary.rst:412
|
||||
|
@ -1275,7 +1275,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Liste de :term:`entrées <path entry>` dans lesquelles le :term:`chercheur "
|
||||
"basé sur les chemins <path based finder>` cherche les modules à importer. "
|
||||
"Typiquement, lors d'une importation, cette liste vient de :data:`sys.path` ; "
|
||||
"Typiquement, lors d'une importation, cette liste vient de :data:`sys.path` ; "
|
||||
"pour les sous-paquets, elle peut aussi venir de l'attribut ``__path__`` du "
|
||||
"paquet parent."
|
||||
|
||||
|
@ -1361,9 +1361,10 @@ msgstr ""
|
|||
"modules ou quelques structures de données internes. Il fait aussi quelques "
|
||||
"appels au :term:`ramasse-miettes`. Cela peut déclencher l'exécution de code "
|
||||
"dans des destructeurs ou des fonctions de rappels de *weakrefs*. Le code "
|
||||
"exécuté lors de l'arrêt peut rencontrer quelques exception puisque les "
|
||||
"ressources auxquelles il fait appel pourraient ne plus fonctionner, "
|
||||
"(typiquement les modules des bibliothèques ou le mécanisme de *warning*)."
|
||||
"exécuté lors de l'arrêt peut rencontrer des exceptions puisque les "
|
||||
"ressources auxquelles il fait appel sont susceptibles de ne plus "
|
||||
"fonctionner, (typiquement les modules des bibliothèques ou le mécanisme de "
|
||||
"*warning*)."
|
||||
|
||||
#: ../Doc/glossary.rst:573
|
||||
msgid ""
|
||||
|
@ -1406,14 +1407,14 @@ msgid ""
|
|||
msgstr ""
|
||||
"Les itérables peuvent être utilisés dans des boucles :keyword:`for` et à "
|
||||
"beaucoup d'autres endroits où une séquence est requise (:func:`zip`, :func:"
|
||||
"`map`, ...). Lorsqu'un itérable est passé comme argument à la fonction "
|
||||
"native :func:`iter`, celle-ci fournit en retour un itérateur sur cet "
|
||||
"itérable. Cet itérateur n'est valable que pour une seule passe sur le jeu de "
|
||||
"valeurs. Lors de l'utilisation d'itérables, il n'est habituellement pas "
|
||||
"nécessaire d'appeler :func:`iter` ou de s'occuper soi-même des objets "
|
||||
"itérateurs. L'instruction ``for`` le fait automatiquement pour vous, créant "
|
||||
"une variable temporaire anonyme pour garder l'itérateur durant la boucle. "
|
||||
"Voir aussi :term:`itérateur`, :term:`séquence` et :term:`générateur`."
|
||||
"`map`…). Lorsqu'un itérable est passé comme argument à la fonction native :"
|
||||
"func:`iter`, celle-ci fournit en retour un itérateur sur cet itérable. Cet "
|
||||
"itérateur n'est valable que pour une seule passe sur le jeu de valeurs. Lors "
|
||||
"de l'utilisation d'itérables, il n'est habituellement pas nécessaire "
|
||||
"d'appeler :func:`iter` ou de s'occuper soi-même des objets itérateurs. "
|
||||
"L'instruction ``for`` le fait automatiquement pour vous, créant une variable "
|
||||
"temporaire anonyme pour garder l'itérateur durant la boucle. Voir aussi :"
|
||||
"term:`itérateur`, :term:`séquence` et :term:`générateur`."
|
||||
|
||||
#: ../Doc/glossary.rst:594
|
||||
msgid "iterator"
|
||||
|
@ -1443,7 +1444,7 @@ msgstr ""
|
|||
"point, l'itérateur est épuisé et tous les appels suivants à sa méthode :meth:"
|
||||
"`__next__` lèveront encore une exception :exc:`StopIteration`. Les "
|
||||
"itérateurs doivent avoir une méthode :meth:`__iter__` qui renvoie l'objet "
|
||||
"itérateur lui même, de façon à ce que chaque itérateur soit aussi itérable "
|
||||
"itérateur lui-même, de façon à ce que chaque itérateur soit aussi itérable "
|
||||
"et puisse être utilisé dans la plupart des endroits où d'autres itérables "
|
||||
"sont attendus. Une exception notable est un code qui tente plusieurs "
|
||||
"itérations complètes. Un objet conteneur, (tel que :class:`list`) produit un "
|
||||
|
@ -1500,7 +1501,7 @@ msgstr ""
|
|||
"recherches insensibles à la casse. Aussi, il est possible de créer des "
|
||||
"fonctions clés avec des expressions :keyword:`lambda`, comme ``lambda r: "
|
||||
"(r[0], r[2])``. Vous noterez que le module :mod:`operator` propose des "
|
||||
"constructeurs de fonctions clefs : :func:`~operator.attrgetter`, :func:"
|
||||
"constructeurs de fonctions clefs : :func:`~operator.attrgetter`, :func:"
|
||||
"`~operator.itemgetter` et :func:`~operator.methodcaller`. Voir :ref:`Comment "
|
||||
"Trier <sortinghowto>` pour des exemples de création et d'utilisation de "
|
||||
"fonctions clefs."
|
||||
|
@ -1525,7 +1526,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Fonction anonyme sous la forme d'une :term:`expression` et ne contenant "
|
||||
"qu'une seule expression, exécutée lorsque la fonction est appelée. La "
|
||||
"syntaxe pour créer des fonctions lambda est: ``lambda [parameters]: "
|
||||
"syntaxe pour créer des fonctions lambda est : ``lambda [parameters]: "
|
||||
"expression``"
|
||||
|
||||
#: ../Doc/glossary.rst:641
|
||||
|
@ -1590,8 +1591,8 @@ msgstr ""
|
|||
"et renvoyer une liste contenant les résultats. ``result = ['{:#04x}'."
|
||||
"format(x) for x in range(256) if x % 2 == 0]`` génère la liste composée des "
|
||||
"nombres pairs de 0 à 255 écrits sous formes de chaînes de caractères et en "
|
||||
"hexadécimal (``0x``...). La clause :keyword:`if` est optionnelle. Si elle "
|
||||
"est omise, tous les éléments du ``range(256)`` seront utilisés."
|
||||
"hexadécimal (``0x…``). La clause :keyword:`if` est optionnelle. Si elle est "
|
||||
"omise, tous les éléments du ``range(256)`` seront utilisés."
|
||||
|
||||
#: ../Doc/glossary.rst:666
|
||||
msgid "loader"
|
||||
|
@ -1681,16 +1682,16 @@ msgstr ""
|
|||
"pour rôle de réunir ces trois paramètres pour construire la classe. La "
|
||||
"plupart des langages orientés objet fournissent une implémentation par "
|
||||
"défaut. La particularité de Python est la possibilité de créer des "
|
||||
"métaclasses personnalisées. La plupart des utilisateurs n'aura jamais besoin "
|
||||
"de cet outil, mais lorsque le besoin survient, les métaclasses offrent des "
|
||||
"solutions élégantes et puissantes. Elles sont utilisées pour journaliser les "
|
||||
"accès à des propriétés, rendre sûr les environnements *multi-threads*, "
|
||||
"suivre la création d'objets, implémenter des singletons et bien d'autres "
|
||||
"tâches."
|
||||
"métaclasses personnalisées. La plupart des utilisateurs n'auront jamais "
|
||||
"besoin de cet outil, mais lorsque le besoin survient, les métaclasses "
|
||||
"offrent des solutions élégantes et puissantes. Elles sont utilisées pour "
|
||||
"journaliser les accès à des propriétés, rendre sûrs les environnements "
|
||||
"*multi-threads*, suivre la création d'objets, implémenter des singletons et "
|
||||
"bien d'autres tâches."
|
||||
|
||||
#: ../Doc/glossary.rst:705
|
||||
msgid "More information can be found in :ref:`metaclasses`."
|
||||
msgstr "Plus d'informations sont disponibles dans : :ref:`metaclasses`."
|
||||
msgstr "Plus d'informations sont disponibles dans : :ref:`metaclasses`."
|
||||
|
||||
#: ../Doc/glossary.rst:706
|
||||
msgid "method"
|
||||
|
@ -1941,7 +1942,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Entité nommée dans la définition d'une :term:`fonction` (ou méthode), "
|
||||
"décrivant un :term:`argument` (ou dans certains cas des arguments) que la "
|
||||
"fonction accepte. Il existe cinq sortes de paramètres :"
|
||||
"fonction accepte. Il existe cinq sortes de paramètres :"
|
||||
|
||||
#: ../Doc/glossary.rst:802
|
||||
msgid ""
|
||||
|
@ -1950,7 +1951,7 @@ msgid ""
|
|||
"<argument>`. This is the default kind of parameter, for example *foo* and "
|
||||
"*bar* in the following::"
|
||||
msgstr ""
|
||||
":dfn:`positional-or-keyword`: l'argument peut être passé soit par sa :term:"
|
||||
":dfn:`positional-or-keyword` : l'argument peut être passé soit par sa :term:"
|
||||
"`position <argument>`, soit en tant que :term:`argument nommé <argument>`. "
|
||||
"C'est le type de paramètre par défaut. Par exemple, *foo* et *bar* dans "
|
||||
"l'exemple suivant ::"
|
||||
|
@ -1974,7 +1975,7 @@ msgid ""
|
|||
"definition before them, for example *kw_only1* and *kw_only2* in the "
|
||||
"following::"
|
||||
msgstr ""
|
||||
":dfn:`keyword-only`: l'argument ne peut être fourni que nommé. Les "
|
||||
":dfn:`keyword-only` : l'argument ne peut être fourni que nommé. Les "
|
||||
"paramètres *keyword-only* peuvent être définis en utilisant un seul "
|
||||
"paramètre *var-positional*, ou en ajoutant une étoile (``*``) seule dans la "
|
||||
"liste des paramètres avant eux. Par exemple, *kw_only1* et *kw_only2* dans "
|
||||
|
@ -1988,7 +1989,7 @@ msgid ""
|
|||
"prepending the parameter name with ``*``, for example *args* in the "
|
||||
"following::"
|
||||
msgstr ""
|
||||
":dfn:`var-positional`: une séquence d'arguments positionnels peut être "
|
||||
":dfn:`var-positional` : une séquence d'arguments positionnels peut être "
|
||||
"fournie (en plus de tous les arguments positionnels déjà acceptés par "
|
||||
"d'autres paramètres). Un tel paramètre peut être défini en préfixant son nom "
|
||||
"par une ``*``. Par exemple *args* ci-après ::"
|
||||
|
@ -2000,7 +2001,7 @@ msgid ""
|
|||
"parameters). Such a parameter can be defined by prepending the parameter "
|
||||
"name with ``**``, for example *kwargs* in the example above."
|
||||
msgstr ""
|
||||
":dfn:`var-keyword`: une quantité arbitraire d'arguments peut être passée, "
|
||||
":dfn:`var-keyword` : une quantité arbitraire d'arguments peut être passée, "
|
||||
"chacun étant nommé (en plus de tous les arguments nommés déjà acceptés par "
|
||||
"d'autres paramètres). Un tel paramètre est défini en préfixant le nom du "
|
||||
"paramètre par ``**``. Par exemple, *kwargs* ci-dessus."
|
||||
|
@ -2182,7 +2183,7 @@ msgstr ""
|
|||
"Une API provisoire est une API qui n'offre aucune garantie de "
|
||||
"rétrocompatibilité (la bibliothèque standard exige la rétrocompatibilité). "
|
||||
"Bien que des changements majeurs d'une telle interface ne soient pas "
|
||||
"attendus, tant qu'elle est étiquetée provisoire, des changement cassant la "
|
||||
"attendus, tant qu'elle est étiquetée provisoire, des changements cassant la "
|
||||
"rétrocompatibilité (y compris sa suppression complète) peuvent survenir si "
|
||||
"les développeurs principaux le jugent nécessaire. Ces modifications ne "
|
||||
"surviendront que si de sérieux problèmes sont découverts et qu'ils n'avaient "
|
||||
|
@ -2194,9 +2195,9 @@ msgid ""
|
|||
"\"solution of last resort\" - every attempt will still be made to find a "
|
||||
"backwards compatible resolution to any identified problems."
|
||||
msgstr ""
|
||||
"Même pour les API provisoires, les changement cassant la rétrocompatibilité "
|
||||
"sont considérées comme des \"solutions de dernier recours\". Tout ce qui est "
|
||||
"possible sera fait pour tenter de résoudre les problème en conservant la "
|
||||
"Même pour les API provisoires, les changements cassant la rétrocompatibilité "
|
||||
"sont considérés comme des \"solutions de dernier recours\". Tout ce qui est "
|
||||
"possible sera fait pour tenter de résoudre les problèmes en conservant la "
|
||||
"rétrocompatibilité."
|
||||
|
||||
#: ../Doc/glossary.rst:915
|
||||
|
@ -2280,7 +2281,7 @@ msgstr ""
|
|||
"Lorsqu'il est utilisé pour nommer des modules, le *nom qualifié complet* "
|
||||
"(*fully qualified name - FQN* en anglais) signifie le chemin complet (séparé "
|
||||
"par des points) vers le module, incluant tous les paquets parents. Par "
|
||||
"exemple : ``email.mime.text`` ::"
|
||||
"exemple : ``email.mime.text`` ::"
|
||||
|
||||
#: ../Doc/glossary.rst:968
|
||||
msgid "reference count"
|
||||
|
@ -2354,7 +2355,7 @@ msgstr ""
|
|||
":term:`itérable` qui offre un accès efficace à ses éléments par un indice "
|
||||
"sous forme de nombre entier via la méthode spéciale :meth:`__getitem__` et "
|
||||
"qui définit une méthode :meth:`__len__` donnant sa taille. Voici quelques "
|
||||
"séquences natives : :class:`list`, :class:`str`, :class:`tuple`, et :class:"
|
||||
"séquences natives : :class:`list`, :class:`str`, :class:`tuple`, et :class:"
|
||||
"`bytes`. Notez que :class:`dict` possède aussi une méthode :meth:"
|
||||
"`__getitem__` et une méthode :meth:`__len__`, mais il est considéré comme un "
|
||||
"*mapping* plutôt qu'une séquence, car ses accès se font par une clé "
|
||||
|
@ -2548,7 +2549,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/glossary.rst:1080
|
||||
msgid "could be made more readable like this::"
|
||||
msgstr "pourrait être rendu plus lisible comme ceci ::"
|
||||
msgstr "pourrait être rendu plus lisible comme ceci ::"
|
||||
|
||||
#: ../Doc/glossary.rst:1089 ../Doc/glossary.rst:1103
|
||||
msgid "See :mod:`typing` and :pep:`484`, which describe this functionality."
|
||||
|
@ -2572,8 +2573,8 @@ msgid ""
|
|||
"to static type analysis tools, and aid IDEs with code completion and "
|
||||
"refactoring."
|
||||
msgstr ""
|
||||
"Les indications de type sont facultatifs et ne sont pas indispensables à "
|
||||
"l'interpréteur Python, mais ils sont utiles aux outils d'analyse de type "
|
||||
"Les indications de type sont facultatives et ne sont pas indispensables à "
|
||||
"l'interpréteur Python, mais elles sont utiles aux outils d'analyse de type "
|
||||
"statique et aident les IDE à compléter et à réusiner (*code refactoring* en "
|
||||
"anglais) le code."
|
||||
|
||||
|
@ -2599,7 +2600,7 @@ msgid ""
|
|||
"splitlines` for an additional use."
|
||||
msgstr ""
|
||||
"Une manière d'interpréter des flux de texte dans lesquels sont reconnues "
|
||||
"toutes les fins de ligne suivantes : la convention Unix ``'\\n'``, la "
|
||||
"toutes les fins de ligne suivantes : la convention Unix ``'\\n'``, la "
|
||||
"convention Windows ``'\\r\\n'`` et l'ancienne convention Macintosh "
|
||||
"``'\\r'``. Voir la :pep:`278` et la :pep:`3116`, ainsi que la fonction :func:"
|
||||
"`bytes.splitlines` pour d'autres usages."
|
||||
|
@ -2617,7 +2618,7 @@ msgid ""
|
|||
"When annotating a variable or a class attribute, assignment is optional::"
|
||||
msgstr ""
|
||||
"Lorsque vous annotez une variable ou un attribut de classe, l'affectation "
|
||||
"est facultative ::"
|
||||
"est facultative ::"
|
||||
|
||||
#: ../Doc/glossary.rst:1120
|
||||
msgid ""
|
||||
|
@ -2626,7 +2627,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Les annotations de variables sont généralement utilisées pour des :term:"
|
||||
"`indications de types <type hint>` : par exemple, cette variable devrait "
|
||||
"prendre des valeurs de type :class:`int` ::"
|
||||
"prendre des valeurs de type :class:`int` ::"
|
||||
|
||||
#: ../Doc/glossary.rst:1126
|
||||
msgid "Variable annotation syntax is explained in section :ref:`annassign`."
|
||||
|
@ -2639,7 +2640,7 @@ msgid ""
|
|||
"See :term:`function annotation`, :pep:`484` and :pep:`526`, which describe "
|
||||
"this functionality."
|
||||
msgstr ""
|
||||
"Reportez-vous à :term:`function annotation`, à la :pep:` 484` et à la :pep:"
|
||||
"Reportez-vous à :term:`function annotation`, à la :pep:`484` et à la :pep:"
|
||||
"`526` qui décrivent cette fonctionnalité."
|
||||
|
||||
#: ../Doc/glossary.rst:1130
|
||||
|
|
|
@ -230,7 +230,7 @@ msgstr "Et on obtient :"
|
|||
#: ../Doc/howto/argparse.rst:178
|
||||
msgid "Now, how about doing something even more useful::"
|
||||
msgstr ""
|
||||
"À présent, que diriez-vous de faire quelque chose d'encore plus utile ::"
|
||||
"À présent, que diriez-vous de faire quelque chose d'encore plus utile ::"
|
||||
|
||||
#: ../Doc/howto/argparse.rst:196
|
||||
msgid ""
|
||||
|
@ -368,7 +368,7 @@ msgstr "Combinaison d'arguments positionnels et optionnels"
|
|||
|
||||
#: ../Doc/howto/argparse.rst:345
|
||||
msgid "Our program keeps growing in complexity::"
|
||||
msgstr "Notre programme continue de croître en complexité : ::"
|
||||
msgstr "Notre programme continue de croître en complexité ::"
|
||||
|
||||
#: ../Doc/howto/argparse.rst:360
|
||||
msgid "And now the output:"
|
||||
|
@ -605,7 +605,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Avant d'en finir, vous voudrez certainement dire à vos utilisateurs quel est "
|
||||
"le but principal de votre programme, juste dans le cas ou ils ne le "
|
||||
"sauraient pas : ::"
|
||||
"sauraient pas ::"
|
||||
|
||||
#: ../Doc/howto/argparse.rst:738
|
||||
msgid ""
|
||||
|
|
357
howto/clinic.po
357
howto/clinic.po
|
@ -17,7 +17,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/howto/clinic.rst:5
|
||||
msgid "Argument Clinic How-To"
|
||||
msgstr ""
|
||||
msgstr "Guide Argument Clinic"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:0
|
||||
msgid "author"
|
||||
|
@ -25,7 +25,7 @@ msgstr "auteur"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:7
|
||||
msgid "Larry Hastings"
|
||||
msgstr ""
|
||||
msgstr "Larry Hastings"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:None
|
||||
msgid "Abstract"
|
||||
|
@ -896,7 +896,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/howto/clinic.rst:578
|
||||
msgid "Renaming the C functions and variables generated by Argument Clinic"
|
||||
msgstr ""
|
||||
msgstr "Renommer les fonctions et variables C générées par Argument Clinic"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:580
|
||||
msgid ""
|
||||
|
@ -909,6 +909,14 @@ msgid ""
|
|||
"function, then add ``\"_impl\"`` to the end and use that for the name of the "
|
||||
"impl function."
|
||||
msgstr ""
|
||||
"Argument Clinic nomme automatiquement les fonctions qu'il génère. Parfois, "
|
||||
"cela peut poser des problèmes, si le nom généré entre en collision avec le "
|
||||
"nom d'une fonction C existante. Il y a une solution simple : surcharger les "
|
||||
"noms utilisés par les fonctions C. Ajoutez simplement le mot clef ``\"as\"`` "
|
||||
"sur la ligne de la déclaration de la fonction, suivi par le nom de la "
|
||||
"fonction que vous souhaitez utiliser. Argument Clinic utilisera ce nom de "
|
||||
"fonction pour la fonction de base (celle générée), et ajoutera ``\"_impl\"`` "
|
||||
"à la fin et utilisera ce nom pour la fonction ``impl``."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:588
|
||||
msgid ""
|
||||
|
@ -916,7 +924,7 @@ msgid ""
|
|||
"``pickle.Pickler.dump``, it'd look like this::"
|
||||
msgstr ""
|
||||
"Par exemple, si nous voulons renommer les noms de fonction C générés pour "
|
||||
"``pickle.Pickler.dump``, ça ressemblerait à ça :"
|
||||
"``pickle.Pickler.dump``, ça ressemblerait à ça ::"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:596
|
||||
msgid ""
|
||||
|
@ -936,13 +944,15 @@ msgstr ""
|
|||
"De même, vous pouvez avoir un problème quand vous souhaiterez donner à un "
|
||||
"paramètre un nom spécifique à Python, mais ce nom peut être gênant en C. "
|
||||
"Argument Clinic vous permet de donner à un paramètre des noms différents en "
|
||||
"Python et en C."
|
||||
"Python et en C ::"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:614
|
||||
msgid ""
|
||||
"Here, the name used in Python (in the signature and the ``keywords`` array) "
|
||||
"would be ``file``, but the C variable would be named ``file_obj``."
|
||||
msgstr ""
|
||||
"Ici, le nom utilisé en Python (dans la signature ainsi que le tableau des "
|
||||
"``keywords``) sera ``file``, et la variable C s'appellera ``file_obj``."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:617
|
||||
msgid "You can use this to rename the ``self`` parameter too!"
|
||||
|
@ -960,6 +970,12 @@ msgid ""
|
|||
"appropriate. All arguments should be marked positional-only (add a ``/`` on "
|
||||
"a line by itself after the last argument)."
|
||||
msgstr ""
|
||||
"Afin de convertir une fonction analysant ses arguments via :c:func:"
|
||||
"`PyArg_UnpackTuple`, écrivez simplement tous les arguments, en les "
|
||||
"spécifiant comme des ``object``. Vous pouvez spécifier également le ``type`` "
|
||||
"d'argument afin de le forcer au type approprié. Tous les arguments devraient "
|
||||
"être marqués comme seulement positionnels (ajoutez un ``/`` seul sur la "
|
||||
"ligne après le dernier argument)."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:629
|
||||
msgid ""
|
||||
|
@ -983,6 +999,14 @@ msgid ""
|
|||
"optional arguments back before :c:func:`PyArg_ParseTupleAndKeywords` was "
|
||||
"created."
|
||||
msgstr ""
|
||||
"Certaines fonctions de base ont une approche particulière pour analyser "
|
||||
"leurs arguments : elles comptent le nombre d'arguments positionnels, puis "
|
||||
"elles utilisent une condition ``switch`` basée sur le nombre d'arguments "
|
||||
"présents pour appeler différentes :c:func:`PyArg_ParseTuple` disponibles "
|
||||
"(ces fonctions ne peuvent pas avoir des arguments passés uniquement en tant "
|
||||
"qu'arguments nommés). Cette approche était utilisée pour simuler des "
|
||||
"arguments optionnels avant que :c:func:`PyArg_ParseTupleAndKeywords` ne soit "
|
||||
"créée."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:642
|
||||
msgid ""
|
||||
|
@ -997,6 +1021,17 @@ msgid ""
|
|||
"the function passing in ``x``, you must also pass in ``y``—and if you don't "
|
||||
"pass in ``x`` you may not pass in ``y`` either.)"
|
||||
msgstr ""
|
||||
"Alors que les fonctions utilisant cette approche peuvent normalement être "
|
||||
"converties pour utiliser :c:func:`PyArg_ParseTupleAndKeywords`, des "
|
||||
"arguments optionnels et des valeurs par défaut, ce n'est pas toujours "
|
||||
"possible. Certaines fonctions classiques ne peuvent pas être gérées par :c:"
|
||||
"func:`PyArg_ParseTupleAndKeywords`. L'exemple le plus évident est la "
|
||||
"fonction native ``range()``, qui possède un argument optionnel à *gauche* de "
|
||||
"ses arguments requis ! Un autre exemple est la fonction ``curses.window."
|
||||
"addch()``, qui possède un groupe de deux arguments qui doivent toujours être "
|
||||
"spécifiés ensemble (ces arguments s'appellent ``x`` et ``y`` ; si vous "
|
||||
"appelez la fonction en passant ``x``, vous devez passer ``y`` et si vous ne "
|
||||
"passez pas ``x``, vous ne devez pas passer ``y`` non plus)."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:654
|
||||
msgid ""
|
||||
|
@ -1007,6 +1042,14 @@ msgid ""
|
|||
"all be passed in together. They can be to the left or the right of the "
|
||||
"required arguments. They can *only* be used with positional-only parameters."
|
||||
msgstr ""
|
||||
"Dans tous les cas, le but d'Argument Clinic est de prendre en charge "
|
||||
"l'analyse des arguments pour toutes les fonctions natives de CPython sans "
|
||||
"avoir besoin de les modifier. C'est pourquoi Argument Clinic propose cette "
|
||||
"autre approche pour l'analyse, en utilisant ce qu'on appelle les *groupes "
|
||||
"optionnels*. Les groupes optionnels sont des groupes d'arguments qui doivent "
|
||||
"tous être transmis ensemble. Ils peuvent être situés à droite ou à gauche "
|
||||
"des arguments requis. Ils ne peuvent être utilisés *seulement* qu'en tant "
|
||||
"que paramètres positionnels."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:662
|
||||
msgid ""
|
||||
|
@ -1018,6 +1061,14 @@ msgid ""
|
|||
"doesn't understand the concept. Please avoid using optional groups wherever "
|
||||
"possible."
|
||||
msgstr ""
|
||||
"Les groupes optionnels sont *uniquement* prévus pour convertir les fonctions "
|
||||
"faisant des appels multiples à :c:func:`PyArg_ParseTuple` ! Les fonctions "
|
||||
"qui utilisent *au moins une* des autres approches ne doivent *presque "
|
||||
"jamais* être converties à Argument Clinic en utilisant les groupes "
|
||||
"optionnels. Les fonctions utilisant ces groupes n'ont pas actuellement de "
|
||||
"signature précise en Python, parce que celui-ci ne peut simplement pas "
|
||||
"comprendre ce concept. Tâchez d'éviter au maximum d'utiliser ces groupes "
|
||||
"optionnels si possible."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:671
|
||||
msgid ""
|
||||
|
@ -1027,6 +1078,11 @@ msgid ""
|
|||
"optional groups to make the first two parameters and the last parameter "
|
||||
"optional::"
|
||||
msgstr ""
|
||||
"Afin de signaler un groupe optionnel, ajoutez un ``[`` seul sur une ligne "
|
||||
"avant les paramètres que vous souhaitez inclure dans le groupe, puis un "
|
||||
"``]`` seul sur une ligne après ces paramètres. Voici, par exemple, comment "
|
||||
"``curses.window.addch`` utilise les groupes optionnels pour rendre optionnel "
|
||||
"les deux premiers paramètres ainsi que le dernier :"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:700
|
||||
msgid "Notes:"
|
||||
|
@ -1044,6 +1100,16 @@ msgid ""
|
|||
"was unused, and set to non-zero if this group was used. (By used or unused, "
|
||||
"I mean whether or not the parameters received arguments in this invocation.)"
|
||||
msgstr ""
|
||||
"Pour chaque groupe optionnel, un paramètre additionnel sera passé à la "
|
||||
"fonction ``impl`` représentant le groupe. Ce paramètre sera un entier nommé "
|
||||
"``group_{direction}_{number}``, où ``{direction}`` peut être soit ``right`` "
|
||||
"ou ``left`` suivant que le groupe est situé avant ou après les paramètres "
|
||||
"requis, et ``{number}`` sera un entier incrémenté (débutant à 1) indiquant "
|
||||
"la distance entre le groupe et les paramètres requis. Quand la fonction "
|
||||
"``impl`` est appelée, ce paramètre est positionné à zéro si le groupe n'a "
|
||||
"pas été utilisé, et positionné à un nombre entier positif sinon (par "
|
||||
"inutilisé, on entend que les paramètres n'ont pas reçu de valeur lors de cet "
|
||||
"appel)."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:713
|
||||
msgid ""
|
||||
|
@ -1058,10 +1124,13 @@ msgid ""
|
|||
"In the case of ambiguity, the argument parsing code favors parameters on the "
|
||||
"left (before the required parameters)."
|
||||
msgstr ""
|
||||
"En cas d'ambiguïté, le code d'analyse des arguments favorise ceux situés à "
|
||||
"gauche (avant les paramètres obligatoires)."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:719
|
||||
msgid "Optional groups can only contain positional-only parameters."
|
||||
msgstr ""
|
||||
"Les groupes optionnels ne peuvent contenir que des arguments positionnels."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:721
|
||||
msgid ""
|
||||
|
@ -1074,6 +1143,8 @@ msgstr ""
|
|||
#: ../Doc/howto/clinic.rst:726
|
||||
msgid "Using real Argument Clinic converters, instead of \"legacy converters\""
|
||||
msgstr ""
|
||||
"Utilisation des adaptateurs d'Argument Clinic, en lieu et place des "
|
||||
"« adaptateurs de base »"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:728
|
||||
msgid ""
|
||||
|
@ -1083,17 +1154,25 @@ msgid ""
|
|||
"explicitly to make porting existing code to Argument Clinic easier. And to "
|
||||
"be clear, their use is acceptable when porting code for Python 3.4."
|
||||
msgstr ""
|
||||
"Afin de gagner du temps, et pour minimiser la courbe d'apprentissage pour "
|
||||
"pouvoir utiliser Argument Clinic, le guide ci-dessus préconise les "
|
||||
"« adaptateurs de base ». Ceux-ci sont un moyen simple conçu pour porter "
|
||||
"facilement du code existant sous Argument Clinic. Et pour être clair, leur "
|
||||
"utilisation est tout à fait acceptable pour porter du code Python 3.4."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:735
|
||||
msgid ""
|
||||
"However, in the long term we probably want all our blocks to use Argument "
|
||||
"Clinic's real syntax for converters. Why? A couple reasons:"
|
||||
msgstr ""
|
||||
"Cependant, sur le long terme, il est certainement préférable que tous vos "
|
||||
"blocs utilisent la syntaxe réelle des adaptateurs d'Argument Clinic. "
|
||||
"Pourquoi ? Voici quelques raisons :"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:739
|
||||
msgid ""
|
||||
"The proper converters are far easier to read and clearer in their intent."
|
||||
msgstr ""
|
||||
msgstr "Les adaptateurs sont plus simples et plus clairs."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:740
|
||||
msgid ""
|
||||
|
@ -1101,6 +1180,9 @@ msgid ""
|
|||
"because they require arguments, and the legacy converter syntax doesn't "
|
||||
"support specifying arguments."
|
||||
msgstr ""
|
||||
"Il existe des formats qui ne sont pas gérés par les « adaptateurs de base », "
|
||||
"parce qu'ils nécessitent des arguments, et la syntaxe de ces adaptateurs ne "
|
||||
"supporte pas cela."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:743
|
||||
msgid ""
|
||||
|
@ -1108,12 +1190,18 @@ msgid ""
|
|||
"restricted to what :c:func:`PyArg_ParseTuple` supports; this flexibility "
|
||||
"won't be available to parameters using legacy converters."
|
||||
msgstr ""
|
||||
"Dans le futur, on pourrait avoir une nouvelle bibliothèque d'analyse des "
|
||||
"arguments qui ne serait pas limitée à ce que :c:func:`PyArg_ParseTuple` "
|
||||
"accepte ; cette flexibilité ne serait pas accessible aux paramètres "
|
||||
"utilisant des adaptateurs de base."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:747
|
||||
msgid ""
|
||||
"Therefore, if you don't mind a little extra effort, please use the normal "
|
||||
"converters instead of legacy converters."
|
||||
msgstr ""
|
||||
"Ainsi, si vous n'êtes pas contre un petit effort supplémentaire, vous "
|
||||
"devriez utiliser les adaptateurs normaux plutôt que ceux de base."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:750
|
||||
msgid ""
|
||||
|
@ -1122,16 +1210,22 @@ msgid ""
|
|||
"the function (all functions take their default values), you may omit the "
|
||||
"parentheses. Thus ``bool`` and ``bool()`` are exactly the same converters."
|
||||
msgstr ""
|
||||
"En bref, la syntaxe des adaptateurs d'Argument Clinic ressemble à un appel "
|
||||
"de fonction Python. Mais, s'il n'y a pas d'argument explicite à la fonction "
|
||||
"(celle-ci utilisant ses valeurs par défaut), vous pouvez omettre les "
|
||||
"parenthèses. Ainsi ``bool`` et ``bool()`` représentent le même adaptateur."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:756
|
||||
msgid ""
|
||||
"All arguments to Argument Clinic converters are keyword-only. All Argument "
|
||||
"Clinic converters accept the following arguments:"
|
||||
msgstr ""
|
||||
"Tous les arguments passés aux adaptateurs d'Argument Clinic sont nommés. "
|
||||
"Tous les adaptateurs d'Argument Clinic acceptent les arguments suivants :"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:764 ../Doc/howto/clinic.rst:1246
|
||||
msgid "``c_default``"
|
||||
msgstr ""
|
||||
msgstr "``c_default``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:760
|
||||
msgid ""
|
||||
|
@ -1140,10 +1234,15 @@ msgid ""
|
|||
"\". See :ref:`the section on default values <default_values>` for how to "
|
||||
"use this. Specified as a string."
|
||||
msgstr ""
|
||||
"La valeur par défaut de cet argument lorsqu'il est défini en C. Typiquement, "
|
||||
"il servira à initialiser la variable déclarée dans la « fonction "
|
||||
"d'analyse ». Voir la section relative aux :ref:`valeurs par défaut "
|
||||
"<default_values>` pour apprendre à l'utiliser. Spécifié en tant que chaîne "
|
||||
"de caractères."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:769
|
||||
msgid "``annotation``"
|
||||
msgstr ""
|
||||
msgstr "``annotation``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:767
|
||||
msgid ""
|
||||
|
@ -1156,10 +1255,12 @@ msgid ""
|
|||
"In addition, some converters accept additional arguments. Here is a list of "
|
||||
"these arguments, along with their meanings:"
|
||||
msgstr ""
|
||||
"De plus, certains adaptateurs acceptent des arguments additionnels. Voici la "
|
||||
"liste de ces arguments, avec leur explication :"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:780
|
||||
msgid "``accept``"
|
||||
msgstr ""
|
||||
msgstr "``accept``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:775
|
||||
msgid ""
|
||||
|
@ -1168,14 +1269,18 @@ msgid ""
|
|||
"purpose facility; as a rule it only supports specific lists of types as "
|
||||
"shown in the legacy converter table.)"
|
||||
msgstr ""
|
||||
"Un ensemble de types Python (et potentiellement des pseudo-types) ; cela "
|
||||
"restreint l'argument Python autorisé aux valeurs de ces types (ce n'est pas "
|
||||
"destiné à une utilisation généralisée ; en fait, il gère seulement les types "
|
||||
"listés dans la table des adaptateurs de base)."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:780
|
||||
msgid "To accept ``None``, add ``NoneType`` to this set."
|
||||
msgstr ""
|
||||
msgstr "Pour accepter ``None``, ajouter ``NoneType`` à cet ensemble."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:785
|
||||
msgid "``bitwise``"
|
||||
msgstr ""
|
||||
msgstr "``bitwise``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:783
|
||||
msgid ""
|
||||
|
@ -1183,10 +1288,13 @@ msgid ""
|
|||
"Python argument will be written to the parameter without any range checking, "
|
||||
"even for negative values."
|
||||
msgstr ""
|
||||
"Autorisé seulement pour les entiers non signés. La valeur native de cet "
|
||||
"argument Python sera transcrite dans le paramètre sans aucune vérification "
|
||||
"de plage, même pour des valeurs négatives."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:790 ../Doc/howto/clinic.rst:1260
|
||||
msgid "``converter``"
|
||||
msgstr ""
|
||||
msgstr "``converter``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:788
|
||||
msgid ""
|
||||
|
@ -1194,6 +1302,9 @@ msgid ""
|
|||
"\"converter function\" <o_ampersand>` to use to convert this object to a "
|
||||
"native type."
|
||||
msgstr ""
|
||||
"Autorisé seulement pour l'adaptateur ``object``. Spécifie le nom d'une :ref:"
|
||||
"`« fonction de conversion » depuis C <o_ampersand>` à utiliser pour "
|
||||
"convertir cet objet en type natif."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:795
|
||||
msgid "``encoding``"
|
||||
|
@ -1204,16 +1315,21 @@ msgid ""
|
|||
"Only supported for strings. Specifies the encoding to use when converting "
|
||||
"this string from a Python str (Unicode) value into a C ``char *`` value."
|
||||
msgstr ""
|
||||
"Autorisé seulement pour les chaînes de caractères. Spécifie l'encodage à "
|
||||
"utiliser lors de la conversion de cette chaîne depuis une valeur de type "
|
||||
"Python ``str`` (Unicode) en valeur C ``char *``."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:799
|
||||
msgid "``subclass_of``"
|
||||
msgstr ""
|
||||
msgstr "``subclass_of``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:798
|
||||
msgid ""
|
||||
"Only supported for the ``object`` converter. Requires that the Python value "
|
||||
"be a subclass of a Python type, as expressed in C."
|
||||
msgstr ""
|
||||
"Autorisé seulement pour l'adaptateur ``object``. Nécessite que la valeur "
|
||||
"Python soit une sous-classe d'un type Python, telle qu'exprimée en C."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:804 ../Doc/howto/clinic.rst:1232
|
||||
msgid "``type``"
|
||||
|
@ -1225,10 +1341,13 @@ msgid ""
|
|||
"type that will be used to declare the variable. Default value is ``"
|
||||
"\"PyObject *\"``."
|
||||
msgstr ""
|
||||
"Autorisé seulement pour les adaptateurs ``object`` et ``self``. Spécifie le "
|
||||
"type C qui sera utilisé pour déclarer la variable. La valeur par défaut est "
|
||||
"``\"PyObject *\"``."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:810
|
||||
msgid "``zeroes``"
|
||||
msgstr ""
|
||||
msgstr "``zeroes``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:807
|
||||
msgid ""
|
||||
|
@ -1237,6 +1356,10 @@ msgid ""
|
|||
"the impl function, just after the string parameter, as a parameter named "
|
||||
"``<parameter_name>_length``."
|
||||
msgstr ""
|
||||
"Autorisé seulement pour les chaînes de caractères. Si vrai, les octets NUL "
|
||||
"(``'\\\\0'``) sont permis au sein de la valeur. La taille de la chaîne sera "
|
||||
"passée à la fonction ``impl``, juste après le paramètre chaîne, en tant que "
|
||||
"paramètre nommé ``<parameter_name>_length``."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:812
|
||||
msgid ""
|
||||
|
@ -1248,6 +1371,14 @@ msgid ""
|
|||
"any existing format unit. So Argument Clinic doesn't support it. (Or, at "
|
||||
"least, not yet.)"
|
||||
msgstr ""
|
||||
"Attention de bien noter que toutes les combinaisons d'arguments ne "
|
||||
"fonctionnent pas. Normalement, ces arguments sont mis en place via des "
|
||||
"*formats* ``PyArg_ParseTuple`` au comportement spécifique. Par exemple, à "
|
||||
"l'heure actuelle vous ne pouvez pas appeler ``unsigned_short`` sans "
|
||||
"spécifier également ``bitwise=True``. Bien qu'il soit parfaitement "
|
||||
"raisonnable de penser que ça puisse fonctionner, cette écriture ne "
|
||||
"correspond à aucun format. Donc Argument Clinic ne le gère pas (en tous cas, "
|
||||
"pas pour le moment)."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:820
|
||||
msgid ""
|
||||
|
@ -1255,6 +1386,9 @@ msgid ""
|
|||
"Clinic converters. On the left is the legacy converter, on the right is the "
|
||||
"text you'd replace it with."
|
||||
msgstr ""
|
||||
"Vous pouvez voir, ci-dessous, une table présentant la correspondance entre "
|
||||
"les adaptateurs de base et ceux d'Argument Clinic. À gauche, sont listés les "
|
||||
"adaptateurs de base et, à droite, le texte qui les remplace."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:825
|
||||
msgid "``'B'``"
|
||||
|
@ -1262,7 +1396,7 @@ msgstr "``'B'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:825
|
||||
msgid "``unsigned_char(bitwise=True)``"
|
||||
msgstr ""
|
||||
msgstr "``unsigned_char(bitwise=True)``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:826
|
||||
msgid "``'b'``"
|
||||
|
@ -1270,7 +1404,7 @@ msgstr "``'b'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:826
|
||||
msgid "``unsigned_char``"
|
||||
msgstr ""
|
||||
msgstr "``unsigned_char``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:827
|
||||
msgid "``'c'``"
|
||||
|
@ -1278,15 +1412,15 @@ msgstr "``'c'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:827
|
||||
msgid "``char``"
|
||||
msgstr ""
|
||||
msgstr "``char``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:828
|
||||
msgid "``'C'``"
|
||||
msgstr ""
|
||||
msgstr "``'C'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:828
|
||||
msgid "``int(accept={str})``"
|
||||
msgstr ""
|
||||
msgstr "``int(accept={str})``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:829
|
||||
msgid "``'d'``"
|
||||
|
@ -1294,7 +1428,7 @@ msgstr "``'d'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:829
|
||||
msgid "``double``"
|
||||
msgstr ""
|
||||
msgstr "``double``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:830
|
||||
msgid "``'D'``"
|
||||
|
@ -1302,41 +1436,43 @@ msgstr "``'D'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:830
|
||||
msgid "``Py_complex``"
|
||||
msgstr ""
|
||||
msgstr "``Py_complex``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:831
|
||||
msgid "``'es'``"
|
||||
msgstr ""
|
||||
msgstr "``'es'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:831
|
||||
msgid "``str(encoding='name_of_encoding')``"
|
||||
msgstr ""
|
||||
msgstr "``str(encoding='name_of_encoding')``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:832
|
||||
msgid "``'es#'``"
|
||||
msgstr ""
|
||||
msgstr "``'es#'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:832
|
||||
msgid "``str(encoding='name_of_encoding', zeroes=True)``"
|
||||
msgstr ""
|
||||
msgstr "``str(encoding='name_of_encoding', zeroes=True)``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:833
|
||||
msgid "``'et'``"
|
||||
msgstr ""
|
||||
msgstr "``'et'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:833
|
||||
msgid "``str(encoding='name_of_encoding', accept={bytes, bytearray, str})``"
|
||||
msgstr ""
|
||||
msgstr "``str(encoding='name_of_encoding', accept={bytes, bytearray, str})``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:834
|
||||
msgid "``'et#'``"
|
||||
msgstr ""
|
||||
msgstr "``'et#'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:834
|
||||
msgid ""
|
||||
"``str(encoding='name_of_encoding', accept={bytes, bytearray, str}, "
|
||||
"zeroes=True)``"
|
||||
msgstr ""
|
||||
"``str(encoding='name_of_encoding', accept={bytes, bytearray, str}, "
|
||||
"zeroes=True)``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:835
|
||||
msgid "``'f'``"
|
||||
|
@ -1344,7 +1480,7 @@ msgstr "``'f'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:835
|
||||
msgid "``float``"
|
||||
msgstr ""
|
||||
msgstr "``float``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:836
|
||||
msgid "``'h'``"
|
||||
|
@ -1352,7 +1488,7 @@ msgstr "``'h'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:836
|
||||
msgid "``short``"
|
||||
msgstr ""
|
||||
msgstr "``short``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:837
|
||||
msgid "``'H'``"
|
||||
|
@ -1360,7 +1496,7 @@ msgstr "``'H'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:837
|
||||
msgid "``unsigned_short(bitwise=True)``"
|
||||
msgstr ""
|
||||
msgstr "``unsigned_short(bitwise=True)``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:838
|
||||
msgid "``'i'``"
|
||||
|
@ -1376,23 +1512,23 @@ msgstr "``'I'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:839
|
||||
msgid "``unsigned_int(bitwise=True)``"
|
||||
msgstr ""
|
||||
msgstr "``unsigned_int(bitwise=True)``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:840
|
||||
msgid "``'k'``"
|
||||
msgstr ""
|
||||
msgstr "``'k'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:840
|
||||
msgid "``unsigned_long(bitwise=True)``"
|
||||
msgstr ""
|
||||
msgstr "``unsigned_long(bitwise=True)``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:841
|
||||
msgid "``'K'``"
|
||||
msgstr ""
|
||||
msgstr "``'K'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:841
|
||||
msgid "``unsigned_long_long(bitwise=True)``"
|
||||
msgstr ""
|
||||
msgstr "``unsigned_long_long(bitwise=True)``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:842
|
||||
msgid "``'l'``"
|
||||
|
@ -1408,7 +1544,7 @@ msgstr "``'L'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:843
|
||||
msgid "``long long``"
|
||||
msgstr ""
|
||||
msgstr "``long long``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:844
|
||||
msgid "``'n'``"
|
||||
|
@ -1416,39 +1552,39 @@ msgstr "``'n'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:844
|
||||
msgid "``Py_ssize_t``"
|
||||
msgstr ""
|
||||
msgstr "``Py_ssize_t``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:845
|
||||
msgid "``'O'``"
|
||||
msgstr ""
|
||||
msgstr "``'O'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:845
|
||||
msgid "``object``"
|
||||
msgstr ""
|
||||
msgstr "``object``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:846
|
||||
msgid "``'O!'``"
|
||||
msgstr ""
|
||||
msgstr "``'O!'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:846
|
||||
msgid "``object(subclass_of='&PySomething_Type')``"
|
||||
msgstr ""
|
||||
msgstr "``object(subclass_of='&PySomething_Type')``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:847
|
||||
msgid "``'O&'``"
|
||||
msgstr ""
|
||||
msgstr "``'O&'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:847
|
||||
msgid "``object(converter='name_of_c_function')``"
|
||||
msgstr ""
|
||||
msgstr "``object(converter='name_of_c_function')``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:848
|
||||
msgid "``'p'``"
|
||||
msgstr ""
|
||||
msgstr "``'p'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:848
|
||||
msgid "``bool``"
|
||||
msgstr ""
|
||||
msgstr "``bool``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:849
|
||||
msgid "``'S'``"
|
||||
|
@ -1456,7 +1592,7 @@ msgstr "``'S'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:849
|
||||
msgid "``PyBytesObject``"
|
||||
msgstr ""
|
||||
msgstr "``PyBytesObject``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:850
|
||||
msgid "``'s'``"
|
||||
|
@ -1464,23 +1600,23 @@ msgstr "``'s'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:850
|
||||
msgid "``str``"
|
||||
msgstr ""
|
||||
msgstr "``str``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:851
|
||||
msgid "``'s#'``"
|
||||
msgstr ""
|
||||
msgstr "``'s#'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:851
|
||||
msgid "``str(zeroes=True)``"
|
||||
msgstr ""
|
||||
msgstr "``str(zeroes=True)``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:852
|
||||
msgid "``'s*'``"
|
||||
msgstr ""
|
||||
msgstr "``'s*'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:852
|
||||
msgid "``Py_buffer(accept={buffer, str})``"
|
||||
msgstr ""
|
||||
msgstr "``Py_buffer(accept={buffer, str})``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:853
|
||||
msgid "``'U'``"
|
||||
|
@ -1488,7 +1624,7 @@ msgstr "``'U'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:853
|
||||
msgid "``unicode``"
|
||||
msgstr ""
|
||||
msgstr "``unicode``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:854
|
||||
msgid "``'u'``"
|
||||
|
@ -1496,101 +1632,103 @@ msgstr "``'u'``"
|
|||
|
||||
#: ../Doc/howto/clinic.rst:854
|
||||
msgid "``Py_UNICODE``"
|
||||
msgstr ""
|
||||
msgstr "``Py_UNICODE``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:855
|
||||
msgid "``'u#'``"
|
||||
msgstr ""
|
||||
msgstr "``'u#'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:855
|
||||
msgid "``Py_UNICODE(zeroes=True)``"
|
||||
msgstr ""
|
||||
msgstr "``Py_UNICODE(zeroes=True)``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:856
|
||||
msgid "``'w*'``"
|
||||
msgstr ""
|
||||
msgstr "``'w*'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:856
|
||||
msgid "``Py_buffer(accept={rwbuffer})``"
|
||||
msgstr ""
|
||||
msgstr "``Py_buffer(accept={rwbuffer})``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:857
|
||||
msgid "``'Y'``"
|
||||
msgstr ""
|
||||
msgstr "``'Y'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:857
|
||||
msgid "``PyByteArrayObject``"
|
||||
msgstr ""
|
||||
msgstr "``PyByteArrayObject``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:858
|
||||
msgid "``'y'``"
|
||||
msgstr ""
|
||||
msgstr "``'y'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:858
|
||||
msgid "``str(accept={bytes})``"
|
||||
msgstr ""
|
||||
msgstr "``str(accept={bytes})``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:859
|
||||
msgid "``'y#'``"
|
||||
msgstr ""
|
||||
msgstr "``'y#'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:859
|
||||
msgid "``str(accept={robuffer}, zeroes=True)``"
|
||||
msgstr ""
|
||||
msgstr "``str(accept={robuffer}, zeroes=True)``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:860
|
||||
msgid "``'y*'``"
|
||||
msgstr ""
|
||||
msgstr "``'y*'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:860
|
||||
msgid "``Py_buffer``"
|
||||
msgstr ""
|
||||
msgstr "``Py_buffer``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:861
|
||||
msgid "``'Z'``"
|
||||
msgstr ""
|
||||
msgstr "``'Z'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:861
|
||||
msgid "``Py_UNICODE(accept={str, NoneType})``"
|
||||
msgstr ""
|
||||
msgstr "``Py_UNICODE(accept={str, NoneType})``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:862
|
||||
msgid "``'Z#'``"
|
||||
msgstr ""
|
||||
msgstr "``'Z#'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:862
|
||||
msgid "``Py_UNICODE(accept={str, NoneType}, zeroes=True)``"
|
||||
msgstr ""
|
||||
msgstr "``Py_UNICODE(accept={str, NoneType}, zeroes=True)``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:863
|
||||
msgid "``'z'``"
|
||||
msgstr ""
|
||||
msgstr "``'z'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:863
|
||||
msgid "``str(accept={str, NoneType})``"
|
||||
msgstr ""
|
||||
msgstr "``str(accept={str, NoneType})``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:864
|
||||
msgid "``'z#'``"
|
||||
msgstr ""
|
||||
msgstr "``'z#'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:864
|
||||
msgid "``str(accept={str, NoneType}, zeroes=True)``"
|
||||
msgstr ""
|
||||
msgstr "``str(accept={str, NoneType}, zeroes=True)``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:865
|
||||
msgid "``'z*'``"
|
||||
msgstr ""
|
||||
msgstr "``'z*'``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:865
|
||||
msgid "``Py_buffer(accept={buffer, str, NoneType})``"
|
||||
msgstr ""
|
||||
msgstr "``Py_buffer(accept={buffer, str, NoneType})``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:868
|
||||
msgid ""
|
||||
"As an example, here's our sample ``pickle.Pickler.dump`` using the proper "
|
||||
"converter::"
|
||||
msgstr ""
|
||||
"Par exemple, voici notre code ``pickle.Pickler.dump`` via l'adaptateur "
|
||||
"approprié ::"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:881
|
||||
msgid ""
|
||||
|
@ -1599,10 +1737,14 @@ msgid ""
|
|||
"default value for each parameter. Just run ``Tools/clinic/clinic.py --"
|
||||
"converters`` to see the full list."
|
||||
msgstr ""
|
||||
"Argument Clinic sait lister tous les adaptateurs disponibles. Pour chaque "
|
||||
"adaptateur, il vous liste également l'ensemble des paramètres qu'ils "
|
||||
"acceptent, ainsi que les valeurs par défaut de chacun. Utilisez simplement "
|
||||
"la commande ``Tools/clinic/clinic.py --converters`` pour afficher la liste."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:887
|
||||
msgid "Py_buffer"
|
||||
msgstr ""
|
||||
msgstr "Py_buffer"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:889
|
||||
msgid ""
|
||||
|
@ -1611,16 +1753,23 @@ msgid ""
|
|||
"`PyBuffer_Release` on the provided buffer. Argument Clinic generates code "
|
||||
"that does it for you (in the parsing function)."
|
||||
msgstr ""
|
||||
"Lorsque vous utilisez l'adaptateur ``Py_buffer`` (ou bien les adaptateurs de "
|
||||
"base ``'s*'``, ``'w*'``, ``'*y'``, ou ``'z*'``), vous *ne devez pas* "
|
||||
"appeler :c:func:`PyBuffer_Release` sur le tampon fourni. Argument Clinic "
|
||||
"génère du code qui le fait pour vous (dans la fonction d'analyse)."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:897
|
||||
msgid "Advanced converters"
|
||||
msgstr ""
|
||||
msgstr "Adaptateurs avancés"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:899
|
||||
msgid ""
|
||||
"Remember those format units you skipped for your first time because they "
|
||||
"were advanced? Here's how to handle those too."
|
||||
msgstr ""
|
||||
"Vous vous souvenez de ces spécifications de format que vous avez laissées de "
|
||||
"côté la première fois parce qu'il s'agissait de notions avancées ? Voici "
|
||||
"comment les utiliser."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:902
|
||||
msgid ""
|
||||
|
@ -1632,6 +1781,14 @@ msgid ""
|
|||
"``O&``), ``subclass_of`` (for ``O!``), or ``encoding`` (for all the format "
|
||||
"units that start with ``e``)."
|
||||
msgstr ""
|
||||
"L'astuce est que toutes ces spécifications de format acceptent des arguments "
|
||||
"— aussi bien des fonctions de conversion que des types, ou des chaînes "
|
||||
"spécifiant un encodage. (mais les « adaptateurs de base » ne gèrent pas les "
|
||||
"arguments. C'est pourquoi nous les avions laissés de côté pour votre "
|
||||
"première fonction.) L'argument que vous aviez spécifié à la spécification de "
|
||||
"format est désormais un argument du convertisseur ; cet argument est soit "
|
||||
"``converter`` (pour ``O&``), ``subclass_of`` (pour ``O!``), ou ``encoding`` "
|
||||
"(pour toutes les spécifications de format qui commencent par ``e``)."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:910
|
||||
msgid ""
|
||||
|
@ -1641,6 +1798,12 @@ msgid ""
|
|||
"is a subclass of ``PyUnicode_Type``, you probably want to use the converter "
|
||||
"``object(type='PyUnicodeObject *', subclass_of='&PyUnicode_Type')``."
|
||||
msgstr ""
|
||||
"Lorsque vous utilisez ``subclass_of``, vous pouvez également vouloir "
|
||||
"utiliser les autres arguments usuels pour ``object()`` : ``type``, qui vous "
|
||||
"laisse spécifier le type à utiliser pour l'argument. Par exemple, si vous "
|
||||
"voulez vous assurer que l'objet est une sous-classe de ``PyUnicode_Type``, "
|
||||
"vous utiliserez probablement le convertisseur ``object(type='PyUnicodeObject "
|
||||
"*', subclass_of='&PyUnicode_Type')``."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:916
|
||||
msgid ""
|
||||
|
@ -1654,30 +1817,46 @@ msgid ""
|
|||
"unreasonable; CPython itself always passes in static hard-coded encoding "
|
||||
"strings for parameters whose format units start with ``e``."
|
||||
msgstr ""
|
||||
"Mentionnons un problème potentiel d'utiliser *Argument Clinic* : cela retire "
|
||||
"la flexibilité des spécifications de format commençant par ``e``. Lorsque "
|
||||
"vous faites un appel à ``PyArg_Parse`` à la main, vous pourriez "
|
||||
"théoriquement décider quelle chaîne d'encodage passer à :c:func:"
|
||||
"`PyArg_ParseTuple`. Mais désormais cette chaîne doit être codée en dur au "
|
||||
"moment du pré-processus d'Argument-Clinic. Cette limitation est délibérée ; "
|
||||
"elle permet une gestion plus simple de cette spécification de format, et "
|
||||
"peut permettre de futures optimisations. Cette restriction ne semble pas "
|
||||
"déraisonnable ; CPython lui-même utilise toujours des chaînes d'encodage en "
|
||||
"dur pour les paramètres dont les spécifications de format commencent par "
|
||||
"``e``."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:929
|
||||
msgid "Parameter default values"
|
||||
msgstr ""
|
||||
msgstr "Valeurs par défaut des paramètres"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:931
|
||||
msgid ""
|
||||
"Default values for parameters can be any of a number of values. At their "
|
||||
"simplest, they can be string, int, or float literals:"
|
||||
msgstr ""
|
||||
"Les valeurs par défaut des paramètres peuvent être n'importe quelle valeur. "
|
||||
"Au plus simple, ce sont des chaînes, des entiers ou des nombres flottants :"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:940
|
||||
msgid "They can also use any of Python's built-in constants:"
|
||||
msgstr ""
|
||||
"Vous pouvez également utiliser n'importe quelle constante native de Python :"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:948
|
||||
msgid ""
|
||||
"There's also special support for a default value of ``NULL``, and for simple "
|
||||
"expressions, documented in the following sections."
|
||||
msgstr ""
|
||||
"La valeur ``NULL`` est également acceptée, ainsi que des expressions "
|
||||
"simples, comme expliqué dans les sections suivantes."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:953
|
||||
msgid "The ``NULL`` default value"
|
||||
msgstr ""
|
||||
msgstr "La valeur par défaut ``NULL``"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:955
|
||||
msgid ""
|
||||
|
@ -1688,10 +1867,16 @@ msgid ""
|
|||
"behaves like a default value of ``None``, but the C variable is initialized "
|
||||
"with ``NULL``."
|
||||
msgstr ""
|
||||
"Pour les paramètres chaînes et objets, vous pouvez les positionner à "
|
||||
"``None`` pour indiquer qu'il n'y a pas de valeur par défaut. Pour autant, "
|
||||
"cela signifie que la variable C sera initialisée à ``Py_None``. Par "
|
||||
"commodité, il existe une valeur spécifique appelée ``NULL`` juste pour cette "
|
||||
"raison : du point de vue de Python, cette valeur se comporte comme la valeur "
|
||||
"par défaut ``None``, mais la variable C est initialisée à ``NULL``."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:963
|
||||
msgid "Expressions specified as default values"
|
||||
msgstr ""
|
||||
msgstr "Expressions spécifiées comme valeurs par défaut"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:965
|
||||
msgid ""
|
||||
|
@ -1700,10 +1885,14 @@ msgid ""
|
|||
"on objects. However, this support isn't exactly simple, because of some non-"
|
||||
"obvious semantics."
|
||||
msgstr ""
|
||||
"La valeur par défaut d'un paramètre peut être plus qu'une simple valeur "
|
||||
"littérale. Il peut s'agir d'une expression, utilisant des opérateurs "
|
||||
"mathématiques et des attributs d'objets. Cependant, cette possibilité n'est "
|
||||
"pas aussi simple, notamment à cause de sémantiques peu évidentes."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:970
|
||||
msgid "Consider the following example:"
|
||||
msgstr ""
|
||||
msgstr "Examinons l'exemple suivant :"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:976
|
||||
msgid ""
|
||||
|
@ -1754,11 +1943,11 @@ msgstr ""
|
|||
|
||||
#: ../Doc/howto/clinic.rst:1012
|
||||
msgid "Function calls."
|
||||
msgstr ""
|
||||
msgstr "des appels de fonction."
|
||||
|
||||
#: ../Doc/howto/clinic.rst:1013
|
||||
msgid "Inline if statements (``3 if foo else 5``)."
|
||||
msgstr ""
|
||||
msgstr "des instructions *if* en ligne (``3 if foo else 5``) ;"
|
||||
|
||||
#: ../Doc/howto/clinic.rst:1014
|
||||
msgid "Automatic sequence unpacking (``*[1, 2, 3]``)."
|
||||
|
|
|
@ -6,12 +6,12 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-10 11:27+0200\n"
|
||||
"PO-Revision-Date: 2019-07-19 23:34+0200\n"
|
||||
"Last-Translator: Andy Kwok <andy.kwok.work@gmail.com>\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"
|
||||
"Last-Translator: Andy Kwok <andy.kwok.work@gmail.com>\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
|
||||
#: ../Doc/howto/cporting.rst:7
|
||||
|
|
412
howto/curses.po
412
howto/curses.po
|
@ -16,7 +16,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/howto/curses.rst:5
|
||||
msgid "Curses Programming with Python"
|
||||
msgstr ""
|
||||
msgstr "Programmation *Curses* avec Python"
|
||||
|
||||
#: ../Doc/howto/curses.rst:0
|
||||
msgid "Author"
|
||||
|
@ -24,7 +24,7 @@ msgstr "Auteur"
|
|||
|
||||
#: ../Doc/howto/curses.rst:7
|
||||
msgid "A.M. Kuchling, Eric S. Raymond"
|
||||
msgstr ""
|
||||
msgstr "A.M. Kuchling, Eric S. Raymond"
|
||||
|
||||
#: ../Doc/howto/curses.rst:0
|
||||
msgid "Release"
|
||||
|
@ -32,7 +32,7 @@ msgstr "Version"
|
|||
|
||||
#: ../Doc/howto/curses.rst:8
|
||||
msgid "2.04"
|
||||
msgstr ""
|
||||
msgstr "2.04"
|
||||
|
||||
#: ../Doc/howto/curses.rst:None
|
||||
msgid "Abstract"
|
||||
|
@ -43,10 +43,12 @@ msgid ""
|
|||
"This document describes how to use the :mod:`curses` extension module to "
|
||||
"control text-mode displays."
|
||||
msgstr ""
|
||||
"Ce document décrit comment utiliser le module d'extension :mod:`curses` pour "
|
||||
"contrôler l'affichage en mode texte."
|
||||
|
||||
#: ../Doc/howto/curses.rst:18
|
||||
msgid "What is curses?"
|
||||
msgstr ""
|
||||
msgstr "Qu'est-ce que *curses* ?"
|
||||
|
||||
#: ../Doc/howto/curses.rst:20
|
||||
msgid ""
|
||||
|
@ -58,6 +60,14 @@ msgid ""
|
|||
"areas. Different terminals use widely differing codes, and often have their "
|
||||
"own minor quirks."
|
||||
msgstr ""
|
||||
"La bibliothèque *curses* fournit une capacité de dessin à l'écran et de "
|
||||
"gestion du clavier indépendante du terminal pour les terminaux textuels ; "
|
||||
"ces terminaux comprennent les *VT100*, la console Linux et le terminal "
|
||||
"simulé fourni par divers programmes. Les terminaux d'affichage prennent en "
|
||||
"charge divers codes de commande pour effectuer des opérations courantes "
|
||||
"telles que déplacer le curseur, faire défiler l'écran et effacer des zones. "
|
||||
"Différents terminaux utilisent des codes très différents et ont souvent "
|
||||
"leurs propres bizarreries mineures."
|
||||
|
||||
#: ../Doc/howto/curses.rst:28
|
||||
msgid ""
|
||||
|
@ -68,6 +78,15 @@ msgid ""
|
|||
"an X server. Another is tools such as OS installers and kernel "
|
||||
"configurators that may have to run before any graphical support is available."
|
||||
msgstr ""
|
||||
"Dans un monde d'affichages graphiques, on pourrait se demander « pourquoi "
|
||||
"s'embêter ? ». Il est vrai que les terminaux d'affichage caractère par "
|
||||
"caractère sont une technologie obsolète, mais il existe des niches pour "
|
||||
"lesquelles la possibilité de faire des choses fantaisistes est encore "
|
||||
"précieuse. En exemple de niche, on peut citer les systèmes de type Unix de "
|
||||
"petite taille ou embarqués qui n'utilisent pas de serveur X. Il y a aussi "
|
||||
"les outils tels que les installateurs d'OS et les outils de configuration du "
|
||||
"noyau qui doivent être exécutés avant qu'un support graphique ne soit "
|
||||
"disponible."
|
||||
|
||||
#: ../Doc/howto/curses.rst:36
|
||||
msgid ""
|
||||
|
@ -81,6 +100,16 @@ msgid ""
|
|||
"features, consider a user interface library such as `Urwid <https://pypi.org/"
|
||||
"project/urwid/>`_."
|
||||
msgstr ""
|
||||
"La bibliothèque *curses* propose des fonctionnalités assez basiques, "
|
||||
"fournissant au programmeur une abstraction d'affichage contenant plusieurs "
|
||||
"fenêtres de texte qui ne se chevauchent pas. Le contenu d'une fenêtre peut "
|
||||
"être modifié de différentes manières — en ajoutant du texte, en l'effaçant "
|
||||
"ou en changeant son apparence — et la bibliothèque *curses* trouve quels "
|
||||
"codes de contrôle doivent être envoyés au terminal pour produire le bon "
|
||||
"résultat. *curses* ne fournit pas beaucoup de concepts d'interface "
|
||||
"utilisateur tels que boutons, cases à cocher ou dialogues ; si vous avez "
|
||||
"besoin de telles fonctionnalités, pensez à une bibliothèque d'interface "
|
||||
"utilisateur comme `Urwid <https://pypi.org/project/urwid/>`_."
|
||||
|
||||
#: ../Doc/howto/curses.rst:46
|
||||
msgid ""
|
||||
|
@ -94,6 +123,16 @@ msgid ""
|
|||
"older versions of curses carried by some proprietary Unixes may not support "
|
||||
"everything, though."
|
||||
msgstr ""
|
||||
"La bibliothèque *curses* a été écrite à l'origine pour BSD Unix ; les "
|
||||
"dernières versions *System V* d'Unix d'AT&T ont ajouté de nombreuses "
|
||||
"améliorations et de nouvelles fonctions. BSD *curses* n'est plus maintenu, "
|
||||
"ayant été remplacé par *ncurses*, qui est une implémentation open-source de "
|
||||
"l'interface AT&T. Si vous utilisez un Unix open-source comme Linux ou "
|
||||
"FreeBSD, votre système utilise presque certainement *ncurses*. Comme la "
|
||||
"plupart des versions commerciales actuelles d'Unix sont basées sur le code "
|
||||
"*System V*, toutes les fonctions décrites ici seront probablement "
|
||||
"disponibles. Les anciennes versions de *curses* portées par certains Unix "
|
||||
"propriétaires pourraient ne pas gérer toutes les fonctions."
|
||||
|
||||
#: ../Doc/howto/curses.rst:56
|
||||
msgid ""
|
||||
|
@ -104,10 +143,16 @@ msgid ""
|
|||
"API as curses but provides cursor-addressable text output and full support "
|
||||
"for mouse and keyboard input."
|
||||
msgstr ""
|
||||
"La version Windows de Python n'inclut pas le module :mod:`curses`. Une "
|
||||
"version portée appelée `UniCurses <https://pypi.org/project/UniCurses>`_ est "
|
||||
"disponible. Vous pouvez également essayer le `Windows console driver <http://"
|
||||
"effbot.org/zone/console-index.htm>`_ écrit par Fredrik Lundh, qui n'utilise "
|
||||
"pas la même API que *curses*, mais fournit une sortie texte avec gestion du "
|
||||
"curseur et une prise en charge complète de la souris et du clavier."
|
||||
|
||||
#: ../Doc/howto/curses.rst:66
|
||||
msgid "The Python curses module"
|
||||
msgstr ""
|
||||
msgstr "Le module *curses* de Python"
|
||||
|
||||
#: ../Doc/howto/curses.rst:68
|
||||
msgid ""
|
||||
|
@ -119,6 +164,13 @@ msgid ""
|
|||
"`mvwaddstr` into a single :meth:`~curses.window.addstr` method. You'll see "
|
||||
"this covered in more detail later."
|
||||
msgstr ""
|
||||
"Le module Python est une surcouche assez simple enrobant les fonctions C "
|
||||
"fournies par *curses* ; si vous êtes déjà familier avec la programmation "
|
||||
"*curses* en C, il est très facile de transférer cette connaissance à Python. "
|
||||
"La plus grande différence est que l'interface Python simplifie les choses en "
|
||||
"fusionnant différentes fonctions C telles que :c:func:`addstr`, :c:func:"
|
||||
"`mvaddstr` et :c:func:`mvwaddstr` en une seule méthode :meth:`~curses.window."
|
||||
"addstr`. Nous voyons cela plus en détail ci-après."
|
||||
|
||||
#: ../Doc/howto/curses.rst:76
|
||||
msgid ""
|
||||
|
@ -127,10 +179,15 @@ msgid ""
|
|||
"that, see the Python library guide's section on ncurses, and the C manual "
|
||||
"pages for ncurses. It will, however, give you the basic ideas."
|
||||
msgstr ""
|
||||
"Ce guide pratique est une introduction à l'écriture de programmes en mode "
|
||||
"texte avec *curses* et Python. Il n'essaie pas d'être un guide complet de "
|
||||
"l'API *curses* ; pour cela, consultez la section du guide de la bibliothèque "
|
||||
"Python sur *ncurses* et les pages du manuel C pour *ncurses*. Il vous donne "
|
||||
"cependant les idées de base."
|
||||
|
||||
#: ../Doc/howto/curses.rst:83
|
||||
msgid "Starting and ending a curses application"
|
||||
msgstr ""
|
||||
msgstr "Lancement et arrêt une application *curses*"
|
||||
|
||||
#: ../Doc/howto/curses.rst:85
|
||||
msgid ""
|
||||
|
@ -141,6 +198,12 @@ msgid ""
|
|||
"object representing the entire screen; this is usually called ``stdscr`` "
|
||||
"after the name of the corresponding C variable. ::"
|
||||
msgstr ""
|
||||
"Avant de faire quoi que ce soit, *curses* doit être initialisé. Appelez pour "
|
||||
"cela la fonction :func:`~curses.initscr`, elle détermine le type de "
|
||||
"terminal, envoie tous les codes de configuration requis au terminal et crée "
|
||||
"diverses structures de données internes. En cas de succès, :func:`initscr` "
|
||||
"renvoie un objet fenêtre représentant l'écran entier ; il est généralement "
|
||||
"appelé ``stdscr`` d'après le nom de la variable C correspondante. ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:96
|
||||
msgid ""
|
||||
|
@ -148,6 +211,10 @@ msgid ""
|
|||
"screen, in order to be able to read keys and only display them under certain "
|
||||
"circumstances. This requires calling the :func:`~curses.noecho` function. ::"
|
||||
msgstr ""
|
||||
"Habituellement, les applications *curses* désactivent l'écho automatique des "
|
||||
"touches à l'écran, afin de pouvoir lire les touches et ne les afficher que "
|
||||
"dans certaines circonstances. Cela nécessite d'appeler la fonction :func:"
|
||||
"`~curses.noecho`. ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:103
|
||||
msgid ""
|
||||
|
@ -155,6 +222,10 @@ msgid ""
|
|||
"requiring the Enter key to be pressed; this is called cbreak mode, as "
|
||||
"opposed to the usual buffered input mode. ::"
|
||||
msgstr ""
|
||||
"Également, les applications réagissent généralement instantanément aux "
|
||||
"touches sans qu'il soit nécessaire d'appuyer sur la touche Entrée ; c'est ce "
|
||||
"qu'on appelle le mode *cbreak*, par opposition au mode d'entrée habituel "
|
||||
"avec un tampon. ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:109
|
||||
msgid ""
|
||||
|
@ -165,12 +236,21 @@ msgid ""
|
|||
"const:`curses.KEY_LEFT`. To get curses to do the job, you'll have to enable "
|
||||
"keypad mode. ::"
|
||||
msgstr ""
|
||||
"Les terminaux renvoient généralement les touches spéciales, telles que les "
|
||||
"touches de curseur ou les touches de navigation (Page précédente et Accueil "
|
||||
"par exemple), comme une séquence d'échappement sur plusieurs octets. Bien "
|
||||
"que vous puissiez écrire votre application pour vous attendre à de telles "
|
||||
"séquences et les traiter en conséquence, *curses* peut le faire pour vous, "
|
||||
"renvoyant une valeur spéciale telle que :const:`curses.KEY_LEFT`. Pour que "
|
||||
"*curses* fasse le travail, vous devez activer le mode *keypad*. ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:118
|
||||
msgid ""
|
||||
"Terminating a curses application is much easier than starting one. You'll "
|
||||
"need to call::"
|
||||
msgstr ""
|
||||
"Arrêter une application *curses* est beaucoup plus facile que d'en démarrer "
|
||||
"une. Appelez ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:125
|
||||
msgid ""
|
||||
|
@ -178,6 +258,9 @@ msgid ""
|
|||
"`~curses.endwin` function to restore the terminal to its original operating "
|
||||
"mode. ::"
|
||||
msgstr ""
|
||||
"pour inverser les réglages du terminal mis en place pour *curses*. Ensuite, "
|
||||
"appelez la fonction :func:`~curses.enddwin` pour restaurer le terminal dans "
|
||||
"son mode de fonctionnement original. ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:131
|
||||
msgid ""
|
||||
|
@ -187,12 +270,21 @@ msgid ""
|
|||
"raises an uncaught exception. Keys are no longer echoed to the screen when "
|
||||
"you type them, for example, which makes using the shell difficult."
|
||||
msgstr ""
|
||||
"Un problème courant lors du débogage d'une application *curses* est de se "
|
||||
"retrouver avec un terminal sans queue ni tête lorsque l'application meurt "
|
||||
"sans restaurer le terminal à son état précédent. Avec Python, cela arrive "
|
||||
"souvent lorsque votre code est bogué et lève une exception non interceptée. "
|
||||
"Les touches ne sont plus répétées à l'écran lorsque vous les tapez, par "
|
||||
"exemple, ce qui rend l'utilisation de l'interface de commande du *shell* "
|
||||
"difficile."
|
||||
|
||||
#: ../Doc/howto/curses.rst:137
|
||||
msgid ""
|
||||
"In Python you can avoid these complications and make debugging much easier "
|
||||
"by importing the :func:`curses.wrapper` function and using it like this::"
|
||||
msgstr ""
|
||||
"En Python, vous pouvez éviter ces complications et faciliter le débogage en "
|
||||
"important la fonction :func:`curses.wrapper` et en l'utilisant comme suit ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:156
|
||||
msgid ""
|
||||
|
@ -206,10 +298,19 @@ msgid ""
|
|||
"funny state on exception and you'll be able to read the exception's message "
|
||||
"and traceback."
|
||||
msgstr ""
|
||||
"La fonction :func:`~curses.wrapper` prend un objet appelable et fait les "
|
||||
"initialisations décrites ci-dessus, initialisant également les couleurs si "
|
||||
"la gestion des couleurs est possible. :func:`wrapper` lance l'appelable "
|
||||
"fourni. Une fois que l'appelable termine, :func:`wrapper` restaure l'état "
|
||||
"d'origine du terminal. L'appelable est appelé à l'intérieur d'un :keyword:"
|
||||
"`try`...\\ :keyword:`except` qui capture les exceptions, restaure l'état du "
|
||||
"terminal, puis relève l'exception. Par conséquent, votre terminal ne reste "
|
||||
"pas dans un drôle d'état au moment de l'exception et vous pourrez lire le "
|
||||
"message de l'exception et la trace de la pile d'appels."
|
||||
|
||||
#: ../Doc/howto/curses.rst:168
|
||||
msgid "Windows and Pads"
|
||||
msgstr ""
|
||||
msgstr "Fenêtres et tampons (*pads* en anglais)"
|
||||
|
||||
#: ../Doc/howto/curses.rst:170
|
||||
msgid ""
|
||||
|
@ -217,6 +318,10 @@ msgid ""
|
|||
"rectangular area of the screen, and supports methods to display text, erase "
|
||||
"it, allow the user to input strings, and so forth."
|
||||
msgstr ""
|
||||
"Les fenêtres sont l'abstraction de base de *curses*. Un objet fenêtre "
|
||||
"représente une zone rectangulaire de l'écran qui gère des méthodes pour "
|
||||
"afficher du texte, l'effacer, permettre à l'utilisateur de saisir des "
|
||||
"chaînes, etc."
|
||||
|
||||
#: ../Doc/howto/curses.rst:174
|
||||
msgid ""
|
||||
|
@ -227,6 +332,12 @@ msgid ""
|
|||
"newwin` function creates a new window of a given size, returning the new "
|
||||
"window object. ::"
|
||||
msgstr ""
|
||||
"L'objet ``stdscr`` renvoyé par la fonction :func:`~curses.initscr` est un "
|
||||
"objet fenêtre qui couvre l'écran entier. De nombreux programmes peuvent "
|
||||
"n'avoir besoin que de cette fenêtre unique, mais vous pouvez diviser l'écran "
|
||||
"en fenêtres plus petites, afin de les redessiner ou de les effacer "
|
||||
"séparément. La fonction :func:`~curses.newwin` crée une nouvelle fenêtre "
|
||||
"d'une taille donnée, renvoyant le nouvel objet fenêtre. ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:185
|
||||
msgid ""
|
||||
|
@ -237,6 +348,13 @@ msgid ""
|
|||
"difference from most other computer applications, but it's been part of "
|
||||
"curses since it was first written, and it's too late to change things now."
|
||||
msgstr ""
|
||||
"Notez que le système de coordonnées utilisé dans *curses* est inhabituel. "
|
||||
"Les coordonnées sont toujours passées dans l'ordre *y,x* et le coin "
|
||||
"supérieur gauche d'une fenêtre a pour coordonnées (0,0). Ceci rompt la "
|
||||
"convention normale des coordonnées où la coordonnée *x* vient en premier. "
|
||||
"C'est une différence malheureuse par rapport à la plupart des autres "
|
||||
"applications informatiques, mais elle fait partie de *curses* depuis qu'il a "
|
||||
"été écrit et il est trop tard pour changer les choses maintenant."
|
||||
|
||||
#: ../Doc/howto/curses.rst:193
|
||||
msgid ""
|
||||
|
@ -245,6 +363,10 @@ msgid ""
|
|||
"sizes. Legal coordinates will then extend from ``(0,0)`` to ``(curses.LINES "
|
||||
"- 1, curses.COLS - 1)``."
|
||||
msgstr ""
|
||||
"Votre application peut déterminer la taille de l'écran en utilisant les "
|
||||
"variables :data:`curses.LINES` et :data:`curses.COLS` pour obtenir les "
|
||||
"tailles *y* et *x*. Les coordonnées licites s'étendent alors de ``(0,0)`` à "
|
||||
"``(curses.LINES - 1, curses.COLS - 1)``."
|
||||
|
||||
#: ../Doc/howto/curses.rst:198
|
||||
msgid ""
|
||||
|
@ -252,6 +374,9 @@ msgid ""
|
|||
"immediately show up on the display. Instead you must call the :meth:"
|
||||
"`~curses.window.refresh` method of window objects to update the screen."
|
||||
msgstr ""
|
||||
"Quand vous appelez une méthode pour afficher ou effacer du texte, "
|
||||
"l'affichage ne le reflète pas immédiatement. Vous devez appeler la méthode :"
|
||||
"meth:`~curses.window.refresh` des objets fenêtre pour mettre à jour l'écran."
|
||||
|
||||
#: ../Doc/howto/curses.rst:203
|
||||
msgid ""
|
||||
|
@ -263,6 +388,14 @@ msgid ""
|
|||
"and then clears the window, there's no need to send the original text "
|
||||
"because they're never visible."
|
||||
msgstr ""
|
||||
"C'est parce que *curses* a été écrit du temps des terminaux avec une "
|
||||
"connexion à 300 bauds seulement ; avec ces terminaux, il était important de "
|
||||
"minimiser le temps passé à redessiner l'écran. *curses* calcule donc les "
|
||||
"modifications à apporter à l'écran pour les afficher de la manière la plus "
|
||||
"efficace au moment où la méthode :meth:`refresh` est appelée. Par exemple, "
|
||||
"si votre programme affiche du texte dans une fenêtre puis efface cette "
|
||||
"fenêtre, il n'est pas nécessaire de l'afficher puisqu'il ne sera jamais "
|
||||
"visible."
|
||||
|
||||
#: ../Doc/howto/curses.rst:212
|
||||
msgid ""
|
||||
|
@ -273,6 +406,14 @@ msgid ""
|
|||
"redrawn before pausing to wait for user input, by first calling ``stdscr."
|
||||
"refresh()`` or the :meth:`refresh` method of some other relevant window."
|
||||
msgstr ""
|
||||
"Pratiquement, le fait de devoir indiquer explicitement à *curses* de "
|
||||
"redessiner une fenêtre ne rend pas la programmation plus compliquée. La "
|
||||
"plupart des programmes effectuent une rafale de traitements puis attendent "
|
||||
"qu'une touche soit pressée ou toute autre action de la part de "
|
||||
"l'utilisateur. Tout ce que vous avez à faire consiste à vous assurer que "
|
||||
"l'écran a bien été redessiné avant d'attendre une entrée utilisateur, en "
|
||||
"appelant d'abord ``stdscr.refresh()`` ou la méthode :meth:`refresh` de la "
|
||||
"fenêtre adéquate."
|
||||
|
||||
#: ../Doc/howto/curses.rst:220
|
||||
msgid ""
|
||||
|
@ -282,6 +423,12 @@ msgid ""
|
|||
"giving the coordinates of the on-screen area where a subsection of the pad "
|
||||
"will be displayed. ::"
|
||||
msgstr ""
|
||||
"Un tampon (*pad* en anglais) est une forme spéciale de fenêtre ; il peut "
|
||||
"être plus grand que l'écran effectif et il est possible de n'afficher qu'une "
|
||||
"partie du tampon à la fois. La création d'un tampon nécessite de fournir sa "
|
||||
"hauteur et sa largeur, tandis que pour le rafraîchissement du tampon, vous "
|
||||
"devez fournir les coordonnées de la zone de l'écran où une partie du tampon "
|
||||
"sera affichée."
|
||||
|
||||
#: ../Doc/howto/curses.rst:241
|
||||
msgid ""
|
||||
|
@ -291,6 +438,11 @@ msgid ""
|
|||
"Beyond that difference, pads are exactly like ordinary windows and support "
|
||||
"the same methods."
|
||||
msgstr ""
|
||||
"L'appel à :meth:`refresh` affiche une partie du tampon dans le rectangle "
|
||||
"formé par les coins de coordonnées (5,5) et (20,75) de l'écran ; le coin "
|
||||
"supérieur gauche de la partie affichée a pour coordonnées (0,0) dans le "
|
||||
"tampon. À part cette différence, les tampons sont exactement comme les "
|
||||
"fenêtres ordinaires et gèrent les mêmes méthodes."
|
||||
|
||||
#: ../Doc/howto/curses.rst:247
|
||||
msgid ""
|
||||
|
@ -298,28 +450,39 @@ msgid ""
|
|||
"way to update the screen and prevent annoying screen flicker as each part of "
|
||||
"the screen gets updated. :meth:`refresh` actually does two things:"
|
||||
msgstr ""
|
||||
"Si vous avez plusieurs fenêtres et tampons sur l'écran, il existe un moyen "
|
||||
"plus efficace pour rafraîchir l'écran et éviter des scintillements agaçants "
|
||||
"à chaque mise à jour. :meth:`refresh` effectue en fait deux choses :"
|
||||
|
||||
#: ../Doc/howto/curses.rst:252
|
||||
msgid ""
|
||||
"Calls the :meth:`~curses.window.noutrefresh` method of each window to update "
|
||||
"an underlying data structure representing the desired state of the screen."
|
||||
msgstr ""
|
||||
"elle appelle la méthode :meth:`~curses.window.noutrefresh` de chaque fenêtre "
|
||||
"pour mettre à jour les données sous-jacentes qui permettent d'obtenir "
|
||||
"l'affichage voulu ;"
|
||||
|
||||
#: ../Doc/howto/curses.rst:255
|
||||
msgid ""
|
||||
"Calls the function :func:`~curses.doupdate` function to change the physical "
|
||||
"screen to match the desired state recorded in the data structure."
|
||||
msgstr ""
|
||||
"elle appelle la fonction :func:`~curses.doupdate` pour modifier l'écran "
|
||||
"physique afin de correspondre à l'état défini par les données sous-jacentes."
|
||||
|
||||
#: ../Doc/howto/curses.rst:258
|
||||
msgid ""
|
||||
"Instead you can call :meth:`noutrefresh` on a number of windows to update "
|
||||
"the data structure, and then call :func:`doupdate` to update the screen."
|
||||
msgstr ""
|
||||
"Vous pouvez ainsi appeler :meth:`noutrefresh` sur les fenêtres dont vous "
|
||||
"voulez mettre à jour des données, puis :func:`doupdate` pour mettre à jour "
|
||||
"l'écran."
|
||||
|
||||
#: ../Doc/howto/curses.rst:264
|
||||
msgid "Displaying Text"
|
||||
msgstr ""
|
||||
msgstr "Affichage de texte"
|
||||
|
||||
#: ../Doc/howto/curses.rst:266
|
||||
msgid ""
|
||||
|
@ -331,6 +494,14 @@ msgid ""
|
|||
"allows specifying a window to use instead of using ``stdscr`` by default. :c:"
|
||||
"func:`mvwaddstr` allows specifying both a window and a coordinate."
|
||||
msgstr ""
|
||||
"D'un point de vue de programmeur C, *curses* peut parfois ressembler à un "
|
||||
"enchevêtrement de fonctions, chacune ayant sa subtilité. Par exemple, :c:"
|
||||
"func:`addstr` affiche une chaîne à la position actuelle du curseur de la "
|
||||
"fenêtre ``stdscr``, alors que :c:func:`mvaddstr` se déplace d'abord "
|
||||
"jusqu'aux coordonnées (y,x) avant d'afficher la chaîne. :c:func:`waddstr` "
|
||||
"est comme :c:func:`addstr`, mais permet de spécifier la fenêtre au lieu "
|
||||
"d'utiliser ``stdscr`` par défaut. :c:func:`mvwaddstr` permet de spécifier à "
|
||||
"la fois les coordonnées et la fenêtre."
|
||||
|
||||
#: ../Doc/howto/curses.rst:275
|
||||
msgid ""
|
||||
|
@ -339,10 +510,14 @@ msgid ""
|
|||
"addstr` accept multiple argument forms. Usually there are four different "
|
||||
"forms."
|
||||
msgstr ""
|
||||
"Heureusement, l'interface Python masque tous ces détails. ``stdscr`` est un "
|
||||
"objet fenêtre comme les autres et les méthodes telles que :meth:`~curses."
|
||||
"window.addstr` acceptent leurs arguments sous de multiples formes, "
|
||||
"habituellement quatre."
|
||||
|
||||
#: ../Doc/howto/curses.rst:281
|
||||
msgid "Form"
|
||||
msgstr ""
|
||||
msgstr "Forme"
|
||||
|
||||
#: ../Doc/howto/curses.rst:281 ../Doc/howto/curses.rst:350
|
||||
msgid "Description"
|
||||
|
@ -350,39 +525,45 @@ msgstr "Description"
|
|||
|
||||
#: ../Doc/howto/curses.rst:283
|
||||
msgid "*str* or *ch*"
|
||||
msgstr ""
|
||||
msgstr "*str* ou *ch*"
|
||||
|
||||
#: ../Doc/howto/curses.rst:283
|
||||
msgid "Display the string *str* or character *ch* at the current position"
|
||||
msgstr ""
|
||||
msgstr "Affiche la chaîne *str* ou le caractère *ch* à la position actuelle"
|
||||
|
||||
#: ../Doc/howto/curses.rst:286
|
||||
msgid "*str* or *ch*, *attr*"
|
||||
msgstr ""
|
||||
msgstr "*str* ou *ch*, *attr*"
|
||||
|
||||
#: ../Doc/howto/curses.rst:286
|
||||
msgid ""
|
||||
"Display the string *str* or character *ch*, using attribute *attr* at the "
|
||||
"current position"
|
||||
msgstr ""
|
||||
"Affiche la chaîne *str* ou le caractère *ch*, en utilisant l'attribut *attr* "
|
||||
"à la position actuelle"
|
||||
|
||||
#: ../Doc/howto/curses.rst:290
|
||||
msgid "*y*, *x*, *str* or *ch*"
|
||||
msgstr ""
|
||||
msgstr "*y*, *x*, *str* ou *ch*"
|
||||
|
||||
#: ../Doc/howto/curses.rst:290
|
||||
msgid "Move to position *y,x* within the window, and display *str* or *ch*"
|
||||
msgstr ""
|
||||
"Se déplace à la position *y,x* dans la fenêtre et affiche la chaîne *str* ou "
|
||||
"le caractère *ch*"
|
||||
|
||||
#: ../Doc/howto/curses.rst:293
|
||||
msgid "*y*, *x*, *str* or *ch*, *attr*"
|
||||
msgstr ""
|
||||
msgstr "*y*, *x*, *str* ou *ch*, *attr*"
|
||||
|
||||
#: ../Doc/howto/curses.rst:293
|
||||
msgid ""
|
||||
"Move to position *y,x* within the window, and display *str* or *ch*, using "
|
||||
"attribute *attr*"
|
||||
msgstr ""
|
||||
"Se déplace à la position *y,x* dans la fenêtre et affiche la chaîne *str* ou "
|
||||
"le caractère *ch* en utilisant l'attribut *attr*"
|
||||
|
||||
#: ../Doc/howto/curses.rst:297
|
||||
msgid ""
|
||||
|
@ -390,6 +571,9 @@ msgid ""
|
|||
"underline, reverse code, or in color. They'll be explained in more detail "
|
||||
"in the next subsection."
|
||||
msgstr ""
|
||||
"Les attributs permettent de mettre en valeur du texte : gras, souligné, mode "
|
||||
"vidéo inversé ou en couleur. Nous les voyons plus en détail dans la section "
|
||||
"suivante."
|
||||
|
||||
#: ../Doc/howto/curses.rst:302
|
||||
msgid ""
|
||||
|
@ -399,12 +583,21 @@ msgid ""
|
|||
"window's :attr:`encoding` attribute; this defaults to the default system "
|
||||
"encoding as returned by :func:`locale.getpreferredencoding`."
|
||||
msgstr ""
|
||||
"La méthode :meth:`~curses.window.addstr` prend en argument une chaîne ou une "
|
||||
"suite d'octets Python. Le contenu des chaînes d'octets est envoyé vers le "
|
||||
"terminal tel quel. Les chaînes sont encodées en octets en utilisant la "
|
||||
"valeur de l'attribut :attr:`encoding` de la fenêtre ; c'est par défaut "
|
||||
"l'encodage du système tel que renvoyé par :func:`locale."
|
||||
"getpreferredencoding`."
|
||||
|
||||
#: ../Doc/howto/curses.rst:309
|
||||
msgid ""
|
||||
"The :meth:`~curses.window.addch` methods take a character, which can be "
|
||||
"either a string of length 1, a bytestring of length 1, or an integer."
|
||||
msgstr ""
|
||||
"Les méthodes :meth:`~curses.window.addch` prennent un caractère, soit sous "
|
||||
"la forme d'une chaîne de longueur 1, d'une chaîne d'octets de longueur 1 ou "
|
||||
"d'un entier."
|
||||
|
||||
#: ../Doc/howto/curses.rst:312
|
||||
msgid ""
|
||||
|
@ -413,6 +606,11 @@ msgid ""
|
|||
"symbol, and :const:`ACS_ULCORNER` is the upper left corner of a box (handy "
|
||||
"for drawing borders). You can also use the appropriate Unicode character."
|
||||
msgstr ""
|
||||
"Des constantes sont disponibles pour étendre les caractères ; ces constantes "
|
||||
"sont des entiers supérieurs à 255. Par exemple, :const:`ACS_PLMINUS` "
|
||||
"correspond au symbole +/- et :const:`ACS_ULCORNER` correspond au coin en "
|
||||
"haut et à gauche d'une boîte (utile pour dessiner des encadrements). Vous "
|
||||
"pouvez aussi utiliser les caractères Unicode adéquats."
|
||||
|
||||
#: ../Doc/howto/curses.rst:318
|
||||
msgid ""
|
||||
|
@ -424,6 +622,14 @@ msgid ""
|
|||
"some location where it won't be distracting; it can be confusing to have the "
|
||||
"cursor blinking at some apparently random location."
|
||||
msgstr ""
|
||||
"Windows se souvient de l'endroit où le curseur était positionné lors de la "
|
||||
"dernière opération, de manière à ce que si vous n'utilisez pas les "
|
||||
"coordonnées *y,x*, l'affichage se produit au dernier endroit utilisé. Vous "
|
||||
"pouvez aussi déplacer le curseur avec la méthode ``move(y,x)``. Comme "
|
||||
"certains terminaux affichent un curseur clignotant, vous pouvez ainsi vous "
|
||||
"assurer que celui-ci est positionné à un endroit où il ne distrait pas "
|
||||
"l'utilisateur (il peut être déroutant d'avoir un curseur qui clignote à des "
|
||||
"endroits apparemment aléatoires)."
|
||||
|
||||
#: ../Doc/howto/curses.rst:326
|
||||
msgid ""
|
||||
|
@ -434,10 +640,17 @@ msgid ""
|
|||
"attempt to suppress the flashing cursor, and you won't need to worry about "
|
||||
"leaving it in odd locations."
|
||||
msgstr ""
|
||||
"Si votre application n'a pas besoin d'un curseur clignotant, vous pouvez "
|
||||
"appeler ``curs_set(False)`` pour le rendre invisible. Par souci de "
|
||||
"compatibilité avec les anciennes versions de *curses*, il existe la fonction "
|
||||
"``leaveok(bool)`` qui est un synonyme de :func:`~curses.curs_set`. Quand "
|
||||
"*bool* vaut ``True``, la bibliothèque *curses* essaie de supprimer le "
|
||||
"curseur clignotant et vous n'avez plus besoin de vous soucier de le laisser "
|
||||
"trainer à des endroits bizarres."
|
||||
|
||||
#: ../Doc/howto/curses.rst:335
|
||||
msgid "Attributes and Color"
|
||||
msgstr ""
|
||||
msgstr "Attributs et couleurs"
|
||||
|
||||
#: ../Doc/howto/curses.rst:337
|
||||
msgid ""
|
||||
|
@ -446,6 +659,11 @@ msgid ""
|
|||
"to highlight certain words. curses supports this by allowing you to specify "
|
||||
"an attribute for each cell on the screen."
|
||||
msgstr ""
|
||||
"Les caractères peuvent être affichés de différentes façons. Les lignes de "
|
||||
"statut des applications en mode texte sont généralement affichées en mode "
|
||||
"vidéo inversé ; vous pouvez avoir besoin de mettre en valeur certains mots. "
|
||||
"À ces fins, *curses* vous permet de spécifier un attribut pour chaque "
|
||||
"caractère à l'écran."
|
||||
|
||||
#: ../Doc/howto/curses.rst:342
|
||||
msgid ""
|
||||
|
@ -456,6 +674,13 @@ msgid ""
|
|||
"being used, so it's safest to stick to the most commonly available "
|
||||
"attributes, listed here."
|
||||
msgstr ""
|
||||
"Un attribut est un entier dont chaque bit représente un attribut différent. "
|
||||
"Vous pouvez essayer d'afficher du texte avec plusieurs attributs définis "
|
||||
"simultanément mais *curses* ne garantit pas que toutes les combinaisons "
|
||||
"soient prises en compte ou que le résultat soit visuellement différent. Cela "
|
||||
"dépend de la capacité de chaque terminal utilisé, il est donc plus sage de "
|
||||
"se cantonner aux attributs les plus communément utilisés, dont la liste est "
|
||||
"fournie ci-dessous."
|
||||
|
||||
#: ../Doc/howto/curses.rst:350
|
||||
msgid "Attribute"
|
||||
|
@ -463,57 +688,59 @@ msgstr "Attribut"
|
|||
|
||||
#: ../Doc/howto/curses.rst:352
|
||||
msgid ":const:`A_BLINK`"
|
||||
msgstr ""
|
||||
msgstr ":const:`A_BLINK`"
|
||||
|
||||
#: ../Doc/howto/curses.rst:352
|
||||
msgid "Blinking text"
|
||||
msgstr ""
|
||||
msgstr "Texte clignotant"
|
||||
|
||||
#: ../Doc/howto/curses.rst:354
|
||||
msgid ":const:`A_BOLD`"
|
||||
msgstr ""
|
||||
msgstr ":const:`A_BOLD`"
|
||||
|
||||
#: ../Doc/howto/curses.rst:354
|
||||
msgid "Extra bright or bold text"
|
||||
msgstr ""
|
||||
msgstr "Texte en surbrillance ou en gras"
|
||||
|
||||
#: ../Doc/howto/curses.rst:356
|
||||
msgid ":const:`A_DIM`"
|
||||
msgstr ""
|
||||
msgstr ":const:`A_DIM`"
|
||||
|
||||
#: ../Doc/howto/curses.rst:356
|
||||
msgid "Half bright text"
|
||||
msgstr ""
|
||||
msgstr "Texte en demi-ton"
|
||||
|
||||
#: ../Doc/howto/curses.rst:358
|
||||
msgid ":const:`A_REVERSE`"
|
||||
msgstr ""
|
||||
msgstr ":const:`A_REVERSE`"
|
||||
|
||||
#: ../Doc/howto/curses.rst:358
|
||||
msgid "Reverse-video text"
|
||||
msgstr ""
|
||||
msgstr "Texte en mode vidéo inversé"
|
||||
|
||||
#: ../Doc/howto/curses.rst:360
|
||||
msgid ":const:`A_STANDOUT`"
|
||||
msgstr ""
|
||||
msgstr ":const:`A_STANDOUT`"
|
||||
|
||||
#: ../Doc/howto/curses.rst:360
|
||||
msgid "The best highlighting mode available"
|
||||
msgstr ""
|
||||
msgstr "Le meilleur mode de mis en valeur pour le texte"
|
||||
|
||||
#: ../Doc/howto/curses.rst:362
|
||||
msgid ":const:`A_UNDERLINE`"
|
||||
msgstr ""
|
||||
msgstr ":const:`A_UNDERLINE`"
|
||||
|
||||
#: ../Doc/howto/curses.rst:362
|
||||
msgid "Underlined text"
|
||||
msgstr ""
|
||||
msgstr "Texte souligné"
|
||||
|
||||
#: ../Doc/howto/curses.rst:365
|
||||
msgid ""
|
||||
"So, to display a reverse-video status line on the top line of the screen, "
|
||||
"you could code::"
|
||||
msgstr ""
|
||||
"Ainsi, pour mettre la ligne de statut située en haut de l'écran en mode "
|
||||
"vidéo inversé, vous pouvez coder ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:372
|
||||
msgid ""
|
||||
|
@ -521,6 +748,9 @@ msgid ""
|
|||
"The most common such terminal is probably the Linux console, followed by "
|
||||
"color xterms."
|
||||
msgstr ""
|
||||
"La bibliothèque *curses* gère également les couleurs pour les terminaux "
|
||||
"compatibles. Le plus répandu de ces terminaux est sûrement la console Linux, "
|
||||
"suivie par *xterm* en couleurs."
|
||||
|
||||
#: ../Doc/howto/curses.rst:376
|
||||
msgid ""
|
||||
|
@ -533,6 +763,14 @@ msgid ""
|
|||
"to the British spelling, you'll have to resign yourself to misspelling it "
|
||||
"for the sake of these functions.)"
|
||||
msgstr ""
|
||||
"Pour utiliser les couleurs, vous devez d'abord appeler la fonction :func:"
|
||||
"`~curses.start_color` juste après avoir appelé :func:`~curses.initscr` afin "
|
||||
"d'initialiser (la fonction :func:`curses.wrapper` le fait automatiquement). "
|
||||
"Ensuite, la fonction :func:`~curses.has_colors` renvoie ``True`` si le "
|
||||
"terminal utilisé gère les couleurs (note : *curses* utilise l'orthographe "
|
||||
"américaine *color* et non pas l'orthographe britannique ou canadienne "
|
||||
"*colour* ; si vous êtes habitué à l'orthographe britannique, vous devrez "
|
||||
"vous résigner à mal l'orthographier tant que vous utilisez *curses*)."
|
||||
|
||||
#: ../Doc/howto/curses.rst:386
|
||||
msgid ""
|
||||
|
@ -543,10 +781,19 @@ msgid ""
|
|||
"as :const:`A_REVERSE`, but again, such combinations are not guaranteed to "
|
||||
"work on all terminals."
|
||||
msgstr ""
|
||||
"La bibliothèque *curses* maintient un nombre restreint de paires de "
|
||||
"couleurs, constituées d'une couleur de texte (*foreground*) et de fond "
|
||||
"(*background*). Vous pouvez obtenir la valeur des attributs correspondant à "
|
||||
"une paire de couleur avec la fonction :func:`~curses.color_pair` ; cette "
|
||||
"valeur peut être combinée bit par bit (avec la fonction *OR*) avec les "
|
||||
"autres attributs tels que :const:`A_REVERSE`,mais là encore, de telles "
|
||||
"combinaisons risquent de ne pas fonctionner sur tous les terminaux."
|
||||
|
||||
#: ../Doc/howto/curses.rst:393
|
||||
msgid "An example, which displays a line of text using color pair 1::"
|
||||
msgstr ""
|
||||
"Un exemple d'affichage d'une ligne de texte en utilisant la paire de couleur "
|
||||
"1 ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:398
|
||||
msgid ""
|
||||
|
@ -555,6 +802,11 @@ msgid ""
|
|||
"pair *n*, to foreground color f and background color b. Color pair 0 is "
|
||||
"hard-wired to white on black, and cannot be changed."
|
||||
msgstr ""
|
||||
"Comme indiqué auparavant, une paire de couleurs est constituée d'une couleur "
|
||||
"de texte et d'une couleur de fond. La fonction ``init_pair(n, f, b)`` change "
|
||||
"la définition de la paire de couleurs *n*, en définissant la couleur de "
|
||||
"texte à *f* et la couleur de fond à *b*. La paire de couleurs 0 est codée en "
|
||||
"dur à blanc sur noir et ne peut être modifiée."
|
||||
|
||||
#: ../Doc/howto/curses.rst:403
|
||||
msgid ""
|
||||
|
@ -564,12 +816,20 @@ msgid ""
|
|||
"named constants for each of these colors: :const:`curses.COLOR_BLACK`, :"
|
||||
"const:`curses.COLOR_RED`, and so forth."
|
||||
msgstr ""
|
||||
"Les couleurs sont numérotées et :func:`start_color` initialise 8 couleurs "
|
||||
"basiques lors de l'activation du mode en couleurs. Ce sont : 0 pour noir "
|
||||
"(*black*), 1 pour rouge (*red*), 2 pour vert (*green*), 3 pour jaune "
|
||||
"(*yellow*), 4 pour bleu *(blue*), 5 pour magenta, 6 pour cyan et 7 pour "
|
||||
"blanc (*white*). Le module :mod:`curses` définit des constantes nommées pour "
|
||||
"chacune de ces couleurs : :const:`curses.COLOR_BLACK`, :const:`curses."
|
||||
"COLOR_RED` et ainsi de suite."
|
||||
|
||||
#: ../Doc/howto/curses.rst:409
|
||||
msgid ""
|
||||
"Let's put all this together. To change color 1 to red text on a white "
|
||||
"background, you would call::"
|
||||
msgstr ""
|
||||
"Testons tout ça. Pour changer la couleur 1 à rouge sur fond blanc, appelez ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:414
|
||||
msgid ""
|
||||
|
@ -577,6 +837,9 @@ msgid ""
|
|||
"pair will change to the new colors. You can also display new text in this "
|
||||
"color with::"
|
||||
msgstr ""
|
||||
"Quand vous modifiez une paire de couleurs, tout le texte déjà affiché qui "
|
||||
"utilise cette paire de couleur voit les nouvelles couleurs s'appliquer à "
|
||||
"lui. Vous pouvez aussi afficher du nouveau texte dans cette couleur avec ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:420
|
||||
msgid ""
|
||||
|
@ -589,10 +852,19 @@ msgid ""
|
|||
"there. If you're lucky enough to have such a talented terminal, consult "
|
||||
"your system's man pages for more information."
|
||||
msgstr ""
|
||||
"Les terminaux « de luxe » peuvent définir les couleurs avec des valeurs "
|
||||
"*RGB*. Cela vous permet de modifier la couleur 1, habituellement rouge, en "
|
||||
"violet ou bleu voire toute autre couleur selon votre goût. Malheureusement, "
|
||||
"la console Linux ne gère pas cette fonctionnalité, je suis donc bien "
|
||||
"incapable de la tester et de vous en fournir un exemple. Vous pouvez "
|
||||
"vérifier si votre terminal la prend en charge en appelant :func:`~curses."
|
||||
"can_change_color`, qui renvoie ``True`` en cas de succès. Si vous avez la "
|
||||
"chance d'avoir un terminal aussi perfectionné, consultez les pages du manuel "
|
||||
"de votre système pour obtenir plus d'informations."
|
||||
|
||||
#: ../Doc/howto/curses.rst:431
|
||||
msgid "User Input"
|
||||
msgstr ""
|
||||
msgstr "Entrées de l'utilisateur"
|
||||
|
||||
#: ../Doc/howto/curses.rst:433
|
||||
msgid ""
|
||||
|
@ -601,10 +873,14 @@ msgid ""
|
|||
"`Urwid <https://pypi.org/project/urwid/>`_ have more extensive collections "
|
||||
"of widgets.)"
|
||||
msgstr ""
|
||||
"La bibliothèque C *curses* ne propose que quelques mécanismes très simples "
|
||||
"pour les entrées. Le module :mod:`curses` y ajoute un *widget* basique "
|
||||
"d'entrée de texte (d'autres bibliothèques telles que `Urwid <https://pypi."
|
||||
"org/project/urwid/>`_ ont un ensemble de *widgets* plus conséquent)."
|
||||
|
||||
#: ../Doc/howto/curses.rst:438
|
||||
msgid "There are two methods for getting input from a window:"
|
||||
msgstr ""
|
||||
msgstr "Il y a deux méthodes pour obtenir des entrées dans une fenêtre :"
|
||||
|
||||
#: ../Doc/howto/curses.rst:440
|
||||
msgid ""
|
||||
|
@ -613,6 +889,10 @@ msgid ""
|
|||
"called earlier. You can optionally specify a coordinate to which the cursor "
|
||||
"should be moved before pausing."
|
||||
msgstr ""
|
||||
":meth:`~curses.window.getch` rafraîchit l'écran et attend que l'utilisateur "
|
||||
"appuie sur une touche, affichant cette touche si :func:`~curses.echo` a été "
|
||||
"appelé auparavant. Vous pouvez en option spécifier des coordonnées où "
|
||||
"positionner le curseur avant la mise en pause ;"
|
||||
|
||||
#: ../Doc/howto/curses.rst:445
|
||||
msgid ""
|
||||
|
@ -621,6 +901,11 @@ msgid ""
|
|||
"special keys such as function keys return longer strings containing a key "
|
||||
"name such as ``KEY_UP`` or ``^G``."
|
||||
msgstr ""
|
||||
":meth:`~curses.window.getkey` effectue la même chose mais convertit l'entier "
|
||||
"en chaîne. Les caractères individuels sont renvoyés en chaînes de longueur 1 "
|
||||
"alors que les touches spéciales (telles que les touches de fonction) "
|
||||
"renvoient des chaînes plus longues contenant le nom de la touche (tel que "
|
||||
"``KEY_UP`` ou ``^G``)."
|
||||
|
||||
#: ../Doc/howto/curses.rst:450
|
||||
msgid ""
|
||||
|
@ -633,6 +918,15 @@ msgid ""
|
|||
"`getch`; if no input becomes available within a specified delay (measured in "
|
||||
"tenths of a second), curses raises an exception."
|
||||
msgstr ""
|
||||
"Il est possible de ne pas attendre l'utilisateur en utilisant la méthode de "
|
||||
"fenêtre :meth:`~curses.window.nodelay`. Après ``nodelay(True)``, les "
|
||||
"méthodes de fenêtre :meth:`getch` et :meth:`getkey` deviennent non "
|
||||
"bloquantes. Pour indiquer qu'aucune entrée n'a eu lieu, :meth:`getch` "
|
||||
"renvoie ``curses.ERR`` (ayant pour valeur −1) et :meth:`getkey` lève une "
|
||||
"exception. Il existe aussi la fonction :func:`~curses.halfdelay`, qui peut "
|
||||
"être utilisée pour définir un délai maximal pour chaque :meth:`getch` ; si "
|
||||
"aucune entrée n'est disponible dans le délai spécifié (mesuré en dixièmes de "
|
||||
"seconde), *curses* lève une exception."
|
||||
|
||||
#: ../Doc/howto/curses.rst:460
|
||||
msgid ""
|
||||
|
@ -643,6 +937,13 @@ msgid ""
|
|||
"`curses.KEY_HOME`, or :const:`curses.KEY_LEFT`. The main loop of your "
|
||||
"program may look something like this::"
|
||||
msgstr ""
|
||||
"La méthode :meth:`getch` renvoie un entier ; s'il est entre 0 et 255, c'est "
|
||||
"le code ASCII de la touche pressée. Les valeurs supérieures à 255 sont des "
|
||||
"touches spéciales telles que Page Précédente, Accueil ou les touches du "
|
||||
"curseur. Vous pouvez comparer la valeur renvoyée aux constantes :const:"
|
||||
"`curses.KEY_PPAGE`, :const:`curses.KEY_HOME`, :const:`curses.KEY_LEFT`, etc. "
|
||||
"La boucle principale de votre programme pourrait ressembler à quelque chose "
|
||||
"comme ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:476
|
||||
msgid ""
|
||||
|
@ -653,6 +954,13 @@ msgid ""
|
|||
"arguments and return the same type. For example, :func:`curses.ascii.ctrl` "
|
||||
"returns the control character corresponding to its argument."
|
||||
msgstr ""
|
||||
"Le module :mod:`curses.ascii` fournit des fonctions pour déterminer si "
|
||||
"l'entier ou la chaîne de longueur 1 passés en arguments font partie de la "
|
||||
"classe ASCII ; elles peuvent s'avérer utile pour écrire du code plus lisible "
|
||||
"dans ce genre de boucles. Il fournit également des fonctions de conversion "
|
||||
"qui prennent un entier ou une chaîne de longueur 1 en entrée et renvoient le "
|
||||
"type correspondant au nom de la fonction. Par exemple, :func:`curses.ascii."
|
||||
"ctrl` renvoie le caractère de contrôle correspondant à son paramètre."
|
||||
|
||||
#: ../Doc/howto/curses.rst:483
|
||||
msgid ""
|
||||
|
@ -662,6 +970,11 @@ msgid ""
|
|||
"key, which terminates the string. It can optionally be limited to a fixed "
|
||||
"number of characters. ::"
|
||||
msgstr ""
|
||||
"Il existe aussi une méthode pour récupérer une chaîne entière, :meth:"
|
||||
"`~curses.window.getstr`. Elle n'est pas beaucoup utilisée car son utilité "
|
||||
"est limitée : les seules touches d'édition disponibles sont le retour "
|
||||
"arrière et la touche Entrée, qui termine la chaîne. Elle peut, en option, "
|
||||
"être limitée à un nombre fixé de caractères. ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:494
|
||||
msgid ""
|
||||
|
@ -670,15 +983,22 @@ msgid ""
|
|||
"Textbox` class support editing with input validation and gathering the edit "
|
||||
"results either with or without trailing spaces. Here's an example::"
|
||||
msgstr ""
|
||||
"Le module :mod:`curses.textpad` fournit un type de boîte texte qui gère des "
|
||||
"touches de fonctions à la façon d'\\ *Emacs*. Plusieurs méthodes de la "
|
||||
"classe :class:`~curses.textpad.Textbox` gèrent l'édition avec la validation "
|
||||
"des entrées et le regroupement de l'entrée avec ou sans les espaces de début "
|
||||
"et de fin. Par exemple ::"
|
||||
|
||||
#: ../Doc/howto/curses.rst:518
|
||||
msgid ""
|
||||
"See the library documentation on :mod:`curses.textpad` for more details."
|
||||
msgstr ""
|
||||
"Consultez la documentation de la bibliothèque pour plus de détails sur :mod:"
|
||||
"`curses.textpad`."
|
||||
|
||||
#: ../Doc/howto/curses.rst:522
|
||||
msgid "For More Information"
|
||||
msgstr ""
|
||||
msgstr "Pour aller plus loin"
|
||||
|
||||
#: ../Doc/howto/curses.rst:524
|
||||
msgid ""
|
||||
|
@ -687,6 +1007,11 @@ msgid ""
|
|||
"Python library page for the :mod:`curses` module is now reasonably "
|
||||
"complete. You should browse it next."
|
||||
msgstr ""
|
||||
"Ce guide pratique ne couvre pas certains sujets avancés, tels que la lecture "
|
||||
"du contenu de l'écran ou la capture des événements relatifs à la souris dans "
|
||||
"une instance *xterm*, mais la page de la bibliothèque Python du module :mod:"
|
||||
"`curses` est maintenant suffisamment complète. Nous vous encourageons à la "
|
||||
"parcourir."
|
||||
|
||||
#: ../Doc/howto/curses.rst:529
|
||||
msgid ""
|
||||
|
@ -696,6 +1021,12 @@ msgid ""
|
|||
"quirks, and provide complete lists of all the functions, attributes, and :"
|
||||
"const:`ACS_\\*` characters available to you."
|
||||
msgstr ""
|
||||
"Si vous vous posez des questions sur le fonctionnement précis de fonctions "
|
||||
"*curses*, consultez les pages de manuel de l'implémentation *curses* de "
|
||||
"votre système, que ce soit *ncurses* ou une version propriétaire Unix. Les "
|
||||
"pages de manuel documentent toutes les bizarreries et vous donneront les "
|
||||
"listes complètes des fonctions, attributs et codes :const:`ACS_\\*` des "
|
||||
"caractères disponibles."
|
||||
|
||||
#: ../Doc/howto/curses.rst:536
|
||||
msgid ""
|
||||
|
@ -706,21 +1037,34 @@ msgid ""
|
|||
"would be welcome; see `the Python Developer's Guide <https://devguide.python."
|
||||
"org/>`_ to learn more about submitting patches to Python."
|
||||
msgstr ""
|
||||
"Étant donné que l'API *curses* est si volumineuse, certaines fonctions ne "
|
||||
"sont pas prises en charge dans l'interface Python. Souvent, ce n'est pas "
|
||||
"parce qu'elles sont difficiles à implémenter, mais parce que personne n'en a "
|
||||
"eu encore besoin. De plus, Python ne prend pas encore en charge la "
|
||||
"bibliothèque de gestion des menus associée à *ncurses*. Les correctifs "
|
||||
"ajoutant cette prise en charge seraient bienvenus ; reportez-vous au `guide "
|
||||
"du développeur Python <https://devguide.python.org/>`_ pour apprendre "
|
||||
"comment soumettre des améliorations à Python."
|
||||
|
||||
#: ../Doc/howto/curses.rst:544
|
||||
msgid ""
|
||||
"`Writing Programs with NCURSES <http://invisible-island.net/ncurses/ncurses-"
|
||||
"intro.html>`_: a lengthy tutorial for C programmers."
|
||||
msgstr ""
|
||||
"`Writing Programs with NCURSES <http://invisible-island.net/ncurses/ncurses-"
|
||||
"intro.html>`_ : un long tutoriel pour les programmeurs C (ressource en "
|
||||
"anglais)."
|
||||
|
||||
#: ../Doc/howto/curses.rst:546
|
||||
msgid "`The ncurses man page <https://linux.die.net/man/3/ncurses>`_"
|
||||
msgstr ""
|
||||
msgstr "`La page de manuel ncurses <https://linux.die.net/man/3/ncurses>`_"
|
||||
|
||||
#: ../Doc/howto/curses.rst:547
|
||||
msgid ""
|
||||
"`The ncurses FAQ <http://invisible-island.net/ncurses/ncurses.faq.html>`_"
|
||||
msgstr ""
|
||||
"`La FAQ ncurses <http://invisible-island.net/ncurses/ncurses.faq.html>`_ "
|
||||
"(ressource en anglais)"
|
||||
|
||||
#: ../Doc/howto/curses.rst:548
|
||||
msgid ""
|
||||
|
@ -728,6 +1072,9 @@ msgid ""
|
|||
"v=eN1eZtjLEnU>`_: video of a PyCon 2013 talk on controlling terminals using "
|
||||
"curses or Urwid."
|
||||
msgstr ""
|
||||
"`\"Use curses... don't swear\" <https://www.youtube.com/watch?"
|
||||
"v=eN1eZtjLEnU>`_ : vidéo d'une conférence lors de la PyCon 2013 sur la "
|
||||
"gestion des terminaux à l'aide de *curses* et *Urwid* (vidéo en anglais)."
|
||||
|
||||
#: ../Doc/howto/curses.rst:550
|
||||
msgid ""
|
||||
|
@ -735,3 +1082,6 @@ msgid ""
|
|||
"console-applications-with-urwid>`_: video of a PyCon CA 2012 talk "
|
||||
"demonstrating some applications written using Urwid."
|
||||
msgstr ""
|
||||
"`\"Console Applications with Urwid\" <http://www.pyvideo.org/video/1568/"
|
||||
"console-applications-with-urwid>`_ : vidéo d'une conférence lors de PyCon CA "
|
||||
"2012 montrant quelques applications utilisant *Urwid*."
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -16,7 +16,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/howto/instrumentation.rst:7
|
||||
msgid "Instrumenting CPython with DTrace and SystemTap"
|
||||
msgstr ""
|
||||
msgstr "Instrumenter CPython avec DTrace et SystemTap"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:0
|
||||
msgid "author"
|
||||
|
@ -24,11 +24,11 @@ msgstr "auteur"
|
|||
|
||||
#: ../Doc/howto/instrumentation.rst:9
|
||||
msgid "David Malcolm"
|
||||
msgstr ""
|
||||
msgstr "David Malcolm"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:10
|
||||
msgid "Łukasz Langa"
|
||||
msgstr ""
|
||||
msgstr "Łukasz Langa"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:12
|
||||
msgid ""
|
||||
|
@ -36,18 +36,22 @@ msgid ""
|
|||
"what the processes on a computer system are doing. They both use domain-"
|
||||
"specific languages allowing a user to write scripts which:"
|
||||
msgstr ""
|
||||
"*DTrace* et *SystemTap* sont des outils de surveillance, chacun fournissant "
|
||||
"un moyen de d'inspecter ce que font les processus d'un système informatique. "
|
||||
"Ils utilisent tous les deux des langages dédiés permettant à un utilisateur "
|
||||
"d'écrire des scripts qui permettent de ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:16
|
||||
msgid "filter which processes are to be observed"
|
||||
msgstr ""
|
||||
msgstr "Filtrer les processus à observer."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:17
|
||||
msgid "gather data from the processes of interest"
|
||||
msgstr ""
|
||||
msgstr "Recueillir des données sur le processus choisi."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:18
|
||||
msgid "generate reports on the data"
|
||||
msgstr ""
|
||||
msgstr "Générer des rapports sur les données."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:20
|
||||
msgid ""
|
||||
|
@ -55,6 +59,9 @@ msgid ""
|
|||
"as \"probes\", that can be observed by a DTrace or SystemTap script, making "
|
||||
"it easier to monitor what the CPython processes on a system are doing."
|
||||
msgstr ""
|
||||
"À partir de Python 3.6, CPython peut être compilé avec des « marqueurs » "
|
||||
"intégrés, aussi appelés « sondes », qui peuvent être observés par un script "
|
||||
"*DTrace* ou *SystemTap*, ce qui facilite le suivi des processus CPython."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:27
|
||||
msgid ""
|
||||
|
@ -63,10 +70,15 @@ msgid ""
|
|||
"DTrace scripts can stop working or work incorrectly without warning when "
|
||||
"changing CPython versions."
|
||||
msgstr ""
|
||||
"Les marqueurs DTrace sont des détails d'implémentation de l'interpréteur "
|
||||
"CPython. Aucune garantie n'est donnée quant à la compatibilité des sondes "
|
||||
"entre les versions de CPython. Les scripts DTrace peuvent s'arrêter de "
|
||||
"fonctionner ou fonctionner incorrectement sans avertissement lors du "
|
||||
"changement de version de CPython."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:34
|
||||
msgid "Enabling the static markers"
|
||||
msgstr ""
|
||||
msgstr "Activer les marqueurs statiques"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:36
|
||||
msgid ""
|
||||
|
@ -74,10 +86,13 @@ msgid ""
|
|||
"CPython with the embedded markers for SystemTap, the SystemTap development "
|
||||
"tools must be installed."
|
||||
msgstr ""
|
||||
"macOS est livré avec un support intégré pour *DTrace*. Sous Linux, pour "
|
||||
"construire CPython avec les marqueurs embarqués pour *SystemTap*, les outils "
|
||||
"de développement *SystemTap* doivent être installés."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:40
|
||||
msgid "On a Linux machine, this can be done via::"
|
||||
msgstr ""
|
||||
msgstr "Sur une machine Linux, cela se fait via ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:44
|
||||
msgid "or::"
|
||||
|
@ -85,7 +100,7 @@ msgstr "ou ::"
|
|||
|
||||
#: ../Doc/howto/instrumentation.rst:49
|
||||
msgid "CPython must then be configured ``--with-dtrace``:"
|
||||
msgstr ""
|
||||
msgstr "CPython doit être configuré avec l'option ``--with-dtrace`` ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:55
|
||||
msgid ""
|
||||
|
@ -93,22 +108,33 @@ msgid ""
|
|||
"in the background and listing all probes made available by the Python "
|
||||
"provider::"
|
||||
msgstr ""
|
||||
"Sous macOS, vous pouvez lister les sondes *DTrace* disponibles en exécutant "
|
||||
"un processus Python en arrière-plan et en listant toutes les sondes mises à "
|
||||
"disposition par le fournisseur Python ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:72
|
||||
msgid ""
|
||||
"On Linux, you can verify if the SystemTap static markers are present in the "
|
||||
"built binary by seeing if it contains a \".note.stapsdt\" section."
|
||||
msgstr ""
|
||||
"Sous Linux, pour vérifier que les marqueurs statiques *SystemTap* sont "
|
||||
"présents dans le binaire compilé, il suffit de regarder s'il contient une "
|
||||
"section ``.note.stapsdt``."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:80
|
||||
msgid ""
|
||||
"If you've built Python as a shared library (with --enable-shared), you need "
|
||||
"to look instead within the shared library. For example::"
|
||||
msgstr ""
|
||||
"Si vous avez compilé Python en tant que bibliothèque partagée (avec ``--"
|
||||
"enable-shared``), vous devez plutôt regarder dans la bibliothèque partagée. "
|
||||
"Par exemple ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:86
|
||||
msgid "Sufficiently modern readelf can print the metadata::"
|
||||
msgstr ""
|
||||
"Une version suffisamment moderne de *readelf* peut afficher les "
|
||||
"métadonnées ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:123
|
||||
msgid ""
|
||||
|
@ -116,10 +142,14 @@ msgid ""
|
|||
"patch strategically-placed machine code instructions to enable the tracing "
|
||||
"hooks used by a SystemTap script."
|
||||
msgstr ""
|
||||
"Les métadonnées ci-dessus contiennent des informations pour *SystemTap* "
|
||||
"décrivant comment il peut mettre à jour des instructions de code machine "
|
||||
"stratégiquement placées pour activer les crochets de traçage utilisés par un "
|
||||
"script *SystemTap*."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:129
|
||||
msgid "Static DTrace probes"
|
||||
msgstr ""
|
||||
msgstr "Sondes DTrace statiques"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:131
|
||||
msgid ""
|
||||
|
@ -128,18 +158,22 @@ msgid ""
|
|||
"function called \"start\". In other words, import-time function invocations "
|
||||
"are not going to be listed:"
|
||||
msgstr ""
|
||||
"L'exemple suivant de script *DTrace* montre la hiérarchie d'appel/retour "
|
||||
"d'un script Python, en ne traçant que l'invocation d'une fonction ``start``. "
|
||||
"En d'autres termes, les appels de fonctions lors de la phase d'import ne "
|
||||
"seront pas répertoriées ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:170 ../Doc/howto/instrumentation.rst:228
|
||||
msgid "It can be invoked like this::"
|
||||
msgstr ""
|
||||
msgstr "Il peut être utilisé de cette manière ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:174 ../Doc/howto/instrumentation.rst:234
|
||||
msgid "The output looks like this:"
|
||||
msgstr ""
|
||||
msgstr "La sortie ressemble à ceci ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:199
|
||||
msgid "Static SystemTap markers"
|
||||
msgstr ""
|
||||
msgstr "Marqueurs statiques *SystemTap*"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:201
|
||||
msgid ""
|
||||
|
@ -147,33 +181,39 @@ msgid ""
|
|||
"markers directly. This requires you to explicitly state the binary file "
|
||||
"containing them."
|
||||
msgstr ""
|
||||
"La façon la plus simple d'utiliser l'intégration *SystemTap* est d'utiliser "
|
||||
"directement les marqueurs statiques. Pour cela vous devez pointer "
|
||||
"explicitement le fichier binaire qui les contient."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:205
|
||||
msgid ""
|
||||
"For example, this SystemTap script can be used to show the call/return "
|
||||
"hierarchy of a Python script:"
|
||||
msgstr ""
|
||||
"Par exemple, ce script *SystemTap* peut être utilisé pour afficher la "
|
||||
"hiérarchie d'appel/retour d'un script Python ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:245
|
||||
msgid "where the columns are:"
|
||||
msgstr ""
|
||||
msgstr "où les colonnes sont ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:247
|
||||
msgid "time in microseconds since start of script"
|
||||
msgstr ""
|
||||
msgstr "temps en microsecondes depuis le début du script"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:249
|
||||
msgid "name of executable"
|
||||
msgstr ""
|
||||
msgstr "nom de l'exécutable"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:251
|
||||
msgid "PID of process"
|
||||
msgstr ""
|
||||
msgstr "PID du processus"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:253
|
||||
msgid ""
|
||||
"and the remainder indicates the call/return hierarchy as the script executes."
|
||||
msgstr ""
|
||||
"et le reste indique la hiérarchie d'appel/retour lorsque le script s'exécute."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:255
|
||||
msgid ""
|
||||
|
@ -181,24 +221,30 @@ msgid ""
|
|||
"the libpython shared library, and the probe's dotted path needs to reflect "
|
||||
"this. For example, this line from the above example:"
|
||||
msgstr ""
|
||||
"Pour une compilation `--enable-shared` de CPython, les marqueurs sont "
|
||||
"contenus dans la bibliothèque partagée *libpython*, et le chemin du module "
|
||||
"de la sonde doit le refléter. Par exemple, la ligne de l'exemple ci-dessus :"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:263
|
||||
msgid "should instead read:"
|
||||
msgstr ""
|
||||
msgstr "doit plutôt se lire comme ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:269
|
||||
msgid "(assuming a debug build of CPython 3.6)"
|
||||
msgstr ""
|
||||
"(en supposant une version compilée avec le débogage activé de CPython 3.6)"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:273
|
||||
msgid "Available static markers"
|
||||
msgstr ""
|
||||
msgstr "Marqueurs statiques disponibles"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:279
|
||||
msgid ""
|
||||
"This marker indicates that execution of a Python function has begun. It is "
|
||||
"only triggered for pure-Python (bytecode) functions."
|
||||
msgstr ""
|
||||
"Ce marqueur indique que l'exécution d'une fonction Python a commencé. Il "
|
||||
"n'est déclenché que pour les fonctions en Python pur (code intermédiaire)."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:282
|
||||
msgid ""
|
||||
|
@ -206,22 +252,29 @@ msgid ""
|
|||
"tracing script as positional arguments, which must be accessed using ``"
|
||||
"$arg1``, ``$arg2``, ``$arg3``:"
|
||||
msgstr ""
|
||||
"Le nom de fichier, le nom de la fonction et le numéro de ligne sont renvoyés "
|
||||
"au script de traçage sous forme d'arguments positionnels, auxquels il faut "
|
||||
"accéder en utilisant ``$arg1``, ``$arg2``, ``$arg3`` :"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:286
|
||||
msgid ""
|
||||
"``$arg1`` : ``(const char *)`` filename, accessible using "
|
||||
"``user_string($arg1)``"
|
||||
msgstr ""
|
||||
"``$arg1`` : ``(const char *)`` nom de fichier, accessible via "
|
||||
"``user_string($arg1)``"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:288
|
||||
msgid ""
|
||||
"``$arg2`` : ``(const char *)`` function name, accessible using "
|
||||
"``user_string($arg2)``"
|
||||
msgstr ""
|
||||
"``$arg2`` : ``(const char *)`` nom de la fonction, accessible via "
|
||||
"``user_string($arg2)``"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:291
|
||||
msgid "``$arg3`` : ``int`` line number"
|
||||
msgstr ""
|
||||
msgstr "``$arg3`` : numéro de ligne ``int``"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:295
|
||||
msgid ""
|
||||
|
@ -229,10 +282,14 @@ msgid ""
|
|||
"execution of a Python function has ended (either via ``return``, or via an "
|
||||
"exception). It is only triggered for pure-Python (bytecode) functions."
|
||||
msgstr ""
|
||||
"Ce marqueur est l'inverse de :c:func:`function__entry`, et indique que "
|
||||
"l'exécution d'une fonction Python est terminée (soit via ``return``, soit "
|
||||
"via une exception). Il n'est déclenché que pour les fonctions en Python pur "
|
||||
"(code intermédiaire)."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:299
|
||||
msgid "The arguments are the same as for :c:func:`function__entry`"
|
||||
msgstr ""
|
||||
msgstr "Les arguments sont les mêmes que pour :c:func:`function__entry`"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:303
|
||||
msgid ""
|
||||
|
@ -240,38 +297,51 @@ msgid ""
|
|||
"equivalent of line-by-line tracing with a Python profiler. It is not "
|
||||
"triggered within C functions."
|
||||
msgstr ""
|
||||
"Ce marqueur indique qu'une ligne Python est sur le point d'être exécutée. "
|
||||
"C'est l'équivalent du traçage ligne par ligne avec un profileur Python. Il "
|
||||
"n'est pas déclenché dans les fonctions C."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:307
|
||||
msgid "The arguments are the same as for :c:func:`function__entry`."
|
||||
msgstr ""
|
||||
msgstr "Les arguments sont les mêmes que pour :c:func:`function__entry`."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:311
|
||||
msgid ""
|
||||
"Fires when the Python interpreter starts a garbage collection cycle. "
|
||||
"``arg0`` is the generation to scan, like :func:`gc.collect()`."
|
||||
msgstr ""
|
||||
"Fonction appelée lorsque l'interpréteur Python lance un cycle de collecte du "
|
||||
"ramasse-miettes. ``arg0`` est la génération à scanner, comme :func:`gc."
|
||||
"collect()`."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:316
|
||||
msgid ""
|
||||
"Fires when the Python interpreter finishes a garbage collection cycle. "
|
||||
"``arg0`` is the number of collected objects."
|
||||
msgstr ""
|
||||
"Fonction appelée lorsque l'interpréteur Python termine un cycle de collecte "
|
||||
"du ramasse-miettes. ``Arg0`` est le nombre d'objets collectés."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:321
|
||||
msgid ""
|
||||
"Fires before :mod:`importlib` attempts to find and load the module. ``arg0`` "
|
||||
"is the module name."
|
||||
msgstr ""
|
||||
"Fonction appelée avant que :mod:`importlib` essaye de trouver et de charger "
|
||||
"le module. ``arg0`` est le nom du module."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:328
|
||||
msgid ""
|
||||
"Fires after :mod:`importlib`'s find_and_load function is called. ``arg0`` is "
|
||||
"the module name, ``arg1`` indicates if module was successfully loaded."
|
||||
msgstr ""
|
||||
"Fonction appelée après que la fonction ``find_and_load`` du module :mod:"
|
||||
"`importlib` soit appelée. ``arg0`` est le nom du module, ``arg1`` indique si "
|
||||
"le module a été chargé avec succès."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:336
|
||||
msgid "SystemTap Tapsets"
|
||||
msgstr ""
|
||||
msgstr "*Tapsets* de *SystemTap*"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:338
|
||||
msgid ""
|
||||
|
@ -279,22 +349,32 @@ msgid ""
|
|||
"\": SystemTap's equivalent of a library, which hides some of the lower-level "
|
||||
"details of the static markers."
|
||||
msgstr ""
|
||||
"La façon la plus simple d'utiliser l'intégration *SystemTap* est d'utiliser "
|
||||
"un *« tapset »*. L'équivalent pour *SystemTap* d'une bibliothèque, qui "
|
||||
"permet de masquer les détails de niveau inférieur des marqueurs statiques."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:342
|
||||
msgid "Here is a tapset file, based on a non-shared build of CPython:"
|
||||
msgstr ""
|
||||
"Voici un fichier *tapset*, basé sur une version non partagée compilée de "
|
||||
"CPython ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:365
|
||||
msgid ""
|
||||
"If this file is installed in SystemTap's tapset directory (e.g. ``/usr/share/"
|
||||
"systemtap/tapset``), then these additional probepoints become available:"
|
||||
msgstr ""
|
||||
"Si ce fichier est installé dans le répertoire *tapset* de *SystemTap* (par "
|
||||
"exemple ``/usr/share/systemtap/tapset``), alors ces sondes supplémentaires "
|
||||
"deviennent disponibles ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:371
|
||||
msgid ""
|
||||
"This probe point indicates that execution of a Python function has begun. It "
|
||||
"is only triggered for pure-Python (bytecode) functions."
|
||||
msgstr ""
|
||||
"Cette sonde indique que l'exécution d'une fonction Python a commencé. Elle "
|
||||
"n'est déclenchée que pour les fonctions en Python pur (code intermédiaire)."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:376
|
||||
msgid ""
|
||||
|
@ -303,6 +383,10 @@ msgid ""
|
|||
"``return``, or via an exception). It is only triggered for pure-Python "
|
||||
"(bytecode) functions."
|
||||
msgstr ""
|
||||
"Cette sonde est l'inverse de :c:func:`python.function.return`, et indique "
|
||||
"que l'exécution d'une fonction Python est terminée (soit via ``return``, "
|
||||
"soit via une exception). Elle est uniquement déclenchée pour les fonctions "
|
||||
"en Python pur (code intermédiaire)."
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:383
|
||||
msgid "Examples"
|
||||
|
@ -314,6 +398,10 @@ msgid ""
|
|||
"example given above of tracing the Python function-call hierarchy, without "
|
||||
"needing to directly name the static markers:"
|
||||
msgstr ""
|
||||
"Ce script *SystemTap* utilise le *tapset* ci-dessus pour implémenter plus "
|
||||
"proprement l'exemple précédent de traçage de la hiérarchie des appels de "
|
||||
"fonctions Python, sans avoir besoin de nommer directement les marqueurs "
|
||||
"statiques ::"
|
||||
|
||||
#: ../Doc/howto/instrumentation.rst:403
|
||||
msgid ""
|
||||
|
@ -321,3 +409,7 @@ msgid ""
|
|||
"running CPython code, showing the top 20 most frequently-entered bytecode "
|
||||
"frames, each second, across the whole system:"
|
||||
msgstr ""
|
||||
"Le script suivant utilise le *tapset* ci-dessus pour fournir une vue de "
|
||||
"l'ensemble du code CPython en cours d'exécution, montrant les 20 cadres de "
|
||||
"la pile d'appel (*stack frames*) les plus fréquemment utilisées du code "
|
||||
"intermédiaire, chaque seconde, sur l'ensemble du système ::"
|
||||
|
|
|
@ -269,7 +269,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/howto/ipaddress.rst:163
|
||||
msgid "Extracting the IP version::"
|
||||
msgstr "Extraire la version du protocole IP"
|
||||
msgstr "Extraire la version du protocole IP ::"
|
||||
|
||||
#: ../Doc/howto/ipaddress.rst:172
|
||||
msgid "Obtaining the network from an interface::"
|
||||
|
|
|
@ -54,7 +54,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/howto/logging-cookbook.rst:75
|
||||
msgid "The output looks like this:"
|
||||
msgstr ""
|
||||
msgstr "La sortie ressemble à ceci ::"
|
||||
|
||||
#: ../Doc/howto/logging-cookbook.rst:101
|
||||
msgid "Logging from multiple threads"
|
||||
|
|
|
@ -1837,7 +1837,7 @@ msgstr ""
|
|||
"exceptions qui se produisent lors de la journalisation en production. Il "
|
||||
"s'agit de sorte que les erreurs qui se produisent lors de la gestion des "
|
||||
"événements de journalisation (telles qu'une mauvaise configuration de la "
|
||||
"journalisation , une erreur réseau ou d'autres erreurs similaires) ne "
|
||||
"journalisation, une erreur réseau ou d'autres erreurs similaires) ne "
|
||||
"provoquent pas l'arrêt de l'application utilisant la journalisation."
|
||||
|
||||
#: ../Doc/howto/logging.rst:1008
|
||||
|
|
|
@ -7,12 +7,12 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-06-10 11:27+0200\n"
|
||||
"PO-Revision-Date: 2019-09-05 10:42+0200\n"
|
||||
"Last-Translator: \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"
|
||||
"Last-Translator: \n"
|
||||
"X-Generator: Poedit 2.2.1\n"
|
||||
|
||||
#: ../Doc/howto/pyporting.rst:5
|
||||
|
@ -106,22 +106,21 @@ msgstr ""
|
|||
"exemple ``pip install future``)"
|
||||
|
||||
#: ../Doc/howto/pyporting.rst:37
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Use Pylint_ to help make sure you don't regress on your Python 3 support "
|
||||
"(``pip install pylint``)"
|
||||
msgstr ""
|
||||
"Utiliser Pylint_ pour faciliter la détection de régressions concernant la "
|
||||
"compatibilité Python 3 (``pip install pylint``)"
|
||||
"Utilisez Pylint_ pour vous assurer que vous ne régressez pas sur votre prise "
|
||||
"en charge de Python 3 (``pip install pylint``)"
|
||||
|
||||
#: ../Doc/howto/pyporting.rst:39
|
||||
msgid ""
|
||||
"Use caniusepython3_ to find out which of your dependencies are blocking your "
|
||||
"use of Python 3 (``pip install caniusepython3``)"
|
||||
msgstr ""
|
||||
"Utiliser caniusepython3_ pour déterminer quelles sont, parmi les dépendances "
|
||||
"que vous utilisez, celles qui bloquent votre utilisation de Python 3 (``pip "
|
||||
"install caniusepython3``)"
|
||||
"Utiliser `caniusepython3`_ pour déterminer quelles sont, parmi les "
|
||||
"dépendances que vous utilisez, celles qui bloquent votre utilisation de "
|
||||
"Python 3 (``pip install caniusepython3``)"
|
||||
|
||||
#: ../Doc/howto/pyporting.rst:41
|
||||
msgid ""
|
||||
|
@ -766,7 +765,7 @@ msgstr ""
|
|||
"Le problème est le suivant : que se passe-t-il lorsque Python 4 est publié ? "
|
||||
"Il serait préférable de traiter le cas Python 2 comme l'exception plutôt que "
|
||||
"Python 3 et de supposer que les versions futures de Python 2 seront plus "
|
||||
"compatibles avec Python 3 qu'avec Python 2 : ::"
|
||||
"compatibles avec Python 3 qu'avec Python 2 ::"
|
||||
|
||||
#: ../Doc/howto/pyporting.rst:329
|
||||
msgid ""
|
||||
|
@ -777,12 +776,11 @@ msgstr ""
|
|||
"Néanmoins la meilleure solution est de ne pas chercher à déterminer la "
|
||||
"version de Python mais plutôt à détecter les fonctionnalités disponibles. "
|
||||
"Cela évite les problèmes potentiels liés aux erreurs de détection de version "
|
||||
"et facilite la compatibilité future : ::"
|
||||
"et facilite la compatibilité future ::"
|
||||
|
||||
#: ../Doc/howto/pyporting.rst:340
|
||||
#, fuzzy
|
||||
msgid "Prevent compatibility regressions"
|
||||
msgstr "Éviter les régressions de compatibilité"
|
||||
msgstr "Prévenir les régressions de compatibilité"
|
||||
|
||||
#: ../Doc/howto/pyporting.rst:342
|
||||
msgid ""
|
||||
|
@ -803,7 +801,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Afin de vous aider à maintenir la compatibilité, nous préconisons que tous "
|
||||
"les nouveaux modules que vous créez aient au moins le bloc de code suivant "
|
||||
"en en-tête : ::"
|
||||
"en en-tête ::"
|
||||
|
||||
#: ../Doc/howto/pyporting.rst:354
|
||||
msgid ""
|
||||
|
@ -850,7 +848,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"**Après** avoir rendu votre code compatible avec Python 3, vous devez "
|
||||
"commencer à vous intéresser au portage de vos dépendances. Le projet "
|
||||
"caniusepython3_ a été créé afin de vous aider à déterminer quels projets "
|
||||
"`caniusepython3`_ a été créé afin de vous aider à déterminer quels projets "
|
||||
"sont bloquants dans votre support de Python 3, directement ou indirectement. "
|
||||
"Il existe un outil en ligne de commande ainsi qu'une interface web : https://"
|
||||
"caniusepython3.com."
|
||||
|
@ -927,7 +925,7 @@ msgstr ""
|
|||
"différents renvoient simplement ``False`` mais si vous avez fait une erreur "
|
||||
"dans votre séparation de la gestion texte/données binaires ou votre indiçage "
|
||||
"des *bytes*, vous ne trouverez pas facilement le bogue. Ce drapeau lève une "
|
||||
"exception lorsque ce genre de comparaison apparaît, facilitant ainsi sa "
|
||||
"exception lorsque ce genre de comparaison apparaît, facilitant ainsi son "
|
||||
"identification et sa localisation."
|
||||
|
||||
#: ../Doc/howto/pyporting.rst:410
|
||||
|
|
|
@ -1397,7 +1397,7 @@ msgid ""
|
|||
"it is to read? ::"
|
||||
msgstr ""
|
||||
"Par exemple, voici une RE qui utilise :const:`re.VERBOSE` ; vous pouvez "
|
||||
"constater qu'elle est beaucoup plus facile à lire ::"
|
||||
"constater qu'elle est beaucoup plus facile à lire ::"
|
||||
|
||||
#: ../Doc/howto/regex.rst:660
|
||||
msgid "Without the verbose setting, the RE would look like this::"
|
||||
|
@ -2655,7 +2655,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/howto/regex.rst:1367
|
||||
msgid "This is far more readable than::"
|
||||
msgstr "Ceci est beaucoup plus lisible que::"
|
||||
msgstr "Ceci est beaucoup plus lisible que ::"
|
||||
|
||||
#: ../Doc/howto/regex.rst:1373
|
||||
msgid "Feedback"
|
||||
|
|
199
howto/sockets.po
199
howto/sockets.po
|
@ -15,7 +15,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/howto/sockets.rst:5
|
||||
msgid "Socket Programming HOWTO"
|
||||
msgstr ""
|
||||
msgstr "Guide pratique : programmation avec les *sockets*"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:0
|
||||
msgid "Author"
|
||||
|
@ -38,6 +38,12 @@ msgid ""
|
|||
"a lot of them), but I hope it will give you enough background to begin using "
|
||||
"them decently."
|
||||
msgstr ""
|
||||
"Les connecteurs (*sockets*, en anglais) sont utilisés presque partout, mais "
|
||||
"ils sont l'une des technologies les plus méconnues. En voici un aperçu très "
|
||||
"général. Ce n'est pas vraiment un tutoriel — vous aurez encore du travail à "
|
||||
"faire pour avoir un résultat opérationnel. Il ne couvre pas les détails (et "
|
||||
"il y en a beaucoup), mais j'espère qu'il vous donnera suffisamment "
|
||||
"d'informations pour commencer à les utiliser correctement."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:20
|
||||
msgid "Sockets"
|
||||
|
@ -76,6 +82,14 @@ msgid ""
|
|||
"sockets exclusively; the web server it's talking to uses both \"server\" "
|
||||
"sockets and \"client\" sockets."
|
||||
msgstr ""
|
||||
"Une partie de la difficulté à comprendre ces choses est que « connecteur » "
|
||||
"peut désigner plusieurs choses très légèrement différentes, selon le "
|
||||
"contexte. Faisons donc d'abord une distinction entre un connecteur "
|
||||
"« client » — point final d'une conversation — et un connecteur « serveur », "
|
||||
"qui ressemble davantage à un standardiste. L'application cliente (votre "
|
||||
"navigateur par exemple) utilise exclusivement des connecteurs « client » ; "
|
||||
"le serveur web avec lequel elle parle utilise à la fois des connecteurs "
|
||||
"« serveur » et des connecteurs « client »."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:40
|
||||
msgid "History"
|
||||
|
@ -88,6 +102,11 @@ msgid ""
|
|||
"other forms of IPC that are faster, but for cross-platform communication, "
|
||||
"sockets are about the only game in town."
|
||||
msgstr ""
|
||||
"Parmi les différentes formes d’:abbr:`IPC (Inter Process Communication)`, "
|
||||
"les connecteurs sont de loin les plus populaires. Sur une plate-forme "
|
||||
"donnée, il est probable que d'autres formes d'\\ *IPC* soient plus rapides, "
|
||||
"mais pour la communication entre plates-formes, les connecteurs sont à peu "
|
||||
"près la seule solution valable."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:47
|
||||
msgid ""
|
||||
|
@ -96,6 +115,11 @@ msgid ""
|
|||
"of sockets with INET makes talking to arbitrary machines around the world "
|
||||
"unbelievably easy (at least compared to other schemes)."
|
||||
msgstr ""
|
||||
"Ils ont été inventés à Berkeley dans le cadre de la déclinaison *BSD* "
|
||||
"d'Unix. Ils se sont répandus comme une traînée de poudre avec Internet. Et "
|
||||
"pour cause : la combinaison des connecteurs avec *INET* rend le dialogue "
|
||||
"avec n’importe quelle machine dans le monde entier incroyablement facile (du "
|
||||
"moins par rapport à d'autres systèmes)."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:54
|
||||
msgid "Creating a Socket"
|
||||
|
@ -106,6 +130,8 @@ msgid ""
|
|||
"Roughly speaking, when you clicked on the link that brought you to this "
|
||||
"page, your browser did something like the following::"
|
||||
msgstr ""
|
||||
"Grosso modo, lorsque vous avez cliqué sur le lien qui vous a amené à cette "
|
||||
"page, votre navigateur a fait quelque chose comme ceci ::"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:64
|
||||
msgid ""
|
||||
|
@ -114,12 +140,19 @@ msgid ""
|
|||
"then be destroyed. That's right, destroyed. Client sockets are normally only "
|
||||
"used for one exchange (or a small set of sequential exchanges)."
|
||||
msgstr ""
|
||||
"Lorsque l’appel à ``connect`` est terminé, le connecteur ``s`` peut être "
|
||||
"utilisé pour envoyer une requête demandant le texte de la page. Le même "
|
||||
"connecteur lira la réponse, puis sera mis au rebut. C'est exact, mis au "
|
||||
"rebut. Les connecteurs clients ne sont normalement utilisés que pour un seul "
|
||||
"échange (ou un petit ensemble d'échanges séquentiels)."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:70
|
||||
msgid ""
|
||||
"What happens in the web server is a bit more complex. First, the web server "
|
||||
"creates a \"server socket\"::"
|
||||
msgstr ""
|
||||
"Ce qui se passe dans le serveur web est un peu plus complexe. Tout d'abord, "
|
||||
"le serveur web crée un « connecteur serveur » ::"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:80
|
||||
msgid ""
|
||||
|
@ -164,6 +197,8 @@ msgid ""
|
|||
"Now that we have a \"server\" socket, listening on port 80, we can enter the "
|
||||
"mainloop of the web server::"
|
||||
msgstr ""
|
||||
"Maintenant que nous avons un connecteur « serveur », en écoute sur le port "
|
||||
"80, nous pouvons entrer dans la boucle principale du serveur web ::"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:106
|
||||
msgid ""
|
||||
|
@ -180,6 +215,20 @@ msgid ""
|
|||
"The two \"clients\" are free to chat it up - they are using some dynamically "
|
||||
"allocated port which will be recycled when the conversation ends."
|
||||
msgstr ""
|
||||
"Il y a en fait trois façons générales de faire fonctionner cette boucle : "
|
||||
"mobiliser un fil d'exécution pour gérer les ``clientsocket``\\s, créer un "
|
||||
"nouveau processus pour gérer les ``clientsocket``\\s, ou restructurer cette "
|
||||
"application pour utiliser des connecteurs non bloquants, et multiplexer "
|
||||
"entre notre connecteur « serveur » et n'importe quel ``clientsocket`` actif "
|
||||
"en utilisant ``select``. Plus d'informations à ce sujet plus tard. La chose "
|
||||
"importante à comprendre maintenant est la suivante : c'est *tout* ce que "
|
||||
"fait un connecteur « serveur ». Il n'envoie aucune donnée. Il ne reçoit "
|
||||
"aucune donnée. Il ne fait que produire des connecteurs « clients ». Chaque "
|
||||
"``clientsocket`` est créé en réponse à un *autre* connecteur « client » qui "
|
||||
"se connecte à l'hôte et au port auxquels nous sommes liés. Dès que nous "
|
||||
"avons créé ce ``clientsocket``, nous retournons à l'écoute pour d'autres "
|
||||
"connexions. Les deux « clients » sont libres de discuter — ils utilisent un "
|
||||
"port alloué dynamiquement qui sera recyclé à la fin de la conversation."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:121
|
||||
msgid "IPC"
|
||||
|
@ -205,10 +254,12 @@ msgid ""
|
|||
"The :mod:`multiprocessing` integrates cross-platform IPC into a higher-level "
|
||||
"API."
|
||||
msgstr ""
|
||||
"Le :mod:`multiprocessing` intègre de l’IPC multiplateforme dans une API de "
|
||||
"plus haut niveau."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:134
|
||||
msgid "Using a Socket"
|
||||
msgstr ""
|
||||
msgstr "Utilisation d'un connecteur"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:136
|
||||
msgid ""
|
||||
|
@ -220,6 +271,14 @@ msgid ""
|
|||
"in a request, or perhaps a signon. But that's a design decision - it's not a "
|
||||
"rule of sockets."
|
||||
msgstr ""
|
||||
"La première chose à noter, c'est que la prise « client » du navigateur web "
|
||||
"et la prise « client » du serveur web sont des bêtes identiques. C'est-à-"
|
||||
"dire qu'il s'agit d'une conversation « pair à pair ». Ou pour le dire "
|
||||
"autrement, *en tant que concepteur, vous devrez décider quelles sont les "
|
||||
"règles d'étiquette pour une conversation*. Normalement, la connexion via "
|
||||
"``connect`` lance la conversation en envoyant une demande, ou peut-être un "
|
||||
"signe. Mais c'est une décision de conception — ce n'est pas une règle des "
|
||||
"connecteurs."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:143
|
||||
msgid ""
|
||||
|
@ -232,6 +291,16 @@ msgid ""
|
|||
"reply. Without a ``flush`` in there, you may wait forever for the reply, "
|
||||
"because the request may still be in your output buffer."
|
||||
msgstr ""
|
||||
"Il y a maintenant deux ensembles de verbes à utiliser pour la communication. "
|
||||
"Vous pouvez utiliser ``send`` et ``recv``, ou vous pouvez transformer votre "
|
||||
"connecteur client en une bête imitant un fichier et utiliser ``read`` et "
|
||||
"``write``. C'est la façon dont Java présente ses connecteurs. Je ne vais pas "
|
||||
"en parler ici, sauf pour vous avertir que vous devez utiliser ``flush`` sur "
|
||||
"les connecteurs. Ce sont des « fichiers », mis en mémoire tampon, et une "
|
||||
"erreur courante est d'« écrire » via ``write`` quelque chose, puis de "
|
||||
"« lire » via ``read`` pour obtenir une réponse. Sans un ``flush``, vous "
|
||||
"pouvez attendre la réponse pour toujours, parce que la requête peut encore "
|
||||
"être dans votre mémoire tampon de sortie."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:152
|
||||
msgid ""
|
||||
|
@ -243,6 +312,14 @@ msgid ""
|
|||
"you how many bytes they handled. It is *your* responsibility to call them "
|
||||
"again until your message has been completely dealt with."
|
||||
msgstr ""
|
||||
"Nous arrivons maintenant au principal écueil des connecteurs — ``send`` et "
|
||||
"``recv`` fonctionnent sur les mémoires tampons du réseau. Ils ne traitent "
|
||||
"pas nécessairement tous les octets que vous leur passez (ou que vous "
|
||||
"attendez d'eux), car leur principal objectif est de gérer les tampons "
|
||||
"réseau. En général, leur exécution se termine lorsque les tampons réseau "
|
||||
"associés ont été remplis (``send``) ou vidés (``recv``). Ils vous indiquent "
|
||||
"alors combien d'octets ils ont traité. Il est de *votre* responsabilité de "
|
||||
"les rappeler jusqu'à ce que votre message ait été complètement traité."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:160
|
||||
msgid ""
|
||||
|
@ -251,6 +328,10 @@ msgid ""
|
|||
"data on this connection. Ever. You may be able to send data successfully; "
|
||||
"I'll talk more about this later."
|
||||
msgstr ""
|
||||
"Lorsqu'un ``recv`` renvoie 0 octet, cela signifie que l'autre partie a fermé "
|
||||
"(ou est en train de fermer) la connexion. Vous ne recevrez plus de données "
|
||||
"sur cette connexion. Jamais. Vous pouvez peut-être envoyer des données avec "
|
||||
"succès. J’en parlerai plus tard."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:165
|
||||
msgid ""
|
||||
|
@ -306,6 +387,12 @@ msgid ""
|
|||
"gets more complex. (And in C, it's not much worse, except you can't use "
|
||||
"``strlen`` if the message has embedded ``\\0``\\ s.)"
|
||||
msgstr ""
|
||||
"Le code d'envoi ici est utilisable pour presque tous les systèmes de "
|
||||
"messagerie — en Python, vous envoyez des chaînes de caractères, et vous "
|
||||
"pouvez utiliser ``len()`` pour en déterminer la longueur (même si elle "
|
||||
"contient des caractères ``\\0``). C'est surtout le code de réception qui "
|
||||
"devient plus complexe. (Et en C, ce n'est pas bien pire, sauf que vous ne "
|
||||
"pouvez pas utiliser ``strlen`` si le message contient des ``\\0``\\ s)."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:223
|
||||
msgid ""
|
||||
|
@ -317,6 +404,15 @@ msgid ""
|
|||
"chunk size, (4096 or 8192 is frequently a good match for network buffer "
|
||||
"sizes), and scanning what you've received for a delimiter."
|
||||
msgstr ""
|
||||
"Le plus simple est de faire du premier caractère du message un indicateur du "
|
||||
"type de message, et de faire en sorte que le type détermine la longueur. "
|
||||
"Vous avez maintenant deux ``recv``\\ s — le premier pour obtenir (au moins) "
|
||||
"ce premier caractère afin de pouvoir déterminer la longueur, et le second "
|
||||
"dans une boucle pour obtenir le reste. Si vous décidez de suivre la route "
|
||||
"délimitée, vous recevrez un morceau de taille arbitraire (4096 ou 8192 est "
|
||||
"fréquemment une bonne valeur pour correspondre à la taille de la mémoire "
|
||||
"tampon du réseau), et vous analyserez ce que vous avez reçu pour trouver un "
|
||||
"délimiteur."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:231
|
||||
msgid ""
|
||||
|
@ -326,6 +422,12 @@ msgid ""
|
|||
"of a following message. You'll need to put that aside and hold onto it, "
|
||||
"until it's needed."
|
||||
msgstr ""
|
||||
"Une subtilité dont il faut être conscient : si votre protocole de "
|
||||
"conversation permet de renvoyer plusieurs messages les uns à la suite des "
|
||||
"autres (sans aucune sorte de réponse), et que vous passez à ``recv`` une "
|
||||
"taille de morceau arbitraire, vous pouvez en arriver à lire le début du "
|
||||
"message suivant. Vous devrez alors le mettre de côté et le conserver, "
|
||||
"jusqu'à ce que vous en ayez besoin."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:237
|
||||
msgid ""
|
||||
|
@ -338,6 +440,16 @@ msgid ""
|
|||
"not always manage to get rid of everything in one pass. And despite having "
|
||||
"read this, you will eventually get bit by it!"
|
||||
msgstr ""
|
||||
"Préfixer le message avec sa longueur (disons, sous la forme de 5 caractères "
|
||||
"numériques) devient plus complexe, parce que (croyez-le ou non), vous pouvez "
|
||||
"ne pas recevoir les 5 caractères en un seul ``recv``. Pour une utilisation "
|
||||
"triviale, vous vous en tirerez à bon compte ; mais en cas de forte charge "
|
||||
"réseau, votre code se cassera très rapidement, à moins que vous n’utilisiez "
|
||||
"deux boucles ``recv`` — la première pour déterminer la longueur, la deuxième "
|
||||
"pour obtenir la partie « données » du message. Vilain. C’est aussi à ce "
|
||||
"moment que vous découvrirez que « l’envoi » via ``send`` ne parvient pas "
|
||||
"toujours à tout évacuer en un seul passage. Et bien que vous ayez lu cet "
|
||||
"avertissement, vous finirez par vous faire avoir par cette subtilité !"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:246
|
||||
msgid ""
|
||||
|
@ -345,6 +457,10 @@ msgid ""
|
|||
"competitive position), these enhancements are left as an exercise for the "
|
||||
"reader. Lets move on to cleaning up."
|
||||
msgstr ""
|
||||
"Pour garder une longueur raisonnable à cette page, pour forger votre "
|
||||
"caractère (et afin de garder l’avantage concurrentiel que j’ai sur vous), "
|
||||
"ces améliorations ne seront pas abordées et sont laissées en exercice au "
|
||||
"lecteur. Passons maintenant au nettoyage."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:252
|
||||
msgid "Binary Data"
|
||||
|
@ -362,6 +478,18 @@ msgid ""
|
|||
"order is host order, these do nothing, but where the machine is byte-"
|
||||
"reversed, these swap the bytes around appropriately."
|
||||
msgstr ""
|
||||
"Il est parfaitement possible d’envoyer des données binaires sur un "
|
||||
"connecteur. Le gros problème est que toutes les machines n’utilisent pas les "
|
||||
"mêmes formats pour les données binaires. Par exemple, une puce Motorola code "
|
||||
"l'entier 1, sous 16 bits, comme les deux octets hexadécimaux 00 01. Intel et "
|
||||
"DEC, cependant, utilisent l’ordre d’octets inverse — ce même 1 est codé 01 "
|
||||
"00. Les bibliothèques de connecteurs ont des appels pour convertir des "
|
||||
"entiers de 16 et 32 bits — ``ntohl, htonl, ntohs, htons`` où ``n`` signifie "
|
||||
"*réseau* (*network*, en anglais) et ``h`` signifie *hôte*, ``s`` signifie "
|
||||
"*court* (*short*, en anglais) et ``l`` signifie *long*. Lorsque l’ordre du "
|
||||
"réseau est l’ordre de l’hôte, ceux-ci ne font rien, mais lorsque la machine "
|
||||
"utilise l’ordre d’octets inverse, ceux-ci échangent les octets de manière "
|
||||
"appropriée."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:264
|
||||
msgid ""
|
||||
|
@ -371,6 +499,13 @@ msgid ""
|
|||
"The string \"0\" would be two bytes, while binary is four. Of course, this "
|
||||
"doesn't fit well with fixed-length messages. Decisions, decisions."
|
||||
msgstr ""
|
||||
"De nos jours, avec les machines 32 bits, la représentation *ASCII* des "
|
||||
"données binaires est souvent plus compacte que la représentation binaire. "
|
||||
"C’est parce qu’un nombre surprenant de fois, tous ces *longs* ont la valeur "
|
||||
"0, ou peut-être 1. La chaîne « 0 » serait codée sur deux octets, alors "
|
||||
"qu'elle le serait sur quatre en binaire. Bien sûr, cela ne fonctionne pas "
|
||||
"très bien avec les messages de longueur fixe. Ah, les décisions, les "
|
||||
"décisions…"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:272
|
||||
msgid "Disconnecting"
|
||||
|
@ -387,6 +522,15 @@ msgid ""
|
|||
"same as ``shutdown(); close()``. So in most situations, an explicit "
|
||||
"``shutdown`` is not needed."
|
||||
msgstr ""
|
||||
"À proprement parler, vous êtes censé utiliser ``shutdown`` sur un connecteur "
|
||||
"pour l’arrêter avant de le fermer via ``close``. Le ``shutdown`` est un "
|
||||
"avertissement au connecteur de l’autre côté. Selon l’argument que vous lui "
|
||||
"passez, cela peut signifier « Je ne vais plus envoyer, mais je vais quand "
|
||||
"même écouter », ou « Je n’écoute pas, bon débarras ! ». La plupart des "
|
||||
"bibliothèques de connecteurs, cependant, sont tellement habituées à ce que "
|
||||
"les programmeurs négligent d’utiliser ce morceau d’étiquette que normalement "
|
||||
"un ``close`` est équivalent à ``shutdown() ; close()``. Ainsi, dans la "
|
||||
"plupart des situations, un ``shutdown`` explicite n’est pas nécessaire."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:282
|
||||
msgid ""
|
||||
|
@ -397,6 +541,13 @@ msgid ""
|
|||
"complete request. The server sends a reply. If the ``send`` completes "
|
||||
"successfully then, indeed, the client was still receiving."
|
||||
msgstr ""
|
||||
"Une façon d’utiliser efficacement le ``shutdown`` est d’utiliser un échange "
|
||||
"de type HTTP. Le client envoie une requête et effectue ensuite un "
|
||||
"``shutdown(1)``. Cela indique au serveur que « ce client a fini d’envoyer, "
|
||||
"mais peut encore recevoir ». Le serveur peut détecter *EOF* par une "
|
||||
"réception de 0 octet. Il peut supposer qu’il a la requête complète. Le "
|
||||
"serveur envoie une réponse. Si le ``send`` se termine avec succès, alors, en "
|
||||
"effet, le client était encore en train de recevoir."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:289
|
||||
msgid ""
|
||||
|
@ -407,10 +558,17 @@ msgid ""
|
|||
"indefinitely, thinking you're just being slow. *Please* ``close`` your "
|
||||
"sockets when you're done."
|
||||
msgstr ""
|
||||
"Python pousse l’arrêt automatique un peu plus loin, et dit que lorsqu’un "
|
||||
"connecteur est collecté par le ramasse-miette, il effectue automatiquement "
|
||||
"une fermeture via ``close`` si elle est nécessaire. Mais c’est une très "
|
||||
"mauvaise habitude de s’appuyer sur ce système. Si votre connecteur disparaît "
|
||||
"sans avoir fait un ``close``, le connecteur à l’autre bout peut rester "
|
||||
"suspendu indéfiniment, pensant que vous êtes juste lent. Fermez vos "
|
||||
"connecteurs quand vous avez terminé *s’il vous plait*."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:297
|
||||
msgid "When Sockets Die"
|
||||
msgstr ""
|
||||
msgstr "Quand les connecteurs meurent"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:299
|
||||
msgid ""
|
||||
|
@ -426,10 +584,23 @@ msgid ""
|
|||
"automatic recycling of resources. In other words, if you do manage to kill "
|
||||
"the thread, your whole process is likely to be screwed up."
|
||||
msgstr ""
|
||||
"Le pire dans l'utilisation de connecteurs bloquants est probablement ce qui "
|
||||
"se passe lorsque l'autre côté s'interrompt brutalement (sans faire de "
|
||||
"fermeture via ``close``). Votre connecteur risque d’attendre infiniment. TCP "
|
||||
"est un protocole fiable, et il attendra très, très longtemps avant "
|
||||
"d'abandonner une connexion. Si vous utilisez des fils d’exécution, le fil "
|
||||
"entier est pratiquement mort. Il n'y a pas grand-chose que vous puissiez "
|
||||
"faire à ce sujet. Du moment que vous ne faites rien de stupide, comme tenir "
|
||||
"un verrou verrouillé pendant une lecture bloquante, le fil ne consomme pas "
|
||||
"vraiment beaucoup de ressources. N'essayez *pas* de tuer le fil — si les "
|
||||
"fils sont plus efficients que les processus, c'est en partie parce qu'ils "
|
||||
"évitent les coûts significatifs liés au recyclage automatique des "
|
||||
"ressources. En d'autres termes, si vous parvenez à tuer le fil, tout votre "
|
||||
"processus risque d'être foutu."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:313
|
||||
msgid "Non-blocking Sockets"
|
||||
msgstr ""
|
||||
msgstr "Connecteurs non bloquants"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:315
|
||||
msgid ""
|
||||
|
@ -469,6 +640,13 @@ msgid ""
|
|||
"will grow large, buggy and suck CPU. So let's skip the brain-dead solutions "
|
||||
"and do it right."
|
||||
msgstr ""
|
||||
"La différence majeure de fonctionnement est que `send``, ``recv``, "
|
||||
"``connect`` et ``accept`` peuvent rendre la main sans avoir rien fait. Vous "
|
||||
"avez (bien sûr) un certain nombre de choix. Vous pouvez vérifier le code de "
|
||||
"retour et les codes d'erreur et, en général, devenir fou. Si vous ne me "
|
||||
"croyez pas, essayez un jour. Votre application va grossir, boguer et "
|
||||
"vampiriser le processeur. Alors, évitons les solutions vouées à l’échec dès "
|
||||
"le départ et faisons les choses correctement."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:334
|
||||
msgid "Use ``select``."
|
||||
|
@ -494,6 +672,15 @@ msgid ""
|
|||
"generally a sensible thing to do - give it a nice long timeout (say a "
|
||||
"minute) unless you have good reason to do otherwise."
|
||||
msgstr ""
|
||||
"Vous passez à ``select`` trois listes : la première contient tous les "
|
||||
"connecteurs dont vous souhaiter lire le contenu ; la deuxième tous les "
|
||||
"connecteurs sur lesquels vous voudriez écrire, et la dernière (normalement "
|
||||
"laissée vide) ceux sur lesquels vous voudriez vérifier s’il y a des erreurs. "
|
||||
"Prenez note qu'un connecteur peut figurer dans plus d'une liste. L'appel à "
|
||||
"``select`` est bloquant, mais vous pouvez lui donner un délai d'attente. "
|
||||
"C'est généralement une bonne chose à faire — donnez-lui un bon gros délai "
|
||||
"d'attente (disons une minute), à moins que vous n'ayez une bonne raison de "
|
||||
"ne pas le faire."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:355
|
||||
msgid ""
|
||||
|
@ -501,6 +688,10 @@ msgid ""
|
|||
"actually readable, writable and in error. Each of these lists is a subset "
|
||||
"(possibly empty) of the corresponding list you passed in."
|
||||
msgstr ""
|
||||
"En retour, vous recevrez trois listes. Elles contiennent les connecteurs qui "
|
||||
"sont réellement lisibles, inscriptibles et en erreur. Chacune de ces listes "
|
||||
"est un sous-ensemble (éventuellement vide) de la liste correspondante que "
|
||||
"vous avez transmise."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:359
|
||||
msgid ""
|
||||
|
|
|
@ -62,7 +62,7 @@ msgid ""
|
|||
"It returns a new sorted list::"
|
||||
msgstr ""
|
||||
"Un tri ascendant simple est très facile : il suffit d'appeler la fonction :"
|
||||
"func:`sorted`. Elle renvoie une nouvelle liste triée : ::"
|
||||
"func:`sorted`. Elle renvoie une nouvelle liste triée ::"
|
||||
|
||||
#: ../Doc/howto/sorting.rst:26
|
||||
msgid ""
|
||||
|
@ -365,7 +365,7 @@ msgstr ""
|
|||
"En portant du code depuis Python 2.X vers 3.x, des problèmes peuvent "
|
||||
"survenir quand des utilisateurs fournissent une fonction de comparaison et "
|
||||
"qu'il faut convertir cette fonction en une fonction-clef. La fonction "
|
||||
"d'encapsulation suivante rend cela plus facile à faire : ::"
|
||||
"d'encapsulation suivante rend cela plus facile à faire ::"
|
||||
|
||||
#: ../Doc/howto/sorting.rst:245
|
||||
msgid "To convert to a key function, just wrap the old comparison function:"
|
||||
|
@ -414,7 +414,7 @@ msgstr ""
|
|||
"Il est garanti que les routines de tri utilisent les méthodes :meth:`__lt__` "
|
||||
"lorsqu'elles effectuent des comparaisons entre deux objets. Donc il est "
|
||||
"facile d'ajouter un ordre de tri standard à une classe en définissant sa "
|
||||
"méthode :meth:`__lt__` : ::"
|
||||
"méthode :meth:`__lt__` ::"
|
||||
|
||||
#: ../Doc/howto/sorting.rst:285
|
||||
msgid ""
|
||||
|
|
215
howto/unicode.po
215
howto/unicode.po
|
@ -33,7 +33,7 @@ msgid ""
|
|||
"representing textual data, and explains various problems that people "
|
||||
"commonly encounter when trying to work with Unicode."
|
||||
msgstr ""
|
||||
"Ce HOWTO décrit la gestion de la spécification Unicode par Python pour les "
|
||||
"Ce guide décrit la gestion de la spécification Unicode par Python pour les "
|
||||
"données textuelles et explique les différents problèmes généralement "
|
||||
"rencontrés par les utilisateurs qui travaillent avec Unicode."
|
||||
|
||||
|
@ -59,7 +59,7 @@ msgstr ""
|
|||
"Les programmes d'aujourd'hui doivent être capables de traiter une grande "
|
||||
"variété de caractères. Les applications sont souvent internationalisées pour "
|
||||
"afficher les messages et les résultats dans une variété de langues "
|
||||
"sélectionnables par l'utilisateur ; le même programme peut avoir besoin "
|
||||
"sélectionnables par l'utilisateur ; le même programme peut avoir besoin "
|
||||
"d'afficher un message d'erreur en anglais, français, japonais, hébreu ou "
|
||||
"russe. Le contenu Web peut être écrit dans n'importe laquelle de ces langues "
|
||||
"et peut également inclure une variété de symboles émoji. Le type de chaîne "
|
||||
|
@ -93,8 +93,8 @@ msgstr ""
|
|||
"« B », « C », etc. sont tous des caractères différents. Il en va de même "
|
||||
"pour « È » et « Í ». Les caractères varient selon la langue ou le contexte "
|
||||
"dont vous parlez. Par exemple, il y a un caractère pour « Chiffre Romain "
|
||||
"Un » (*Roman Numeral One*) , « Ⅰ », qui est séparé de la lettre majuscule "
|
||||
"« I ». Ils se ressemblent généralement, mais ce sont deux caractères "
|
||||
"Un » (*Roman Numeral One*), « Ⅰ », qui est séparé de la lettre majuscule "
|
||||
"« I ». Ils se ressemblent généralement, mais ce sont deux caractères "
|
||||
"différents qui ont des significations différentes."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:42
|
||||
|
@ -108,7 +108,7 @@ msgstr ""
|
|||
"Le standard Unicode décrit comment les caractères sont représentés par les "
|
||||
"**points de code**. Une valeur de point de code est un nombre entier compris "
|
||||
"entre ``0`` et ``0x10FFFF`` (environ 1,1 million de valeurs, avec environ "
|
||||
"110 000 valeurs attribuées à ce jour). Dans le standard et dans le présent "
|
||||
"110 000 valeurs attribuées à ce jour). Dans le standard et dans le présent "
|
||||
"document, un point de code est écrit en utilisant la notation ``U+265E`` "
|
||||
"pour désigner le caractère avec la valeur ``0x265e`` (9 822 en décimal)."
|
||||
|
||||
|
@ -118,7 +118,7 @@ msgid ""
|
|||
"corresponding code points:"
|
||||
msgstr ""
|
||||
"La standard Unicode contient de nombreux tableaux contenant la liste des "
|
||||
"caractères et des points de code correspondants :"
|
||||
"caractères et des points de code correspondants :"
|
||||
|
||||
#: ../Doc/howto/unicode.rst:70
|
||||
msgid ""
|
||||
|
@ -129,9 +129,9 @@ msgid ""
|
|||
"and characters will sometimes be forgotten."
|
||||
msgstr ""
|
||||
"À proprement parler, ces définitions laissent entendre qu'il est inutile de "
|
||||
"dire « c'est le caractère ``U+265E`` ». ``U+265E`` est un point de code, qui "
|
||||
"représente un caractère particulier ; dans ce cas, il représente le "
|
||||
"caractère « BLACK CHESS KNIGHT », « ♞ ». Dans des contextes informels, cette "
|
||||
"dire « c'est le caractère ``U+265E`` ». ``U+265E`` est un point de code, qui "
|
||||
"représente un caractère particulier ; dans ce cas, il représente le "
|
||||
"caractère « BLACK CHESS KNIGHT », « ♞ ». Dans des contextes informels, cette "
|
||||
"distinction entre les points de code et les caractères sera parfois oubliée."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:77
|
||||
|
@ -147,7 +147,7 @@ msgstr ""
|
|||
"d’éléments graphiques appelé **glyphe**. Le glyphe d’un A majuscule, par "
|
||||
"exemple, est deux traits diagonaux et un trait horizontal, bien que les "
|
||||
"détails exacts dépendent de la police utilisée. La plupart du code Python "
|
||||
"n’a pas besoin de s’inquiéter des glyphes ; trouver le bon glyphe à afficher "
|
||||
"n’a pas besoin de s’inquiéter des glyphes ; trouver le bon glyphe à afficher "
|
||||
"est généralement le travail d’une boîte à outils GUI ou du moteur de rendu "
|
||||
"des polices d’un terminal."
|
||||
|
||||
|
@ -164,8 +164,8 @@ msgid ""
|
|||
"rules for translating a Unicode string into a sequence of bytes are called a "
|
||||
"**character encoding**, or just an **encoding**."
|
||||
msgstr ""
|
||||
"Pour résumer la section précédente : une chaîne Unicode est une séquence de "
|
||||
"points de code, qui sont des nombres de ``0`` à ``0x10FFFF`` (1 114 111 en "
|
||||
"Pour résumer la section précédente : une chaîne Unicode est une séquence de "
|
||||
"points de code, qui sont des nombres de ``0`` à ``0x10FFFF`` (1 114 111 en "
|
||||
"décimal). Cette séquence de points de code doit être stockée en mémoire sous "
|
||||
"la forme d'un ensemble de **unités de code**, et les **unités de code** sont "
|
||||
"ensuite transposées en octets de 8 bits. Les règles de traduction d'une "
|
||||
|
@ -181,7 +181,7 @@ msgstr ""
|
|||
"Le premier encodage auquel vous pouvez penser est l'utilisation d'entiers 32 "
|
||||
"bits comme unité de code, puis l'utilisation de la représentation des "
|
||||
"entiers 32 bits par le CPU. Dans cette représentation, la chaîne « Python » "
|
||||
"ressemblerait à ceci :"
|
||||
"ressemblerait à ceci :"
|
||||
|
||||
#: ../Doc/howto/unicode.rst:106
|
||||
msgid ""
|
||||
|
@ -194,7 +194,7 @@ msgstr ""
|
|||
#: ../Doc/howto/unicode.rst:109
|
||||
msgid "It's not portable; different processors order the bytes differently."
|
||||
msgstr ""
|
||||
"Elle n’est pas portable ; des processeurs différents ordonnent les octets "
|
||||
"Elle n’est pas portable ; des processeurs différents ordonnent les octets "
|
||||
"différemment."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:111
|
||||
|
@ -207,10 +207,10 @@ msgid ""
|
|||
"that large), but expanding our usage of disk and network bandwidth by a "
|
||||
"factor of 4 is intolerable."
|
||||
msgstr ""
|
||||
"Elle gâche beaucoup d'espace. Dans la plupart des textes, la majorité des "
|
||||
"Elle gâche beaucoup d'espace. Dans la plupart des textes, la majorité des "
|
||||
"points de code sont inférieurs à 127, ou à 255, donc beaucoup d'espace est "
|
||||
"occupé par des octets ``0x00``. La chaîne ci-dessus occupe 24 octets, à "
|
||||
"comparer aux 6 octets nécessaires pour une représentation en ASCII. "
|
||||
"comparer aux 6 octets nécessaires pour une représentation en ASCII. "
|
||||
"L'utilisation supplémentaire de RAM n'a pas trop d'importance (les "
|
||||
"ordinateurs de bureau ont des gigaoctets de RAM et les chaînes ne sont "
|
||||
"généralement pas si grandes que ça), mais l'accroissement de notre "
|
||||
|
@ -261,7 +261,7 @@ msgid ""
|
|||
"If the code point is >= 128, it's turned into a sequence of two, three, or "
|
||||
"four bytes, where each byte of the sequence is between 128 and 255."
|
||||
msgstr ""
|
||||
"Si le point de code est >= 128, il est transformé en une séquence de deux, "
|
||||
"Si le point de code est ≥ 128, il est transformé en une séquence de deux, "
|
||||
"trois ou quatre octets, où chaque octet de la séquence est compris entre 128 "
|
||||
"et 255."
|
||||
|
||||
|
@ -282,7 +282,7 @@ msgid ""
|
|||
"end-of-string markers."
|
||||
msgstr ""
|
||||
"Une chaîne Unicode est transformée en une séquence d’octets qui contient des "
|
||||
"octets zéro uniquement lorsqu’ils représentent le caractère nul (U+000000). "
|
||||
"octets zéro uniquement lorsqu’ils représentent le caractère nul (U+0000). "
|
||||
"Cela signifie que les chaînes UTF-8 peuvent être traitées par des fonctions "
|
||||
"C telles que ``strcpy()`` et envoyées par des protocoles pour qui les octets "
|
||||
"zéro signifient forcément la fin de chaîne."
|
||||
|
@ -318,7 +318,7 @@ msgid ""
|
|||
"oriented encodings, like UTF-16 and UTF-32, where the sequence of bytes "
|
||||
"varies depending on the hardware on which the string was encoded."
|
||||
msgstr ""
|
||||
"UTF-8 est un encodage orienté octets. L'encodage spécifie que chaque "
|
||||
"UTF-8 est un encodage orienté octet. L'encodage spécifie que chaque "
|
||||
"caractère est représenté par une séquence spécifique d'un ou plusieurs "
|
||||
"octets. Ceci permet d'éviter les problèmes d'ordre des octets qui peuvent "
|
||||
"survenir avec les encodages orientés entiers (*integer*) ou orientés mots "
|
||||
|
@ -340,7 +340,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Le site du `Consortium Unicode <http://www.unicode.org>`_, en anglais, a des "
|
||||
"diagrammes de caractères, un glossaire et des versions PDF de la "
|
||||
"spécification Unicode. Préparez-vous à une lecture difficile. Une "
|
||||
"spécification Unicode. Préparez-vous à une lecture difficile. Une "
|
||||
"`chronologie <http://www.unicode.org/history/>`_ de l’origine et du "
|
||||
"développement de l’Unicode est également disponible sur le site."
|
||||
|
||||
|
@ -377,7 +377,7 @@ msgstr ""
|
|||
"com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-"
|
||||
"positively-must-know-about-unicode-and-character-sets-no-excuses/>`_ a été "
|
||||
"écrit par Joel Spolsky. Si cette présente introduction ne vous a pas "
|
||||
"clarifié les choses, vous devriez essayer de lire cet article là avant de "
|
||||
"clarifié les choses, vous devriez essayer de lire cet article-là avant de "
|
||||
"continuer."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:177
|
||||
|
@ -386,7 +386,7 @@ msgid ""
|
|||
"encoding <https://en.wikipedia.org/wiki/Character_encoding>`_\" and `UTF-8 "
|
||||
"<https://en.wikipedia.org/wiki/UTF-8>`_, for example."
|
||||
msgstr ""
|
||||
"Les pages Wikipédia sont souvent utiles ; voir les pages pour « `Codage des "
|
||||
"Les pages Wikipédia sont souvent utiles ; voir les pages pour « `Codage des "
|
||||
"caractères <https://fr.wikipedia.org/wiki/Codage_des_caract%C3%A8res>`_ » et "
|
||||
"`UTF-8 <https://fr.wikipedia.org/wiki/UTF-8>`_, par exemple."
|
||||
|
||||
|
@ -430,7 +430,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"Side note: Python 3 also supports using Unicode characters in identifiers::"
|
||||
msgstr ""
|
||||
"Note : Python 3 sait gérer les caractères Unicode dans les identifiants ::"
|
||||
"Note : Python 3 sait gérer les caractères Unicode dans les identifiants ::"
|
||||
|
||||
#: ../Doc/howto/unicode.rst:211
|
||||
msgid ""
|
||||
|
@ -443,8 +443,8 @@ msgstr ""
|
|||
"si vous voulez garder le code source uniquement en ASCII pour une raison "
|
||||
"quelconque, vous pouvez également utiliser des séquences d'échappement dans "
|
||||
"les littéraux de chaîne (en fonction de votre système, il se peut que vous "
|
||||
"voyez le glyphe réel du *delta majuscule* au lieu d'une séquence "
|
||||
"d'échappement ``\\u...``) ::"
|
||||
"voyiez le glyphe réel du *delta majuscule* au lieu d'une séquence "
|
||||
"d'échappement ``\\u...``) ::"
|
||||
|
||||
#: ../Doc/howto/unicode.rst:223
|
||||
msgid ""
|
||||
|
@ -453,7 +453,7 @@ msgid ""
|
|||
"``UTF-8``, and optionally an *errors* argument."
|
||||
msgstr ""
|
||||
"De plus, une chaîne de caractères peut être créée en utilisant la méthode :"
|
||||
"func:`~bytes.decode` de la classe :class:`bytes`. Cette méthode prend un "
|
||||
"func:`~bytes.decode` de la classe :class:`bytes`. Cette méthode prend un "
|
||||
"argument *encoding*, ``UTF-8`` par exemple, et optionnellement un argument "
|
||||
"*errors*."
|
||||
|
||||
|
@ -470,7 +470,7 @@ msgstr ""
|
|||
"L'argument *errors* détermine la réponse lorsque la chaîne en entrée ne peut "
|
||||
"pas être convertie selon les règles de l'encodage. Les valeurs autorisées "
|
||||
"pour cet argument sont ``'strict'`` (« strict » : lève une exception :exc:"
|
||||
"`UnicodeDecodeError`) , ``'replace'`` (« remplacer » : utilise ``U+FFFD``, "
|
||||
"`UnicodeDecodeError`), ``'replace'`` (« remplacer » : utilise ``U+FFFD``, "
|
||||
"``REPLACEMENT CARACTER``), ``'ignore'`` (« ignorer » : n'inclut pas le "
|
||||
"caractère dans le résultat Unicode) ou ``'backslashreplace'`` (« remplacer "
|
||||
"avec antislash » : insère une séquence d’échappement ``\\xNN``). Les "
|
||||
|
@ -486,9 +486,9 @@ msgid ""
|
|||
msgstr ""
|
||||
"Les encodages sont spécifiés sous forme de chaînes de caractères contenant "
|
||||
"le nom de l'encodage. Python est livré avec une centaine d'encodages "
|
||||
"différents ; voir la référence de la bibliothèque Python sur les :ref:"
|
||||
"différents ; voir la référence de la bibliothèque Python sur les :ref:"
|
||||
"`encodages standards <standard-encodings>` pour une liste. Certains "
|
||||
"encodages ont plusieurs noms ; par exemple, ``'latin-1'``, ``'iso_8859_1'`` "
|
||||
"encodages ont plusieurs noms ; par exemple, ``'latin-1'``, ``'iso_8859_1'`` "
|
||||
"et ``'8859'`` sont tous synonymes du même encodage."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:253
|
||||
|
@ -556,7 +556,7 @@ msgstr ""
|
|||
"`codecs`. Cependant, les fonctions d'encodage et de décodage renvoyées par "
|
||||
"ce module sont généralement de bas-niveau pour être facilement utilisées et "
|
||||
"l'écriture de nouveaux encodages est une tâche très spécialisée, donc le "
|
||||
"module ne sera pas couvert dans ce HOWTO."
|
||||
"module ne sera pas couvert dans ce guide."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:309
|
||||
msgid "Unicode Literals in Python Source Code"
|
||||
|
@ -571,7 +571,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Dans le code source Python, des points de code Unicode spécifiques peuvent "
|
||||
"être écrits en utilisant la séquence d'échappement ``\\u``, suivie de quatre "
|
||||
"chiffres hexadécimaux donnant le point de code. La séquence d'échappement ``"
|
||||
"chiffres hexadécimaux donnant le point de code. La séquence d'échappement ``"
|
||||
"\\U`` est similaire, mais attend huit chiffres hexadécimaux, pas quatre ::"
|
||||
|
||||
#: ../Doc/howto/unicode.rst:323
|
||||
|
@ -586,7 +586,7 @@ msgstr ""
|
|||
"à 127 est acceptable à faible dose, mais devient gênante si vous utilisez "
|
||||
"beaucoup de caractères accentués, comme c'est le cas dans un programme avec "
|
||||
"des messages en français ou dans une autre langue utilisant des lettres "
|
||||
"accentuées. Vous pouvez également assembler des chaînes de caractères à "
|
||||
"accentuées. Vous pouvez également assembler des chaînes de caractères à "
|
||||
"l'aide de la fonction native :func:`chr`, mais c'est encore plus fastidieux."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:329
|
||||
|
@ -597,8 +597,8 @@ msgid ""
|
|||
"characters used at runtime."
|
||||
msgstr ""
|
||||
"Idéalement, vous devriez être capable d'écrire des littéraux dans l'encodage "
|
||||
"naturel de votre langue. Vous pourriez alors éditer le code source de "
|
||||
"Python avec votre éditeur favori qui affiche les caractères accentués "
|
||||
"naturel de votre langue. Vous pourriez alors éditer le code source de Python "
|
||||
"avec votre éditeur favori qui affiche les caractères accentués "
|
||||
"naturellement, et a les bons caractères utilisés au moment de l'exécution."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:334
|
||||
|
@ -610,7 +610,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Python considère que le code source est écrit en UTF-8 par défaut, mais vous "
|
||||
"pouvez utiliser presque n'importe quel encodage si vous déclarez l'encodage "
|
||||
"utilisé. Cela se fait en incluant un commentaire spécial sur la première ou "
|
||||
"utilisé. Cela se fait en incluant un commentaire spécial sur la première ou "
|
||||
"la deuxième ligne du fichier source ::"
|
||||
|
||||
#: ../Doc/howto/unicode.rst:344
|
||||
|
@ -621,12 +621,12 @@ msgid ""
|
|||
"special; they have no significance to Python but are a convention. Python "
|
||||
"looks for ``coding: name`` or ``coding=name`` in the comment."
|
||||
msgstr ""
|
||||
"La syntaxe s'inspire de la notation d'Emacs pour spécifier les variables "
|
||||
"La syntaxe s'inspire de la notation d'*Emacs* pour spécifier les variables "
|
||||
"locales à un fichier. *Emacs* supporte de nombreuses variables différentes, "
|
||||
"mais Python ne gère que *coding*. Les symboles ``-*-`` indiquent à Emacs "
|
||||
"que le commentaire est spécial ; ils n'ont aucune signification pour Python "
|
||||
"mais sont une convention. Python cherche ``coding: name`` ou "
|
||||
"``coding=name`` dans le commentaire."
|
||||
"mais Python ne gère que *coding*. Les symboles ``-*-`` indiquent à *Emacs* "
|
||||
"que le commentaire est spécial ; ils n'ont aucune signification pour Python "
|
||||
"mais sont une convention. Python cherche ``coding: name`` ou ``coding=name`` "
|
||||
"dans le commentaire."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:350
|
||||
msgid ""
|
||||
|
@ -634,7 +634,7 @@ msgid ""
|
|||
"as already mentioned. See also :pep:`263` for more information."
|
||||
msgstr ""
|
||||
"Si vous n'incluez pas un tel commentaire, l'encodage par défaut est UTF-8 "
|
||||
"comme déjà mentionné. Voir aussi la :pep:`263` pour plus d'informations."
|
||||
"comme déjà mentionné. Voir aussi la :pep:`263` pour plus d'informations."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:355
|
||||
msgid "Unicode Properties"
|
||||
|
@ -684,10 +684,10 @@ msgstr ""
|
|||
"Les codes de catégorie sont des abréviations décrivant la nature du "
|
||||
"caractère. Celles-ci sont regroupées en catégories telles que « Lettre », "
|
||||
"« Nombre », « Ponctuation » ou « Symbole », qui sont à leur tour divisées en "
|
||||
"sous-catégories. Pour prendre par exemple les codes de la sortie ci-dessus, "
|
||||
"sous-catégories. Pour prendre par exemple les codes de la sortie ci-dessus, "
|
||||
"``'Ll'`` signifie « Lettre, minuscules », ``'No'`` signifie « Nombre, "
|
||||
"autre », ``'Mn'`` est « Marque, non-espaçant », et ``'So'`` est « Symbole, "
|
||||
"autre ». Voir la section `Valeurs générales des catégories de la "
|
||||
"autre ». Voir la section `Valeurs générales des catégories de la "
|
||||
"documentation de la base de données de caractères Unicode <http://www."
|
||||
"unicode.org/reports/tr44/#General_Category_Values>`_ (ressource en anglais) "
|
||||
"pour une liste de codes de catégories."
|
||||
|
@ -707,12 +707,12 @@ msgid ""
|
|||
msgstr ""
|
||||
"Unicode ajoute une certaine complication à la comparaison des chaînes de "
|
||||
"caractères, car le même jeu de caractères peut être représenté par "
|
||||
"différentes séquences de points de code. Par exemple, une lettre comme "
|
||||
"« ê » peut être représentée comme un point de code unique ``U+00EA``, ou "
|
||||
"comme ``U+0065 U+0302``, qui est le point de code pour « e » suivi d'un "
|
||||
"point de code pour ``COMBINING CIRCUMFLEX ACCENT``. Celles-ci produisent le "
|
||||
"même résultat lorsqu'elles sont affichées, mais l'une est une chaîne de "
|
||||
"caractères de longueur 1 et l'autre de longueur 2."
|
||||
"différentes séquences de points de code. Par exemple, une lettre comme « ê » "
|
||||
"peut être représentée comme un point de code unique ``U+00EA``, ou comme ``U"
|
||||
"+0065 U+0302``, qui est le point de code pour « e » suivi d'un point de code "
|
||||
"pour ``COMBINING CIRCUMFLEX ACCENT``. Celles-ci produisent le même résultat "
|
||||
"lorsqu'elles sont affichées, mais l'une est une chaîne de caractères de "
|
||||
"longueur 1 et l'autre de longueur 2."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:411
|
||||
msgid ""
|
||||
|
@ -724,7 +724,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Un outil pour une comparaison insensible à la casse est la méthode :meth:"
|
||||
"`~str.casefold` qui convertit une chaîne en une forme insensible à la casse "
|
||||
"suivant un algorithme décrit par le standard Unicode. Cet algorithme a un "
|
||||
"suivant un algorithme décrit par le standard Unicode. Cet algorithme a un "
|
||||
"traitement spécial pour les caractères tels que la lettre allemande "
|
||||
"« *ß* » (point de code ``U+00DF``), qui devient la paire de lettres "
|
||||
"minuscules « *ss* »."
|
||||
|
@ -744,7 +744,7 @@ msgstr ""
|
|||
"combinaison sont remplacées par des caractères simples. :func:`normalize` "
|
||||
"peut être utilisée pour effectuer des comparaisons qui ne rapportent pas "
|
||||
"faussement les inégalités si deux chaînes utilisent différents caractères de "
|
||||
"combinaison :"
|
||||
"combinaison :"
|
||||
|
||||
#: ../Doc/howto/unicode.rst:447
|
||||
msgid "When run, this outputs:"
|
||||
|
@ -773,7 +773,7 @@ msgid ""
|
|||
"string, so the result needs to be normalized again. See section 3.13 of the "
|
||||
"Unicode Standard for a discussion and an example.)"
|
||||
msgstr ""
|
||||
"Ceci affiche ``True``. (Pourquoi :func:`NFD` est-il invoqué deux fois ? "
|
||||
"Ceci affiche ``True``. (Pourquoi :func:`NFD` est-il invoqué deux fois ? "
|
||||
"Parce qu'il y a quelques caractères qui font que :meth:`casefold` renvoie "
|
||||
"une chaîne non normalisée, donc le résultat doit être normalisé à nouveau. "
|
||||
"Voir la section 3.13 du standard Unicode pour une discussion et un exemple)."
|
||||
|
@ -792,9 +792,9 @@ msgid ""
|
|||
"in the ``'Nd'`` category."
|
||||
msgstr ""
|
||||
"Les expressions régulières gérées par le module :mod:`re` peuvent être "
|
||||
"fournies sous forme de chaîne d'octets ou de texte. Certaines séquences de "
|
||||
"fournies sous forme de chaîne d'octets ou de texte. Certaines séquences de "
|
||||
"caractères spéciaux telles que ``\\d`` et ``\\w`` ont des significations "
|
||||
"différentes selon que le motif est fourni en octets ou en texte. Par "
|
||||
"différentes selon que le motif est fourni en octets ou en texte. Par "
|
||||
"exemple, ``\\d`` correspond aux caractères ``[0-9]`` en octets mais dans les "
|
||||
"chaînes de caractères correspond à tout caractère de la catégorie ``'Nd'``."
|
||||
|
||||
|
@ -813,7 +813,7 @@ msgid ""
|
|||
"match the substring \"57\" instead."
|
||||
msgstr ""
|
||||
"Une fois exécuté, ``\\d+`` correspond aux chiffres thaïlandais et les "
|
||||
"affiche. Si vous fournissez le drapeau :const:`re.ASCII` à :func:`~re."
|
||||
"affiche. Si vous fournissez le drapeau :const:`re.ASCII` à :func:`~re."
|
||||
"compile`, ``\\d+`` correspond cette fois à la chaîne \"57\"."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:506
|
||||
|
@ -831,7 +831,7 @@ msgstr ""
|
|||
msgid "Some good alternative discussions of Python's Unicode support are:"
|
||||
msgstr ""
|
||||
"Quelques bonnes discussions alternatives sur la gestion d'Unicode par Python "
|
||||
"sont :"
|
||||
"sont :"
|
||||
|
||||
#: ../Doc/howto/unicode.rst:519
|
||||
msgid ""
|
||||
|
@ -847,7 +847,7 @@ msgid ""
|
|||
"2012 presentation by Ned Batchelder."
|
||||
msgstr ""
|
||||
"`Pragmatic Unicode <https://nedbatchelder.com/text/unipain.html>`_, une "
|
||||
"présentation PyCon 2012 par Ned Batchelder."
|
||||
"présentation *PyCon* 2012 par Ned Batchelder."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:522
|
||||
msgid ""
|
||||
|
@ -875,7 +875,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Marc-André Lemburg a donné une présentation intitulée `« Python et "
|
||||
"Unicode » (diapositives PDF) <https://downloads.egenix.com/python/Unicode-"
|
||||
"EPC2002-Talk.pdf>`_ à EuroPython 2002. Les diapositives sont un excellent "
|
||||
"EPC2002-Talk.pdf>`_ à *EuroPython* 2002. Les diapositives sont un excellent "
|
||||
"aperçu de la conception des fonctionnalités Unicode de Python 2 (où le type "
|
||||
"de chaîne Unicode est appelé ``unicode`` et les littéraux commencent par "
|
||||
"``u``)."
|
||||
|
@ -893,7 +893,7 @@ msgstr ""
|
|||
"Une fois que vous avez écrit du code qui fonctionne avec des données "
|
||||
"Unicode, le problème suivant concerne les entrées/sorties. Comment obtenir "
|
||||
"des chaînes Unicode dans votre programme et comment convertir les chaînes "
|
||||
"Unicode dans une forme appropriée pour le stockage ou la transmission ?"
|
||||
"Unicode dans une forme appropriée pour le stockage ou la transmission ?"
|
||||
|
||||
#: ../Doc/howto/unicode.rst:543
|
||||
msgid ""
|
||||
|
@ -904,7 +904,7 @@ msgid ""
|
|||
"valued columns and can return Unicode values from an SQL query."
|
||||
msgstr ""
|
||||
"Il est possible que vous n'ayez rien à faire en fonction de vos sources "
|
||||
"d'entrée et des destinations de vos données de sortie ; il convient de "
|
||||
"d'entrée et des destinations de vos données de sortie ; il convient de "
|
||||
"vérifier si les bibliothèques utilisées dans votre application gèrent "
|
||||
"l'Unicode nativement. Par exemple, les analyseurs XML renvoient souvent des "
|
||||
"données Unicode. De nombreuses bases de données relationnelles prennent "
|
||||
|
@ -938,15 +938,15 @@ msgid ""
|
|||
"least a moment you'd need to have both the encoded string and its Unicode "
|
||||
"version in memory.)"
|
||||
msgstr ""
|
||||
"La nature multi-octets des encodages pose problème ; un caractère Unicode "
|
||||
"La nature multi-octets des encodages pose problème ; un caractère Unicode "
|
||||
"peut être représenté par plusieurs octets. Si vous voulez lire le fichier "
|
||||
"par morceaux de taille arbitraire (disons 1024 ou 4096 octets), vous devez "
|
||||
"écrire un code de gestion des erreurs pour détecter le cas où une partie "
|
||||
"seulement des octets codant un seul caractère Unicode est lue à la fin d'un "
|
||||
"morceau. Une solution serait de lire le fichier entier en mémoire et "
|
||||
"d'effectuer le décodage, mais cela vous empêche de travailler avec des "
|
||||
"fichiers extrêmement volumineux ; si vous avez besoin de lire un fichier de "
|
||||
"2 GiB, vous avez besoin de 2 GiB de RAM (plus que ça, en fait, puisque "
|
||||
"fichiers extrêmement volumineux ; si vous avez besoin de lire un fichier de "
|
||||
"2 Gio, vous avez besoin de 2 Gio de RAM (plus que ça, en fait, puisque "
|
||||
"pendant un moment, vous aurez besoin d'avoir à la fois la chaîne encodée et "
|
||||
"sa version Unicode en mémoire)."
|
||||
|
||||
|
@ -962,14 +962,14 @@ msgid ""
|
|||
"meth:`str.encode` and :meth:`bytes.decode`."
|
||||
msgstr ""
|
||||
"La solution serait d'utiliser l'interface de décodage de bas-niveau pour "
|
||||
"intercepter le cas des séquences d'encodage incomplètes. Ce travail "
|
||||
"d'implémentation a déjà été fait pour vous : la fonction native :func:`open` "
|
||||
"intercepter le cas des séquences d'encodage incomplètes. Ce travail "
|
||||
"d'implémentation a déjà été fait pour vous : la fonction native :func:`open` "
|
||||
"peut renvoyer un objet de type fichier qui suppose que le contenu du fichier "
|
||||
"est dans un encodage spécifié et accepte les paramètres Unicode pour des "
|
||||
"méthodes telles que :meth:`~io.TextIOBase.read` et :meth:`~io.TextIOBase."
|
||||
"write`. Ceci fonctionne grâce aux paramètres *encoding* et *errors* de :"
|
||||
"func:`open` qui sont interprétés comme ceux de :meth:`str.encode` et :meth:"
|
||||
"`bytes.decode`."
|
||||
"write`. Ceci fonctionne grâce aux paramètres *encoding* et *errors* de :func:"
|
||||
"`open` qui sont interprétés comme ceux de :meth:`str.encode` et :meth:`bytes."
|
||||
"decode`."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:573
|
||||
msgid "Reading Unicode from a file is therefore simple::"
|
||||
|
@ -999,13 +999,13 @@ msgstr ""
|
|||
"boutisme (c'est-à-dire l'ordre dans lequel les octets sont placés pour "
|
||||
"indiquer une valeur sur plusieurs octets, *byte-order mark* en anglais ou "
|
||||
"*BOM*), et est souvent écrit en tête (premier caractère) d'un fichier afin "
|
||||
"d'aider à l'auto-détection du boutisme du fichier. Certains encodages, "
|
||||
"comme UTF-16, s'attendent à ce qu'une BOM soit présente au début d'un "
|
||||
"fichier ; lorsqu'un tel encodage est utilisé, la BOM sera automatiquement "
|
||||
"écrite comme premier caractère et sera silencieusement retirée lorsque le "
|
||||
"fichier sera lu. Il existe des variantes de ces encodages, comme ``utf-16-"
|
||||
"le`` et ``utf-16-be`` pour les encodages petit-boutiste et gros-boutiste, "
|
||||
"qui spécifient un ordre d'octets donné et ne sautent pas la BOM."
|
||||
"d'aider à l'auto-détection du boutisme du fichier. Certains encodages, comme "
|
||||
"UTF-16, s'attendent à ce qu'une *BOM* soit présente au début d'un fichier ; "
|
||||
"lorsqu'un tel encodage est utilisé, la *BOM* sera automatiquement écrite "
|
||||
"comme premier caractère et sera silencieusement retirée lorsque le fichier "
|
||||
"sera lu. Il existe des variantes de ces encodages, comme ``utf-16-le`` et "
|
||||
"``utf-16-be`` pour les encodages petit-boutiste et gros-boutiste, qui "
|
||||
"spécifient un ordre d'octets donné et ne sautent pas la *BOM*."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:596
|
||||
msgid ""
|
||||
|
@ -1016,9 +1016,9 @@ msgid ""
|
|||
"if present."
|
||||
msgstr ""
|
||||
"Dans certains cas, il est également d'usage d'utiliser une *BOM* au début "
|
||||
"des fichiers encodés en UTF-8 ; le nom est trompeur puisque l'UTF-8 ne "
|
||||
"des fichiers encodés en UTF-8 ; le nom est trompeur puisque l'UTF-8 ne "
|
||||
"dépend pas de l'ordre des octets. La marque annonce simplement que le "
|
||||
"fichier est encodé en UTF-8. Pour lire ces fichiers, utilisez le codec "
|
||||
"fichier est encodé en UTF-8. Pour lire ces fichiers, utilisez le codec "
|
||||
"``utf-8-sig`` pour sauter automatiquement la marque si elle est présente."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:603
|
||||
|
@ -1038,13 +1038,13 @@ msgid ""
|
|||
msgstr ""
|
||||
"La plupart des systèmes d'exploitation couramment utilisés aujourd'hui "
|
||||
"prennent en charge les noms de fichiers qui contiennent des caractères "
|
||||
"Unicode arbitraires. Habituellement, ceci est implémenté en convertissant "
|
||||
"la chaîne Unicode en un encodage qui varie en fonction du système. "
|
||||
"Aujourd'hui, Python converge vers l'utilisation d'UTF-8 : Python sous MacOS "
|
||||
"utilise UTF-8 depuis plusieurs versions et Python 3.6 sous Windows est passé "
|
||||
"à UTF-8 également. Sur les systèmes Unix, il n'y aura un encodage pour le "
|
||||
"système de fichiers que si vous avez défini les variables d'environnement "
|
||||
"``LANG`` ou ``LC_CTYPE`` ; sinon, l'encodage par défaut est UTF-8."
|
||||
"Unicode arbitraires. Habituellement, ceci est implémenté en convertissant la "
|
||||
"chaîne Unicode en un encodage qui varie en fonction du système. Aujourd'hui, "
|
||||
"Python converge vers l'utilisation d'UTF-8 : Python sous MacOS utilise UTF-8 "
|
||||
"depuis plusieurs versions et Python 3.6 sous Windows est passé à UTF-8 "
|
||||
"également. Sur les systèmes Unix, il n'y aura un encodage pour le système de "
|
||||
"fichiers que si vous avez défini les variables d'environnement ``LANG`` ou "
|
||||
"``LC_CTYPE`` ; sinon, l'encodage par défaut est UTF-8."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:615
|
||||
msgid ""
|
||||
|
@ -1056,7 +1056,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"La fonction :func:`sys.getfilesystemencoding` renvoie l'encodage à utiliser "
|
||||
"sur votre système actuel, au cas où vous voudriez faire l'encodage "
|
||||
"manuellement, mais il n'y a pas vraiment de raisons de s'embêter avec ça. "
|
||||
"manuellement, mais il n'y a pas vraiment de raisons de s'embêter avec ça. "
|
||||
"Lors de l'ouverture d'un fichier pour la lecture ou l'écriture, vous pouvez "
|
||||
"généralement simplement fournir la chaîne Unicode comme nom de fichier et "
|
||||
"elle est automatiquement convertie à l'encodage qui convient ::"
|
||||
|
@ -1082,14 +1082,14 @@ msgid ""
|
|||
"program::"
|
||||
msgstr ""
|
||||
"La fonction :func:`os.listdir` renvoie des noms de fichiers, ce qui soulève "
|
||||
"un problème : doit-elle renvoyer la version Unicode des noms de fichiers ou "
|
||||
"doit-elle renvoyer des chaînes d'octets contenant les versions encodées ? :"
|
||||
"un problème : doit-elle renvoyer la version Unicode des noms de fichiers ou "
|
||||
"doit-elle renvoyer des chaînes d'octets contenant les versions encodées ? :"
|
||||
"func:`os.listdir` peut faire les deux, selon que vous fournissez le chemin "
|
||||
"du répertoire en chaîne d'octets ou en chaîne Unicode. Si vous passez une "
|
||||
"du répertoire en chaîne d'octets ou en chaîne Unicode. Si vous passez une "
|
||||
"chaîne Unicode comme chemin d'accès, les noms de fichiers sont décodés en "
|
||||
"utilisant l'encodage du système de fichiers et une liste de chaînes Unicode "
|
||||
"est renvoyée, tandis que passer un chemin d'accès en chaîne d'octets renvoie "
|
||||
"les noms de fichiers comme chaîne d'octets. Par exemple, en supposant que "
|
||||
"les noms de fichiers comme chaîne d'octets. Par exemple, en supposant que "
|
||||
"l'encodage par défaut du système de fichiers est UTF-8, exécuter le "
|
||||
"programme suivant ::"
|
||||
|
||||
|
@ -1113,8 +1113,8 @@ msgid ""
|
|||
"now."
|
||||
msgstr ""
|
||||
"Notez que, dans la plupart des cas, il convient de vous en tenir à "
|
||||
"l'utilisation d'Unicode avec ces APIs. Les API d'octets ne devraient être "
|
||||
"utilisées que sur les systèmes où des noms de fichiers non décodables "
|
||||
"l'utilisation d'Unicode avec ces *APIs*. Les *API* d'octets ne devraient "
|
||||
"être utilisées que sur les systèmes où des noms de fichiers non décodables "
|
||||
"peuvent être présents. Cela ne concerne pratiquement que des systèmes Unix "
|
||||
"maintenant."
|
||||
|
||||
|
@ -1132,7 +1132,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/howto/unicode.rst:669
|
||||
msgid "The most important tip is:"
|
||||
msgstr "Le conseil le plus important est:"
|
||||
msgstr "Le conseil le plus important est :"
|
||||
|
||||
#: ../Doc/howto/unicode.rst:671
|
||||
msgid ""
|
||||
|
@ -1154,8 +1154,8 @@ msgstr ""
|
|||
"Si vous essayez d'écrire des fonctions de traitement qui acceptent à la fois "
|
||||
"les chaînes Unicode et les chaînes d'octets, les possibilités d'occurrences "
|
||||
"de bogues dans votre programme augmentent partout où vous combinez les deux "
|
||||
"différents types de chaînes. Il n'y a pas d'encodage ou de décodage "
|
||||
"automatique : si vous faites par exemple ``str + octets``, une :exc:"
|
||||
"différents types de chaînes. Il n'y a pas d'encodage ou de décodage "
|
||||
"automatique : si vous faites par exemple ``str + octets``, une :exc:"
|
||||
"`TypeError` est levée."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:679
|
||||
|
@ -1173,10 +1173,10 @@ msgstr ""
|
|||
"autre source non fiable, une technique courante consiste à vérifier la "
|
||||
"présence de caractères illégaux dans une chaîne de caractères avant de "
|
||||
"l'utiliser pour générer une ligne de commande ou de la stocker dans une base "
|
||||
"de données. Si vous le faites, vérifiez bien la chaîne décodée, pas les "
|
||||
"données d'octets codés ; certains encodages peuvent avoir des propriétés "
|
||||
"de données. Si vous le faites, vérifiez bien la chaîne décodée, pas les "
|
||||
"données d'octets codés ; certains encodages peuvent avoir des propriétés "
|
||||
"intéressantes, comme ne pas être bijectifs ou ne pas être entièrement "
|
||||
"compatibles avec l'ASCII. C'est particulièrement vrai si l'encodage est "
|
||||
"compatibles avec l'ASCII. C'est particulièrement vrai si l'encodage est "
|
||||
"spécifié explicitement dans vos données d'entrée, car l'attaquant peut alors "
|
||||
"choisir un moyen intelligent de cacher du texte malveillant dans le flux de "
|
||||
"données encodé."
|
||||
|
@ -1216,11 +1216,10 @@ msgid ""
|
|||
"to examine or modify the ASCII parts, you can open the file with the "
|
||||
"``surrogateescape`` error handler::"
|
||||
msgstr ""
|
||||
"Vous avez besoin de modifier un fichier mais vous ne connaissez pas "
|
||||
"l'encodage du fichier ? Si vous savez que l'encodage est compatible ASCII "
|
||||
"et que vous voulez seulement examiner ou modifier les parties ASCII, vous "
|
||||
"pouvez ouvrir le fichier avec le gestionnaire d'erreurs "
|
||||
"``surrogateescape`` ::"
|
||||
"Vous avez besoin de modifier un fichier, mais vous ne connaissez pas son "
|
||||
"encodage ? Si vous savez que l'encodage est compatible ASCII et que vous "
|
||||
"voulez seulement examiner ou modifier les parties ASCII, vous pouvez ouvrir "
|
||||
"le fichier avec le gestionnaire d'erreurs ``surrogateescape`` ::"
|
||||
|
||||
#: ../Doc/howto/unicode.rst:726
|
||||
msgid ""
|
||||
|
@ -1231,7 +1230,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Le gestionnaire d'erreurs ``surrogateescape`` décode tous les octets non-"
|
||||
"ASCII comme points de code dans une plage spéciale allant de ``U+DC80`` à ``U"
|
||||
"+DCFF``. Ces points de code redeviennent alors les mêmes octets lorsque le "
|
||||
"+DCFF``. Ces points de code redeviennent alors les mêmes octets lorsque le "
|
||||
"gestionnaire d'erreurs ``surrogateescape`` est utilisé pour encoder les "
|
||||
"données et les réécrire."
|
||||
|
||||
|
@ -1243,8 +1242,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Une partie de la conférence `Mastering Python 3 Input/Output <http://pyvideo."
|
||||
"org/video/289/pycon-2010--mastering-python-3-i-o>`_ (ressource en anglais), "
|
||||
"donnée lors de PyCon 2010 de David Beazley, parle du traitement de texte et "
|
||||
"du traitement des données binaires."
|
||||
"donnée lors de *PyCon* 2010 de David Beazley, parle du traitement de texte "
|
||||
"et du traitement des données binaires."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:740
|
||||
msgid ""
|
||||
|
@ -1258,7 +1257,7 @@ msgstr ""
|
|||
"Unicodeaware Applications in Python\" <https://downloads.egenix.com/python/"
|
||||
"LSM2005-Developing-Unicode-aware-applications-in-Python.pdf>`_ (ressource en "
|
||||
"anglais) traite des questions d'encodage de caractères ainsi que de "
|
||||
"l'internationalisation et de la localisation d'une application. Ces "
|
||||
"l'internationalisation et de la localisation d'une application. Ces "
|
||||
"diapositives ne couvrent que Python 2.x."
|
||||
|
||||
#: ../Doc/howto/unicode.rst:746
|
||||
|
@ -1268,7 +1267,7 @@ msgid ""
|
|||
"discusses the internal Unicode representation in Python 3.3."
|
||||
msgstr ""
|
||||
"`The Guts of Unicode in Python <http://pyvideo.org/video/1768/the-guts-of-"
|
||||
"unicode-in-python>`_ (ressource en anglais) est une conférence PyCon 2013 "
|
||||
"unicode-in-python>`_ (ressource en anglais) est une conférence *PyCon* 2013 "
|
||||
"donnée par Benjamin Peterson qui traite de la représentation interne Unicode "
|
||||
"en Python 3.3."
|
||||
|
||||
|
@ -1294,7 +1293,7 @@ msgid ""
|
|||
"Terry J. Reedy, Serhiy Storchaka, Eryk Sun, Chad Whitacre, Graham Wideman."
|
||||
msgstr ""
|
||||
"Merci aux personnes suivantes qui ont noté des erreurs ou qui ont fait des "
|
||||
"suggestions sur cet article : Éric Araujo, Nicholas Bastin, Nick Coghlan, "
|
||||
"suggestions sur cet article : Éric Araujo, Nicholas Bastin, Nick Coghlan, "
|
||||
"Marius Gedminas, Kent Johnson, Ken Krugler, Marc-André Lemburg, Martin von "
|
||||
"Löwis, Terry J. Reedy, Serhiy Storchaka, Eryk Sun, Chad Whitacre, Graham "
|
||||
"Wideman."
|
||||
|
|
|
@ -17,6 +17,7 @@ msgstr ""
|
|||
#: ../Doc/howto/urllib2.rst:5
|
||||
msgid "HOWTO Fetch Internet Resources Using The urllib Package"
|
||||
msgstr ""
|
||||
"Guide pratique : récupérer des ressources web en utilisant le module *urllib*"
|
||||
|
||||
#: ../Doc/howto/urllib2.rst:0
|
||||
msgid "Author"
|
||||
|
|
|
@ -209,6 +209,8 @@ msgid ""
|
|||
"For Windows, this command should be run from a command prompt window (:"
|
||||
"menuselection:`Start --> Accessories`)::"
|
||||
msgstr ""
|
||||
"Sous Windows, cette commande doit être lancée depuis une invite de commande "
|
||||
"(:menuselection:`Démarrer --> Accessoires`) ::"
|
||||
|
||||
#: ../Doc/install/index.rst:121
|
||||
msgid ""
|
||||
|
@ -762,6 +764,11 @@ msgid ""
|
|||
"`{userbase}/lib` to the compiler search path for libraries as well as to the "
|
||||
"runtime search path for shared C libraries (rpath)."
|
||||
msgstr ""
|
||||
"La commande :command:`build_ext` possède aussi une option ``--user`` pour "
|
||||
"ajouter :file:`{userbase}/include` dans les chemins où le compilateur "
|
||||
"recherche les fichiers d'en-têtes et :file:`{userbase}/lib` dans les chemins "
|
||||
"où le compilateur recherche les bibliothèques ainsi que les bibliothèques C "
|
||||
"partagées chargeables à l'exécution (`rpath`)."
|
||||
|
||||
#: ../Doc/install/index.rst:391
|
||||
msgid "Alternate installation: the home scheme"
|
||||
|
@ -992,7 +999,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/install/index.rst:503
|
||||
msgid "Alternate installation: Windows (the prefix scheme)"
|
||||
msgstr ""
|
||||
msgstr "Installation alternative : Windows (le schéma de préfixe)"
|
||||
|
||||
#: ../Doc/install/index.rst:505
|
||||
msgid ""
|
||||
|
@ -1001,12 +1008,18 @@ msgid ""
|
|||
"`!--prefix` option has traditionally been used to install additional "
|
||||
"packages in separate locations on Windows. ::"
|
||||
msgstr ""
|
||||
"Windows n'a pas de concept de répertoire utilisateur, et comme "
|
||||
"l'installation standard de Python sur Windows est plus simple que sur Unix, "
|
||||
"l':option:`!--prefix` option a traditionnellement été utilisée pour "
|
||||
"installer des paquets supplémentaires à des endroits séparés sur Windows. ::"
|
||||
|
||||
#: ../Doc/install/index.rst:512
|
||||
msgid ""
|
||||
"to install modules to the :file:`\\\\Temp\\\\Python` directory on the "
|
||||
"current drive."
|
||||
msgstr ""
|
||||
"pour installer des modules dans le dossier :file:`\\\\Temp\\\\Python` du "
|
||||
"disque courant."
|
||||
|
||||
#: ../Doc/install/index.rst:514
|
||||
msgid ""
|
||||
|
@ -1015,10 +1028,14 @@ msgid ""
|
|||
"that pure Python modules and extension modules are installed into the same "
|
||||
"location. Files are installed as follows:"
|
||||
msgstr ""
|
||||
"Le dossier racine de l'installation est défini par l'option :option:`!--"
|
||||
"prefix`. L'option :option:`!--exec-prefix` n'est pas gérée sur Windows, ce "
|
||||
"qui signifie que les modules Python et les modules d'extension sont "
|
||||
"installés au même endroit. Les fichiers sont installés selon ce tableau :"
|
||||
|
||||
#: ../Doc/install/index.rst:523
|
||||
msgid ":file:`{prefix}\\\\Scripts`"
|
||||
msgstr ""
|
||||
msgstr ":file:`{prefix}\\\\Scripts`"
|
||||
|
||||
#: ../Doc/install/index.rst:525
|
||||
msgid ":file:`{prefix}\\\\Include\\\\{distname}`"
|
||||
|
@ -1026,7 +1043,7 @@ msgstr ":file:`{prefix}\\\\Include\\\\{distname}`"
|
|||
|
||||
#: ../Doc/install/index.rst:532
|
||||
msgid "Custom Installation"
|
||||
msgstr ""
|
||||
msgstr "Installation personnalisée"
|
||||
|
||||
#: ../Doc/install/index.rst:534
|
||||
msgid ""
|
||||
|
@ -1036,6 +1053,12 @@ msgid ""
|
|||
"directory, or you might want to completely redefine the installation "
|
||||
"scheme. In either case, you're creating a *custom installation scheme*."
|
||||
msgstr ""
|
||||
"Parfois, les procédés d'installation alternatifs décrits dans la section :"
|
||||
"ref:`inst-alt-install` ne font pas ce que vous attendiez. Vous pourriez "
|
||||
"vouloir modifier seulement un ou deux répertoires en conservant tout le "
|
||||
"reste sous la même racine, ou vouloir redéfinir l'ensemble du procédé "
|
||||
"d'installation. Quel que soit le cas, vous créez ainsi un *procédé "
|
||||
"d'installation personnalisé*."
|
||||
|
||||
#: ../Doc/install/index.rst:540
|
||||
msgid ""
|
||||
|
@ -1043,38 +1066,41 @@ msgid ""
|
|||
"schemes and override some of the installation directories used for the "
|
||||
"various types of files, using these options:"
|
||||
msgstr ""
|
||||
"Pour créer un modèle d'installation personnalisé, partez d'un modèle "
|
||||
"alternatif et remplacez les dossiers d'installation de types de fichiers "
|
||||
"donnés via ces options :"
|
||||
|
||||
#: ../Doc/install/index.rst:545
|
||||
msgid "Override option"
|
||||
msgstr ""
|
||||
msgstr "Option"
|
||||
|
||||
#: ../Doc/install/index.rst:547
|
||||
msgid "``--install-purelib``"
|
||||
msgstr ""
|
||||
msgstr "``--install-purelib``"
|
||||
|
||||
#: ../Doc/install/index.rst:548
|
||||
msgid "``--install-platlib``"
|
||||
msgstr ""
|
||||
msgstr "``--install-platlib``"
|
||||
|
||||
#: ../Doc/install/index.rst:549
|
||||
msgid "all modules"
|
||||
msgstr ""
|
||||
msgstr "tous les modules"
|
||||
|
||||
#: ../Doc/install/index.rst:549
|
||||
msgid "``--install-lib``"
|
||||
msgstr ""
|
||||
msgstr "``--install-lib``"
|
||||
|
||||
#: ../Doc/install/index.rst:550
|
||||
msgid "``--install-scripts``"
|
||||
msgstr ""
|
||||
msgstr "``--install-scripts``"
|
||||
|
||||
#: ../Doc/install/index.rst:551
|
||||
msgid "``--install-data``"
|
||||
msgstr ""
|
||||
msgstr "``--install-data``"
|
||||
|
||||
#: ../Doc/install/index.rst:552
|
||||
msgid "``--install-headers``"
|
||||
msgstr ""
|
||||
msgstr "``--install-headers``"
|
||||
|
||||
#: ../Doc/install/index.rst:555
|
||||
msgid ""
|
||||
|
|
|
@ -455,7 +455,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/2to3.rst:262
|
||||
msgid "is changed to ::"
|
||||
msgstr "est transformé en ::"
|
||||
msgstr "est transformé en ::"
|
||||
|
||||
#: ../Doc/library/2to3.rst:268
|
||||
msgid "Detects sibling imports and converts them to relative imports."
|
||||
|
|
|
@ -204,7 +204,7 @@ msgstr "3.0"
|
|||
|
||||
#: ../Doc/library/__future__.rst:75
|
||||
msgid ":pep:`238`: *Changing the Division Operator*"
|
||||
msgstr ":pep:`328` : *Changement de l'opérateur de division*"
|
||||
msgstr ":pep:`238` : *Changement de l'opérateur de division*"
|
||||
|
||||
#: ../Doc/library/__future__.rst:78
|
||||
msgid "absolute_import"
|
||||
|
|
|
@ -180,7 +180,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/_thread.rst:121
|
||||
msgid "Lock objects have the following methods:"
|
||||
msgstr "Les verrous ont les méthodes suivantes : "
|
||||
msgstr "Les verrous ont les méthodes suivantes :"
|
||||
|
||||
#: ../Doc/library/_thread.rst:126
|
||||
msgid ""
|
||||
|
@ -257,7 +257,7 @@ msgid ""
|
|||
"`with` statement, e.g.::"
|
||||
msgstr ""
|
||||
"En plus de ces méthodes, les objets verrous peuvent aussi être utilisés via "
|
||||
"l'instruction :keyword:`with`, e.g. : ::"
|
||||
"l'instruction :keyword:`with`, e.g. ::"
|
||||
|
||||
#: ../Doc/library/_thread.rst:171
|
||||
msgid "**Caveats:**"
|
||||
|
|
|
@ -71,7 +71,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"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 : ::"
|
||||
"d'éviter l'utilisation parfois déroutante de métaclasse, par exemple ::"
|
||||
|
||||
#: ../Doc/library/abc.rst:41
|
||||
msgid ""
|
||||
|
@ -86,7 +86,7 @@ msgstr ""
|
|||
"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 : ::"
|
||||
"class:`ABCMeta` directement, par exemple ::"
|
||||
|
||||
#: ../Doc/library/abc.rst:57
|
||||
msgid "Metaclass for defining Abstract Base Classes (ABCs)."
|
||||
|
@ -127,7 +127,7 @@ 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 : ::"
|
||||
"exemple ::"
|
||||
|
||||
#: ../Doc/library/abc.rst:85
|
||||
msgid "Returns the registered subclass, to allow usage as a class decorator."
|
||||
|
@ -186,7 +186,7 @@ msgid ""
|
|||
"For a demonstration of these concepts, look at this example ABC definition::"
|
||||
msgstr ""
|
||||
"Pour une illustration de ces concepts, voir cet exemple de définition de "
|
||||
"ABC : ::"
|
||||
"ABC ::"
|
||||
|
||||
#: ../Doc/library/abc.rst:143
|
||||
msgid ""
|
||||
|
@ -278,7 +278,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Quand le décorateur :func:`abstractmethod` est utilisé en même temps que "
|
||||
"d'autres descripteurs de méthodes, il doit être appliqué en tant que "
|
||||
"décorateur le plus interne. Voir les exemples d'utilisation suivants : ::"
|
||||
"décorateur le plus interne. Voir les exemples d'utilisation suivants ::"
|
||||
|
||||
#: ../Doc/library/abc.rst:216
|
||||
msgid ""
|
||||
|
@ -337,7 +337,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Ce cas spécial est obsolète car le décorateur :func:`classmethod` est "
|
||||
"désormais correctement identifié comme abstrait quand il est appliqué à une "
|
||||
"méthode abstraite : ::"
|
||||
"méthode abstraite ::"
|
||||
|
||||
#: ../Doc/library/abc.rst:265
|
||||
msgid ""
|
||||
|
@ -363,7 +363,7 @@ msgid ""
|
|||
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 : ::"
|
||||
"abstraite ::"
|
||||
|
||||
#: ../Doc/library/abc.rst:285
|
||||
msgid ""
|
||||
|
@ -387,7 +387,7 @@ msgid ""
|
|||
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 : ::"
|
||||
"abstraite ::"
|
||||
|
||||
#: ../Doc/library/abc.rst:303
|
||||
msgid ""
|
||||
|
@ -397,7 +397,7 @@ msgid ""
|
|||
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 : ::"
|
||||
"une ou plusieurs des méthodes sous-jacentes comme abstraite ::"
|
||||
|
||||
#: ../Doc/library/abc.rst:317
|
||||
msgid ""
|
||||
|
@ -406,7 +406,7 @@ msgid ""
|
|||
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 : ::"
|
||||
"sous-classe ::"
|
||||
|
||||
#: ../Doc/library/abc.rst:326
|
||||
msgid "The :mod:`abc` module also provides the following functions:"
|
||||
|
|
|
@ -69,7 +69,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/aifc.rst:50
|
||||
msgid "Support for the :keyword:`with` statement was added."
|
||||
msgstr ""
|
||||
msgstr "La prise en charge de l'instruction :keyword:`with` a été ajoutée."
|
||||
|
||||
#: ../Doc/library/aifc.rst:53
|
||||
msgid ""
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -542,7 +542,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/array.rst:276
|
||||
msgid "`The Numerical Python Documentation <https://docs.scipy.org/doc/>`_"
|
||||
msgstr "`The Numerical Python Documentation <https://docs.scipy.org/doc/>`_"
|
||||
msgstr "`La documentation de *Numerical Python* <https://docs.scipy.org/doc/>`"
|
||||
|
||||
#: ../Doc/library/array.rst:276
|
||||
msgid ""
|
||||
|
|
|
@ -164,11 +164,11 @@ msgid ""
|
|||
"use ::"
|
||||
msgstr ""
|
||||
"Par exemple, pour créer et peupler un nœud :class:`ast.UnaryOp`, on peut "
|
||||
"utiliser ::"
|
||||
"utiliser ::"
|
||||
|
||||
#: ../Doc/library/ast.rst:91
|
||||
msgid "or the more compact ::"
|
||||
msgstr "ou, plus compact ::"
|
||||
msgstr "ou, plus compact ::"
|
||||
|
||||
#: ../Doc/library/ast.rst:100
|
||||
msgid "Abstract Grammar"
|
||||
|
|
|
@ -965,7 +965,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/asyncio-llapi-index.rst:504
|
||||
msgid "Return the current process-wide policy."
|
||||
msgstr ""
|
||||
msgstr "Renvoie la stratégie actuelle à l'échelle du processus."
|
||||
|
||||
#: ../Doc/library/asyncio-llapi-index.rst:506
|
||||
msgid ":meth:`asyncio.set_event_loop_policy`"
|
||||
|
|
|
@ -125,7 +125,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/asyncio-platforms.rst:88
|
||||
msgid "macOS"
|
||||
msgstr ""
|
||||
msgstr "macOS"
|
||||
|
||||
#: ../Doc/library/asyncio-platforms.rst:90
|
||||
msgid "Modern macOS versions are fully supported."
|
||||
|
|
|
@ -7,12 +7,12 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-01-03 16:57+0100\n"
|
||||
"PO-Revision-Date: 2019-04-11 22:41+0200\n"
|
||||
"Last-Translator: \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"
|
||||
"Last-Translator: \n"
|
||||
"X-Generator: Poedit 2.2.1\n"
|
||||
|
||||
#: ../Doc/library/asyncio-policy.rst:8
|
||||
|
@ -111,7 +111,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/asyncio-policy.rst:59 ../Doc/library/asyncio-policy.rst:71
|
||||
msgid "This method should never return ``None``."
|
||||
msgstr "Cette méthode ne devrait jamais renvoyer `` None``."
|
||||
msgstr "Cette méthode ne devrait jamais renvoyer ``None``."
|
||||
|
||||
#: ../Doc/library/asyncio-policy.rst:65
|
||||
msgid "Set the event loop for the current context to *loop*."
|
||||
|
@ -150,8 +150,8 @@ msgid ""
|
|||
"The default asyncio policy. Uses :class:`SelectorEventLoop` on both Unix "
|
||||
"and Windows platforms."
|
||||
msgstr ""
|
||||
"La stratégie *asyncio* par défaut. Utilise :class:`SelectorEventLoop` sur les "
|
||||
"plates-formes Unix et Windows."
|
||||
"La stratégie *asyncio* par défaut. Utilise :class:`SelectorEventLoop` sur "
|
||||
"les plates-formes Unix et Windows."
|
||||
|
||||
#: ../Doc/library/asyncio-policy.rst:97
|
||||
msgid ""
|
||||
|
@ -159,7 +159,8 @@ msgid ""
|
|||
"configured to use the default policy automatically."
|
||||
msgstr ""
|
||||
"Il n'est pas nécessaire d'installer la stratégie par défaut manuellement. "
|
||||
"*asyncio* est configuré pour utiliser automatiquement la stratégie par défaut."
|
||||
"*asyncio* est configuré pour utiliser automatiquement la stratégie par "
|
||||
"défaut."
|
||||
|
||||
#: ../Doc/library/asyncio-policy.rst:103
|
||||
msgid ""
|
||||
|
@ -185,8 +186,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Un observateur de processus permet de personnaliser la manière dont une "
|
||||
"boucle d'événements surveille les processus enfants sous Unix. Plus "
|
||||
"précisément, la boucle d'événements a besoin de savoir quand un processus enfant "
|
||||
"s'est terminé."
|
||||
"précisément, la boucle d'événements a besoin de savoir quand un processus "
|
||||
"enfant s'est terminé."
|
||||
|
||||
#: ../Doc/library/asyncio-policy.rst:116
|
||||
msgid ""
|
||||
|
@ -205,16 +206,16 @@ msgid ""
|
|||
msgstr ""
|
||||
"*asyncio* définit la classe de base abstraite :class:`AbstractChildWatcher`, "
|
||||
"que les observateurs enfants doivent implémenter et possède deux "
|
||||
"implémentations différentes : :class:`SafeChildWatcher` (configurée pour être "
|
||||
"utilisé par défaut) et :class:`FastChildWatcher`."
|
||||
"implémentations différentes : :class:`SafeChildWatcher` (configurée pour "
|
||||
"être utilisé par défaut) et :class:`FastChildWatcher`."
|
||||
|
||||
#: ../Doc/library/asyncio-policy.rst:125
|
||||
msgid ""
|
||||
"See also the :ref:`Subprocess and Threads <asyncio-subprocess-threads>` "
|
||||
"section."
|
||||
msgstr ""
|
||||
"Voir aussi la section :ref:`sous-processus et fils d'exécution <threads asyncio-sous-"
|
||||
"processus>`."
|
||||
"Voir aussi la section :ref:`sous-processus et fils d'exécution <asyncio-"
|
||||
"subprocess-threads>`."
|
||||
|
||||
#: ../Doc/library/asyncio-policy.rst:128
|
||||
msgid ""
|
||||
|
@ -235,9 +236,9 @@ msgid ""
|
|||
"*watcher* must implement methods defined in the :class:"
|
||||
"`AbstractChildWatcher` base class."
|
||||
msgstr ""
|
||||
"Définit l'observateur enfant actuel à *watcher* pour la stratégie "
|
||||
"actuelle. *watcher* doit implémenter les méthodes définies dans la classe de "
|
||||
"base :class:`AbstractChildWatcher`."
|
||||
"Définit l'observateur enfant actuel à *watcher* pour la stratégie actuelle. "
|
||||
"*watcher* doit implémenter les méthodes définies dans la classe de base :"
|
||||
"class:`AbstractChildWatcher`."
|
||||
|
||||
#: ../Doc/library/asyncio-policy.rst:142
|
||||
msgid ""
|
||||
|
@ -247,8 +248,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Les implémentations de boucles d'événement tierces peuvent ne pas prendre en "
|
||||
"charge les observateurs enfants personnalisés. Pour ces boucles "
|
||||
"d'événements, utiliser: func:`set_child_watcher` pourrait être "
|
||||
"interdit ou n'avoir aucun effet."
|
||||
"d'événements, utiliser :func:`set_child_watcher` pourrait être interdit ou "
|
||||
"n'avoir aucun effet."
|
||||
|
||||
#: ../Doc/library/asyncio-policy.rst:150
|
||||
msgid "Register a new child handler."
|
||||
|
@ -266,7 +267,9 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/asyncio-policy.rst:157
|
||||
msgid "The *callback* callable must be thread-safe."
|
||||
msgstr "L'appelable *callback* doit être compatible avec les programmes à fils d'exécution multiples."
|
||||
msgstr ""
|
||||
"L'appelable *callback* doit être compatible avec les programmes à fils "
|
||||
"d'exécution multiples."
|
||||
|
||||
#: ../Doc/library/asyncio-policy.rst:161
|
||||
msgid "Removes the handler for process with PID equal to *pid*."
|
||||
|
@ -313,9 +316,9 @@ msgid ""
|
|||
"This implementation avoids disrupting other code spawning processes by "
|
||||
"polling every process explicitly on a :py:data:`SIGCHLD` signal."
|
||||
msgstr ""
|
||||
"Cette implémentation évite de perturber un autre code qui aurait besoin de générer des processus "
|
||||
"en interrogeant chaque processus explicitement par un signal :py:data:"
|
||||
"`SIGCHLD`."
|
||||
"Cette implémentation évite de perturber un autre code qui aurait besoin de "
|
||||
"générer des processus en interrogeant chaque processus explicitement par un "
|
||||
"signal :py:data:`SIGCHLD`."
|
||||
|
||||
#: ../Doc/library/asyncio-policy.rst:187
|
||||
msgid ""
|
||||
|
@ -337,8 +340,8 @@ msgid ""
|
|||
"waiting for their termination."
|
||||
msgstr ""
|
||||
"Cette implémentation récupère tous les processus terminés en appelant "
|
||||
"directement ``os.waitpid(-1)``, cassant éventuellement un autre "
|
||||
"code qui génère des processus et attend leur fin."
|
||||
"directement ``os.waitpid(-1)``, cassant éventuellement un autre code qui "
|
||||
"génère des processus et attend leur fin."
|
||||
|
||||
#: ../Doc/library/asyncio-policy.rst:199
|
||||
msgid ""
|
||||
|
@ -361,4 +364,4 @@ msgstr ""
|
|||
"Pour implémenter une nouvelle politique de boucle d’événements, il est "
|
||||
"recommandé de sous-classer :class:`DefaultEventLoopPolicy` et de "
|
||||
"réimplémenter les méthodes pour lesquelles un comportement personnalisé est "
|
||||
"souhaité, par exemple : ::"
|
||||
"souhaité, par exemple ::"
|
||||
|
|
|
@ -201,6 +201,8 @@ msgid ""
|
|||
"See also the :ref:`Subprocess and Threads <asyncio-subprocess-threads>` "
|
||||
"section."
|
||||
msgstr ""
|
||||
"Voir aussi la section :ref:`sous-processus et fils d'exécution <asyncio-"
|
||||
"subprocess-threads>`."
|
||||
|
||||
#: ../Doc/library/asyncio-subprocess.rst:181
|
||||
msgid "Wait for the child process to terminate."
|
||||
|
|
|
@ -136,7 +136,7 @@ msgstr ""
|
|||
"Les fonctions :func:`bisect` ci-dessus sont utiles pour insérer des "
|
||||
"éléments, mais peuvent être étranges et peu naturelles à utiliser pour "
|
||||
"rechercher des éléments. Les cinq fonctions suivantes montrent comment les "
|
||||
"transformer en recherche plus classique pour les listes triées : ::"
|
||||
"transformer en recherche plus classique pour les listes triées ::"
|
||||
|
||||
#: ../Doc/library/bisect.rst:114
|
||||
msgid "Other Examples"
|
||||
|
@ -153,7 +153,7 @@ msgstr ""
|
|||
"tableaux de nombres. Cet exemple utilise :func:`bisect` pour rechercher la "
|
||||
"note (sous forme de lettre) correspondant à un note sous forme de points, en "
|
||||
"se basant sur une échelle prédéfinie : plus de 90 vaut 'A', de 80 à 89 vaut "
|
||||
"'B', etc… : ::"
|
||||
"'B', etc… ::"
|
||||
|
||||
#: ../Doc/library/bisect.rst:130
|
||||
msgid ""
|
||||
|
@ -174,4 +174,4 @@ msgid ""
|
|||
"of the record in question::"
|
||||
msgstr ""
|
||||
"Il est préférable d'utiliser une liste de clefs pré-calculée pour chercher "
|
||||
"l'index de l'enregistrement en question : ::"
|
||||
"l'index de l'enregistrement en question ::"
|
||||
|
|
139
library/bz2.po
139
library/bz2.po
|
@ -16,45 +16,55 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/bz2.rst:2
|
||||
msgid ":mod:`bz2` --- Support for :program:`bzip2` compression"
|
||||
msgstr ""
|
||||
msgstr ":mod:`bz2` — Prise en charge de la compression :program:`bzip2`"
|
||||
|
||||
#: ../Doc/library/bz2.rst:12
|
||||
msgid "**Source code:** :source:`Lib/bz2.py`"
|
||||
msgstr ""
|
||||
msgstr "**Code Source :** :source:`Lib/bz2.py`"
|
||||
|
||||
#: ../Doc/library/bz2.rst:16
|
||||
msgid ""
|
||||
"This module provides a comprehensive interface for compressing and "
|
||||
"decompressing data using the bzip2 compression algorithm."
|
||||
msgstr ""
|
||||
"Ce module fournit une interface complète pour compresser et décompresser les "
|
||||
"données en utilisant l'algorithme de compression *bzip2*."
|
||||
|
||||
#: ../Doc/library/bz2.rst:19
|
||||
msgid "The :mod:`bz2` module contains:"
|
||||
msgstr "Le module :mod:`bz2` contiens :"
|
||||
msgstr "Le module :mod:`bz2` contient :"
|
||||
|
||||
#: ../Doc/library/bz2.rst:21
|
||||
msgid ""
|
||||
"The :func:`.open` function and :class:`BZ2File` class for reading and "
|
||||
"writing compressed files."
|
||||
msgstr ""
|
||||
"La fonction :func:`.open` et la classe :class:`BZ2File` pour lire et écrire "
|
||||
"des fichiers compressés."
|
||||
|
||||
#: ../Doc/library/bz2.rst:23
|
||||
msgid ""
|
||||
"The :class:`BZ2Compressor` and :class:`BZ2Decompressor` classes for "
|
||||
"incremental (de)compression."
|
||||
msgstr ""
|
||||
"Les classes :class:`BZ2Compressor` et :class:`BZ2Decompressor` pour la "
|
||||
"(dé)compression incrémentielle."
|
||||
|
||||
#: ../Doc/library/bz2.rst:25
|
||||
msgid ""
|
||||
"The :func:`compress` and :func:`decompress` functions for one-shot "
|
||||
"(de)compression."
|
||||
msgstr ""
|
||||
"Les fonctions :func:`compress` et :func:`decompress` pour la (dé)compression "
|
||||
"en une seule fois."
|
||||
|
||||
#: ../Doc/library/bz2.rst:28
|
||||
msgid ""
|
||||
"All of the classes in this module may safely be accessed from multiple "
|
||||
"threads."
|
||||
msgstr ""
|
||||
"Toutes les classes de ce module peuvent en toute sécurité être accédées "
|
||||
"depuis de multiples fils d'exécution."
|
||||
|
||||
#: ../Doc/library/bz2.rst:32
|
||||
msgid "(De)compression of files"
|
||||
|
@ -65,6 +75,8 @@ msgid ""
|
|||
"Open a bzip2-compressed file in binary or text mode, returning a :term:`file "
|
||||
"object`."
|
||||
msgstr ""
|
||||
"Ouvre un fichier compressé par *bzip2* en mode binaire ou texte, le "
|
||||
"renvoyant en :term:`file object`."
|
||||
|
||||
#: ../Doc/library/bz2.rst:39
|
||||
msgid ""
|
||||
|
@ -72,6 +84,9 @@ msgid ""
|
|||
"an actual filename (a :class:`str` or :class:`bytes` object), or an existing "
|
||||
"file object to read from or write to."
|
||||
msgstr ""
|
||||
"Tout comme avec le constructeur pour la classe :class:`BZ2File`, l'argument "
|
||||
"*filename* peut être un nom de fichier réel (un objet :class:`str` ou :class:"
|
||||
"`bytes`), ou un objet fichier existant à lire ou à écrire."
|
||||
|
||||
#: ../Doc/library/bz2.rst:43
|
||||
msgid ""
|
||||
|
@ -79,12 +94,17 @@ msgid ""
|
|||
"``'x'``, ``'xb'``, ``'a'`` or ``'ab'`` for binary mode, or ``'rt'``, "
|
||||
"``'wt'``, ``'xt'``, or ``'at'`` for text mode. The default is ``'rb'``."
|
||||
msgstr ""
|
||||
"L'argument *mode* peut valoir ``'r'``, ``'rb'``, ``'w'``, ``'wb'``, ``'x'``, "
|
||||
"``'xb'``, ``'a'`` ou ``'ab'`` pour le mode binaire, ou ``'rt'``, ``'wt'``, "
|
||||
"``'xt'`` ou ``'at'`` pour le mode texte. Il vaut par défaut ``'rb'``."
|
||||
|
||||
#: ../Doc/library/bz2.rst:47
|
||||
msgid ""
|
||||
"The *compresslevel* argument is an integer from 1 to 9, as for the :class:"
|
||||
"`BZ2File` constructor."
|
||||
msgstr ""
|
||||
"L'argument *compresslevel* est un entier de 1 à 9, comme pour le "
|
||||
"constructeur :class:`BZ2File`."
|
||||
|
||||
#: ../Doc/library/bz2.rst:50
|
||||
msgid ""
|
||||
|
@ -93,6 +113,10 @@ msgid ""
|
|||
"this case, the *encoding*, *errors* and *newline* arguments must not be "
|
||||
"provided."
|
||||
msgstr ""
|
||||
"Pour le mode binaire, cette fonction est équivalente au constructeur :class:"
|
||||
"`BZ2File` : ``BZ2File(filename, mode, compresslevel=compresslevel)``. Dans "
|
||||
"ce cas, les arguments *encoding*, *errors* et *newline* arguments ne doivent "
|
||||
"pas être fournis."
|
||||
|
||||
#: ../Doc/library/bz2.rst:55
|
||||
msgid ""
|
||||
|
@ -100,10 +124,13 @@ msgid ""
|
|||
"class:`io.TextIOWrapper` instance with the specified encoding, error "
|
||||
"handling behavior, and line ending(s)."
|
||||
msgstr ""
|
||||
"Pour le mode texte, un objet :class:`BZ2File` est créé et encapsulé dans une "
|
||||
"instance :class:`io.TextIOWrapper` avec l'encodage spécifié, le comportement "
|
||||
"de gestion des erreurs et les fins de ligne."
|
||||
|
||||
#: ../Doc/library/bz2.rst:61 ../Doc/library/bz2.rst:127
|
||||
msgid "The ``'x'`` (exclusive creation) mode was added."
|
||||
msgstr "Le mode ``'x'`` (création exclusive) est créé."
|
||||
msgstr "Le mode ``'x'`` (création exclusive) est ajouté."
|
||||
|
||||
#: ../Doc/library/bz2.rst:64 ../Doc/library/bz2.rst:134
|
||||
msgid "Accepts a :term:`path-like object`."
|
||||
|
@ -119,6 +146,9 @@ msgid ""
|
|||
"file directly. Otherwise, *filename* should be a :term:`file object`, which "
|
||||
"will be used to read or write the compressed data."
|
||||
msgstr ""
|
||||
"Si *filename* est un objet :class:`str` ou :class:`bytes`, ouvre le nom de "
|
||||
"fichier directement. Autrement, *filename* doit être un :term:`file object`, "
|
||||
"qui est utilisé pour lire ou écrire les données compressées."
|
||||
|
||||
#: ../Doc/library/bz2.rst:76
|
||||
msgid ""
|
||||
|
@ -127,12 +157,18 @@ msgid ""
|
|||
"can equivalently be given as ``'rb'``, ``'wb'``, ``'xb'`` and ``'ab'`` "
|
||||
"respectively."
|
||||
msgstr ""
|
||||
"L'argument *mode* peut être soit ``'r'`` pour lire (par défaut), ``'w'`` "
|
||||
"pour écraser, ``'x'`` pour créer exclusivement, ou ``'a'`` pour ajouter. Ils "
|
||||
"peuvent également être écrits respectivement comme ``'rb'``, ``'wb'``, "
|
||||
"``'xb'`` et ``'ab'``."
|
||||
|
||||
#: ../Doc/library/bz2.rst:81
|
||||
msgid ""
|
||||
"If *filename* is a file object (rather than an actual file name), a mode of "
|
||||
"``'w'`` does not truncate the file, and is instead equivalent to ``'a'``."
|
||||
msgstr ""
|
||||
"Si *filename* est un objet fichier (plutôt que le nom de fichier réel), le "
|
||||
"mode ``'w'`` ne tronque pas le fichier, mais équivaut à ``'a'``."
|
||||
|
||||
#: ../Doc/library/bz2.rst:84
|
||||
msgid "The *buffering* argument is ignored. Its use is deprecated."
|
||||
|
@ -144,12 +180,18 @@ msgid ""
|
|||
"``1`` and ``9`` specifying the level of compression: ``1`` produces the "
|
||||
"least compression, and ``9`` (default) produces the most compression."
|
||||
msgstr ""
|
||||
"Si *mode* est ``'w'`` ou ``'a'``, *compresslevel* peut être un entier entre "
|
||||
"``1`` et ``9`` spécifiant le niveau de compression : ``1`` utilise la "
|
||||
"compression la moins forte, et ``9`` (par défaut) la compression la plus "
|
||||
"forte."
|
||||
|
||||
#: ../Doc/library/bz2.rst:90
|
||||
msgid ""
|
||||
"If *mode* is ``'r'``, the input file may be the concatenation of multiple "
|
||||
"compressed streams."
|
||||
msgstr ""
|
||||
"Si *mode* est ``'r'``, le fichier d'entrée peut être la concaténation de "
|
||||
"plusieurs flux compressés."
|
||||
|
||||
#: ../Doc/library/bz2.rst:93
|
||||
msgid ""
|
||||
|
@ -157,10 +199,13 @@ msgid ""
|
|||
"BufferedIOBase`, except for :meth:`detach` and :meth:`truncate`. Iteration "
|
||||
"and the :keyword:`with` statement are supported."
|
||||
msgstr ""
|
||||
":class:`BZ2File` fournit tous les membres spécifiés par la classe :class:`io."
|
||||
"BufferedIOBase`, excepté les méthodes :meth:`detach` et :meth:`truncate`. "
|
||||
"L'itération et l'instruction :keyword:`with` sont prises en charge."
|
||||
|
||||
#: ../Doc/library/bz2.rst:97
|
||||
msgid ":class:`BZ2File` also provides the following method:"
|
||||
msgstr ""
|
||||
msgstr ":class:`BZ2File` fournit aussi la méthode suivante :"
|
||||
|
||||
#: ../Doc/library/bz2.rst:101
|
||||
msgid ""
|
||||
|
@ -168,6 +213,9 @@ msgid ""
|
|||
"of data will be returned (unless at EOF). The exact number of bytes returned "
|
||||
"is unspecified."
|
||||
msgstr ""
|
||||
"Renvoie des données en mémoire tampon sans avancer la position du fichier. "
|
||||
"Au moins un octet de donnée (sauf l'EOF) est renvoyé. Le nombre exact "
|
||||
"d'octets renvoyés n'est pas spécifié."
|
||||
|
||||
#: ../Doc/library/bz2.rst:105
|
||||
msgid ""
|
||||
|
@ -176,38 +224,50 @@ msgid ""
|
|||
"the :class:`BZ2File` was constructed by passing a file object for "
|
||||
"*filename*)."
|
||||
msgstr ""
|
||||
"Bien que l'appel à la méthode :meth:`peek` ne change pas la position du "
|
||||
"fichier de la classe :class:`BZ2File`, il peut changer la position de "
|
||||
"l'objet fichier sous-jacent (e.g. si la classe :class:`BZ2File` a été "
|
||||
"construite en passant un objet fichier à *filename*)."
|
||||
|
||||
#: ../Doc/library/bz2.rst:112
|
||||
msgid "Support for the :keyword:`with` statement was added."
|
||||
msgstr ""
|
||||
msgstr "La prise en charge de l'instruction :keyword:`with` a été ajoutée."
|
||||
|
||||
#: ../Doc/library/bz2.rst:115
|
||||
msgid ""
|
||||
"The :meth:`fileno`, :meth:`readable`, :meth:`seekable`, :meth:`writable`, :"
|
||||
"meth:`read1` and :meth:`readinto` methods were added."
|
||||
msgstr ""
|
||||
"Les méthodes :meth:`fileno`, :meth:`readable`, :meth:`seekable`, :meth:"
|
||||
"`writable`, :meth:`read1` et :meth:`readinto` ont été ajoutées."
|
||||
|
||||
#: ../Doc/library/bz2.rst:119
|
||||
msgid ""
|
||||
"Support was added for *filename* being a :term:`file object` instead of an "
|
||||
"actual filename."
|
||||
msgstr ""
|
||||
"La gestion de *filename* comme :term:`file object` au lieu d'un nom de "
|
||||
"fichier réel a été ajoutée."
|
||||
|
||||
#: ../Doc/library/bz2.rst:123
|
||||
msgid ""
|
||||
"The ``'a'`` (append) mode was added, along with support for reading multi-"
|
||||
"stream files."
|
||||
msgstr ""
|
||||
"Le mode ``'a'`` (ajout) a été ajouté, avec la prise en charge de la lecture "
|
||||
"des fichiers *multiflux*."
|
||||
|
||||
#: ../Doc/library/bz2.rst:130
|
||||
msgid ""
|
||||
"The :meth:`~io.BufferedIOBase.read` method now accepts an argument of "
|
||||
"``None``."
|
||||
msgstr ""
|
||||
"La méthode :meth:`~io.BufferedIOBase.read` accepte maintenant un argument "
|
||||
"``None``."
|
||||
|
||||
#: ../Doc/library/bz2.rst:139
|
||||
msgid "Incremental (de)compression"
|
||||
msgstr "(Dé)compression incrémentale"
|
||||
msgstr "(Dé)compression incrémentielle"
|
||||
|
||||
#: ../Doc/library/bz2.rst:143
|
||||
msgid ""
|
||||
|
@ -215,35 +275,48 @@ msgid ""
|
|||
"incrementally. For one-shot compression, use the :func:`compress` function "
|
||||
"instead."
|
||||
msgstr ""
|
||||
"Crée un nouvel objet compresseur. Cet objet peut être utilisé pour "
|
||||
"compresser les données de manière incrémentielle. Pour une compression en "
|
||||
"une seule fois, utilisez à la place la fonction :func:`compress`."
|
||||
|
||||
#: ../Doc/library/bz2.rst:147 ../Doc/library/bz2.rst:235
|
||||
msgid ""
|
||||
"*compresslevel*, if given, must be an integer between ``1`` and ``9``. The "
|
||||
"default is ``9``."
|
||||
msgstr ""
|
||||
"*compresslevel*, s'il est fourni, doit être un entier entre ``1`` et ``9``. "
|
||||
"Sa valeur par défaut est ``9``."
|
||||
|
||||
#: ../Doc/library/bz2.rst:152
|
||||
msgid ""
|
||||
"Provide data to the compressor object. Returns a chunk of compressed data if "
|
||||
"possible, or an empty byte string otherwise."
|
||||
msgstr ""
|
||||
"Fournit la donnée à l'objet compresseur. Renvoie un bloc de données "
|
||||
"compressées si possible, ou autrement une chaîne d'octet vide."
|
||||
|
||||
#: ../Doc/library/bz2.rst:155
|
||||
msgid ""
|
||||
"When you have finished providing data to the compressor, call the :meth:"
|
||||
"`flush` method to finish the compression process."
|
||||
msgstr ""
|
||||
"Quand vous avez fini de fournir des données au compresseur, appelez la "
|
||||
"méthode :meth:`flush` pour finir le processus de compression."
|
||||
|
||||
#: ../Doc/library/bz2.rst:161
|
||||
msgid ""
|
||||
"Finish the compression process. Returns the compressed data left in internal "
|
||||
"buffers."
|
||||
msgstr ""
|
||||
"Finit le processus de compression. Renvoie la donnée compressée restante "
|
||||
"dans les tampons internes."
|
||||
|
||||
#: ../Doc/library/bz2.rst:164
|
||||
msgid ""
|
||||
"The compressor object may not be used after this method has been called."
|
||||
msgstr ""
|
||||
"L'objet compresseur ne peut pas être utilisé après que cette méthode a été "
|
||||
"appelée."
|
||||
|
||||
#: ../Doc/library/bz2.rst:169
|
||||
msgid ""
|
||||
|
@ -251,6 +324,9 @@ msgid ""
|
|||
"incrementally. For one-shot compression, use the :func:`decompress` function "
|
||||
"instead."
|
||||
msgstr ""
|
||||
"Crée un nouvel objet décompresseur. Cet objet peut être utilisé pour "
|
||||
"décompresser les données de manière incrémentielle. Pour une compression en "
|
||||
"une seule fois, utilisez à la place la fonction :func:`decompress`."
|
||||
|
||||
#: ../Doc/library/bz2.rst:174
|
||||
msgid ""
|
||||
|
@ -259,6 +335,11 @@ msgid ""
|
|||
"need to decompress a multi-stream input with :class:`BZ2Decompressor`, you "
|
||||
"must use a new decompressor for each stream."
|
||||
msgstr ""
|
||||
"Cette classe ne gère pas de manière transparente les entrées contenant "
|
||||
"plusieurs flux compressés, à la différence de :func:`decompress` et :class:"
|
||||
"`BZ2File`. Si vous avez besoin de décompresser une entrée *multiflux* avec "
|
||||
"la classe :class:`BZ2Decompressor`, vous devez utiliser un nouveau "
|
||||
"décompresseur pour chaque flux."
|
||||
|
||||
#: ../Doc/library/bz2.rst:181
|
||||
msgid ""
|
||||
|
@ -267,6 +348,11 @@ msgid ""
|
|||
"to :meth:`decompress`. The returned data should be concatenated with the "
|
||||
"output of any previous calls to :meth:`decompress`."
|
||||
msgstr ""
|
||||
"Décompresse *data* (un :term:`bytes-like object`), renvoyant une donnée non "
|
||||
"compressée en tant que chaîne d'octets. Certaines de ces *data* peuvent être "
|
||||
"mises en interne en tampon, pour un usage lors d'appels ultérieurs par la "
|
||||
"méthode :meth:`decompress`. La donnée renvoyée doit être concaténée avec la "
|
||||
"sortie des appels précédents à la méthode :meth:`decompress`."
|
||||
|
||||
#: ../Doc/library/bz2.rst:187
|
||||
msgid ""
|
||||
|
@ -276,6 +362,11 @@ msgid ""
|
|||
"this case, the next call to :meth:`~.decompress` may provide *data* as "
|
||||
"``b''`` to obtain more of the output."
|
||||
msgstr ""
|
||||
"Si *max_length* est positif, renvoie au plus *max_length* octets de données "
|
||||
"compressées. Si la limite est atteinte et que d'autres sorties peuvent être "
|
||||
"produites, l'attribut :attr:`~.needs_input` est positionné sur ``False``. "
|
||||
"Dans ce cas, lors de l'appel suivant à la méthode :meth:`~.decompress`, vous "
|
||||
"pouvez fournir ``b''`` dans *data* afin d'obtenir la suite de la sortie."
|
||||
|
||||
#: ../Doc/library/bz2.rst:194
|
||||
msgid ""
|
||||
|
@ -283,6 +374,9 @@ msgid ""
|
|||
"was less than *max_length* bytes, or because *max_length* was negative), "
|
||||
"the :attr:`~.needs_input` attribute will be set to ``True``."
|
||||
msgstr ""
|
||||
"Si toutes les données entrées ont été décompressées et renvoyées (soit parce "
|
||||
"qu'il y avait moins de *max_length* octets, ou parce que *max_length* était "
|
||||
"négatif), l'attribut :attr:`~.needs_input` sera configuré sur ``True``."
|
||||
|
||||
#: ../Doc/library/bz2.rst:199
|
||||
msgid ""
|
||||
|
@ -290,6 +384,9 @@ msgid ""
|
|||
"`EOFError`. Any data found after the end of the stream is ignored and saved "
|
||||
"in the :attr:`~.unused_data` attribute."
|
||||
msgstr ""
|
||||
"Essayer de décompresser des données après que la fin du flux soit atteinte "
|
||||
"lève une erreur `EOFError`. Toute donnée trouvée après la fin du flux est "
|
||||
"ignorée et sauvegardée dans l'attribut :attr:`~.unused_data`."
|
||||
|
||||
#: ../Doc/library/bz2.rst:203
|
||||
msgid "Added the *max_length* parameter."
|
||||
|
@ -297,7 +394,7 @@ msgstr "Ajout du paramètre *max_length*."
|
|||
|
||||
#: ../Doc/library/bz2.rst:208
|
||||
msgid "``True`` if the end-of-stream marker has been reached."
|
||||
msgstr ""
|
||||
msgstr "``True`` si le marqueur de fin de flux a été atteint."
|
||||
|
||||
#: ../Doc/library/bz2.rst:215
|
||||
msgid "Data found after the end of the compressed stream."
|
||||
|
@ -308,12 +405,16 @@ msgid ""
|
|||
"If this attribute is accessed before the end of the stream has been reached, "
|
||||
"its value will be ``b''``."
|
||||
msgstr ""
|
||||
"Si l'attribut est accédé avant que la fin du flux ait été atteint, sa valeur "
|
||||
"sera ``b''``."
|
||||
|
||||
#: ../Doc/library/bz2.rst:222
|
||||
msgid ""
|
||||
"``False`` if the :meth:`.decompress` method can provide more decompressed "
|
||||
"data before requiring new uncompressed input."
|
||||
msgstr ""
|
||||
"``False`` si la méthode :meth:`.decompress` peut fournir plus de données "
|
||||
"décompressées avant l'acquisition d'une nouvelle entrée non compressée."
|
||||
|
||||
#: ../Doc/library/bz2.rst:229
|
||||
msgid "One-shot (de)compression"
|
||||
|
@ -321,29 +422,35 @@ msgstr "(Dé)compression en une fois"
|
|||
|
||||
#: ../Doc/library/bz2.rst:233
|
||||
msgid "Compress *data*, a :term:`bytes-like object <bytes-like object>`."
|
||||
msgstr ""
|
||||
msgstr "Compresse *data*, un :term:`bytes-like object <bytes-like object>`."
|
||||
|
||||
#: ../Doc/library/bz2.rst:238
|
||||
msgid "For incremental compression, use a :class:`BZ2Compressor` instead."
|
||||
msgstr ""
|
||||
"Pour la compression incrémentielle, utilisez à la place la classe :class:"
|
||||
"`BZ2Compressor`."
|
||||
|
||||
#: ../Doc/library/bz2.rst:243
|
||||
msgid "Decompress *data*, a :term:`bytes-like object <bytes-like object>`."
|
||||
msgstr ""
|
||||
msgstr "Décompresse *data*, un :term:`bytes-like object <bytes-like object>`."
|
||||
|
||||
#: ../Doc/library/bz2.rst:245
|
||||
msgid ""
|
||||
"If *data* is the concatenation of multiple compressed streams, decompress "
|
||||
"all of the streams."
|
||||
msgstr ""
|
||||
"Si *data* est la concaténation de multiples flux compressés, décompresse "
|
||||
"tous les flux."
|
||||
|
||||
#: ../Doc/library/bz2.rst:248
|
||||
msgid "For incremental decompression, use a :class:`BZ2Decompressor` instead."
|
||||
msgstr ""
|
||||
"Pour une décompression incrémentielle, utilisez à la place la classe :class:"
|
||||
"`BZ2Decompressor`."
|
||||
|
||||
#: ../Doc/library/bz2.rst:250
|
||||
msgid "Support for multi-stream inputs was added."
|
||||
msgstr ""
|
||||
msgstr "Prise en charge des entrées *multiflux*."
|
||||
|
||||
#: ../Doc/library/bz2.rst:256
|
||||
msgid "Examples of usage"
|
||||
|
@ -352,16 +459,22 @@ msgstr "Exemples d'utilisation"
|
|||
#: ../Doc/library/bz2.rst:258
|
||||
msgid "Below are some examples of typical usage of the :mod:`bz2` module."
|
||||
msgstr ""
|
||||
"Ci-dessous, nous présentons quelques exemples typiques de l'utilisation du "
|
||||
"module :mod:`bz2`."
|
||||
|
||||
#: ../Doc/library/bz2.rst:260
|
||||
msgid ""
|
||||
"Using :func:`compress` and :func:`decompress` to demonstrate round-trip "
|
||||
"compression:"
|
||||
msgstr ""
|
||||
"Utilise les fonctions :func:`compress` et :func:`decompress` pour démontrer "
|
||||
"une compression aller-retour :"
|
||||
|
||||
#: ../Doc/library/bz2.rst:281
|
||||
msgid "Using :class:`BZ2Compressor` for incremental compression:"
|
||||
msgstr ""
|
||||
"Utilise la classe :class:`BZ2Compressor` pour une compression "
|
||||
"incrémentielle :"
|
||||
|
||||
#: ../Doc/library/bz2.rst:300
|
||||
msgid ""
|
||||
|
@ -369,6 +482,10 @@ msgid ""
|
|||
"\"` chunks). Random data tends to compress poorly, while ordered, "
|
||||
"repetitive data usually yields a high compression ratio."
|
||||
msgstr ""
|
||||
"L'exemple ci-dessus utilise un flux de données vraiment pas aléatoire (un "
|
||||
"flux de blocs de `b\"z\"`). Les données aléatoires ont tendance à mal se "
|
||||
"compresser, alors que les données répétitives ou ordonnées donnent "
|
||||
"généralement un taux de compression élevé."
|
||||
|
||||
#: ../Doc/library/bz2.rst:304
|
||||
#, fuzzy
|
||||
|
|
|
@ -17,7 +17,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/calendar.rst:2
|
||||
msgid ":mod:`calendar` --- General calendar-related functions"
|
||||
msgstr ""
|
||||
msgstr ":mod:`calendar` — Fonctions calendaires générales"
|
||||
|
||||
#: ../Doc/library/calendar.rst:10
|
||||
msgid "**Source code:** :source:`Lib/calendar.py`"
|
||||
|
@ -277,12 +277,17 @@ msgid ""
|
|||
"Return a month's calendar as an HTML table. If *withyear* is true the year "
|
||||
"will be included in the header, otherwise just the month name will be used."
|
||||
msgstr ""
|
||||
"Renvoie le calendrier d'un mois sous la forme d'une table HTML. Si "
|
||||
"*withyear* est vrai l'année sera inclue dans l'en-tête, sinon seul le nom du "
|
||||
"mois sera utilisé."
|
||||
|
||||
#: ../Doc/library/calendar.rst:186
|
||||
msgid ""
|
||||
"Return a year's calendar as an HTML table. *width* (defaulting to 3) "
|
||||
"specifies the number of months per row."
|
||||
msgstr ""
|
||||
"Renvoie le calendrier d'une année sous la forme d'une table HTML. *width* "
|
||||
"(par défaut à 3) spécifie le nombre de mois par ligne."
|
||||
|
||||
#: ../Doc/library/calendar.rst:192
|
||||
msgid ""
|
||||
|
@ -292,59 +297,81 @@ msgid ""
|
|||
"be used. *encoding* specifies the encoding to be used for the output "
|
||||
"(defaulting to the system default encoding)."
|
||||
msgstr ""
|
||||
"Renvoie le calendrier d'une année sous la forme d'une page HTML complète. "
|
||||
"*width* (par défaut à 3) spécifie le nombre de mois par ligne. *css* est le "
|
||||
"nom de la feuille de style en cascade à utiliser. :const:`None` peut être "
|
||||
"passé si aucune feuille de style ne doit être utilisée. *encoding* spécifie "
|
||||
"l'encodage à utiliser pour les données de sortie (par défaut l'encodage par "
|
||||
"défaut du système)."
|
||||
|
||||
#: ../Doc/library/calendar.rst:199
|
||||
msgid ""
|
||||
":class:`!HTMLCalendar` has the following attributes you can override to "
|
||||
"customize the CSS classes used by the calendar:"
|
||||
msgstr ""
|
||||
":class:`!HTMLCalendar` possède les attributs suivants que vous pouvez "
|
||||
"surcharger pour personnaliser les classes CSS utilisées par le calendrier :"
|
||||
|
||||
#: ../Doc/library/calendar.rst:204
|
||||
msgid ""
|
||||
"A list of CSS classes used for each weekday. The default class list is::"
|
||||
msgstr ""
|
||||
"Une liste de classes CSS utilisées pour chaque jour de la semaine. La liste "
|
||||
"par défaut de la classe est ::"
|
||||
|
||||
#: ../Doc/library/calendar.rst:208
|
||||
msgid "more styles can be added for each day::"
|
||||
msgstr ""
|
||||
msgstr "davantage de styles peuvent être ajoutés pour chaque jour ::"
|
||||
|
||||
#: ../Doc/library/calendar.rst:212
|
||||
msgid "Note that the length of this list must be seven items."
|
||||
msgstr ""
|
||||
msgstr "Notez que la longueur de cette liste doit être de sept éléments."
|
||||
|
||||
#: ../Doc/library/calendar.rst:217
|
||||
msgid "The CSS class for a weekday occurring in the previous or coming month."
|
||||
msgstr ""
|
||||
"La classe CSS pour le jour de la semaine apparaissant dans le mois précédent "
|
||||
"ou à venir."
|
||||
|
||||
#: ../Doc/library/calendar.rst:224
|
||||
msgid ""
|
||||
"A list of CSS classes used for weekday names in the header row. The default "
|
||||
"is the same as :attr:`cssclasses`."
|
||||
msgstr ""
|
||||
"Une liste de classes CSS utilisées pour les noms des jours de la semaine "
|
||||
"dans la ligne d'en-tête. Par défaut les mêmes que :attr:`cssclasses`."
|
||||
|
||||
#: ../Doc/library/calendar.rst:232
|
||||
msgid ""
|
||||
"The month's head CSS class (used by :meth:`formatmonthname`). The default "
|
||||
"value is ``\"month\"``."
|
||||
msgstr ""
|
||||
"La classe CSS du mois en en-tête (utilisé par :meth:`formatmonthname`). La "
|
||||
"valeur par défaut est ``\"month\"``."
|
||||
|
||||
#: ../Doc/library/calendar.rst:240
|
||||
msgid ""
|
||||
"The CSS class for the whole month's table (used by :meth:`formatmonth`). The "
|
||||
"default value is ``\"month\"``."
|
||||
msgstr ""
|
||||
"La classe CSS pour la table du mois entière (utilisé par :meth:"
|
||||
"`formatmonth`). La valeur par défaut est ``\"month\"``."
|
||||
|
||||
#: ../Doc/library/calendar.rst:248
|
||||
msgid ""
|
||||
"The CSS class for the whole year's table of tables (used by :meth:"
|
||||
"`formatyear`). The default value is ``\"year\"``."
|
||||
msgstr ""
|
||||
"La classe CSS pour la table entière des tables de l'année (utilisé par :meth:"
|
||||
"`formatyear`). La valeur par défaut est ``\"year\"``."
|
||||
|
||||
#: ../Doc/library/calendar.rst:256
|
||||
msgid ""
|
||||
"The CSS class for the table head for the whole year (used by :meth:"
|
||||
"`formatyear`). The default value is ``\"year\"``."
|
||||
msgstr ""
|
||||
"La classe CSS pour l'en-tête de la table pour l'année entière (utilisé par :"
|
||||
"meth:`formatyear`). La valeur par défaut est ``\"year\"``."
|
||||
|
||||
#: ../Doc/library/calendar.rst:262
|
||||
msgid ""
|
||||
|
@ -352,10 +379,15 @@ msgid ""
|
|||
"singular (e.g. ``cssclass_month`` ``cssclass_noday``), one can replace the "
|
||||
"single CSS class with a space separated list of CSS classes, for example::"
|
||||
msgstr ""
|
||||
"Notez que même si le nommage ci-dessus des attributs de classe est au "
|
||||
"singulier (p. ex. ``cssclass_month`` ``cssclass_noday``), on peut remplacer "
|
||||
"la seule classe CSS par une liste de classes CSS séparées par une espace, "
|
||||
"par exemple ::"
|
||||
|
||||
#: ../Doc/library/calendar.rst:268
|
||||
msgid "Here is an example how :class:`!HTMLCalendar` can be customized::"
|
||||
msgstr ""
|
||||
"Voici un exemple de comment peut être personnalisée :class:`!HTMLCalendar` ::"
|
||||
|
||||
#: ../Doc/library/calendar.rst:280
|
||||
msgid ""
|
||||
|
@ -364,6 +396,11 @@ msgid ""
|
|||
"If this locale includes an encoding all strings containing month and weekday "
|
||||
"names will be returned as unicode."
|
||||
msgstr ""
|
||||
"Le constructeur de cette sous-classe de :class:`TextCalendar` accepte un "
|
||||
"paramètre régional *locale* : une langue au format ``\"fr_FR.UTF-8\"``, et "
|
||||
"renvoie les noms de mois et de jours de la semaine traduits dans cette "
|
||||
"langue. Si ce lieu possède un encodage, toutes les chaînes contenant des "
|
||||
"noms de mois ou de jours de la semaine seront renvoyées en Unicode."
|
||||
|
||||
#: ../Doc/library/calendar.rst:288
|
||||
msgid ""
|
||||
|
@ -372,6 +409,11 @@ msgid ""
|
|||
"If this locale includes an encoding all strings containing month and weekday "
|
||||
"names will be returned as unicode."
|
||||
msgstr ""
|
||||
"Cette sous-classe de :class:`HTMLCalendar` peut recevoir un nom de lieu dans "
|
||||
"le constructeur et renvoie les noms de mois et de jours de la semaine selon "
|
||||
"le lieu spécifié. Si ce lieu possède un encodage, toutes les chaînes "
|
||||
"contenant des noms de mois ou de jours de la semaine seront renvoyées en "
|
||||
"Unicode."
|
||||
|
||||
#: ../Doc/library/calendar.rst:295
|
||||
msgid ""
|
||||
|
@ -380,10 +422,16 @@ msgid ""
|
|||
"Because the current locale is a process-wide setting, they are not thread-"
|
||||
"safe."
|
||||
msgstr ""
|
||||
"Les méthodes :meth:`formatweekday` et :meth:`formatmonthname` de ces deux "
|
||||
"classes changent temporairement le paramètre régional courant pour le "
|
||||
"paramètre donné via *locale* . Comme le paramètre régional est un réglage de "
|
||||
"l'ensemble du processus, elles ne sont pas utilisables de manière sûre avec "
|
||||
"les programmes à fils d'exécution multiples."
|
||||
|
||||
#: ../Doc/library/calendar.rst:300
|
||||
msgid "For simple text calendars this module provides the following functions."
|
||||
msgstr ""
|
||||
"Pour les calendriers texte simples ce module fournit les fonctions suivantes."
|
||||
|
||||
#: ../Doc/library/calendar.rst:304
|
||||
msgid ""
|
||||
|
@ -392,43 +440,62 @@ msgid ""
|
|||
"`THURSDAY`, :const:`FRIDAY`, :const:`SATURDAY`, and :const:`SUNDAY` are "
|
||||
"provided for convenience. For example, to set the first weekday to Sunday::"
|
||||
msgstr ""
|
||||
"Fixe le jour de la semaine (``0`` pour lundi, ``6`` pour dimanche) qui "
|
||||
"débute chaque semaine. Les valeurs :const:`MONDAY`, :const:`TUESDAY`, :const:"
|
||||
"`WEDNESDAY`, :const:`THURSDAY`, :const:`FRIDAY`, :const:`SATURDAY`, et :"
|
||||
"const:`SUNDAY` sont fournies par commodité. Par exemple, pour fixer le "
|
||||
"premier jour de la semaine à dimanche ::"
|
||||
|
||||
#: ../Doc/library/calendar.rst:315
|
||||
msgid "Returns the current setting for the weekday to start each week."
|
||||
msgstr ""
|
||||
"Renvoie le réglage courant pour le jour de la semaine débutant chaque "
|
||||
"semaine."
|
||||
|
||||
#: ../Doc/library/calendar.rst:320
|
||||
msgid ""
|
||||
"Returns :const:`True` if *year* is a leap year, otherwise :const:`False`."
|
||||
msgstr ""
|
||||
"Renvoie :const:`True` si *year* est une année bissextile, sinon :const:"
|
||||
"`False`."
|
||||
|
||||
#: ../Doc/library/calendar.rst:325
|
||||
msgid ""
|
||||
"Returns the number of leap years in the range from *y1* to *y2* (exclusive), "
|
||||
"where *y1* and *y2* are years."
|
||||
msgstr ""
|
||||
"Renvoie le nombre d'années bissextiles dans la période de *y1* à *y2* (non "
|
||||
"inclus), où *y1* et *y2* sont des années."
|
||||
|
||||
#: ../Doc/library/calendar.rst:328
|
||||
msgid "This function works for ranges spanning a century change."
|
||||
msgstr ""
|
||||
"Cette fonction marche pour les périodes couvrant un changement de siècle."
|
||||
|
||||
#: ../Doc/library/calendar.rst:333
|
||||
msgid ""
|
||||
"Returns the day of the week (``0`` is Monday) for *year* (``1970``--...), "
|
||||
"*month* (``1``--``12``), *day* (``1``--``31``)."
|
||||
msgstr ""
|
||||
"Renvoie le jour de la semaine (``0`` pour lundi) pour *year* (``1970``-- …), "
|
||||
"*month* (``1``--``12``), *day* (``1``--``31``)."
|
||||
|
||||
#: ../Doc/library/calendar.rst:339
|
||||
msgid ""
|
||||
"Return a header containing abbreviated weekday names. *n* specifies the "
|
||||
"width in characters for one weekday."
|
||||
msgstr ""
|
||||
"Renvoie un en-tête contenant les jours de la semaine en abrégé. *n* spécifie "
|
||||
"la largeur en caractères pour un jour de la semaine."
|
||||
|
||||
#: ../Doc/library/calendar.rst:345
|
||||
msgid ""
|
||||
"Returns weekday of first day of the month and number of days in month, for "
|
||||
"the specified *year* and *month*."
|
||||
msgstr ""
|
||||
"Renvoie le jour de la semaine correspondant au premier jour du mois et le "
|
||||
"nombre de jours dans le mois, pour l'année *year* et le mois *month* "
|
||||
"spécifiés."
|
||||
|
||||
#: ../Doc/library/calendar.rst:351
|
||||
msgid ""
|
||||
|
@ -439,24 +506,31 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/calendar.rst:358
|
||||
msgid "Prints a month's calendar as returned by :func:`month`."
|
||||
msgstr ""
|
||||
msgstr "Affiche le calendrier d'un mois tel que renvoyé par :func:`month`."
|
||||
|
||||
#: ../Doc/library/calendar.rst:363
|
||||
msgid ""
|
||||
"Returns a month's calendar in a multi-line string using the :meth:"
|
||||
"`formatmonth` of the :class:`TextCalendar` class."
|
||||
msgstr ""
|
||||
"Renvoie le calendrier d'un mois dans une chaîne multi-lignes en utilisant la "
|
||||
"méthode :meth:`formatmonth` de la classe :class:`TextCalendar`."
|
||||
|
||||
#: ../Doc/library/calendar.rst:369
|
||||
msgid ""
|
||||
"Prints the calendar for an entire year as returned by :func:`calendar`."
|
||||
msgstr ""
|
||||
"Affiche le calendrier pour une année entière tel que renvoyé par :func:"
|
||||
"`calendar`."
|
||||
|
||||
#: ../Doc/library/calendar.rst:374
|
||||
msgid ""
|
||||
"Returns a 3-column calendar for an entire year as a multi-line string using "
|
||||
"the :meth:`formatyear` of the :class:`TextCalendar` class."
|
||||
msgstr ""
|
||||
"Renvoie un calendrier sur 3 colonnes pour une année entière dans une chaîne "
|
||||
"multi-lignes en utilisant la méthode :meth:`formatyear` de la classe :class:"
|
||||
"`TextCalendar`."
|
||||
|
||||
#: ../Doc/library/calendar.rst:380
|
||||
msgid ""
|
||||
|
@ -466,20 +540,29 @@ msgid ""
|
|||
"encoding. In fact, :func:`time.gmtime` and :func:`timegm` are each others' "
|
||||
"inverse."
|
||||
msgstr ""
|
||||
"Une fonction sans rapport mais pratique, qui prend un n-uplet temporel tel "
|
||||
"que celui renvoyé par la fonction :func:`~time.gmtime` dans le module :mod:"
|
||||
"`time`, et renvoie la valeur d'horodatage Unix (*timestamp* en anglais) "
|
||||
"correspondante, en supposant une époque de 1970, et l'encodage POSIX. En "
|
||||
"fait, :func:`time.gmtime` et :func:`timegm` sont l'inverse l'un de l'autre."
|
||||
|
||||
#: ../Doc/library/calendar.rst:387
|
||||
msgid "The :mod:`calendar` module exports the following data attributes:"
|
||||
msgstr ""
|
||||
msgstr "Le module :mod:`calendar` exporte les attributs suivants :"
|
||||
|
||||
#: ../Doc/library/calendar.rst:391
|
||||
msgid "An array that represents the days of the week in the current locale."
|
||||
msgstr ""
|
||||
"Un tableau qui représente les jours de la semaine pour les paramètres "
|
||||
"régionaux actifs."
|
||||
|
||||
#: ../Doc/library/calendar.rst:396
|
||||
msgid ""
|
||||
"An array that represents the abbreviated days of the week in the current "
|
||||
"locale."
|
||||
msgstr ""
|
||||
"Un tableau qui représente les jours de la semaine en abrégé pour les "
|
||||
"paramètres régionaux actifs."
|
||||
|
||||
#: ../Doc/library/calendar.rst:401
|
||||
msgid ""
|
||||
|
@ -487,6 +570,10 @@ msgid ""
|
|||
"follows normal convention of January being month number 1, so it has a "
|
||||
"length of 13 and ``month_name[0]`` is the empty string."
|
||||
msgstr ""
|
||||
"Un tableau qui représente les mois de l'année pour les paramètres régionaux "
|
||||
"actifs. Ceux-ci respectent la convention usuelle où janvier est le mois "
|
||||
"numéro 1, donc il a une longueur de 13 et ``month_name[0]`` est la chaîne "
|
||||
"vide."
|
||||
|
||||
#: ../Doc/library/calendar.rst:408
|
||||
msgid ""
|
||||
|
@ -494,6 +581,10 @@ msgid ""
|
|||
"locale. This follows normal convention of January being month number 1, so "
|
||||
"it has a length of 13 and ``month_abbr[0]`` is the empty string."
|
||||
msgstr ""
|
||||
"Un tableau qui représente les mois de l'année en abrégé pour les paramètres "
|
||||
"régionaux actifs. Celui-ci respectent la convention usuelle où janvier est "
|
||||
"le mois numéro 1, donc il a une longueur de 13 et ``month_name[0]`` est la "
|
||||
"chaîne vide."
|
||||
|
||||
#: ../Doc/library/calendar.rst:417
|
||||
msgid "Module :mod:`datetime`"
|
||||
|
@ -504,6 +595,8 @@ msgid ""
|
|||
"Object-oriented interface to dates and times with similar functionality to "
|
||||
"the :mod:`time` module."
|
||||
msgstr ""
|
||||
"Interface orientée objet pour les dates et les heures avec des "
|
||||
"fonctionnalités similaires au module :mod:`time`."
|
||||
|
||||
#: ../Doc/library/calendar.rst:419
|
||||
msgid "Module :mod:`time`"
|
||||
|
@ -511,4 +604,4 @@ msgstr "Module :mod:`time`"
|
|||
|
||||
#: ../Doc/library/calendar.rst:420
|
||||
msgid "Low-level time related functions."
|
||||
msgstr ""
|
||||
msgstr "Fonctions bas niveau relatives au temps."
|
||||
|
|
|
@ -51,7 +51,7 @@ msgstr ""
|
|||
msgid "To enable this feature, simply add this to the top of your CGI script::"
|
||||
msgstr ""
|
||||
"Pour activer cette fonctionnalité, ajoutez simplement ceci au début de votre "
|
||||
"script CGI : ::"
|
||||
"script CGI ::"
|
||||
|
||||
#: ../Doc/library/cgitb.rst:35
|
||||
msgid ""
|
||||
|
|
|
@ -16,11 +16,11 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/codecs.rst:2
|
||||
msgid ":mod:`codecs` --- Codec registry and base classes"
|
||||
msgstr ""
|
||||
msgstr ":mod:`codecs` — Registre des codecs et classes de base associées"
|
||||
|
||||
#: ../Doc/library/codecs.rst:11
|
||||
msgid "**Source code:** :source:`Lib/codecs.py`"
|
||||
msgstr "**Code source :** :source:`Lib/codecs.py`"
|
||||
msgstr "**Code source :** :source:`Lib/codecs.py`"
|
||||
|
||||
#: ../Doc/library/codecs.rst:23
|
||||
msgid ""
|
||||
|
@ -33,16 +33,29 @@ msgid ""
|
|||
"features are restricted to use specifically with :term:`text encodings <text "
|
||||
"encoding>`, or with codecs that encode to :class:`bytes`."
|
||||
msgstr ""
|
||||
"Ce module définit les classes de base pour les codecs (encodeurs et "
|
||||
"décodeurs) standards Python et fournit l'interface avec le registre des "
|
||||
"codecs internes à Python, qui gère le processus de recherche de codecs et de "
|
||||
"gestion des erreurs. La plupart des codecs sont des :term:`encodeurs de "
|
||||
"texte <text encoding>`, qui encode du texte vers des séquences d'octets "
|
||||
"(type *bytes* de Python) mais il existe aussi des codecs qui encodent du "
|
||||
"texte vers du texte et des *bytes* vers des *bytes*. Les codecs "
|
||||
"personnalisés peuvent encoder et décoder des types arbitraires, mais "
|
||||
"l'utilisation de certaines fonctionnalités du module est restreinte aux :"
|
||||
"term:`encodeurs de texte <text encoding>` ou aux codecs qui encodent vers :"
|
||||
"class:`bytes`."
|
||||
|
||||
#: ../Doc/library/codecs.rst:33
|
||||
msgid ""
|
||||
"The module defines the following functions for encoding and decoding with "
|
||||
"any codec:"
|
||||
msgstr ""
|
||||
"Le module définit les fonctions suivantes pour encoder et décoder à l'aide "
|
||||
"de n'importe quel codec :"
|
||||
|
||||
#: ../Doc/library/codecs.rst:38
|
||||
msgid "Encodes *obj* using the codec registered for *encoding*."
|
||||
msgstr ""
|
||||
msgstr "Encode *obj* en utilisant le codec enregistré pour *encoding*."
|
||||
|
||||
#: ../Doc/library/codecs.rst:40
|
||||
msgid ""
|
||||
|
@ -52,10 +65,16 @@ msgid ""
|
|||
"`UnicodeEncodeError`). Refer to :ref:`codec-base-classes` for more "
|
||||
"information on codec error handling."
|
||||
msgstr ""
|
||||
"Vous pouvez spécifier *errors* pour définir la façon de gérer les erreurs. "
|
||||
"Le gestionnaire d'erreurs par défaut est ``'strict'``, ce qui veut dire "
|
||||
"qu'une erreur lors de l'encodage lève :exc:`ValueError` (ou une sous-classe "
|
||||
"spécifique du codec, telle que :exc:`UnicodeEncodeError`). Référez-vous aux :"
|
||||
"ref:`classes de base des codecs <codec-base-classes>` pour plus "
|
||||
"d'informations sur la gestion des erreurs par les codecs."
|
||||
|
||||
#: ../Doc/library/codecs.rst:48
|
||||
msgid "Decodes *obj* using the codec registered for *encoding*."
|
||||
msgstr ""
|
||||
msgstr "Décode *obj* en utilisant le codec enregistré pour *encoding*."
|
||||
|
||||
#: ../Doc/library/codecs.rst:50
|
||||
msgid ""
|
||||
|
@ -65,16 +84,25 @@ msgid ""
|
|||
"`UnicodeDecodeError`). Refer to :ref:`codec-base-classes` for more "
|
||||
"information on codec error handling."
|
||||
msgstr ""
|
||||
"Vous pouvez spécifier *errors* pour définir la façon de gérer les erreurs. "
|
||||
"Le gestionnaire d'erreurs par défaut est ``'strict'``, ce qui veut dire "
|
||||
"qu'une erreur lors du décodage lève :exc:`ValueError` (ou une sous-classe "
|
||||
"spécifique du codec, telle que :exc:`UnicodeDecodeError`). Référez-vous aux :"
|
||||
"ref:`classes de base des codecs <codec-base-classes>` pour plus "
|
||||
"d'informations sur la gestion des erreurs par les codecs."
|
||||
|
||||
#: ../Doc/library/codecs.rst:56
|
||||
msgid "The full details for each codec can also be looked up directly:"
|
||||
msgstr ""
|
||||
"Les détails complets de chaque codec peuvent être examinés directement :"
|
||||
|
||||
#: ../Doc/library/codecs.rst:60
|
||||
msgid ""
|
||||
"Looks up the codec info in the Python codec registry and returns a :class:"
|
||||
"`CodecInfo` object as defined below."
|
||||
msgstr ""
|
||||
"Recherche les informations relatives au codec dans le registre des codecs de "
|
||||
"Python et renvoie l'objet :class:`CodecInfo` tel que défini ci-dessous."
|
||||
|
||||
#: ../Doc/library/codecs.rst:63
|
||||
msgid ""
|
||||
|
@ -83,16 +111,23 @@ msgid ""
|
|||
"object is found, a :exc:`LookupError` is raised. Otherwise, the :class:"
|
||||
"`CodecInfo` object is stored in the cache and returned to the caller."
|
||||
msgstr ""
|
||||
"Les encodeurs sont recherchés en priorité dans le cache du registre. S'ils "
|
||||
"n'y sont pas, la liste des fonctions de recherche enregistrées est passée en "
|
||||
"revue. Si aucun objet :class:`CodecInfo` n'est trouvé, une :exc:"
|
||||
"`LookupError` est levée. Sinon, l'objet :class:`CodecInfo` est mis en cache "
|
||||
"et renvoyé vers l'appelant."
|
||||
|
||||
#: ../Doc/library/codecs.rst:70
|
||||
msgid ""
|
||||
"Codec details when looking up the codec registry. The constructor arguments "
|
||||
"are stored in attributes of the same name:"
|
||||
msgstr ""
|
||||
"Les détails d'un codec trouvé dans le registre des codecs. Les arguments du "
|
||||
"constructeur sont stockés dans les attributs éponymes :"
|
||||
|
||||
#: ../Doc/library/codecs.rst:76
|
||||
msgid "The name of the encoding."
|
||||
msgstr ""
|
||||
msgstr "Le nom de l'encodeur."
|
||||
|
||||
#: ../Doc/library/codecs.rst:82
|
||||
msgid ""
|
||||
|
@ -102,6 +137,11 @@ msgid ""
|
|||
"objects>`). The functions or methods are expected to work in a stateless "
|
||||
"mode."
|
||||
msgstr ""
|
||||
"Les fonctions d'encodage et de décodage. Ces fonctions ou méthodes doivent "
|
||||
"avoir la même interface que les méthodes :meth:`~Codec.encode` et :meth:"
|
||||
"`~Codec.decode` des instances de Codec (voir :ref:`Interface des codecs "
|
||||
"<codec-objects>`). Les fonctions et méthodes sont censées fonctionner sans "
|
||||
"état interne."
|
||||
|
||||
#: ../Doc/library/codecs.rst:92
|
||||
msgid ""
|
||||
|
@ -110,6 +150,11 @@ msgid ""
|
|||
"`IncrementalEncoder` and :class:`IncrementalDecoder`, respectively. "
|
||||
"Incremental codecs can maintain state."
|
||||
msgstr ""
|
||||
"Classes d'encodeurs et de décodeurs incrémentaux ou fonctions usines. Elles "
|
||||
"doivent avoir respectivement les mêmes interfaces que celles définies par "
|
||||
"les classes de base :class:`IncrementalEncoder` et :class:"
|
||||
"`IncrementalDecoder`. Les codecs incrémentaux peuvent conserver des états "
|
||||
"internes."
|
||||
|
||||
#: ../Doc/library/codecs.rst:101
|
||||
msgid ""
|
||||
|
@ -117,69 +162,94 @@ msgid ""
|
|||
"the interface defined by the base classes :class:`StreamWriter` and :class:"
|
||||
"`StreamReader`, respectively. Stream codecs can maintain state."
|
||||
msgstr ""
|
||||
"Classes d'écriture et de lecture de flux ou fonctions usines. Elles doivent "
|
||||
"avoir les mêmes interfaces que celles définies par les classes de base :"
|
||||
"class:`StreamWriter` et :class:`StreamReader`, respectivement. Les codecs de "
|
||||
"flux peuvent conserver un état interne."
|
||||
|
||||
#: ../Doc/library/codecs.rst:106
|
||||
msgid ""
|
||||
"To simplify access to the various codec components, the module provides "
|
||||
"these additional functions which use :func:`lookup` for the codec lookup:"
|
||||
msgstr ""
|
||||
"Pour simplifier l'accès aux différents composants du codec, le module "
|
||||
"fournit les fonctions supplémentaires suivantes qui utilisent :func:`lookup` "
|
||||
"pour la recherche du codec :"
|
||||
|
||||
#: ../Doc/library/codecs.rst:111
|
||||
msgid ""
|
||||
"Look up the codec for the given encoding and return its encoder function."
|
||||
msgstr ""
|
||||
"Recherche le codec pour l'encodage *encoding* et renvoie sa fonction "
|
||||
"d'encodage."
|
||||
|
||||
#: ../Doc/library/codecs.rst:113 ../Doc/library/codecs.rst:120
|
||||
#: ../Doc/library/codecs.rst:146 ../Doc/library/codecs.rst:154
|
||||
msgid "Raises a :exc:`LookupError` in case the encoding cannot be found."
|
||||
msgstr ""
|
||||
msgstr "Lève une :exc:`LookupError` si l'encodage *encoding* n'est pas trouvé."
|
||||
|
||||
#: ../Doc/library/codecs.rst:118
|
||||
msgid ""
|
||||
"Look up the codec for the given encoding and return its decoder function."
|
||||
msgstr ""
|
||||
"Recherche le codec pour l'encodage *encoding* et renvoie sa fonction de "
|
||||
"décodage."
|
||||
|
||||
#: ../Doc/library/codecs.rst:125
|
||||
msgid ""
|
||||
"Look up the codec for the given encoding and return its incremental encoder "
|
||||
"class or factory function."
|
||||
msgstr ""
|
||||
"Recherche le codec pour l'encodage *encoding* et renvoie sa classe "
|
||||
"d'encodage incrémental ou la fonction usine."
|
||||
|
||||
#: ../Doc/library/codecs.rst:128
|
||||
msgid ""
|
||||
"Raises a :exc:`LookupError` in case the encoding cannot be found or the "
|
||||
"codec doesn't support an incremental encoder."
|
||||
msgstr ""
|
||||
"Lève une :exc:`LookupError` si l'encodage *encoding* n'est pas trouvé ou si "
|
||||
"le codec ne gère pas l'encodage incrémental."
|
||||
|
||||
#: ../Doc/library/codecs.rst:134
|
||||
msgid ""
|
||||
"Look up the codec for the given encoding and return its incremental decoder "
|
||||
"class or factory function."
|
||||
msgstr ""
|
||||
"Recherche le codec pour l'encodage *encoding* et renvoie sa classe de "
|
||||
"décodage incrémental ou la fonction usine."
|
||||
|
||||
#: ../Doc/library/codecs.rst:137
|
||||
msgid ""
|
||||
"Raises a :exc:`LookupError` in case the encoding cannot be found or the "
|
||||
"codec doesn't support an incremental decoder."
|
||||
msgstr ""
|
||||
"Lève une :exc:`LookupError` si l'encodage *encoding* n'est pas trouvé ou si "
|
||||
"le codec ne gère pas le décodage incrémental."
|
||||
|
||||
#: ../Doc/library/codecs.rst:143
|
||||
msgid ""
|
||||
"Look up the codec for the given encoding and return its :class:"
|
||||
"`StreamReader` class or factory function."
|
||||
msgstr ""
|
||||
"Recherche le codec pour l'encodage *encoding* et renvoie sa classe :class:"
|
||||
"`StreamReader` ou la fonction usine."
|
||||
|
||||
#: ../Doc/library/codecs.rst:151
|
||||
msgid ""
|
||||
"Look up the codec for the given encoding and return its :class:"
|
||||
"`StreamWriter` class or factory function."
|
||||
msgstr ""
|
||||
"Recherche le codec pour l'encodage *encoding* et renvoie sa classe :class:"
|
||||
"`StreamWriter` ou la fonction usine."
|
||||
|
||||
#: ../Doc/library/codecs.rst:156
|
||||
msgid ""
|
||||
"Custom codecs are made available by registering a suitable codec search "
|
||||
"function:"
|
||||
msgstr ""
|
||||
"Les codecs personnalisés sont mis à disposition en enregistrant une fonction "
|
||||
"de recherche de codecs adaptée :"
|
||||
|
||||
#: ../Doc/library/codecs.rst:161
|
||||
msgid ""
|
||||
|
@ -188,12 +258,20 @@ msgid ""
|
|||
"class:`CodecInfo` object. In case a search function cannot find a given "
|
||||
"encoding, it should return ``None``."
|
||||
msgstr ""
|
||||
"Enregistre une fonction de recherche de codec. Il convient qu'une fonction "
|
||||
"de recherche prenne un argument, le nom de l'encodage écrit en lettres "
|
||||
"minuscules, et renvoie un objet :class:`CodecInfo`. Si la fonction de "
|
||||
"recherche ne trouve pas un encodage donné, il convient qu'elle renvoie `` "
|
||||
"None``."
|
||||
|
||||
#: ../Doc/library/codecs.rst:168
|
||||
msgid ""
|
||||
"Search function registration is not currently reversible, which may cause "
|
||||
"problems in some cases, such as unit testing or module reloading."
|
||||
msgstr ""
|
||||
"l'enregistrement d'une fonction de recherche n'est actuellement pas "
|
||||
"réversible, ce qui peut entraîner des problèmes dans certains cas, par "
|
||||
"exemple pour les tests unitaires ou le rechargement de module."
|
||||
|
||||
#: ../Doc/library/codecs.rst:172
|
||||
msgid ""
|
||||
|
@ -202,6 +280,11 @@ msgid ""
|
|||
"provides additional utility functions and classes that allow the use of a "
|
||||
"wider range of codecs when working with binary files:"
|
||||
msgstr ""
|
||||
"Alors qu'il est recommandé d'utiliser la fonction native :func:`open` et le "
|
||||
"module associé :mod:`io` pour travailler avec des fichiers texte encodés, le "
|
||||
"présent module fournit des fonctions et classes utilitaires supplémentaires "
|
||||
"qui permettent l'utilisation d'une plus large gamme de codecs si vous "
|
||||
"travaillez avec des fichiers binaires :"
|
||||
|
||||
#: ../Doc/library/codecs.rst:179
|
||||
msgid ""
|
||||
|
@ -209,6 +292,10 @@ msgid ""
|
|||
"`StreamReaderWriter`, providing transparent encoding/decoding. The default "
|
||||
"file mode is ``'r'``, meaning to open the file in read mode."
|
||||
msgstr ""
|
||||
"Ouvre un fichier encodé en utilisant le *mode* donné et renvoie une instance "
|
||||
"de :class:`StreamReaderWriter`, permettant un encodage-décodage transparent. "
|
||||
"Le mode de fichier par défaut est ``'r'``, ce qui signifie que le fichier "
|
||||
"est ouvert en lecture."
|
||||
|
||||
#: ../Doc/library/codecs.rst:185
|
||||
msgid ""
|
||||
|
@ -217,6 +304,11 @@ msgid ""
|
|||
"may be any binary mode acceptable to the built-in :func:`open` function; the "
|
||||
"``'b'`` is automatically added."
|
||||
msgstr ""
|
||||
"les fichiers encodés sous-jacents sont toujours ouverts en mode binaire. "
|
||||
"Aucune conversion automatique de ``'\\n'`` n'est effectuée à la lecture ou à "
|
||||
"l'écriture. L'argument *mode* peut être n'importe quel mode binaire "
|
||||
"acceptable pour la fonction native :func:`open` ; le ``'b'`` est "
|
||||
"automatiquement ajouté."
|
||||
|
||||
#: ../Doc/library/codecs.rst:190
|
||||
msgid ""
|
||||
|
@ -224,6 +316,10 @@ msgid ""
|
|||
"encoding that encodes to and decodes from bytes is allowed, and the data "
|
||||
"types supported by the file methods depend on the codec used."
|
||||
msgstr ""
|
||||
"*encoding* spécifie l'encodage à utiliser pour le fichier. Tout encodage qui "
|
||||
"encode et décode des octets (type *bytes*) est autorisé et les types de "
|
||||
"données pris en charge par les méthodes relatives aux fichiers dépendent du "
|
||||
"codec utilisé."
|
||||
|
||||
#: ../Doc/library/codecs.rst:194
|
||||
msgid ""
|
||||
|
@ -231,6 +327,9 @@ msgid ""
|
|||
"``'strict'`` which causes a :exc:`ValueError` to be raised in case an "
|
||||
"encoding error occurs."
|
||||
msgstr ""
|
||||
"*errors* peut être spécifié pour définir la gestion des erreurs. La valeur "
|
||||
"par défaut est ``'strict'``, ce qui lève une :exc:`ValueError` en cas "
|
||||
"d'erreur lors du codage."
|
||||
|
||||
#: ../Doc/library/codecs.rst:197
|
||||
msgid ""
|
||||
|
@ -244,6 +343,9 @@ msgid ""
|
|||
"provides transparent transcoding. The original file is closed when the "
|
||||
"wrapped version is closed."
|
||||
msgstr ""
|
||||
"Renvoie une instance de :class:`StreamRecoder`, version encapsulée de *file* "
|
||||
"qui fournit un transcodage transparent. Le fichier original est fermé quand "
|
||||
"la version encapsulée est fermée."
|
||||
|
||||
#: ../Doc/library/codecs.rst:207
|
||||
msgid ""
|
||||
|
@ -252,10 +354,17 @@ msgid ""
|
|||
"*file_encoding*. Bytes read from the original file are decoded according to "
|
||||
"*file_encoding*, and the result is encoded using *data_encoding*."
|
||||
msgstr ""
|
||||
"Les données écrites dans un fichier encapsulant sont décodées en fonction du "
|
||||
"*data_encoding* spécifié puis écrites vers le fichier original en tant que "
|
||||
"*bytes* en utilisant *file_encoding*. Les octets lus dans le fichier "
|
||||
"original sont décodés conformément à *file_encoding* et le résultat est "
|
||||
"encodé en utilisant *data_encoding*."
|
||||
|
||||
#: ../Doc/library/codecs.rst:213
|
||||
msgid "If *file_encoding* is not given, it defaults to *data_encoding*."
|
||||
msgstr ""
|
||||
"Si *file_encoding* n'est pas spécifié, la valeur par défaut est "
|
||||
"*data_encoding*."
|
||||
|
||||
#: ../Doc/library/codecs.rst:215
|
||||
msgid ""
|
||||
|
@ -263,6 +372,9 @@ msgid ""
|
|||
"``'strict'``, which causes :exc:`ValueError` to be raised in case an "
|
||||
"encoding error occurs."
|
||||
msgstr ""
|
||||
"*errors* peut être spécifié pour définir la gestion des erreurs. La valeur "
|
||||
"par défaut est ``'strict'``, ce qui lève une :exc:`ValueError` en cas "
|
||||
"d'erreur lors du codage."
|
||||
|
||||
#: ../Doc/library/codecs.rst:222
|
||||
msgid ""
|
||||
|
@ -271,6 +383,10 @@ msgid ""
|
|||
"well as any other keyword argument) is passed through to the incremental "
|
||||
"encoder."
|
||||
msgstr ""
|
||||
"Utilise un encodeur incrémental pour encoder de manière itérative l'entrée "
|
||||
"fournie par *iterator*. Cette fonction est un :term:`générateur "
|
||||
"<generator>`. L'argument *errors* (ainsi que tout autre argument passé par "
|
||||
"mot-clé) est transmis à l'encodeur incrémental."
|
||||
|
||||
#: ../Doc/library/codecs.rst:227
|
||||
msgid ""
|
||||
|
@ -278,6 +394,9 @@ msgid ""
|
|||
"encode. Therefore it does not support bytes-to-bytes encoders such as "
|
||||
"``base64_codec``."
|
||||
msgstr ""
|
||||
"Cette fonction nécessite que le codec accepte les objets texte (classe :"
|
||||
"class:`str`) en entrée. Par conséquent, il ne prend pas en charge les "
|
||||
"encodeurs *bytes* vers *bytes* tels que ``base64_codec``."
|
||||
|
||||
#: ../Doc/library/codecs.rst:234
|
||||
msgid ""
|
||||
|
@ -286,6 +405,10 @@ msgid ""
|
|||
"well as any other keyword argument) is passed through to the incremental "
|
||||
"decoder."
|
||||
msgstr ""
|
||||
"Utilise un décodeur incrémental pour décoder de manière itérative l'entrée "
|
||||
"fournie par *iterator*. Cette fonction est un :term:`générateur`. L'argument "
|
||||
"*errors* (ainsi que tout autre argument passé par mot-clé) est transmis au "
|
||||
"décodeur incrémental."
|
||||
|
||||
#: ../Doc/library/codecs.rst:239
|
||||
msgid ""
|
||||
|
@ -294,12 +417,18 @@ msgid ""
|
|||
"``rot_13``, although ``rot_13`` may be used equivalently with :func:"
|
||||
"`iterencode`."
|
||||
msgstr ""
|
||||
"Cette fonction requiert que le codec accepte les objets :class:`bytes` en "
|
||||
"entrée. Par conséquent, elle ne prend pas en charge les encodeurs de texte "
|
||||
"vers texte tels que ``rot_13``, bien que ``rot_13`` puisse être utilisé de "
|
||||
"manière équivalente avec :func:`iterencode`."
|
||||
|
||||
#: ../Doc/library/codecs.rst:245
|
||||
msgid ""
|
||||
"The module also provides the following constants which are useful for "
|
||||
"reading and writing to platform dependent files:"
|
||||
msgstr ""
|
||||
"Le module fournit également les constantes suivantes qui sont utiles pour "
|
||||
"lire et écrire les fichiers dépendants de la plateforme :"
|
||||
|
||||
#: ../Doc/library/codecs.rst:260
|
||||
msgid ""
|
||||
|
@ -312,10 +441,19 @@ msgid ""
|
|||
"`BOM_UTF16_LE` and :const:`BOM_BE` for :const:`BOM_UTF16_BE`. The others "
|
||||
"represent the BOM in UTF-8 and UTF-32 encodings."
|
||||
msgstr ""
|
||||
"Ces constantes définissent diverses séquences d'octets, les marques d'ordre "
|
||||
"d'octets (BOM pour *byte order mark* en anglais) Unicode pour plusieurs "
|
||||
"encodages. Elles sont utilisées dans les flux de données UTF-16 et UTF-32 "
|
||||
"pour indiquer l'ordre des octets utilisé, et dans UTF-8 comme signature "
|
||||
"Unicode. :const:`BOM_UTF16` vaut soit :const:`BOM_UTF16_BE`, soit :const:"
|
||||
"`BOM_UTF16_LE` selon le boutisme natif de la plateforme, :const:`BOM` est un "
|
||||
"alias pour :const:`BOM_UTF16`, :const:`BOM_LE` pour :const:`BOM_UTF16_LE` "
|
||||
"et :const:`BOM_BE` pour :const:`BOM_UTF16_BE`. Les autres sont les marques "
|
||||
"BOM dans les encodages UTF-8 et UTF-32."
|
||||
|
||||
#: ../Doc/library/codecs.rst:274
|
||||
msgid "Codec Base Classes"
|
||||
msgstr ""
|
||||
msgstr "Classes de base de codecs"
|
||||
|
||||
#: ../Doc/library/codecs.rst:276
|
||||
msgid ""
|
||||
|
@ -323,6 +461,10 @@ msgid ""
|
|||
"interfaces for working with codec objects, and can also be used as the basis "
|
||||
"for custom codec implementations."
|
||||
msgstr ""
|
||||
"Le module :mod:`codecs` définit un ensemble de classes de base qui "
|
||||
"spécifient les interfaces pour travailler avec des objets codecs et qui "
|
||||
"peuvent également être utilisées comme base pour des implémentations de "
|
||||
"codecs personnalisés."
|
||||
|
||||
#: ../Doc/library/codecs.rst:280
|
||||
msgid ""
|
||||
|
@ -332,10 +474,16 @@ msgid ""
|
|||
"decoder to implement the file protocols. Codec authors also need to define "
|
||||
"how the codec will handle encoding and decoding errors."
|
||||
msgstr ""
|
||||
"Chaque codec doit définir quatre interfaces pour être utilisable comme codec "
|
||||
"en Python : codeur sans état, décodeur sans état, lecteur de flux et "
|
||||
"écrivain de flux. Le lecteur et l'écrivain de flux réutilisent généralement "
|
||||
"l'encodeur-décodeur sans état pour implémenter les protocoles de fichiers. "
|
||||
"Les auteurs de codecs doivent également définir comment le codec gère les "
|
||||
"erreurs d'encodage et de décodage."
|
||||
|
||||
#: ../Doc/library/codecs.rst:291
|
||||
msgid "Error Handlers"
|
||||
msgstr ""
|
||||
msgstr "Gestionnaires d'erreurs"
|
||||
|
||||
#: ../Doc/library/codecs.rst:293
|
||||
msgid ""
|
||||
|
@ -380,6 +528,8 @@ msgid ""
|
|||
"The following error handlers are only applicable to :term:`text encodings "
|
||||
"<text encoding>`:"
|
||||
msgstr ""
|
||||
"Les gestionnaires d'erreurs suivants ne s'appliquent que pour les :term:"
|
||||
"`encodeurs de texte <text encoding>` :"
|
||||
|
||||
#: ../Doc/library/codecs.rst:326
|
||||
msgid "``'replace'``"
|
||||
|
@ -411,6 +561,8 @@ msgid ""
|
|||
"Replace with backslashed escape sequences. Implemented in :func:"
|
||||
"`backslashreplace_errors`."
|
||||
msgstr ""
|
||||
"Remplace avec une séquence échappée par des antislashs. Implémenté dans :"
|
||||
"func:`backslashreplace_errors`."
|
||||
|
||||
#: ../Doc/library/codecs.rst:341
|
||||
msgid "``'namereplace'``"
|
||||
|
@ -438,10 +590,12 @@ msgstr ""
|
|||
msgid ""
|
||||
"In addition, the following error handler is specific to the given codecs:"
|
||||
msgstr ""
|
||||
"En plus, le gestionnaire d'erreurs suivant est spécifique aux codecs "
|
||||
"suivants :"
|
||||
|
||||
#: ../Doc/library/codecs.rst:357
|
||||
msgid "Codecs"
|
||||
msgstr ""
|
||||
msgstr "Codecs"
|
||||
|
||||
#: ../Doc/library/codecs.rst:359
|
||||
msgid "``'surrogatepass'``"
|
||||
|
@ -449,7 +603,7 @@ msgstr "``'surrogatepass'``"
|
|||
|
||||
#: ../Doc/library/codecs.rst:359
|
||||
msgid "utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le"
|
||||
msgstr ""
|
||||
msgstr "utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le"
|
||||
|
||||
#: ../Doc/library/codecs.rst:359
|
||||
msgid ""
|
||||
|
@ -460,28 +614,35 @@ msgstr ""
|
|||
#: ../Doc/library/codecs.rst:364
|
||||
msgid "The ``'surrogateescape'`` and ``'surrogatepass'`` error handlers."
|
||||
msgstr ""
|
||||
"les gestionnaires d'erreurs ``'surrogateescape'`` et ``'surrogatepass'``."
|
||||
|
||||
#: ../Doc/library/codecs.rst:367
|
||||
msgid ""
|
||||
"The ``'surrogatepass'`` error handlers now works with utf-16\\* and "
|
||||
"utf-32\\* codecs."
|
||||
msgstr ""
|
||||
"le gestionnaire d'erreurs ``'surrogatepass'`` fonctionne maintenant avec les "
|
||||
"codecs utf-16\\* et utf-32\\*."
|
||||
|
||||
#: ../Doc/library/codecs.rst:370
|
||||
msgid "The ``'namereplace'`` error handler."
|
||||
msgstr ""
|
||||
msgstr "le gestionnaire d'erreurs ``'namereplace'``."
|
||||
|
||||
#: ../Doc/library/codecs.rst:373
|
||||
msgid ""
|
||||
"The ``'backslashreplace'`` error handlers now works with decoding and "
|
||||
"translating."
|
||||
msgstr ""
|
||||
"le gestionnaire d'erreurs ``'backslashreplace'`` fonctionne maintenant pour "
|
||||
"le décodage et la traduction."
|
||||
|
||||
#: ../Doc/library/codecs.rst:377
|
||||
msgid ""
|
||||
"The set of allowed values can be extended by registering a new named error "
|
||||
"handler:"
|
||||
msgstr ""
|
||||
"L'ensemble des valeurs autorisées peut être étendu en enregistrant un "
|
||||
"nouveau gestionnaire d'erreurs nommé :"
|
||||
|
||||
#: ../Doc/library/codecs.rst:382
|
||||
msgid ""
|
||||
|
|
|
@ -526,7 +526,7 @@ msgid ""
|
|||
"functionality, for example::"
|
||||
msgstr ""
|
||||
"Ces ABC permettent de demander à des classes ou à des instances si elles "
|
||||
"fournissent des fonctionnalités particulières, par exemple ::"
|
||||
"fournissent des fonctionnalités particulières, par exemple ::"
|
||||
|
||||
#: ../Doc/library/collections.abc.rst:247
|
||||
msgid ""
|
||||
|
@ -543,7 +543,7 @@ msgstr ""
|
|||
"il est uniquement nécessaire de fournir les trois méthodes sous-jacentes "
|
||||
"abstraites :meth:`__contains__`, :meth:`__iter__` et :meth:`__len__`. L'ABC "
|
||||
"apporte les méthodes restantes, comme :meth:`__and__` et :meth:"
|
||||
"`isdisjoint` ::"
|
||||
"`isdisjoint` ::"
|
||||
|
||||
#: ../Doc/library/collections.abc.rst:276
|
||||
msgid "Notes on using :class:`Set` and :class:`MutableSet` as a mixin:"
|
||||
|
|
|
@ -347,7 +347,7 @@ msgid ""
|
|||
"contexts::"
|
||||
msgstr ""
|
||||
"Exemple 3 : modèles pour simuler des contexte imbriqués avec la classe :"
|
||||
"class:`ChainMap` ::"
|
||||
"class:`ChainMap` ::"
|
||||
|
||||
#: ../Doc/library/collections.rst:190
|
||||
msgid ""
|
||||
|
@ -1354,7 +1354,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Voir :meth:`typing.NamedTuple` pour un moyen d'ajouter des indications de "
|
||||
"type pour les tuples nommés. Cela propose aussi une notation élégante "
|
||||
"utilisant le mot-clé :keyword:`class` :"
|
||||
"utilisant le mot-clé :keyword:`class` ::"
|
||||
|
||||
#: ../Doc/library/collections.rst:1028
|
||||
msgid ""
|
||||
|
|
|
@ -17,6 +17,7 @@ msgstr ""
|
|||
#: ../Doc/library/compileall.rst:2
|
||||
msgid ":mod:`compileall` --- Byte-compile Python libraries"
|
||||
msgstr ""
|
||||
":mod:`compileall` — Génération du code intermédiaire des bibliothèques Python"
|
||||
|
||||
#: ../Doc/library/compileall.rst:7
|
||||
msgid "**Source code:** :source:`Lib/compileall.py`"
|
||||
|
@ -30,16 +31,25 @@ msgid ""
|
|||
"installation time, which makes them available for use even by users who "
|
||||
"don't have write permission to the library directories."
|
||||
msgstr ""
|
||||
"Ce module contient des fonctions qui facilitent l'installation de "
|
||||
"bibliothèques Python. Elles compilent, sous forme de code intermédiaire "
|
||||
"(*bytecode*), les fichiers source situés dans un dossier de votre choix. Ce "
|
||||
"module est particulièrement utile pour générer les fichiers de code "
|
||||
"intermédiaire lors de l'installation d'une bibliothèque, les rendant "
|
||||
"disponibles même pour les utilisateurs qui n'ont pas les privilèges "
|
||||
"d'écriture dans l'emplacement d'installation."
|
||||
|
||||
#: ../Doc/library/compileall.rst:19
|
||||
msgid "Command-line use"
|
||||
msgstr ""
|
||||
msgstr "Utilisation en ligne de commande"
|
||||
|
||||
#: ../Doc/library/compileall.rst:21
|
||||
msgid ""
|
||||
"This module can work as a script (using :program:`python -m compileall`) to "
|
||||
"compile Python sources."
|
||||
msgstr ""
|
||||
"On peut se servir de ce module comme d'un script (avec :program:`python -m "
|
||||
"compileall`) pour compiler les fichiers source Python."
|
||||
|
||||
#: ../Doc/library/compileall.rst:29
|
||||
msgid ""
|
||||
|
@ -47,22 +57,33 @@ msgid ""
|
|||
"files, traversed recursively. If no argument is given, behave as if the "
|
||||
"command line was ``-l <directories from sys.path>``."
|
||||
msgstr ""
|
||||
"Les arguments positionnels sont les fichiers à compiler. Ils peuvent aussi "
|
||||
"être des dossiers, qui sont alors parcourus récursivement pour compiler tous "
|
||||
"les fichiers de code :file:`.py` qu'ils contiennent. Lorsque le script ne "
|
||||
"reçoit aucun argument, il fait comme s'il avait été appelé avec `-l <tous "
|
||||
"les dossiers de sys.path>`."
|
||||
|
||||
#: ../Doc/library/compileall.rst:35
|
||||
msgid ""
|
||||
"Do not recurse into subdirectories, only compile source code files directly "
|
||||
"contained in the named or implied directories."
|
||||
msgstr ""
|
||||
"Compiler uniquement les fichiers situés directement dans les dossiers passés "
|
||||
"en argument ou implicites, sans descendre récursivement dans les sous-"
|
||||
"dossiers."
|
||||
|
||||
#: ../Doc/library/compileall.rst:40
|
||||
msgid "Force rebuild even if timestamps are up-to-date."
|
||||
msgstr ""
|
||||
msgstr "Forcer la recompilation même si les horodatages sont à jour."
|
||||
|
||||
#: ../Doc/library/compileall.rst:44
|
||||
msgid ""
|
||||
"Do not print the list of files compiled. If passed once, error messages will "
|
||||
"still be printed. If passed twice (``-qq``), all output is suppressed."
|
||||
msgstr ""
|
||||
"Supprimer l'affichage des noms des fichiers compilés.Si cette option est "
|
||||
"donnée une seule fois, les erreurs sont affichées malgré tout. Vous pouvez "
|
||||
"les supprimer en passant l'option deux fois (c'est-à-dire avec ``-qq``)."
|
||||
|
||||
#: ../Doc/library/compileall.rst:49
|
||||
msgid ""
|
||||
|
@ -72,12 +93,19 @@ msgid ""
|
|||
"where the source file does not exist at the time the byte-code file is "
|
||||
"executed."
|
||||
msgstr ""
|
||||
"Ce nom de dossier est ajouté en tête du chemin de chaque fichier compilé. Il "
|
||||
"aura une influence sur les traces d'appels pour les erreurs levées lors de "
|
||||
"la compilation, et sera reflété dans les fichiers de code intermédiaire, "
|
||||
"pour utilisation dans les traces d'appels et autres messages si le fichier "
|
||||
"source n'existe pas au moment de l'exécution."
|
||||
|
||||
#: ../Doc/library/compileall.rst:57
|
||||
msgid ""
|
||||
"regex is used to search the full path to each file considered for "
|
||||
"compilation, and if the regex produces a match, the file is skipped."
|
||||
msgstr ""
|
||||
"Exclut tous les fichiers dont les noms correspondent à l'expression "
|
||||
"régulière *regex*."
|
||||
|
||||
#: ../Doc/library/compileall.rst:62
|
||||
msgid ""
|
||||
|
@ -85,6 +113,8 @@ msgid ""
|
|||
"files and directories to compile. If ``list`` is ``-``, read lines from "
|
||||
"``stdin``."
|
||||
msgstr ""
|
||||
"Ajoute chaque ligne du fichier *list* aux fichiers et dossiers à compiler. "
|
||||
"*list* peut être ``-``, auquel cas le script lit l'entrée standard."
|
||||
|
||||
#: ../Doc/library/compileall.rst:68
|
||||
msgid ""
|
||||
|
@ -93,6 +123,11 @@ msgid ""
|
|||
"is to write files to their :pep:`3147` locations and names, which allows "
|
||||
"byte-code files from multiple versions of Python to coexist."
|
||||
msgstr ""
|
||||
"Utilise l'ancienne manière de nommer et placer les fichiers de code "
|
||||
"intermédiaire, en écrasant éventuellement ceux générés par une autre version "
|
||||
"de Python. Par défaut, les règles décrites dans la :pep:`3147` s'appliquent. "
|
||||
"Elles permettent à différentes versions de l'interpréteur Python de "
|
||||
"coexister en conservant chacune ses propres fichiers ``.pyc``."
|
||||
|
||||
#: ../Doc/library/compileall.rst:75
|
||||
msgid ""
|
||||
|
@ -101,12 +136,19 @@ msgid ""
|
|||
"compileall <directory> -r 0` is equivalent to :program:`python -m compileall "
|
||||
"<directory> -l`."
|
||||
msgstr ""
|
||||
"Règle le niveau de récursion maximal pour le parcours des sous-dossiers. "
|
||||
"Lorsque cette option est fournie, ``-l`` est ignorée. :program:`python -m "
|
||||
"compileall <dossier> -r 0` revient au même que :program:`python -m "
|
||||
"compileall <dossier> -l`."
|
||||
|
||||
#: ../Doc/library/compileall.rst:82
|
||||
msgid ""
|
||||
"Use *N* workers to compile the files within the given directory. If ``0`` is "
|
||||
"used, then the result of :func:`os.cpu_count()` will be used."
|
||||
msgstr ""
|
||||
"Effectue la compilation avec *N* processus parallèles. Si *N* vaut 0, autant "
|
||||
"de processus sont créés que la machine dispose de processeurs (résultat de :"
|
||||
"func:`os.cpu_count()`)."
|
||||
|
||||
#: ../Doc/library/compileall.rst:88
|
||||
msgid ""
|
||||
|
@ -120,10 +162,20 @@ msgid ""
|
|||
"`SOURCE_DATE_EPOCH` environment variable is not set, and ``checked-hash`` if "
|
||||
"the ``SOURCE_DATE_EPOCH`` environment variable is set."
|
||||
msgstr ""
|
||||
"Définit la manière dont les fichiers de code intermédiaire seront invalidés "
|
||||
"au moment de l'exécution. Avec ``timestamp``, les fichiers ``.pyc`` générés "
|
||||
"comportent l'horodatage de la source et sa taille. Avec ``checked-hash`` ou "
|
||||
"``unchecked-hash``, ce seront des pyc utilisant le hachage, qui contiennent "
|
||||
"une empreinte du code source plutôt qu'un horodatage. Voir :ref:`pyc-"
|
||||
"invalidation` pour plus d'informations sur la manière dont Python valide les "
|
||||
"fichiers de code intermédiaire conservés en cache lors de l'exécution. La "
|
||||
"valeur par défaut est ``timestamp``. Cependant, si la variable "
|
||||
"d'environnement :envvar:`SOURCE_DATE_EPOCH` a été réglée, elle devient "
|
||||
"``checked-hash``."
|
||||
|
||||
#: ../Doc/library/compileall.rst:99
|
||||
msgid "Added the ``-i``, ``-b`` and ``-h`` options."
|
||||
msgstr ""
|
||||
msgstr "ajout des options ``-i``, ``-b`` et ``-h``."
|
||||
|
||||
#: ../Doc/library/compileall.rst:102
|
||||
msgid ""
|
||||
|
@ -131,10 +183,13 @@ msgid ""
|
|||
"to a multilevel value. ``-b`` will always produce a byte-code file ending "
|
||||
"in ``.pyc``, never ``.pyo``."
|
||||
msgstr ""
|
||||
"ajout des options ``-j``, ``-r`` et ``-qq`` (l'option ``-q`` peut donc "
|
||||
"prendre plusieurs niveaux). ``-b`` produit toujours un fichier de code "
|
||||
"intermédiaire portant l'extension ``.pyc``, et jamais ``.pyo``."
|
||||
|
||||
#: ../Doc/library/compileall.rst:107
|
||||
msgid "Added the ``--invalidation-mode`` option."
|
||||
msgstr ""
|
||||
msgstr "ajout de l'option ``--invalidation-mode``."
|
||||
|
||||
#: ../Doc/library/compileall.rst:111
|
||||
msgid ""
|
||||
|
@ -142,10 +197,14 @@ msgid ""
|
|||
"the :func:`compile` function, because the Python interpreter itself already "
|
||||
"provides the option: :program:`python -O -m compileall`."
|
||||
msgstr ""
|
||||
"Il n'y a pas d'option en ligne de commande pour contrôler le niveau "
|
||||
"d'optimisation utilisé par la fonction :func:`compile`. Il suffit en effet "
|
||||
"d'utiliser l'option ``-O`` de l'interpréteur Python lui-même : :program:"
|
||||
"`python -O -m compileall`."
|
||||
|
||||
#: ../Doc/library/compileall.rst:116
|
||||
msgid "Public functions"
|
||||
msgstr ""
|
||||
msgstr "Fonctions publiques"
|
||||
|
||||
#: ../Doc/library/compileall.rst:120
|
||||
msgid ""
|
||||
|
@ -153,6 +212,9 @@ msgid ""
|
|||
"py` files along the way. Return a true value if all the files compiled "
|
||||
"successfully, and a false value otherwise."
|
||||
msgstr ""
|
||||
"Parcourt récursivement le dossier *dir*, en compilant tous les fichiers :"
|
||||
"file:`.py`. Renvoie une valeur vraie si tous les fichiers ont été compilés "
|
||||
"sans erreur, et une valeur fausse dans le cas contraire."
|
||||
|
||||
#: ../Doc/library/compileall.rst:124
|
||||
msgid ""
|
||||
|
@ -168,12 +230,19 @@ msgid ""
|
|||
"where the source file does not exist at the time the byte-code file is "
|
||||
"executed."
|
||||
msgstr ""
|
||||
"Si *ddir* est fourni, il est ajouté en tête du chemin de chaque fichier "
|
||||
"compilé, ce qui modifie l'affichage des traces d'appels pour les erreurs qui "
|
||||
"seraient levées lors de la compilation. De plus, il se retrouve dans les "
|
||||
"fichiers de code intermédiaire, pour utilisation dans les traces et autres "
|
||||
"messages si le fichier source n'existe pas au moment de l'exécution."
|
||||
|
||||
#: ../Doc/library/compileall.rst:133
|
||||
msgid ""
|
||||
"If *force* is true, modules are re-compiled even if the timestamps are up to "
|
||||
"date."
|
||||
msgstr ""
|
||||
"Si *force* est vrai, les modules sont recompilés même si leurs horodatages "
|
||||
"sont à jour."
|
||||
|
||||
#: ../Doc/library/compileall.rst:136
|
||||
msgid ""
|
||||
|
@ -188,6 +257,10 @@ msgid ""
|
|||
"information are printed to standard out. Set to ``1``, only errors are "
|
||||
"printed. Set to ``2``, all output is suppressed."
|
||||
msgstr ""
|
||||
"Si *quiet* est ``False`` ou bien ``0`` (la valeur par défaut), les noms de "
|
||||
"fichiers et d'autres informations sont affichés sur la sortie standard. Avec "
|
||||
"``1``, seules les erreurs sont affichées. Avec ``2``, aucune sortie n'est "
|
||||
"émise."
|
||||
|
||||
#: ../Doc/library/compileall.rst:144 ../Doc/library/compileall.rst:201
|
||||
msgid ""
|
||||
|
@ -197,6 +270,12 @@ msgid ""
|
|||
"names, which allows byte-code files from multiple versions of Python to "
|
||||
"coexist."
|
||||
msgstr ""
|
||||
"Si *legacy* est vrai, les fichiers de code intermédiaire sont nommés et "
|
||||
"placés selon l'ancienne méthode, en écrasant éventuellement ceux générés par "
|
||||
"une autre version de Python. Par défaut, les règles décrites dans la :pep:"
|
||||
"`3147` s'appliquent. Elles permettent à différentes versions de "
|
||||
"l'interpréteur Python de coexister en conservant chacune ses propres "
|
||||
"fichiers ``.pyc``."
|
||||
|
||||
#: ../Doc/library/compileall.rst:150 ../Doc/library/compileall.rst:207
|
||||
msgid ""
|
||||
|
@ -219,19 +298,22 @@ msgid ""
|
|||
"PycInvalidationMode` enum and controls how the generated pycs are "
|
||||
"invalidated at runtime."
|
||||
msgstr ""
|
||||
"*invalidation_mode* doit être un membre de l'énumération :class:`py_compile."
|
||||
"PycInvalidationMode` et détermine la manière dont les fichiers :file:`.pyc` "
|
||||
"sont invalidés lorsque l'interpréteur tente de les utiliser."
|
||||
|
||||
#: ../Doc/library/compileall.rst:163 ../Doc/library/compileall.rst:236
|
||||
msgid "Added the *legacy* and *optimize* parameter."
|
||||
msgstr ""
|
||||
msgstr "ajout des paramètres *legacy* et *optimize*."
|
||||
|
||||
#: ../Doc/library/compileall.rst:166
|
||||
msgid "Added the *workers* parameter."
|
||||
msgstr ""
|
||||
msgstr "ajout du paramètre *workers*."
|
||||
|
||||
#: ../Doc/library/compileall.rst:169 ../Doc/library/compileall.rst:216
|
||||
#: ../Doc/library/compileall.rst:239
|
||||
msgid "*quiet* parameter was changed to a multilevel value."
|
||||
msgstr ""
|
||||
msgstr "le paramètre *quiet* peut prendre plusieurs niveaux."
|
||||
|
||||
#: ../Doc/library/compileall.rst:172 ../Doc/library/compileall.rst:219
|
||||
#: ../Doc/library/compileall.rst:242
|
||||
|
@ -239,6 +321,8 @@ msgid ""
|
|||
"The *legacy* parameter only writes out ``.pyc`` files, not ``.pyo`` files no "
|
||||
"matter what the value of *optimize* is."
|
||||
msgstr ""
|
||||
"Lorsque le paramètre *legacy* est vrai, des fichiers ``.pyc``, et jamais ``."
|
||||
"pyo``, sont générés, quel que soit le niveau d'optimisation."
|
||||
|
||||
#: ../Doc/library/compileall.rst:176
|
||||
msgid "Accepts a :term:`path-like object`."
|
||||
|
@ -247,13 +331,15 @@ msgstr "Accepte un :term:`path-like object`."
|
|||
#: ../Doc/library/compileall.rst:179 ../Doc/library/compileall.rst:223
|
||||
#: ../Doc/library/compileall.rst:246
|
||||
msgid "The *invalidation_mode* parameter was added."
|
||||
msgstr ""
|
||||
msgstr "ajout du paramètre *invalidation_mode*."
|
||||
|
||||
#: ../Doc/library/compileall.rst:184
|
||||
msgid ""
|
||||
"Compile the file with path *fullname*. Return a true value if the file "
|
||||
"compiled successfully, and a false value otherwise."
|
||||
msgstr ""
|
||||
"Compile le fichier dont le chemin est donné par *fullname*. Renvoie une "
|
||||
"valeur vraie si et seulement si le fichier est compilé sans erreur."
|
||||
|
||||
#: ../Doc/library/compileall.rst:187
|
||||
msgid ""
|
||||
|
@ -263,6 +349,11 @@ msgid ""
|
|||
"where the source file does not exist at the time the byte-code file is "
|
||||
"executed."
|
||||
msgstr ""
|
||||
"Si *ddir* est fourni, il est ajouté en tête du chemin de chaque fichier "
|
||||
"compilé, ce qui modifie l'affichage des traces pour les erreurs qui seraient "
|
||||
"levées lors de la compilation. De plus, il se retrouve dans les fichiers de "
|
||||
"code intermédiaire, pour utilisation dans les traces et autres messages si "
|
||||
"le fichier source n'existe pas au moment de l'exécution."
|
||||
|
||||
#: ../Doc/library/compileall.rst:193
|
||||
msgid ""
|
||||
|
@ -277,6 +368,9 @@ msgid ""
|
|||
"true value if all the files compiled successfully, and a false value "
|
||||
"otherwise."
|
||||
msgstr ""
|
||||
"Compile tous les fichiers :file:`.py` contenus dans les dossiers de ``sys."
|
||||
"path``. Renvoie une valeur vraie s'ils ont tous été compilés sans erreur, et "
|
||||
"une valeur fausse dans le cas contraire."
|
||||
|
||||
#: ../Doc/library/compileall.rst:231
|
||||
msgid ""
|
||||
|
@ -285,17 +379,23 @@ msgid ""
|
|||
"`compile_dir` function. Note that unlike the other compile functions, "
|
||||
"``maxlevels`` defaults to ``0``."
|
||||
msgstr ""
|
||||
"Si *skip_curdir* est vrai (c'est le cas par défaut), le dossier courant est "
|
||||
"exclu de la recherche. Les autres paramètres sont passés à :func:"
|
||||
"`compile_dir`. Notez que contrairement aux autres fonctions de ce module, la "
|
||||
"valeur par défaut de ``maxlevels`` est ``0``."
|
||||
|
||||
#: ../Doc/library/compileall.rst:249
|
||||
msgid ""
|
||||
"To force a recompile of all the :file:`.py` files in the :file:`Lib/` "
|
||||
"subdirectory and all its subdirectories::"
|
||||
msgstr ""
|
||||
"Pour forcer la recompilation de tous les fichiers :file:`.py` dans le "
|
||||
"dossier :file:`Lib/` et tous ses sous-dossiers ::"
|
||||
|
||||
#: ../Doc/library/compileall.rst:266
|
||||
msgid "Module :mod:`py_compile`"
|
||||
msgstr ""
|
||||
msgstr "Module :mod:`py_compile`"
|
||||
|
||||
#: ../Doc/library/compileall.rst:267
|
||||
msgid "Byte-compile a single source file."
|
||||
msgstr ""
|
||||
msgstr "Compiler un fichier source unique."
|
||||
|
|
|
@ -16,7 +16,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/configparser.rst:2
|
||||
msgid ":mod:`configparser` --- Configuration file parser"
|
||||
msgstr ""
|
||||
msgstr ":mod:`configparser` — Lecture et écriture de fichiers de configuration"
|
||||
|
||||
#: ../Doc/library/configparser.rst:14
|
||||
msgid "**Source code:** :source:`Lib/configparser.py`"
|
||||
|
@ -29,40 +29,55 @@ msgid ""
|
|||
"found in Microsoft Windows INI files. You can use this to write Python "
|
||||
"programs which can be customized by end users easily."
|
||||
msgstr ""
|
||||
"Ce module fournit la classe :class:`ConfigParser`. Cette classe implémente "
|
||||
"un langage de configuration basique, proche de ce que l'on peut trouver dans "
|
||||
"les fichiers *INI* de Microsoft Windows. Vous pouvez utiliser ce module pour "
|
||||
"écrire des programmes Python qui sont facilement configurables par "
|
||||
"l'utilisateur final."
|
||||
|
||||
#: ../Doc/library/configparser.rst:31
|
||||
msgid ""
|
||||
"This library does *not* interpret or write the value-type prefixes used in "
|
||||
"the Windows Registry extended version of INI syntax."
|
||||
msgstr ""
|
||||
"Ce module *n'implémente pas* la version étendue de la syntaxe *INI* qui "
|
||||
"permet de lire ou d'écrire des valeurs dans la base de registre Windows en "
|
||||
"utilisant divers préfixes."
|
||||
|
||||
#: ../Doc/library/configparser.rst:38
|
||||
msgid "Module :mod:`shlex`"
|
||||
msgstr ""
|
||||
msgstr "Module :mod:`shlex`"
|
||||
|
||||
#: ../Doc/library/configparser.rst:37
|
||||
msgid ""
|
||||
"Support for creating Unix shell-like mini-languages which can be used as an "
|
||||
"alternate format for application configuration files."
|
||||
msgstr ""
|
||||
"Ce module fournit les outils permettant de créer des mini-langages de "
|
||||
"programmation ressemblant au shell Unix, qui peuvent être utilisés comme "
|
||||
"alternative pour les fichiers de configuration d'une application."
|
||||
|
||||
#: ../Doc/library/configparser.rst:41
|
||||
msgid "Module :mod:`json`"
|
||||
msgstr ""
|
||||
msgstr "Module :mod:`json`"
|
||||
|
||||
#: ../Doc/library/configparser.rst:41
|
||||
msgid ""
|
||||
"The json module implements a subset of JavaScript syntax which can also be "
|
||||
"used for this purpose."
|
||||
msgstr ""
|
||||
"Le module *json* implémente un sous-ensemble de la syntaxe JavaScript, qui "
|
||||
"peut aussi être utilisée à cet effet."
|
||||
|
||||
#: ../Doc/library/configparser.rst:51
|
||||
msgid "Quick Start"
|
||||
msgstr ""
|
||||
msgstr "Premiers pas"
|
||||
|
||||
#: ../Doc/library/configparser.rst:53
|
||||
msgid "Let's take a very basic configuration file that looks like this:"
|
||||
msgstr ""
|
||||
"Prenons pour exemple un fichier de configuration très simple ressemblant à "
|
||||
"ceci :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:70
|
||||
msgid ""
|
||||
|
@ -72,6 +87,11 @@ msgid ""
|
|||
"classes can read and write such files. Let's start by creating the above "
|
||||
"configuration file programmatically."
|
||||
msgstr ""
|
||||
"La structure des fichiers *INI* est décrite dans la `section suivante "
|
||||
"<#supported-ini-file-structure>`_. En bref, chaque fichier est constitué de "
|
||||
"sections, chacune des sections comprenant des clés associées à des valeurs. "
|
||||
"Les classes du module :mod:`configparser` peuvent écrire et lire de tels "
|
||||
"fichiers. Commençons par le code qui permet de générer le fichier ci-dessus."
|
||||
|
||||
#: ../Doc/library/configparser.rst:94
|
||||
msgid ""
|
||||
|
@ -79,12 +99,20 @@ msgid ""
|
|||
"are differences, `outlined later <#mapping-protocol-access>`_, but the "
|
||||
"behavior is very close to what you would expect from a dictionary."
|
||||
msgstr ""
|
||||
"Comme vous pouvez le voir, nous pouvons manipuler l'instance renvoyée par "
|
||||
"l'analyse du fichier de configuration comme s'il s'agissait d'un "
|
||||
"dictionnaire. Il y a des différences, comme `explicité ci-dessous <#mapping-"
|
||||
"protocol-access>`_, mais le comportement de l'instance est très proche de ce "
|
||||
"que vous pourriez attendre d'un dictionnaire."
|
||||
|
||||
#: ../Doc/library/configparser.rst:98
|
||||
msgid ""
|
||||
"Now that we have created and saved a configuration file, let's read it back "
|
||||
"and explore the data it holds."
|
||||
msgstr ""
|
||||
"Nous venons de créer et sauvegarder un fichier de configuration. Voyons "
|
||||
"maintenant comment nous pouvons le lire et accéder aux données qu'il "
|
||||
"contient."
|
||||
|
||||
#: ../Doc/library/configparser.rst:133
|
||||
msgid ""
|
||||
|
@ -93,10 +121,15 @@ msgid ""
|
|||
"other sections [1]_. Note also that keys in sections are case-insensitive "
|
||||
"and stored in lowercase [1]_."
|
||||
msgstr ""
|
||||
"Comme vous le voyez, l'API est assez simple à utiliser. La seule partie un "
|
||||
"peu magique concerne la section ``DEFAULT``, qui fournit les valeurs par "
|
||||
"défaut pour toutes les autres sections [1]_. Notez également que les clés à "
|
||||
"l’intérieur des sections ne sont pas sensibles à la casse et qu'elles sont "
|
||||
"stockées en minuscules. [1]_."
|
||||
|
||||
#: ../Doc/library/configparser.rst:140
|
||||
msgid "Supported Datatypes"
|
||||
msgstr ""
|
||||
msgstr "Types de données prises en charge"
|
||||
|
||||
#: ../Doc/library/configparser.rst:142
|
||||
msgid ""
|
||||
|
@ -104,6 +137,10 @@ msgid ""
|
|||
"always storing them internally as strings. This means that if you need "
|
||||
"other datatypes, you should convert on your own:"
|
||||
msgstr ""
|
||||
"Les lecteurs de configuration n'essayent jamais de deviner le type des "
|
||||
"valeurs présentes dans les fichiers de configuration, et elles sont toujours "
|
||||
"stockées en tant que chaînes de caractères. Ainsi, si vous avez besoin d'un "
|
||||
"type différent, vous devez effectuer la conversion vous-même :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:153
|
||||
msgid ""
|
||||
|
@ -115,6 +152,16 @@ msgid ""
|
|||
"and recognizes Boolean values from ``'yes'``/``'no'``, ``'on'``/``'off'``, "
|
||||
"``'true'``/``'false'`` and ``'1'``/``'0'`` [1]_. For example:"
|
||||
msgstr ""
|
||||
"Puisque que cette tâche doit être fréquemment accomplie, les lecteurs de "
|
||||
"configurations fournissent un ensemble d'accesseurs permettant de gérer les "
|
||||
"entiers, les flottants et les booléens plus facilement. Le cas des booléens "
|
||||
"est le plus pertinent. En effet, vous ne pouvez pas vous contenter "
|
||||
"d'utiliser la fonction ``bool()`` directement puisque ``bool('False')`` "
|
||||
"renvoie ``True``. C'est pourquoi les lecteurs fournissent également la "
|
||||
"méthode :meth:`~ConfigParser.getboolean`. Cette méthode n'est pas sensible à "
|
||||
"la casse et interprète correctement les valeurs booléennes associées aux "
|
||||
"chaînes de caractères comme ``'yes'``-``'no'``, ``'on'``-``'off'``, "
|
||||
"``'true'``-``'false'`` et ``'1'``-``'0'`` [1]_. Par exemple :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:170
|
||||
msgid ""
|
||||
|
@ -123,16 +170,22 @@ msgid ""
|
|||
"methods. You can register your own converters and customize the provided "
|
||||
"ones. [1]_"
|
||||
msgstr ""
|
||||
"En plus de :meth:`~ConfigParser.getboolean`, les lecteurs de configurations "
|
||||
"fournissent également des méthodes similaires comme :meth:`~ConfigParser."
|
||||
"getint` et :meth:`~ConfigParser.getfloat`. Vous pouvez enregistrer vos "
|
||||
"propres convertisseurs et personnaliser ceux déjà fournis. [1]_"
|
||||
|
||||
#: ../Doc/library/configparser.rst:176
|
||||
msgid "Fallback Values"
|
||||
msgstr ""
|
||||
msgstr "Valeurs de substitution"
|
||||
|
||||
#: ../Doc/library/configparser.rst:178
|
||||
msgid ""
|
||||
"As with a dictionary, you can use a section's :meth:`get` method to provide "
|
||||
"fallback values:"
|
||||
msgstr ""
|
||||
"Comme pour un dictionnaire, vous pouvez utiliser la méthode :meth:`get` "
|
||||
"d'une section en spécifiant une valeur de substitution :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:191
|
||||
msgid ""
|
||||
|
@ -142,6 +195,11 @@ msgid ""
|
|||
"``'topsecret.server.com'``, we will always get the default, even if we "
|
||||
"specify a fallback:"
|
||||
msgstr ""
|
||||
"Notez que les valeurs par défaut sont prioritaires par rapport aux valeurs "
|
||||
"de substitution. Dans note exemple, la valeur de la clé ``CompressionLevel`` "
|
||||
"était spécifiée uniquement dans la section ``DEFAULT``. Si nous essayons de "
|
||||
"la récupérer depuis la section ``'topsecret.server.com'``, nous obtenons la "
|
||||
"valeur par défaut, même en ayant spécifié une valeur de substitution :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:202
|
||||
msgid ""
|
||||
|
@ -150,6 +208,10 @@ msgid ""
|
|||
"compatibility. When using this method, a fallback value can be provided via "
|
||||
"the ``fallback`` keyword-only argument:"
|
||||
msgstr ""
|
||||
"Il est important de savoir que la méthode :meth:`get` appelée au niveau de "
|
||||
"l'analyseur fournit une interface particulière et plus complexe, qui est "
|
||||
"maintenue pour des raisons de rétrocompatibilité. Vous pouvez fournir une "
|
||||
"valeur de substitution via l'argument obligatoirement nommé ``fallback`` :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:213
|
||||
msgid ""
|
||||
|
@ -157,10 +219,13 @@ msgid ""
|
|||
"getint`, :meth:`~ConfigParser.getfloat` and :meth:`~ConfigParser.getboolean` "
|
||||
"methods, for example:"
|
||||
msgstr ""
|
||||
"L'argument ``fallback`` peut être utilisé de la même façon avec les "
|
||||
"méthodes :meth:`~ConfigParser.getint`, :meth:`~ConfigParser.getfloat` et :"
|
||||
"meth:`~ConfigParser.getboolean`. Par exemple :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:229
|
||||
msgid "Supported INI File Structure"
|
||||
msgstr ""
|
||||
msgstr "Structure des fichiers *INI* prise en change"
|
||||
|
||||
#: ../Doc/library/configparser.rst:231
|
||||
msgid ""
|
||||
|
@ -173,6 +238,17 @@ msgid ""
|
|||
"indented deeper than the first line of the value. Depending on the parser's "
|
||||
"mode, blank lines may be treated as parts of multiline values or ignored."
|
||||
msgstr ""
|
||||
"Un fichier de configuration est constitué de sections. Chacune des sections "
|
||||
"commence par un en-tête ``[section]``, suivi d'une liste de définitions clés-"
|
||||
"valeurs séparées par une chaîne de caractères spécifique (``=`` ou ``:`` par "
|
||||
"défaut [1]_). Par défaut, les noms des sections sont sensibles à la casse "
|
||||
"mais pas les clés [1]_. Les caractères d'espacement en début et en fin des "
|
||||
"clés et des valeurs sont supprimés. Les valeurs peuvent être absentes, "
|
||||
"auquel cas il est possible d'omettre le délimiteur entre clé et valeur. Les "
|
||||
"valeurs peuvent s'étendre sur plusieurs lignes, à partir du moment où les "
|
||||
"lignes supplémentaires sont plus indentées que la première ligne. Les lignes "
|
||||
"vides peuvent être considérées comme faisant partie des valeurs multi "
|
||||
"lignes, en fonction de la configuration de l'analyseur."
|
||||
|
||||
#: ../Doc/library/configparser.rst:240
|
||||
msgid ""
|
||||
|
@ -180,14 +256,18 @@ msgid ""
|
|||
"(``#`` and ``;`` by default [1]_). Comments may appear on their own on an "
|
||||
"otherwise empty line, possibly indented. [1]_"
|
||||
msgstr ""
|
||||
"Les fichiers de configuration peuvent contenir des commentaires, préfixés "
|
||||
"par des caractères spécifiques (``#`` et ``;`` par défaut [1]_). Les "
|
||||
"commentaires peuvent apparaître à l'emplacement d'une ligne vide, et peuvent "
|
||||
"aussi être indentés. [1]_"
|
||||
|
||||
#: ../Doc/library/configparser.rst:244 ../Doc/library/configparser.rst:307
|
||||
msgid "For example:"
|
||||
msgstr "Par exemple ::"
|
||||
msgstr "Par exemple :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:292
|
||||
msgid "Interpolation of values"
|
||||
msgstr ""
|
||||
msgstr "Interpolation des valeurs"
|
||||
|
||||
#: ../Doc/library/configparser.rst:294
|
||||
msgid ""
|
||||
|
@ -195,6 +275,9 @@ msgid ""
|
|||
"interpolation. This means values can be preprocessed before returning them "
|
||||
"from ``get()`` calls."
|
||||
msgstr ""
|
||||
"La classe :class:`ConfigParser` prend en charge l’interpolation, en plus des "
|
||||
"fonctionnalités de base. Cela signifie que les valeurs peuvent être traitées "
|
||||
"avant d'être renvoyées par les appels aux méthodes ``get()``."
|
||||
|
||||
#: ../Doc/library/configparser.rst:302
|
||||
msgid ""
|
||||
|
@ -203,6 +286,11 @@ msgid ""
|
|||
"or values in the special default section [1]_. Additional default values "
|
||||
"can be provided on initialization."
|
||||
msgstr ""
|
||||
"Implémentation par défaut utilisée par la classe :class:`ConfigParser`. "
|
||||
"Celle-ci permet aux valeurs de contenir des chaînes de formatage se référant "
|
||||
"à d'autres valeurs dans la même section, ou bien à des valeurs dans la "
|
||||
"section spéciale par défaut [1]_. D'autres valeurs par défaut peuvent être "
|
||||
"fournies au moment de l'initialisation de cette classe."
|
||||
|
||||
#: ../Doc/library/configparser.rst:317
|
||||
msgid ""
|
||||
|
@ -213,6 +301,13 @@ msgid ""
|
|||
"keys used in the chain of references do not have to be specified in any "
|
||||
"specific order in the configuration file."
|
||||
msgstr ""
|
||||
"Dans l'exemple ci-dessus, une classe :class:`Configparser` dont l'attribut "
|
||||
"*interpolation* vaut ``BasicInterpolation()`` interprète la chaîne de "
|
||||
"caractères ``%(home_dir)s`` en utilisant la valeur de la clé ``home_dir`` "
|
||||
"(``/Users`` dans ce cas). ``%(my_dir)s`` est interprétée comme ``/Users/"
|
||||
"lumberjack``. Les interpolations sont effectuées à la volée. Ainsi, les clés "
|
||||
"utilisées comme référence à l’intérieur des chaînes de formatage peuvent "
|
||||
"être définies dans le fichier de configuration dans n'importe quel ordre."
|
||||
|
||||
#: ../Doc/library/configparser.rst:324
|
||||
msgid ""
|
||||
|
@ -220,6 +315,9 @@ msgid ""
|
|||
"%(my_dir)s/Pictures`` as the value of ``my_pictures`` and ``%(home_dir)s/"
|
||||
"lumberjack`` as the value of ``my_dir``."
|
||||
msgstr ""
|
||||
"Si l'attribut ``interpolation`` vaut ``None``, le lecteur renvoie ``"
|
||||
"%(my_dir)s/Pictures`` comme valeur pour ``my_pictures`` et ``%(home_dir)s/"
|
||||
"lumberjack`` comme valeur pour ``my_dir``."
|
||||
|
||||
#: ../Doc/library/configparser.rst:332
|
||||
msgid ""
|
||||
|
@ -230,20 +328,30 @@ msgid ""
|
|||
"`` part is omitted, interpolation defaults to the current section (and "
|
||||
"possibly the default values from the special section)."
|
||||
msgstr ""
|
||||
"Autre façon de gérer l'interpolation en utilisant une syntaxe plus avancée, "
|
||||
"utilisée par exemple par ``zc.buildout``. Cette syntaxe étendue utilise la "
|
||||
"chaîne de formatage ``{section:option}}`` pour désigner une valeur "
|
||||
"appartenant à une autre section. L'interpolation peut s'étendre sur "
|
||||
"plusieurs niveaux. Par commodité, si la partie ``{section}`` est absente, "
|
||||
"l'interpolation utilise la section courante par défaut (et, le cas échéant, "
|
||||
"les valeurs de la section par défaut spéciale)."
|
||||
|
||||
#: ../Doc/library/configparser.rst:339
|
||||
msgid ""
|
||||
"For example, the configuration specified above with basic interpolation, "
|
||||
"would look like this with extended interpolation:"
|
||||
msgstr ""
|
||||
"Voici comment transformer la configuration ci-dessus avec la syntaxe "
|
||||
"d'interpolation étendue :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:349
|
||||
msgid "Values from other sections can be fetched as well:"
|
||||
msgstr ""
|
||||
"Vous pouvez également récupérer des valeurs appartenant aux autres sections :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:371
|
||||
msgid "Mapping Protocol Access"
|
||||
msgstr ""
|
||||
msgstr "Protocole d'accès associatif"
|
||||
|
||||
#: ../Doc/library/configparser.rst:375
|
||||
msgid ""
|
||||
|
@ -252,6 +360,11 @@ msgid ""
|
|||
"`configparser`, the mapping interface implementation is using the "
|
||||
"``parser['section']['option']`` notation."
|
||||
msgstr ""
|
||||
"Le terme « protocole d'accès associatif » est utilisé pour décrire la "
|
||||
"fonctionnalité qui permet d'utiliser des objets personnalisés comme s'il "
|
||||
"s'agissait de dictionnaires. Dans le cas du module :mod:`configparser`, "
|
||||
"l’implémentation du protocole utilise la notation ``parser['section']"
|
||||
"['option']``."
|
||||
|
||||
#: ../Doc/library/configparser.rst:380
|
||||
msgid ""
|
||||
|
@ -261,6 +374,12 @@ msgid ""
|
|||
"values are changed on a section proxy, they are actually mutated in the "
|
||||
"original parser."
|
||||
msgstr ""
|
||||
"En particulier, ``parser['section']`` renvoie un mandataire vers les données "
|
||||
"de la section correspondantes dans l'analyseur. Cela signifie que les "
|
||||
"valeurs ne sont pas copiées, mais prélevées depuis l'analyseur initial à la "
|
||||
"demande. Plus important encore, lorsque les valeurs sont changées dans un "
|
||||
"mandataire pour une section, elles sont en réalité changées dans l'analyseur "
|
||||
"initial."
|
||||
|
||||
#: ../Doc/library/configparser.rst:386
|
||||
msgid ""
|
||||
|
@ -269,6 +388,11 @@ msgid ""
|
|||
"`~collections.abc.MutableMapping` ABC. However, there are a few differences "
|
||||
"that should be taken into account:"
|
||||
msgstr ""
|
||||
"Les objets du module :mod:`configparser` se comportent le plus possible "
|
||||
"comme des vrais dictionnaires. L'interface est complète et suit les "
|
||||
"définitions fournies par la classe abstraite :class:`~collections.abc."
|
||||
"MutableMapping`. Cependant, il faut prendre en compte un certain nombre de "
|
||||
"différences :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:391
|
||||
msgid ""
|
||||
|
@ -278,6 +402,11 @@ msgid ""
|
|||
"default. At the same time, for a section that holds the key ``'a'``, both "
|
||||
"expressions return ``True``::"
|
||||
msgstr ""
|
||||
"Par défaut, toutes les clés des sections sont accessibles sans respect de la "
|
||||
"casse [1]_. Par exemple, ``for option in parser[\"section\"]`` renvoie "
|
||||
"uniquement les clés telles que transformées par la méthode ``optionxform``, "
|
||||
"c'est-à-dire des clés transformées en minuscules. De même, pour une section "
|
||||
"contenant la clé ``a``, les deux expressions suivantes renvoient ``True`` ::"
|
||||
|
||||
#: ../Doc/library/configparser.rst:399
|
||||
msgid ""
|
||||
|
@ -288,22 +417,30 @@ msgid ""
|
|||
"deleting causes the default value to be visible again. Trying to delete a "
|
||||
"default value causes a :exc:`KeyError`."
|
||||
msgstr ""
|
||||
"Toutes les sections incluent en plus les valeurs de la section "
|
||||
"``DEFAULTSECT``. Cela signifie qu'appeler ``clear()`` sur une section ne la "
|
||||
"fera pas forcément apparaître vide. En effet, les valeurs par défaut ne "
|
||||
"peuvent pas être supprimées de la section (car, techniquement, elles n'y "
|
||||
"sont pas présentes). Si vous détruisez une valeur par défaut qui a été "
|
||||
"écrasée dans une section, alors la valeur par défaut sera de nouveau "
|
||||
"visible. Essayer de détruire une valeur par défaut lève l'exception :exc:"
|
||||
"`KeyError`."
|
||||
|
||||
#: ../Doc/library/configparser.rst:406
|
||||
msgid "``DEFAULTSECT`` cannot be removed from the parser:"
|
||||
msgstr ""
|
||||
msgstr "La section ``DEFAULTSECT`` ne peut pas être supprimée ::"
|
||||
|
||||
#: ../Doc/library/configparser.rst:408
|
||||
msgid "trying to delete it raises :exc:`ValueError`,"
|
||||
msgstr ""
|
||||
msgstr "l'exception :exc:`ValueError` est levée si on essaye de la supprimer ;"
|
||||
|
||||
#: ../Doc/library/configparser.rst:410
|
||||
msgid "``parser.clear()`` leaves it intact,"
|
||||
msgstr ""
|
||||
msgstr "appeler ``parser.clear()`` la laisse intacte ;"
|
||||
|
||||
#: ../Doc/library/configparser.rst:412
|
||||
msgid "``parser.popitem()`` never returns it."
|
||||
msgstr ""
|
||||
msgstr "appeler ```parser.popitem()`` ne la renvoie jamais."
|
||||
|
||||
#: ../Doc/library/configparser.rst:414
|
||||
msgid ""
|
||||
|
@ -311,6 +448,10 @@ msgid ""
|
|||
"fallback value. Note however that the section-level ``get()`` methods are "
|
||||
"compatible both with the mapping protocol and the classic configparser API."
|
||||
msgstr ""
|
||||
"Le deuxième argument de ``parser.get(section, option, **kwargs)`` n'est "
|
||||
"**pas** une valeur de substitution. Notez cependant que les méthodes "
|
||||
"``get()`` fournies par les sections sont compatibles à la fois avec le "
|
||||
"protocole associatif et avec l'API classique de *configparser*."
|
||||
|
||||
#: ../Doc/library/configparser.rst:418
|
||||
msgid ""
|
||||
|
@ -321,6 +462,13 @@ msgid ""
|
|||
"*value* pairs for a specified ``section``, with all interpolations expanded "
|
||||
"(unless ``raw=True`` is provided)."
|
||||
msgstr ""
|
||||
"La méthode ``parser.items()`` est compatible avec le protocole d'accès "
|
||||
"associatif et renvoie une liste de paires *section_name*, *section_proxy*, "
|
||||
"en incluant la section *DEFAULTSECT*. Cependant, cette méthode peut aussi "
|
||||
"être appelée avec des arguments : ``parser.items(section, raw, vars)``. Dans "
|
||||
"ce cas, la méthode renvoie une liste de paires *option*, *value* pour la "
|
||||
"section spécifiée, en interprétant les interpolations (à moins d'utiliser "
|
||||
"``raw=True``)."
|
||||
|
||||
#: ../Doc/library/configparser.rst:425
|
||||
msgid ""
|
||||
|
@ -328,10 +476,13 @@ msgid ""
|
|||
"that subclasses overriding the original interface still should have mappings "
|
||||
"working as expected."
|
||||
msgstr ""
|
||||
"Le protocole d'accès est implémenté au-dessus de l'ancienne API. Ainsi, les "
|
||||
"sous-classes qui écrasent des méthodes de l'interface originale se "
|
||||
"comportent correctement du point de vue du protocole d'accès."
|
||||
|
||||
#: ../Doc/library/configparser.rst:431
|
||||
msgid "Customizing Parser Behaviour"
|
||||
msgstr ""
|
||||
msgstr "Personnalisation du comportement de l'analyseur"
|
||||
|
||||
#: ../Doc/library/configparser.rst:433
|
||||
msgid ""
|
||||
|
@ -341,16 +492,25 @@ msgid ""
|
|||
"dictated by historical background and it's very likely that you will want to "
|
||||
"customize some of the features."
|
||||
msgstr ""
|
||||
"Il existe pratiquement autant de variations du format *INI* que "
|
||||
"d'applications qui l'utilisent. Le module :mod:`configparser` fait son "
|
||||
"possible pour gérer le plus grand nombre de variantes raisonnables du style "
|
||||
"*INI*. Le comportement par défaut est principalement contraint par des "
|
||||
"raisons historiques. De ce fait, il est très probable qu'il soit nécessaire "
|
||||
"de personnaliser certaines des fonctionnalités de ce module."
|
||||
|
||||
#: ../Doc/library/configparser.rst:439
|
||||
msgid ""
|
||||
"The most common way to change the way a specific config parser works is to "
|
||||
"use the :meth:`__init__` options:"
|
||||
msgstr ""
|
||||
"La méthode la plus fréquemment utilisée pour changer la façon dont se "
|
||||
"comporte un analyseur est d’utiliser les options de la méthode :meth:"
|
||||
"`__init__` :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:442
|
||||
msgid "*defaults*, default value: ``None``"
|
||||
msgstr ""
|
||||
msgstr "*defaults*, valeur par défaut : ``None``"
|
||||
|
||||
#: ../Doc/library/configparser.rst:444
|
||||
msgid ""
|
||||
|
@ -359,12 +519,20 @@ msgid ""
|
|||
"concise configuration files that don't specify values which are the same as "
|
||||
"the documented default."
|
||||
msgstr ""
|
||||
"Cette option accepte un dictionnaire de paires clé—valeurs qui seront "
|
||||
"placées dans la section ``DEFAULT`` initialement. Ceci est une façon "
|
||||
"élégante de prendre en charge des fichiers de configuration qui n'ont pas "
|
||||
"besoin de spécifier de valeurs lorsque celles-ci sont identiques aux valeurs "
|
||||
"par défaut documentées."
|
||||
|
||||
#: ../Doc/library/configparser.rst:449
|
||||
msgid ""
|
||||
"Hint: if you want to specify default values for a specific section, use :"
|
||||
"meth:`read_dict` before you read the actual file."
|
||||
msgstr ""
|
||||
"Conseil : utilisez la méthode :meth:`read_dict` avant de lire le ficher de "
|
||||
"configuration si vous voulez spécifier des valeurs par défaut pour une "
|
||||
"section spécifique."
|
||||
|
||||
#: ../Doc/library/configparser.rst:452
|
||||
msgid "*dict_type*, default value: :class:`collections.OrderedDict`"
|
||||
|
@ -395,7 +563,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/configparser.rst:486
|
||||
msgid "*allow_no_value*, default value: ``False``"
|
||||
msgstr ""
|
||||
msgstr "*allow_no_value*, valeur par défaut : ``False``"
|
||||
|
||||
#: ../Doc/library/configparser.rst:488
|
||||
msgid ""
|
||||
|
@ -404,10 +572,15 @@ msgid ""
|
|||
"*allow_no_value* parameter to the constructor can be used to indicate that "
|
||||
"such values should be accepted:"
|
||||
msgstr ""
|
||||
"Certains fichiers de configurations sont connus pour contenir des options "
|
||||
"sans valeur associée, tout en se conformant à la syntaxe prise en charge par "
|
||||
"le module :mod:`configparser` par ailleurs. Pour indiquer que de telles "
|
||||
"valeurs sont acceptables, utilisez le paramètre *allow_no_value* lors de la "
|
||||
"construction de l'instance :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:523
|
||||
msgid "*delimiters*, default value: ``('=', ':')``"
|
||||
msgstr ""
|
||||
msgstr "*delimiters*, valeur par défaut : ``('=', ':')``"
|
||||
|
||||
#: ../Doc/library/configparser.rst:525
|
||||
msgid ""
|
||||
|
@ -415,20 +588,30 @@ msgid ""
|
|||
"The first occurrence of a delimiting substring on a line is considered a "
|
||||
"delimiter. This means values (but not keys) can contain the delimiters."
|
||||
msgstr ""
|
||||
"Chaînes de caractères qui séparent les clés des valeurs à l'intérieur d'une "
|
||||
"section. La première occurrence d'une telle chaîne à l'intérieur d'une ligne "
|
||||
"est considérée comme un délimiteur. Cela signifie que les valeurs peuvent "
|
||||
"contenir certains des délimiteurs (mais pas les clés)."
|
||||
|
||||
#: ../Doc/library/configparser.rst:529
|
||||
msgid ""
|
||||
"See also the *space_around_delimiters* argument to :meth:`ConfigParser."
|
||||
"write`."
|
||||
msgstr ""
|
||||
"Voir aussi l'argument *space_around_delimiters* de la méthode :meth:"
|
||||
"`ConfigParser.write`."
|
||||
|
||||
#: ../Doc/library/configparser.rst:532
|
||||
msgid "*comment_prefixes*, default value: ``('#', ';')``"
|
||||
msgstr ""
|
||||
"*comment_prefixes* (préfixes de commentaire) — valeur par défaut : ``('#', "
|
||||
"';')``"
|
||||
|
||||
#: ../Doc/library/configparser.rst:534
|
||||
msgid "*inline_comment_prefixes*, default value: ``None``"
|
||||
msgstr ""
|
||||
"*inline_comment_prefixes* (préfixes de commentaire en ligne) — valeur par "
|
||||
"défaut : ``('#', ';')``"
|
||||
|
||||
#: ../Doc/library/configparser.rst:536
|
||||
msgid ""
|
||||
|
@ -439,12 +622,23 @@ msgid ""
|
|||
"well). By default inline comments are disabled and ``'#'`` and ``';'`` are "
|
||||
"used as prefixes for whole line comments."
|
||||
msgstr ""
|
||||
"Les préfixes de commentaire indiquent le début d'un commentaire valide au "
|
||||
"sein d'un fichier de configuration. Ils ne peuvent être utilisés qu'à "
|
||||
"l'emplacement d'une ligne vide (potentiellement indentée). En revanche, les "
|
||||
"préfixes de commentaires en ligne peuvent être utilisés après n'importe "
|
||||
"quelle valeur valide (comme les noms des sections, les options et les lignes "
|
||||
"vides). Par défaut, les commentaires en ligne sont désactivés et les "
|
||||
"préfixes utilisés pour les commentaires à l'emplacement d'une ligne vide "
|
||||
"sont `'#'`` et ``';'``."
|
||||
|
||||
#: ../Doc/library/configparser.rst:543
|
||||
msgid ""
|
||||
"In previous versions of :mod:`configparser` behaviour matched "
|
||||
"``comment_prefixes=('#',';')`` and ``inline_comment_prefixes=(';',)``."
|
||||
msgstr ""
|
||||
"Les précédentes versions du module :mod:`configparser` se comportent comme "
|
||||
"en utilisant ``comment_prefixes=('#',';')`` et "
|
||||
"``inline_comment_prefixes=(';',)``."
|
||||
|
||||
#: ../Doc/library/configparser.rst:547
|
||||
msgid ""
|
||||
|
@ -455,10 +649,17 @@ msgid ""
|
|||
"storing comment prefix characters at the beginning of a line in multiline "
|
||||
"values is to interpolate the prefix, for example::"
|
||||
msgstr ""
|
||||
"Notez que les analyseurs ne prennent pas en charge l'échappement des "
|
||||
"préfixes de commentaires. Ainsi, l'utilisation de *inline_comment_prefixes* "
|
||||
"peut empêcher les utilisateurs de spécifier des valeurs qui contiennent des "
|
||||
"caractères utilisés comme préfixe de commentaire. Dans le doute, il est "
|
||||
"recommandé de ne pas utiliser *inline_comment_prefixes*. Dans tous les cas, "
|
||||
"la seule façon de stocker des préfixes de commentaires au début d'une valeur "
|
||||
"multi lignes est d'interpoler ceux-ci, par exemple ::"
|
||||
|
||||
#: ../Doc/library/configparser.rst:593
|
||||
msgid "*strict*, default value: ``True``"
|
||||
msgstr ""
|
||||
msgstr "*scrict*, valeur par défaut : ``True``"
|
||||
|
||||
#: ../Doc/library/configparser.rst:595
|
||||
msgid ""
|
||||
|
@ -467,16 +668,23 @@ msgid ""
|
|||
"meth:`read_string` or :meth:`read_dict`). It is recommended to use strict "
|
||||
"parsers in new applications."
|
||||
msgstr ""
|
||||
"Quand la valeur ``True`` est spécifiée, le parseur refuse toute section ou "
|
||||
"option dupliquée lors de la lecture d'une source unique (lorsque :meth:"
|
||||
"`read_file`, :meth:`read_string` ou :meth:`read_dict` sont utilisées). Il "
|
||||
"est recommandé d'utiliser un mode de fonctionnement strict pour les "
|
||||
"analyseurs employés par de nouvelles applications."
|
||||
|
||||
#: ../Doc/library/configparser.rst:600
|
||||
msgid ""
|
||||
"In previous versions of :mod:`configparser` behaviour matched "
|
||||
"``strict=False``."
|
||||
msgstr ""
|
||||
"Les versions précédentes du module :mod:`configparser` se comportent comme "
|
||||
"en utilisant ``strict=False``."
|
||||
|
||||
#: ../Doc/library/configparser.rst:604
|
||||
msgid "*empty_lines_in_values*, default value: ``True``"
|
||||
msgstr ""
|
||||
msgstr "*empty_lines_in_values*, valeur par défaut : ``True``"
|
||||
|
||||
#: ../Doc/library/configparser.rst:606
|
||||
msgid ""
|
||||
|
@ -487,6 +695,13 @@ msgid ""
|
|||
"when configuration files get big and complex, it is easy for the user to "
|
||||
"lose track of the file structure. Take for instance:"
|
||||
msgstr ""
|
||||
"Du point de vue des analyseurs, les valeurs peuvent s'étendre sur plusieurs "
|
||||
"lignes à partir du moment où elles sont plus indentées que la clé qui les "
|
||||
"contient. Par défaut les analyseurs autorisent les lignes vides à faire "
|
||||
"partie de telles valeurs. Dans le même temps, les clés elles-mêmes peuvent "
|
||||
"être indentées de façon à rendre le fichier plus lisible. En conséquence, il "
|
||||
"est probable que l'utilisateur perde de vue la structure du fichier lorsque "
|
||||
"celui-ci devient long et complexe. Prenez par exemple :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:621
|
||||
msgid ""
|
||||
|
@ -496,12 +711,20 @@ msgid ""
|
|||
"This will make empty lines split keys every time. In the example above, it "
|
||||
"would produce two keys, ``key`` and ``this``."
|
||||
msgstr ""
|
||||
"Ceci est particulièrement problématique si l'utilisateur a configuré son "
|
||||
"éditeur pour utiliser une police à chasse variable. C'est pourquoi il est "
|
||||
"conseillé de ne pas prendre en charge les valeurs avec des lignes vides, à "
|
||||
"moins que votre application en ait besoin. Dans ce cas, les lignes vides "
|
||||
"sont toujours interprétées comme séparant des clés. Dans l'exemple ci-"
|
||||
"dessus, cela produit deux clés : ``key`` et ``this``."
|
||||
|
||||
#: ../Doc/library/configparser.rst:627
|
||||
msgid ""
|
||||
"*default_section*, default value: ``configparser.DEFAULTSECT`` (that is: ``"
|
||||
"\"DEFAULT\"``)"
|
||||
msgstr ""
|
||||
"*default_section*, valeur par défaut : ``configparser.DEFAULTSECT`` "
|
||||
"(autrement dit : ``\"DEFAULT\"``)"
|
||||
|
||||
#: ../Doc/library/configparser.rst:630
|
||||
msgid ""
|
||||
|
@ -572,6 +795,12 @@ msgid ""
|
|||
"``'off'``. You can override this by specifying a custom dictionary of "
|
||||
"strings and their Boolean outcomes. For example:"
|
||||
msgstr ""
|
||||
"Par défaut, la méthode :meth:`~ConfigParser.getboolean` considère les "
|
||||
"valeurs suivantes comme vraies : `'1'``, ``'yes'``, ``'true'``, ``'on'``, et "
|
||||
"les valeurs suivantes comme fausses : ``'0'``, ``'no'``, ``'false'``, "
|
||||
"``'off'``. Vous pouvez changer ce comportement en spécifiant votre propre "
|
||||
"dictionnaire associant des chaînes de caractères à des valeurs booléennes. "
|
||||
"Par exemple :"
|
||||
|
||||
#: ../Doc/library/configparser.rst:692
|
||||
msgid ""
|
||||
|
|
|
@ -18,6 +18,8 @@ msgstr ""
|
|||
msgid ""
|
||||
":mod:`!contextlib` --- Utilities for :keyword:`!with`\\ -statement contexts"
|
||||
msgstr ""
|
||||
":mod:`!contextlib` — Utilitaires pour les contextes s'appuyant sur "
|
||||
"l'instruction :keyword:`!with`"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:7
|
||||
msgid "**Source code:** :source:`Lib/contextlib.py`"
|
||||
|
@ -29,6 +31,9 @@ msgid ""
|
|||
"`with` statement. For more information see also :ref:`typecontextmanager` "
|
||||
"and :ref:`context-managers`."
|
||||
msgstr ""
|
||||
"Ce module fournit des utilitaires pour les tâches impliquant le mot-clé :"
|
||||
"keyword:`with`. Pour plus d'informations voir aussi :ref:"
|
||||
"`typecontextmanager` et :ref:`context-managers`."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:17
|
||||
msgid "Utilities"
|
||||
|
@ -36,7 +41,7 @@ msgstr "Utilitaires"
|
|||
|
||||
#: ../Doc/library/contextlib.rst:19
|
||||
msgid "Functions and classes provided:"
|
||||
msgstr ""
|
||||
msgstr "Fonctions et classes fournies :"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:23
|
||||
msgid ""
|
||||
|
@ -46,6 +51,12 @@ msgid ""
|
|||
"__exit__` is an abstract method which by default returns ``None``. See also "
|
||||
"the definition of :ref:`typecontextmanager`."
|
||||
msgstr ""
|
||||
":term:`Classe mère abstraite <abstract base class>` pour les classes qui "
|
||||
"implémentent les méthodes :meth:`object.__enter__` et :meth:`object."
|
||||
"__exit__`. Une implémentation par défaut de :meth:`object.__enter__` est "
|
||||
"fournie, qui renvoie ``self``, et :meth:`object.__exit__` est une méthode "
|
||||
"abstraite qui renvoie ``None`` par défaut. Voir aussi la définition de :ref:"
|
||||
"`typecontextmanager`."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:34
|
||||
msgid ""
|
||||
|
@ -55,6 +66,12 @@ msgid ""
|
|||
"__aexit__` is an abstract method which by default returns ``None``. See also "
|
||||
"the definition of :ref:`async-context-managers`."
|
||||
msgstr ""
|
||||
":term:`Classe mère abstraite <abstract base class>` pour les classes qui "
|
||||
"implémentent les méthodes :meth:`object.__aenter__` et :meth:`object."
|
||||
"__aexit__`. Une implémentation par défaut de :meth:`object.__aenter__` est "
|
||||
"fournie, qui renvoie ``self``, et :meth:`object.__aexit__` est une méthode "
|
||||
"abstraite qui renvoie ``None`` par défaut. Voir aussi la définition de :ref:"
|
||||
"`async-context-managers`."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:46
|
||||
msgid ""
|
||||
|
@ -62,6 +79,10 @@ msgid ""
|
|||
"function for :keyword:`with` statement context managers, without needing to "
|
||||
"create a class or separate :meth:`__enter__` and :meth:`__exit__` methods."
|
||||
msgstr ""
|
||||
"Cette fonction est un :term:`decorator` qui peut être utilisé pour définir "
|
||||
"une fonction fabriquant des gestionnaires de contexte à utiliser avec :"
|
||||
"keyword:`with`, sans nécessiter de créer une classe ou des méthodes :meth:"
|
||||
"`__enter__` et :meth:`__exit__` séparées."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:50
|
||||
msgid ""
|
||||
|
@ -70,12 +91,18 @@ msgid ""
|
|||
"and doesn't implement a ``close()`` method for use with ``contextlib."
|
||||
"closing``"
|
||||
msgstr ""
|
||||
"Alors que de nombreux objets s'utilisent nativement dans des blocs *with*, "
|
||||
"on trouve parfois des ressources qui nécessitent d'être gérées mais ne sont "
|
||||
"pas des gestionnaires de contextes, et qui n'implémentent pas de méthode "
|
||||
"``close()`` pour pouvoir être utilisées avec ``contextlib.closing``"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:54
|
||||
msgid ""
|
||||
"An abstract example would be the following to ensure correct resource "
|
||||
"management::"
|
||||
msgstr ""
|
||||
"L'exemple abstrait suivant présente comment assurer une gestion correcte des "
|
||||
"ressources ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:73
|
||||
msgid ""
|
||||
|
@ -83,6 +110,10 @@ msgid ""
|
|||
"called. This iterator must yield exactly one value, which will be bound to "
|
||||
"the targets in the :keyword:`with` statement's :keyword:`!as` clause, if any."
|
||||
msgstr ""
|
||||
"La fonction à décorer doit renvoyer un :term:`générateur <generator>`-"
|
||||
"itérateur quand elle est appelée. Ce générateur ne doit produire qu'une "
|
||||
"seule valeur, qui est récupérée dans le bloc :keyword:`with` à l'aide de la "
|
||||
"clause :keyword:`!as` si précisée."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:77
|
||||
msgid ""
|
||||
|
@ -99,6 +130,18 @@ msgid ""
|
|||
"handled, and execution will resume with the statement immediately following "
|
||||
"the :keyword:`!with` statement."
|
||||
msgstr ""
|
||||
"Au moment où le générateur produit une valeur, le bloc imbriqué sous "
|
||||
"l'instruction :keyword:`with` est exécuté. Le générateur est ensuite repris "
|
||||
"après la sortie du bloc. Si une exception non gérée survient dans le bloc, "
|
||||
"elle est relayée dans le générateur au niveau de l'instruction *yield*. "
|
||||
"Ainsi, vous pouvez utiliser les instructions :keyword:`try`…\\ :keyword:"
|
||||
"`except`…\\ :keyword:`finally` pour attraper l'erreur (s'il y a), ou vous "
|
||||
"assurer qu'un nettoyage a bien lieu. Si une exception est attrapée dans "
|
||||
"l'unique but d'être journalisée ou d'effectuer une action particulière "
|
||||
"(autre que supprimer entièrement l'exception), le générateur se doit de la "
|
||||
"relayer. Autrement le générateur gestionnaire de contexte doit indiquer à "
|
||||
"l'instruction :keyword:`!with` que l'exception a été gérée, et l'exécution "
|
||||
"reprend sur l'instruction qui suit directement le bloc :keyword:`!with`."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:89
|
||||
msgid ""
|
||||
|
@ -110,16 +153,26 @@ msgid ""
|
|||
"that context managers support multiple invocations in order to be used as "
|
||||
"decorators)."
|
||||
msgstr ""
|
||||
"Le décorateur :func:`contextmanager` utilise la classe :class:"
|
||||
"`ContextDecorator` afin que les gestionnaires de contexte qu'il crée "
|
||||
"puissent être utilisés aussi bien en tant que décorateurs qu'avec des "
|
||||
"instructions :keyword:`with`. Quand vous l'utilisez comme décorateur, une "
|
||||
"nouvelle instance du générateur est créée à chaque appel de la fonction "
|
||||
"(cela permet aux gestionnaires de contexte à usage unique créés par :func:"
|
||||
"`contextmanager` de remplir la condition de pouvoir être invoqués plusieurs "
|
||||
"fois afin d'être utilisés comme décorateurs)."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:96
|
||||
msgid "Use of :class:`ContextDecorator`."
|
||||
msgstr ""
|
||||
msgstr "Utilisation de la classe :class:`ContextDecorator`."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:102
|
||||
msgid ""
|
||||
"Similar to :func:`~contextlib.contextmanager`, but creates an :ref:"
|
||||
"`asynchronous context manager <async-context-managers>`."
|
||||
msgstr ""
|
||||
"Similaire à :func:`~contextlib.contextmanager`, mais crée un :ref:"
|
||||
"`gestionnaire de contexte asynchrone <async-context-managers>`."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:105
|
||||
msgid ""
|
||||
|
@ -129,6 +182,12 @@ msgid ""
|
|||
"`__aexit__` methods. It must be applied to an :term:`asynchronous generator` "
|
||||
"function."
|
||||
msgstr ""
|
||||
"Cette fonction est un :term:`decorator` qui peut être utilisé pour définir "
|
||||
"une fonction fabriquant des gestionnaires de contexte asynchrones à utiliser "
|
||||
"avec :keyword:`async with`, sans nécessiter de créer une classe ou des "
|
||||
"méthodes :meth:`__aenter__` et :meth:`__aexit__` séparées. Le décorateur "
|
||||
"doit être appliqué à une fonction renvoyant un :term:`asynchronous "
|
||||
"generator`."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:111
|
||||
msgid "A simple example::"
|
||||
|
@ -139,16 +198,20 @@ msgid ""
|
|||
"Return a context manager that closes *thing* upon completion of the block. "
|
||||
"This is basically equivalent to::"
|
||||
msgstr ""
|
||||
"Renvoie un gestionnaire de contexte qui ferme *thing* à la fin du bloc. "
|
||||
"C'est essentiellement équivalent à ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:144
|
||||
msgid "And lets you write code like this::"
|
||||
msgstr ""
|
||||
msgstr "Et cela vous permet d'écrire du code tel que ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:153
|
||||
msgid ""
|
||||
"without needing to explicitly close ``page``. Even if an error occurs, "
|
||||
"``page.close()`` will be called when the :keyword:`with` block is exited."
|
||||
msgstr ""
|
||||
"sans besoin de fermer explicitement ``page``. Même si une erreur survient, "
|
||||
"``page.close()`` est appelée à la fermeture du bloc :keyword:`with`."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:161
|
||||
msgid ""
|
||||
|
@ -156,10 +219,13 @@ msgid ""
|
|||
"otherwise does nothing. It is intended to be used as a stand-in for an "
|
||||
"optional context manager, for example::"
|
||||
msgstr ""
|
||||
"Renvoie un gestionnaire de contexte dont la méthode ``__enter__`` renvoie "
|
||||
"*enter_result*, mais ne fait rien d'autre. L'idée est de l'utiliser comme "
|
||||
"remplaçant pour un gestionnaire de contexte optionnel, par exemple ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:175
|
||||
msgid "An example using *enter_result*::"
|
||||
msgstr ""
|
||||
msgstr "Un exemple utilisant *enter_result* ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:193
|
||||
msgid ""
|
||||
|
@ -167,6 +233,9 @@ msgid ""
|
|||
"they occur in the body of a with statement and then resumes execution with "
|
||||
"the first statement following the end of the with statement."
|
||||
msgstr ""
|
||||
"Renvoie un gestionnaire de contexte qui supprime toutes les exceptions "
|
||||
"spécifiées si elles surviennent dans le corps du bloc *with*, et reprend "
|
||||
"l'exécution sur la première instruction qui suit la fin du bloc *with*."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:197
|
||||
msgid ""
|
||||
|
@ -175,6 +244,10 @@ msgid ""
|
|||
"silently continuing with program execution is known to be the right thing to "
|
||||
"do."
|
||||
msgstr ""
|
||||
"Comme pour tous les mécanismes qui suppriment complètement les exceptions, "
|
||||
"ce gestionnaire de contexte doit seulement être utilisé pour couvrir des cas "
|
||||
"très spécifiques d'erreurs où il est certain que continuer silencieusement "
|
||||
"l'exécution du programme est la bonne chose à faire."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:202
|
||||
msgid "For example::"
|
||||
|
@ -187,19 +260,23 @@ msgstr "Ce code est équivalent à ::"
|
|||
#: ../Doc/library/contextlib.rst:224 ../Doc/library/contextlib.rst:263
|
||||
#: ../Doc/library/contextlib.rst:273
|
||||
msgid "This context manager is :ref:`reentrant <reentrant-cms>`."
|
||||
msgstr ""
|
||||
msgstr "Ce gestionnaire de contexte est :ref:`réentrant <reentrant-cms>`."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:231
|
||||
msgid ""
|
||||
"Context manager for temporarily redirecting :data:`sys.stdout` to another "
|
||||
"file or file-like object."
|
||||
msgstr ""
|
||||
"Gestionnaire de contexte servant à rediriger temporairement :data:`sys."
|
||||
"stdout` vers un autre fichier ou objet fichier-compatible."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:234
|
||||
msgid ""
|
||||
"This tool adds flexibility to existing functions or classes whose output is "
|
||||
"hardwired to stdout."
|
||||
msgstr ""
|
||||
"Cet outil ajoute une certaine flexibilité aux fonctions ou classes "
|
||||
"existantes dont la sortie est envoyée vers la sortie standard."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:237
|
||||
msgid ""
|
||||
|
@ -207,16 +284,21 @@ msgid ""
|
|||
"You can capture that output in a string by redirecting the output to an :"
|
||||
"class:`io.StringIO` object::"
|
||||
msgstr ""
|
||||
"Par exemple, la sortie de :func:`help` est normalement envoyée vers *sys."
|
||||
"stdout*. Vous pouvez capturer cette sortie dans une chaîne de caractères en "
|
||||
"la redirigeant vers un objet :class:`io.StringIO` ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:246
|
||||
msgid ""
|
||||
"To send the output of :func:`help` to a file on disk, redirect the output to "
|
||||
"a regular file::"
|
||||
msgstr ""
|
||||
"Pour envoyer la sortie de :func:`help` vers un fichier sur le disque, "
|
||||
"redirigez-la sur un fichier normal ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:253
|
||||
msgid "To send the output of :func:`help` to *sys.stderr*::"
|
||||
msgstr ""
|
||||
msgstr "Pour envoyer la sortie de :func:`help` sur *sys.stderr* ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:258
|
||||
msgid ""
|
||||
|
@ -225,17 +307,27 @@ msgid ""
|
|||
"applications. It also has no effect on the output of subprocesses. However, "
|
||||
"it is still a useful approach for many utility scripts."
|
||||
msgstr ""
|
||||
"Notez que l'effet de bord global sur :data:`sys.stdout` signifie que ce "
|
||||
"gestionnaire de contexte n'est pas adapté à une utilisation dans le code "
|
||||
"d'une bibliothèque ni dans la plupart des applications à plusieurs fils "
|
||||
"d'exécution. Aussi, cela n'a pas d'effet sur la sortie des sous-processus. "
|
||||
"Cependant, cela reste une approche utile pour beaucoup de scripts "
|
||||
"utilitaires."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:270
|
||||
msgid ""
|
||||
"Similar to :func:`~contextlib.redirect_stdout` but redirecting :data:`sys."
|
||||
"stderr` to another file or file-like object."
|
||||
msgstr ""
|
||||
"Similaire à :func:`~contextlib.redirect_stdout` mais redirige :data:`sys."
|
||||
"stderr` vers un autre fichier ou objet fichier-compatible."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:280
|
||||
msgid ""
|
||||
"A base class that enables a context manager to also be used as a decorator."
|
||||
msgstr ""
|
||||
"Une classe mère qui permet à un gestionnaire de contexte d'être aussi "
|
||||
"utilisé comme décorateur."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:282
|
||||
msgid ""
|
||||
|
@ -243,37 +335,50 @@ msgid ""
|
|||
"``__enter__`` and ``__exit__`` as normal. ``__exit__`` retains its optional "
|
||||
"exception handling even when used as a decorator."
|
||||
msgstr ""
|
||||
"Les gestionnaires de contexte héritant de ``ContextDecorator`` doivent "
|
||||
"implémenter ``__enter__`` et ``__exit__`` comme habituellement. ``__exit__`` "
|
||||
"conserve sa gestion optionnelle des exceptions même lors de l'utilisation en "
|
||||
"décorateur."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:286
|
||||
msgid ""
|
||||
"``ContextDecorator`` is used by :func:`contextmanager`, so you get this "
|
||||
"functionality automatically."
|
||||
msgstr ""
|
||||
"``ContextDecorator`` est utilisé par :func:`contextmanager`, donc vous "
|
||||
"bénéficiez automatiquement de cette fonctionnalité."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:289
|
||||
msgid "Example of ``ContextDecorator``::"
|
||||
msgstr ""
|
||||
msgstr "Exemple de ``ContextDecorator`` ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:318
|
||||
msgid ""
|
||||
"This change is just syntactic sugar for any construct of the following form::"
|
||||
msgstr ""
|
||||
"Ce changement est simplement un sucre syntaxique pour les constructions de "
|
||||
"la forme suivante ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:324
|
||||
msgid "``ContextDecorator`` lets you instead write::"
|
||||
msgstr ""
|
||||
msgstr "``ContextDecorator`` vous permet d'écrire à la place ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:330
|
||||
msgid ""
|
||||
"It makes it clear that the ``cm`` applies to the whole function, rather than "
|
||||
"just a piece of it (and saving an indentation level is nice, too)."
|
||||
msgstr ""
|
||||
"Cela éclaircit le fait que ``cm`` s'applique à la fonction entière, et pas "
|
||||
"seulement à un morceau en particulier (et gagner un niveau d'indentation est "
|
||||
"toujours appréciable)."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:333
|
||||
msgid ""
|
||||
"Existing context managers that already have a base class can be extended by "
|
||||
"using ``ContextDecorator`` as a mixin class::"
|
||||
msgstr ""
|
||||
"Les gestionnaires de contexte existants qui ont déjà une classe mère peuvent "
|
||||
"être étendus en utilisant ``ContextDecorator`` comme une *mixin* ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:346
|
||||
msgid ""
|
||||
|
@ -282,6 +387,11 @@ msgid ""
|
|||
"statements. If this is not the case, then the original construct with the "
|
||||
"explicit :keyword:`!with` statement inside the function should be used."
|
||||
msgstr ""
|
||||
"Comme la fonction décorée doit être capable d'être appelée plusieurs fois, "
|
||||
"le gestionnaire de contexte sous-jacent doit permettre d'être utilisé dans "
|
||||
"de multiples instructions :keyword:`with`. Si ce n'est pas le cas, alors la "
|
||||
"construction d'origine avec de multiples instructions :keyword:`!with` au "
|
||||
"sein de la fonction doit être utilisée."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:356
|
||||
msgid ""
|
||||
|
@ -289,12 +399,18 @@ msgid ""
|
|||
"combine other context managers and cleanup functions, especially those that "
|
||||
"are optional or otherwise driven by input data."
|
||||
msgstr ""
|
||||
"Gestionnaire de contexte conçu pour simplifier le fait de combiner "
|
||||
"programmatiquement d'autres gestionnaires de contexte et fonctions de "
|
||||
"nettoyage, spécifiquement ceux qui sont optionnels ou pilotés par des "
|
||||
"données d'entrée."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:360
|
||||
msgid ""
|
||||
"For example, a set of files may easily be handled in a single with statement "
|
||||
"as follows::"
|
||||
msgstr ""
|
||||
"Par exemple, un ensemble de fichiers peut facilement être géré dans une "
|
||||
"unique instruction *with* comme suit ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:369
|
||||
msgid ""
|
||||
|
@ -303,6 +419,11 @@ msgid ""
|
|||
"at the end of a :keyword:`with` statement). Note that callbacks are *not* "
|
||||
"invoked implicitly when the context stack instance is garbage collected."
|
||||
msgstr ""
|
||||
"Chaque instance maintient une pile de fonctions de rappels (*callbacks*) "
|
||||
"enregistrées qui sont appelées en ordre inverse quand l'instance est fermée "
|
||||
"(explicitement ou implicitement à la fin d'un bloc :keyword:`with`). Notez "
|
||||
"que ces fonctions ne sont *pas* invoquées implicitement quand l'instance de "
|
||||
"la pile de contextes est collectée par le ramasse-miettes."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:374
|
||||
msgid ""
|
||||
|
@ -310,6 +431,9 @@ msgid ""
|
|||
"resources in their ``__init__`` method (such as file objects) can be handled "
|
||||
"correctly."
|
||||
msgstr ""
|
||||
"Ce modèle de pile est utilisé afin que les gestionnaires de contexte qui "
|
||||
"acquièrent leurs ressources dans leur méthode ``__init__`` (tels que les "
|
||||
"objets-fichiers) puissent être gérés correctement."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:378
|
||||
msgid ""
|
||||
|
@ -320,6 +444,12 @@ msgid ""
|
|||
"exception, then outer callbacks will be passed arguments based on that "
|
||||
"updated state."
|
||||
msgstr ""
|
||||
"Comme les fonctions de rappel enregistrées sont invoquées dans l'ordre "
|
||||
"inverse d'enregistrement, cela revient au même que si de multiples blocs :"
|
||||
"keyword:`with` imbriqués avaient été utilisés avec l'ensemble de fonctions "
|
||||
"enregistrées. Cela s'étend aussi à la gestion d'exceptions — si une fonction "
|
||||
"de rappel intérieure supprime ou remplace une exception, alors les fonctions "
|
||||
"extérieures reçoivent des arguments basés sur ce nouvel état."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:385
|
||||
msgid ""
|
||||
|
@ -328,6 +458,10 @@ msgid ""
|
|||
"foundation for higher level context managers that manipulate the exit stack "
|
||||
"in application specific ways."
|
||||
msgstr ""
|
||||
"C'est une *API* relativement bas-niveau qui s'occupe de dérouler "
|
||||
"correctement la pile des appels de sortie. Elle fournit une base adaptée "
|
||||
"pour des gestionnaires de contexte de plus haut niveau qui manipulent la "
|
||||
"pile de sortie de manière spécifique à l'application."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:394
|
||||
msgid ""
|
||||
|
@ -335,16 +469,24 @@ msgid ""
|
|||
"callback stack. The return value is the result of the context manager's own :"
|
||||
"meth:`__enter__` method."
|
||||
msgstr ""
|
||||
"Entre dans un nouveau gestionnaire de contexte et ajoute sa méthode :meth:"
|
||||
"`__exit__` à la pile d'appels. La valeur de retour est le résultat de la "
|
||||
"méthode :meth:`__enter__` du gestionnaire de contexte donné."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:398
|
||||
msgid ""
|
||||
"These context managers may suppress exceptions just as they normally would "
|
||||
"if used directly as part of a :keyword:`with` statement."
|
||||
msgstr ""
|
||||
"Ces gestionnaires de contexte peuvent supprimer des exceptions comme ils le "
|
||||
"feraient normalement s'ils étaient utilisés directement derrière une "
|
||||
"instruction :keyword:`with`."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:403
|
||||
msgid "Adds a context manager's :meth:`__exit__` method to the callback stack."
|
||||
msgstr ""
|
||||
"Ajoute la méthode :meth:`__exit__` d'un gestionnaire de contexte à la pile "
|
||||
"d'appels."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:405
|
||||
msgid ""
|
||||
|
@ -352,6 +494,9 @@ msgid ""
|
|||
"an :meth:`__enter__` implementation with a context manager's own :meth:"
|
||||
"`__exit__` method."
|
||||
msgstr ""
|
||||
"Comme ``__enter__`` n'est *pas* invoquée, cette méthode peut être utilisée "
|
||||
"pour couvrir une partie de l'implémentation de :meth:`__enter__` avec la "
|
||||
"propre méthode :meth:`__exit__` d'un gestionnaire de contexte."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:409
|
||||
msgid ""
|
||||
|
@ -359,36 +504,52 @@ msgid ""
|
|||
"a callback with the same signature as a context manager's :meth:`__exit__` "
|
||||
"method and adds it directly to the callback stack."
|
||||
msgstr ""
|
||||
"Si l'argument passé n'est pas un gestionnaire de contexte, la méthode assume "
|
||||
"qu'il s'agit d'une fonction de rappel avec la même signature que la méthode :"
|
||||
"meth:`__exit__` des gestionnaires de contexte pour l'ajouter directement à "
|
||||
"la pile d'appels."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:413
|
||||
msgid ""
|
||||
"By returning true values, these callbacks can suppress exceptions the same "
|
||||
"way context manager :meth:`__exit__` methods can."
|
||||
msgstr ""
|
||||
"En retournant des valeurs vraies, ces fonctions peuvent supprimer des "
|
||||
"exceptions de la même manière que le peuvent les méthodes :meth:`__exit__` "
|
||||
"des gestionnaires de contexte."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:416
|
||||
msgid ""
|
||||
"The passed in object is returned from the function, allowing this method to "
|
||||
"be used as a function decorator."
|
||||
msgstr ""
|
||||
"L'objet passé en paramètre est renvoyé par la fonction, ce qui permet à la "
|
||||
"méthode d'être utilisée comme décorateur de fonction."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:421
|
||||
msgid ""
|
||||
"Accepts an arbitrary callback function and arguments and adds it to the "
|
||||
"callback stack."
|
||||
msgstr ""
|
||||
"Accepte une fonction arbitraire et ses arguments et les ajoute à la pile des "
|
||||
"fonctions de rappel."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:424
|
||||
msgid ""
|
||||
"Unlike the other methods, callbacks added this way cannot suppress "
|
||||
"exceptions (as they are never passed the exception details)."
|
||||
msgstr ""
|
||||
"À la différence des autres méthodes, les fonctions de rappel ajoutées de "
|
||||
"cette manière ne peuvent pas supprimer les exceptions (puisqu'elles ne "
|
||||
"reçoivent jamais les détails de l'exception)."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:427
|
||||
msgid ""
|
||||
"The passed in callback is returned from the function, allowing this method "
|
||||
"to be used as a function decorator."
|
||||
msgstr ""
|
||||
"La fonction passée en paramètre est renvoyée par la méthode, ce qui permet à "
|
||||
"la méthode d'être utilisée comme décorateur de fonction."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:432
|
||||
msgid ""
|
||||
|
@ -397,12 +558,18 @@ msgid ""
|
|||
"now be invoked when the new stack is closed (either explicitly or implicitly "
|
||||
"at the end of a :keyword:`with` statement)."
|
||||
msgstr ""
|
||||
"Transfère la pile d'appels à une nouvelle instance de :class:`ExitStack` et "
|
||||
"la renvoie. Aucune fonction de rappel n'est invoquée par cette opération — à "
|
||||
"la place, elles sont dorénavant invoquées quand la nouvelle pile sera close "
|
||||
"(soit explicitement soit implicitement à la fin d'un bloc :keyword:`with`)."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:437
|
||||
msgid ""
|
||||
"For example, a group of files can be opened as an \"all or nothing\" "
|
||||
"operation as follows::"
|
||||
msgstr ""
|
||||
"Par exemple, un groupe de fichiers peut être ouvert comme une opération "
|
||||
"« tout ou rien » comme suit ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:451
|
||||
msgid ""
|
||||
|
@ -410,6 +577,10 @@ msgid ""
|
|||
"order of registration. For any context managers and exit callbacks "
|
||||
"registered, the arguments passed in will indicate that no exception occurred."
|
||||
msgstr ""
|
||||
"Déroule immédiatement la pile d'appels, invoquant les fonctions de rappel "
|
||||
"dans l'ordre inverse d'enregistrement. Pour chaque gestionnaire de contexte "
|
||||
"et fonction de sortie enregistré, les arguments passés indiqueront qu'aucune "
|
||||
"exception n'est survenue."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:458
|
||||
msgid ""
|
||||
|
@ -417,49 +588,62 @@ msgid ""
|
|||
"class:`ExitStack`, that supports combining both synchronous and asynchronous "
|
||||
"context managers, as well as having coroutines for cleanup logic."
|
||||
msgstr ""
|
||||
"Un :ref:`gestionnaire de contexte asynchrone <async-context-managers>`, "
|
||||
"similaire à :class:`ExitStack`, apte à combiner à la fois des gestionnaires "
|
||||
"de contexte synchrones et asynchrones, ainsi que la gestion de coroutines "
|
||||
"pour la logique de nettoyage."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:463
|
||||
msgid ""
|
||||
"The :meth:`close` method is not implemented, :meth:`aclose` must be used "
|
||||
"instead."
|
||||
msgstr ""
|
||||
"La méthode :meth:`close` n'est pas implémentée, :meth:`aclose` doit plutôt "
|
||||
"être utilisée."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:468
|
||||
msgid ""
|
||||
"Similar to :meth:`enter_context` but expects an asynchronous context manager."
|
||||
msgstr ""
|
||||
"Similaire à :meth:`enter_context` mais attend un gestionnaire de contexte "
|
||||
"asynchrone."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:473
|
||||
msgid ""
|
||||
"Similar to :meth:`push` but expects either an asynchronous context manager "
|
||||
"or a coroutine function."
|
||||
msgstr ""
|
||||
"Similaire à :meth:`push` mais attend soit un gestionnaire de contexte "
|
||||
"asynchrone soit une fonction coroutine."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:478
|
||||
msgid "Similar to :meth:`callback` but expects a coroutine function."
|
||||
msgstr ""
|
||||
msgstr "Similaire à :meth:`callback` mais attend une fonction coroutine."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:482
|
||||
msgid "Similar to :meth:`close` but properly handles awaitables."
|
||||
msgstr ""
|
||||
"Similaire à :meth:`close` mais gère correctement les tâches asynchrones."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:484
|
||||
msgid "Continuing the example for :func:`asynccontextmanager`::"
|
||||
msgstr ""
|
||||
msgstr "En continuité de l'exemple de :func:`asynccontextmanager` ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:496
|
||||
msgid "Examples and Recipes"
|
||||
msgstr ""
|
||||
msgstr "Exemples et Recettes"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:498
|
||||
msgid ""
|
||||
"This section describes some examples and recipes for making effective use of "
|
||||
"the tools provided by :mod:`contextlib`."
|
||||
msgstr ""
|
||||
"Cette section décrit quelques exemples et recettes pour décrire une "
|
||||
"utilisation réelle des outils fournis par :mod:`contextlib`."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:503
|
||||
msgid "Supporting a variable number of context managers"
|
||||
msgstr ""
|
||||
msgstr "Gérer un nombre variable de gestionnaires de contexte"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:505
|
||||
msgid ""
|
||||
|
@ -470,6 +654,13 @@ msgid ""
|
|||
"input (such as opening a user specified collection of files), or from some "
|
||||
"of the context managers being optional::"
|
||||
msgstr ""
|
||||
"Le cas d'utilisation primaire de :class:`ExitStack` est celui décrit dans la "
|
||||
"documentation de la classe : gérer un nombre variable de gestionnaires de "
|
||||
"contexte et d'autres opérations de nettoyage en une unique instruction :"
|
||||
"keyword:`with`. La variabilité peut venir du nombre de gestionnaires de "
|
||||
"contexte voulus découlant d'une entrée de l'utilisateur (comme ouvrir une "
|
||||
"collection spécifique de fichiers de l'utilisateur), ou de certains "
|
||||
"gestionnaires de contexte qui peuvent être optionnels ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:520
|
||||
msgid ""
|
||||
|
@ -477,10 +668,13 @@ msgid ""
|
|||
"statements to manage arbitrary resources that don't natively support the "
|
||||
"context management protocol."
|
||||
msgstr ""
|
||||
"Comme montré, :class:`ExitStack` rend aussi assez facile d'utiliser les "
|
||||
"instructions :keyword:`with` pour gérer des ressources arbitraires qui ne "
|
||||
"gèrent pas nativement le protocole des gestionnaires de contexte."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:526
|
||||
msgid "Catching exceptions from ``__enter__`` methods"
|
||||
msgstr ""
|
||||
msgstr "Attraper des exceptions depuis les méthodes ``__enter__``"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:528
|
||||
msgid ""
|
||||
|
@ -490,6 +684,12 @@ msgid ""
|
|||
"By using :class:`ExitStack` the steps in the context management protocol can "
|
||||
"be separated slightly in order to allow this::"
|
||||
msgstr ""
|
||||
"Il est occasionnellement souhaitable d'attraper les exceptions depuis "
|
||||
"l'implémentation d'une méthode ``__enter__``, *sans* attraper par "
|
||||
"inadvertance les exceptions du corps de l'instruction :keyword:`with` ou de "
|
||||
"la méthode ``__exit__`` des gestionnaires de contexte. En utilisant :class:"
|
||||
"`ExitStack`, les étapes du protocole des gestionnaires de contexte peuvent "
|
||||
"être légèrement séparées pour permettre le code suivant ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:543
|
||||
msgid ""
|
||||
|
@ -501,10 +701,18 @@ msgid ""
|
|||
"to handle various situations that can't be handled directly in a :keyword:"
|
||||
"`with` statement."
|
||||
msgstr ""
|
||||
"Avoir à faire cela est en fait surtout utile pour indiquer que l'*API* sous-"
|
||||
"jacente devrait fournir une interface directe de gestion des ressources à "
|
||||
"utiliser avec les instructions :keyword:`try`/:keyword:`except`/:keyword:"
|
||||
"`finally`, mais que toutes les *API* ne sont pas bien conçues dans cet "
|
||||
"objectif. Quand un gestionnaire de contexte est la seule *API* de gestion "
|
||||
"des ressources fournie, alors :class:`ExitStack` peut rendre plus facile la "
|
||||
"gestion de plusieurs situations qui ne peuvent pas être traitées directement "
|
||||
"dans une instruction :keyword:`with`."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:553
|
||||
msgid "Cleaning up in an ``__enter__`` implementation"
|
||||
msgstr ""
|
||||
msgstr "Nettoyer dans une méthode ``__enter__``"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:555
|
||||
msgid ""
|
||||
|
@ -512,6 +720,9 @@ msgid ""
|
|||
"useful in cleaning up an already allocated resource if later steps in the :"
|
||||
"meth:`__enter__` implementation fail."
|
||||
msgstr ""
|
||||
"Comme indiqué dans la documentation de :meth:`ExitStack.push`, cette méthode "
|
||||
"peut être utile pour nettoyer une ressource déjà allouée si les dernières "
|
||||
"étapes de l'implémentation de :meth:`__enter__` échouent."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:559
|
||||
msgid ""
|
||||
|
@ -519,10 +730,13 @@ msgid ""
|
|||
"acquisition and release functions, along with an optional validation "
|
||||
"function, and maps them to the context management protocol::"
|
||||
msgstr ""
|
||||
"Voici un exemple de gestionnaire de contexte qui reçoit des fonctions "
|
||||
"d'acquisition de ressources et de libération, avec une méthode de validation "
|
||||
"optionnelle, et qui les adapte au protocole des gestionnaires de contexte ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:599
|
||||
msgid "Replacing any use of ``try-finally`` and flag variables"
|
||||
msgstr ""
|
||||
msgstr "Remplacer un ``try-finally`` avec une option variable"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:601
|
||||
msgid ""
|
||||
|
@ -531,6 +745,10 @@ msgid ""
|
|||
"should be executed. In its simplest form (that can't already be handled just "
|
||||
"by using an ``except`` clause instead), it looks something like this::"
|
||||
msgstr ""
|
||||
"Un modèle que vous rencontrerez parfois est un bloc ``try-finally`` avec une "
|
||||
"option pour indiquer si le corps de la clause ``finally`` doit être exécuté "
|
||||
"ou non. Dans sa forme la plus simple (qui ne peut pas déjà être gérée avec "
|
||||
"juste une clause ``except``), cela ressemble à ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:615
|
||||
msgid ""
|
||||
|
@ -538,6 +756,10 @@ msgid ""
|
|||
"development and review, because the setup code and the cleanup code can end "
|
||||
"up being separated by arbitrarily long sections of code."
|
||||
msgstr ""
|
||||
"Comme avec n'importe quel code basé sur une instruction ``try``, cela peut "
|
||||
"poser problème pour le développement et la revue, parce que beaucoup de "
|
||||
"codes d'installation et de nettoyage peuvent finir par être séparés par des "
|
||||
"sections de code arbitrairement longues."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:619
|
||||
msgid ""
|
||||
|
@ -545,18 +767,25 @@ msgid ""
|
|||
"execution at the end of a ``with`` statement, and then later decide to skip "
|
||||
"executing that callback::"
|
||||
msgstr ""
|
||||
":class:`ExitStack` rend possible de plutôt enregistrer une fonction de "
|
||||
"rappel pour être exécutée à la fin d'une instruction ``with``, et décider "
|
||||
"ensuite de passer l'exécution de cet appel ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:631
|
||||
msgid ""
|
||||
"This allows the intended cleanup up behaviour to be made explicit up front, "
|
||||
"rather than requiring a separate flag variable."
|
||||
msgstr ""
|
||||
"Cela permet de rendre explicite dès le départ le comportement de nettoyage "
|
||||
"attendu, plutôt que de nécessiter une option séparée."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:634
|
||||
msgid ""
|
||||
"If a particular application uses this pattern a lot, it can be simplified "
|
||||
"even further by means of a small helper class::"
|
||||
msgstr ""
|
||||
"Si une application particulière utilise beaucoup ce modèle, cela peut-être "
|
||||
"simplifié encore plus au moyen d'une petite classe d'aide ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:652
|
||||
msgid ""
|
||||
|
@ -564,6 +793,10 @@ msgid ""
|
|||
"function, then it is still possible to use the decorator form of :meth:"
|
||||
"`ExitStack.callback` to declare the resource cleanup in advance::"
|
||||
msgstr ""
|
||||
"Si le nettoyage de la ressource n'est pas déjà soigneusement embarqué dans "
|
||||
"une fonction autonome, il est possible d'utiliser le décorateur :meth:"
|
||||
"`ExitStack.callback` pour déclarer la fonction de nettoyage de ressource en "
|
||||
"avance ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:667
|
||||
msgid ""
|
||||
|
@ -571,16 +804,24 @@ msgid ""
|
|||
"this way cannot take any parameters. Instead, any resources to be released "
|
||||
"must be accessed as closure variables."
|
||||
msgstr ""
|
||||
"Dû au fonctionnement du protocole des décorateurs, une fonction déclarée "
|
||||
"ainsi ne peut prendre aucun paramètre. À la place, les ressources à libérer "
|
||||
"doivent être récupérées depuis l'extérieur comme des variables de fermeture "
|
||||
"(*closure*)."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:673
|
||||
msgid "Using a context manager as a function decorator"
|
||||
msgstr ""
|
||||
"Utiliser un gestionnaire de contexte en tant que décorateur de fonction"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:675
|
||||
msgid ""
|
||||
":class:`ContextDecorator` makes it possible to use a context manager in both "
|
||||
"an ordinary ``with`` statement and also as a function decorator."
|
||||
msgstr ""
|
||||
":class:`ContextDecorator` rend possible l'utilisation d'un gestionnaire de "
|
||||
"contexte à la fois ordinairement avec une instruction ``with`` ou comme un "
|
||||
"décorateur de fonction."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:678
|
||||
msgid ""
|
||||
|
@ -590,14 +831,22 @@ msgid ""
|
|||
"task, inheriting from :class:`ContextDecorator` provides both capabilities "
|
||||
"in a single definition::"
|
||||
msgstr ""
|
||||
"Par exemple, il est parfois utile d'emballer les fonctions ou blocs "
|
||||
"d'instructions avec un journaliseur qui pourrait suivre le temps d'exécution "
|
||||
"entre l'entrée et la sortie. Plutôt qu'écrire à la fois un décorateur et un "
|
||||
"gestionnaire de contexte pour la même tâche, hériter de :class:"
|
||||
"`ContextDecorator` fournit les deux fonctionnalités en une seule "
|
||||
"définition ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:699
|
||||
msgid "Instances of this class can be used as both a context manager::"
|
||||
msgstr ""
|
||||
"Les instances de cette classe peuvent être utilisées comme gestionnaires de "
|
||||
"contexte ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:705
|
||||
msgid "And also as a function decorator::"
|
||||
msgstr ""
|
||||
msgstr "Et comme décorateurs de fonctions ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:712
|
||||
msgid ""
|
||||
|
@ -606,6 +855,10 @@ msgid ""
|
|||
"`__enter__`. If that value is needed, then it is still necessary to use an "
|
||||
"explicit ``with`` statement."
|
||||
msgstr ""
|
||||
"Notez qu'il y a une autre limitation en utilisant les gestionnaires de "
|
||||
"contexte comme décorateurs : il n'y a aucune manière d'accéder à la valeur "
|
||||
"de retour de :meth:`__enter__`. Si cette valeur est nécessaire, il faut "
|
||||
"utiliser explicitement une instruction ``with``."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:720
|
||||
msgid ":pep:`343` - The \"with\" statement"
|
||||
|
@ -621,7 +874,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/contextlib.rst:726
|
||||
msgid "Single use, reusable and reentrant context managers"
|
||||
msgstr ""
|
||||
msgstr "Gestionnaires de contexte à usage unique, réutilisables et réentrants"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:728
|
||||
msgid ""
|
||||
|
@ -630,6 +883,11 @@ msgid ""
|
|||
"managers must be created afresh each time they're used - attempting to use "
|
||||
"them a second time will trigger an exception or otherwise not work correctly."
|
||||
msgstr ""
|
||||
"La plupart des gestionnaires de contexte sont écrits d'une manière qui ne "
|
||||
"leur permet que d'être utilisés une fois avec une instruction :keyword:"
|
||||
"`with`. Ces gestionnaires de contexte à usage unique doivent être recréés "
|
||||
"chaque fois qu'ils sont utilisés — tenter de les utiliser une seconde fois "
|
||||
"lève une exception ou ne fonctionne pas correctement."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:734
|
||||
msgid ""
|
||||
|
@ -637,6 +895,10 @@ msgid ""
|
|||
"context managers directly in the header of the :keyword:`with` statement "
|
||||
"where they are used (as shown in all of the usage examples above)."
|
||||
msgstr ""
|
||||
"Cette limitation commune signifie qu'il est généralement conseillé de créer "
|
||||
"les gestionnaires de contexte directement dans l'en-tête du bloc :keyword:"
|
||||
"`with` où ils sont utilisés (comme montré dans tous les exemples "
|
||||
"d'utilisation au-dessus)."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:738
|
||||
msgid ""
|
||||
|
@ -644,6 +906,10 @@ msgid ""
|
|||
"first :keyword:`with` statement will close the file, preventing any further "
|
||||
"IO operations using that file object."
|
||||
msgstr ""
|
||||
"Les fichiers sont un exemple de gestionnaires de contexte étant "
|
||||
"effectivement à usage unique, puisque la première instruction :keyword:"
|
||||
"`with` ferme le fichier, empêchant d'autres opérations d'entrée/sortie "
|
||||
"d'être exécutées sur ce fichier."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:742
|
||||
msgid ""
|
||||
|
@ -651,10 +917,13 @@ msgid ""
|
|||
"context managers, and will complain about the underlying generator failing "
|
||||
"to yield if an attempt is made to use them a second time::"
|
||||
msgstr ""
|
||||
"Les gestionnaires de contexte créés avec :func:`contextmanager` sont aussi à "
|
||||
"usage unique, et se plaindront du fait que le générateur sous-jacent ne "
|
||||
"produise plus de valeur si vous essayez de les utiliser une seconde fois ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:770
|
||||
msgid "Reentrant context managers"
|
||||
msgstr ""
|
||||
msgstr "Gestionnaires de contexte réentrants"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:772
|
||||
msgid ""
|
||||
|
@ -663,6 +932,11 @@ msgid ""
|
|||
"may also be used *inside* a :keyword:`!with` statement that is already using "
|
||||
"the same context manager."
|
||||
msgstr ""
|
||||
"Certains gestionnaires de contexte plus sophistiqués peuvent être "
|
||||
"« réentrants ». Ces gestionnaires de contexte ne peuvent pas seulement être "
|
||||
"utilisés avec plusieurs instructions :keyword:`with`, mais aussi *à "
|
||||
"l'intérieur* d'une instruction :keyword:`!with` qui utilise déjà ce même "
|
||||
"gestionnaire de contexte."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:777
|
||||
msgid ""
|
||||
|
@ -670,6 +944,9 @@ msgid ""
|
|||
"are :func:`suppress` and :func:`redirect_stdout`. Here's a very simple "
|
||||
"example of reentrant use::"
|
||||
msgstr ""
|
||||
":class:`threading.RLock` est un exemple de gestionnaire de contexte "
|
||||
"réentrant, comme le sont aussi :func:`suppress` et :func:`redirect_stdout`. "
|
||||
"Voici un très simple exemple d'utilisation réentrante ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:796
|
||||
msgid ""
|
||||
|
@ -677,6 +954,9 @@ msgid ""
|
|||
"functions calling each other and hence be far more complicated than this "
|
||||
"example."
|
||||
msgstr ""
|
||||
"Les exemples plus réels de réentrance sont susceptibles d'invoquer plusieurs "
|
||||
"fonctions s'entre-appelant, et donc être bien plus compliqués que cet "
|
||||
"exemple."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:800
|
||||
msgid ""
|
||||
|
@ -685,10 +965,14 @@ msgid ""
|
|||
"as it makes a global modification to the system state by binding :data:`sys."
|
||||
"stdout` to a different stream."
|
||||
msgstr ""
|
||||
"Notez aussi qu'être réentrant ne signifie *pas* être *thread safe*. :func:"
|
||||
"`redirect_stdout`, par exemple, n'est définitivement pas *thread safe*, "
|
||||
"puisqu'il effectue des changements globaux sur l'état du système en "
|
||||
"branchant :data:`sys.stdout` sur différents flux."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:809
|
||||
msgid "Reusable context managers"
|
||||
msgstr ""
|
||||
msgstr "Gestionnaires de contexte réutilisables"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:811
|
||||
msgid ""
|
||||
|
@ -699,6 +983,14 @@ msgid ""
|
|||
"will fail (or otherwise not work correctly) if the specific context manager "
|
||||
"instance has already been used in a containing with statement."
|
||||
msgstr ""
|
||||
"D'autres gestionnaires de contexte que ceux à usage unique et les réentrants "
|
||||
"sont les gestionnaires de contexte « réutilisables » (ou, pour être plus "
|
||||
"explicite, « réutilisables mais pas réentrants », puisque les gestionnaires "
|
||||
"de contexte réentrants sont aussi réutilisables). Ces gestionnaires de "
|
||||
"contexte sont conçus afin d'être utilisés plusieurs fois, mais échoueront "
|
||||
"(ou ne fonctionnent pas correctement) si l'instance de gestionnaire de "
|
||||
"contexte référencée a déjà été utilisée dans une instruction *with* "
|
||||
"englobante."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:818
|
||||
msgid ""
|
||||
|
@ -706,6 +998,9 @@ msgid ""
|
|||
"context manager (for a reentrant lock, it is necessary to use :class:"
|
||||
"`threading.RLock` instead)."
|
||||
msgstr ""
|
||||
":class:`threading.Lock` est un exemple de gestionnaire de contexte "
|
||||
"réutilisable mais pas réentrant (pour un verrou réentrant, il faut à la "
|
||||
"place utiliser :class:`threading.RLock`)."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:822
|
||||
msgid ""
|
||||
|
@ -713,6 +1008,10 @@ msgid ""
|
|||
"`ExitStack`, as it invokes *all* currently registered callbacks when leaving "
|
||||
"any with statement, regardless of where those callbacks were added::"
|
||||
msgstr ""
|
||||
"Un autre exemple de gestionnaire de contexte réutilisable mais pas réentrant "
|
||||
"est :class:`ExitStack`, puisqu'il invoque *toutes* les fonctions de rappel "
|
||||
"actuellement enregistrées en quittant l'instruction *with*, sans regarder où "
|
||||
"ces fonctions ont été ajoutées ::"
|
||||
|
||||
#: ../Doc/library/contextlib.rst:853
|
||||
msgid ""
|
||||
|
@ -721,9 +1020,15 @@ msgid ""
|
|||
"cause the stack to be cleared at the end of the innermost with statement, "
|
||||
"which is unlikely to be desirable behaviour."
|
||||
msgstr ""
|
||||
"Comme le montre la sortie de l'exemple, réutiliser une simple pile entre "
|
||||
"plusieurs instructions *with* fonctionne correctement, mais essayer de les "
|
||||
"imbriquer fait que la pile est vidée à la fin du *with* le plus imbriqué, ce "
|
||||
"qui n'est probablement pas le comportement voulu."
|
||||
|
||||
#: ../Doc/library/contextlib.rst:858
|
||||
msgid ""
|
||||
"Using separate :class:`ExitStack` instances instead of reusing a single "
|
||||
"instance avoids that problem::"
|
||||
msgstr ""
|
||||
"Pour éviter ce problème, utilisez des instances différentes de :class:"
|
||||
"`ExitStack` plutôt qu'une seule instance ::"
|
||||
|
|
|
@ -16,7 +16,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/contextvars.rst:2
|
||||
msgid ":mod:`contextvars` --- Context Variables"
|
||||
msgstr ""
|
||||
msgstr ":mod:`contextvars` — Variables de contexte"
|
||||
|
||||
#: ../Doc/library/contextvars.rst:11
|
||||
msgid ""
|
||||
|
@ -26,6 +26,12 @@ msgid ""
|
|||
"the :class:`~contextvars.Context` class should be used to manage the current "
|
||||
"context in asynchronous frameworks."
|
||||
msgstr ""
|
||||
"Ce module fournit des API pour gérer, stocker et accéder à l'état local de "
|
||||
"contexte. La classe :class:`~contextvars.ContextVar` est utilisée pour "
|
||||
"déclarer et travailler avec les *Variables de contexte*. La fonction :func:"
|
||||
"`~contextvars.copy_context` et la classe :class:`~contextvars.Context` "
|
||||
"doivent être utilisées pour la gestion du contexte actuel dans les "
|
||||
"cadriciels asynchrones."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:17
|
||||
msgid ""
|
||||
|
@ -33,23 +39,31 @@ msgid ""
|
|||
"func:`threading.local()` to prevent their state from bleeding to other code "
|
||||
"unexpectedly, when used in concurrent code."
|
||||
msgstr ""
|
||||
"Les gestionnaires de contexte, quand ils ont un état et quand ils sont "
|
||||
"utilisés dans du code s'exécutant de manière concurrente, doivent utiliser "
|
||||
"les variables de contexte au lieu de :func:`threading.local()` pour empêcher "
|
||||
"que leur état ne perturbe un autre fil de manière inattendue."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:21
|
||||
msgid "See also :pep:`567` for additional details."
|
||||
msgstr ""
|
||||
msgstr "Voir aussi :pep:`567` pour plus de détails."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:27
|
||||
msgid "Context Variables"
|
||||
msgstr ""
|
||||
msgstr "Variables de contexte"
|
||||
|
||||
#: ../Doc/library/contextvars.rst:31
|
||||
msgid "This class is used to declare a new Context Variable, e.g.::"
|
||||
msgstr ""
|
||||
"Cette classe est utilisée pour déclarer une nouvelle variable de contexte, "
|
||||
"p. ex. ::"
|
||||
|
||||
#: ../Doc/library/contextvars.rst:35
|
||||
msgid ""
|
||||
"The required *name* parameter is used for introspection and debug purposes."
|
||||
msgstr ""
|
||||
"Le paramètre requis *name* est utilisé à des fins d'introspection et de "
|
||||
"débogage."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:38
|
||||
msgid ""
|
||||
|
@ -57,6 +71,8 @@ msgid ""
|
|||
"`ContextVar.get` when no value for the variable is found in the current "
|
||||
"context."
|
||||
msgstr ""
|
||||
"Le paramètre nommé *default* est renvoyé par :meth:`ContextVar.get` quand "
|
||||
"aucune valeur n'est trouvée dans le contexte actuel pour la variable."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:42
|
||||
msgid ""
|
||||
|
@ -65,57 +81,77 @@ msgid ""
|
|||
"context variables which prevents context variables from being properly "
|
||||
"garbage collected."
|
||||
msgstr ""
|
||||
"**Important :** les variables de contexte doivent être créées au plus haut "
|
||||
"niveau du module et jamais dans des fermetures (*closures*). Les objets :"
|
||||
"class:`Context` maintiennent des références fortes aux variables de contexte "
|
||||
"ce qui empêche que les variables de contexte soient correctement nettoyées "
|
||||
"par le ramasse-miette."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:49
|
||||
msgid "The name of the variable. This is a read-only property."
|
||||
msgstr ""
|
||||
msgstr "Nom de la variable. Cette propriété est en lecture seule."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:55
|
||||
msgid "Return a value for the context variable for the current context."
|
||||
msgstr ""
|
||||
msgstr "Renvoie la valeur de la variable de contexte pour le contexte actuel."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:57
|
||||
msgid ""
|
||||
"If there is no value for the variable in the current context, the method "
|
||||
"will:"
|
||||
msgstr ""
|
||||
"S'il n'y a pas de valeur pour la variable dans le contexte actuel, la "
|
||||
"méthode :"
|
||||
|
||||
#: ../Doc/library/contextvars.rst:60
|
||||
msgid ""
|
||||
"return the value of the *default* argument of the method, if provided; or"
|
||||
msgstr ""
|
||||
"renvoie la valeur de l'argument *default* passé à la méthode, s'il a été "
|
||||
"fourni ;"
|
||||
|
||||
#: ../Doc/library/contextvars.rst:63
|
||||
msgid ""
|
||||
"return the default value for the context variable, if it was created with "
|
||||
"one; or"
|
||||
msgstr ""
|
||||
"ou renvoie la valeur par défaut de la variable de contexte, si elle a été "
|
||||
"créée avec une valeur par défaut ;"
|
||||
|
||||
#: ../Doc/library/contextvars.rst:66
|
||||
msgid "raise a :exc:`LookupError`."
|
||||
msgstr ""
|
||||
msgstr "ou lève une erreur :exc:`LookupError`."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:70
|
||||
msgid ""
|
||||
"Call to set a new value for the context variable in the current context."
|
||||
msgstr ""
|
||||
"Assigne une nouvelle valeur à la variable de contexte dans le contexte "
|
||||
"actuel."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:73
|
||||
msgid ""
|
||||
"The required *value* argument is the new value for the context variable."
|
||||
msgstr ""
|
||||
"L'argument requis *value* est la nouvelle valeur pour la variable de "
|
||||
"contexte."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:76
|
||||
msgid ""
|
||||
"Returns a :class:`~contextvars.Token` object that can be used to restore the "
|
||||
"variable to its previous value via the :meth:`ContextVar.reset` method."
|
||||
msgstr ""
|
||||
"Renvoie un objet :class:`~contextvars.Token` qui peut être utilisé pour "
|
||||
"rétablir la variable à sa valeur précédente par la méthode :meth:`ContextVar."
|
||||
"reset`."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:82
|
||||
msgid ""
|
||||
"Reset the context variable to the value it had before the :meth:`ContextVar."
|
||||
"set` that created the *token* was used."
|
||||
msgstr ""
|
||||
"Réinitialise la variable de contexte à la valeur qu'elle avait avant l'appel "
|
||||
"de :meth:`ContextVar.set` qui a créé le *token*."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:85
|
||||
msgid "For example::"
|
||||
|
@ -127,12 +163,17 @@ msgid ""
|
|||
"be passed to the :meth:`ContextVar.reset` method to revert the value of the "
|
||||
"variable to what it was before the corresponding *set*."
|
||||
msgstr ""
|
||||
"Les objets *Token* sont renvoyés par la méthode :meth:`ContextVar.set`. Ils "
|
||||
"peuvent être passés à la méthode :meth:`ContextVar.reset` pour réaffecter la "
|
||||
"valeur de la variable à ce qu'elle était avant le *set* correspondant."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:106
|
||||
msgid ""
|
||||
"A read-only property. Points to the :class:`ContextVar` object that created "
|
||||
"the token."
|
||||
msgstr ""
|
||||
"Propriété en lecture seule. Pointe vers l'objet :class:`ContextVar` qui a "
|
||||
"créé le token."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:111
|
||||
msgid ""
|
||||
|
@ -140,44 +181,56 @@ msgid ""
|
|||
"`ContextVar.set` method call that created the token. It points to :attr:"
|
||||
"`Token.MISSING` is the variable was not set before the call."
|
||||
msgstr ""
|
||||
"Propriété en lecture seule. Sa valeur est celle que la variable avait avant "
|
||||
"l'appel à la méthode :meth:`ContextVar.set` qui a créé le jeton. Elle pointe "
|
||||
"à :attr:`Token.MISSING` si la variable n'est pas définie avant l'appel."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:118
|
||||
msgid "A marker object used by :attr:`Token.old_value`."
|
||||
msgstr ""
|
||||
msgstr "Objet marqueur utilisé par :attr:`Token.old_value`."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:122
|
||||
msgid "Manual Context Management"
|
||||
msgstr ""
|
||||
msgstr "Gestion de contexte manuelle"
|
||||
|
||||
#: ../Doc/library/contextvars.rst:126
|
||||
msgid "Returns a copy of the current :class:`~contextvars.Context` object."
|
||||
msgstr ""
|
||||
msgstr "Renvoie une copie de l'objet :class:`~contextvars.Context` actuel."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:128
|
||||
msgid ""
|
||||
"The following snippet gets a copy of the current context and prints all "
|
||||
"variables and their values that are set in it::"
|
||||
msgstr ""
|
||||
"Le fragment de code qui suit obtient une copie du contexte actuel et affiche "
|
||||
"toutes les variables avec leurs valeurs définies dans ce contexte."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:134
|
||||
msgid ""
|
||||
"The function has an O(1) complexity, i.e. works equally fast for contexts "
|
||||
"with a few context variables and for contexts that have a lot of them."
|
||||
msgstr ""
|
||||
"La fonction a une complexité O(1), c.-à-d. qu'elle fonctionne aussi "
|
||||
"rapidement pour des contextes avec peu de variables de contexte que pour des "
|
||||
"contextes qui en ont beaucoup."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:141
|
||||
msgid "A mapping of :class:`ContextVars <ContextVar>` to their values."
|
||||
msgstr ""
|
||||
"Tableau associatif entre :class:`ContextVars <ContextVar>` et leurs valeurs."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:143
|
||||
msgid ""
|
||||
"``Context()`` creates an empty context with no values in it. To get a copy "
|
||||
"of the current context use the :func:`~contextvars.copy_context` function."
|
||||
msgstr ""
|
||||
"``Context()`` crée un contexte vide ne contenant aucune valeur. Pour obtenir "
|
||||
"une copie du contexte actuel, utilisez la fonction :func:`~contextvars."
|
||||
"copy_context`."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:147
|
||||
msgid "Context implements the :class:`collections.abc.Mapping` interface."
|
||||
msgstr ""
|
||||
msgstr "*Context* implémente l'interface :class:`collections.abc.Mapping`."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:151
|
||||
msgid ""
|
||||
|
@ -185,66 +238,85 @@ msgid ""
|
|||
"method is called on. Return the result of the execution or propagate an "
|
||||
"exception if one occurred."
|
||||
msgstr ""
|
||||
"Exécute le code ``callable(*args, **kwargs)`` dans le contexte défini par "
|
||||
"l'objet. Renvoie le résultat de l'exécution ou propage une exception s'il y "
|
||||
"en a une qui s'est produite."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:155
|
||||
msgid ""
|
||||
"Any changes to any context variables that *callable* makes will be contained "
|
||||
"in the context object::"
|
||||
msgstr ""
|
||||
"Tout changement apporté aux variables de contexte effectué par *callable* "
|
||||
"sera contenu dans l'objet de contexte ::"
|
||||
|
||||
#: ../Doc/library/contextvars.rst:184
|
||||
msgid ""
|
||||
"The method raises a :exc:`RuntimeError` when called on the same context "
|
||||
"object from more than one OS thread, or when called recursively."
|
||||
msgstr ""
|
||||
"La méthode lève une :exc:`RuntimeError` quand elle est appelée sur le même "
|
||||
"objet de contexte depuis plus qu'un fil d'exécution ou quand elle est "
|
||||
"appelée récursivement."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:190
|
||||
msgid "Return a shallow copy of the context object."
|
||||
msgstr ""
|
||||
msgstr "Renvoie une copie de surface de l'objet de contexte."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:194
|
||||
msgid ""
|
||||
"Return ``True`` if the *context* has a value for *var* set; return ``False`` "
|
||||
"otherwise."
|
||||
msgstr ""
|
||||
"Renvoie ``True`` si le *context* a une valeur pour *var* ; sinon renvoie "
|
||||
"``False``."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:199
|
||||
msgid ""
|
||||
"Return the value of the *var* :class:`ContextVar` variable. If the variable "
|
||||
"is not set in the context object, a :exc:`KeyError` is raised."
|
||||
msgstr ""
|
||||
"Renvoie la valeur de la variable :class:`ContextVar` *var*. Si la variable "
|
||||
"n'est pas définie dans l'objet de contexte, une :exc:`KeyError` est levée."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:205
|
||||
msgid ""
|
||||
"Return the value for *var* if *var* has the value in the context object. "
|
||||
"Return *default* otherwise. If *default* is not given, return ``None``."
|
||||
msgstr ""
|
||||
"Renvoie la valeur de *var* si *var* possède une valeur dans l'objet de "
|
||||
"contexte. Renvoie *default* sinon (ou ``None`` si *default* n'est pas donné)."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:211
|
||||
msgid "Return an iterator over the variables stored in the context object."
|
||||
msgstr ""
|
||||
"Renvoie un itérateur sur les variables stockées dans l'objet de contexte."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:216
|
||||
msgid "Return the number of variables set in the context object."
|
||||
msgstr ""
|
||||
msgstr "Renvoie le nombre de variables définies dans l'objet de contexte."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:220
|
||||
msgid "Return a list of all variables in the context object."
|
||||
msgstr ""
|
||||
msgstr "Renvoie une liste de toutes les variables dans l'objet de contexte."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:224
|
||||
msgid "Return a list of all variables' values in the context object."
|
||||
msgstr ""
|
||||
"Renvoie une liste de toutes les valeurs des variables dans l'objet de "
|
||||
"contexte."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:229
|
||||
msgid ""
|
||||
"Return a list of 2-tuples containing all variables and their values in the "
|
||||
"context object."
|
||||
msgstr ""
|
||||
"Renvoie une liste de paires contenant toutes les variables et leurs valeurs "
|
||||
"dans l'objet de contexte."
|
||||
|
||||
#: ../Doc/library/contextvars.rst:234
|
||||
msgid "asyncio support"
|
||||
msgstr ""
|
||||
msgstr "Gestion avec *asyncio*"
|
||||
|
||||
#: ../Doc/library/contextvars.rst:236
|
||||
msgid ""
|
||||
|
@ -253,3 +325,8 @@ msgid ""
|
|||
"server, that uses a context variable to make the address of a remote client "
|
||||
"available in the Task that handles that client::"
|
||||
msgstr ""
|
||||
":mod:`asyncio` gère nativement les variables de contexte et elles sont "
|
||||
"prêtes à être utilisées sans configuration supplémentaire. Par exemple, "
|
||||
"voici un serveur *echo* simple qui utilise une variable de contexte pour que "
|
||||
"l’adresse d'un client distant soit disponible dans le *Task* qui gère ce "
|
||||
"client ::"
|
||||
|
|
|
@ -77,7 +77,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/csv.rst:41
|
||||
msgid ":pep:`305` - CSV File API"
|
||||
msgstr ":pep:`305` -- Interface des fichiers CSV"
|
||||
msgstr ":pep:`305` — Interface des fichiers CSV"
|
||||
|
||||
#: ../Doc/library/csv.rst:42
|
||||
msgid "The Python Enhancement Proposal which proposed this addition to Python."
|
||||
|
@ -110,10 +110,10 @@ msgid ""
|
|||
msgstr ""
|
||||
"Renvoie un objet lecteur, qui itérera sur les lignes de l'objet *csvfile* "
|
||||
"donné. *csvfile* peut être n'importe quel objet supportant le protocole :"
|
||||
"term:`iterator` et renvoyant une chaîne de caractères chaque fois que sa "
|
||||
"méthode :meth:`!__next__` est appelée --- les :term:`fichiers objets <file "
|
||||
"object>` et les listes sont tous deux valables. Si *csvfile* est un "
|
||||
"fichier, il doit être ouvert avec ``newline=''``. [1]_ Un paramètre "
|
||||
"term:`itérateur <iterator>` et renvoyant une chaîne de caractères chaque "
|
||||
"fois que sa méthode :meth:`!__next__` est appelée — les :term:`fichiers "
|
||||
"objets <file object>` et les listes sont tous deux valables. Si *csvfile* "
|
||||
"est un fichier, il doit être ouvert avec ``newline=''``. [1]_ Un paramètre "
|
||||
"*dialect* optionnel peut être fourni pour définir un ensemble de paramètres "
|
||||
"spécifiques à un dialecte CSV particulier. Il peut s'agir d'une instance de "
|
||||
"sous-classe de :class:`Dialect` ou de l'une des chaînes renvoyées par la "
|
||||
|
@ -139,7 +139,7 @@ msgstr ""
|
|||
#: ../Doc/library/csv.rst:75 ../Doc/library/csv.rst:105
|
||||
#: ../Doc/library/csv.rst:172 ../Doc/library/csv.rst:208
|
||||
msgid "A short usage example::"
|
||||
msgstr "Un court exemple d'utilisation : ::"
|
||||
msgstr "Un court exemple d'utilisation ::"
|
||||
|
||||
#: ../Doc/library/csv.rst:88
|
||||
msgid ""
|
||||
|
@ -293,7 +293,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Crée un objet qui opère comme un transcripteur ordinaire mais qui produit "
|
||||
"les lignes de sortie depuis des dictionnaires. Le paramètre *fieldnames* "
|
||||
"est une :mod:`sequence <collections.abc>` de clés qui indique l'ordre dans "
|
||||
"est une :mod:`séquence <collections.abc>` de clés qui indique l'ordre dans "
|
||||
"lequel les valeurs du dictionnaire passé à la méthode :meth:`writerow` "
|
||||
"doivent être écrites vers le fichier *f*. Le paramètre optionnel *restval* "
|
||||
"spécifie la valeur à écrire si une clé de *fieldnames* manque dans le "
|
||||
|
@ -382,7 +382,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/csv.rst:269
|
||||
msgid "An example for :class:`Sniffer` use::"
|
||||
msgstr "Un exemple d'utilisation de :class:`Sniffer` : ::"
|
||||
msgstr "Un exemple d'utilisation de :class:`Sniffer` ::"
|
||||
|
||||
#: ../Doc/library/csv.rst:278
|
||||
msgid "The :mod:`csv` module defines the following constants:"
|
||||
|
@ -698,15 +698,15 @@ msgstr "Exemples"
|
|||
|
||||
#: ../Doc/library/csv.rst:480
|
||||
msgid "The simplest example of reading a CSV file::"
|
||||
msgstr "Le plus simple exemple de lecture d'un fichier CSV : ::"
|
||||
msgstr "Le plus simple exemple de lecture d'un fichier CSV ::"
|
||||
|
||||
#: ../Doc/library/csv.rst:488
|
||||
msgid "Reading a file with an alternate format::"
|
||||
msgstr "Lire un fichier avec un format alternatif : ::"
|
||||
msgstr "Lire un fichier avec un format alternatif ::"
|
||||
|
||||
#: ../Doc/library/csv.rst:496
|
||||
msgid "The corresponding simplest possible writing example is::"
|
||||
msgstr "Le plus simple exemple d'écriture correspondant est : ::"
|
||||
msgstr "Le plus simple exemple d'écriture correspondant est ::"
|
||||
|
||||
#: ../Doc/library/csv.rst:503
|
||||
msgid ""
|
||||
|
@ -719,7 +719,7 @@ msgstr ""
|
|||
"fichier sera par défaut décodé vers Unicode en utilisant l'encodage par "
|
||||
"défaut (voir :func:`locale.getpreferredencoding`). Pour décoder un fichier "
|
||||
"utilisant un encodage différent, utilisez l'argument ``encoding`` de "
|
||||
"*open* : ::"
|
||||
"*open* ::"
|
||||
|
||||
#: ../Doc/library/csv.rst:514
|
||||
msgid ""
|
||||
|
@ -732,7 +732,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/csv.rst:517
|
||||
msgid "Registering a new dialect::"
|
||||
msgstr "Enregistrer un nouveau dialecte : ::"
|
||||
msgstr "Enregistrer un nouveau dialecte ::"
|
||||
|
||||
#: ../Doc/library/csv.rst:524
|
||||
msgid ""
|
||||
|
@ -740,7 +740,7 @@ msgid ""
|
|||
"errors::"
|
||||
msgstr ""
|
||||
"Un exemple d'utilisation un peu plus avancé du lecteur --- attrapant et "
|
||||
"notifiant les erreurs : ::"
|
||||
"notifiant les erreurs ::"
|
||||
|
||||
#: ../Doc/library/csv.rst:536
|
||||
msgid ""
|
||||
|
@ -748,7 +748,7 @@ msgid ""
|
|||
"be done::"
|
||||
msgstr ""
|
||||
"Et bien que le module ne permette pas d'analyser directement des chaînes, "
|
||||
"cela peut être fait facilement : ::"
|
||||
"cela peut être fait facilement ::"
|
||||
|
||||
#: ../Doc/library/csv.rst:545
|
||||
msgid "Footnotes"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1636,7 +1636,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/curses.rst:1364
|
||||
msgid "Key"
|
||||
msgstr ""
|
||||
msgstr "Clé"
|
||||
|
||||
#: ../Doc/library/curses.rst:1366
|
||||
msgid "``KEY_MIN``"
|
||||
|
@ -1948,7 +1948,7 @@ msgstr "``KEY_CLOSE``"
|
|||
|
||||
#: ../Doc/library/curses.rst:1443
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
msgstr "*Close*"
|
||||
|
||||
#: ../Doc/library/curses.rst:1445
|
||||
msgid "``KEY_COMMAND``"
|
||||
|
@ -1964,7 +1964,7 @@ msgstr "``KEY_COPY``"
|
|||
|
||||
#: ../Doc/library/curses.rst:1447
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "*Copy*"
|
||||
|
||||
#: ../Doc/library/curses.rst:1449
|
||||
msgid "``KEY_CREATE``"
|
||||
|
@ -1988,7 +1988,7 @@ msgstr "``KEY_EXIT``"
|
|||
|
||||
#: ../Doc/library/curses.rst:1453
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
msgstr "*Exit*"
|
||||
|
||||
#: ../Doc/library/curses.rst:1455
|
||||
msgid "``KEY_FIND``"
|
||||
|
@ -2068,7 +2068,7 @@ msgstr "``KEY_REDO``"
|
|||
|
||||
#: ../Doc/library/curses.rst:1473
|
||||
msgid "Redo"
|
||||
msgstr ""
|
||||
msgstr "*Redo*"
|
||||
|
||||
#: ../Doc/library/curses.rst:1475
|
||||
msgid "``KEY_REFERENCE``"
|
||||
|
@ -2116,7 +2116,7 @@ msgstr "``KEY_SAVE``"
|
|||
|
||||
#: ../Doc/library/curses.rst:1485
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
msgstr "*Save*"
|
||||
|
||||
#: ../Doc/library/curses.rst:1487
|
||||
msgid "``KEY_SBEG``"
|
||||
|
@ -2364,7 +2364,7 @@ msgstr "``KEY_UNDO``"
|
|||
|
||||
#: ../Doc/library/curses.rst:1547
|
||||
msgid "Undo"
|
||||
msgstr ""
|
||||
msgstr "*Undo*"
|
||||
|
||||
#: ../Doc/library/curses.rst:1549
|
||||
msgid "``KEY_MOUSE``"
|
||||
|
@ -2964,7 +2964,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/curses.rst:1768
|
||||
msgid "Action"
|
||||
msgstr ""
|
||||
msgstr "Action"
|
||||
|
||||
#: ../Doc/library/curses.rst:1770
|
||||
msgid ":kbd:`Control-A`"
|
||||
|
|
|
@ -41,12 +41,12 @@ msgid ""
|
|||
"pep:`526` type annotations. For example this code::"
|
||||
msgstr ""
|
||||
"Les variables membres à utiliser dans ces méthodes générées sont définies en "
|
||||
"utilisant les annotations de type :pep:`526`. Par exemple, ce code ::"
|
||||
"utilisant les annotations de type :pep:`526`. Par exemple, ce code ::"
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:32
|
||||
msgid "Will add, among other things, a :meth:`__init__` that looks like::"
|
||||
msgstr ""
|
||||
"Ajoute, entre autres choses, une méthode :meth:`__init__` qui ressemble à ::"
|
||||
"Ajoute, entre autres choses, une méthode :meth:`__init__` qui ressemble à ::"
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:39
|
||||
msgid ""
|
||||
|
@ -113,7 +113,7 @@ msgstr ""
|
|||
"Si :func:`dataclass` est utilisé comme simple décorateur sans paramètres, il "
|
||||
"se comporte comme si on l’avait appelé avec les valeurs par défaut présentes "
|
||||
"en signature. Ainsi, les trois usages suivants de :func:`dataclass` sont "
|
||||
"équivalents ::"
|
||||
"équivalents ::"
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:84
|
||||
msgid "The parameters to :func:`dataclass` are:"
|
||||
|
@ -303,7 +303,7 @@ msgid ""
|
|||
"syntax::"
|
||||
msgstr ""
|
||||
"Les ``field``\\s peuvent éventuellement spécifier une valeur par défaut, en "
|
||||
"utilisant la syntaxe Python normale ::"
|
||||
"utilisant la syntaxe Python normale ::"
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:170
|
||||
msgid ""
|
||||
|
@ -311,7 +311,7 @@ msgid ""
|
|||
"`__init__` method, which will be defined as::"
|
||||
msgstr ""
|
||||
"Dans cet exemple, ``a`` et ``b`` sont tous deux inclus dans la signature de "
|
||||
"la méthode générée :meth:`__init__`, qui est définie comme suit ::"
|
||||
"la méthode générée :meth:`__init__`, qui est définie comme suit ::"
|
||||
|
||||
#: ../Doc/library/dataclasses.rst:175
|
||||
msgid ""
|
||||
|
|
|
@ -1332,7 +1332,7 @@ msgstr ""
|
|||
msgid "To get an aware :class:`.datetime` object, call :meth:`fromtimestamp`::"
|
||||
msgstr ""
|
||||
"Pour obtenir un objet :class:`.datetime` avisé, appelez :meth:"
|
||||
"`fromtimestamp` : ::"
|
||||
"`fromtimestamp` ::"
|
||||
|
||||
#: ../Doc/library/datetime.rst:801
|
||||
msgid ""
|
||||
|
@ -1340,7 +1340,7 @@ msgid ""
|
|||
"expression::"
|
||||
msgstr ""
|
||||
"Sur les plateformes respectant *POSIX*, cela est équivalent à l'expression "
|
||||
"suivante : ::"
|
||||
"suivante ::"
|
||||
|
||||
#: ../Doc/library/datetime.rst:806
|
||||
msgid ""
|
||||
|
@ -1784,7 +1784,7 @@ msgstr ""
|
|||
"Notez que la méthode par défaut :meth:`tzinfo.fromutc` peut être redéfinie "
|
||||
"dans une sous-classe :class:`tzinfo` pour affecter le résultat renvoyé par :"
|
||||
"meth:`astimezone`. En ignorant les cas d'erreurs, :meth:`astimezone` se "
|
||||
"comporte comme : ::"
|
||||
"comporte comme ::"
|
||||
|
||||
#: ../Doc/library/datetime.rst:1094
|
||||
msgid "*tz* now can be omitted."
|
||||
|
@ -1927,7 +1927,7 @@ msgid ""
|
|||
"For aware :class:`.datetime` instances, the return value is computed as::"
|
||||
msgstr ""
|
||||
"Pour les instances :class:`.datetime` avisées, la valeur renvoyée est "
|
||||
"calculée comme suit : ::"
|
||||
"calculée comme suit ::"
|
||||
|
||||
#: ../Doc/library/datetime.rst:1181
|
||||
msgid ""
|
||||
|
@ -1952,7 +1952,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/datetime.rst:1195
|
||||
msgid "or by calculating the timestamp directly::"
|
||||
msgstr "ou en calculant l'horodatage (*timestamp* en anglais) directement : ::"
|
||||
msgstr "ou en calculant l'horodatage (*timestamp* en anglais) directement ::"
|
||||
|
||||
#: ../Doc/library/datetime.rst:1201
|
||||
msgid ""
|
||||
|
@ -2542,7 +2542,7 @@ msgid ""
|
|||
"two::"
|
||||
msgstr ""
|
||||
"La plupart des implémentations de :meth:`dst` ressembleront probablement à "
|
||||
"l'une des deux suivantes : ::"
|
||||
"l'une des deux suivantes ::"
|
||||
|
||||
#: ../Doc/library/datetime.rst:1766
|
||||
msgid "or ::"
|
||||
|
@ -2690,7 +2690,7 @@ msgid ""
|
|||
"acts like::"
|
||||
msgstr ""
|
||||
"En omettant le code des cas d'erreurs, l'implémentation par défaut de :meth:"
|
||||
"`fromutc` se comporte comme suit : ::"
|
||||
"`fromutc` se comporte comme suit ::"
|
||||
|
||||
#: ../Doc/library/datetime.rst:1857
|
||||
msgid ""
|
||||
|
|
|
@ -511,7 +511,7 @@ msgstr ""
|
|||
"Il existe quelques différences mineures entre l'arithmétique entre les "
|
||||
"objets décimaux et l'arithmétique avec les entiers et les ``float``. Quand "
|
||||
"l'opérateur modulo ``%`` est appliqué sur des objets décimaux, le signe du "
|
||||
"résultat est le signe du *dividend* plutôt que le signe du diviseur::"
|
||||
"résultat est le signe du *dividend* plutôt que le signe du diviseur ::"
|
||||
|
||||
#: ../Doc/library/decimal.rst:423
|
||||
msgid ""
|
||||
|
@ -521,7 +521,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"L'opérateur division entière, ``//`` se comporte de la même manière, "
|
||||
"retournant la partie entière du quotient, plutôt que son arrondi, de manière "
|
||||
"à préserver l'identité d'Euclide ``x == (x // y) * y + x % y``::"
|
||||
"à préserver l'identité d'Euclide ``x == (x // y) * y + x % y`` ::"
|
||||
|
||||
#: ../Doc/library/decimal.rst:432
|
||||
msgid ""
|
||||
|
|
|
@ -16,7 +16,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/difflib.rst:2
|
||||
msgid ":mod:`difflib` --- Helpers for computing deltas"
|
||||
msgstr ""
|
||||
msgstr ":mod:`difflib` — Utilitaires pour le calcul des deltas"
|
||||
|
||||
#: ../Doc/library/difflib.rst:11
|
||||
msgid "**Source code:** :source:`Lib/difflib.py`"
|
||||
|
@ -46,6 +46,20 @@ msgid ""
|
|||
"minimal edit sequences, but does tend to yield matches that \"look right\" "
|
||||
"to people."
|
||||
msgstr ""
|
||||
"C'est une classe flexible permettant de comparer des séquences deux à deux "
|
||||
"de n'importe quel type, tant que les éléments des séquences sont :term:"
|
||||
"`hachables <hashable>`. L'algorithme de base est antérieur, et un peu plus "
|
||||
"sophistiqué, à un algorithme publié à la fin des années 1980 par Ratcliff et "
|
||||
"Obershelp sous le nom hyperbolique de *gestalt pattern matching*. L'idée est "
|
||||
"de trouver la plus longue sous-séquence d'appariement contiguë qui ne "
|
||||
"contient pas d'éléments « indésirables » ; ces éléments « indésirables » "
|
||||
"sont ceux qui sont inintéressants dans un certain sens, comme les lignes "
|
||||
"blanches ou les espaces. (Le traitement des éléments indésirables est une "
|
||||
"extension de l'algorithme de Ratcliff et Obershelp). La même idée est "
|
||||
"ensuite appliquée récursivement aux morceaux des séquences à gauche et à "
|
||||
"droite de la sous-séquence correspondante. Cela ne donne pas des séquences "
|
||||
"de montage minimales, mais tend à donner des correspondances qui « semblent "
|
||||
"correctes » pour les gens."
|
||||
|
||||
#: ../Doc/library/difflib.rst:40
|
||||
msgid ""
|
||||
|
@ -55,6 +69,12 @@ msgid ""
|
|||
"dependent in a complicated way on how many elements the sequences have in "
|
||||
"common; best case time is linear."
|
||||
msgstr ""
|
||||
"**Compléxité temporelle :** l'algorithme de base de Ratcliff-Obershelp est "
|
||||
"de complexité cubique dans le pire cas et de complexité quadratique dans le "
|
||||
"cas attendu. :class:`SequenceMatcher` est de complexité quadratique pour le "
|
||||
"pire cas et son comportement dans le cas attendu dépend de façon complexe du "
|
||||
"nombre d'éléments que les séquences ont en commun ; le temps dans le "
|
||||
"meilleur cas est linéaire."
|
||||
|
||||
#: ../Doc/library/difflib.rst:46
|
||||
msgid ""
|
||||
|
@ -67,10 +87,20 @@ msgid ""
|
|||
"This heuristic can be turned off by setting the ``autojunk`` argument to "
|
||||
"``False`` when creating the :class:`SequenceMatcher`."
|
||||
msgstr ""
|
||||
"**Heuristique automatique des indésirables:** :class:`SequenceMatcher` "
|
||||
"utilise une heuristique qui traite automatiquement certains éléments de la "
|
||||
"séquence comme indésirables. L'heuristique compte combien de fois chaque "
|
||||
"élément individuel apparaît dans la séquence. Si les doublons d'un élément "
|
||||
"(après le premier) représentent plus de 1 % de la séquence et que la "
|
||||
"séquence compte au moins 200 éléments, cet élément est marqué comme "
|
||||
"« populaire » et est traité comme indésirable aux fins de la comparaison des "
|
||||
"séquences. Cette heuristique peut être désactivée en réglant l'argument "
|
||||
"``autojunk`` sur ``False`` lors de la création de la classe :class:"
|
||||
"`SequenceMatcher`."
|
||||
|
||||
#: ../Doc/library/difflib.rst:54 ../Doc/library/difflib.rst:383
|
||||
msgid "The *autojunk* parameter."
|
||||
msgstr ""
|
||||
msgstr "Le paramètre *autojunk*."
|
||||
|
||||
#: ../Doc/library/difflib.rst:60
|
||||
msgid ""
|
||||
|
@ -79,10 +109,17 @@ msgid ""
|
|||
"both to compare sequences of lines, and to compare sequences of characters "
|
||||
"within similar (near-matching) lines."
|
||||
msgstr ""
|
||||
"Il s'agit d'une classe permettant de comparer des séquences de lignes de "
|
||||
"texte et de produire des différences ou deltas humainement lisibles. "
|
||||
"*Differ* utilise :class:`SequenceMatcher` à la fois pour comparer des "
|
||||
"séquences de lignes, et pour comparer des séquences de caractères dans des "
|
||||
"lignes similaires (quasi-correspondantes)."
|
||||
|
||||
#: ../Doc/library/difflib.rst:65
|
||||
msgid "Each line of a :class:`Differ` delta begins with a two-letter code:"
|
||||
msgstr ""
|
||||
"Chaque ligne d'un delta :class:`Differ` commence par un code de deux "
|
||||
"lettres :"
|
||||
|
||||
#: ../Doc/library/difflib.rst:68
|
||||
msgid "Code"
|
||||
|
@ -98,7 +135,7 @@ msgstr "``'- '``"
|
|||
|
||||
#: ../Doc/library/difflib.rst:70
|
||||
msgid "line unique to sequence 1"
|
||||
msgstr ""
|
||||
msgstr "ligne n'appartenant qu'à la séquence 1"
|
||||
|
||||
#: ../Doc/library/difflib.rst:72
|
||||
msgid "``'+ '``"
|
||||
|
@ -106,7 +143,7 @@ msgstr "``'+ '``"
|
|||
|
||||
#: ../Doc/library/difflib.rst:72
|
||||
msgid "line unique to sequence 2"
|
||||
msgstr ""
|
||||
msgstr "ligne n'appartenant qu'à la séquence 2"
|
||||
|
||||
#: ../Doc/library/difflib.rst:74
|
||||
msgid "``' '``"
|
||||
|
@ -114,7 +151,7 @@ msgstr "``' '``"
|
|||
|
||||
#: ../Doc/library/difflib.rst:74
|
||||
msgid "line common to both sequences"
|
||||
msgstr ""
|
||||
msgstr "ligne commune aux deux séquences"
|
||||
|
||||
#: ../Doc/library/difflib.rst:76
|
||||
msgid "``'? '``"
|
||||
|
@ -122,7 +159,7 @@ msgstr "``'? '``"
|
|||
|
||||
#: ../Doc/library/difflib.rst:76
|
||||
msgid "line not present in either input sequence"
|
||||
msgstr ""
|
||||
msgstr "ligne non présente dans l'une ou l'autre des séquences d'entrée"
|
||||
|
||||
#: ../Doc/library/difflib.rst:79
|
||||
msgid ""
|
||||
|
@ -130,6 +167,10 @@ msgid ""
|
|||
"differences, and were not present in either input sequence. These lines can "
|
||||
"be confusing if the sequences contain tab characters."
|
||||
msgstr ""
|
||||
"Les lignes commençant par ``'?'`` tentent de guider l'œil vers les "
|
||||
"différences intralignes, et n'étaient présentes dans aucune des séquences "
|
||||
"d'entrée. Ces lignes peuvent être déroutantes si les séquences contiennent "
|
||||
"des caractères de tabulation."
|
||||
|
||||
#: ../Doc/library/difflib.rst:86
|
||||
msgid ""
|
||||
|
@ -138,26 +179,35 @@ msgid ""
|
|||
"text with inter-line and intra-line change highlights. The table can be "
|
||||
"generated in either full or contextual difference mode."
|
||||
msgstr ""
|
||||
"Cette classe peut être utilisée pour créer un tableau HTML (ou un fichier "
|
||||
"HTML complet contenant le tableau) montrant une comparaison côte à côte, "
|
||||
"ligne par ligne, du texte avec les changements inter-lignes et intralignes. "
|
||||
"Le tableau peut être généré en mode de différence complet ou contextuel."
|
||||
|
||||
#: ../Doc/library/difflib.rst:91
|
||||
msgid "The constructor for this class is:"
|
||||
msgstr ""
|
||||
msgstr "Le constructeur pour cette classe est :"
|
||||
|
||||
#: ../Doc/library/difflib.rst:96
|
||||
msgid "Initializes instance of :class:`HtmlDiff`."
|
||||
msgstr ""
|
||||
msgstr "Initialise l'instance de :class:`HtmlDiff`."
|
||||
|
||||
#: ../Doc/library/difflib.rst:98
|
||||
msgid ""
|
||||
"*tabsize* is an optional keyword argument to specify tab stop spacing and "
|
||||
"defaults to ``8``."
|
||||
msgstr ""
|
||||
"*tabsize* est un mot-clé optionnel pour spécifier l'espacement des "
|
||||
"tabulations et sa valeur par défaut est ``8``."
|
||||
|
||||
#: ../Doc/library/difflib.rst:101
|
||||
msgid ""
|
||||
"*wrapcolumn* is an optional keyword to specify column number where lines are "
|
||||
"broken and wrapped, defaults to ``None`` where lines are not wrapped."
|
||||
msgstr ""
|
||||
"*wrapcolumn* est un mot-clé optionnel pour spécifier le numéro de la colonne "
|
||||
"où les lignes sont coupées pour être ré-agencées, la valeur par défaut est "
|
||||
"``None`` lorsque les lignes ne sont pas ré-agencées."
|
||||
|
||||
#: ../Doc/library/difflib.rst:104
|
||||
msgid ""
|
||||
|
@ -166,10 +216,14 @@ msgid ""
|
|||
"differences). See :func:`ndiff` documentation for argument default values "
|
||||
"and descriptions."
|
||||
msgstr ""
|
||||
"*linejunk* et *charjunk* sont des arguments de mots-clés optionnels passés "
|
||||
"dans :func:`ndiff` (utilisés par :class:`HtmlDiff` pour générer les "
|
||||
"différences HTML côte à côte). Voir la documentation de :func:`ndiff` pour "
|
||||
"les valeurs par défaut des arguments et les descriptions."
|
||||
|
||||
#: ../Doc/library/difflib.rst:108
|
||||
msgid "The following methods are public:"
|
||||
msgstr ""
|
||||
msgstr "Les méthodes suivantes sont publiques :"
|
||||
|
||||
#: ../Doc/library/difflib.rst:113
|
||||
msgid ""
|
||||
|
@ -177,12 +231,19 @@ msgid ""
|
|||
"which is a complete HTML file containing a table showing line by line "
|
||||
"differences with inter-line and intra-line changes highlighted."
|
||||
msgstr ""
|
||||
"Compare *fromlines* et *tolines* (listes de chaînes de caractères) et "
|
||||
"renvoie une chaîne de caractères qui est un fichier HTML complet contenant "
|
||||
"un tableau montrant les différences ligne par ligne avec les changements "
|
||||
"inter-lignes et intralignes mis en évidence."
|
||||
|
||||
#: ../Doc/library/difflib.rst:117
|
||||
msgid ""
|
||||
"*fromdesc* and *todesc* are optional keyword arguments to specify from/to "
|
||||
"file column header strings (both default to an empty string)."
|
||||
msgstr ""
|
||||
"*fromdesc* et *todesc* sont des arguments mot-clé optionnels pour spécifier "
|
||||
"les chaînes d'en-tête des colonnes *from/to* du fichier (les deux sont des "
|
||||
"chaînes vides par défaut)."
|
||||
|
||||
#: ../Doc/library/difflib.rst:120
|
||||
msgid ""
|
||||
|
@ -196,12 +257,25 @@ msgid ""
|
|||
"hyperlinks to place the next difference highlight at the top of the browser "
|
||||
"without any leading context)."
|
||||
msgstr ""
|
||||
"*context* et *numlines* sont tous deux des arguments mots-clés facultatifs. "
|
||||
"Mettre *context* à ``True`` lorsque les différences contextuelles doivent "
|
||||
"être affichées, sinon la valeur par défaut est ``False`` pour afficher les "
|
||||
"fichiers complets. Les *numlines* ont pour valeur par défaut ``5``. Lorsque "
|
||||
"*context* est `True``, *numlines* contrôle le nombre de lignes de contexte "
|
||||
"qui entourent les différences mise en évidence. Lorsque *context* est "
|
||||
"``False``, *numlines* contrôle le nombre de lignes qui sont affichées avant "
|
||||
"un surlignage de différence lors de l'utilisation des hyperliens "
|
||||
"« suivants » (un réglage à zéro ferait en sorte que les hyperliens "
|
||||
"« suivants » placeraient le surlignage de différence suivant en haut du "
|
||||
"navigateur sans aucun contexte introductif)."
|
||||
|
||||
#: ../Doc/library/difflib.rst:130
|
||||
msgid ""
|
||||
"*charset* keyword-only argument was added. The default charset of HTML "
|
||||
"document changed from ``'ISO-8859-1'`` to ``'utf-8'``."
|
||||
msgstr ""
|
||||
"l'argument mot-clé *charset* a été ajouté. Le jeu de caractères par défaut "
|
||||
"du document HTML est passé de ``'ISO-8859-1'`` à ``'utf-8'``."
|
||||
|
||||
#: ../Doc/library/difflib.rst:136
|
||||
msgid ""
|
||||
|
@ -209,24 +283,34 @@ msgid ""
|
|||
"which is a complete HTML table showing line by line differences with inter-"
|
||||
"line and intra-line changes highlighted."
|
||||
msgstr ""
|
||||
"Compare *fromlines* et *tolines* (listes de chaînes) et renvoie une chaîne "
|
||||
"qui est un tableau HTML complet montrant les différences ligne par ligne "
|
||||
"avec les changements inter-lignes et intralignes mis en évidence."
|
||||
|
||||
#: ../Doc/library/difflib.rst:140
|
||||
msgid ""
|
||||
"The arguments for this method are the same as those for the :meth:"
|
||||
"`make_file` method."
|
||||
msgstr ""
|
||||
"Les arguments pour cette méthode sont les mêmes que ceux de la méthode :meth:"
|
||||
"`make_file`."
|
||||
|
||||
#: ../Doc/library/difflib.rst:143
|
||||
msgid ""
|
||||
":file:`Tools/scripts/diff.py` is a command-line front-end to this class and "
|
||||
"contains a good example of its use."
|
||||
msgstr ""
|
||||
":file:`Tools/scripts/diff.py` est un frontal en ligne de commande de cette "
|
||||
"classe et contient un bon exemple de son utilisation."
|
||||
|
||||
#: ../Doc/library/difflib.rst:149
|
||||
msgid ""
|
||||
"Compare *a* and *b* (lists of strings); return a delta (a :term:`generator` "
|
||||
"generating the delta lines) in context diff format."
|
||||
msgstr ""
|
||||
"Compare *a* et *b* (listes de chaînes de caractères) ; renvoie un delta (un :"
|
||||
"term:`generateur <generator>` générant les lignes delta) dans un format de "
|
||||
"différence de contexte."
|
||||
|
||||
#: ../Doc/library/difflib.rst:152
|
||||
msgid ""
|
||||
|
@ -243,12 +327,20 @@ msgid ""
|
|||
"with :func:`io.IOBase.writelines` since both the inputs and outputs have "
|
||||
"trailing newlines."
|
||||
msgstr ""
|
||||
"Par défaut, les lignes de contrôle de la différence (celles avec ``***`` ou "
|
||||
"``---``) sont créées avec un saut de ligne à la fin. Ceci est utile pour que "
|
||||
"les entrées créées à partir de :func:`io.IOBase.readlines` résultent en des "
|
||||
"différences qui peuvent être utilisées avec :func:`io.IOBase.writelines` "
|
||||
"puisque les entrées et les sorties ont des nouvelles lignes de fin."
|
||||
|
||||
#: ../Doc/library/difflib.rst:162 ../Doc/library/difflib.rst:293
|
||||
msgid ""
|
||||
"For inputs that do not have trailing newlines, set the *lineterm* argument "
|
||||
"to ``\"\"`` so that the output will be uniformly newline free."
|
||||
msgstr ""
|
||||
"Pour les entrées qui n'ont pas de retour à la ligne, mettre l'argument "
|
||||
"*lineterm* à ``\"\"`` afin que la sortie soit uniformément sans retour à la "
|
||||
"ligne."
|
||||
|
||||
#: ../Doc/library/difflib.rst:165 ../Doc/library/difflib.rst:296
|
||||
msgid ""
|
||||
|
@ -258,10 +350,18 @@ msgid ""
|
|||
"normally expressed in the ISO 8601 format. If not specified, the strings "
|
||||
"default to blanks."
|
||||
msgstr ""
|
||||
"Le format de contexte de différence comporte normalement un en-tête pour les "
|
||||
"noms de fichiers et les heures de modification. Tout ou partie de ces "
|
||||
"éléments peuvent être spécifiés en utilisant les chaînes de caractères "
|
||||
"*fromfile*, *tofile*, *fromfiledate* et *tofiledate*. Les heures de "
|
||||
"modification sont normalement exprimées dans le format ISO 8601. Si elles ne "
|
||||
"sont pas spécifiées, les chaînes de caractères sont par défaut vierges."
|
||||
|
||||
#: ../Doc/library/difflib.rst:188 ../Doc/library/difflib.rst:317
|
||||
msgid "See :ref:`difflib-interface` for a more detailed example."
|
||||
msgstr ""
|
||||
"Voir :ref:`une interface de ligne de commandes pour difflib <difflib-"
|
||||
"interface>` pour un exemple plus détaillé."
|
||||
|
||||
#: ../Doc/library/difflib.rst:193
|
||||
msgid ""
|
||||
|
|
|
@ -7,12 +7,12 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-12 18:59+0200\n"
|
||||
"PO-Revision-Date: 2019-07-18 21:03+0200\n"
|
||||
"Last-Translator: Aya Keddam <aya.keddam@etu.sorbonne-universite.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"
|
||||
"Last-Translator: Aya Keddam <aya.keddam@etu.sorbonne-universite.fr>\n"
|
||||
"X-Generator: Poedit 2.2.1\n"
|
||||
|
||||
#: ../Doc/library/dis.rst:2
|
||||
|
|
|
@ -16,17 +16,19 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/email.errors.rst:2
|
||||
msgid ":mod:`email.errors`: Exception and Defect classes"
|
||||
msgstr ""
|
||||
msgstr ":mod:`email.errors` : exceptions et classes pour les anomalies"
|
||||
|
||||
#: ../Doc/library/email.errors.rst:7
|
||||
msgid "**Source code:** :source:`Lib/email/errors.py`"
|
||||
msgstr ""
|
||||
msgstr "**Code source :** :source:`Lib/email/errors.py`"
|
||||
|
||||
#: ../Doc/library/email.errors.rst:11
|
||||
msgid ""
|
||||
"The following exception classes are defined in the :mod:`email.errors` "
|
||||
"module:"
|
||||
msgstr ""
|
||||
"Les classes d'exception suivantes sont définies dans le module :mod:`email."
|
||||
"errors` :"
|
||||
|
||||
#: ../Doc/library/email.errors.rst:16
|
||||
msgid ""
|
||||
|
@ -34,6 +36,9 @@ msgid ""
|
|||
"raise. It is derived from the standard :exc:`Exception` class and defines "
|
||||
"no additional methods."
|
||||
msgstr ""
|
||||
"Exception de base, dont héritent toutes les exceptions du paquet :mod:"
|
||||
"`email`. Cette classe hérite de la classe native :exc:`Exception` et ne "
|
||||
"définit aucune méthode additionnelle."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:23
|
||||
msgid ""
|
||||
|
@ -41,6 +46,9 @@ msgid ""
|
|||
"Parser` class. It is derived from :exc:`MessageError`. This class is also "
|
||||
"used internally by the parser used by :mod:`~email.headerregistry`."
|
||||
msgstr ""
|
||||
"Exception de base pour les exceptions levées par la classe :class:`~email."
|
||||
"parser.Parser`. Elle hérite de :exc:`MessageError`. Cette classe est aussi "
|
||||
"utilisée en interne par l'analyseur de :mod:`~email.headerregistry`."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:31
|
||||
msgid ""
|
||||
|
@ -53,10 +61,19 @@ msgid ""
|
|||
"header (that is, there is what is supposed to be a continuation line that "
|
||||
"has no leading whitespace and looks like a header)."
|
||||
msgstr ""
|
||||
"Cette exception, dérivée de :exc:`MessageParseError`, est levée sous "
|
||||
"différentes conditions lors de l'analyse des en-têtes :rfc:`5322` du "
|
||||
"message. Lorsque la méthode :meth:`~email.message.EmailMessage."
|
||||
"set_boundary` est invoquée, elle lève cette erreur si le type du contenu est "
|
||||
"inconnu. La classe :class:`~email.header.Header` lève cette exception pour "
|
||||
"certains types d'erreurs provenant du décodage base64. Elle la lève aussi "
|
||||
"quand un en-tête est créé et qu'il semble contenir un en-tête imbriqué, "
|
||||
"c'est-à-dire que la ligne qui suit ressemble à un en-tête et ne commence pas "
|
||||
"par des caractères d'espacement."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:43
|
||||
msgid "Deprecated and no longer used."
|
||||
msgstr ""
|
||||
msgstr "Obsolète, n'est plus utilisé."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:48
|
||||
msgid ""
|
||||
|
@ -66,6 +83,12 @@ msgid ""
|
|||
"`multipart` or missing. :exc:`MultipartConversionError` multiply inherits "
|
||||
"from :exc:`MessageError` and the built-in :exc:`TypeError`."
|
||||
msgstr ""
|
||||
"Cette exception est levée quand le contenu, que la méthode :meth:"
|
||||
"`add_payload` essaie d'ajouter à l'objet :class:`~email.message.Message`, "
|
||||
"est déjà un scalaire et que le type principal du message :mailheader:"
|
||||
"`Content-Type` est manquant ou différent de :mimetype:`multipart`. :exc:"
|
||||
"`MultipartConversionError` hérite à la fois de :exc:`MessageError` et de :"
|
||||
"exc:`TypeError`."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:54
|
||||
msgid ""
|
||||
|
@ -75,6 +98,11 @@ msgid ""
|
|||
"derived from :class:`~email.mime.nonmultipart.MIMENonMultipart` (e.g. :class:"
|
||||
"`~email.mime.image.MIMEImage`)."
|
||||
msgstr ""
|
||||
"Comme la méthode :meth:`Message.add_payload` est obsolète, cette exception "
|
||||
"est rarement utilisée. Néanmoins, elle peut être levée si la méthode :meth:"
|
||||
"`~email.message.Message.attach` est invoquée sur une instance de classe "
|
||||
"dérivée de :class:`~email.mime.nonmultipart.MIMENonMultipart` (p. ex. :class:"
|
||||
"`~email.mime.image.MIMEImage`)."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:62
|
||||
msgid ""
|
||||
|
@ -85,41 +113,60 @@ msgid ""
|
|||
"nested message object would have a defect, but the containing messages would "
|
||||
"not."
|
||||
msgstr ""
|
||||
"Voici la liste des anomalies que peut identifier :class:`~email.parser."
|
||||
"FeedParser` pendant l'analyse des messages. Notez que les anomalies sont "
|
||||
"signalées à l'endroit où elles sont détectées : par exemple, dans le cas "
|
||||
"d'une malformation de l'en-tête d'un message imbriqué dans un message de "
|
||||
"type :mimetype:`multipart/alternative`, l'anomalie est signalée sur le "
|
||||
"message imbriqué seulement."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:68
|
||||
msgid ""
|
||||
"All defect classes are subclassed from :class:`email.errors.MessageDefect`."
|
||||
msgstr ""
|
||||
"Toutes les anomalies sont des sous-classes de :class:`email.errors."
|
||||
"MessageDefect`."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:70
|
||||
msgid ""
|
||||
":class:`NoBoundaryInMultipartDefect` -- A message claimed to be a multipart, "
|
||||
"but had no :mimetype:`boundary` parameter."
|
||||
msgstr ""
|
||||
":class:`NoBoundaryInMultipartDefect` — Un message qui prétend être composite "
|
||||
"(*multipart* en anglais), mais qui ne contient pas de séparateur :mimetype:"
|
||||
"`boundary`."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:73
|
||||
msgid ""
|
||||
":class:`StartBoundaryNotFoundDefect` -- The start boundary claimed in the :"
|
||||
"mailheader:`Content-Type` header was never found."
|
||||
msgstr ""
|
||||
":class:`StartBoundaryNotFoundDefect` — Le message ne contient pas le "
|
||||
"séparateur de départ indiqué dans le :mailheader:`Content-Type`."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:76
|
||||
msgid ""
|
||||
":class:`CloseBoundaryNotFoundDefect` -- A start boundary was found, but no "
|
||||
"corresponding close boundary was ever found."
|
||||
msgstr ""
|
||||
":class:`CloseBoundaryNotFoundDefect` — Le séparateur de départ a été trouvé, "
|
||||
"mais pas le séparateur de fin correspondant."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:81
|
||||
msgid ""
|
||||
":class:`FirstHeaderLineIsContinuationDefect` -- The message had a "
|
||||
"continuation line as its first header line."
|
||||
msgstr ""
|
||||
":class:`FirstHeaderLineIsContinuationDefect` — La première ligne de l'en-"
|
||||
"tête du message est une ligne de continuation."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:84
|
||||
msgid ""
|
||||
":class:`MisplacedEnvelopeHeaderDefect` - A \"Unix From\" header was found in "
|
||||
"the middle of a header block."
|
||||
msgstr ""
|
||||
":class:`MisplacedEnvelopeHeaderDefect` — Un en-tête *Unix From* est présent "
|
||||
"à l'intérieur d'un bloc d'en-tête."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:87
|
||||
msgid ""
|
||||
|
@ -127,16 +174,21 @@ msgid ""
|
|||
"headers that had no leading white space but contained no ':'. Parsing "
|
||||
"continues assuming that the line represents the first line of the body."
|
||||
msgstr ""
|
||||
":class:`MissingHeaderBodySeparatorDefect` — Une ligne d'en-tête ne contient "
|
||||
"pas de caractères d'espacement au début et aucun « : ». L'analyse continue "
|
||||
"en supposant qu'il s'agit donc de la première ligne du corps du message."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:93
|
||||
msgid ""
|
||||
":class:`MalformedHeaderDefect` -- A header was found that was missing a "
|
||||
"colon, or was otherwise malformed."
|
||||
msgstr ""
|
||||
":class:`MalformedHeaderDefect` -- Un en-tête est mal formé ou il manque un "
|
||||
"« : »."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:96
|
||||
msgid "This defect has not been used for several Python versions."
|
||||
msgstr ""
|
||||
msgstr "Cette anomalie est obsolète depuis plusieurs versions de Python."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:99
|
||||
msgid ""
|
||||
|
@ -152,6 +204,9 @@ msgid ""
|
|||
"encoded bytes, the padding was not correct. Enough padding is added to "
|
||||
"perform the decode, but the resulting decoded bytes may be invalid."
|
||||
msgstr ""
|
||||
":class:`InvalidBase64PaddingDefect` — Remplissage incorrect d'un bloc "
|
||||
"d'octets encodés en base64. Des caractères de remplissage ont été ajoutés "
|
||||
"pour permettre le décodage, mais le résultat du décodage peut être invalide."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:108
|
||||
msgid ""
|
||||
|
@ -159,6 +214,10 @@ msgid ""
|
|||
"encoded bytes, characters outside the base64 alphabet were encountered. The "
|
||||
"characters are ignored, but the resulting decoded bytes may be invalid."
|
||||
msgstr ""
|
||||
":class:`InvalidBase64CharactersDefect` — Des caractères n'appartenant pas à "
|
||||
"l'alphabet base64 ont été rencontrés lors du décodage d'un bloc d'octets "
|
||||
"encodés en base64. Les caractères ont été ignorés, mais le résultat du "
|
||||
"décodage peut être invalide."
|
||||
|
||||
#: ../Doc/library/email.errors.rst:112
|
||||
msgid ""
|
||||
|
@ -166,3 +225,6 @@ msgid ""
|
|||
"encoded bytes, the number of non-padding base64 characters was invalid (1 "
|
||||
"more than a multiple of 4). The encoded block was kept as-is."
|
||||
msgstr ""
|
||||
":class:`InvalidBase64LengthDefect` — Le nombre de caractères (autres que de "
|
||||
"remplissage) d'un bloc d'octets encodés en base64 est invalide (1 de plus "
|
||||
"qu'un multiple de 4). Le bloc encodé n'a pas été modifié."
|
||||
|
|
|
@ -342,7 +342,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/email.message.rst:287
|
||||
msgid "Here is an example::"
|
||||
msgstr "Voici un exemple : ::"
|
||||
msgstr "Voici un exemple ::"
|
||||
|
||||
#: ../Doc/library/email.message.rst:291
|
||||
msgid "This will add a header that looks like ::"
|
||||
|
|
132
library/enum.po
132
library/enum.po
|
@ -7,12 +7,12 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-10-12 18:59+0200\n"
|
||||
"PO-Revision-Date: 2019-07-26 19:08+0200\n"
|
||||
"Last-Translator: Antoine Wecxsteen\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"
|
||||
"Last-Translator: Antoine Wecxsteen\n"
|
||||
"X-Generator: Poedit 2.0.6\n"
|
||||
|
||||
#: ../Doc/library/enum.rst:2
|
||||
|
@ -117,7 +117,7 @@ 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 : ::"
|
||||
"de la manière suivante ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:78
|
||||
msgid "Enum member values"
|
||||
|
@ -173,26 +173,25 @@ msgstr ""
|
|||
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 : ::"
|
||||
"compréhensible par un humain ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:105
|
||||
msgid "...while their ``repr`` has more information::"
|
||||
msgstr "… tandis que leur ``repr`` contient plus d'informations : ::"
|
||||
msgstr "… tandis que leur ``repr`` contient plus d'informations ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:110
|
||||
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 : ::"
|
||||
msgstr "Le *type* d'un membre est l'énumération auquel ce membre appartient ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:118
|
||||
msgid "Enum members also have a property that contains just their item name::"
|
||||
msgstr "Les membres ont également un attribut qui contient leur nom : ::"
|
||||
msgstr "Les membres ont également un attribut qui contient leur nom ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:123
|
||||
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 : ::"
|
||||
"les membres sont déclarés ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:139
|
||||
msgid ""
|
||||
|
@ -200,7 +199,7 @@ msgid ""
|
|||
"sets::"
|
||||
msgstr ""
|
||||
"Les membres d'une énumération sont hachables, ils peuvent ainsi être "
|
||||
"utilisés dans des dictionnaires ou des ensembles : ::"
|
||||
"utilisés dans des dictionnaires ou des ensembles ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:149
|
||||
msgid "Programmatic access to enumeration members and their attributes"
|
||||
|
@ -215,16 +214,16 @@ msgstr ""
|
|||
"Il est parfois utile de pouvoir accéder dynamiquement aux membres d'une "
|
||||
"énumération (p. ex. dans des situations où il ne suffit pas d'utiliser "
|
||||
"``Color.RED`` car la couleur précise n'est pas connue à l'écriture du "
|
||||
"programme). ``Enum`` permet de tels accès : ::"
|
||||
"programme). ``Enum`` permet de tels accès ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:160
|
||||
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 : ::"
|
||||
"Pour accéder aux membres par leur *nom*, utilisez l'accès par indexation ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:167
|
||||
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 : ::"
|
||||
msgstr "Pour obtenir l'attribut :attr:`name` ou :attr:`value` d'un membre ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:177
|
||||
msgid "Duplicating enum members and values"
|
||||
|
@ -233,7 +232,7 @@ msgstr "Duplication de membres et de valeurs"
|
|||
#: ../Doc/library/enum.rst:179
|
||||
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* : ::"
|
||||
"Il n'est pas possible d'avoir deux membres du même nom dans un *enum* ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:189
|
||||
msgid ""
|
||||
|
@ -245,7 +244,7 @@ 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 : ::"
|
||||
"par nom renverra aussi A ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:209
|
||||
msgid ""
|
||||
|
@ -280,7 +279,7 @@ msgid ""
|
|||
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 : ::"
|
||||
"s'il en trouve, l'exception :exc:`ValueError` est levée avec des détails ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:241
|
||||
msgid "Using automatic values"
|
||||
|
@ -290,7 +289,7 @@ msgstr "Valeurs automatiques"
|
|||
msgid "If the exact value is unimportant you can use :class:`auto`::"
|
||||
msgstr ""
|
||||
"Si la valeur exacte n'a pas d'importance, vous pouvez utiliser :class:"
|
||||
"`auto` : ::"
|
||||
"`auto` ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:254
|
||||
msgid ""
|
||||
|
@ -298,7 +297,7 @@ msgid ""
|
|||
"overridden::"
|
||||
msgstr ""
|
||||
"Les valeurs sont déterminées par :func:`_generate_next_value_`, qui peut "
|
||||
"être redéfinie : ::"
|
||||
"être redéfinie ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:272
|
||||
msgid ""
|
||||
|
@ -316,8 +315,7 @@ msgstr "Itération"
|
|||
|
||||
#: ../Doc/library/enum.rst:279
|
||||
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 : ::"
|
||||
msgstr "Itérer sur les membres d'une énumération ne parcourt pas les alias ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:284
|
||||
msgid ""
|
||||
|
@ -335,7 +333,7 @@ msgid ""
|
|||
"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 : ::"
|
||||
"de l'énumération. Par exemple, pour trouver tous les alias ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:304
|
||||
msgid "Comparisons"
|
||||
|
@ -343,7 +341,7 @@ msgstr "Comparaisons"
|
|||
|
||||
#: ../Doc/library/enum.rst:306
|
||||
msgid "Enumeration members are compared by identity::"
|
||||
msgstr "Les membres d'une énumération sont comparés par identité : ::"
|
||||
msgstr "Les membres d'une énumération sont comparés par identité ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:315
|
||||
msgid ""
|
||||
|
@ -352,11 +350,11 @@ msgid ""
|
|||
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) : ::"
|
||||
"`IntEnum`_ ci-dessous) ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:323
|
||||
msgid "Equality comparisons are defined though::"
|
||||
msgstr "A contrario, les comparaisons d'égalité existent : ::"
|
||||
msgstr "A contrario, les comparaisons d'égalité existent ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:332
|
||||
msgid ""
|
||||
|
@ -366,7 +364,7 @@ msgid ""
|
|||
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) : ::"
|
||||
"différemment, voir ci-dessous) ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:341
|
||||
msgid "Allowed members and attributes of enumerations"
|
||||
|
@ -393,11 +391,11 @@ msgid ""
|
|||
"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 : ::"
|
||||
"et des méthodes spéciales. L'énumération suivante ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:369
|
||||
msgid "Then::"
|
||||
msgstr "amène : ::"
|
||||
msgstr "amène ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:378
|
||||
msgid ""
|
||||
|
@ -439,7 +437,7 @@ msgstr ""
|
|||
"Une nouvelle classe :class:`Enum` doit avoir une classe *Enum* de base, au "
|
||||
"plus un type de données concret et autant de classes de mélange (basées sur :"
|
||||
"class:`object`) que nécessaire. L'ordre de ces classes de base est le "
|
||||
"suivant : ::"
|
||||
"suivant ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:400
|
||||
msgid ""
|
||||
|
@ -447,11 +445,11 @@ msgid ""
|
|||
"define any members. So this is forbidden::"
|
||||
msgstr ""
|
||||
"Hériter d'une énumération n'est permis que si cette énumération ne définit "
|
||||
"aucun membre. Le code suivant n'est pas autorisé : ::"
|
||||
"aucun membre. Le code suivant n'est pas autorisé ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:410
|
||||
msgid "But this is allowed::"
|
||||
msgstr "Mais celui-ci est correct : ::"
|
||||
msgstr "Mais celui-ci est correct ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:421
|
||||
msgid ""
|
||||
|
@ -471,7 +469,7 @@ msgstr "Sérialisation"
|
|||
|
||||
#: ../Doc/library/enum.rst:430
|
||||
msgid "Enumerations can be pickled and unpickled::"
|
||||
msgstr "Les énumérations peuvent être sérialisées et dé-sérialisées : ::"
|
||||
msgstr "Les énumérations peuvent être sérialisées et déserialisées ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:437
|
||||
msgid ""
|
||||
|
@ -481,7 +479,7 @@ msgid ""
|
|||
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 "
|
||||
"module car la déserialisation nécessite que ces *enums* puissent être "
|
||||
"importés depuis ce module."
|
||||
|
||||
#: ../Doc/library/enum.rst:443
|
||||
|
@ -508,7 +506,7 @@ msgstr "API par fonction"
|
|||
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 : ::"
|
||||
"La :class:`Enum` est appelable et implémente l'API par fonction suivante ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:465
|
||||
msgid ""
|
||||
|
@ -537,7 +535,7 @@ msgstr ""
|
|||
"é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 à : ::"
|
||||
"d'autres termes, la déclaration de :class:`Animal` ci-dessus équivaut à ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:484
|
||||
msgid ""
|
||||
|
@ -563,7 +561,7 @@ msgstr ""
|
|||
"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 : ::"
|
||||
"comme ceci ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:498
|
||||
msgid ""
|
||||
|
@ -572,8 +570,8 @@ msgid ""
|
|||
"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."
|
||||
"nouveaux membres de *l'Enum* ne seront pas déserialisables ; pour garder les "
|
||||
"erreurs au plus près de leur origine, la sérialisation sera désactivée."
|
||||
|
||||
#: ../Doc/library/enum.rst:502
|
||||
msgid ""
|
||||
|
@ -586,11 +584,11 @@ msgstr ""
|
|||
"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 : ::"
|
||||
"niveau ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:509
|
||||
msgid "The complete signature is::"
|
||||
msgstr "La signature complète est la suivante : ::"
|
||||
msgstr "La signature complète est la suivante ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:0
|
||||
msgid "value"
|
||||
|
@ -611,19 +609,19 @@ msgid ""
|
|||
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) : ::"
|
||||
"spécifiée autrement) ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:520
|
||||
msgid "or an iterator of names::"
|
||||
msgstr "ou un itérateur sur les noms : ::"
|
||||
msgstr "ou un itérateur sur les noms ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:524
|
||||
msgid "or an iterator of (name, value) pairs::"
|
||||
msgstr "ou un itérateur sur les tuples (nom, valeur) : ::"
|
||||
msgstr "ou un itérateur sur les tuples (nom, valeur) ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:528
|
||||
msgid "or a mapping::"
|
||||
msgstr "ou une correspondance : ::"
|
||||
msgstr "ou une correspondance ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:0
|
||||
msgid "module"
|
||||
|
@ -679,7 +677,7 @@ msgstr ""
|
|||
"La première version dérivée de :class:`Enum` qui existe est aussi une sous-"
|
||||
"classe de :class:`int`. Les membres de :class:`IntEnum` peuvent être "
|
||||
"comparés à des entiers et, par extension, les comparaisons entre des "
|
||||
"énumérations entières de type différent sont possibles : ::"
|
||||
"énumérations entières de type différent sont possibles ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:571
|
||||
msgid ""
|
||||
|
@ -687,14 +685,14 @@ msgid ""
|
|||
"enumerations::"
|
||||
msgstr ""
|
||||
"Elles ne peuvent cependant toujours pas être comparées à des énumérations "
|
||||
"standards de :class:`Enum` : ::"
|
||||
"standards de :class:`Enum` ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:584
|
||||
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 : ::"
|
||||
"pouvait s'y attendre ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:595
|
||||
msgid "IntFlag"
|
||||
|
@ -722,11 +720,11 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/enum.rst:607
|
||||
msgid "Sample :class:`IntFlag` class::"
|
||||
msgstr "Exemple d'une classe :class:`IntFlag` : ::"
|
||||
msgstr "Exemple d'une classe :class:`IntFlag` ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:623
|
||||
msgid "It is also possible to name the combinations::"
|
||||
msgstr "Il est aussi possible de nommer les combinaisons : ::"
|
||||
msgstr "Il est aussi possible de nommer les combinaisons ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:635
|
||||
msgid ""
|
||||
|
@ -736,7 +734,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Une autre différence importante entre :class:`IntFlag` et :class:`Enum` est "
|
||||
"que, si aucune option n'est activée (la valeur vaut 0), son évaluation "
|
||||
"booléenne est :data:`False` : ::"
|
||||
"booléenne est :data:`False` ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:643
|
||||
msgid ""
|
||||
|
@ -744,7 +742,7 @@ msgid ""
|
|||
"can be combined with them::"
|
||||
msgstr ""
|
||||
"Comme les membres d'une classe :class:`IntFlag` héritent aussi de :class:"
|
||||
"`int`, ils peuvent être combinés avec eux : ::"
|
||||
"`int`, ils peuvent être combinés avec eux ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:651
|
||||
msgid "Flag"
|
||||
|
@ -775,7 +773,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Comme avec :class:`IntFlag`, si une combinaison de membres d'une classe :"
|
||||
"class:`Flag` n'active aucune option, l'évaluation booléenne de la "
|
||||
"comparaison est :data:`False` : ::"
|
||||
"comparaison est :data:`False` ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:676
|
||||
msgid ""
|
||||
|
@ -783,7 +781,7 @@ msgid ""
|
|||
"8, ...), while combinations of flags won't::"
|
||||
msgstr ""
|
||||
"Les options de base doivent avoir des puissances de deux pour valeurs (1, 2, "
|
||||
"4, 8, ...) mais pas les combinaisons : ::"
|
||||
"4, 8, ...) mais pas les combinaisons ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:688
|
||||
msgid ""
|
||||
|
@ -791,7 +789,7 @@ msgid ""
|
|||
"value::"
|
||||
msgstr ""
|
||||
"Donner un nom à la valeur « aucune option activée » ne change pas sa valeur "
|
||||
"booléenne : ::"
|
||||
"booléenne ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:704
|
||||
msgid ""
|
||||
|
@ -822,7 +820,7 @@ msgid ""
|
|||
"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 : ::"
|
||||
"très simple à implémenter hors de ce module ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:722
|
||||
msgid ""
|
||||
|
@ -961,7 +959,7 @@ msgid ""
|
|||
"hides the (unimportant) value::"
|
||||
msgstr ""
|
||||
"Quelle que soit la méthode choisie, il faut fournir une méthode :meth:`repr` "
|
||||
"qui masque les valeurs (pas importantes de toute façon) : ::"
|
||||
"qui masque les valeurs (pas importantes de toute façon) ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:782
|
||||
msgid "Using :class:`auto`"
|
||||
|
@ -969,7 +967,7 @@ msgstr "Avec :class:`auto`"
|
|||
|
||||
#: ../Doc/library/enum.rst:784
|
||||
msgid "Using :class:`auto` would look like::"
|
||||
msgstr "On utilise :class:`auto` de la manière suivante : ::"
|
||||
msgstr "On utilise :class:`auto` de la manière suivante ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:796
|
||||
msgid "Using :class:`object`"
|
||||
|
@ -977,7 +975,7 @@ msgstr "Avec :class:`object`"
|
|||
|
||||
#: ../Doc/library/enum.rst:798
|
||||
msgid "Using :class:`object` would look like::"
|
||||
msgstr "On utilise :class:`object` de la manière suivante : ::"
|
||||
msgstr "On utilise :class:`object` de la manière suivante ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:810
|
||||
msgid "Using a descriptive string"
|
||||
|
@ -985,7 +983,7 @@ msgstr "Avec une chaîne de caractères de description"
|
|||
|
||||
#: ../Doc/library/enum.rst:812
|
||||
msgid "Using a string as the value would look like::"
|
||||
msgstr "On utilise une chaîne de caractères de la manière suivante : ::"
|
||||
msgstr "On utilise une chaîne de caractères de la manière suivante ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:826
|
||||
msgid "Using a custom :meth:`__new__`"
|
||||
|
@ -995,7 +993,7 @@ msgstr "Avec une méthode ad-hoc :meth:`__new__`"
|
|||
msgid "Using an auto-numbering :meth:`__new__` would look like::"
|
||||
msgstr ""
|
||||
"On utilise une méthode :meth:`__new__` d'énumération de la manière "
|
||||
"suivante : ::"
|
||||
"suivante ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:850
|
||||
msgid ""
|
||||
|
@ -1021,7 +1019,7 @@ 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) ::"
|
||||
"énumérations) ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:892
|
||||
msgid "DuplicateFreeEnum"
|
||||
|
@ -1032,7 +1030,7 @@ 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 : ::"
|
||||
"Lève une erreur si un membre est dupliqué, plutôt que de créer un alias ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:919
|
||||
msgid ""
|
||||
|
@ -1054,7 +1052,7 @@ msgid ""
|
|||
"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 : ::"
|
||||
"l'énumération sera passée à ces méthodes ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:955
|
||||
msgid "TimePeriod"
|
||||
|
@ -1062,7 +1060,7 @@ msgstr "TimePeriod"
|
|||
|
||||
#: ../Doc/library/enum.rst:957
|
||||
msgid "An example to show the :attr:`_ignore_` attribute in use::"
|
||||
msgstr "Exemple d'utilisation de l'attribut :attr:`_ignore_` : ::"
|
||||
msgstr "Exemple d'utilisation de l'attribut :attr:`_ignore_` ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:974
|
||||
msgid "How are Enums different?"
|
||||
|
@ -1211,7 +1209,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Pour faciliter la transition de Python 2 en Python 3, l'attribut :attr:"
|
||||
"`_order_` peut être défini. Il sera comparé au véritable ordre de "
|
||||
"l'énumération et lève une erreur si les deux ne correspondent pas : ::"
|
||||
"l'énumération et lève une erreur si les deux ne correspondent pas ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:1052
|
||||
msgid ""
|
||||
|
@ -1240,7 +1238,7 @@ msgstr ""
|
|||
"est fortement déconseillé car cette indirection est susceptible d'échouer, "
|
||||
"ou pire, de ne pas renvoyer le membre de la classe :class:`Enum` désiré "
|
||||
"(c'est une autre bonne raison pour définir tous les noms des membres en "
|
||||
"majuscules) : ::"
|
||||
"majuscules) ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:1079
|
||||
msgid "Boolean value of ``Enum`` classes and members"
|
||||
|
@ -1258,7 +1256,7 @@ msgstr ""
|
|||
"class:`Enum` (comme :class:`int`, :class:`str`, etc.) sont évalués selon les "
|
||||
"règles du type de mélange. Sinon, tous les membres valent :data:`True`. Pour "
|
||||
"faire dépendre l'évaluation booléenne de votre propre *Enum* de la valeur du "
|
||||
"membre, il faut ajouter le code suivant à votre classe : ::"
|
||||
"membre, il faut ajouter le code suivant à votre classe ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:1090
|
||||
msgid ":class:`Enum` classes always evaluate as :data:`True`."
|
||||
|
@ -1276,7 +1274,7 @@ msgid ""
|
|||
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 : ::"
|
||||
"`dir` sur le membre, mais pas avec un appel sur la classe ::"
|
||||
|
||||
#: ../Doc/library/enum.rst:1107
|
||||
msgid "Combining members of ``Flag``"
|
||||
|
@ -1289,4 +1287,4 @@ msgid ""
|
|||
msgstr ""
|
||||
"Si une valeur issue de la combinaison de membres de *Flag* n'est pas "
|
||||
"associée explicitement à un membre, la fonction :func:`repr` inclut tous les "
|
||||
"membres et toutes les combinaisons de membres présents dans cette valeur : ::"
|
||||
"membres et toutes les combinaisons de membres présents dans cette valeur ::"
|
||||
|
|
|
@ -104,7 +104,7 @@ msgstr ""
|
|||
"En levant une nouvelle exception (plutôt que d'utiliser un simple ``raise`` "
|
||||
"pour lever à nouveau l'exception en cours de traitement), le contexte "
|
||||
"implicite d'exception peut être complété par une cause explicite en "
|
||||
"utilisant :keyword:`from` avec :keyword:`raise`: ::"
|
||||
"utilisant :keyword:`from` avec :keyword:`raise` ::"
|
||||
|
||||
#: ../Doc/library/exceptions.rst:50
|
||||
msgid ""
|
||||
|
@ -196,7 +196,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Cette méthode définit *tb* en tant que nouvelle trace d'appels pour "
|
||||
"l'exception et retourne l'objet exception. Elle est généralement utilisée "
|
||||
"dans du code de gestion d'exceptions comme ceci: ::"
|
||||
"dans du code de gestion d'exceptions comme ceci ::"
|
||||
|
||||
#: ../Doc/library/exceptions.rst:105
|
||||
msgid ""
|
||||
|
|
|
@ -278,4 +278,4 @@ msgid ""
|
|||
msgstr ""
|
||||
"Voici un exemple simplifié d'utilisation de l'attribut ``subdirs`` pour "
|
||||
"effectuer une recherche récursive dans deux répertoires afin d'afficher des "
|
||||
"fichiers communs différents ::"
|
||||
"fichiers communs différents ::"
|
||||
|
|
|
@ -94,7 +94,7 @@ msgstr ""
|
|||
"traité de manière spéciale par ce module. Voir le module :mod:`glob` pour la "
|
||||
"recherche de chemins (:mod:`glob` utilise :func:`.filter` pour reconnaître "
|
||||
"les composants d'un chemin). De la même manière, les noms de fichiers "
|
||||
"commençant par une virgule ne sont pas traités de manière spéciale par ce "
|
||||
"commençant par un point ne sont pas traités de manière spéciale par ce "
|
||||
"module, et sont reconnus par les motifs ``*`` et ``?``."
|
||||
|
||||
#: ../Doc/library/fnmatch.rst:52
|
||||
|
|
|
@ -58,7 +58,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/ftplib.rst:68
|
||||
msgid "Support for the :keyword:`with` statement was added."
|
||||
msgstr ""
|
||||
msgstr "La prise en charge de l'instruction :keyword:`with` a été ajoutée."
|
||||
|
||||
#: ../Doc/library/ftplib.rst:71 ../Doc/library/ftplib.rst:92
|
||||
#: ../Doc/library/ftplib.rst:193
|
||||
|
|
|
@ -557,7 +557,7 @@ msgid ""
|
|||
"instance method receives the instance. To declare a class method, use this "
|
||||
"idiom::"
|
||||
msgstr ""
|
||||
"Une méthode de classe reçoit implicitement la classe en premier augment, "
|
||||
"Une méthode de classe reçoit implicitement la classe en premier argument, "
|
||||
"tout comme une méthode d'instance reçoit l'instance. Voici comment déclarer "
|
||||
"une méthode de classe ::"
|
||||
|
||||
|
@ -1707,7 +1707,7 @@ msgid ""
|
|||
"exhausted, otherwise :exc:`StopIteration` is raised."
|
||||
msgstr ""
|
||||
"Donne l'élément suivant d'*iterator* en appelant sa méthode :meth:`~iterator."
|
||||
"__next__`. Si *default* est fourni, il sera donné si l'itérateur est épousé, "
|
||||
"__next__`. Si *default* est fourni, il sera donné si l'itérateur est épuisé, "
|
||||
"sinon :exc:`StopIteration` est levée."
|
||||
|
||||
#: ../Doc/library/functions.rst:931
|
||||
|
@ -2902,7 +2902,7 @@ msgid ""
|
|||
"locals dictionary is only useful for reads since updates to the locals "
|
||||
"dictionary are ignored."
|
||||
msgstr ""
|
||||
"Sans augment, :func:`vars` se comporte comme :func:`locals`. Notez que le "
|
||||
"Sans argument, :func:`vars` se comporte comme :func:`locals`. Notez que le "
|
||||
"dictionnaire des variables locales n'est utile qu'en lecture, car ses "
|
||||
"écritures sont ignorées."
|
||||
|
||||
|
@ -3051,8 +3051,8 @@ msgid ""
|
|||
"On the other hand, the statement ``from spam.ham import eggs, sausage as "
|
||||
"saus`` results in ::"
|
||||
msgstr ""
|
||||
"En revanche, l'instruction ``from spam.ham import eggs, saucage as saus`` "
|
||||
"donne ::"
|
||||
"En revanche, l'instruction ``from spam.ham import eggs, sausage as saus`` "
|
||||
"donne ::"
|
||||
|
||||
#: ../Doc/library/functions.rst:1713
|
||||
msgid ""
|
||||
|
|
|
@ -357,7 +357,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/functools.rst:265
|
||||
msgid "Roughly equivalent to::"
|
||||
msgstr "Sensiblement équivalent à : ::"
|
||||
msgstr "Sensiblement équivalent à ::"
|
||||
|
||||
#: ../Doc/library/functools.rst:280
|
||||
msgid ""
|
||||
|
@ -476,7 +476,7 @@ msgstr ""
|
|||
"sur la fonction englobante et quels attributs de la fonction englobante sont "
|
||||
"mis à jour avec les attributs de la fonction originale. Les valeurs par "
|
||||
"défaut de ces arguments sont les constantes au niveau du module "
|
||||
"``WRAPPER_ASSIGNMENTS`` (qui assigne``__module__``, ``__name__``, "
|
||||
"``WRAPPER_ASSIGNMENTS`` (qui assigne ``__module__``, ``__name__``, "
|
||||
"``__qualname__``, ``__annotations__`` et ``__doc__``, la chaîne de "
|
||||
"documentation, depuis la fonction englobante) et ``WRAPPER_UPDATES`` (qui "
|
||||
"met à jour le ``__dict__`` de la fonction englobante, c'est-à-dire le "
|
||||
|
|
|
@ -7,12 +7,12 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-08-10 00:49+0200\n"
|
||||
"PO-Revision-Date: 2019-10-09 17:26+0200\n"
|
||||
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\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"
|
||||
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
|
||||
"X-Generator: Poedit 2.2.4\n"
|
||||
|
||||
#: ../Doc/library/getopt.rst:2
|
||||
|
@ -22,7 +22,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/getopt.rst:8
|
||||
msgid "**Source code:** :source:`Lib/getopt.py`"
|
||||
msgstr "**Code source :** :source:`Lib/getopt.py`"
|
||||
msgstr "**Code source :** :source:`Lib/getopt.py`"
|
||||
|
||||
#: ../Doc/library/getopt.rst:12
|
||||
msgid ""
|
||||
|
|
|
@ -215,7 +215,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/gettext.rst:123
|
||||
msgid "Here's an example of typical usage for this API::"
|
||||
msgstr "Voici un exemple classique d'utilisation de cette API : ::"
|
||||
msgstr "Voici un exemple classique d'utilisation de cette API ::"
|
||||
|
||||
#: ../Doc/library/gettext.rst:134
|
||||
msgid "Class-based API"
|
||||
|
@ -373,7 +373,7 @@ msgid ""
|
|||
"function, like this::"
|
||||
msgstr ""
|
||||
"Habituellement, la fonction :func:`_` est appliquée aux chaînes de "
|
||||
"caractères qui doivent être traduites comme suit : ::"
|
||||
"caractères qui doivent être traduites comme suit ::"
|
||||
|
||||
#: ../Doc/library/gettext.rst:210
|
||||
msgid ""
|
||||
|
@ -535,7 +535,7 @@ msgstr ""
|
|||
"cela affecte toute l'application, et plus particulièrement l'espace de "
|
||||
"nommage natif, les modules localisés ne devraient jamais y positionner :func:"
|
||||
"`_`. Au lieu de cela, ces derniers doivent plutôt utiliser le code suivant "
|
||||
"pour rendre :func:`_` accessible par leurs modules : ::"
|
||||
"pour rendre :func:`_` accessible par leurs modules ::"
|
||||
|
||||
#: ../Doc/library/gettext.rst:317
|
||||
msgid ""
|
||||
|
@ -660,7 +660,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/gettext.rst:373
|
||||
msgid "Here is an example::"
|
||||
msgstr "Voici un exemple : ::"
|
||||
msgstr "Voici un exemple ::"
|
||||
|
||||
#: ../Doc/library/gettext.rst:386
|
||||
msgid ""
|
||||
|
@ -699,7 +699,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"GNOME utilise une version du module :mod:`gettext` de James Henstridge, mais "
|
||||
"qui a une API légèrement différente. D'après la documentation, elle "
|
||||
"s'utilise ainsi : ::"
|
||||
"s'utilise ainsi ::"
|
||||
|
||||
#: ../Doc/library/gettext.rst:418
|
||||
msgid ""
|
||||
|
@ -773,7 +773,7 @@ msgstr ""
|
|||
"Afin de préparer votre code à être traduit (*I18N*), vous devrez rechercher "
|
||||
"toutes les chaînes de caractères de vos fichiers. À chaque chaîne de "
|
||||
"caractères à traduire doit être appliqué le marqueur ``_('...')`` --- c'est-"
|
||||
"à-dire en appelant la fonction :func:`_`. Par exemple : ::"
|
||||
"à-dire en appelant la fonction :func:`_`. Par exemple ::"
|
||||
|
||||
#: ../Doc/library/gettext.rst:452
|
||||
msgid ""
|
||||
|
@ -897,7 +897,7 @@ msgstr ""
|
|||
"Disons que votre module s'appelle \"spam\" et que les fichiers :file:`.mo` "
|
||||
"de traduction dans les différentes langues naturelles soient dans :file:`/"
|
||||
"usr/share/locale` au format GNU :program:`gettext`. Voici ce que vous "
|
||||
"pouvez alors mettre en haut de votre module : ::"
|
||||
"pouvez alors mettre en haut de votre module ::"
|
||||
|
||||
#: ../Doc/library/gettext.rst:515
|
||||
msgid "Localizing your application"
|
||||
|
@ -922,7 +922,7 @@ msgid ""
|
|||
"main driver file of your application::"
|
||||
msgstr ""
|
||||
"Dans ce cas, vous n'aurez à ajouter que le bout de code suivant au fichier "
|
||||
"principal de votre application : ::"
|
||||
"principal de votre application ::"
|
||||
|
||||
#: ../Doc/library/gettext.rst:528
|
||||
msgid ""
|
||||
|
@ -930,7 +930,7 @@ msgid ""
|
|||
"`install` function::"
|
||||
msgstr ""
|
||||
"Si vous avez besoin de définir le dossier des localisations, vous pouvez le "
|
||||
"mettre en argument de la fonction :func:`install` : ::"
|
||||
"mettre en argument de la fonction :func:`install` ::"
|
||||
|
||||
#: ../Doc/library/gettext.rst:536
|
||||
msgid "Changing languages on the fly"
|
||||
|
@ -944,7 +944,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Si votre programme a besoin de prendre en charge plusieurs langues en même "
|
||||
"temps, vous pouvez créer plusieurs instances de traduction, puis basculer "
|
||||
"entre elles de façon explicite, comme ceci : ::"
|
||||
"entre elles de façon explicite, comme ceci ::"
|
||||
|
||||
#: ../Doc/library/gettext.rst:559
|
||||
msgid "Deferred translations"
|
||||
|
@ -959,7 +959,7 @@ msgstr ""
|
|||
"Dans la plupart des cas, en programmation, les chaînes de caractères sont "
|
||||
"traduites à l'endroit où on les écrit. Cependant, il peut arriver que vous "
|
||||
"ayez besoin de traduire une chaîne de caractères un peu plus loin. Un "
|
||||
"exemple classique est : ::"
|
||||
"exemple classique est ::"
|
||||
|
||||
#: ../Doc/library/gettext.rst:574
|
||||
msgid ""
|
||||
|
@ -972,7 +972,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/gettext.rst:578
|
||||
msgid "Here is one way you can handle this situation::"
|
||||
msgstr "Voici un moyen de gérer ce cas : ::"
|
||||
msgstr "Voici un moyen de gérer ce cas ::"
|
||||
|
||||
#: ../Doc/library/gettext.rst:594
|
||||
msgid ""
|
||||
|
@ -1001,7 +1001,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/gettext.rst:604
|
||||
msgid "Another way to handle this is with the following example::"
|
||||
msgstr "Voici une autre solution : ::"
|
||||
msgstr "Voici une autre solution ::"
|
||||
|
||||
#: ../Doc/library/gettext.rst:618
|
||||
msgid ""
|
||||
|
|
|
@ -355,22 +355,22 @@ msgstr "Exemples d'utilisation"
|
|||
|
||||
#: ../Doc/library/gzip.rst:181
|
||||
msgid "Example of how to read a compressed file::"
|
||||
msgstr "Exemple montrant comment lire un fichier compressé : ::"
|
||||
msgstr "Exemple montrant comment lire un fichier compressé ::"
|
||||
|
||||
#: ../Doc/library/gzip.rst:187
|
||||
msgid "Example of how to create a compressed GZIP file::"
|
||||
msgstr "Exemple montrant comment créer un fichier GZIP : ::"
|
||||
msgstr "Exemple montrant comment créer un fichier GZIP ::"
|
||||
|
||||
#: ../Doc/library/gzip.rst:194
|
||||
msgid "Example of how to GZIP compress an existing file::"
|
||||
msgstr ""
|
||||
"Exemple montrant comment compresser dans un GZIP un fichier existant : ::"
|
||||
"Exemple montrant comment compresser dans un GZIP un fichier existant ::"
|
||||
|
||||
#: ../Doc/library/gzip.rst:202
|
||||
msgid "Example of how to GZIP compress a binary string::"
|
||||
msgstr ""
|
||||
"Exemple montrant comment compresser dans un GZIP un binaire dans une "
|
||||
"chaîne : ::"
|
||||
"chaîne ::"
|
||||
|
||||
#: ../Doc/library/gzip.rst:211
|
||||
msgid "Module :mod:`zlib`"
|
||||
|
|
|
@ -75,7 +75,7 @@ msgstr ""
|
|||
"Il y a un constructeur nommé selon chaque type de :dfn:`hash`. Tous "
|
||||
"retournent un objet haché avec la même interface. Par exemple : utilisez :"
|
||||
"func:`sha256` pour créer un objet haché de type SHA-256. Vous pouvez "
|
||||
"maintenant utilisez cet objet :term:`bytes-like objects <bytes-like object>` "
|
||||
"maintenant utiliser cet objet :term:`bytes-like objects <bytes-like object>` "
|
||||
"(normalement des :class:`bytes`) en utilisant la méthode :meth:`update`. À "
|
||||
"tout moment vous pouvez demander le :dfn:`digest` de la concaténation des "
|
||||
"données fournies en utilisant les méthodes :meth:`digest` ou :meth:"
|
||||
|
@ -299,9 +299,10 @@ msgid ""
|
|||
"by the SHAKE algorithm."
|
||||
msgstr ""
|
||||
"Les algorithmes :func:`shake_128` et :func:`shake_256` fournissent des "
|
||||
"messages de longueur variable avec des longueurs_en_bits//2 jusqu'à 128 ou "
|
||||
"256 bits de sécurité. Leurs méthodes *digests* requièrent une longueur. Les "
|
||||
"longueurs maximales ne sont pas limitées par l'algorithme SHAKE."
|
||||
"messages de longueur variable avec des ``longueurs_en_bits // 2`` jusqu'à "
|
||||
"128 ou 256 bits de sécurité. Leurs méthodes *digests* requièrent une "
|
||||
"longueur. Les longueurs maximales ne sont pas limitées par l'algorithme "
|
||||
"SHAKE."
|
||||
|
||||
#: ../Doc/library/hashlib.rst:208
|
||||
msgid ""
|
||||
|
@ -443,7 +444,7 @@ msgid ""
|
|||
"**BLAKE2s**, optimized for 8- to 32-bit platforms and produces digests of "
|
||||
"any size between 1 and 32 bytes."
|
||||
msgstr ""
|
||||
"**BLAKE2b**, optimisée pour les plates-formes de 8 à 32-bit et produisant "
|
||||
"**BLAKE2s**, optimisée pour les plates-formes de 8 à 32-bit et produisant "
|
||||
"des messages de toutes tailles entre 1 et 32 octets."
|
||||
|
||||
#: ../Doc/library/hashlib.rst:296
|
||||
|
|
188
library/heapq.po
188
library/heapq.po
|
@ -16,7 +16,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/heapq.rst:2
|
||||
msgid ":mod:`heapq` --- Heap queue algorithm"
|
||||
msgstr ""
|
||||
msgstr ":mod:`heapq` — File de priorité basée sur un tas"
|
||||
|
||||
#: ../Doc/library/heapq.rst:12
|
||||
msgid "**Source code:** :source:`Lib/heapq.py`"
|
||||
|
@ -27,6 +27,8 @@ msgid ""
|
|||
"This module provides an implementation of the heap queue algorithm, also "
|
||||
"known as the priority queue algorithm."
|
||||
msgstr ""
|
||||
"Ce module expose une implémentation de l'algorithme de file de priorité, "
|
||||
"basée sur un tas."
|
||||
|
||||
#: ../Doc/library/heapq.rst:19
|
||||
msgid ""
|
||||
|
@ -37,6 +39,13 @@ msgid ""
|
|||
"elements are considered to be infinite. The interesting property of a heap "
|
||||
"is that its smallest element is always the root, ``heap[0]``."
|
||||
msgstr ""
|
||||
"Les tas sont des arbres binaires pour lesquels chaque valeur portée par un "
|
||||
"nœud est inférieure ou égale à celle de ses deux fils. Cette implémentation "
|
||||
"utilise des tableaux pour lesquels ``tas[k] <= tas[2*k+1]`` et ``tas[k] <= "
|
||||
"tas[2*k+2]`` pour tout *k*, en commençant la numérotation à zéro. Pour "
|
||||
"contenter l'opérateur de comparaison, les éléments inexistants sont "
|
||||
"considérés comme porteur d'une valeur infinie. L'intérêt du tas est que son "
|
||||
"plus petit élément est toujours la racine, ``tas[0]``."
|
||||
|
||||
#: ../Doc/library/heapq.rst:26
|
||||
msgid ""
|
||||
|
@ -48,6 +57,13 @@ msgid ""
|
|||
"\"max heap\" is more common in texts because of its suitability for in-place "
|
||||
"sorting)."
|
||||
msgstr ""
|
||||
"L'API ci-dessous diffère de la file de priorité classique par deux aspects : "
|
||||
"(a) l'indiçage commence à zéro. Cela complexifie légèrement la relation "
|
||||
"entre l'indice d'un nœud et les indices de ses fils mais est alignée avec "
|
||||
"l'indiçage commençant à zéro que Python utilise. (b) La méthode *pop* "
|
||||
"renvoie le plus petit élément et non le plus grand (appelé « tas-min » dans "
|
||||
"les manuels scolaires ; le « tas-max » étant généralement plus courant dans "
|
||||
"la littérature car il permet le classement sans tampon)."
|
||||
|
||||
#: ../Doc/library/heapq.rst:33
|
||||
msgid ""
|
||||
|
@ -55,20 +71,28 @@ msgid ""
|
|||
"surprises: ``heap[0]`` is the smallest item, and ``heap.sort()`` maintains "
|
||||
"the heap invariant!"
|
||||
msgstr ""
|
||||
"Ces deux points permettent d'aborder le tas comme une liste Python standard "
|
||||
"sans surprise : ``heap[0]`` est le plus petit élément et ``heap.sort()`` "
|
||||
"conserve l'invariant du tas !"
|
||||
|
||||
#: ../Doc/library/heapq.rst:37
|
||||
msgid ""
|
||||
"To create a heap, use a list initialized to ``[]``, or you can transform a "
|
||||
"populated list into a heap via function :func:`heapify`."
|
||||
msgstr ""
|
||||
"Pour créer un tas, utilisez une liste initialisée à ``[]`` ou bien utilisez "
|
||||
"une liste existante et transformez la en tas à l'aide de la fonction :func:"
|
||||
"`heapify`."
|
||||
|
||||
#: ../Doc/library/heapq.rst:40
|
||||
msgid "The following functions are provided:"
|
||||
msgstr "Les fonctions suivantes sont fournies :"
|
||||
msgstr "Les fonctions suivantes sont fournies :"
|
||||
|
||||
#: ../Doc/library/heapq.rst:45
|
||||
msgid "Push the value *item* onto the *heap*, maintaining the heap invariant."
|
||||
msgstr ""
|
||||
"Introduit la valeur *item* dans le tas *heap*, en conservant l'invariance du "
|
||||
"tas."
|
||||
|
||||
#: ../Doc/library/heapq.rst:50
|
||||
msgid ""
|
||||
|
@ -76,6 +100,9 @@ msgid ""
|
|||
"invariant. If the heap is empty, :exc:`IndexError` is raised. To access "
|
||||
"the smallest item without popping it, use ``heap[0]``."
|
||||
msgstr ""
|
||||
"Extraie le plus petit élément de *heap* en préservant l'invariant du tas. Si "
|
||||
"le tas est vide, une exception :exc:`IndexError` est levée. Pour accéder au "
|
||||
"plus petit élément sans le retirer, utilisez ``heap[0]``."
|
||||
|
||||
#: ../Doc/library/heapq.rst:57
|
||||
msgid ""
|
||||
|
@ -83,10 +110,15 @@ msgid ""
|
|||
"*heap*. The combined action runs more efficiently than :func:`heappush` "
|
||||
"followed by a separate call to :func:`heappop`."
|
||||
msgstr ""
|
||||
"Introduit l'élément *item* dans le tas, puis extraie le plus petit élément "
|
||||
"de *heap*. Cette action combinée est plus efficace que :func:`heappush` "
|
||||
"suivie par un appel séparé à :func:`heappop`."
|
||||
|
||||
#: ../Doc/library/heapq.rst:64
|
||||
msgid "Transform list *x* into a heap, in-place, in linear time."
|
||||
msgstr ""
|
||||
"Transforme une liste *x* en un tas, sans utiliser de tampon et en temps "
|
||||
"linéaire."
|
||||
|
||||
#: ../Doc/library/heapq.rst:69
|
||||
msgid ""
|
||||
|
@ -94,6 +126,9 @@ msgid ""
|
|||
"*item*. The heap size doesn't change. If the heap is empty, :exc:"
|
||||
"`IndexError` is raised."
|
||||
msgstr ""
|
||||
"Extraie le plus petit élément de *heap* et introduit le nouvel élément "
|
||||
"*item*. La taille du tas ne change pas. Si le tas est vide, une exception :"
|
||||
"exc:`IndexError` est levée."
|
||||
|
||||
#: ../Doc/library/heapq.rst:72
|
||||
msgid ""
|
||||
|
@ -102,6 +137,10 @@ msgid ""
|
|||
"heap. The pop/push combination always returns an element from the heap and "
|
||||
"replaces it with *item*."
|
||||
msgstr ""
|
||||
"Cette opération en une étape est plus efficace qu'un appel à :func:`heappop` "
|
||||
"suivi d'un appel à :func:`heappush` et est plus appropriée lorsque le tas "
|
||||
"est de taille fixe. La combinaison *pop*/*push* renvoie toujours un élément "
|
||||
"du tas et le remplace par *item*."
|
||||
|
||||
#: ../Doc/library/heapq.rst:77
|
||||
msgid ""
|
||||
|
@ -110,10 +149,15 @@ msgid ""
|
|||
"combination returns the smaller of the two values, leaving the larger value "
|
||||
"on the heap."
|
||||
msgstr ""
|
||||
"La valeur renvoyée peut être plus grande que l'élément *item* ajouté. Si "
|
||||
"cela n'est pas souhaitable, utilisez plutôt :func:`heappushpop` à la place. "
|
||||
"Sa combinaison *push*/*pop* renvoie le plus petit élément des deux valeurs "
|
||||
"et laisse la plus grande sur le tas."
|
||||
|
||||
#: ../Doc/library/heapq.rst:83
|
||||
msgid "The module also offers three general purpose functions based on heaps."
|
||||
msgstr ""
|
||||
"Ce module contient également trois fonctions génériques utilisant les tas."
|
||||
|
||||
#: ../Doc/library/heapq.rst:88
|
||||
msgid ""
|
||||
|
@ -121,6 +165,9 @@ msgid ""
|
|||
"timestamped entries from multiple log files). Returns an :term:`iterator` "
|
||||
"over the sorted values."
|
||||
msgstr ""
|
||||
"Fusionne plusieurs entrées ordonnées en une unique sortie ordonnée (par "
|
||||
"exemple, fusionne des entrées datées provenant de multiples journaux "
|
||||
"applicatifs). Renvoie un :term:`iterator` sur les valeurs ordonnées."
|
||||
|
||||
#: ../Doc/library/heapq.rst:92
|
||||
msgid ""
|
||||
|
@ -128,6 +175,9 @@ msgid ""
|
|||
"does not pull the data into memory all at once, and assumes that each of the "
|
||||
"input streams is already sorted (smallest to largest)."
|
||||
msgstr ""
|
||||
"Similaire à ``sorted(itertools.chain(*iterables))`` mais renvoie un "
|
||||
"itérable, ne stocke pas toutes les données en mémoire en une fois et suppose "
|
||||
"que chaque flux d'entrée est déjà classé (en ordre croissant)."
|
||||
|
||||
#: ../Doc/library/heapq.rst:96
|
||||
msgid ""
|
||||
|
@ -169,6 +219,11 @@ msgid ""
|
|||
"example, ``key=str.lower``). Equivalent to: ``sorted(iterable, key=key, "
|
||||
"reverse=True)[:n]``."
|
||||
msgstr ""
|
||||
"Renvoie une liste contenant les *n* plus grands éléments du jeu de données "
|
||||
"défini par *iterable*. Si l'option *key* est fournie, celle-ci spécifie une "
|
||||
"fonction à un argument qui est utilisée pour extraire la clé de comparaison "
|
||||
"de chaque élément dans *iterable* (par exemple, ``key=str.lower``). "
|
||||
"Équivalent à : ``sorted(iterable, key=key, reverse=True)[:n]``."
|
||||
|
||||
#: ../Doc/library/heapq.rst:122
|
||||
msgid ""
|
||||
|
@ -178,6 +233,11 @@ msgid ""
|
|||
"example, ``key=str.lower``). Equivalent to: ``sorted(iterable, key=key)[:"
|
||||
"n]``."
|
||||
msgstr ""
|
||||
"Renvoie une liste contenant les *n* plus petits éléments du jeu de données "
|
||||
"défini par *iterable*. Si l'option *key* est fournie, celle-ci spécifie une "
|
||||
"fonction à un argument qui est utilisée pour extraire la clé de comparaison "
|
||||
"de chaque élément dans *iterable* (par exemple, ``key=str.lower``). "
|
||||
"Équivalent à : ``sorted(iterable, key=key)[:n]``."
|
||||
|
||||
#: ../Doc/library/heapq.rst:128
|
||||
msgid ""
|
||||
|
@ -187,10 +247,16 @@ msgid ""
|
|||
"`max` functions. If repeated usage of these functions is required, consider "
|
||||
"turning the iterable into an actual heap."
|
||||
msgstr ""
|
||||
"Les deux fonctions précédentes sont les plus efficaces pour des petites "
|
||||
"valeurs de *n*. Pour de grandes valeurs, il est préférable d'utiliser la "
|
||||
"fonction :func:`sorted`. En outre, lorsque ``n==1``, il est plus efficace "
|
||||
"d'utiliser les fonctions natives :func:`min` et :func:`max`. Si vous devez "
|
||||
"utiliser ces fonctions de façon répétée, il est préférable de transformer "
|
||||
"l'itérable en tas."
|
||||
|
||||
#: ../Doc/library/heapq.rst:136
|
||||
msgid "Basic Examples"
|
||||
msgstr ""
|
||||
msgstr "Exemples simples"
|
||||
|
||||
#: ../Doc/library/heapq.rst:138
|
||||
msgid ""
|
||||
|
@ -198,52 +264,71 @@ msgid ""
|
|||
"pushing all values onto a heap and then popping off the smallest values one "
|
||||
"at a time::"
|
||||
msgstr ""
|
||||
"Un `tri par tas <https://fr.wikipedia.org/wiki/Tri_par_tas>`_ peut être "
|
||||
"implémenté en introduisant toutes les valeurs dans un tas puis en effectuant "
|
||||
"l'extraction des éléments un par un ::"
|
||||
|
||||
#: ../Doc/library/heapq.rst:151
|
||||
msgid ""
|
||||
"This is similar to ``sorted(iterable)``, but unlike :func:`sorted`, this "
|
||||
"implementation is not stable."
|
||||
msgstr ""
|
||||
"Ceci est similaire à ``sorted(iterable)`` mais, contrairement à :func:"
|
||||
"`sorted`, cette implémentation n'est pas stable."
|
||||
|
||||
#: ../Doc/library/heapq.rst:154
|
||||
msgid ""
|
||||
"Heap elements can be tuples. This is useful for assigning comparison values "
|
||||
"(such as task priorities) alongside the main record being tracked::"
|
||||
msgstr ""
|
||||
"Les éléments d'un tas peuvent être des *n*-uplets. C'est pratique pour "
|
||||
"assigner des valeurs de comparaison (par exemple, des priorités de tâches) "
|
||||
"en plus de l'élément qui est suivi ::"
|
||||
|
||||
#: ../Doc/library/heapq.rst:167
|
||||
msgid "Priority Queue Implementation Notes"
|
||||
msgstr ""
|
||||
msgstr "Notes d'implémentation de la file de priorité"
|
||||
|
||||
#: ../Doc/library/heapq.rst:169
|
||||
msgid ""
|
||||
"A `priority queue <https://en.wikipedia.org/wiki/Priority_queue>`_ is common "
|
||||
"use for a heap, and it presents several implementation challenges:"
|
||||
msgstr ""
|
||||
"Une `file de priorité <https://fr.wikipedia.org/wiki/File_de_priorit"
|
||||
"%C3%A9>`_ est une application courante des tas et présente plusieurs défis "
|
||||
"d'implémentation :"
|
||||
|
||||
#: ../Doc/library/heapq.rst:172
|
||||
msgid ""
|
||||
"Sort stability: how do you get two tasks with equal priorities to be "
|
||||
"returned in the order they were originally added?"
|
||||
msgstr ""
|
||||
"Stabilité du classement : comment s'assurer que deux tâches avec la même "
|
||||
"priorité sont renvoyées dans l'ordre de leur ajout ?"
|
||||
|
||||
#: ../Doc/library/heapq.rst:175
|
||||
msgid ""
|
||||
"Tuple comparison breaks for (priority, task) pairs if the priorities are "
|
||||
"equal and the tasks do not have a default comparison order."
|
||||
msgstr ""
|
||||
"La comparaison des couples (priorité, tâche) échoue si les priorités sont "
|
||||
"identiques et que les tâches n'ont pas de relation d'ordre par défaut."
|
||||
|
||||
#: ../Doc/library/heapq.rst:178
|
||||
msgid ""
|
||||
"If the priority of a task changes, how do you move it to a new position in "
|
||||
"the heap?"
|
||||
msgstr ""
|
||||
"Si la priorité d'une tâche change, comment la déplacer à sa nouvelle "
|
||||
"position dans le tas ?"
|
||||
|
||||
#: ../Doc/library/heapq.rst:181
|
||||
msgid ""
|
||||
"Or if a pending task needs to be deleted, how do you find it and remove it "
|
||||
"from the queue?"
|
||||
msgstr ""
|
||||
"Si une tâche en attente doit être supprimée, comment la trouver et la "
|
||||
"supprimer de la file ?"
|
||||
|
||||
#: ../Doc/library/heapq.rst:184
|
||||
msgid ""
|
||||
|
@ -253,6 +338,13 @@ msgid ""
|
|||
"returned in the order they were added. And since no two entry counts are the "
|
||||
"same, the tuple comparison will never attempt to directly compare two tasks."
|
||||
msgstr ""
|
||||
"Une solution aux deux premiers problèmes consiste à stocker les entrées sous "
|
||||
"forme de liste à 3 éléments incluant la priorité, le numéro d'ajout et la "
|
||||
"tâche. Le numéro d'ajout sert à briser les égalités de telle sorte que deux "
|
||||
"tâches avec la même priorité sont renvoyées dans l'ordre de leur insertion. "
|
||||
"Puisque deux tâches ne peuvent jamais avoir le même numéro d'ajout, la "
|
||||
"comparaison des triplets ne va jamais chercher à comparer des tâches entre "
|
||||
"elles."
|
||||
|
||||
#: ../Doc/library/heapq.rst:190
|
||||
msgid ""
|
||||
|
@ -260,6 +352,9 @@ msgid ""
|
|||
"wrapper class that ignores the task item and only compares the priority "
|
||||
"field::"
|
||||
msgstr ""
|
||||
"Une autre solution au fait que les tâches ne possèdent pas de relation "
|
||||
"d'ordre est de créer une classe d'encapsulation qui ignore l'élément tâche "
|
||||
"et ne compare que le champ priorité ::"
|
||||
|
||||
#: ../Doc/library/heapq.rst:201
|
||||
msgid ""
|
||||
|
@ -267,6 +362,9 @@ msgid ""
|
|||
"changes to its priority or removing it entirely. Finding a task can be done "
|
||||
"with a dictionary pointing to an entry in the queue."
|
||||
msgstr ""
|
||||
"Le problème restant consiste à trouver une tâche en attente et modifier sa "
|
||||
"priorité ou la supprimer. Trouver une tâche peut être réalisé à l'aide d'un "
|
||||
"dictionnaire pointant vers une entrée dans la file."
|
||||
|
||||
#: ../Doc/library/heapq.rst:205
|
||||
msgid ""
|
||||
|
@ -274,10 +372,14 @@ msgid ""
|
|||
"would break the heap structure invariants. So, a possible solution is to "
|
||||
"mark the entry as removed and add a new entry with the revised priority::"
|
||||
msgstr ""
|
||||
"Supprimer une entrée ou changer sa priorité est plus difficile puisque cela "
|
||||
"romprait l'invariant de la structure de tas. Une solution possible est de "
|
||||
"marquer l'entrée comme supprimée et d'ajouter une nouvelle entrée avec sa "
|
||||
"priorité modifiée ::"
|
||||
|
||||
#: ../Doc/library/heapq.rst:239
|
||||
msgid "Theory"
|
||||
msgstr ""
|
||||
msgstr "Théorie"
|
||||
|
||||
#: ../Doc/library/heapq.rst:241
|
||||
msgid ""
|
||||
|
@ -286,12 +388,19 @@ msgid ""
|
|||
"elements are considered to be infinite. The interesting property of a heap "
|
||||
"is that ``a[0]`` is always its smallest element."
|
||||
msgstr ""
|
||||
"Les tas sont des tableaux pour lesquels ``a[k] <= a[2*k+1]`` et ``a[k] <= "
|
||||
"a[2*k+2]`` pour tout *k* en comptant les éléments à partir de 0. Pour "
|
||||
"simplifier la comparaison, les éléments inexistants sont considérés comme "
|
||||
"étant infinis. L'intérêt des tas est que ``a[0]`` est toujours leur plus "
|
||||
"petit élément."
|
||||
|
||||
#: ../Doc/library/heapq.rst:246
|
||||
msgid ""
|
||||
"The strange invariant above is meant to be an efficient memory "
|
||||
"representation for a tournament. The numbers below are *k*, not ``a[k]``::"
|
||||
msgstr ""
|
||||
"L'invariant étrange ci-dessus est une représentation efficace en mémoire "
|
||||
"d'un tournoi. Les nombres ci-dessous sont *k* et non ``a[k]`` ::"
|
||||
|
||||
#: ../Doc/library/heapq.rst:259
|
||||
msgid ""
|
||||
|
@ -305,6 +414,17 @@ msgid ""
|
|||
"two cells it tops contain three different items, but the top cell \"wins\" "
|
||||
"over the two topped cells."
|
||||
msgstr ""
|
||||
"Dans l'arbre ci-dessus, chaque nœud *k* a pour enfants ``2*k+1`` et ``2*k"
|
||||
"+2``. Dans les tournois binaires habituels dans les compétitions sportives, "
|
||||
"chaque nœud est le vainqueur des deux nœuds inférieurs et nous pouvons "
|
||||
"tracer le chemin du vainqueur le long de l'arbre afin de voir qui étaient "
|
||||
"ses adversaires. Cependant, dans de nombreuses applications informatiques de "
|
||||
"ces tournois, nous n'avons pas besoin de produire l'historique du vainqueur. "
|
||||
"Afin d'occuper moins de mémoire, on remplace le vainqueur lors de sa "
|
||||
"promotion par un autre élément à un plus bas niveau. La règle devient alors "
|
||||
"qu'un nœud et les deux nœuds qu'il chapeaute contiennent trois éléments "
|
||||
"différents, mais le nœud supérieur « gagne » contre les deux nœuds "
|
||||
"inférieurs."
|
||||
|
||||
#: ../Doc/library/heapq.rst:268
|
||||
msgid ""
|
||||
|
@ -316,6 +436,15 @@ msgid ""
|
|||
"logarithmic on the total number of items in the tree. By iterating over all "
|
||||
"items, you get an O(n log n) sort."
|
||||
msgstr ""
|
||||
"Si cet invariant de tas est vérifié à tout instant, alors l'élément à "
|
||||
"l'indice 0 est le vainqueur global. L'algorithme le plus simple pour le "
|
||||
"retirer et trouver le vainqueur « suivant » consiste à déplacer un perdant "
|
||||
"(par exemple le nœud 30 dans le diagramme ci-dessus) à la position 0, puis à "
|
||||
"faire redescendre cette nouvelle racine dans l'arbre en échangeant sa valeur "
|
||||
"avec celle d'un de ses fils jusqu'à ce que l'invariant soit rétabli. Cette "
|
||||
"approche a un coût logarithmique par rapport au nombre total d'éléments dans "
|
||||
"l'arbre. En itérant sur tous les éléments, le classement s'effectue en O(n "
|
||||
"log n) opérations."
|
||||
|
||||
#: ../Doc/library/heapq.rst:275
|
||||
msgid ""
|
||||
|
@ -328,6 +457,16 @@ msgid ""
|
|||
"easily go into the heap. So, a heap is a good structure for implementing "
|
||||
"schedulers (this is what I used for my MIDI sequencer :-)."
|
||||
msgstr ""
|
||||
"Une propriété agréable de cet algorithme est qu'il est possible d'insérer "
|
||||
"efficacement de nouveaux éléments en cours de classement, du moment que les "
|
||||
"éléments insérés ne sont pas « meilleurs » que le dernier élément qui a été "
|
||||
"extrait. Ceci s'avère très utile dans des simulations où l'arbre contient la "
|
||||
"liste des événements arrivants et que la condition de « victoire » est le "
|
||||
"plus petit temps d'exécution planifié. Lorsqu'un événement programme "
|
||||
"l'exécution d'autres événements, ceux-ci sont planifiés pour le futur et "
|
||||
"peuvent donc rejoindre le tas. Ainsi, le tas est une bonne structure pour "
|
||||
"implémenter un ordonnanceur (et c'est ce que j'ai utilisé pour mon "
|
||||
"séquenceur MIDI ☺)."
|
||||
|
||||
#: ../Doc/library/heapq.rst:284
|
||||
msgid ""
|
||||
|
@ -337,6 +476,11 @@ msgid ""
|
|||
"average case. However, there are other representations which are more "
|
||||
"efficient overall, yet the worst cases might be terrible."
|
||||
msgstr ""
|
||||
"Plusieurs structures ont été étudiées en détail pour implémenter des "
|
||||
"ordonnanceurs et les tas sont bien adaptés : ils sont raisonnablement "
|
||||
"rapides, leur vitesse est presque constante et le pire cas ne diffère pas "
|
||||
"trop du cas moyen. S'il existe des représentations qui sont plus efficaces "
|
||||
"en général, les pires cas peuvent être terriblement mauvais."
|
||||
|
||||
#: ../Doc/library/heapq.rst:290
|
||||
msgid ""
|
||||
|
@ -351,6 +495,18 @@ msgid ""
|
|||
"which are twice the size of the memory for random input, and much better for "
|
||||
"input fuzzily ordered."
|
||||
msgstr ""
|
||||
"Les tas sont également très utiles pour ordonner les données sur de gros "
|
||||
"disques. Vous savez probablement qu'un gros tri implique la production de "
|
||||
"séquences pré-classées (dont la taille est généralement liée à la quantité "
|
||||
"de mémoire CPU disponible), suivie par une passe de fusion qui est "
|
||||
"généralement organisée de façon très intelligente [#]_. Il est très "
|
||||
"important que le classement initial produise des séquences les plus longues "
|
||||
"possibles. Les tournois sont une bonne façon d'arriver à ce résultat. Si, en "
|
||||
"utilisant toute la mémoire disponible pour stocker un tournoi, vous "
|
||||
"remplacez et faites percoler les éléments qui s'avèrent acceptables pour la "
|
||||
"séquence courante, vous produirez des séquences d'une taille égale au double "
|
||||
"de la mémoire pour une entrée aléatoire et bien mieux pour une entrée "
|
||||
"approximativement triée."
|
||||
|
||||
#: ../Doc/library/heapq.rst:300
|
||||
msgid ""
|
||||
|
@ -362,12 +518,23 @@ msgid ""
|
|||
"the first heap is melting. When the first heap completely vanishes, you "
|
||||
"switch heaps and start a new run. Clever and quite effective!"
|
||||
msgstr ""
|
||||
"Qui plus est, si vous écrivez l'élément 0 sur le disque et que vous recevez "
|
||||
"en entrée un élément qui n'est pas adapté au tournoi actuel (parce que sa "
|
||||
"valeur « gagne » par rapport à la dernière valeur de sortie), alors il ne "
|
||||
"peut pas être stocké dans le tas donc la taille de ce dernier diminue. La "
|
||||
"mémoire libérée peut être réutilisée immédiatement pour progressivement "
|
||||
"construire un deuxième tas, qui croit à la même vitesse que le premier "
|
||||
"décroît. Lorsque le premier tas a complètement disparu, vous échangez les "
|
||||
"tas et démarrez une nouvelle séquence. Malin et plutôt efficace !"
|
||||
|
||||
#: ../Doc/library/heapq.rst:308
|
||||
msgid ""
|
||||
"In a word, heaps are useful memory structures to know. I use them in a few "
|
||||
"applications, and I think it is good to keep a 'heap' module around. :-)"
|
||||
msgstr ""
|
||||
"Pour résumer, les tas sont des structures de données qu'il est bon de "
|
||||
"connaître. Je les utilise dans quelques applications et je pense qu'il est "
|
||||
"bon de garder le module *heap* sous le coude. ☺"
|
||||
|
||||
#: ../Doc/library/heapq.rst:312
|
||||
msgid "Footnotes"
|
||||
|
@ -385,3 +552,14 @@ msgid ""
|
|||
"Believe me, real good tape sorts were quite spectacular to watch! From all "
|
||||
"times, sorting has always been a Great Art! :-)"
|
||||
msgstr ""
|
||||
"Les algorithmes de répartition de charge pour les disques, courants de nos "
|
||||
"jours, sont plus embêtants qu'utiles, en raison de la capacité des disques à "
|
||||
"réaliser des accès aléatoires. Sur les périphériques qui ne peuvent faire "
|
||||
"que de la lecture séquentielle, comme les gros lecteurs à bandes, le besoin "
|
||||
"était différent et il fallait être malin pour s'assurer (bien à l'avance) "
|
||||
"que chaque mouvement de bande serait le plus efficace possible (c'est-à-dire "
|
||||
"participerait au mieux à l'« avancée » de la fusion). Certaines cassettes "
|
||||
"pouvaient même lire à l'envers et cela était aussi utilisé pour éviter de "
|
||||
"remonter dans le temps. Croyez-moi, les bons tris sur bandes étaient "
|
||||
"spectaculaires à regarder ! Depuis la nuit des temps, trier a toujours été "
|
||||
"le Grand Art ! ☺"
|
||||
|
|
|
@ -17,6 +17,8 @@ msgstr ""
|
|||
#: ../Doc/library/hmac.rst:2
|
||||
msgid ":mod:`hmac` --- Keyed-Hashing for Message Authentication"
|
||||
msgstr ""
|
||||
":mod:`hmac` — Authentification de messages par hachage en combinaison avec "
|
||||
"une clé secrète"
|
||||
|
||||
#: ../Doc/library/hmac.rst:10
|
||||
msgid "**Source code:** :source:`Lib/hmac.py`"
|
||||
|
@ -25,6 +27,7 @@ msgstr "**Code source :** :source:`Lib/hmac.py`"
|
|||
#: ../Doc/library/hmac.rst:14
|
||||
msgid "This module implements the HMAC algorithm as described by :rfc:`2104`."
|
||||
msgstr ""
|
||||
"Ce module implémente l'algorithme HMAC tel que décrit par la :rfc:`2104`."
|
||||
|
||||
#: ../Doc/library/hmac.rst:19
|
||||
msgid ""
|
||||
|
@ -41,6 +44,9 @@ msgid ""
|
|||
"of any type supported by :mod:`hashlib`. Parameter *digestmod* can be the "
|
||||
"name of a hash algorithm."
|
||||
msgstr ""
|
||||
"Le paramètre *key* peut être un *byte* ou un objet *bytearray*. Le paramètre "
|
||||
"*msg* peut être de n'importe quel type pris en charge par :mod:`hashlib`. Le "
|
||||
"paramètre *digestmod* peut être le nom d'un algorithme de hachage."
|
||||
|
||||
#: ../Doc/library/hmac.rst:31
|
||||
msgid "MD5 as implicit default digest for *digestmod* is deprecated."
|
||||
|
@ -54,6 +60,12 @@ msgid ""
|
|||
"The parameters *key*, *msg*, and *digest* have the same meaning as in :func:"
|
||||
"`~hmac.new`."
|
||||
msgstr ""
|
||||
"Renvoie le code d'authentification de *msg*, pour la clé secrète *key* et à "
|
||||
"l'algorithme *digest* donné. La fonction est équivalente à ``HMAC(key, msg, "
|
||||
"digest).digest()``, mais elle utilise une implémentation optimisée en C ou "
|
||||
"*inline*, qui est plus rapide pour les messages dont la taille leur permet "
|
||||
"de tenir en mémoire vive. Les paramètres *key*, *msg* et *digest* ont la "
|
||||
"même signification que pour :func:`~hmac.new`."
|
||||
|
||||
#: ../Doc/library/hmac.rst:42
|
||||
msgid ""
|
||||
|
@ -61,10 +73,13 @@ msgid ""
|
|||
"when *digest* is a string and name of a digest algorithm, which is supported "
|
||||
"by OpenSSL."
|
||||
msgstr ""
|
||||
"Détail d'implémentation CPython, l'implémentation C optimisée n'est utilisée "
|
||||
"que lorsque le *digest* est une chaîne de caractères et le nom d'un "
|
||||
"algorithme de hachage implémenté dans OpenSSL."
|
||||
|
||||
#: ../Doc/library/hmac.rst:49
|
||||
msgid "An HMAC object has the following methods:"
|
||||
msgstr ""
|
||||
msgstr "Un objet HMAC a les méthodes suivantes :"
|
||||
|
||||
#: ../Doc/library/hmac.rst:53
|
||||
msgid ""
|
||||
|
@ -72,10 +87,14 @@ msgid ""
|
|||
"single call with the concatenation of all the arguments: ``m.update(a); m."
|
||||
"update(b)`` is equivalent to ``m.update(a + b)``."
|
||||
msgstr ""
|
||||
"Met à jour l'objet HMAC avec *msg*. Des appels répétés sont équivalents à un "
|
||||
"seul appel avec la concaténation de tous les arguments : ``m.update(a); m."
|
||||
"update(b)`` est équivalent à ``m.update(a + b)``."
|
||||
|
||||
#: ../Doc/library/hmac.rst:57
|
||||
msgid "Parameter *msg* can be of any type supported by :mod:`hashlib`."
|
||||
msgstr ""
|
||||
"Le paramètre *msg* peut être de n'importe quel type géré par :mod:`hashlib`."
|
||||
|
||||
#: ../Doc/library/hmac.rst:63
|
||||
msgid ""
|
||||
|
@ -84,6 +103,10 @@ msgid ""
|
|||
"given to the constructor. It may contain non-ASCII bytes, including NUL "
|
||||
"bytes."
|
||||
msgstr ""
|
||||
"Renvoie le condensat des octets passés à la méthode :meth:`update` jusque "
|
||||
"là. L'objet *bytes* renvoyé sera de la même longueur que la *digest_size* de "
|
||||
"la fonction de hachage donnée au constructeur. Il peut contenir des octets "
|
||||
"qui ne sont pas dans la table ASCII, y compris des octets NUL."
|
||||
|
||||
#: ../Doc/library/hmac.rst:70
|
||||
msgid ""
|
||||
|
@ -92,6 +115,10 @@ msgid ""
|
|||
"`compare_digest` function instead of the ``==`` operator to reduce the "
|
||||
"vulnerability to timing attacks."
|
||||
msgstr ""
|
||||
"Si vous devez vérifier la sortie de :meth:`digest` avec un condensat obtenu "
|
||||
"par ailleurs par un service extérieur durant une routine de vérification, il "
|
||||
"est recommandé d'utiliser la fonction :func:`compare_digest` au lieu de "
|
||||
"l'opérateur ``==`` afin de réduire la vulnérabilité aux attaques temporelles."
|
||||
|
||||
#: ../Doc/library/hmac.rst:78
|
||||
msgid ""
|
||||
|
@ -99,6 +126,10 @@ msgid ""
|
|||
"length containing only hexadecimal digits. This may be used to exchange the "
|
||||
"value safely in email or other non-binary environments."
|
||||
msgstr ""
|
||||
"Comme :meth:`digest` sauf que ce condensat est renvoyé en tant que chaîne de "
|
||||
"caractères de taille doublée contenant seulement des chiffres hexadécimaux. "
|
||||
"Cela permet d’échanger le résultat sans problèmes par e-mail ou dans "
|
||||
"d'autres environnements ne gérant pas les données binaires."
|
||||
|
||||
#: ../Doc/library/hmac.rst:84
|
||||
msgid ""
|
||||
|
@ -107,6 +138,11 @@ msgid ""
|
|||
"`compare_digest` function instead of the ``==`` operator to reduce the "
|
||||
"vulnerability to timing attacks."
|
||||
msgstr ""
|
||||
"Si l'on compare la sortie de :meth:`hexdigest` avec celle d'un condensat "
|
||||
"connu obtenu par un service extérieur durant une routine de vérification, il "
|
||||
"est recommandé d'utiliser la fonction :func:`compare_digest` au lieu de "
|
||||
"l'opérateur ``==`` afin de réduire la vulnérabilité aux attaques basées sur "
|
||||
"les temps de réponse."
|
||||
|
||||
#: ../Doc/library/hmac.rst:92
|
||||
msgid ""
|
||||
|
@ -114,14 +150,21 @@ msgid ""
|
|||
"efficiently compute the digests of strings that share a common initial "
|
||||
"substring."
|
||||
msgstr ""
|
||||
"Renvoie une copie (un clone) de l'objet HMAC. C'est utile pour calculer de "
|
||||
"manière efficace les empreintes cryptographiques de chaînes de caractères "
|
||||
"qui ont en commun une sous-chaîne initiale."
|
||||
|
||||
#: ../Doc/library/hmac.rst:96
|
||||
msgid "A hash object has the following attributes:"
|
||||
msgstr "L'objet haché possède les attributs suivants ::"
|
||||
msgstr ""
|
||||
"Un objet *code d'authentification de message* (HMAC) possède les attributs "
|
||||
"suivants :"
|
||||
|
||||
#: ../Doc/library/hmac.rst:100
|
||||
msgid "The size of the resulting HMAC digest in bytes."
|
||||
msgstr ""
|
||||
"La taille du code d'authentification (c-à-d de l'empreinte cryptographique) "
|
||||
"en octets."
|
||||
|
||||
#: ../Doc/library/hmac.rst:104
|
||||
msgid "The internal block size of the hash algorithm in bytes."
|
||||
|
@ -130,10 +173,12 @@ msgstr "La taille interne d'un bloc de l'algorithme de hachage en octets."
|
|||
#: ../Doc/library/hmac.rst:110
|
||||
msgid "The canonical name of this HMAC, always lowercase, e.g. ``hmac-md5``."
|
||||
msgstr ""
|
||||
"Le nom canonique de ce HMAC, toujours en lettres minuscules, par exemple "
|
||||
"``hmac-md5``."
|
||||
|
||||
#: ../Doc/library/hmac.rst:115
|
||||
msgid "This module also provides the following helper function:"
|
||||
msgstr ""
|
||||
msgstr "Ce module fournit également la fonction utilitaire suivante :"
|
||||
|
||||
#: ../Doc/library/hmac.rst:119
|
||||
msgid ""
|
||||
|
@ -143,6 +188,12 @@ msgid ""
|
|||
"either :class:`str` (ASCII only, as e.g. returned by :meth:`HMAC."
|
||||
"hexdigest`), or a :term:`bytes-like object`."
|
||||
msgstr ""
|
||||
"Renvoie ``a == b``. Cette fonction a été conçue pour prévenir les attaques "
|
||||
"temporelles en évitant l'implémentation de courts-circuits basés sur le "
|
||||
"contenu, ce qui la rend appropriée pour de la cryptographie. *a* et *b* "
|
||||
"doivent être du même type : soit :class:`str` (caractères ASCII seulement, "
|
||||
"comme retourné par :meth:`HMAC.hexdigest` par exemple), ou :term:`bytes-like "
|
||||
"object`."
|
||||
|
||||
#: ../Doc/library/hmac.rst:127
|
||||
msgid ""
|
||||
|
@ -150,11 +201,14 @@ msgid ""
|
|||
"attack could theoretically reveal information about the types and lengths of "
|
||||
"*a* and *b*—but not their values."
|
||||
msgstr ""
|
||||
"Si *a* et *b* sont de longueurs différentes ou si une erreur se produit, une "
|
||||
"attaque temporelle pourrait en théorie obtenir des informations sur les "
|
||||
"types et longueurs de *a* et de *b*, mais pas sur leurs valeurs."
|
||||
|
||||
#: ../Doc/library/hmac.rst:137
|
||||
msgid "Module :mod:`hashlib`"
|
||||
msgstr ""
|
||||
msgstr "Module :mod:`hashlib`"
|
||||
|
||||
#: ../Doc/library/hmac.rst:138
|
||||
msgid "The Python module providing secure hash functions."
|
||||
msgstr ""
|
||||
msgstr "Le module Python fournissant des fonctions de hachage sécurisé."
|
||||
|
|
|
@ -205,7 +205,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Si *rawdata* est une chaine de caractères, l'analyser comme étant un "
|
||||
"``HTTP_COOKIE`` et ajouter les valeurs trouvées en tant que :class:`Morsel`"
|
||||
"\\ s. S'il s'agit d'un dictionnaire, cela est équivalent à ::"
|
||||
"\\ s. S'il s'agit d'un dictionnaire, cela est équivalent à ::"
|
||||
|
||||
#: ../Doc/library/http.cookies.rst:124
|
||||
msgid "Morsel Objects"
|
||||
|
|
|
@ -7,13 +7,12 @@ msgstr ""
|
|||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2019-06-19 22:32+0200\n"
|
||||
"PO-Revision-Date: 2019-07-02 11:42+0200\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Last-Translator: \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"
|
||||
"Last-Translator: \n"
|
||||
"X-Generator: Poedit 2.2.1\n"
|
||||
|
||||
#: ../Doc/library/idle.rst:4
|
||||
|
@ -580,7 +579,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/idle.rst:241
|
||||
msgid "Run... Customized"
|
||||
msgstr ""
|
||||
msgstr "Run... Customized"
|
||||
|
||||
#: ../Doc/library/idle.rst:238
|
||||
msgid ""
|
||||
|
@ -588,6 +587,10 @@ msgid ""
|
|||
"settings. *Command Line Arguments* extend :data:`sys.argv` as if passed on "
|
||||
"a command line. The module can be run in the Shell without restarting."
|
||||
msgstr ""
|
||||
"Similaire à :ref:`Run Module <run-module>`, mais lance le module avec des "
|
||||
"paramètres personnalisés. Les *Command Line Arguments* se rajoutent à :data:"
|
||||
"`sys.argv` comme s'ils étaient passés par la ligne de commande. Le module "
|
||||
"peut être lancé dans le terminal sans avoir à le redémarrer."
|
||||
|
||||
#: ../Doc/library/idle.rst:244
|
||||
msgid "Shell menu (Shell window only)"
|
||||
|
@ -648,7 +651,8 @@ msgstr "Menu *Debug* (fenêtre de console uniquement)"
|
|||
msgid "Go to File/Line"
|
||||
msgstr "*Go to File/Line*"
|
||||
|
||||
# Look on the current line. with the cursor, and the line above for a filename and line number.
|
||||
# Look on the current line. with the cursor, and the line above for a filename
|
||||
# and line number.
|
||||
# Il y a des erreurs d'anglais là-dedans...
|
||||
#: ../Doc/library/idle.rst:265
|
||||
msgid ""
|
||||
|
@ -1540,7 +1544,8 @@ msgstr ""
|
|||
"redémarrer la console dans le menu Shell peut résoudre un problème "
|
||||
"temporaire."
|
||||
|
||||
# ... this can be prevented by never editing the files by hand, using the configuration dialog, under Options, instead Options.
|
||||
# ... this can be prevented by never editing the files by hand, using the
|
||||
# configuration dialog, under Options, instead Options.
|
||||
# Qu'est-ce que ça veut dire ???
|
||||
#: ../Doc/library/idle.rst:677
|
||||
msgid ""
|
||||
|
@ -1560,7 +1565,8 @@ msgstr ""
|
|||
"la solution peut être de supprimer un ou plusieurs des fichiers de "
|
||||
"configuration."
|
||||
|
||||
# Je suppose que c'est (``python -m idlelib)``, et pas (``python -m idlelib``)...
|
||||
# Je suppose que c'est (``python -m idlelib)``, et pas (``python -m
|
||||
# idlelib``)...
|
||||
#: ../Doc/library/idle.rst:684
|
||||
msgid ""
|
||||
"If IDLE quits with no message, and it was not started from a console, try "
|
||||
|
@ -1654,6 +1660,8 @@ msgid ""
|
|||
"When user code raises SystemExit either directly or by calling sys.exit, "
|
||||
"IDLE returns to a Shell prompt instead of exiting."
|
||||
msgstr ""
|
||||
"Lorsque l'utilisateur lève `SystemExit` directement ou en appelant ``sys."
|
||||
"exit``, IDLE revient au terminal IDLE au lieu de quitter."
|
||||
|
||||
#: ../Doc/library/idle.rst:724
|
||||
msgid "User output in Shell"
|
||||
|
|
|
@ -54,7 +54,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/imaplib.rst:50
|
||||
msgid "Support for the :keyword:`with` statement was added."
|
||||
msgstr ""
|
||||
msgstr "La prise en charge de l'instruction :keyword:`with` a été ajoutée."
|
||||
|
||||
#: ../Doc/library/imaplib.rst:53
|
||||
msgid "Three exceptions are defined as attributes of the :class:`IMAP4` class:"
|
||||
|
|
|
@ -1320,7 +1320,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/io.rst:965
|
||||
msgid "Example usage::"
|
||||
msgstr ""
|
||||
msgstr "Exemple d'utilisation ::"
|
||||
|
||||
#: ../Doc/library/io.rst:987
|
||||
msgid ""
|
||||
|
@ -1330,7 +1330,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/io.rst:992
|
||||
msgid "Performance"
|
||||
msgstr ""
|
||||
msgstr "Performances"
|
||||
|
||||
#: ../Doc/library/io.rst:994
|
||||
msgid ""
|
||||
|
|
|
@ -20,7 +20,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/ipaddress.rst:9
|
||||
msgid "**Source code:** :source:`Lib/ipaddress.py`"
|
||||
msgstr ""
|
||||
msgstr "**Code source :** :source:`Lib/ipaddress.py`"
|
||||
|
||||
#: ../Doc/library/ipaddress.rst:13
|
||||
msgid ""
|
||||
|
@ -676,7 +676,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/ipaddress.rst:693
|
||||
msgid "Iteration"
|
||||
msgstr ""
|
||||
msgstr "Itération"
|
||||
|
||||
#: ../Doc/library/ipaddress.rst:695
|
||||
msgid ""
|
||||
|
|
|
@ -18,8 +18,7 @@ msgstr ""
|
|||
#: ../Doc/library/itertools.rst:2
|
||||
msgid ":mod:`itertools` --- Functions creating iterators for efficient looping"
|
||||
msgstr ""
|
||||
":mod:`itertools` --- Fonctions créant des itérateurs pour boucler "
|
||||
"efficacement."
|
||||
":mod:`itertools` — Fonctions créant des itérateurs pour boucler efficacement"
|
||||
|
||||
#: ../Doc/library/itertools.rst:16
|
||||
msgid ""
|
||||
|
@ -28,8 +27,8 @@ msgid ""
|
|||
"suitable for Python."
|
||||
msgstr ""
|
||||
"Ce module implémente de nombreuses briques :term:`d'itérateurs <itérateur>` "
|
||||
"inspirées par des constructions de APL, Haskell et SML. Toutes ont été "
|
||||
"retravaillées dans un format adéquat pour Python."
|
||||
"inspirées par des éléments de APL, Haskell et SML. Toutes ont été "
|
||||
"retravaillées dans un format adapté à Python."
|
||||
|
||||
#: ../Doc/library/itertools.rst:20
|
||||
msgid ""
|
||||
|
@ -38,10 +37,10 @@ msgid ""
|
|||
"algebra\" making it possible to construct specialized tools succinctly and "
|
||||
"efficiently in pure Python."
|
||||
msgstr ""
|
||||
"Ce module standardise un noyau d'outils rapide, efficaces en mémoire qui "
|
||||
"sont utiles d'eux-mêmes ou en les combinant. Ensemble, ils forment une "
|
||||
"\"algèbre d'itérateurs\" rendant possible la construction succincte et "
|
||||
"efficace d'outils spécialisés en Python seulement."
|
||||
"Ce module standardise un ensemble de base d'outils rapides et efficaces en "
|
||||
"mémoire qui peuvent être utilisés individuellement ou en les combinant. "
|
||||
"Ensemble, ils forment une « algèbre d'itérateurs » rendant possible la "
|
||||
"construction rapide et efficace d'outils spécialisés en Python."
|
||||
|
||||
#: ../Doc/library/itertools.rst:25
|
||||
msgid ""
|
||||
|
@ -50,7 +49,7 @@ msgid ""
|
|||
"by combining :func:`map` and :func:`count` to form ``map(f, count())``."
|
||||
msgstr ""
|
||||
"Par exemple, SML fournit un outil de tabulation ``tabulate(f)`` qui produit "
|
||||
"une séquence ``f(0), f(1), ...``. Le même résultat peut être achevé en "
|
||||
"une séquence ``f(0), f(1), ...``. Le même résultat peut être obtenu en "
|
||||
"Python en combinant :func:`map` et :func:`count` pour former ``map(f, "
|
||||
"count())``."
|
||||
|
||||
|
@ -61,10 +60,10 @@ msgid ""
|
|||
"multiplication operator can be mapped across two vectors to form an "
|
||||
"efficient dot-product: ``sum(map(operator.mul, vector1, vector2))``."
|
||||
msgstr ""
|
||||
"Ces outils et leurs équivalents intégrés fonctionnent aussi bien avec les "
|
||||
"fonction à grande vitesse dans le module :mod:`operator`. Par exemple, "
|
||||
"l'opérateur de multiplication peut être appliqué à deux vecteurs pour créer "
|
||||
"un produit scalaire efficace ``sum(map(operator.mul, vecteur1, vecteur2))``."
|
||||
"Ces outils et leurs équivalents natifs fonctionnent également bien avec les "
|
||||
"fonctions optimisées du module :mod:`operator`. Par exemple, l'opérateur de "
|
||||
"multiplication peut être appliqué à deux vecteurs pour créer un produit "
|
||||
"scalaire efficace : ``sum(map(operator.mul, vecteur1, vecteur2))``."
|
||||
|
||||
#: ../Doc/library/itertools.rst:35
|
||||
msgid "**Infinite iterators:**"
|
||||
|
@ -224,7 +223,7 @@ msgstr ":func:`filterfalse`"
|
|||
|
||||
#: ../Doc/library/itertools.rst:55
|
||||
msgid "elements of seq where pred(elem) is false"
|
||||
msgstr "éléments de *seq* quand *pred(elem)* est faux"
|
||||
msgstr "éléments de *seq* pour lesquels *pred(elem)* est faux"
|
||||
|
||||
#: ../Doc/library/itertools.rst:55
|
||||
msgid "``filterfalse(lambda x: x%2, range(10)) --> 0 2 4 6 8``"
|
||||
|
@ -337,8 +336,8 @@ msgstr "p[, r]"
|
|||
#: ../Doc/library/itertools.rst:70
|
||||
msgid "r-length tuples, all possible orderings, no repeated elements"
|
||||
msgstr ""
|
||||
"*tuples* de longueur *r*, tous les ré-arrangements possibles, sans "
|
||||
"répétition d'éléments"
|
||||
"n-uplets de longueur r, tous les ré-arrangements possibles, sans répétition "
|
||||
"d'éléments"
|
||||
|
||||
#: ../Doc/library/itertools.rst:71
|
||||
msgid ":func:`combinations`"
|
||||
|
@ -350,7 +349,7 @@ msgstr "p, r"
|
|||
|
||||
#: ../Doc/library/itertools.rst:71
|
||||
msgid "r-length tuples, in sorted order, no repeated elements"
|
||||
msgstr "tuples de longueur r, triés, sans répétition d'éléments"
|
||||
msgstr "n-uplets de longueur r, ordonnés, sans répétition d'éléments"
|
||||
|
||||
#: ../Doc/library/itertools.rst:72
|
||||
msgid ":func:`combinations_with_replacement`"
|
||||
|
@ -358,7 +357,7 @@ msgstr ":func:`combinations_with_replacement`"
|
|||
|
||||
#: ../Doc/library/itertools.rst:72
|
||||
msgid "r-length tuples, in sorted order, with repeated elements"
|
||||
msgstr "tuples de longueur r, triés, avec répétition d'éléments"
|
||||
msgstr "n-uplets de longueur r, ordonnés, avec répétition d'éléments"
|
||||
|
||||
#: ../Doc/library/itertools.rst:73
|
||||
msgid "``product('ABCD', repeat=2)``"
|
||||
|
@ -402,10 +401,10 @@ msgid ""
|
|||
"provide streams of infinite length, so they should only be accessed by "
|
||||
"functions or loops that truncate the stream."
|
||||
msgstr ""
|
||||
"Toutes les fonctions de module qui suivent construisent et renvoient des "
|
||||
"itérateurs. Certaines fournissent des flux de longueur infinie, elles "
|
||||
"devraient seulement être accédées par des fonctions ou boucles qui tronquent "
|
||||
"le flux."
|
||||
"Toutes les fonctions du module qui suivent construisent et renvoient des "
|
||||
"itérateurs. Certaines produisent des flux de longueur infinie ; celles-ci ne "
|
||||
"doivent donc être contrôlées que par des fonctions ou boucles qui "
|
||||
"interrompent le flux."
|
||||
|
||||
#: ../Doc/library/itertools.rst:91
|
||||
msgid ""
|
||||
|
@ -432,7 +431,7 @@ msgstr ""
|
|||
#: ../Doc/library/itertools.rst:242 ../Doc/library/itertools.rst:478
|
||||
#: ../Doc/library/itertools.rst:557 ../Doc/library/itertools.rst:610
|
||||
msgid "Roughly equivalent to::"
|
||||
msgstr "Sensiblement équivalent à : ::"
|
||||
msgstr "À peu près équivalent à ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:117
|
||||
msgid ""
|
||||
|
@ -444,14 +443,15 @@ msgid ""
|
|||
"modeled by supplying the initial value in the iterable and using only the "
|
||||
"accumulated total in *func* argument::"
|
||||
msgstr ""
|
||||
"Il y a de nombreuses utilisations pour l'argument *func*. Il peut être :func:"
|
||||
"`min` pour un minimum glissant, :func:`max` pour un maximum glissant, ou :"
|
||||
"func:`operator.mul` pour un produit glissant. Des tableaux de remboursement "
|
||||
"peuvent être construites en accumulant l'intérêt et en déposant des "
|
||||
"paiements. Des `suites de récurrences <https://fr.wikipedia.org/wiki/Suite_d"
|
||||
"%C3%A9finie_par_r%C3%A9currence>`_ de premier ordre peuvent être modélisées "
|
||||
"en renseignant la valeur initiale dans l'itérable et en utilisant seulement "
|
||||
"le total accumulé dans l'argument *func* : ::"
|
||||
"Il y a de nombreuses utilisations à l'argument *func*. Celui-ci peut être :"
|
||||
"func:`min` pour calculer un minimum glissant, :func:`max` pour un maximum "
|
||||
"glissant ou :func:`operator.mul` pour un produit glissant. Des tableaux de "
|
||||
"remboursements peuvent être construits en ajoutant les intérêts et en "
|
||||
"soustrayant les paiements. Des `suites par récurrence <https://fr.wikipedia."
|
||||
"org/wiki/Suite_d%C3%A9finie_par_r%C3%A9currence>`_ de premier ordre peuvent "
|
||||
"être modélisées en en passant la valeur initiale dans *iterable* et en "
|
||||
"n'utilisant que le premier argument de *func*, qui contient le résultat des "
|
||||
"évaluations précédentes ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:147
|
||||
msgid ""
|
||||
|
@ -463,7 +463,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/itertools.rst:152
|
||||
msgid "Added the optional *func* parameter."
|
||||
msgstr "Le paramètre optionnel *func* a été ajouté."
|
||||
msgstr "Ajout du paramètre optionnel *func*."
|
||||
|
||||
#: ../Doc/library/itertools.rst:157
|
||||
msgid ""
|
||||
|
@ -472,10 +472,10 @@ msgid ""
|
|||
"are exhausted. Used for treating consecutive sequences as a single "
|
||||
"sequence. Roughly equivalent to::"
|
||||
msgstr ""
|
||||
"Créer un itérateur qui renvoie les éléments du premier itérable jusqu'à son "
|
||||
"Crée un itérateur qui renvoie les éléments du premier itérable jusqu'à son "
|
||||
"épuisement, puis continue avec l'itérable suivant jusqu'à ce que tous les "
|
||||
"itérables soient épuisés. Utilisée pour traiter des séquences consécutives "
|
||||
"comme une seule séquence Sensiblement équivalente à : ::"
|
||||
"comme une seule séquence. À peu près équivalent à ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:171
|
||||
msgid ""
|
||||
|
@ -483,12 +483,12 @@ msgid ""
|
|||
"iterable argument that is evaluated lazily. Roughly equivalent to::"
|
||||
msgstr ""
|
||||
"Constructeur alternatif pour :func:`chain`. Récupère des entrées chaînées "
|
||||
"d'un unique argument itérable qui est évalué de manière paresseuse. "
|
||||
"Sensiblement équivalente à : ::"
|
||||
"depuis un unique itérable passé en argument, qui est évalué de manière "
|
||||
"paresseuse. À peu près équivalent à ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:183
|
||||
msgid "Return *r* length subsequences of elements from the input *iterable*."
|
||||
msgstr "Renvoyer les sous-séquences de longueur *r* de l'itérable *iterable*."
|
||||
msgstr "Renvoie les combinaisons de longueur *r* de *iterable*."
|
||||
|
||||
#: ../Doc/library/itertools.rst:185 ../Doc/library/itertools.rst:234
|
||||
msgid ""
|
||||
|
@ -496,9 +496,9 @@ msgid ""
|
|||
"*iterable* is sorted, the combination tuples will be produced in sorted "
|
||||
"order."
|
||||
msgstr ""
|
||||
"Les combinaisons sont émises dans l'ordre lexicographique. Ainsi, si "
|
||||
"l'itérable *iterable* est trié, les *tuples* de combinaison seront produits "
|
||||
"dans l'ordre."
|
||||
"Les combinaisons sont produites dans l'ordre lexicographique. Ainsi, si "
|
||||
"l'itérable *iterable* est ordonné, les n-uplets de combinaison produits le "
|
||||
"sont aussi."
|
||||
|
||||
#: ../Doc/library/itertools.rst:189
|
||||
msgid ""
|
||||
|
@ -516,9 +516,9 @@ msgid ""
|
|||
"func:`permutations` after filtering entries where the elements are not in "
|
||||
"sorted order (according to their position in the input pool)::"
|
||||
msgstr ""
|
||||
"Le code de :func:`combinations` peut aussi être exprimé comme une sous-"
|
||||
"séquence de :func:`permutations` après avoir filtré les entrées dont les "
|
||||
"éléments ne sont pas triés (selon leur position dans le *pool* d'entrée) : ::"
|
||||
"Un appel à :func:`combinations` peut aussi être vu comme à un appel à :func:"
|
||||
"`permutations` en excluant les sorties dans lesquelles les éléments ne sont "
|
||||
"pas ordonnés (avec la même relation d'ordre que pour l'entrée) ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:226
|
||||
msgid ""
|
||||
|
@ -553,10 +553,10 @@ msgid ""
|
|||
"a subsequence of :func:`product` after filtering entries where the elements "
|
||||
"are not in sorted order (according to their position in the input pool)::"
|
||||
msgstr ""
|
||||
"Le code pour :func:`combinations_with_replacement` peut aussi être exprimé "
|
||||
"comme une sous-séquence de :func:`product` après avoir filtré les entrées où "
|
||||
"les éléments ne sont pas dans triés (selon leur position dans le *pool* "
|
||||
"d'entrée) : ::"
|
||||
"Un appel à :func:`combinations_with_replacement` peut aussi être vu comme un "
|
||||
"appel à :func:`product` en excluant les sorties dans lesquelles les éléments "
|
||||
"ne sont pas dans ordonnés (avec la même relation d'ordre que pour "
|
||||
"l'entrée) ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:272
|
||||
msgid ""
|
||||
|
@ -571,10 +571,10 @@ msgid ""
|
|||
"Stops when either the *data* or *selectors* iterables has been exhausted. "
|
||||
"Roughly equivalent to::"
|
||||
msgstr ""
|
||||
"Créer un itérateur qui filtre les éléments de *data*, renvoyant seulement "
|
||||
"ceux qui ont un élément correspondant dans *selectors* qui évalue à "
|
||||
"``True``. S'arrête quand l'itérable *data* ou *selectors* a été épuisé. "
|
||||
"Sensiblement équivalent à : ::"
|
||||
"Crée un itérateur qui filtre les éléments de *data*, en ne renvoyant que "
|
||||
"ceux dont l'élément correspondant dans *selectors* s'évalue à ``True``. "
|
||||
"S'arrête quand l'itérable *data* ou *selectors* a été épuisé. À peu près "
|
||||
"équivalent à ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:293
|
||||
msgid ""
|
||||
|
@ -583,10 +583,10 @@ msgid ""
|
|||
"data points. Also, used with :func:`zip` to add sequence numbers. Roughly "
|
||||
"equivalent to::"
|
||||
msgstr ""
|
||||
"Créer un itérateur qui renvoie les valeurs espacées également commençant par "
|
||||
"le nombre *start*. Souvent utilisée comme un argument de :func:`map` pour "
|
||||
"générer des points de données consécutifs. Aussi utilisé avec :func:`zip` "
|
||||
"pour ajouter des nombres de séquence. Sensiblement équivalent à : ::"
|
||||
"Crée un itérateur qui renvoie des valeurs espacées régulièrement, en "
|
||||
"commençant par le nombre *start*. Souvent utilisé comme un argument de :func:"
|
||||
"`map` pour générer des points de données consécutifs. Aussi utilisé avec :"
|
||||
"func:`zip` pour ajouter des nombres de séquence. À peu près équivalent à ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:305
|
||||
msgid ""
|
||||
|
@ -594,9 +594,9 @@ msgid ""
|
|||
"achieved by substituting multiplicative code such as: ``(start + step * i "
|
||||
"for i in count())``."
|
||||
msgstr ""
|
||||
"Quand on compte avec des nombres à virgule flottante, il est parfois "
|
||||
"possible d'obtenir une meilleure précision en substituant du code "
|
||||
"multiplicateur comme : ``(start + step * i for i in count())``."
|
||||
"Pour compter avec des nombres à virgule flottante, il est parfois préférable "
|
||||
"d'utiliser le code : ``(start + step * i for i in count())`` pour obtenir "
|
||||
"une meilleure précision."
|
||||
|
||||
#: ../Doc/library/itertools.rst:309
|
||||
msgid "Added *step* argument and allowed non-integer arguments."
|
||||
|
@ -610,18 +610,17 @@ msgid ""
|
|||
"each. When the iterable is exhausted, return elements from the saved copy. "
|
||||
"Repeats indefinitely. Roughly equivalent to::"
|
||||
msgstr ""
|
||||
"Créer un itérateur qui renvoie les éléments de l'itérable et qui sauvegarde "
|
||||
"une copie de chaque. Quand l'itérable est épuisé, renvoyer les éléments "
|
||||
"depuis la copie sauvegardée. Répète à l'infini. Sensiblement équivalent "
|
||||
"à : ::"
|
||||
"Crée un itérateur qui renvoie les éléments de l'itérable en en sauvegardant "
|
||||
"une copie. Quand l'itérable est épuisé, renvoie les éléments depuis la "
|
||||
"sauvegarde. Répète à l'infini. À peu près équivalent à ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:328
|
||||
msgid ""
|
||||
"Note, this member of the toolkit may require significant auxiliary storage "
|
||||
"(depending on the length of the iterable)."
|
||||
msgstr ""
|
||||
"Note, cette fonction pourrait avoir besoin d'un stockage auxiliaire "
|
||||
"important (en fonction de la longueur de l'itérable)."
|
||||
"Note, cette fonction peut avoir besoin d'un stockage auxiliaire important "
|
||||
"(en fonction de la longueur de l'itérable)."
|
||||
|
||||
#: ../Doc/library/itertools.rst:334
|
||||
msgid ""
|
||||
|
@ -630,10 +629,10 @@ msgid ""
|
|||
"does not produce *any* output until the predicate first becomes false, so it "
|
||||
"may have a lengthy start-up time. Roughly equivalent to::"
|
||||
msgstr ""
|
||||
"Créer un itérateur qui saute les éléments de l'itérable tant que le prédicat "
|
||||
"est vrai ; ensuite, renvoyer chaque élément. Note, l'itérateur ne produit "
|
||||
"Crée un itérateur qui saute les éléments de l'itérable tant que le prédicat "
|
||||
"est vrai ; renvoie ensuite chaque élément. Notez que l'itérateur ne produit "
|
||||
"*aucune* sortie avant que le prédicat ne devienne faux, il peut donc avoir "
|
||||
"un temps de démarrage long. Sensiblement équivalent à : ::"
|
||||
"un temps de démarrage long. À peu près équivalent à ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:351
|
||||
msgid ""
|
||||
|
@ -641,9 +640,9 @@ msgid ""
|
|||
"for which the predicate is ``False``. If *predicate* is ``None``, return the "
|
||||
"items that are false. Roughly equivalent to::"
|
||||
msgstr ""
|
||||
"Créer un itérateur qui filtre les éléments de *iterable*, ne renvoyant "
|
||||
"seulement ceux pour lesquels le prédicat est ``Faux``. Si *predicate* vaut "
|
||||
"``None``, renvoyer les éléments qui sont faux. Sensiblement équivalent à : ::"
|
||||
"Crée un itérateur qui filtre les éléments de *iterable*, ne renvoyant "
|
||||
"seulement ceux pour lesquels le prédicat est ``False``. Si *predicate* vaut "
|
||||
"``None``, renvoie les éléments qui sont faux. À peu près équivalent à ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:366
|
||||
msgid ""
|
||||
|
@ -653,12 +652,12 @@ msgid ""
|
|||
"returns the element unchanged. Generally, the iterable needs to already be "
|
||||
"sorted on the same key function."
|
||||
msgstr ""
|
||||
"Créer un itérateur qui renvoie les clés et les groupes de l'itérable "
|
||||
"Crée un itérateur qui renvoie les clés et les groupes de l'itérable "
|
||||
"*iterable*. La clé *key* est une fonction qui génère une clé pour chaque "
|
||||
"élément. Si *key* n'est pas spécifié ou est ``None``, elle vaut par défaut "
|
||||
"élément. Si *key* n'est pas spécifiée ou est ``None``, elle vaut par défaut "
|
||||
"une fonction d'identité qui renvoie l'élément sans le modifier. "
|
||||
"Généralement, l'itérable a besoin d'être déjà trié selon cette même fonction "
|
||||
"de clé."
|
||||
"Généralement, l'itérable a besoin d'avoir ses éléments déjà classés selon "
|
||||
"cette même fonction de clé."
|
||||
|
||||
#: ../Doc/library/itertools.rst:372
|
||||
msgid ""
|
||||
|
@ -685,12 +684,12 @@ msgstr ""
|
|||
"Le groupe renvoyé est lui-même un itérateur qui partage l'itérable sous-"
|
||||
"jacent avec :func:`groupby`. Puisque que la source est partagée, quand "
|
||||
"l'objet :func:`groupby` est avancé, le groupe précédent n'est plus visible. "
|
||||
"Ainsi, si cette donnée doit être utilisée plus tard, elle devrait être "
|
||||
"stockée comme une liste : ::"
|
||||
"Ainsi, si cette donnée doit être utilisée plus tard, elle doit être stockée "
|
||||
"comme une liste ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:390
|
||||
msgid ":func:`groupby` is roughly equivalent to::"
|
||||
msgstr ":func:`groupby` est sensiblement équivalent à : ::"
|
||||
msgstr ":func:`groupby` est à peu près équivalente à ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:423
|
||||
msgid ""
|
||||
|
@ -705,18 +704,18 @@ msgid ""
|
|||
"the internal structure has been flattened (for example, a multi-line report "
|
||||
"may list a name field on every third line). Roughly equivalent to::"
|
||||
msgstr ""
|
||||
"Créer un itérateur qui renvoie les élément sélectionnés de l'itérable. Si "
|
||||
"*start* est non-nul, alors les éléments de l'itérable sont sautés jusqu'à ce "
|
||||
"que *start* soit atteint. Ensuite, les éléments sont renvoyés "
|
||||
"Crée un itérateur qui renvoie les élément sélectionnés de l'itérable. Si "
|
||||
"*start* est différent de zéro, alors les éléments de l'itérable sont ignorés "
|
||||
"jusqu'à ce que *start* soit atteint. Ensuite, les éléments sont renvoyés "
|
||||
"consécutivement sauf si *step* est plus grand que 1, auquel cas certains "
|
||||
"éléments seront sautés. Si *stop* est ``None``, alors l'itération continue "
|
||||
"éléments seront ignorés. Si *stop* est ``None``, alors l'itération continue "
|
||||
"jusqu'à ce que l'itérateur soit épuisé s'il ne l'est pas déjà ; sinon, il "
|
||||
"s'arrête à la position spécifiée. À la différence du *slicing* standard, :"
|
||||
"func:`slice` ne supporte pas les valeurs négatives pour *start*, *stop* ou "
|
||||
"*step*. Peut être utilisée pour extraire les champs apparentés depuis des "
|
||||
"s'arrête à la position spécifiée. À la différence des tranches standards, :"
|
||||
"func:`slice` ne gère pas les valeurs négatives pour *start*, *stop* ou "
|
||||
"*step*. Peut être utilisée pour extraire les champs consécutifs depuis des "
|
||||
"données dont la structure interne a été aplatie (par exemple, un rapport "
|
||||
"multi-ligne pourrait lister un nom de champ toutes les trois lignes). "
|
||||
"Sensiblement similaire à : ::"
|
||||
"multi-lignes pourrait lister un nom de champ toutes les trois lignes). À peu "
|
||||
"près similaire à ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:458
|
||||
msgid ""
|
||||
|
@ -730,7 +729,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"Return successive *r* length permutations of elements in the *iterable*."
|
||||
msgstr ""
|
||||
"Renvoyer les permutations successives de longueur *r* des éléments de "
|
||||
"Renvoie les arrangements successifs de longueur *r* des éléments de "
|
||||
"*iterable*."
|
||||
|
||||
#: ../Doc/library/itertools.rst:466
|
||||
|
@ -749,8 +748,8 @@ msgid ""
|
|||
"order."
|
||||
msgstr ""
|
||||
"Les permutations sont émises dans l'ordre lexicographique. Ainsi, si "
|
||||
"l'itérable d'entrée *iterable* est trié, les *tuples* de permutation seront "
|
||||
"produits dans l'ordre."
|
||||
"l'itérable d'entrée *iterable* est classé, les n-uplets de permutation sont "
|
||||
"produits dans ce même ordre."
|
||||
|
||||
#: ../Doc/library/itertools.rst:474
|
||||
msgid ""
|
||||
|
@ -768,9 +767,9 @@ msgid ""
|
|||
"func:`product`, filtered to exclude entries with repeated elements (those "
|
||||
"from the same position in the input pool)::"
|
||||
msgstr ""
|
||||
"Le code pour :func:`permutations` peut aussi être exprimé comme une sous-"
|
||||
"séquence de :func:`product`, filtré pour exclure les entrées avec des "
|
||||
"éléments répétés (celles de la même position dans la *pool* d'entrée) : ::"
|
||||
"Un appel à :func:`permutations` peut aussi être vu un appel à :func:"
|
||||
"`product` en excluant les sorties avec des doublons (avec la même relation "
|
||||
"d'ordre que pour l'entrée) ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:517
|
||||
msgid ""
|
||||
|
@ -790,9 +789,9 @@ msgid ""
|
|||
"example, ``product(A, B)`` returns the same as ``((x,y) for x in A for y in "
|
||||
"B)``."
|
||||
msgstr ""
|
||||
"Sensiblement équivalent à des boucles *for* imbriquées dans une expression "
|
||||
"de générateur. Par exemple ``product(A, B)`` renvoie la même chose que "
|
||||
"``((x, y) for x in A for y in B)``."
|
||||
"À peu près équivalent à des boucles *for* imbriquées dans une expression de "
|
||||
"générateur. Par exemple ``product(A, B)`` renvoie la même chose que ``((x, "
|
||||
"y) for x in A for y in B)``."
|
||||
|
||||
#: ../Doc/library/itertools.rst:527
|
||||
msgid ""
|
||||
|
@ -802,9 +801,9 @@ msgid ""
|
|||
"sorted order."
|
||||
msgstr ""
|
||||
"Les boucles imbriquées tournent comme un compteur kilométrique avec "
|
||||
"l'élément le plus à droite avançant à chaque itération. ce motif créé un tri "
|
||||
"lexicographique afin que si les itérables de l'entrée sont triés, les "
|
||||
"*tuples* de produit sont émis dans l'ordre."
|
||||
"l'élément le plus à droite avançant à chaque itération. Ce motif défini un "
|
||||
"ordre lexicographique afin que, si les éléments des itérables en l'entrée "
|
||||
"sont ordonnés, les n-uplets produits le sont aussi."
|
||||
|
||||
#: ../Doc/library/itertools.rst:532
|
||||
msgid ""
|
||||
|
@ -812,17 +811,18 @@ msgid ""
|
|||
"repetitions with the optional *repeat* keyword argument. For example, "
|
||||
"``product(A, repeat=4)`` means the same as ``product(A, A, A, A)``."
|
||||
msgstr ""
|
||||
"Pour générer le produit d'un itérable avec lui-même, spécifier le nombre de "
|
||||
"Pour générer le produit d'un itérable avec lui-même, spécifiez le nombre de "
|
||||
"répétitions avec le paramètre nommé optionnel *repeat*. Par exemple, "
|
||||
"``product(A, repeat=4)`` veut dire la même chose que ``product(A, A, A, A)``."
|
||||
"``product(A, repeat=4)`` est équivalent à ``product(A, A, A, A)``."
|
||||
|
||||
#: ../Doc/library/itertools.rst:536
|
||||
msgid ""
|
||||
"This function is roughly equivalent to the following code, except that the "
|
||||
"actual implementation does not build up intermediate results in memory::"
|
||||
msgstr ""
|
||||
"Cette fonction est sensiblement équivalente au code suivant, saut que la "
|
||||
"vraie implémentation ne créé pas les résultats intermédiaires en mémoire : ::"
|
||||
"Cette fonction est à peu près équivalente au code suivant, à la différence "
|
||||
"près que la vraie implémentation ne crée pas de résultats intermédiaires en "
|
||||
"mémoire ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:552
|
||||
msgid ""
|
||||
|
@ -831,18 +831,18 @@ msgid ""
|
|||
"func:`map` for invariant parameters to the called function. Also used with :"
|
||||
"func:`zip` to create an invariant part of a tuple record."
|
||||
msgstr ""
|
||||
"Créer un itérateur qui renvoie *object* à l'infini. S'exécute indéfiniment "
|
||||
"Crée un itérateur qui renvoie *object* à l'infini. S'exécute indéfiniment "
|
||||
"sauf si l'argument *times* est spécifié. Utilisée comme argument de :func:"
|
||||
"`map` pour les paramètres invariants de la fonction appelée. Aussi utilisée "
|
||||
"avec :func:`zip` pour créer une partie invariante d'un *tuple*."
|
||||
"avec :func:`zip` pour créer une partie invariante d'un n-uplet."
|
||||
|
||||
#: ../Doc/library/itertools.rst:568
|
||||
msgid ""
|
||||
"A common use for *repeat* is to supply a stream of constant values to *map* "
|
||||
"or *zip*::"
|
||||
msgstr ""
|
||||
"Une utilisation commune de *repeat* est de fournir un flux constant de "
|
||||
"valeurs à *map* ou *zip* : ::"
|
||||
"Une utilisation courante de *repeat* est de fournir un flux constant de "
|
||||
"valeurs à *map* ou *zip* ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:576
|
||||
msgid ""
|
||||
|
@ -853,24 +853,24 @@ msgid ""
|
|||
"the distinction between ``function(a,b)`` and ``function(*c)``. Roughly "
|
||||
"equivalent to::"
|
||||
msgstr ""
|
||||
"Créer un itérateur qui exécute la fonction avec les arguments obtenus de "
|
||||
"Crée un itérateur qui exécute la fonction avec les arguments obtenus depuis "
|
||||
"l'itérable. Utilisée à la place de :func:`map` quand les arguments sont déjà "
|
||||
"groupés en *tuples* depuis un seul itérable (la donnée a déjà été \"pré-"
|
||||
"zippée\"). La différence entre :func:`map` et :func:`starmap` est similaire "
|
||||
"à la différence entre ``fonction(a,b)`` et ``fonction(*c)``. Sensiblement "
|
||||
"équivalent à : ::"
|
||||
"groupés en n-uplets depuis un seul itérable — la donnée a déjà été « pré-"
|
||||
"zippée ». La différence entre :func:`map` et :func:`starmap` est similaire à "
|
||||
"la différence entre ``fonction(a,b)`` et ``fonction(*c)``. À peu près "
|
||||
"équivalent à ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:590
|
||||
msgid ""
|
||||
"Make an iterator that returns elements from the iterable as long as the "
|
||||
"predicate is true. Roughly equivalent to::"
|
||||
msgstr ""
|
||||
"Créer un itérateur qui renvoie les éléments d'un itérable tant que le "
|
||||
"prédicat est vrai. Sensiblement équivalent à : ::"
|
||||
"Crée un itérateur qui renvoie les éléments d'un itérable tant que le "
|
||||
"prédicat est vrai. À peu près équivalent à ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:604
|
||||
msgid "Return *n* independent iterators from a single iterable."
|
||||
msgstr "Renvoyer *n* itérateurs indépendant depuis un unique itérable."
|
||||
msgstr "Renvoie *n* itérateurs indépendants depuis un unique itérable."
|
||||
|
||||
#: ../Doc/library/itertools.rst:606
|
||||
msgid ""
|
||||
|
@ -878,9 +878,9 @@ msgid ""
|
|||
"implementation is more complex and uses only a single underlying :abbr:`FIFO "
|
||||
"(first-in, first-out)` queue)."
|
||||
msgstr ""
|
||||
"Le code Python qui suit aide à expliquer ce que fait *tee* (bien que la "
|
||||
"vraie implémentation est plus complexe et n'utilise qu'une file :abbr:`FIFO "
|
||||
"(first-in, first-out)`)."
|
||||
"Le code Python qui suit aide à expliquer ce que fait *tee*, bien que la "
|
||||
"vraie implémentation soit plus complexe et n'utilise qu'une file :abbr:`FIFO "
|
||||
"(premier entré, premier sorti ou *first-in, first-out* en anglais)`."
|
||||
|
||||
#: ../Doc/library/itertools.rst:627
|
||||
msgid ""
|
||||
|
@ -889,8 +889,8 @@ msgid ""
|
|||
"tee objects being informed."
|
||||
msgstr ""
|
||||
"Une fois que :func:`tee` a créé un branchement, l'itérable *iterable* ne "
|
||||
"devrait être utilisé nulle part ailleurs ; sinon, *iterable* pourrait être "
|
||||
"avancé sans que les objets tee soient informés."
|
||||
"doit être utilisé nulle part ailleurs ; sinon, *iterable* pourrait être "
|
||||
"avancé sans que les objets tee ne soient informés."
|
||||
|
||||
#: ../Doc/library/itertools.rst:631
|
||||
msgid ""
|
||||
|
@ -899,11 +899,11 @@ msgid ""
|
|||
"most or all of the data before another iterator starts, it is faster to use :"
|
||||
"func:`list` instead of :func:`tee`."
|
||||
msgstr ""
|
||||
"Cet outil pourrait avoir besoin d'un stockage auxiliaire important (en "
|
||||
"fonction de la taille des données temporaires nécessaires). En général, si "
|
||||
"un itérateur utilise la majorité ou toute la donnée avant qu'un autre "
|
||||
"itérateur ne commence, il est plus rapide d'utiliser :func:`list` à la place "
|
||||
"de :func:`tee`."
|
||||
"Cet outil peut avoir besoin d'un stockage auxiliaire important (en fonction "
|
||||
"de la taille des données temporaires nécessaires). En général, si un "
|
||||
"itérateur utilise la majorité ou toute la donnée avant qu'un autre itérateur "
|
||||
"ne commence, il est plus rapide d'utiliser :func:`list` à la place de :func:"
|
||||
"`tee`."
|
||||
|
||||
#: ../Doc/library/itertools.rst:639
|
||||
msgid ""
|
||||
|
@ -912,10 +912,10 @@ msgid ""
|
|||
"*fillvalue*. Iteration continues until the longest iterable is exhausted. "
|
||||
"Roughly equivalent to::"
|
||||
msgstr ""
|
||||
"Créer un itérateur qui agrège les éléments de chacun des itérables. Si les "
|
||||
"Crée un itérateur qui agrège les éléments de chacun des itérables. Si les "
|
||||
"itérables sont de longueurs différentes, les valeurs manquantes sont "
|
||||
"remplacées par *fillvalue*. L'itération continue jusqu'à ce que l'itérable "
|
||||
"le plus long soit épuisé. Sensiblement équivalent à : ::"
|
||||
"le plus long soit épuisé. À peu près équivalent à ::"
|
||||
|
||||
#: ../Doc/library/itertools.rst:663
|
||||
msgid ""
|
||||
|
@ -925,7 +925,7 @@ msgid ""
|
|||
"specified, *fillvalue* defaults to ``None``."
|
||||
msgstr ""
|
||||
"Si un des itérables est potentiellement infini, alors la fonction :func:"
|
||||
"`zip_longest` devrait être entourée avec quelque chose qui limite le nombre "
|
||||
"`zip_longest` doit être encapsulée dans un code qui limite le nombre "
|
||||
"d'appels (par exemple, :func:`islice` ou :func:`takewhile`). Si *fillvalue* "
|
||||
"n'est pas spécifié, il vaut ``None`` par défaut."
|
||||
|
||||
|
@ -938,8 +938,8 @@ msgid ""
|
|||
"This section shows recipes for creating an extended toolset using the "
|
||||
"existing itertools as building blocks."
|
||||
msgstr ""
|
||||
"Cette section montre des recettes pour créer une boîte à outil étendue en se "
|
||||
"servant des *itertools* existants comme de briques."
|
||||
"Cette section présente des recettes pour créer une vaste boîte à outils en "
|
||||
"se servant des *itertools* existants comme des briques."
|
||||
|
||||
#: ../Doc/library/itertools.rst:677
|
||||
msgid ""
|
||||
|
@ -955,9 +955,10 @@ msgstr ""
|
|||
"jacents. La performance mémoire supérieure est gardée en traitant les "
|
||||
"éléments un à la fois plutôt que de charger tout l'itérable en mémoire en "
|
||||
"même temps. Le volume de code reste bas grâce à un chaînage de style "
|
||||
"fonctionnel qui aide à éliminer des variables temporaires. La grande vitesse "
|
||||
"est gardée en préférant les briques \"vectorisées\" plutôt que les boucles "
|
||||
"*for* et les :term:`générateur`\\s qui engendrent du sur-coût de traitement."
|
||||
"fonctionnel qui aide à éliminer les variables temporaires. La grande vitesse "
|
||||
"est gardée en préférant les briques « vectorisées » plutôt que les boucles "
|
||||
"*for* et les :term:`générateurs <generator>` qui engendrent un surcoût de "
|
||||
"traitement."
|
||||
|
||||
#: ../Doc/library/itertools.rst:899
|
||||
msgid ""
|
||||
|
|
|
@ -49,27 +49,27 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/json.rst:24
|
||||
msgid "Encoding basic Python object hierarchies::"
|
||||
msgstr "Encodage d'objets Python basiques : ::"
|
||||
msgstr "Encodage d'objets Python basiques ::"
|
||||
|
||||
#: ../Doc/library/json.rst:43
|
||||
msgid "Compact encoding::"
|
||||
msgstr "Encodage compact : ::"
|
||||
msgstr "Encodage compact ::"
|
||||
|
||||
#: ../Doc/library/json.rst:49
|
||||
msgid "Pretty printing::"
|
||||
msgstr "Affichage élégant : ::"
|
||||
msgstr "Affichage élégant ::"
|
||||
|
||||
#: ../Doc/library/json.rst:58
|
||||
msgid "Decoding JSON::"
|
||||
msgstr "Décodage JSON : ::"
|
||||
msgstr "Décodage JSON ::"
|
||||
|
||||
#: ../Doc/library/json.rst:70
|
||||
msgid "Specializing JSON object decoding::"
|
||||
msgstr "Spécialisation du décodage JSON pour un objet : ::"
|
||||
msgstr "Spécialisation du décodage JSON pour un objet ::"
|
||||
|
||||
#: ../Doc/library/json.rst:85
|
||||
msgid "Extending :class:`JSONEncoder`::"
|
||||
msgstr "Étendre la classe :class:`JSONEncoder` : ::"
|
||||
msgstr "Étendre la classe :class:`JSONEncoder` ::"
|
||||
|
||||
#: ../Doc/library/json.rst:103
|
||||
msgid "Using :mod:`json.tool` from the shell to validate and pretty-print:"
|
||||
|
@ -496,7 +496,7 @@ msgstr "*null*"
|
|||
|
||||
#: ../Doc/library/json.rst:313 ../Doc/library/json.rst:400
|
||||
msgid "None"
|
||||
msgstr "*None*"
|
||||
msgstr "``None``"
|
||||
|
||||
#: ../Doc/library/json.rst:316
|
||||
msgid ""
|
||||
|
@ -684,7 +684,7 @@ msgid ""
|
|||
"like this::"
|
||||
msgstr ""
|
||||
"Par exemple, pour supporter des itérateurs arbitraires, vous pourriez "
|
||||
"implémenter *default* comme cela : ::"
|
||||
"implémenter *default* comme cela ::"
|
||||
|
||||
#: ../Doc/library/json.rst:484
|
||||
msgid ""
|
||||
|
@ -692,7 +692,7 @@ msgid ""
|
|||
"example::"
|
||||
msgstr ""
|
||||
"Renvoie une chaîne JSON représentant la structure de données Python *o*. "
|
||||
"Par exemple : ::"
|
||||
"Par exemple ::"
|
||||
|
||||
#: ../Doc/library/json.rst:493
|
||||
msgid ""
|
||||
|
@ -700,7 +700,7 @@ msgid ""
|
|||
"available. For example::"
|
||||
msgstr ""
|
||||
"Encode l'objet *o* donné, et produit chaque chaîne représentant l'objet "
|
||||
"selon disponibilité. Par exemple : ::"
|
||||
"selon disponibilité. Par exemple ::"
|
||||
|
||||
#: ../Doc/library/json.rst:501
|
||||
msgid "Exceptions"
|
||||
|
@ -884,7 +884,7 @@ msgstr ""
|
|||
"La RFC spécifie que les noms au sein d'un objet JSON doivent être uniques, "
|
||||
"mais ne décrit pas comment les noms répétés doivent être gérés. Par défaut, "
|
||||
"ce module ne lève pas d'exception ; à la place, il ignore tous les couples "
|
||||
"nom/valeur sauf le dernier pour un nom donné : ::"
|
||||
"nom/valeur sauf le dernier pour un nom donné ::"
|
||||
|
||||
#: ../Doc/library/json.rst:613
|
||||
msgid "The *object_pairs_hook* parameter can be used to alter this behavior."
|
||||
|
|
|
@ -16,7 +16,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/locale.rst:2
|
||||
msgid ":mod:`locale` --- Internationalization services"
|
||||
msgstr ""
|
||||
msgstr ":mod:`locale` — Services d'internationalisation"
|
||||
|
||||
#: ../Doc/library/locale.rst:10
|
||||
msgid "**Source code:** :source:`Lib/locale.py`"
|
||||
|
@ -29,22 +29,33 @@ msgid ""
|
|||
"certain cultural issues in an application, without requiring the programmer "
|
||||
"to know all the specifics of each country where the software is executed."
|
||||
msgstr ""
|
||||
"Le module :mod:`locale` donne accès à la base de données et aux "
|
||||
"fonctionnalités des paramètres linguistiques définis par POSIX. Le mécanisme "
|
||||
"des paramètres linguistiques de POSIX permet aux développeurs de faire face "
|
||||
"à certaines problématiques culturelles dans une application, sans avoir à "
|
||||
"connaître toutes les spécificités de chaque pays où le logiciel est exécuté."
|
||||
|
||||
#: ../Doc/library/locale.rst:21
|
||||
msgid ""
|
||||
"The :mod:`locale` module is implemented on top of the :mod:`_locale` module, "
|
||||
"which in turn uses an ANSI C locale implementation if available."
|
||||
msgstr ""
|
||||
"Le module :mod:`locale` est implémenté au-dessus du module :mod:`_locale`, "
|
||||
"qui lui-même utilise l'implémentation du paramètre régional ANSI C si "
|
||||
"disponible."
|
||||
|
||||
#: ../Doc/library/locale.rst:24
|
||||
msgid "The :mod:`locale` module defines the following exception and functions:"
|
||||
msgstr ""
|
||||
"Le module :mod:`locale` définit l'exception et les fonctions suivantes :"
|
||||
|
||||
#: ../Doc/library/locale.rst:29
|
||||
msgid ""
|
||||
"Exception raised when the locale passed to :func:`setlocale` is not "
|
||||
"recognized."
|
||||
msgstr ""
|
||||
"Exception levée lorsque le paramètre régional passé en paramètre de :func:"
|
||||
"`setlocale` n'est pas reconnu."
|
||||
|
||||
#: ../Doc/library/locale.rst:35
|
||||
msgid ""
|
||||
|
@ -57,18 +68,31 @@ msgid ""
|
|||
"exception :exc:`Error` is raised. If successful, the new locale setting is "
|
||||
"returned."
|
||||
msgstr ""
|
||||
"Si *locale* ne vaut pas ``None``, :func:`setlocale` modifie le paramètre "
|
||||
"régional pour la catégorie *category*. Les catégories disponibles sont "
|
||||
"listées dans la description des données ci-dessous. *locale* peut être une "
|
||||
"chaîne de caractères ou un itérable de deux chaînes de caractères (code de "
|
||||
"la langue et encodage). Si c'est un itérable, il est converti en un nom de "
|
||||
"paramètre régional à l'aide du moteur de normalisation fait pour. Si c'est "
|
||||
"une chaîne vide, les paramètres par défaut de l'utilisateur sont utilisés. "
|
||||
"Si la modification du paramètre régional échoue, l'exception :exc:`Error` "
|
||||
"est levée. Si elle fonctionne, le nouveau paramètre est renvoyé."
|
||||
|
||||
#: ../Doc/library/locale.rst:43
|
||||
msgid ""
|
||||
"If *locale* is omitted or ``None``, the current setting for *category* is "
|
||||
"returned."
|
||||
msgstr ""
|
||||
"Si *locale* est omis ou vaut ``None``, le paramètre actuel de *category* est "
|
||||
"renvoyé."
|
||||
|
||||
#: ../Doc/library/locale.rst:46
|
||||
msgid ""
|
||||
":func:`setlocale` is not thread-safe on most systems. Applications typically "
|
||||
"start with a call of ::"
|
||||
msgstr ""
|
||||
":func:`setlocale` n'est pas *thread-safe* sur la plupart des systèmes. Les "
|
||||
"applications commencent généralement par un appel de : ::"
|
||||
|
||||
#: ../Doc/library/locale.rst:52
|
||||
msgid ""
|
||||
|
@ -77,20 +101,28 @@ msgid ""
|
|||
"locale is not changed thereafter, using multithreading should not cause "
|
||||
"problems."
|
||||
msgstr ""
|
||||
"Cela définit les paramètres régionaux dans toutes les catégories sur ceux "
|
||||
"par défaut de l'utilisateur (habituellement spécifiés dans la variable "
|
||||
"d'environnement :envvar:`LANG`). Si les paramètres régionaux ne sont pas "
|
||||
"modifiés par la suite, l'utilisation de fils d'exécution ne devrait pas "
|
||||
"poser de problèmes."
|
||||
|
||||
#: ../Doc/library/locale.rst:59
|
||||
msgid ""
|
||||
"Returns the database of the local conventions as a dictionary. This "
|
||||
"dictionary has the following strings as keys:"
|
||||
msgstr ""
|
||||
"Renvoie la base de données des conventions locales sous forme de "
|
||||
"dictionnaire. Ce dictionnaire a les chaînes de caractères suivantes comme "
|
||||
"clés :"
|
||||
|
||||
#: ../Doc/library/locale.rst:65
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
msgstr "Catégorie"
|
||||
|
||||
#: ../Doc/library/locale.rst:65
|
||||
msgid "Key"
|
||||
msgstr ""
|
||||
msgstr "Clé"
|
||||
|
||||
#: ../Doc/library/locale.rst:65
|
||||
msgid "Meaning"
|
||||
|
@ -107,6 +139,8 @@ msgstr "``'decimal_point'``"
|
|||
#: ../Doc/library/locale.rst:67
|
||||
msgid "Decimal point character."
|
||||
msgstr ""
|
||||
"Caractère du séparateur décimal (entre la partie entière et la partie "
|
||||
"décimale)."
|
||||
|
||||
#: ../Doc/library/locale.rst:69
|
||||
msgid "``'grouping'``"
|
||||
|
@ -119,6 +153,11 @@ msgid ""
|
|||
"`CHAR_MAX`, no further grouping is performed. If the sequence terminates "
|
||||
"with a ``0``, the last group size is repeatedly used."
|
||||
msgstr ""
|
||||
"Séquence de nombres spécifiant les positions relatives attendues pour "
|
||||
"``'thousands_sep'`` (séparateur de milliers). Si la séquence se termine "
|
||||
"par :const:`CHAR_MAX`, aucun autre regroupement n'est effectué. Si la "
|
||||
"séquence se termine par un ``0``, la dernière taille du groupe est utilisée "
|
||||
"à plusieurs reprises."
|
||||
|
||||
#: ../Doc/library/locale.rst:80
|
||||
msgid "``'thousands_sep'``"
|
||||
|
@ -126,7 +165,7 @@ msgstr "``'thousands_sep'``"
|
|||
|
||||
#: ../Doc/library/locale.rst:80
|
||||
msgid "Character used between groups."
|
||||
msgstr ""
|
||||
msgstr "Caractère utilisé entre les groupes (séparateur de milliers)."
|
||||
|
||||
#: ../Doc/library/locale.rst:82
|
||||
msgid ":const:`LC_MONETARY`"
|
||||
|
@ -138,7 +177,7 @@ msgstr "``'int_curr_symbol'``"
|
|||
|
||||
#: ../Doc/library/locale.rst:82
|
||||
msgid "International currency symbol."
|
||||
msgstr ""
|
||||
msgstr "Symbole monétaire international."
|
||||
|
||||
#: ../Doc/library/locale.rst:84
|
||||
msgid "``'currency_symbol'``"
|
||||
|
@ -146,7 +185,7 @@ msgstr "``'currency_symbol'``"
|
|||
|
||||
#: ../Doc/library/locale.rst:84
|
||||
msgid "Local currency symbol."
|
||||
msgstr ""
|
||||
msgstr "Symbole monétaire local."
|
||||
|
||||
#: ../Doc/library/locale.rst:86
|
||||
msgid "``'p_cs_precedes/n_cs_precedes'``"
|
||||
|
@ -157,6 +196,8 @@ msgid ""
|
|||
"Whether the currency symbol precedes the value (for positive resp. negative "
|
||||
"values)."
|
||||
msgstr ""
|
||||
"Si le symbole monétaire précède ou non la valeur (pour les valeurs positives "
|
||||
"et négatives, respectivement)."
|
||||
|
||||
#: ../Doc/library/locale.rst:91
|
||||
msgid "``'p_sep_by_space/n_sep_by_space'``"
|
||||
|
@ -167,6 +208,8 @@ msgid ""
|
|||
"Whether the currency symbol is separated from the value by a space (for "
|
||||
"positive resp. negative values)."
|
||||
msgstr ""
|
||||
"Si le symbole monétaire est séparé de la valeur par une espace ou non (pour "
|
||||
"les valeurs positives et négatives, respectivement)."
|
||||
|
||||
#: ../Doc/library/locale.rst:96
|
||||
msgid "``'mon_decimal_point'``"
|
||||
|
@ -175,6 +218,8 @@ msgstr "``'mon_decimal_point'``"
|
|||
#: ../Doc/library/locale.rst:96
|
||||
msgid "Decimal point used for monetary values."
|
||||
msgstr ""
|
||||
"Séparateur décimal (entre la partie entière et la partie décimale) utilisé "
|
||||
"pour les valeurs monétaires."
|
||||
|
||||
#: ../Doc/library/locale.rst:99
|
||||
msgid "``'frac_digits'``"
|
||||
|
@ -184,6 +229,7 @@ msgstr "``'frac_digits'``"
|
|||
msgid ""
|
||||
"Number of fractional digits used in local formatting of monetary values."
|
||||
msgstr ""
|
||||
"Nombre de décimales utilisées dans le format local des valeurs monétaires."
|
||||
|
||||
#: ../Doc/library/locale.rst:103
|
||||
msgid "``'int_frac_digits'``"
|
||||
|
@ -194,6 +240,8 @@ msgid ""
|
|||
"Number of fractional digits used in international formatting of monetary "
|
||||
"values."
|
||||
msgstr ""
|
||||
"Nombre de décimales utilisées dans le format international des valeurs "
|
||||
"monétaires."
|
||||
|
||||
#: ../Doc/library/locale.rst:107
|
||||
msgid "``'mon_thousands_sep'``"
|
||||
|
@ -201,7 +249,7 @@ msgstr "``'mon_thousands_sep'``"
|
|||
|
||||
#: ../Doc/library/locale.rst:107
|
||||
msgid "Group separator used for monetary values."
|
||||
msgstr ""
|
||||
msgstr "Séparateur de groupe utilisé pour les valeurs monétaires."
|
||||
|
||||
#: ../Doc/library/locale.rst:110
|
||||
msgid "``'mon_grouping'``"
|
||||
|
@ -209,7 +257,7 @@ msgstr "``'mon_grouping'``"
|
|||
|
||||
#: ../Doc/library/locale.rst:110
|
||||
msgid "Equivalent to ``'grouping'``, used for monetary values."
|
||||
msgstr ""
|
||||
msgstr "Équivalent de ``'grouping'``, utilisé pour les valeurs monétaires."
|
||||
|
||||
#: ../Doc/library/locale.rst:113
|
||||
msgid "``'positive_sign'``"
|
||||
|
@ -217,7 +265,7 @@ msgstr "``'positive_sign'``"
|
|||
|
||||
#: ../Doc/library/locale.rst:113
|
||||
msgid "Symbol used to annotate a positive monetary value."
|
||||
msgstr ""
|
||||
msgstr "Symbole utilisé pour indiquer qu'une valeur monétaire est positive."
|
||||
|
||||
#: ../Doc/library/locale.rst:116
|
||||
msgid "``'negative_sign'``"
|
||||
|
@ -225,7 +273,7 @@ msgstr "``'negative_sign'``"
|
|||
|
||||
#: ../Doc/library/locale.rst:116
|
||||
msgid "Symbol used to annotate a negative monetary value."
|
||||
msgstr ""
|
||||
msgstr "Symbole utilisé pour indiquer qu'une valeur monétaire est négative."
|
||||
|
||||
#: ../Doc/library/locale.rst:119
|
||||
msgid "``'p_sign_posn/n_sign_posn'``"
|
||||
|
@ -235,18 +283,24 @@ msgstr "``'p_sign_posn/n_sign_posn'``"
|
|||
msgid ""
|
||||
"The position of the sign (for positive resp. negative values), see below."
|
||||
msgstr ""
|
||||
"Position du signe (pour les valeurs positives et négatives, respectivement), "
|
||||
"voir ci-dessous."
|
||||
|
||||
#: ../Doc/library/locale.rst:124
|
||||
msgid ""
|
||||
"All numeric values can be set to :const:`CHAR_MAX` to indicate that there is "
|
||||
"no value specified in this locale."
|
||||
msgstr ""
|
||||
"Toutes les valeurs numériques peuvent être définies à :const:`CHAR_MAX` pour "
|
||||
"indiquer qu'il n'y a pas de valeur spécifiée pour ces paramètres régionaux."
|
||||
|
||||
#: ../Doc/library/locale.rst:127
|
||||
msgid ""
|
||||
"The possible values for ``'p_sign_posn'`` and ``'n_sign_posn'`` are given "
|
||||
"below."
|
||||
msgstr ""
|
||||
"Les valeurs possibles pour ``'p_sign_posn'`` et ``'n_sign_posn'`` sont "
|
||||
"données ci-dessous."
|
||||
|
||||
#: ../Doc/library/locale.rst:130
|
||||
msgid "Value"
|
||||
|
@ -262,7 +316,7 @@ msgstr "``0``"
|
|||
|
||||
#: ../Doc/library/locale.rst:132
|
||||
msgid "Currency and value are surrounded by parentheses."
|
||||
msgstr ""
|
||||
msgstr "Le symbole monétaire et la valeur sont entourés de parenthèses."
|
||||
|
||||
#: ../Doc/library/locale.rst:135
|
||||
msgid "``1``"
|
||||
|
@ -270,7 +324,7 @@ msgstr "``1``"
|
|||
|
||||
#: ../Doc/library/locale.rst:135
|
||||
msgid "The sign should precede the value and currency symbol."
|
||||
msgstr ""
|
||||
msgstr "Le signe doit précéder la valeur et le symbole monétaire."
|
||||
|
||||
#: ../Doc/library/locale.rst:138
|
||||
msgid "``2``"
|
||||
|
@ -278,7 +332,7 @@ msgstr "``2``"
|
|||
|
||||
#: ../Doc/library/locale.rst:138
|
||||
msgid "The sign should follow the value and currency symbol."
|
||||
msgstr ""
|
||||
msgstr "Le signe doit suivre la valeur et le symbole monétaire."
|
||||
|
||||
#: ../Doc/library/locale.rst:141
|
||||
msgid "``3``"
|
||||
|
@ -286,7 +340,7 @@ msgstr "``3``"
|
|||
|
||||
#: ../Doc/library/locale.rst:141
|
||||
msgid "The sign should immediately precede the value."
|
||||
msgstr ""
|
||||
msgstr "Le signe doit précéder immédiatement la valeur."
|
||||
|
||||
#: ../Doc/library/locale.rst:144
|
||||
msgid "``4``"
|
||||
|
@ -294,7 +348,7 @@ msgstr "``4``"
|
|||
|
||||
#: ../Doc/library/locale.rst:144
|
||||
msgid "The sign should immediately follow the value."
|
||||
msgstr ""
|
||||
msgstr "Le signe doit suivre immédiatement la valeur."
|
||||
|
||||
#: ../Doc/library/locale.rst:147
|
||||
msgid "``CHAR_MAX``"
|
||||
|
@ -302,7 +356,7 @@ msgstr "``CHAR_MAX``"
|
|||
|
||||
#: ../Doc/library/locale.rst:147
|
||||
msgid "Nothing is specified in this locale."
|
||||
msgstr ""
|
||||
msgstr "Rien n'est spécifié dans ces paramètres régionaux."
|
||||
|
||||
#: ../Doc/library/locale.rst:150
|
||||
msgid ""
|
||||
|
@ -316,6 +370,8 @@ msgid ""
|
|||
"The function now sets temporarily the ``LC_CTYPE`` locale to the "
|
||||
"``LC_NUMERIC`` locale in some cases."
|
||||
msgstr ""
|
||||
"La fonction définit maintenant la valeur du paramètre ``LC_CTYPE`` à celle "
|
||||
"du paramètre ``LC_NUMERIC`` temporairement dans certains cas."
|
||||
|
||||
#: ../Doc/library/locale.rst:161
|
||||
msgid ""
|
||||
|
@ -324,6 +380,11 @@ msgid ""
|
|||
"across platforms. The possible argument values are numbers, for which "
|
||||
"symbolic constants are available in the locale module."
|
||||
msgstr ""
|
||||
"Renvoie quelques informations spécifiques aux paramètres régionaux sous "
|
||||
"forme de chaîne. Cette fonction n'est pas disponible sur tous les systèmes "
|
||||
"et l'ensemble des options possibles peut également varier d'une plateforme à "
|
||||
"l'autre. Les valeurs possibles pour les arguments sont des nombres, pour "
|
||||
"lesquels des constantes symboliques sont disponibles dans le module *locale*."
|
||||
|
||||
#: ../Doc/library/locale.rst:166
|
||||
msgid ""
|
||||
|
@ -331,84 +392,114 @@ msgid ""
|
|||
"descriptions are taken from the corresponding description in the GNU C "
|
||||
"library."
|
||||
msgstr ""
|
||||
"La fonction :func:`nl_langinfo` accepte l'une des clés suivantes. La "
|
||||
"plupart des descriptions sont extraites des descriptions correspondantes "
|
||||
"dans la bibliothèque GNU C."
|
||||
|
||||
#: ../Doc/library/locale.rst:172
|
||||
msgid ""
|
||||
"Get a string with the name of the character encoding used in the selected "
|
||||
"locale."
|
||||
msgstr ""
|
||||
"Récupère une chaîne avec le nom de l'encodage des caractères utilisé par le "
|
||||
"paramètre régional sélectionné."
|
||||
|
||||
#: ../Doc/library/locale.rst:177
|
||||
msgid ""
|
||||
"Get a string that can be used as a format string for :func:`time.strftime` "
|
||||
"to represent date and time in a locale-specific way."
|
||||
msgstr ""
|
||||
"Récupère une chaîne qui peut être utilisée comme une chaîne de format par :"
|
||||
"func:`time.strftime` afin de représenter la date et l'heure pour un "
|
||||
"paramètre régional spécifique."
|
||||
|
||||
#: ../Doc/library/locale.rst:182
|
||||
msgid ""
|
||||
"Get a string that can be used as a format string for :func:`time.strftime` "
|
||||
"to represent a date in a locale-specific way."
|
||||
msgstr ""
|
||||
"Récupère une chaîne qui peut être utilisée comme une chaîne de format par :"
|
||||
"func:`time.strftime` afin de représenter une date pour un paramètre régional "
|
||||
"spécifique."
|
||||
|
||||
#: ../Doc/library/locale.rst:187
|
||||
msgid ""
|
||||
"Get a string that can be used as a format string for :func:`time.strftime` "
|
||||
"to represent a time in a locale-specific way."
|
||||
msgstr ""
|
||||
"Récupère une chaîne qui peut être utilisée comme une chaîne de format par :"
|
||||
"func:`time.strftime` afin de représenter une heure pour un paramètre "
|
||||
"régional spécifique."
|
||||
|
||||
#: ../Doc/library/locale.rst:192
|
||||
msgid ""
|
||||
"Get a format string for :func:`time.strftime` to represent time in the am/pm "
|
||||
"format."
|
||||
msgstr ""
|
||||
"Récupère une chaîne de format pour :func:`time.strftime` afin de représenter "
|
||||
"l'heure au format am / pm."
|
||||
|
||||
#: ../Doc/library/locale.rst:197
|
||||
msgid "Get the name of the n-th day of the week."
|
||||
msgstr ""
|
||||
msgstr "Récupère le nom du n-ième jour de la semaine."
|
||||
|
||||
#: ../Doc/library/locale.rst:201
|
||||
msgid ""
|
||||
"This follows the US convention of :const:`DAY_1` being Sunday, not the "
|
||||
"international convention (ISO 8601) that Monday is the first day of the week."
|
||||
msgstr ""
|
||||
"Cela suit la convention américaine qui définit :const:`DAY_1` comme étant "
|
||||
"dimanche, et non la convention internationale (ISO 8601) où lundi est le "
|
||||
"premier jour de la semaine."
|
||||
|
||||
#: ../Doc/library/locale.rst:207
|
||||
msgid "Get the abbreviated name of the n-th day of the week."
|
||||
msgstr ""
|
||||
msgstr "Récupère l'abréviation du n-ième jour de la semaine."
|
||||
|
||||
#: ../Doc/library/locale.rst:211
|
||||
msgid "Get the name of the n-th month."
|
||||
msgstr ""
|
||||
msgstr "Récupère le nom du n-ième mois."
|
||||
|
||||
#: ../Doc/library/locale.rst:215
|
||||
msgid "Get the abbreviated name of the n-th month."
|
||||
msgstr ""
|
||||
msgstr "Récupère l'abréviation du n-ième mois."
|
||||
|
||||
#: ../Doc/library/locale.rst:219
|
||||
msgid "Get the radix character (decimal dot, decimal comma, etc.)."
|
||||
msgstr ""
|
||||
"Récupère le caractère de séparation *radix* (point décimal, virgule "
|
||||
"décimale, etc.)."
|
||||
|
||||
#: ../Doc/library/locale.rst:223
|
||||
msgid "Get the separator character for thousands (groups of three digits)."
|
||||
msgstr ""
|
||||
"Récupère le caractère de séparation des milliers (groupes de 3 chiffres)."
|
||||
|
||||
#: ../Doc/library/locale.rst:227
|
||||
msgid ""
|
||||
"Get a regular expression that can be used with the regex function to "
|
||||
"recognize a positive response to a yes/no question."
|
||||
msgstr ""
|
||||
"Récupère une expression régulière qui peut être utilisée par la fonction "
|
||||
"*regex* pour reconnaître une réponse positive à une question fermée (oui / "
|
||||
"non)."
|
||||
|
||||
#: ../Doc/library/locale.rst:232
|
||||
msgid ""
|
||||
"The expression is in the syntax suitable for the :c:func:`regex` function "
|
||||
"from the C library, which might differ from the syntax used in :mod:`re`."
|
||||
msgstr ""
|
||||
"L'expression est dans une syntaxe adaptée à la fonction :c:func:`regex` de "
|
||||
"la bibliothèque C, qui peut différer de la syntaxe utilisée par :mod:`re`."
|
||||
|
||||
#: ../Doc/library/locale.rst:237
|
||||
msgid ""
|
||||
"Get a regular expression that can be used with the regex(3) function to "
|
||||
"recognize a negative response to a yes/no question."
|
||||
msgstr ""
|
||||
"Récupère une expression régulière qui peut être utilisée par la fonction "
|
||||
"*regex(3)* pour reconnaître une réponse négative à une question fermée "
|
||||
"(oui / non)."
|
||||
|
||||
#: ../Doc/library/locale.rst:242
|
||||
msgid ""
|
||||
|
@ -416,10 +507,15 @@ msgid ""
|
|||
"before the value, \"+\" if the symbol should appear after the value, or \"."
|
||||
"\" if the symbol should replace the radix character."
|
||||
msgstr ""
|
||||
"Récupère le symbole monétaire, précédé de « - » si le symbole doit "
|
||||
"apparaître avant la valeur, « + » s'il doit apparaître après la valeur, ou "
|
||||
"« . » s'il doit remplacer le caractère de séparation *radix*."
|
||||
|
||||
#: ../Doc/library/locale.rst:248
|
||||
msgid "Get a string that represents the era used in the current locale."
|
||||
msgstr ""
|
||||
"Récupère une chaîne qui représente l'ère utilisée pour le paramètre régional "
|
||||
"actuel."
|
||||
|
||||
#: ../Doc/library/locale.rst:250
|
||||
msgid ""
|
||||
|
@ -428,6 +524,10 @@ msgid ""
|
|||
"representation of dates includes the name of the era corresponding to the "
|
||||
"then-emperor's reign."
|
||||
msgstr ""
|
||||
"La plupart des paramètres régionaux ne définissent pas cette valeur. Un "
|
||||
"exemple de région qui définit bien cette valeur est le japonais. Au Japon, "
|
||||
"la représentation traditionnelle des dates comprend le nom de l'ère "
|
||||
"correspondant au règne de l'empereur de l'époque."
|
||||
|
||||
#: ../Doc/library/locale.rst:255
|
||||
msgid ""
|
||||
|
@ -437,36 +537,51 @@ msgid ""
|
|||
"specified, and therefore you should not assume knowledge of it on different "
|
||||
"systems."
|
||||
msgstr ""
|
||||
"Normalement, il ne devrait pas être nécessaire d'utiliser cette valeur "
|
||||
"directement. Spécifier le modificateur ``E`` dans leurs chaînes de format "
|
||||
"provoque l'utilisation de cette information par la fonction :func:`time."
|
||||
"strftime`. Le format de la chaîne renvoyée n'est pas spécifié, et vous ne "
|
||||
"devez donc pas supposer en avoir connaissance sur des systèmes différents."
|
||||
|
||||
#: ../Doc/library/locale.rst:263
|
||||
msgid ""
|
||||
"Get a format string for :func:`time.strftime` to represent date and time in "
|
||||
"a locale-specific era-based way."
|
||||
msgstr ""
|
||||
"Récupère la chaîne de format pour :func:`time.strftime` afin de représenter "
|
||||
"la date et l'heure pour un paramètre régional spécifique basée sur une ère."
|
||||
|
||||
#: ../Doc/library/locale.rst:268
|
||||
msgid ""
|
||||
"Get a format string for :func:`time.strftime` to represent a date in a "
|
||||
"locale-specific era-based way."
|
||||
msgstr ""
|
||||
"Récupère la chaîne de format pour :func:`time.strftime` afin de représenter "
|
||||
"une date pour un paramètre régional spécifique basée sur une ère."
|
||||
|
||||
#: ../Doc/library/locale.rst:273
|
||||
msgid ""
|
||||
"Get a format string for :func:`time.strftime` to represent a time in a "
|
||||
"locale-specific era-based way."
|
||||
msgstr ""
|
||||
"Récupère la chaîne de format pour :func:`time.strftime` afin de représenter "
|
||||
"une heure pour un paramètre régional spécifique basée sur une ère."
|
||||
|
||||
#: ../Doc/library/locale.rst:278
|
||||
msgid ""
|
||||
"Get a representation of up to 100 values used to represent the values 0 to "
|
||||
"99."
|
||||
msgstr ""
|
||||
"Récupère une représentation de 100 valeurs maximum utilisées pour "
|
||||
"représenter les valeurs de 0 à 99."
|
||||
|
||||
#: ../Doc/library/locale.rst:284
|
||||
msgid ""
|
||||
"Tries to determine the default locale settings and returns them as a tuple "
|
||||
"of the form ``(language code, encoding)``."
|
||||
msgstr ""
|
||||
"Tente de déterminer les paramètres régionaux par défaut, puis les renvoie "
|
||||
"sous la forme d'un n-uplet ``(code de la langue, encodage)``."
|
||||
|
||||
#: ../Doc/library/locale.rst:287
|
||||
msgid ""
|
||||
|
@ -476,6 +591,12 @@ msgid ""
|
|||
"Since we do not want to interfere with the current locale setting we thus "
|
||||
"emulate the behavior in the way described above."
|
||||
msgstr ""
|
||||
"D'après POSIX, un programme qui n'a pas appelé ``setlocale(LC_ALL, '')`` "
|
||||
"fonctionne en utilisant le paramètre régional portable ``'C'``. Appeler "
|
||||
"``setlocale(LC_ALL, '')`` lui permet d'utiliser les paramètres régionaux par "
|
||||
"défaut définis par la variable :envvar:`LANG`. Comme nous ne voulons pas "
|
||||
"interférer avec les paramètres régionaux actuels, nous émulons donc le "
|
||||
"comportement décrit ci-dessus."
|
||||
|
||||
#: ../Doc/library/locale.rst:293
|
||||
msgid ""
|
||||
|
@ -486,6 +607,14 @@ msgid ""
|
|||
"``'LANG'``. The GNU gettext search path contains ``'LC_ALL'``, "
|
||||
"``'LC_CTYPE'``, ``'LANG'`` and ``'LANGUAGE'``, in that order."
|
||||
msgstr ""
|
||||
"Afin de maintenir la compatibilité avec d'autres plateformes, non seulement "
|
||||
"la variable :envvar:`LANG` est testée, mais c'est aussi le cas pour toute "
|
||||
"une liste de variables passés en paramètre via *envvars*. La première "
|
||||
"variable à être définie sera utilisée. *envvars* utilise par défaut le "
|
||||
"chemin de recherche utilisé dans GNU *gettext* ; il doit toujours contenir "
|
||||
"le nom de variable ``'LANG'``. Le chemin de recherche de GNU *gettext* "
|
||||
"contient ``'LC_ALL'``, ``'LC_CTYPE'``, ``'LANG'`` et ``'LANGUAGE'``, dans "
|
||||
"cet ordre."
|
||||
|
||||
#: ../Doc/library/locale.rst:300 ../Doc/library/locale.rst:311
|
||||
msgid ""
|
||||
|
@ -493,6 +622,9 @@ msgid ""
|
|||
"*language code* and *encoding* may be ``None`` if their values cannot be "
|
||||
"determined."
|
||||
msgstr ""
|
||||
"À l'exception du code ``'C'``, le code d'une langue correspond à la :rfc:"
|
||||
"`1766`. Le *code de la langue* et l'*encodage* peuvent valoir ``None`` si "
|
||||
"leur valeur ne peut être déterminée."
|
||||
|
||||
#: ../Doc/library/locale.rst:307
|
||||
msgid ""
|
||||
|
@ -500,6 +632,11 @@ msgid ""
|
|||
"containing *language code*, *encoding*. *category* may be one of the :const:"
|
||||
"`LC_\\*` values except :const:`LC_ALL`. It defaults to :const:`LC_CTYPE`."
|
||||
msgstr ""
|
||||
"Renvoie les réglages actuels pour la catégorie de paramètres régionaux "
|
||||
"donnée, sous la forme d'une séquence contenant le *code de la langue* et "
|
||||
"l'*encodage*. La catégorie *category* peut être l'une des valeurs :const:`LC_"
|
||||
"\\*` à l'exception de :const:`LC_ALL`. La valeur par défaut est :const:"
|
||||
"`LC_CTYPE`."
|
||||
|
||||
#: ../Doc/library/locale.rst:318
|
||||
msgid ""
|
||||
|
@ -508,6 +645,11 @@ msgid ""
|
|||
"available programmatically on some systems, so this function only returns a "
|
||||
"guess."
|
||||
msgstr ""
|
||||
"Renvoie le codage utilisé pour les données textuelles, selon les préférences "
|
||||
"de l'utilisateur. Les préférences de l'utilisateur sont exprimées "
|
||||
"différemment selon les systèmes et peuvent ne pas être disponibles via les "
|
||||
"interfaces de programmation sur certains systèmes. Cette fonction ne renvoie "
|
||||
"donc qu'une supposition."
|
||||
|
||||
#: ../Doc/library/locale.rst:323
|
||||
msgid ""
|
||||
|
@ -515,18 +657,28 @@ msgid ""
|
|||
"user preferences, so this function is not thread-safe. If invoking setlocale "
|
||||
"is not necessary or desired, *do_setlocale* should be set to ``False``."
|
||||
msgstr ""
|
||||
"Sur certains systèmes, il est nécessaire d'invoquer :func:`setlocale` pour "
|
||||
"obtenir les préférences de l'utilisateur, cette fonction n'est donc pas "
|
||||
"utilisable sans protection dans les programmes à fils d'exécutions "
|
||||
"multiples. Si l'appel de `setlocale` n'est pas nécessaire ou souhaité, "
|
||||
"*do_setlocale* doit être réglé à ``False``."
|
||||
|
||||
#: ../Doc/library/locale.rst:327
|
||||
msgid ""
|
||||
"On Android or in the UTF-8 mode (:option:`-X` ``utf8`` option), always "
|
||||
"return ``'UTF-8'``, the locale and the *do_setlocale* argument are ignored."
|
||||
msgstr ""
|
||||
"Sur Android ou dans le mode UTF-8 (avec l'option :option:`-X` ``utf8``), "
|
||||
"renvoie toujours ``'UTF-8'``, la locale et l'argument *do_setlocale* sont "
|
||||
"ignorés."
|
||||
|
||||
#: ../Doc/library/locale.rst:330
|
||||
msgid ""
|
||||
"The function now always returns ``UTF-8`` on Android or if the UTF-8 mode is "
|
||||
"enabled."
|
||||
msgstr ""
|
||||
"La fonction renvoie maintenant toujours ``UTF-8`` sur Android ou si le mode "
|
||||
"UTF-8 est activé."
|
||||
|
||||
#: ../Doc/library/locale.rst:337
|
||||
msgid ""
|
||||
|
@ -534,22 +686,31 @@ msgid ""
|
|||
"locale code is formatted for use with :func:`setlocale`. If normalization "
|
||||
"fails, the original name is returned unchanged."
|
||||
msgstr ""
|
||||
"Renvoie un code normalisé pour le nom du paramètre régional fourni. Ce code "
|
||||
"renvoyé est structuré de façon à être utilisé avec :func:`setlocale`. Si la "
|
||||
"normalisation échoue, le nom d'origine est renvoyé inchangé."
|
||||
|
||||
#: ../Doc/library/locale.rst:341
|
||||
msgid ""
|
||||
"If the given encoding is not known, the function defaults to the default "
|
||||
"encoding for the locale code just like :func:`setlocale`."
|
||||
msgstr ""
|
||||
"Si l'encodage donné n'est pas connu, la fonction utilise l'encodage par "
|
||||
"défaut pour le code du paramètre régional, tout comme :func:`setlocale`."
|
||||
|
||||
#: ../Doc/library/locale.rst:347
|
||||
msgid "Sets the locale for *category* to the default setting."
|
||||
msgstr ""
|
||||
"Définit le paramètre régional de la catégorie *category* au réglage par "
|
||||
"défaut."
|
||||
|
||||
#: ../Doc/library/locale.rst:349
|
||||
msgid ""
|
||||
"The default setting is determined by calling :func:`getdefaultlocale`. "
|
||||
"*category* defaults to :const:`LC_ALL`."
|
||||
msgstr ""
|
||||
"Le réglage par défaut est déterminé en appelant :func:`getdefaultlocale`. La "
|
||||
"catégorie *category* vaut par défaut :const:`LC_ALL`."
|
||||
|
||||
#: ../Doc/library/locale.rst:355
|
||||
msgid ""
|
||||
|
@ -558,6 +719,10 @@ msgid ""
|
|||
"``0``, depending on whether *string1* collates before or after *string2* or "
|
||||
"is equal to it."
|
||||
msgstr ""
|
||||
"Compare deux chaînes en se basant sur le paramètre :const:`LC_COLLATE` "
|
||||
"actuel. Comme toute autre fonction de comparaison, renvoie une valeur "
|
||||
"négative, positive, ou ``0``, selon si *string1* est lexicographiquement "
|
||||
"inférieure, supérieure, ou égale à *string2*."
|
||||
|
||||
#: ../Doc/library/locale.rst:363
|
||||
msgid ""
|
||||
|
@ -566,6 +731,11 @@ msgid ""
|
|||
"s2) < 0``. This function can be used when the same string is compared "
|
||||
"repeatedly, e.g. when collating a sequence of strings."
|
||||
msgstr ""
|
||||
"Transforme une chaîne de caractères en une chaîne qui peut être utilisée "
|
||||
"dans les comparaisons sensibles aux paramètres régionaux. Par exemple, "
|
||||
"``strxfrm(s1) < strxfrm(s2)`` est équivalent à ``strcoll(s1, s2) < 0``. "
|
||||
"Cette fonction peut être utilisée lorsque la même chaîne est comparée de "
|
||||
"façon répétitive, par exemple lors de l'assemblage d'une séquence de chaînes."
|
||||
|
||||
#: ../Doc/library/locale.rst:372
|
||||
msgid ""
|
||||
|
@ -574,18 +744,26 @@ msgid ""
|
|||
"point values, the decimal point is modified if appropriate. If *grouping* "
|
||||
"is true, also takes the grouping into account."
|
||||
msgstr ""
|
||||
"Structure un nombre *val* en fonction du paramètre :const:`LC_NUMERIC` "
|
||||
"actuel. Le format suit les conventions de l'opérateur ``%``. Pour les "
|
||||
"valeurs à virgule flottante, le point décimal est modifié si nécessaire. Si "
|
||||
"*grouping* est vrai, le regroupement est également pris en compte."
|
||||
|
||||
#: ../Doc/library/locale.rst:377
|
||||
msgid ""
|
||||
"If *monetary* is true, the conversion uses monetary thousands separator and "
|
||||
"grouping strings."
|
||||
msgstr ""
|
||||
"Si *monetary* est vrai, la conversion utilise un séparateur des milliers "
|
||||
"monétaire et des chaînes de regroupement."
|
||||
|
||||
#: ../Doc/library/locale.rst:380
|
||||
msgid ""
|
||||
"Processes formatting specifiers as in ``format % val``, but takes the "
|
||||
"current locale settings into account."
|
||||
msgstr ""
|
||||
"Traite les marqueurs de structure en ``format % val``, mais en prenant en "
|
||||
"compte les paramètres régionaux actuels."
|
||||
|
||||
#: ../Doc/library/locale.rst:383
|
||||
msgid "The *monetary* keyword parameter was added."
|
||||
|
@ -611,6 +789,8 @@ msgid ""
|
|||
"Formats a number *val* according to the current :const:`LC_MONETARY` "
|
||||
"settings."
|
||||
msgstr ""
|
||||
"Structure un nombre *val* en fonction du paramètre :const:`LC_MONETARY` "
|
||||
"actuel."
|
||||
|
||||
#: ../Doc/library/locale.rst:403
|
||||
msgid ""
|
||||
|
@ -619,36 +799,51 @@ msgid ""
|
|||
"is done with the value. If *international* is true (which is not the "
|
||||
"default), the international currency symbol is used."
|
||||
msgstr ""
|
||||
"La chaîne renvoyée inclut le symbole monétaire si *symbol* est vrai, ce qui "
|
||||
"est le cas par défaut. Si *grouping* est vrai (ce qui n'est pas le cas par "
|
||||
"défaut), un regroupement est effectué avec la valeur. Si *international* est "
|
||||
"vrai (ce qui n'est pas le cas par défaut), le symbole de la devise "
|
||||
"internationale est utilisé."
|
||||
|
||||
#: ../Doc/library/locale.rst:408
|
||||
msgid ""
|
||||
"Note that this function will not work with the 'C' locale, so you have to "
|
||||
"set a locale via :func:`setlocale` first."
|
||||
msgstr ""
|
||||
"Notez que cette fonction ne fonctionnera pas avec le paramètre régional 'C', "
|
||||
"vous devez donc d'abord en définir un via :func:`setlocale`."
|
||||
|
||||
#: ../Doc/library/locale.rst:414
|
||||
msgid ""
|
||||
"Formats a floating point number using the same format as the built-in "
|
||||
"function ``str(float)``, but takes the decimal point into account."
|
||||
msgstr ""
|
||||
"Structure un nombre flottant en utilisant le même format que la fonction "
|
||||
"native ``str(float)``, mais en prenant en compte le point décimal."
|
||||
|
||||
#: ../Doc/library/locale.rst:420
|
||||
msgid ""
|
||||
"Converts a string into a normalized number string, following the :const:"
|
||||
"`LC_NUMERIC` settings."
|
||||
msgstr ""
|
||||
"Convertit une chaîne de caractères en une chaîne de nombres normalisés, en "
|
||||
"suivant les réglages :const:`LC_NUMERIC`."
|
||||
|
||||
#: ../Doc/library/locale.rst:428
|
||||
msgid ""
|
||||
"Converts a string to a floating point number, following the :const:"
|
||||
"`LC_NUMERIC` settings."
|
||||
msgstr ""
|
||||
"Convertit une chaîne de caractères en nombre à virgule flottante, en suivant "
|
||||
"les réglages :const:`LC_NUMERIC`."
|
||||
|
||||
#: ../Doc/library/locale.rst:434
|
||||
msgid ""
|
||||
"Converts a string to an integer, following the :const:`LC_NUMERIC` "
|
||||
"conventions."
|
||||
msgstr ""
|
||||
"Convertit une chaîne de caractères en un entier, en suivant les réglages :"
|
||||
"const:`LC_NUMERIC`."
|
||||
|
||||
#: ../Doc/library/locale.rst:441
|
||||
msgid ""
|
||||
|
@ -656,24 +851,35 @@ msgid ""
|
|||
"of this category, the functions of module :mod:`string` dealing with case "
|
||||
"change their behaviour."
|
||||
msgstr ""
|
||||
"Catégorie de paramètre régional pour les fonctions de type caractère. "
|
||||
"Suivant les réglages de la catégorie, les fonctions du module :mod:`string` "
|
||||
"gérant la casse peuvent changer leur comportement."
|
||||
|
||||
#: ../Doc/library/locale.rst:448
|
||||
msgid ""
|
||||
"Locale category for sorting strings. The functions :func:`strcoll` and :"
|
||||
"func:`strxfrm` of the :mod:`locale` module are affected."
|
||||
msgstr ""
|
||||
"Catégorie de paramètre régional pour les tris de chaînes de caractères. Les "
|
||||
"fonctions :func:`strcoll` et :func:`strxfrm` du module :mod:`locale` sont "
|
||||
"concernées."
|
||||
|
||||
#: ../Doc/library/locale.rst:454
|
||||
msgid ""
|
||||
"Locale category for the formatting of time. The function :func:`time."
|
||||
"strftime` follows these conventions."
|
||||
msgstr ""
|
||||
"Catégorie de paramètre régional pour la mise en forme de la date et de "
|
||||
"l'heure. La fonction :func:`time.strftime` suit ces conventions."
|
||||
|
||||
#: ../Doc/library/locale.rst:460
|
||||
msgid ""
|
||||
"Locale category for formatting of monetary values. The available options "
|
||||
"are available from the :func:`localeconv` function."
|
||||
msgstr ""
|
||||
"Catégorie de paramètre régional pour la mise en forme des valeurs "
|
||||
"monétaires. Les options disponibles sont accessibles à partir de la "
|
||||
"fonction :func:`localeconv`."
|
||||
|
||||
#: ../Doc/library/locale.rst:466
|
||||
msgid ""
|
||||
|
@ -682,6 +888,11 @@ msgid ""
|
|||
"operating system, like those returned by :func:`os.strerror` might be "
|
||||
"affected by this category."
|
||||
msgstr ""
|
||||
"Catégorie de paramètre régional pour l'affichage de messages. Actuellement, "
|
||||
"Python ne gère pas les messages spécifiques aux applications qui sont "
|
||||
"sensibles aux paramètres régionaux. Les messages affichés par le système "
|
||||
"d'exploitation, comme ceux renvoyés par :func:`os.strerror` peuvent être "
|
||||
"affectés par cette catégorie."
|
||||
|
||||
#: ../Doc/library/locale.rst:474
|
||||
msgid ""
|
||||
|
@ -690,6 +901,10 @@ msgid ""
|
|||
"affected by that category. All other numeric formatting operations are not "
|
||||
"affected."
|
||||
msgstr ""
|
||||
"Catégorie de paramètre régional pour la mise en forme des nombres. Les "
|
||||
"fonctions :func:`.format`, :func:`atoi`, :func:`atof` et :func:`.str` du "
|
||||
"module :mod:`locale` sont affectées par cette catégorie. Toutes les autres "
|
||||
"opérations de mise en forme des nombres ne sont pas affectées."
|
||||
|
||||
#: ../Doc/library/locale.rst:482
|
||||
msgid ""
|
||||
|
@ -700,12 +915,21 @@ msgid ""
|
|||
"categories is returned. This string can be later used to restore the "
|
||||
"settings."
|
||||
msgstr ""
|
||||
"Combinaison de tous les paramètres régionaux. Si cette option est utilisée "
|
||||
"lors du changement de paramètres régionaux, la définition de ces paramètres "
|
||||
"pour toutes les catégories est tentée. Si cela échoue pour n'importe quelle "
|
||||
"catégorie, aucune d'entre elles n'est modifiée. Lorsque les paramètres "
|
||||
"régionaux sont récupérés à l'aide de cette option, une chaîne de caractères "
|
||||
"indiquant le réglage pour toutes les catégories est renvoyée. Cette chaîne "
|
||||
"peut alors être utilisée plus tard pour restaurer les paramètres d'origine."
|
||||
|
||||
#: ../Doc/library/locale.rst:491
|
||||
msgid ""
|
||||
"This is a symbolic constant used for different values returned by :func:"
|
||||
"`localeconv`."
|
||||
msgstr ""
|
||||
"Ceci est une constante symbolique utilisée pour différentes valeurs "
|
||||
"renvoyées par :func:`localeconv`."
|
||||
|
||||
#: ../Doc/library/locale.rst:495
|
||||
msgid "Example::"
|
||||
|
@ -713,7 +937,7 @@ msgstr "Exemple ::"
|
|||
|
||||
#: ../Doc/library/locale.rst:508
|
||||
msgid "Background, details, hints, tips and caveats"
|
||||
msgstr ""
|
||||
msgstr "Contexte, détails, conseils, astuces et mises en garde"
|
||||
|
||||
#: ../Doc/library/locale.rst:510
|
||||
msgid ""
|
||||
|
@ -722,6 +946,11 @@ msgid ""
|
|||
"broken in such a way that frequent locale changes may cause core dumps. "
|
||||
"This makes the locale somewhat painful to use correctly."
|
||||
msgstr ""
|
||||
"La norme C définie les paramètres régionaux comme une propriété à l'échelle "
|
||||
"d'un programme, qui peut être relativement coûteuse à changer. En plus de "
|
||||
"cela, certaines implémentations ne fonctionnent pas car des changements "
|
||||
"fréquents de paramètres régionaux peuvent causer des *core dumps*. Cela "
|
||||
"rend l'utilisation correcte de ces paramètres quelque peu pénible."
|
||||
|
||||
#: ../Doc/library/locale.rst:515
|
||||
msgid ""
|
||||
|
@ -732,6 +961,13 @@ msgid ""
|
|||
"explicitly say that it wants the user's preferred locale settings for other "
|
||||
"categories by calling ``setlocale(LC_ALL, '')``."
|
||||
msgstr ""
|
||||
"Initialement, lorsqu'un programme est démarré, les paramètres régionaux "
|
||||
"``C`` sont utilisés, peu importe les réglages de l'utilisateur. Il y a "
|
||||
"toutefois une exception : la catégorie :data:`LC_CTYPE` est modifiée au "
|
||||
"démarrage pour définir l'encodage des paramètres régionaux actuels comme "
|
||||
"celui défini par l'utilisateur. Le programme doit explicitement dire qu'il "
|
||||
"veut utiliser les réglages de l'utilisateur pour les autres catégories, en "
|
||||
"appelant ``setlocale(LC_ALL, '')``."
|
||||
|
||||
#: ../Doc/library/locale.rst:522
|
||||
msgid ""
|
||||
|
@ -740,6 +976,11 @@ msgid ""
|
|||
"restoring it is almost as bad: it is expensive and affects other threads "
|
||||
"that happen to run before the settings have been restored."
|
||||
msgstr ""
|
||||
"C'est généralement une mauvaise idée d'appeler :func:`setlocale` dans une "
|
||||
"routine de bibliothèque car cela a pour effet secondaire d'affecter le "
|
||||
"programme entier. Sauvegarder et restaurer les paramètres est presque aussi "
|
||||
"mauvais : c'est coûteux et cela affecte d'autres fils d'exécutions qui "
|
||||
"s'exécutent avant que les paramètres n'aient été restaurés."
|
||||
|
||||
#: ../Doc/library/locale.rst:527
|
||||
msgid ""
|
||||
|
@ -751,6 +992,14 @@ msgid ""
|
|||
"you document that your module is not compatible with non-\\ ``C`` locale "
|
||||
"settings."
|
||||
msgstr ""
|
||||
"Si, lors du développement d'un module à usage général, vous avez besoin "
|
||||
"d'une version indépendante des paramètres régionaux pour une opération y "
|
||||
"étant sensible (comme c'est le cas pour certains formats utilisés avec :func:"
|
||||
"`time.strftime`), vous devez trouver un moyen de le faire sans utiliser la "
|
||||
"routine de la bibliothèque standard. Le mieux est encore de se convaincre "
|
||||
"que l'usage des paramètres régionaux est une bonne chose. Ce n'est qu'en "
|
||||
"dernier recours que vous devez documenter que votre module n'est pas "
|
||||
"compatible avec les réglages du paramètre régional ``C``."
|
||||
|
||||
#: ../Doc/library/locale.rst:534
|
||||
msgid ""
|
||||
|
@ -758,6 +1007,9 @@ msgid ""
|
|||
"the special functions defined by this module: :func:`atof`, :func:`atoi`, :"
|
||||
"func:`.format`, :func:`.str`."
|
||||
msgstr ""
|
||||
"La seule façon d'effectuer des opérations numériques conformément aux "
|
||||
"paramètres régionaux est d'utiliser les fonctions spéciales définies par ce "
|
||||
"module : :func:`atof`, :func:`atoi`, :func:`.format`, :func:`.str`."
|
||||
|
||||
#: ../Doc/library/locale.rst:538
|
||||
msgid ""
|
||||
|
@ -769,10 +1021,18 @@ msgid ""
|
|||
"converted or considered part of a character class such as letter or "
|
||||
"whitespace."
|
||||
msgstr ""
|
||||
"Il n'y a aucun moyen d'effectuer des conversions de casse et des "
|
||||
"classifications de caractères en fonction des paramètres régionaux. Pour "
|
||||
"les chaînes de caractères (Unicode), celles-ci se font uniquement en "
|
||||
"fonction de la valeur du caractère, tandis que pour les chaînes d'octets, "
|
||||
"les conversions et les classifications se font en fonction de la valeur "
|
||||
"ASCII de l'octet, et les octets dont le bit de poids fort est à 1 (c'est-à-"
|
||||
"dire les octets non ASCII) ne sont jamais convertis ou considérés comme "
|
||||
"faisant partie d'une classe de caractères comme une lettre ou une espace."
|
||||
|
||||
#: ../Doc/library/locale.rst:549
|
||||
msgid "For extension writers and programs that embed Python"
|
||||
msgstr ""
|
||||
msgstr "Pour les auteurs d'extensions et les programmes qui intègrent Python"
|
||||
|
||||
#: ../Doc/library/locale.rst:551
|
||||
msgid ""
|
||||
|
@ -781,6 +1041,10 @@ msgid ""
|
|||
"portably to restore it, that is not very useful (except perhaps to find out "
|
||||
"whether or not the locale is ``C``)."
|
||||
msgstr ""
|
||||
"Les modules d'extensions ne devraient jamais appeler :func:`setlocale`, sauf "
|
||||
"pour connaître le paramètre régional actuel. Mais comme la valeur renvoyée "
|
||||
"ne peut être utilisée que pour le restaurer, ce n'est pas très utile (sauf "
|
||||
"peut-être pour savoir si le paramètre régional est défini à ``C`` ou non)."
|
||||
|
||||
#: ../Doc/library/locale.rst:556
|
||||
msgid ""
|
||||
|
@ -791,10 +1055,17 @@ msgid ""
|
|||
"file:`config.c` file, and make sure that the :mod:`_locale` module is not "
|
||||
"accessible as a shared library."
|
||||
msgstr ""
|
||||
"Lorsque le code Python utilise le module :mod:`locale` pour changer le "
|
||||
"paramètre régional, cela affecte également l'application intégrée. Si "
|
||||
"l'application intégrée ne souhaite pas que cela se produise, elle doit "
|
||||
"supprimer le module d'extension :mod:`_locale` (qui fait tout le travail) de "
|
||||
"la table des modules natifs se trouvant dans le fichier :file:`config.c`, et "
|
||||
"s'assurer que le module :mod:`_locale` n'est pas accessible en tant que "
|
||||
"bibliothèque partagée."
|
||||
|
||||
#: ../Doc/library/locale.rst:567
|
||||
msgid "Access to message catalogs"
|
||||
msgstr ""
|
||||
msgstr "Accéder aux catalogues de messages"
|
||||
|
||||
#: ../Doc/library/locale.rst:575
|
||||
msgid ""
|
||||
|
@ -806,6 +1077,12 @@ msgid ""
|
|||
"binary format for message catalogs, and the C library's search algorithms "
|
||||
"for locating message catalogs."
|
||||
msgstr ""
|
||||
"Le module *locale* expose l'interface *gettext* de la bibliothèque C sur les "
|
||||
"systèmes qui fournissent cette interface. Il se compose des fonctions :func:"
|
||||
"`!gettext`, :func:`!dgettext`, :func:`!dcgettext`, :func:`!textdomain`, :"
|
||||
"func:`!bindtextdomain` et :func:`!bind_textdomain_codeset`. Elles sont "
|
||||
"similaires aux fonctions du module :mod:`gettext`, mais utilisent le format "
|
||||
"binaire de la bibliothèque C pour les catalogues de messages."
|
||||
|
||||
#: ../Doc/library/locale.rst:582
|
||||
msgid ""
|
||||
|
@ -816,3 +1093,10 @@ msgid ""
|
|||
"necessary to bind the text domain, so that the libraries can properly locate "
|
||||
"their message catalogs."
|
||||
msgstr ""
|
||||
"Les applications Python ne devraient normalement pas avoir besoin de faire "
|
||||
"appel à ces fonctions, mais devraient plutôt utiliser :mod:`gettext`. Une "
|
||||
"exception connue pour cette règle concerne les applications qui sont liées "
|
||||
"avec des bibliothèques C supplémentaires faisant appel à :c:func:`gettext` "
|
||||
"ou :c:func:`dcgettext`. Pour ces applications, il peut être nécessaire de "
|
||||
"lier le domaine du texte, afin que les bibliothèques puissent régionaliser "
|
||||
"correctement leurs catalogues de messages."
|
||||
|
|
|
@ -26,18 +26,20 @@ msgstr ""
|
|||
msgid ""
|
||||
"This page contains only reference information. For tutorials, please see"
|
||||
msgstr ""
|
||||
"Cette page contient uniquement des informations de référence. Pour des "
|
||||
"tutoriels, veuillez consulter"
|
||||
|
||||
#: ../Doc/library/logging.config.rst:17
|
||||
msgid ":ref:`Basic Tutorial <logging-basic-tutorial>`"
|
||||
msgstr ""
|
||||
msgstr ":ref:`Tutoriel basique <logging-basic-tutorial>`"
|
||||
|
||||
#: ../Doc/library/logging.config.rst:18
|
||||
msgid ":ref:`Advanced Tutorial <logging-advanced-tutorial>`"
|
||||
msgstr ""
|
||||
msgstr ":ref:`Tutoriel avancé <logging-advanced-tutorial>`"
|
||||
|
||||
#: ../Doc/library/logging.config.rst:19
|
||||
msgid ":ref:`Logging Cookbook <logging-cookbook>`"
|
||||
msgstr ""
|
||||
msgstr ":ref:`Recettes pour la journalisation <logging-cookbook>`"
|
||||
|
||||
#: ../Doc/library/logging.config.rst:23
|
||||
msgid "This section describes the API for configuring the logging module."
|
||||
|
@ -135,7 +137,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/logging.config.rst:0
|
||||
msgid "Parameters"
|
||||
msgstr ""
|
||||
msgstr "Paramètres"
|
||||
|
||||
#: ../Doc/library/logging.config.rst:90
|
||||
msgid ""
|
||||
|
@ -555,7 +557,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/logging.config.rst:453
|
||||
msgid "and::"
|
||||
msgstr "et ::"
|
||||
msgstr "et ::"
|
||||
|
||||
#: ../Doc/library/logging.config.rst:460
|
||||
msgid ""
|
||||
|
|
|
@ -16,28 +16,30 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/logging.handlers.rst:2
|
||||
msgid ":mod:`logging.handlers` --- Logging handlers"
|
||||
msgstr ""
|
||||
msgstr ":mod:`logging.handlers` — Gestionnaires de journalisation"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:10
|
||||
msgid "**Source code:** :source:`Lib/logging/handlers.py`"
|
||||
msgstr ""
|
||||
msgstr "**Code source :** :source:`Lib/logging/handlers.py`"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:14
|
||||
msgid ""
|
||||
"This page contains only reference information. For tutorials, please see"
|
||||
msgstr ""
|
||||
"Cette page contient uniquement des informations de référence. Pour des "
|
||||
"tutoriels, veuillez consulter"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:17
|
||||
msgid ":ref:`Basic Tutorial <logging-basic-tutorial>`"
|
||||
msgstr ""
|
||||
msgstr ":ref:`Tutoriel basique <logging-basic-tutorial>`"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:18
|
||||
msgid ":ref:`Advanced Tutorial <logging-advanced-tutorial>`"
|
||||
msgstr ""
|
||||
msgstr ":ref:`Tutoriel avancé <logging-advanced-tutorial>`"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:19
|
||||
msgid ":ref:`Logging Cookbook <logging-cookbook>`"
|
||||
msgstr ""
|
||||
msgstr ":ref:`Recettes pour la journalisation <logging-cookbook>`"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:25
|
||||
msgid ""
|
||||
|
@ -46,10 +48,15 @@ msgid ""
|
|||
"`NullHandler`) are actually defined in the :mod:`logging` module itself, but "
|
||||
"have been documented here along with the other handlers."
|
||||
msgstr ""
|
||||
"Les gestionnaires suivants, très utiles, sont fournis dans le paquet. Notez "
|
||||
"que trois des gestionnaires (:class:`StreamHandler`, :class:`FileHandler` "
|
||||
"et :class:`NullHandler`) sont en réalité définis dans le module :mod:"
|
||||
"`logging` lui-même, mais qu’ils sont documentés ici avec les autres "
|
||||
"gestionnaires."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:33
|
||||
msgid "StreamHandler"
|
||||
msgstr ""
|
||||
msgstr "Gestionnaire à flux — *StreamHandler*"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:35
|
||||
msgid ""
|
||||
|
@ -58,6 +65,10 @@ msgid ""
|
|||
"or any file-like object (or, more precisely, any object which supports :meth:"
|
||||
"`write` and :meth:`flush` methods)."
|
||||
msgstr ""
|
||||
"La classe :class:`StreamHandler`, du paquet :mod:`logging`, envoie les "
|
||||
"sorties de journalisation dans des flux tels que *sys.stdout*, *sys.stderr* "
|
||||
"ou n’importe quel objet fichier-compatible (ou, plus précisément, tout objet "
|
||||
"qui gère les méthodes :meth:`write` et :meth:`flush`)."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:43
|
||||
msgid ""
|
||||
|
@ -65,6 +76,9 @@ msgid ""
|
|||
"specified, the instance will use it for logging output; otherwise, *sys."
|
||||
"stderr* will be used."
|
||||
msgstr ""
|
||||
"Renvoie une nouvelle instance de la classe :class:`StreamHandler`. Si "
|
||||
"*stream* est spécifié, l’instance l’utilise pour les sorties de "
|
||||
"journalisation ; autrement elle utilise *sys.stderr*."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:50
|
||||
msgid ""
|
||||
|
@ -80,28 +94,34 @@ msgid ""
|
|||
"`close` method is inherited from :class:`~logging.Handler` and so does no "
|
||||
"output, so an explicit :meth:`flush` call may be needed at times."
|
||||
msgstr ""
|
||||
"Purge le flux en appelant sa méthode :meth:`flush`. Notez que la méthode :"
|
||||
"meth:`close` est héritée de :class:`~logging.Handler` donc elle n'écrit "
|
||||
"rien. Par conséquent, un appel explicite à :meth:`flush` peut parfois "
|
||||
"s'avérer nécessaire."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:64
|
||||
msgid ""
|
||||
"Sets the instance's stream to the specified value, if it is different. The "
|
||||
"old stream is flushed before the new stream is set."
|
||||
msgstr ""
|
||||
"Définit le flux de l’instance à la valeur spécifiée, si elle est différente. "
|
||||
"L’ancien flux est purgé avant que le nouveau flux ne soit établi."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:0
|
||||
msgid "Parameters"
|
||||
msgstr ""
|
||||
msgstr "Paramètres"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:67
|
||||
msgid "The stream that the handler should use."
|
||||
msgstr ""
|
||||
msgstr "Le flux que le gestionnaire doit utiliser."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:0
|
||||
msgid "Returns"
|
||||
msgstr ""
|
||||
msgstr "Renvoie"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:69
|
||||
msgid "the old stream, if the stream was changed, or *None* if it wasn't."
|
||||
msgstr ""
|
||||
msgstr "l’ancien flux, si le flux a été changé, ou *None* s’il ne l’a pas été."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:74
|
||||
msgid ""
|
||||
|
@ -114,7 +134,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/logging.handlers.rst:85
|
||||
msgid "FileHandler"
|
||||
msgstr ""
|
||||
msgstr "Gestionnaire à fichier — *FileHandler*"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:87
|
||||
msgid ""
|
||||
|
@ -122,6 +142,9 @@ msgid ""
|
|||
"sends logging output to a disk file. It inherits the output functionality "
|
||||
"from :class:`StreamHandler`."
|
||||
msgstr ""
|
||||
"La classe :class:`FileHandler`, du paquet :mod:`logging`, envoie les sorties "
|
||||
"de journalisation dans un fichier. Elle hérite des fonctionnalités de sortie "
|
||||
"de :class:`StreamHandler`."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:94
|
||||
msgid ""
|
||||
|
@ -141,18 +164,20 @@ msgid ""
|
|||
"As well as string values, :class:`~pathlib.Path` objects are also accepted "
|
||||
"for the *filename* argument."
|
||||
msgstr ""
|
||||
"L'argument *filename* accepte les objets :class:`~pathlib.Path` aussi bien "
|
||||
"que les chaînes de caractères."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:106
|
||||
msgid "Closes the file."
|
||||
msgstr ""
|
||||
msgstr "Ferme le fichier."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:111
|
||||
msgid "Outputs the record to the file."
|
||||
msgstr ""
|
||||
msgstr "Écrit l’enregistrement dans le fichier."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:117
|
||||
msgid "NullHandler"
|
||||
msgstr ""
|
||||
msgstr "Gestionnaire à puits sans fond — *NullHandler*"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:121
|
||||
msgid ""
|
||||
|
@ -160,31 +185,38 @@ msgid ""
|
|||
"does not do any formatting or output. It is essentially a 'no-op' handler "
|
||||
"for use by library developers."
|
||||
msgstr ""
|
||||
"La classe :class:`NullHandler`, située dans le paquet principal :mod:"
|
||||
"`logging`, ne produit aucun formatage ni sortie. C’est essentiellement un "
|
||||
"gestionnaire « fantôme » destiné aux développeurs de bibliothèques."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:127
|
||||
msgid "Returns a new instance of the :class:`NullHandler` class."
|
||||
msgstr ""
|
||||
msgstr "Renvoie une nouvelle instance de la classe :class:`NullHandler`."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:131
|
||||
#: ../Doc/library/logging.handlers.rst:135
|
||||
msgid "This method does nothing."
|
||||
msgstr ""
|
||||
msgstr "Cette méthode ne fait rien."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:139
|
||||
msgid ""
|
||||
"This method returns ``None`` for the lock, since there is no underlying I/O "
|
||||
"to which access needs to be serialized."
|
||||
msgstr ""
|
||||
"Cette méthode renvoie ``None`` pour le verrou, étant donné qu’il n’y a aucun "
|
||||
"flux d'entrée-sortie sous-jacent dont l’accès doit être sérialisé."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:143
|
||||
msgid ""
|
||||
"See :ref:`library-config` for more information on how to use :class:"
|
||||
"`NullHandler`."
|
||||
msgstr ""
|
||||
"Voir :ref:`library-config` pour plus d’information sur l'utilisation de :"
|
||||
"class:`NullHandler`."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:149
|
||||
msgid "WatchedFileHandler"
|
||||
msgstr ""
|
||||
msgstr "Gestionnaire à fichier avec surveillance — *WatchedFileHandler*"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:153
|
||||
msgid ""
|
||||
|
@ -193,6 +225,10 @@ msgid ""
|
|||
"logging to. If the file changes, it is closed and reopened using the file "
|
||||
"name."
|
||||
msgstr ""
|
||||
"La classe :class:`WatchedFileHandler`, située dans le module :mod:`logging."
|
||||
"handlers`, est un :class:`FileHandler` qui surveille le fichier dans lequel "
|
||||
"il journalise. Si le fichier change, il est fermé et rouvert en utilisant le "
|
||||
"nom du fichier."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:157
|
||||
msgid ""
|
||||
|
@ -203,6 +239,14 @@ msgid ""
|
|||
"changed.) If the file has changed, the old file stream is closed, and the "
|
||||
"file opened to get a new stream."
|
||||
msgstr ""
|
||||
"Un changement du fichier peut arriver à cause de l’utilisation de programmes "
|
||||
"tels que *newsyslog* ou *logrotate* qui assurent le roulement des fichiers "
|
||||
"de journalisation. Ce gestionnaire, destiné à une utilisation sous Unix/"
|
||||
"Linux, surveille le fichier pour voir s’il a changé depuis la dernière "
|
||||
"écriture (un fichier est réputé avoir changé si son nœud d’index ou le "
|
||||
"périphérique auquel il est rattaché a changé). Si le fichier a changé, "
|
||||
"l’ancien flux vers ce fichier est fermé, et le fichier est ouvert pour "
|
||||
"établir un nouveau flux."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:164
|
||||
msgid ""
|
||||
|
@ -212,6 +256,12 @@ msgid ""
|
|||
"*ST_INO* is not supported under Windows; :func:`~os.stat` always returns "
|
||||
"zero for this value."
|
||||
msgstr ""
|
||||
"Ce gestionnaire n’est pas approprié pour une utilisation sous *Windows*, car "
|
||||
"sous *Windows* les fichiers de journalisation ouverts ne peuvent être ni "
|
||||
"déplacés, ni renommés — la journalisation ouvre les fichiers avec des "
|
||||
"verrous exclusifs — de telle sorte qu’il n’y a pas besoin d’un tel "
|
||||
"gestionnaire. En outre, *ST_INO* n’est pas géré par *Windows* ; :func:`~os."
|
||||
"stat` renvoie toujours zéro pour cette valeur."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:173
|
||||
msgid ""
|
||||
|
@ -229,16 +279,21 @@ msgid ""
|
|||
"flushed and closed and the file opened again, typically as a precursor to "
|
||||
"outputting the record to the file."
|
||||
msgstr ""
|
||||
"Vérifie si le fichier a changé. Si c’est le cas, le flux existant est purgé "
|
||||
"et fermé et le fichier est rouvert, généralement avant d'effectuer "
|
||||
"l’écriture de l'enregistrement dans le fichier."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:194
|
||||
msgid ""
|
||||
"Outputs the record to the file, but first calls :meth:`reopenIfNeeded` to "
|
||||
"reopen the file if it has changed."
|
||||
msgstr ""
|
||||
"Écrit l’enregistrement dans le fichier, mais appelle d’abord :meth:"
|
||||
"`reopenIfNeeded` pour rouvrir le fichier s’il a changé."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:200
|
||||
msgid "BaseRotatingHandler"
|
||||
msgstr ""
|
||||
msgstr "Base des gestionnaires à roulement *BaseRotatingHandler*"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:202
|
||||
msgid ""
|
||||
|
@ -248,10 +303,17 @@ msgid ""
|
|||
"need to instantiate this class, but it has attributes and methods you may "
|
||||
"need to override."
|
||||
msgstr ""
|
||||
"La classe :class:`BaseRotatingHandler`, située dans le module :mod:`logging."
|
||||
"handlers`, est la classe de base pour les gestionnaires à roulement, :class:"
|
||||
"`RotatingFileHandler` et :class:`TimedRotatingFileHandler`. Vous ne devez "
|
||||
"pas initialiser cette classe, mais elle a des attributs et des méthodes que "
|
||||
"vous devrez peut-être surcharger."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:210
|
||||
msgid "The parameters are as for :class:`FileHandler`. The attributes are:"
|
||||
msgstr ""
|
||||
"Les paramètres sont les mêmes que pour :class:`FileHandler`. Les attributs "
|
||||
"sont :"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:214
|
||||
msgid ""
|
||||
|
@ -259,6 +321,9 @@ msgid ""
|
|||
"delegates to this callable. The parameters passed to the callable are those "
|
||||
"passed to :meth:`rotation_filename`."
|
||||
msgstr ""
|
||||
"Si cet attribut est défini en tant qu’appelable, la méthode :meth:"
|
||||
"`rotation_filename` se rapporte à cet appelable. Les paramètres passés à "
|
||||
"l’appelable sont ceux passés à :meth:`rotation_filename`."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:218
|
||||
msgid ""
|
||||
|
@ -267,6 +332,10 @@ msgid ""
|
|||
"every time for a given input, otherwise the rollover behaviour may not work "
|
||||
"as expected."
|
||||
msgstr ""
|
||||
"La fonction *namer* est appelée pas mal de fois durant le roulement, de "
|
||||
"telle sorte qu’elle doit être aussi simple et rapide que possible. Elle doit "
|
||||
"aussi renvoyer toujours la même sortie pour une entrée donnée, autrement le "
|
||||
"comportement du roulement pourrait être différent de celui attendu."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:228
|
||||
msgid ""
|
||||
|
@ -274,14 +343,18 @@ msgid ""
|
|||
"to this callable. The parameters passed to the callable are those passed "
|
||||
"to :meth:`rotate`."
|
||||
msgstr ""
|
||||
"Si cet attribut est défini en tant qu’appelable, cet appelable se substitue "
|
||||
"à la méthode :meth:`rotate`. Les paramètres passés à l’appelable sont ceux "
|
||||
"passés à :meth:`rotate`."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:236
|
||||
msgid "Modify the filename of a log file when rotating."
|
||||
msgstr ""
|
||||
"Modifie le nom du fichier d’un fichier de journalisation lors du roulement."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:238
|
||||
msgid "This is provided so that a custom filename can be provided."
|
||||
msgstr ""
|
||||
msgstr "Cette méthode sert à pouvoir produire un nom de fichier personnalisé."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:240
|
||||
msgid ""
|
||||
|
@ -289,14 +362,17 @@ msgid ""
|
|||
"it's callable, passing the default name to it. If the attribute isn't "
|
||||
"callable (the default is ``None``), the name is returned unchanged."
|
||||
msgstr ""
|
||||
"L’implémentation par défaut appelle l’attribut *namer* du gestionnaire, si "
|
||||
"c’est un appelable, lui passant le nom par défaut. Si l’attribut n’est pas "
|
||||
"un appelable (le défaut est ``None``), le nom est renvoyé tel quel."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:244
|
||||
msgid "The default name for the log file."
|
||||
msgstr ""
|
||||
msgstr "Le nom par défaut du fichier de journalisation."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:251
|
||||
msgid "When rotating, rotate the current log."
|
||||
msgstr ""
|
||||
msgstr "Lors du roulement, effectue le roulement du journal courant."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:253
|
||||
msgid ""
|
||||
|
@ -305,17 +381,25 @@ msgid ""
|
|||
"isn't callable (the default is ``None``), the source is simply renamed to "
|
||||
"the destination."
|
||||
msgstr ""
|
||||
"L’implémentation par défaut appelle l’attribut *rotator* du gestionnaire, si "
|
||||
"c’est un appelable, lui passant les arguments *source* et *dest*. Si "
|
||||
"l’attribut n’est pas un appelable (le défaut est ``None``), le nom de la "
|
||||
"source est simplement renommé avec la destination."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:258
|
||||
msgid ""
|
||||
"The source filename. This is normally the base filename, e.g. 'test.log'."
|
||||
msgstr ""
|
||||
"Le nom du fichier source. Il s’agit normalement du nom du fichier, par "
|
||||
"exemple ``\"test.log\"``."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:260
|
||||
msgid ""
|
||||
"The destination filename. This is normally what the source is rotated to, e."
|
||||
"g. 'test.log.1'."
|
||||
msgstr ""
|
||||
"Le nom du fichier de destination. Il s’agit normalement du nom donné à la "
|
||||
"source après le roulement, par exemple ``\"test.log.1\"``."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:265
|
||||
msgid ""
|
||||
|
@ -326,26 +410,36 @@ msgid ""
|
|||
"exception during an :meth:`emit` call, i.e. via the :meth:`handleError` "
|
||||
"method of the handler."
|
||||
msgstr ""
|
||||
"La raison d’être de ces attributs est de vous épargner la création d’une "
|
||||
"sous-classe — vous pouvez utiliser les mêmes appels pour des instances de :"
|
||||
"class:`RotatingFileHandler` et :class:`TimedRotatingFileHandler`. Si le "
|
||||
"*namer* ou le *rotator* appelable lève une exception, ce sera géré de la "
|
||||
"même manière que n’importe quelle exception durant un appel :meth:`emit`, "
|
||||
"c'est-à-dire par la méthode :meth:`handleError` du gestionnaire."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:272
|
||||
msgid ""
|
||||
"If you need to make more significant changes to rotation processing, you can "
|
||||
"override the methods."
|
||||
msgstr ""
|
||||
"Si vous avez besoin de faire d’importantes modifications au processus de "
|
||||
"roulement, surchargez les méthodes."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:275
|
||||
msgid "For an example, see :ref:`cookbook-rotator-namer`."
|
||||
msgstr ""
|
||||
msgstr "Pour un exemple, voir :ref:`cookbook-rotator-namer`."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:281
|
||||
msgid "RotatingFileHandler"
|
||||
msgstr ""
|
||||
msgstr "Gestionnaire à roulement de fichiers — *RotatingFileHandler*"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:283
|
||||
msgid ""
|
||||
"The :class:`RotatingFileHandler` class, located in the :mod:`logging."
|
||||
"handlers` module, supports rotation of disk log files."
|
||||
msgstr ""
|
||||
"La classe :class:`RotatingFileHandler`, située dans le module :mod:`logging."
|
||||
"handlers`, gère le roulement des fichiers de journalisation sur disque."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:289
|
||||
msgid ""
|
||||
|
@ -374,21 +468,41 @@ msgid ""
|
|||
"log.1`, and if files :file:`app.log.1`, :file:`app.log.2`, etc. exist, then "
|
||||
"they are renamed to :file:`app.log.2`, :file:`app.log.3` etc. respectively."
|
||||
msgstr ""
|
||||
"Utilisez les valeurs *maxBytes* et *backupCount* pour autoriser le roulement "
|
||||
"du fichier (:dfn:`rollover`) à une taille prédéterminée. Quand la taille "
|
||||
"limite est sur le point d’être dépassée, le fichier est fermé et un nouveau "
|
||||
"fichier est discrètement ouvert en tant que sortie. Un roulement se produit "
|
||||
"dès que le fichier de journalisation actuel atteint presque une taille de "
|
||||
"*maxBytes* ; si *maxBytes* ou *backupCount* est à 0, le roulement ne se "
|
||||
"produit jamais, donc en temps normal il convient de définir *backupCount* à "
|
||||
"au moins 1, et avoir une valeur de *maxBytes* non nulle. Quand *backupCount* "
|
||||
"est non nul, le système sauvegarde les anciens fichiers de journalisation en "
|
||||
"leur ajoutant au nom du fichier, les suffixes ``\".1\"``, ``\".2\"`` et "
|
||||
"ainsi de suite. Par exemple, avec un *backupCount* de 5 et :file:`app.log` "
|
||||
"comme radical du fichier, vous obtiendrez :file:`app.log`, :file:`app."
|
||||
"log.1`, :file:`app.log.2`, jusqu’à :file:`app.log.5`. Le fichier dans lequel "
|
||||
"on écrit est toujours :file:`app.log`. Quand ce fichier est rempli, il est "
|
||||
"fermé et renommé en :file:`app.log.1`, et si les fichiers :file:`app."
|
||||
"log.1`, :file:`app.log.2`, etc. existent, alors ils sont renommés "
|
||||
"respectivement en :file:`app.log.2`, :file:`app.log.3` etc."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:316
|
||||
#: ../Doc/library/logging.handlers.rst:416
|
||||
msgid "Does a rollover, as described above."
|
||||
msgstr ""
|
||||
msgstr "Effectue un roulement, comme décrit au-dessus."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:321
|
||||
msgid ""
|
||||
"Outputs the record to the file, catering for rollover as described "
|
||||
"previously."
|
||||
msgstr ""
|
||||
"Écrit l'enregistrement dans le fichier, effectuant un roulement au besoin "
|
||||
"comme décrit précédemment."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:327
|
||||
msgid "TimedRotatingFileHandler"
|
||||
msgstr ""
|
||||
"Gestionnaire à roulement de fichiers périodique — *TimedRotatingFileHandler*"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:329
|
||||
msgid ""
|
||||
|
@ -396,6 +510,9 @@ msgid ""
|
|||
"handlers` module, supports rotation of disk log files at certain timed "
|
||||
"intervals."
|
||||
msgstr ""
|
||||
"La classe :class:`TimedRotatingFileHandler`, située dans le module :mod:"
|
||||
"`logging.handlers`, gère le roulement des fichiers de journalisation sur le "
|
||||
"disque à un intervalle de temps spécifié."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:336
|
||||
msgid ""
|
||||
|
@ -404,12 +521,19 @@ msgid ""
|
|||
"also sets the filename suffix. Rotating happens based on the product of "
|
||||
"*when* and *interval*."
|
||||
msgstr ""
|
||||
"Renvoie une nouvelle instance de la classe :class:"
|
||||
"`TimedRotatingFileHandler`. Le fichier spécifié est ouvert et utilisé en "
|
||||
"tant que flux de sortie pour la journalisation. Au moment du roulement, il "
|
||||
"met également à jour le suffixe du nom du fichier. Le roulement se produit "
|
||||
"sur la base combinée de *when* et *interval*."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:341
|
||||
msgid ""
|
||||
"You can use the *when* to specify the type of *interval*. The list of "
|
||||
"possible values is below. Note that they are not case sensitive."
|
||||
msgstr ""
|
||||
"Utilisez le *when* pour spécifier le type de l’*interval*. La liste des "
|
||||
"valeurs possibles est ci-dessous. Notez qu’elles sont sensibles à la casse."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:345
|
||||
msgid "Value"
|
||||
|
@ -417,11 +541,11 @@ msgstr "Valeur"
|
|||
|
||||
#: ../Doc/library/logging.handlers.rst:345
|
||||
msgid "Type of interval"
|
||||
msgstr ""
|
||||
msgstr "Type d’intervalle"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:345
|
||||
msgid "If/how *atTime* is used"
|
||||
msgstr ""
|
||||
msgstr "Si/comment *atTime* est utilisé"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:347
|
||||
msgid "``'S'``"
|
||||
|
@ -429,7 +553,7 @@ msgstr "``'S'``"
|
|||
|
||||
#: ../Doc/library/logging.handlers.rst:347
|
||||
msgid "Seconds"
|
||||
msgstr ""
|
||||
msgstr "Secondes"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:347
|
||||
#: ../Doc/library/logging.handlers.rst:349
|
||||
|
@ -444,7 +568,7 @@ msgstr "``'M'``"
|
|||
|
||||
#: ../Doc/library/logging.handlers.rst:349
|
||||
msgid "Minutes"
|
||||
msgstr ""
|
||||
msgstr "Minutes"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:351
|
||||
msgid "``'H'``"
|
||||
|
@ -452,7 +576,7 @@ msgstr "``'H'``"
|
|||
|
||||
#: ../Doc/library/logging.handlers.rst:351
|
||||
msgid "Hours"
|
||||
msgstr ""
|
||||
msgstr "Heures"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:353
|
||||
msgid "``'D'``"
|
||||
|
@ -460,7 +584,7 @@ msgstr "``'D'``"
|
|||
|
||||
#: ../Doc/library/logging.handlers.rst:353
|
||||
msgid "Days"
|
||||
msgstr ""
|
||||
msgstr "Jours"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:355
|
||||
msgid "``'W0'-'W6'``"
|
||||
|
@ -468,12 +592,12 @@ msgstr "``'W0'-'W6'``"
|
|||
|
||||
#: ../Doc/library/logging.handlers.rst:355
|
||||
msgid "Weekday (0=Monday)"
|
||||
msgstr ""
|
||||
msgstr "Jour de la semaine (0=lundi)"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:355
|
||||
#: ../Doc/library/logging.handlers.rst:358
|
||||
msgid "Used to compute initial rollover time"
|
||||
msgstr ""
|
||||
msgstr "Utilisé pour calculer le moment du roulement"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:358
|
||||
msgid "``'midnight'``"
|
||||
|
@ -482,6 +606,8 @@ msgstr "``'midnight'``"
|
|||
#: ../Doc/library/logging.handlers.rst:358
|
||||
msgid "Roll over at midnight, if *atTime* not specified, else at time *atTime*"
|
||||
msgstr ""
|
||||
"Roulement du fichier à minuit, si *atTime* n’est pas spécifié, sinon à "
|
||||
"l’heure *atTime*"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:363
|
||||
msgid ""
|
||||
|
@ -489,6 +615,10 @@ msgid ""
|
|||
"Tuesday, and so on up to 'W6' for Sunday. In this case, the value passed for "
|
||||
"*interval* isn't used."
|
||||
msgstr ""
|
||||
"Lors de l’utilisation d’un roulement basé sur les jours de la semaine, "
|
||||
"définir *W0* pour lundi, *W1* pour mardi, et ainsi de suite jusqu’à *W6* "
|
||||
"pour dimanche. Dans ce cas, la valeur indiquée pour *interval* n’est pas "
|
||||
"utilisée."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:367
|
||||
msgid ""
|
||||
|
@ -496,6 +626,10 @@ msgid ""
|
|||
"The extensions are date-and-time based, using the strftime format ``%Y-%m-%d_"
|
||||
"%H-%M-%S`` or a leading portion thereof, depending on the rollover interval."
|
||||
msgstr ""
|
||||
"Le système sauvegarde les anciens fichiers de journalisation en ajoutant une "
|
||||
"extension au nom du fichier. Les extensions sont basées sur la date et "
|
||||
"l’heure, en utilisation le format *strftime* ``%Y-%m-%d_%H-%M-%S`` ou le "
|
||||
"début de celui-ci, selon l’intervalle du roulement."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:372
|
||||
msgid ""
|
||||
|
@ -503,6 +637,10 @@ msgid ""
|
|||
"is created), the last modification time of an existing log file, or else the "
|
||||
"current time, is used to compute when the next rotation will occur."
|
||||
msgstr ""
|
||||
"Lors du premier calcul du roulement suivant (quand le gestionnaire est "
|
||||
"créé), la dernière date de modification d’un fichier de journalisation "
|
||||
"existant, ou sinon la date actuelle, est utilisée pour calculer la date du "
|
||||
"prochain roulement."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:376
|
||||
msgid ""
|
||||
|
|
|
@ -17,35 +17,40 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/logging.rst:2
|
||||
msgid ":mod:`logging` --- Logging facility for Python"
|
||||
msgstr ""
|
||||
msgstr ":mod:`logging` — Fonctionnalités de journalisation pour Python"
|
||||
|
||||
#: ../Doc/library/logging.rst:10
|
||||
msgid "**Source code:** :source:`Lib/logging/__init__.py`"
|
||||
msgstr ""
|
||||
msgstr "**Code source :** :source:`Lib/logging/__init__.py`"
|
||||
|
||||
#: ../Doc/library/logging.rst:16
|
||||
msgid ""
|
||||
"This page contains the API reference information. For tutorial information "
|
||||
"and discussion of more advanced topics, see"
|
||||
msgstr ""
|
||||
"Cette page contient les informations de référence de l’API. Pour des "
|
||||
"tutoriels et des discussions sur des sujets plus avancés, voir"
|
||||
|
||||
#: ../Doc/library/logging.rst:19
|
||||
msgid ":ref:`Basic Tutorial <logging-basic-tutorial>`"
|
||||
msgstr ""
|
||||
msgstr ":ref:`Tutoriel basique <logging-basic-tutorial>`"
|
||||
|
||||
#: ../Doc/library/logging.rst:20
|
||||
msgid ":ref:`Advanced Tutorial <logging-advanced-tutorial>`"
|
||||
msgstr ""
|
||||
msgstr ":ref:`Tutoriel avancé <logging-advanced-tutorial>`"
|
||||
|
||||
#: ../Doc/library/logging.rst:21
|
||||
msgid ":ref:`Logging Cookbook <logging-cookbook>`"
|
||||
msgstr ""
|
||||
msgstr ":ref:`Recettes pour la journalisation <logging-cookbook>`"
|
||||
|
||||
#: ../Doc/library/logging.rst:25
|
||||
msgid ""
|
||||
"This module defines functions and classes which implement a flexible event "
|
||||
"logging system for applications and libraries."
|
||||
msgstr ""
|
||||
"Ce module définit les fonctions et les classes qui mettent en œuvre un "
|
||||
"système flexible d’enregistrement des événements pour les applications et "
|
||||
"les bibliothèques."
|
||||
|
||||
#: ../Doc/library/logging.rst:28
|
||||
msgid ""
|
||||
|
@ -54,6 +59,10 @@ msgid ""
|
|||
"application log can include your own messages integrated with messages from "
|
||||
"third-party modules."
|
||||
msgstr ""
|
||||
"Le principal avantage de l’API de journalisation fournie par un module de "
|
||||
"bibliothèque standard est que tous les modules Python peuvent participer à "
|
||||
"la journalisation, de sorte que le journal de votre application peut inclure "
|
||||
"vos propres messages intégrés aux messages de modules tiers."
|
||||
|
||||
#: ../Doc/library/logging.rst:33
|
||||
msgid ""
|
||||
|
@ -61,12 +70,17 @@ msgid ""
|
|||
"unfamiliar with logging, the best way to get to grips with it is to see the "
|
||||
"tutorials (see the links on the right)."
|
||||
msgstr ""
|
||||
"Le module offre beaucoup de fonctionnalités et de flexibilité. Si vous "
|
||||
"n’êtes pas familiarisé avec la journalisation, la meilleure façon de vous y "
|
||||
"familiariser est de consulter les tutoriels (voir les liens à droite)."
|
||||
|
||||
#: ../Doc/library/logging.rst:37
|
||||
msgid ""
|
||||
"The basic classes defined by the module, together with their functions, are "
|
||||
"listed below."
|
||||
msgstr ""
|
||||
"Les classes de base définies par le module, ainsi que leurs fonctions, sont "
|
||||
"énumérées ci-dessous."
|
||||
|
||||
#: ../Doc/library/logging.rst:40
|
||||
msgid "Loggers expose the interface that application code directly uses."
|
||||
|
@ -79,7 +93,7 @@ msgid ""
|
|||
"Handlers send the log records (created by loggers) to the appropriate "
|
||||
"destination."
|
||||
msgstr ""
|
||||
"Les gestionnaires (*handlers*) envoient les entrées de journal (crées par "
|
||||
"Les gestionnaires (*handlers*) envoient les entrées de journal (créées par "
|
||||
"les *loggers*) vers les destinations voulues."
|
||||
|
||||
#: ../Doc/library/logging.rst:43
|
||||
|
@ -98,7 +112,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/logging.rst:51
|
||||
msgid "Logger Objects"
|
||||
msgstr ""
|
||||
msgstr "Objets Enregistreurs"
|
||||
|
||||
#: ../Doc/library/logging.rst:53
|
||||
msgid ""
|
||||
|
@ -107,6 +121,11 @@ msgid ""
|
|||
"function ``logging.getLogger(name)``. Multiple calls to :func:`getLogger` "
|
||||
"with the same name will always return a reference to the same Logger object."
|
||||
msgstr ""
|
||||
"Les enregistreurs ont les attributs et les méthodes suivants. Notez que les "
|
||||
"enregistreurs ne doivent *JAMAIS* être instanciés directement, mais toujours "
|
||||
"par la fonction au niveau du module ``logging.getLogger(name)``. Plusieurs "
|
||||
"appels à :func:`getLogger` avec le même nom renvoient toujours une référence "
|
||||
"au même objet enregistreur."
|
||||
|
||||
#: ../Doc/library/logging.rst:58
|
||||
msgid ""
|
||||
|
@ -121,6 +140,18 @@ msgid ""
|
|||
"getLogger(__name__)``. That's because in a module, ``__name__`` is the "
|
||||
"module's name in the Python package namespace."
|
||||
msgstr ""
|
||||
"Le nom ``name`` est potentiellement une valeur avec plusieurs niveaux de "
|
||||
"hiérarchie, séparés par des points, comme ``truc.machin.bidule`` (bien qu’il "
|
||||
"puisse aussi être simplement ``truc``, par exemple). Les enregistreurs qui "
|
||||
"sont plus bas dans la liste hiérarchique sont les enfants des enregistreurs "
|
||||
"plus haut dans la liste. Par exemple, pour un enregistreur nommé ``truc``, "
|
||||
"les enregistreurs portant les noms ``truc.machin``, ``truc.machin.bidule`` "
|
||||
"et ``truc.chose`` sont tous des descendants de ``truc``. La hiérarchie des "
|
||||
"noms d’enregistreurs est analogue à la hiérarchie des paquets Python, et est "
|
||||
"identique à celle-ci si vous organisez vos enregistreurs par module en "
|
||||
"utilisant la construction recommandée ``logging.getLogger(__name__)``. "
|
||||
"C’est ainsi parce que dans un module, ``__name__`` est le nom du module dans "
|
||||
"l’espace de noms des paquets Python."
|
||||
|
||||
#: ../Doc/library/logging.rst:74
|
||||
msgid ""
|
||||
|
@ -130,16 +161,24 @@ msgid ""
|
|||
"ancestor loggers' handlers - neither the level nor filters of the ancestor "
|
||||
"loggers in question are considered."
|
||||
msgstr ""
|
||||
"Si cet attribut est évalué comme vrai, les événements enregistrés dans cet "
|
||||
"enregistreur seront transmis aux gestionnaires des enregistreurs de niveau "
|
||||
"supérieur (parents), en plus des gestionnaires attachés à cet enregistreur. "
|
||||
"Les messages sont transmis directement aux gestionnaires des enregistreurs "
|
||||
"parents — ni le niveau ni les filtres des enregistreurs ancestraux en "
|
||||
"question ne sont pris en compte."
|
||||
|
||||
#: ../Doc/library/logging.rst:80
|
||||
msgid ""
|
||||
"If this evaluates to false, logging messages are not passed to the handlers "
|
||||
"of ancestor loggers."
|
||||
msgstr ""
|
||||
"S’il s’évalue comme faux, les messages de journalisation ne sont pas "
|
||||
"transmis aux gestionnaires des enregistreurs parents."
|
||||
|
||||
#: ../Doc/library/logging.rst:83
|
||||
msgid "The constructor sets this attribute to ``True``."
|
||||
msgstr ""
|
||||
msgstr "Le constructeur fixe cet attribut à ``True``."
|
||||
|
||||
#: ../Doc/library/logging.rst:85
|
||||
msgid ""
|
||||
|
@ -152,6 +191,15 @@ msgid ""
|
|||
"handlers only to the root logger, and to let propagation take care of the "
|
||||
"rest."
|
||||
msgstr ""
|
||||
"Si vous associez un gestionnaire à un enregistreur *et* à un ou plusieurs de "
|
||||
"ses parents, il peut émettre le même enregistrement plusieurs fois. En "
|
||||
"général, vous ne devriez pas avoir besoin d'attacher un gestionnaire à plus "
|
||||
"d'un enregistreur — si vous l'attachez simplement à l'enregistreur approprié "
|
||||
"qui est le plus haut dans la hiérarchie des enregistreurs, alors il voit "
|
||||
"tous les événements enregistrés par tous les enregistreurs descendants, à "
|
||||
"condition que leur paramètre de propagation soit laissé à ``True``. Un "
|
||||
"scénario courant est d'attacher les gestionnaires uniquement à "
|
||||
"l'enregistreur racine, et de laisser la propagation s'occuper du reste."
|
||||
|
||||
#: ../Doc/library/logging.rst:96
|
||||
msgid ""
|
||||
|
@ -161,6 +209,11 @@ msgid ""
|
|||
"service this logger, unless a handler's level has been set to a higher "
|
||||
"severity level than *level*."
|
||||
msgstr ""
|
||||
"Fixe le seuil de cet enregistreur au niveau *level*. Les messages de "
|
||||
"journalisation qui sont moins graves que *level* sont ignorés ; les messages "
|
||||
"qui ont une gravité égale à *level* ou plus élevée sont émis par le ou les "
|
||||
"gestionnaires de cet enregistreur, à moins que le niveau d'un gestionnaire "
|
||||
"n'ait été fixé à un niveau de gravité plus élevé que *level*."
|
||||
|
||||
#: ../Doc/library/logging.rst:101
|
||||
msgid ""
|
||||
|
@ -169,6 +222,11 @@ msgid ""
|
|||
"delegation to the parent when the logger is a non-root logger). Note that "
|
||||
"the root logger is created with level :const:`WARNING`."
|
||||
msgstr ""
|
||||
"Lorsqu'un enregistreur est créé, le niveau est fixé à :const:`NOTSET` (ce "
|
||||
"qui entraîne le traitement de tous les messages lorsque l'enregistreur est "
|
||||
"l'enregistreur racine, ou la délégation au parent lorsque l'enregistreur est "
|
||||
"un enregistreur non racine). Notez que l'enregistreur racine est créé avec "
|
||||
"le niveau :const:`WARNING`."
|
||||
|
||||
#: ../Doc/library/logging.rst:106
|
||||
msgid ""
|
||||
|
@ -176,6 +234,10 @@ msgid ""
|
|||
"NOTSET, its chain of ancestor loggers is traversed until either an ancestor "
|
||||
"with a level other than NOTSET is found, or the root is reached."
|
||||
msgstr ""
|
||||
"Le terme « délégation au parent » signifie que si un enregistreur a un "
|
||||
"niveau de ``NOTSET``, sa chaîne d’enregistreurs parents est parcourue "
|
||||
"jusqu'à ce qu'un parent ayant un niveau autre que ``NOTSET`` soit trouvé, ou "
|
||||
"que la racine soit atteinte."
|
||||
|
||||
#: ../Doc/library/logging.rst:110
|
||||
msgid ""
|
||||
|
@ -183,6 +245,10 @@ msgid ""
|
|||
"level is treated as the effective level of the logger where the ancestor "
|
||||
"search began, and is used to determine how a logging event is handled."
|
||||
msgstr ""
|
||||
"Si un ancêtre est trouvé avec un niveau autre que NOTSET, alors le niveau de "
|
||||
"ce parent est traité comme le niveau effectif de l'enregistreur où la "
|
||||
"recherche de l'ancêtre a commencé, et est utilisé pour déterminer comment un "
|
||||
"événement d'enregistrement est traité."
|
||||
|
||||
#: ../Doc/library/logging.rst:114
|
||||
msgid ""
|
||||
|
@ -190,10 +256,13 @@ msgid ""
|
|||
"be processed. Otherwise, the root's level will be used as the effective "
|
||||
"level."
|
||||
msgstr ""
|
||||
"Si la racine est atteinte, et qu'elle a un niveau de NOTSET, alors tous les "
|
||||
"messages sont traités. Sinon, le niveau de la racine est utilisé comme "
|
||||
"niveau effectif."
|
||||
|
||||
#: ../Doc/library/logging.rst:117 ../Doc/library/logging.rst:407
|
||||
msgid "See :ref:`levels` for a list of levels."
|
||||
msgstr ""
|
||||
msgstr "Voir :ref:`levels` pour la liste des niveaux."
|
||||
|
||||
#: ../Doc/library/logging.rst:119
|
||||
msgid ""
|
||||
|
@ -203,6 +272,12 @@ msgid ""
|
|||
"such as e.g. :meth:`getEffectiveLevel` and :meth:`isEnabledFor` will return/"
|
||||
"expect to be passed integers."
|
||||
msgstr ""
|
||||
"Le paramètre *level* accepte maintenant une représentation du niveau en "
|
||||
"chaîne de caractères (comme ``'INFO'``) en alternative aux constantes "
|
||||
"entières comme :const:`INFO`. Notez, cependant, que les niveaux sont stockés "
|
||||
"en interne sous forme d'entiers, et des méthodes telles que :meth:"
|
||||
"`getEffectiveLevel` et :meth:`isEnabledFor` renvoient/s'attendent à recevoir "
|
||||
"des entiers."
|
||||
|
||||
#: ../Doc/library/logging.rst:129
|
||||
msgid ""
|
||||
|
@ -220,6 +295,12 @@ msgid ""
|
|||
"`NOTSET` is found, and that value is returned. The value returned is an "
|
||||
"integer, typically one of :const:`logging.DEBUG`, :const:`logging.INFO` etc."
|
||||
msgstr ""
|
||||
"Indique le niveau effectif pour cet enregistreur. Si une valeur autre que :"
|
||||
"const:`NOTSET` a été définie en utilisant :meth:`setLevel`, elle est "
|
||||
"renvoyée. Sinon, la hiérarchie est parcourue vers la racine jusqu'à ce "
|
||||
"qu'une valeur autre que :const:`NOTSET` soit trouvée, et cette valeur est "
|
||||
"renvoyée. La valeur renvoyée est un entier, généralement l'un de :const:"
|
||||
"`logging.DEBUG`, :const:`logging.INFO`, etc."
|
||||
|
||||
#: ../Doc/library/logging.rst:147
|
||||
msgid ""
|
||||
|
@ -229,6 +310,12 @@ msgid ""
|
|||
"ghi')``. This is a convenience method, useful when the parent logger is "
|
||||
"named using e.g. ``__name__`` rather than a literal string."
|
||||
msgstr ""
|
||||
"Renvoie un enregistreur qui est un enfant de cet enregistreur, tel que "
|
||||
"déterminé par le suffixe. Ainsi, ``logging.getLogger('abc').getChild('def."
|
||||
"ghi')`` renvoie le même enregistreur que celui renvoyé par ``logging."
|
||||
"getLogger('abc.def.ghi')``. C'est une méthode de pure commodité, utile "
|
||||
"lorsque l’enregistreur parent est nommé en utilisant par exemple "
|
||||
"``__name__`` plutôt qu'une chaîne de caractères littérale."
|
||||
|
||||
#: ../Doc/library/logging.rst:158
|
||||
msgid ""
|
||||
|
@ -848,7 +935,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/logging.rst:0
|
||||
msgid "Parameters"
|
||||
msgstr ""
|
||||
msgstr "Paramètres"
|
||||
|
||||
#: ../Doc/library/logging.rst:672
|
||||
msgid ""
|
||||
|
|
239
library/lzma.po
239
library/lzma.po
|
@ -45,16 +45,24 @@ msgid ""
|
|||
"`LZMAFile` instance from multiple threads, it is necessary to protect it "
|
||||
"with a lock."
|
||||
msgstr ""
|
||||
"L'interface disponible par ce module ressemble en de nombreux points à celle "
|
||||
"du module :mod:`bz2`. Cependant, notez que la :class:`LZMAFile` n'est pas "
|
||||
"*thread-safe*, comme l'est la :class:`bz2.BZ2File`. Donc, si vous souhaitez "
|
||||
"utiliser une seule instance de :class:`LZMAFile` pour plusieurs fils, il "
|
||||
"sera alors nécessaire de la protéger avec un verrou (*lock*)."
|
||||
|
||||
#: ../Doc/library/lzma.rst:29
|
||||
msgid ""
|
||||
"This exception is raised when an error occurs during compression or "
|
||||
"decompression, or while initializing the compressor/decompressor state."
|
||||
msgstr ""
|
||||
"Cette exception est levée dès lors qu'une erreur survient pendant la "
|
||||
"compression ou la décompression, ou pendant l'initialisation de l'état de la "
|
||||
"compression/décompression."
|
||||
|
||||
#: ../Doc/library/lzma.rst:34
|
||||
msgid "Reading and writing compressed files"
|
||||
msgstr ""
|
||||
msgstr "Lire et écrire des fichiers compressés"
|
||||
|
||||
#: ../Doc/library/lzma.rst:38
|
||||
msgid ""
|
||||
|
@ -69,6 +77,10 @@ msgid ""
|
|||
"which case the named file is opened, or it can be an existing file object to "
|
||||
"read from or write to."
|
||||
msgstr ""
|
||||
"L'argument *nom de fichier* peut être soit le nom d'un fichier à créer "
|
||||
"(donné pour :class:`str`, :class:`bytes` ou un objet :term:`path-like <path-"
|
||||
"like object>`), dont le fichier nommé reste ouvert, ou soit un objet fichier "
|
||||
"existant à lire ou à écrire."
|
||||
|
||||
#: ../Doc/library/lzma.rst:46
|
||||
msgid ""
|
||||
|
@ -77,6 +89,10 @@ msgid ""
|
|||
"\"rt\"``, ``\"wt\"``, ``\"xt\"``, or ``\"at\"`` for text mode. The default "
|
||||
"is ``\"rb\"``."
|
||||
msgstr ""
|
||||
"L'argument *mode* peut être n'importe quel argument suivant : ``\"r\"``, ``"
|
||||
"\"rb\"``, ``\"w\"``, ``\"wb\"``, ``\"x\"``, ``\"xb\"``, ``\"a\"`` ou ``\"ab"
|
||||
"\"`` pour le mode binaire, ou ``\"rt\"``, ``\"wt\"``, ``\"xt\"``, ou ``\"at"
|
||||
"\"`` pour le mode texte. La valeur par défaut est ``\"rb\"``."
|
||||
|
||||
#: ../Doc/library/lzma.rst:50 ../Doc/library/lzma.rst:95
|
||||
msgid ""
|
||||
|
@ -84,12 +100,18 @@ msgid ""
|
|||
"the same meanings as for :class:`LZMADecompressor`. In this case, the "
|
||||
"*check* and *preset* arguments should not be used."
|
||||
msgstr ""
|
||||
"Quand un fichier est ouvert pour le lire, les arguments *format* et "
|
||||
"*filters* ont les mêmes significations que pour la :class:"
|
||||
"`LZMADecompressor`. Par conséquent, les arguments *check* et *preset* ne "
|
||||
"devront pas être sollicités."
|
||||
|
||||
#: ../Doc/library/lzma.rst:54 ../Doc/library/lzma.rst:99
|
||||
msgid ""
|
||||
"When opening a file for writing, the *format*, *check*, *preset* and "
|
||||
"*filters* arguments have the same meanings as for :class:`LZMACompressor`."
|
||||
msgstr ""
|
||||
"Dès ouverture d'un fichier pour l'écriture, les arguments *format*, *check*, "
|
||||
"*preset* et *filters* ont le même sens que dans la :class:`LZMACompressor`."
|
||||
|
||||
#: ../Doc/library/lzma.rst:57
|
||||
msgid ""
|
||||
|
@ -97,6 +119,9 @@ msgid ""
|
|||
"constructor: ``LZMAFile(filename, mode, ...)``. In this case, the "
|
||||
"*encoding*, *errors* and *newline* arguments must not be provided."
|
||||
msgstr ""
|
||||
"Pour le mode binaire, cette fonction équivaut au constructeur de la :class:"
|
||||
"`LZMAFile` : ``LZMAFile(filename, mode, ...)``. Dans ce cas précis, les "
|
||||
"arguments *encoding*, *errors* et *newline* ne sont pas accessibles."
|
||||
|
||||
#: ../Doc/library/lzma.rst:61
|
||||
msgid ""
|
||||
|
@ -107,7 +132,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/lzma.rst:65
|
||||
msgid "Added support for the ``\"x\"``, ``\"xb\"`` and ``\"xt\"`` modes."
|
||||
msgstr ""
|
||||
msgstr "Support ajouté pour les modes ``\"x\"``, ``\"xb\"`` et ``\"xt\"``."
|
||||
|
||||
#: ../Doc/library/lzma.rst:68 ../Doc/library/lzma.rst:126
|
||||
msgid "Accepts a :term:`path-like object`."
|
||||
|
@ -115,7 +140,7 @@ msgstr "Accepte un :term:`path-like object`."
|
|||
|
||||
#: ../Doc/library/lzma.rst:74
|
||||
msgid "Open an LZMA-compressed file in binary mode."
|
||||
msgstr ""
|
||||
msgstr "Ouvre un fichier LZMA compressé en mode binaire."
|
||||
|
||||
#: ../Doc/library/lzma.rst:76
|
||||
msgid ""
|
||||
|
@ -126,6 +151,12 @@ msgid ""
|
|||
"wrapping an existing file object, the wrapped file will not be closed when "
|
||||
"the :class:`LZMAFile` is closed."
|
||||
msgstr ""
|
||||
"An :class:`LZMAFile` can wrap an already-open :term:`file object`, or "
|
||||
"operate directly on a named file. The *filename* argument specifies either "
|
||||
"the file object to wrap, or the name of the file to open (as a :class:"
|
||||
"`str`, :class:`bytes` or :term:`path-like <path-like object>` object). When "
|
||||
"wrapping an existing file object, the wrapped file will not be closed when "
|
||||
"the :class:`LZMAFile` is closed."
|
||||
|
||||
#: ../Doc/library/lzma.rst:83
|
||||
msgid ""
|
||||
|
@ -134,6 +165,10 @@ msgid ""
|
|||
"appending. These can equivalently be given as ``\"rb\"``, ``\"wb\"``, ``\"xb"
|
||||
"\"`` and ``\"ab\"`` respectively."
|
||||
msgstr ""
|
||||
"L'argument *mode* peut être soit ``\"r\"`` pour la lecture (défaut), ``\"w"
|
||||
"\"`` pour la ré-écriture, ``\"x\"`` pour la création exclusive, ou ``\"a\"`` "
|
||||
"pour l'insertion. Elles peuvent aussi être écrites de la façon suivante : ``"
|
||||
"\"rb\"``, ``\"wb\"``, ``\"xb\"`` et ``\"ab\"`` respectivement."
|
||||
|
||||
#: ../Doc/library/lzma.rst:88
|
||||
msgid ""
|
||||
|
@ -147,6 +182,9 @@ msgid ""
|
|||
"multiple separate compressed streams. These are transparently decoded as a "
|
||||
"single logical stream."
|
||||
msgstr ""
|
||||
"Dès l'ouverture d'un fichier pour être lu, le fichier d'entrée peut être le "
|
||||
"résultat d'une concaténation de plusieurs flux distincts et compressés. Ceux-"
|
||||
"ci sont décodés de manière transparente en un seul flux logique."
|
||||
|
||||
#: ../Doc/library/lzma.rst:102
|
||||
msgid ""
|
||||
|
@ -157,7 +195,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/lzma.rst:106
|
||||
msgid "The following method is also provided:"
|
||||
msgstr ""
|
||||
msgstr "Les méthodes suivantes sont aussi disponibles :"
|
||||
|
||||
#: ../Doc/library/lzma.rst:110
|
||||
msgid ""
|
||||
|
@ -165,6 +203,10 @@ msgid ""
|
|||
"of data will be returned, unless EOF has been reached. The exact number of "
|
||||
"bytes returned is unspecified (the *size* argument is ignored)."
|
||||
msgstr ""
|
||||
"Renvoie la donnée en mémoire-tampon sans progression de la position du "
|
||||
"fichier. Au moins un octet de donnée sera renvoyé, jusqu'à ce que l'EOF soit "
|
||||
"atteinte. Le nombre exact d'octets renvoyés demeure indéterminé (l'argument "
|
||||
"*taille* est ignoré). "
|
||||
|
||||
#: ../Doc/library/lzma.rst:114
|
||||
msgid ""
|
||||
|
@ -183,49 +225,61 @@ msgid ""
|
|||
"The :meth:`~io.BufferedIOBase.read` method now accepts an argument of "
|
||||
"``None``."
|
||||
msgstr ""
|
||||
"La méthode :meth:`~io.BufferedIOBase.read` accepte maintenant un argument "
|
||||
"``None``."
|
||||
|
||||
#: ../Doc/library/lzma.rst:131
|
||||
msgid "Compressing and decompressing data in memory"
|
||||
msgstr ""
|
||||
msgstr "Compresser et décompresser une donnée en mémoire"
|
||||
|
||||
#: ../Doc/library/lzma.rst:135
|
||||
msgid ""
|
||||
"Create a compressor object, which can be used to compress data incrementally."
|
||||
msgstr ""
|
||||
"Créé un objet compresseur, qui peut être utilisé pour compresser "
|
||||
"incrémentalement une donnée."
|
||||
|
||||
#: ../Doc/library/lzma.rst:137
|
||||
msgid ""
|
||||
"For a more convenient way of compressing a single chunk of data, see :func:"
|
||||
"`compress`."
|
||||
msgstr ""
|
||||
"Pour une façon plus adaptée de compresser un seul extrait de donnée, voir :"
|
||||
"func:`compress`."
|
||||
|
||||
#: ../Doc/library/lzma.rst:140
|
||||
msgid ""
|
||||
"The *format* argument specifies what container format should be used. "
|
||||
"Possible values are:"
|
||||
msgstr ""
|
||||
"L'argument *format* définit quel format de conteneur sera mis en œuvre. Les "
|
||||
"valeurs possibles sont :"
|
||||
|
||||
#: ../Doc/library/lzma.rst:144
|
||||
msgid ":const:`FORMAT_XZ`: The ``.xz`` container format."
|
||||
msgstr ""
|
||||
msgstr ":const:`FORMAT_XZ`: Le format du conteneur ``.xz``."
|
||||
|
||||
#: ../Doc/library/lzma.rst:144
|
||||
msgid "This is the default format."
|
||||
msgstr ""
|
||||
msgstr "C'est le format par défaut."
|
||||
|
||||
#: ../Doc/library/lzma.rst:148
|
||||
msgid ":const:`FORMAT_ALONE`: The legacy ``.lzma`` container format."
|
||||
msgstr ""
|
||||
msgstr ":const:`FORMAT_ALONE`: L'ancien format du conteneur ``.lzma``."
|
||||
|
||||
#: ../Doc/library/lzma.rst:147
|
||||
msgid ""
|
||||
"This format is more limited than ``.xz`` -- it does not support integrity "
|
||||
"checks or multiple filters."
|
||||
msgstr ""
|
||||
"Ce format est davantage limité que ``.xz`` --il ne supporte pas les "
|
||||
"vérifications d'intégrité ou les filtres multiples."
|
||||
|
||||
#: ../Doc/library/lzma.rst:154
|
||||
msgid ":const:`FORMAT_RAW`: A raw data stream, not using any container format."
|
||||
msgstr ""
|
||||
":const:`FORMAT_RAW`: Un flux de données brut, n'utilisant aucun format de "
|
||||
"conteneur."
|
||||
|
||||
#: ../Doc/library/lzma.rst:151
|
||||
msgid ""
|
||||
|
@ -234,6 +288,11 @@ msgid ""
|
|||
"decompression). Additionally, data compressed in this manner cannot be "
|
||||
"decompressed using :const:`FORMAT_AUTO` (see :class:`LZMADecompressor`)."
|
||||
msgstr ""
|
||||
"Ce format spécifique ne prend pas en charge les vérifications d'intégrité et "
|
||||
"exige systématiquement la définition d'une chaîne de filtrage personnalisée "
|
||||
"(à la fois pour la compression et la décompression). Par ailleurs, les "
|
||||
"données compressées par ce biais ne peuvent pas être décompressées par "
|
||||
"l'usage de :const:`FORMAT_AUTO` (voir : :class:`LZMADecompressor`)."
|
||||
|
||||
#: ../Doc/library/lzma.rst:156
|
||||
msgid ""
|
||||
|
@ -241,31 +300,46 @@ msgid ""
|
|||
"compressed data. This check is used when decompressing, to ensure that the "
|
||||
"data has not been corrupted. Possible values are:"
|
||||
msgstr ""
|
||||
"L'argument *check* détermine le type de vérification d'intégrité à exploiter "
|
||||
"avec la donnée compressée. Cette vérification est déclenchée lors de la "
|
||||
"décompression, pour garantir que la donnée n'a pas été corrompue. Les "
|
||||
"valeurs possibles sont :"
|
||||
|
||||
#: ../Doc/library/lzma.rst:160
|
||||
msgid ""
|
||||
":const:`CHECK_NONE`: No integrity check. This is the default (and the only "
|
||||
"acceptable value) for :const:`FORMAT_ALONE` and :const:`FORMAT_RAW`."
|
||||
msgstr ""
|
||||
":const:`CHECK_NONE`: Pas de vérification d'intégrité. C'est la valeur par "
|
||||
"défaut (et la seule valeur acceptable) pour :const:`FORMAT_ALONE` et :const:"
|
||||
"`FORMAT_RAW`."
|
||||
|
||||
#: ../Doc/library/lzma.rst:164
|
||||
msgid ":const:`CHECK_CRC32`: 32-bit Cyclic Redundancy Check."
|
||||
msgstr ""
|
||||
":const:`CHECK_CRC32`: Vérification par Redondance Cyclique 32-bit (*Cyclic "
|
||||
"Redundancy Check*)."
|
||||
|
||||
#: ../Doc/library/lzma.rst:166
|
||||
msgid ""
|
||||
":const:`CHECK_CRC64`: 64-bit Cyclic Redundancy Check. This is the default "
|
||||
"for :const:`FORMAT_XZ`."
|
||||
msgstr ""
|
||||
":const:`CHECK_CRC64`: Vérification par Redondance Cyclique 64-bit (*Cyclic "
|
||||
"Redundancy Check*). Valeur par défaut pour :const:`FORMAT_XZ`."
|
||||
|
||||
#: ../Doc/library/lzma.rst:169
|
||||
msgid ":const:`CHECK_SHA256`: 256-bit Secure Hash Algorithm."
|
||||
msgstr ""
|
||||
":const:`CHECK_SHA256`: Algorithme de Hachage Sécurisé 256-bit (*Secure Hash "
|
||||
"Algorithm*)."
|
||||
|
||||
#: ../Doc/library/lzma.rst:171
|
||||
msgid ""
|
||||
"If the specified check is not supported, an :class:`LZMAError` is raised."
|
||||
msgstr ""
|
||||
"Si le type de vérification n'est pas supporté par le système, une erreur de "
|
||||
"type :class:`LZMAError` est levée."
|
||||
|
||||
#: ../Doc/library/lzma.rst:173
|
||||
msgid ""
|
||||
|
@ -273,6 +347,10 @@ msgid ""
|
|||
"level (with the *preset* argument), or in detail as a custom filter chain "
|
||||
"(with the *filters* argument)."
|
||||
msgstr ""
|
||||
"Les réglages de compression peuvent être définis soit comme un pré-réglage "
|
||||
"de niveau de compression (avec l'argument *preset*) ; soit de façon "
|
||||
"détaillée comme une chaîne particulière de filtres (avec l'argument "
|
||||
"*filters*)."
|
||||
|
||||
#: ../Doc/library/lzma.rst:177
|
||||
msgid ""
|
||||
|
@ -282,6 +360,12 @@ msgid ""
|
|||
"behavior is to use :const:`PRESET_DEFAULT` (preset level ``6``). Higher "
|
||||
"presets produce smaller output, but make the compression process slower."
|
||||
msgstr ""
|
||||
"L'argument *preset* (s'il est fourni) doit être un entier compris entre `0`` "
|
||||
"et ``9`` (inclus), éventuellement relié à OR avec la constante :const:"
|
||||
"`PRESET_EXTREME`. Si aucun *preset* ni *filters* ne ont définis, le "
|
||||
"comportement par défaut consiste à utiliser la :const:`PRESET_DEFAULT` "
|
||||
"(niveau par défaut : ``6``). Des pré-réglages plus élevés entraîne une "
|
||||
"sortie plus petite, mais rend le processus de compression plus lent."
|
||||
|
||||
#: ../Doc/library/lzma.rst:186
|
||||
msgid ""
|
||||
|
@ -291,12 +375,20 @@ msgid ""
|
|||
"`LZMACompressor` object can be as high as 800 MiB. For this reason, it is "
|
||||
"generally best to stick with the default preset."
|
||||
msgstr ""
|
||||
"En plus d'être plus gourmande en CPU, la compression avec des préréglages "
|
||||
"plus élevés nécessite beaucoup plus de mémoire (et produit des résultats qui "
|
||||
"nécessitent plus de mémoire pour décompresser). Par exemple, avec le "
|
||||
"préréglage ``9``, l'objet d'une :class:`LZMACompressor` peut dépasser "
|
||||
"largement les 800 Mo. Pour cette raison, il est généralement préférable de "
|
||||
"respecter le préréglage par défaut."
|
||||
|
||||
#: ../Doc/library/lzma.rst:192
|
||||
msgid ""
|
||||
"The *filters* argument (if provided) should be a filter chain specifier. "
|
||||
"See :ref:`filter-chain-specs` for details."
|
||||
msgstr ""
|
||||
"L'argument *filters* (s'il est défini) doit être un critère de la chaîne de "
|
||||
"filtrage. Voir :ref:`filter-chain-specs` pour plus de précisions."
|
||||
|
||||
#: ../Doc/library/lzma.rst:197
|
||||
msgid ""
|
||||
|
@ -306,12 +398,21 @@ msgid ""
|
|||
"meth:`flush`. The returned data should be concatenated with the output of "
|
||||
"any previous calls to :meth:`compress`."
|
||||
msgstr ""
|
||||
"Une *data* compressée (un objet :class:`bytes`), renvoie un objet :class:"
|
||||
"`bytes` contenant une donnée compressée pour au moins une partie de "
|
||||
"l'entrée. Certaine *data* peuvent être mise en tampon, pour être utiliser "
|
||||
"lors de prochains appels par :meth:`compress` et :meth:`flush`. La donnée "
|
||||
"renvoyée pourra être concaténée avec la sortie d'appels précédents vers la "
|
||||
"méthode :meth:`compress`."
|
||||
|
||||
#: ../Doc/library/lzma.rst:205
|
||||
msgid ""
|
||||
"Finish the compression process, returning a :class:`bytes` object containing "
|
||||
"any data stored in the compressor's internal buffers."
|
||||
msgstr ""
|
||||
"Conclut l'opération de compression, en renvoyant l'objet :class:`bytes` "
|
||||
"constitué de toutes les données stockées dans les tampons interne du "
|
||||
"compresseur."
|
||||
|
||||
#: ../Doc/library/lzma.rst:208
|
||||
msgid "The compressor cannot be used after this method has been called."
|
||||
|
@ -322,12 +423,16 @@ msgid ""
|
|||
"Create a decompressor object, which can be used to decompress data "
|
||||
"incrementally."
|
||||
msgstr ""
|
||||
"Créé un objet de décompression, pour décompresser de façon incrémentale une "
|
||||
"donnée."
|
||||
|
||||
#: ../Doc/library/lzma.rst:216
|
||||
msgid ""
|
||||
"For a more convenient way of decompressing an entire compressed stream at "
|
||||
"once, see :func:`decompress`."
|
||||
msgstr ""
|
||||
"Pour un moyen plus pratique de décompresser un flux compressé complet en une "
|
||||
"seule fois, voir :func:`decompress`."
|
||||
|
||||
#: ../Doc/library/lzma.rst:219
|
||||
msgid ""
|
||||
|
@ -336,6 +441,10 @@ msgid ""
|
|||
"``.lzma`` files. Other possible values are :const:`FORMAT_XZ`, :const:"
|
||||
"`FORMAT_ALONE`, and :const:`FORMAT_RAW`."
|
||||
msgstr ""
|
||||
"L'argument *format* spécifie le format du conteneur à utiliser. La valeur "
|
||||
"par défaut est :const:`FORMAT_AUTO` pouvant à la fois décompresser les "
|
||||
"fichiers ``.xz`` et ``.lzma``. D'autres valeurs sont possibles comme :const:"
|
||||
"`FORMAT_XZ`, :const:`FORMAT_ALONE`, et :const:`FORMAT_RAW`."
|
||||
|
||||
#: ../Doc/library/lzma.rst:224
|
||||
msgid ""
|
||||
|
@ -344,6 +453,10 @@ msgid ""
|
|||
"will fail with an :class:`LZMAError` if it is not possible to decompress the "
|
||||
"input within the given memory limit."
|
||||
msgstr ""
|
||||
"L'argument *memlimit* spécifie une limite (en octets) sur la quantité de "
|
||||
"mémoire que le décompresseur peut utiliser. Lorsque cet argument est "
|
||||
"utilisé, la décompression échouera avec une :class:`LZMAError` s'il n'est "
|
||||
"pas possible de décompresser l'entrée dans la limite mémoire disponible."
|
||||
|
||||
#: ../Doc/library/lzma.rst:229
|
||||
msgid ""
|
||||
|
@ -352,6 +465,10 @@ msgid ""
|
|||
"const:`FORMAT_RAW`, but should not be used for other formats. See :ref:"
|
||||
"`filter-chain-specs` for more information about filter chains."
|
||||
msgstr ""
|
||||
"L'argument *filters* spécifie la chaîne de filtrage utilisée pour créer le "
|
||||
"flux décompressé. Cet argument est requis si *format* est :const:"
|
||||
"`FORMAT_RAW`, mais ne doit pas être utilisé pour d'autres formats. Voir :ref:"
|
||||
"`filter-chain-specs` pour plus d'informations sur les chaînes de filtrage."
|
||||
|
||||
#: ../Doc/library/lzma.rst:235
|
||||
msgid ""
|
||||
|
@ -360,6 +477,10 @@ msgid ""
|
|||
"decompress a multi-stream input with :class:`LZMADecompressor`, you must "
|
||||
"create a new decompressor for each stream."
|
||||
msgstr ""
|
||||
"Cette classe ne gère pas de manière transparente les entrées contenant "
|
||||
"plusieurs flux compressés, contrairement à :func:`decompress` et :class:"
|
||||
"`LZMAFile`. Pour décompresser une entrée multi-flux avec :class:"
|
||||
"`LZMADecompressor`, vous devez créer un nouveau décompresseur à chaque flux."
|
||||
|
||||
#: ../Doc/library/lzma.rst:242
|
||||
msgid ""
|
||||
|
@ -368,6 +489,11 @@ msgid ""
|
|||
"to :meth:`decompress`. The returned data should be concatenated with the "
|
||||
"output of any previous calls to :meth:`decompress`."
|
||||
msgstr ""
|
||||
"Décompresse *data* (un :term:`bytes-like object`), renvoyant une donnée non "
|
||||
"compressée en tant que chaîne d'octets. Certaines de ces *data* peuvent être "
|
||||
"mises en interne en tampon, pour un usage lors d'appels ultérieurs par la "
|
||||
"méthode :meth:`decompress`. La donnée renvoyée doit être concaténée avec la "
|
||||
"sortie des appels précédents à la méthode :meth:`decompress`."
|
||||
|
||||
#: ../Doc/library/lzma.rst:248
|
||||
msgid ""
|
||||
|
@ -377,6 +503,11 @@ msgid ""
|
|||
"this case, the next call to :meth:`~.decompress` may provide *data* as "
|
||||
"``b''`` to obtain more of the output."
|
||||
msgstr ""
|
||||
"Si *max_length* est positif, renvoie au plus *max_length* octets de données "
|
||||
"compressées. Si la limite est atteinte et que d'autres sorties peuvent être "
|
||||
"produites, l'attribut :attr:`~.needs_input` est positionné sur ``False``. "
|
||||
"Dans ce cas, lors de l'appel suivant à la méthode :meth:`~.decompress`, vous "
|
||||
"pouvez fournir ``b''`` dans *data* afin d'obtenir la suite de la sortie."
|
||||
|
||||
#: ../Doc/library/lzma.rst:255
|
||||
msgid ""
|
||||
|
@ -384,6 +515,9 @@ msgid ""
|
|||
"was less than *max_length* bytes, or because *max_length* was negative), "
|
||||
"the :attr:`~.needs_input` attribute will be set to ``True``."
|
||||
msgstr ""
|
||||
"Si toutes les données entrées ont été décompressées et renvoyées (soit parce "
|
||||
"qu'il y avait moins de *max_length* octets, ou parce que *max_length* était "
|
||||
"négatif), l'attribut :attr:`~.needs_input` sera configuré sur ``True``."
|
||||
|
||||
#: ../Doc/library/lzma.rst:260
|
||||
msgid ""
|
||||
|
@ -391,6 +525,9 @@ msgid ""
|
|||
"`EOFError`. Any data found after the end of the stream is ignored and saved "
|
||||
"in the :attr:`~.unused_data` attribute."
|
||||
msgstr ""
|
||||
"Essayer de décompresser des données après que la fin du flux soit atteinte "
|
||||
"lève une erreur `EOFError`. Toute donnée trouvée après la fin du flux est "
|
||||
"ignorée et sauvegardée dans l'attribut :attr:`~.unused_data`."
|
||||
|
||||
#: ../Doc/library/lzma.rst:264
|
||||
msgid "Added the *max_length* parameter."
|
||||
|
@ -402,10 +539,13 @@ msgid ""
|
|||
"`CHECK_UNKNOWN` until enough of the input has been decoded to determine what "
|
||||
"integrity check it uses."
|
||||
msgstr ""
|
||||
"L'ID de la vérification d'intégrité exploité par le flux entrant. Il s'agit "
|
||||
"de :const:`CHECK_UNKNOWN` tant que ce flux a été décodé pour déterminer quel "
|
||||
"type de vérification d'intégrité à été utilisé."
|
||||
|
||||
#: ../Doc/library/lzma.rst:275
|
||||
msgid "``True`` if the end-of-stream marker has been reached."
|
||||
msgstr ""
|
||||
msgstr "``True`` si le marqueur de fin de flux a été atteint."
|
||||
|
||||
#: ../Doc/library/lzma.rst:279
|
||||
msgid "Data found after the end of the compressed stream."
|
||||
|
@ -413,43 +553,55 @@ msgstr "Donnée trouvée après la fin du flux compressé."
|
|||
|
||||
#: ../Doc/library/lzma.rst:281
|
||||
msgid "Before the end of the stream is reached, this will be ``b\"\"``."
|
||||
msgstr ""
|
||||
msgstr "Avant d'atteindre la fin du flux, ce sera ``b\"\"``."
|
||||
|
||||
#: ../Doc/library/lzma.rst:285
|
||||
msgid ""
|
||||
"``False`` if the :meth:`.decompress` method can provide more decompressed "
|
||||
"data before requiring new uncompressed input."
|
||||
msgstr ""
|
||||
"``False`` si la méthode :meth:`.decompress` peut fournir plus de données "
|
||||
"décompressées avant l'acquisition d'une nouvelle entrée non compressée."
|
||||
|
||||
#: ../Doc/library/lzma.rst:292
|
||||
msgid ""
|
||||
"Compress *data* (a :class:`bytes` object), returning the compressed data as "
|
||||
"a :class:`bytes` object."
|
||||
msgstr ""
|
||||
"*data* compressée (un objet :class:`bytes`), renvoyant une donnée compressée "
|
||||
"comme un objet :class:`bytes`."
|
||||
|
||||
#: ../Doc/library/lzma.rst:295
|
||||
msgid ""
|
||||
"See :class:`LZMACompressor` above for a description of the *format*, "
|
||||
"*check*, *preset* and *filters* arguments."
|
||||
msgstr ""
|
||||
"Voir :class:`LZMACompressor` ci-dessus pour une description des arguments "
|
||||
"*format*, *check*, *preset* et *filters*."
|
||||
|
||||
#: ../Doc/library/lzma.rst:301
|
||||
msgid ""
|
||||
"Decompress *data* (a :class:`bytes` object), returning the uncompressed data "
|
||||
"as a :class:`bytes` object."
|
||||
msgstr ""
|
||||
"Décompresse *data* (un objet :class:`bytes` ), et retourne la donnée "
|
||||
"décompressée sous la forme d'un objet :class:`bytes`."
|
||||
|
||||
#: ../Doc/library/lzma.rst:304
|
||||
msgid ""
|
||||
"If *data* is the concatenation of multiple distinct compressed streams, "
|
||||
"decompress all of these streams, and return the concatenation of the results."
|
||||
msgstr ""
|
||||
"Si *data* est le résultat de la concaténation de plusieurs flux compressés "
|
||||
"et distincts , il les décompresse tous, et retourne les résultats concaténés."
|
||||
|
||||
#: ../Doc/library/lzma.rst:307
|
||||
msgid ""
|
||||
"See :class:`LZMADecompressor` above for a description of the *format*, "
|
||||
"*memlimit* and *filters* arguments."
|
||||
msgstr ""
|
||||
"Voir :class:`LZMADecompressor` ci-dessus pour une description des arguments "
|
||||
"*format*, *memlimit* et *filters*."
|
||||
|
||||
#: ../Doc/library/lzma.rst:312
|
||||
msgid "Miscellaneous"
|
||||
|
@ -465,10 +617,14 @@ msgid ""
|
|||
"`CHECK_CRC64` and :const:`CHECK_SHA256` may be unavailable if you are using "
|
||||
"a version of :program:`liblzma` that was compiled with a limited feature set."
|
||||
msgstr ""
|
||||
":const:`CHECK_NONE` et :const:`CHECK_CRC32` sont toujours pris en charge. :"
|
||||
"const:`CHECK_CRC64` et :const:`CHECK_SHA256` peuvent être indisponibles si "
|
||||
"vous utilisez une version de :program:`liblzma` compilée avec des "
|
||||
"possibilités restreintes."
|
||||
|
||||
#: ../Doc/library/lzma.rst:327
|
||||
msgid "Specifying custom filter chains"
|
||||
msgstr ""
|
||||
msgstr "Préciser des chaînes de filtre personnalisées"
|
||||
|
||||
#: ../Doc/library/lzma.rst:329
|
||||
msgid ""
|
||||
|
@ -477,24 +633,31 @@ msgid ""
|
|||
"must contain the key ``\"id\"``, and may contain additional keys to specify "
|
||||
"filter-dependent options. Valid filter IDs are as follows:"
|
||||
msgstr ""
|
||||
"Une chaîne de filtres est une séquence de dictionnaires, où chaque "
|
||||
"dictionnaire contient l'ID et les options pour chaque filtre. Le moindre "
|
||||
"dictionnaire contient la clé ``\"id\"`` et peut aussi contenir d'autres clés "
|
||||
"pour préciser chaque options relative au filtre déclaré. Les ID valides des "
|
||||
"filtres sont définies comme suit :"
|
||||
|
||||
#: ../Doc/library/lzma.rst:336
|
||||
msgid "Compression filters:"
|
||||
msgstr ""
|
||||
msgstr "Filtres de compression:"
|
||||
|
||||
#: ../Doc/library/lzma.rst:335
|
||||
msgid ":const:`FILTER_LZMA1` (for use with :const:`FORMAT_ALONE`)"
|
||||
msgstr ""
|
||||
msgstr ":const:`FILTER_LZMA1` (à utiliser avec :const:`FORMAT_ALONE`)"
|
||||
|
||||
#: ../Doc/library/lzma.rst:336
|
||||
msgid ""
|
||||
":const:`FILTER_LZMA2` (for use with :const:`FORMAT_XZ` and :const:"
|
||||
"`FORMAT_RAW`)"
|
||||
msgstr ""
|
||||
":const:`FILTER_LZMA2` (à utiliser avec :const:`FORMAT_XZ` et :const:"
|
||||
"`FORMAT_RAW`)"
|
||||
|
||||
#: ../Doc/library/lzma.rst:339
|
||||
msgid "Delta filter:"
|
||||
msgstr ""
|
||||
msgstr "Filtre Delta:"
|
||||
|
||||
#: ../Doc/library/lzma.rst:339
|
||||
msgid ":const:`FILTER_DELTA`"
|
||||
|
@ -502,7 +665,7 @@ msgstr ":const:`FILTER_DELTA`"
|
|||
|
||||
#: ../Doc/library/lzma.rst:347
|
||||
msgid "Branch-Call-Jump (BCJ) filters:"
|
||||
msgstr ""
|
||||
msgstr "Filtres Branch-Call-Jump (BCJ):"
|
||||
|
||||
#: ../Doc/library/lzma.rst:342
|
||||
msgid ":const:`FILTER_X86`"
|
||||
|
@ -534,60 +697,78 @@ msgid ""
|
|||
"filter in the chain must be a compression filter, and any other filters must "
|
||||
"be delta or BCJ filters."
|
||||
msgstr ""
|
||||
"Une chaîne de filtres peut contenir jusqu'à 4 filtres, et ne peut pas être "
|
||||
"vide. Le dernier filtre de cette chaîne devra être un filtre de compression, "
|
||||
"et tous les autres doivent être des filtres delta ou BCJ."
|
||||
|
||||
#: ../Doc/library/lzma.rst:353
|
||||
msgid ""
|
||||
"Compression filters support the following options (specified as additional "
|
||||
"entries in the dictionary representing the filter):"
|
||||
msgstr ""
|
||||
"Les filtres de compression contiennent les options suivantes (définies comme "
|
||||
"entrées additionnelles dans le dictionnaire qui représente le filtre) :"
|
||||
|
||||
#: ../Doc/library/lzma.rst:356
|
||||
msgid ""
|
||||
"``preset``: A compression preset to use as a source of default values for "
|
||||
"options that are not specified explicitly."
|
||||
msgstr ""
|
||||
"``preset``: Un pré-réglage à exploiter comme une source de valeurs par "
|
||||
"défaut pour les options qui ne sont pas explicitement définies."
|
||||
|
||||
#: ../Doc/library/lzma.rst:358
|
||||
msgid ""
|
||||
"``dict_size``: Dictionary size in bytes. This should be between 4 KiB and "
|
||||
"1.5 GiB (inclusive)."
|
||||
msgstr ""
|
||||
"``dict_size``: La taille du dictionnaire en octets. Comprise entre 4 Ko et "
|
||||
"1.5 Go (inclus)."
|
||||
|
||||
#: ../Doc/library/lzma.rst:360
|
||||
msgid "``lc``: Number of literal context bits."
|
||||
msgstr ""
|
||||
msgstr "``lc``: Nombre de bits dans le contexte littéral."
|
||||
|
||||
#: ../Doc/library/lzma.rst:361
|
||||
msgid ""
|
||||
"``lp``: Number of literal position bits. The sum ``lc + lp`` must be at most "
|
||||
"4."
|
||||
msgstr ""
|
||||
"``lp``: Nombre de bits dans la position littérale. La somme ``lc + lp`` "
|
||||
"devra être au moins 4."
|
||||
|
||||
#: ../Doc/library/lzma.rst:363
|
||||
msgid "``pb``: Number of position bits; must be at most 4."
|
||||
msgstr ""
|
||||
msgstr "``pb``: Nombre de bits à cette position ; au moins 4."
|
||||
|
||||
#: ../Doc/library/lzma.rst:364
|
||||
msgid "``mode``: :const:`MODE_FAST` or :const:`MODE_NORMAL`."
|
||||
msgstr ""
|
||||
msgstr "``mode``: :const:`MODE_FAST` ou :const:`MODE_NORMAL`."
|
||||
|
||||
#: ../Doc/library/lzma.rst:365
|
||||
msgid ""
|
||||
"``nice_len``: What should be considered a \"nice length\" for a match. This "
|
||||
"should be 273 or less."
|
||||
msgstr ""
|
||||
"``nice_len``: Ce qui devra être pris en compte comme \"longueur appréciable"
|
||||
"\" pour une recherche. Il devra être 273 ou moins."
|
||||
|
||||
#: ../Doc/library/lzma.rst:367
|
||||
msgid ""
|
||||
"``mf``: What match finder to use -- :const:`MF_HC3`, :const:`MF_HC4`, :const:"
|
||||
"`MF_BT2`, :const:`MF_BT3`, or :const:`MF_BT4`."
|
||||
msgstr ""
|
||||
"``mf``: Quel type d'index de recherche à utiliser -- :const:`MF_HC3`, :const:"
|
||||
"`MF_HC4`, :const:`MF_BT2`, :const:`MF_BT3`, ou :const:`MF_BT4`."
|
||||
|
||||
#: ../Doc/library/lzma.rst:369
|
||||
msgid ""
|
||||
"``depth``: Maximum search depth used by match finder. 0 (default) means to "
|
||||
"select automatically based on other filter options."
|
||||
msgstr ""
|
||||
"``depth``: Profondeur maximum de la recherche, utilisée par l'index de "
|
||||
"recherche. 0 (défaut) signifie une sélection automatique basée sur des "
|
||||
"options de filtres différents."
|
||||
|
||||
#: ../Doc/library/lzma.rst:372
|
||||
msgid ""
|
||||
|
@ -597,6 +778,11 @@ msgid ""
|
|||
"subtracted. The default is 1, i.e. take the differences between adjacent "
|
||||
"bytes."
|
||||
msgstr ""
|
||||
"Le filtre delta stocke les différences entre octets, induisant davantage "
|
||||
"d'entrées répétitives pour le compresseur, selon les circonstances. Il "
|
||||
"support une option, ``dist``. Ce paramètre définit la distance entre les "
|
||||
"octets à soustraire. Par défaut : 1, soit la différence entre des octets "
|
||||
"adjacents."
|
||||
|
||||
#: ../Doc/library/lzma.rst:377
|
||||
msgid ""
|
||||
|
@ -607,6 +793,12 @@ msgid ""
|
|||
"specifies the address that should be mapped to the beginning of the input "
|
||||
"data. The default is 0."
|
||||
msgstr ""
|
||||
"Les filtres BCJ sont conçus pour être appliqués sur du langage machine. Ils "
|
||||
"convertissent les branches relatives, les appels et les sauts dans le code à "
|
||||
"des fins d'adressage strict, dans le but d'augmenter la redondance mise en "
|
||||
"jeu par le compresseur. Ils ne supportent qu'une seule option : "
|
||||
"``start_offset``, pour définir l'adresse où sera déclenché le début de la "
|
||||
"donnée d'entrée. Par défaut : 0."
|
||||
|
||||
#: ../Doc/library/lzma.rst:385
|
||||
msgid "Examples"
|
||||
|
@ -614,24 +806,25 @@ msgstr "Exemples"
|
|||
|
||||
#: ../Doc/library/lzma.rst:387
|
||||
msgid "Reading in a compressed file::"
|
||||
msgstr ""
|
||||
msgstr "Lire un fichier compressé::"
|
||||
|
||||
#: ../Doc/library/lzma.rst:393
|
||||
msgid "Creating a compressed file::"
|
||||
msgstr ""
|
||||
msgstr "Créer un fichier compressé::"
|
||||
|
||||
#: ../Doc/library/lzma.rst:400
|
||||
msgid "Compressing data in memory::"
|
||||
msgstr ""
|
||||
msgstr "Compresser des données en mémoire ::"
|
||||
|
||||
#: ../Doc/library/lzma.rst:406
|
||||
msgid "Incremental compression::"
|
||||
msgstr ""
|
||||
msgstr "Compression incrémentale ::"
|
||||
|
||||
#: ../Doc/library/lzma.rst:417
|
||||
msgid "Writing compressed data to an already-open file::"
|
||||
msgstr ""
|
||||
msgstr "Écrire des données compressées dans un fichier préalablement ouvert ::"
|
||||
|
||||
#: ../Doc/library/lzma.rst:426
|
||||
msgid "Creating a compressed file using a custom filter chain::"
|
||||
msgstr ""
|
||||
"Créer un fichier compressé en utilisant une chaîne de filtre personnalisée ::"
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user