Backporting from 3.9.

This commit is contained in:
Julien Palard 2020-10-06 22:27:14 +02:00
parent ccc4fd13dd
commit 1ce828fa6c
45 changed files with 3860 additions and 590 deletions

View File

@ -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

View File

@ -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"

View File

@ -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 ""

View File

@ -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"

View File

@ -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 ""

View File

@ -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

View File

@ -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"

View File

@ -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"

93
dict
View File

@ -1,5 +1,7 @@
#python-fr
-1
-ième
-uplet
-uplets
017f
212a
@ -11,23 +13,32 @@ base32
base64
base85
batch
boguer
c++
c-
C-
C99
c/c++
C14N
C89
c99
chacha20
cadriciel
cadriciels
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
@ -40,30 +51,36 @@ déserialise
déserialiser
déserialiseur
déserialiseurs
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
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
ième
@ -73,46 +90,56 @@ journaliseur
journalisé
journalisée
journalisés
journaliseur
Jr.
Kuchling
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
marc-andré
mersenne
mertz
métacaractère
métacaractères
métaclasse
métaclasses
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
@ -123,12 +150,11 @@ référençables
réimplémente
réimplémenter
réimplémentez
relationelle
résolveurs
retraçage
réusinage
réusinages
réusiné
réutilisabilité
serwy
shell
slot
@ -137,16 +163,12 @@ 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é
@ -158,6 +180,7 @@ utf-16
utf-32
von
w3c
world
wxwidgets
x11
x86

View File

@ -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 "
"loccurrence, 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."

File diff suppressed because it is too large Load Diff

View File

@ -1703,7 +1703,7 @@ msgstr ""
#: ../Doc/howto/clinic.rst:970
msgid "Consider the following example:"
msgstr ""
msgstr "Examinons l'exemple suivant :"
#: ../Doc/howto/clinic.rst:976
msgid ""

View File

@ -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*."

View File

@ -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 nimporte 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 lappel à ``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 lIPC 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. Jen 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 nutilisiez "
"deux boucles ``recv`` — la première pour déterminer la longueur, la deuxième "
"pour obtenir la partie « données » du message. Vilain. Cest aussi à ce "
"moment que vous découvrirez que « lenvoi » 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 lavantage concurrentiel que jai 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 denvoyer des données binaires sur un "
"connecteur. Le gros problème est que toutes les machines nutilisent 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 lordre doctets 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 lordre du "
"réseau est lordre de lhôte, ceux-ci ne font rien, mais lorsque la machine "
"utilise lordre doctets 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. "
"Cest parce quun 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 larrêter avant de le fermer via ``close``. Le ``shutdown`` est un "
"avertissement au connecteur de lautre côté. Selon largument 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 dutiliser ce morceau détiquette que normalement "
"un ``close`` est équivalent à ``shutdown() ; close()``. Ainsi, dans la "
"plupart des situations, un ``shutdown`` explicite nest 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 dutiliser efficacement le ``shutdown`` est dutiliser 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 denvoyer, "
"mais peut encore recevoir ». Le serveur peut détecter *EOF* par une "
"réception de 0 octet. Il peut supposer quil 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 larrêt automatique un peu plus loin, et dit que lorsquun "
"connecteur est collecté par le ramasse-miette, il effectue automatiquement "
"une fermeture via ``close`` si elle est nécessaire. Mais cest une très "
"mauvaise habitude de sappuyer sur ce système. Si votre connecteur disparaît "
"sans avoir fait un ``close``, le connecteur à lautre bout peut rester "
"suspendu indéfiniment, pensant que vous êtes juste lent. Fermez vos "
"connecteurs quand vous avez terminé *sil 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 dattendre infiniment. TCP "
"est un protocole fiable, et il attendra très, très longtemps avant "
"d'abandonner une connexion. Si vous utilisez des fils dexé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 sil 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 ""

View File

@ -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 ""
@ -1026,7 +1039,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 +1049,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 ""

File diff suppressed because it is too large Load Diff

View File

@ -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."

View File

@ -1522,6 +1522,9 @@ msgid ""
"When programming in a compiled language, shared libraries are accessed when "
"compiling/linking a program, and when the program is run."
msgstr ""
"Les langages compilés ont besoin d'accéder aux bibliothèques partagées au "
"moment de la compilation, de l'édition de liens et pendant l'exécution du "
"programme."
#: ../Doc/library/ctypes.rst:1253
msgid ""
@ -1531,12 +1534,20 @@ msgid ""
"while the ctypes library loaders act like when a program is run, and call "
"the runtime loader directly."
msgstr ""
"Le but de la fonction :func:`find_library` est de trouver une bibliothèque "
"de la même façon que le ferait le compilateur ou le chargeur (sur les plates-"
"formes avec plusieurs versions de la même bibliothèque, la plus récente est "
"chargée), alors que les chargeurs de bibliothèques de *ctypes* se comportent "
"de la même façon qu'un programme qui s'exécute, et appellent directement le "
"chargeur."
#: ../Doc/library/ctypes.rst:1259
msgid ""
"The :mod:`ctypes.util` module provides a function which can help to "
"determine the library to load."
msgstr ""
"Le module :mod:`ctypes.util` fournit une fonction pour déterminer quelle "
"bibliothèque charger."
#: ../Doc/library/ctypes.rst:1267
msgid ""
@ -1545,10 +1556,15 @@ msgid ""
"number (this is the form used for the posix linker option :option:`!-l`). "
"If no library can be found, returns ``None``."
msgstr ""
"Tente de trouver une bibliothèque et en renvoie le chemin. *name* est le nom "
"de la bibliothèque sans préfixe — comme *lib* — ni suffixe — comme ``.so``, "
"``.dylib`` ou un numéro de version (c.-à-d. la même forme que l'option POSIX "
"de l'éditeur de lien :option:`!-l`). Si la fonction ne parvient pas à "
"trouver de bibliothèque, elle renvoie ``None``."
#: ../Doc/library/ctypes.rst:1272 ../Doc/library/ctypes.rst:1860
msgid "The exact functionality is system dependent."
msgstr ""
msgstr "Le mode opératoire exact dépend du système."
#: ../Doc/library/ctypes.rst:1274
msgid ""
@ -1556,6 +1572,9 @@ msgid ""
"ldconfig``, ``gcc``, ``objdump`` and ``ld``) to find the library file. It "
"returns the filename of the library file."
msgstr ""
"Sous Linux, :func:`find_library` essaye de lancer des programmes externes "
"(``/sbin/ldconfig``, ``gcc``, ``objdump`` et ``ld``) pour trouver la "
"bibliothèque. Elle renvoie le nom de la bibliothèque sur le disque."
#: ../Doc/library/ctypes.rst:1278
msgid ""
@ -1563,16 +1582,21 @@ msgid ""
"when searching for libraries, if a library cannot be found by any other "
"means."
msgstr ""
"Sous Linux, si les autres moyens échouent, la fonction utilise la variable "
"d'environnement ``LD_LIBRARY_PATH`` pour trouver la bibliothèque."
#: ../Doc/library/ctypes.rst:1282
msgid "Here are some examples::"
msgstr ""
msgstr "Voici quelques exemples :"
#: ../Doc/library/ctypes.rst:1293
msgid ""
"On OS X, :func:`find_library` tries several predefined naming schemes and "
"paths to locate the library, and returns a full pathname if successful::"
msgstr ""
"Sous OS X, :func:`find_library` regarde dans des chemins et conventions de "
"chemins prédéfinies pour trouver la bibliothèque et en renvoie le chemin "
"complet si elle la trouve :"
#: ../Doc/library/ctypes.rst:1307
msgid ""
@ -1580,6 +1604,10 @@ msgid ""
"returns the full pathname, but since there is no predefined naming scheme a "
"call like ``find_library(\"c\")`` will fail and return ``None``."
msgstr ""
"Sous Windows, :func:`find_library` examine le chemin de recherche du système "
"et renvoie le chemin complet de la bibliothèque, mais comme il n'existe pas "
"de convention de nommage, des appels comme ``find_library(\"c\")`` échouent "
"et renvoient ``None``."
#: ../Doc/library/ctypes.rst:1311
msgid ""
@ -1588,6 +1616,11 @@ msgid ""
"into the wrapper module instead of using :func:`find_library` to locate the "
"library at runtime."
msgstr ""
"Si vous encapsulez une bibliothèque partagée avec :mod:`ctypes`, il est "
"*probablement* plus judicieux de déterminer le chemin de cette bibliothèque "
"lors du développement et de l'écrire en dur dans le module d'encapsulation, "
"plutôt que d'utiliser :func:`find_library` pour la trouver lors de "
"l'exécution."
#: ../Doc/library/ctypes.rst:1319
msgid "Loading shared libraries"
@ -1598,6 +1631,9 @@ msgid ""
"There are several ways to load shared libraries into the Python process. "
"One way is to instantiate one of the following classes:"
msgstr ""
"Il y a plusieurs moyens de charger une bibliothèque partagée dans un "
"processus Python. L'un d'entre eux consiste à instancier une des classes "
"suivantes :"
#: ../Doc/library/ctypes.rst:1327
msgid ""
@ -1605,6 +1641,9 @@ msgid ""
"these libraries use the standard C calling convention, and are assumed to "
"return :c:type:`int`."
msgstr ""
"Une instance de cette classe représente une bibliothèque partagée déjà "
"chargée. Les fonctions de cette bibliothèque utilisent la convention d'appel "
"C standard et doivent renvoyer un :c:type:`int`."
#: ../Doc/library/ctypes.rst:1334
msgid ""
@ -1615,6 +1654,13 @@ msgid ""
"failed or succeeded, together with additional error code. If the return "
"value signals a failure, an :class:`OSError` is automatically raised."
msgstr ""
"En Windows seulement : une instance de cette classe représente une "
"bibliothèque partagée déjà chargée. Les fonctions de cette bibliothèque "
"utilisent la convention d'appel *stdcall*, et doivent renvoyer un code :"
"class:`HRESULT` (propre à Windows). Les valeurs de :class:`HRESULT` "
"contiennent des informations précisant si l'appel de la fonction a échoué ou "
"s'il a réussi, ainsi qu'un code d'erreur supplémentaire. Si la valeur de "
"retour signale un échec, une :class:`OSError` est levée automatiquement."
#: ../Doc/library/ctypes.rst:1341
msgid ":exc:`WindowsError` used to be raised."
@ -1626,6 +1672,10 @@ msgid ""
"functions in these libraries use the ``stdcall`` calling convention, and are "
"assumed to return :c:type:`int` by default."
msgstr ""
"En Windows seulement : une instance de cette classe représente une "
"bibliothèque partagée déjà chargée. Les fonctions de cette bibliothèque "
"utilisent la convention d'appel *stdcall* et doivent renvoyer par défaut un :"
"c:type:`int`."
#: ../Doc/library/ctypes.rst:1351
msgid ""
@ -1633,12 +1683,18 @@ msgid ""
"the :class:`WinDLL` and :class:`OleDLL` use the standard calling convention "
"on this platform."
msgstr ""
"Sous Windows CE, seule la convention d'appel standard est utilisée. Pour des "
"raisons pratiques, :class:`WinDLL` et :class:`OleDLL` utilisent la "
"convention d'appel standard sur cette plate-forme."
#: ../Doc/library/ctypes.rst:1355
msgid ""
"The Python :term:`global interpreter lock` is released before calling any "
"function exported by these libraries, and reacquired afterwards."
msgstr ""
"Le :term:`verrou global de l'interpréteur <global interpreter lock>` Python "
"est relâché avant chaque appel d'une fonction exposée par ces bibliothèques "
"et ré-activé après."
#: ../Doc/library/ctypes.rst:1361
msgid ""
@ -1647,10 +1703,15 @@ msgid ""
"function execution the Python error flag is checked. If the error flag is "
"set, a Python exception is raised."
msgstr ""
"Cette classe est identique à :class:`CDLL`, à ceci près que le GIL n'est "
"*pas* relâché pendant l'appel de la fonction, et, qu'au terme de l'appel, le "
"drapeau d'erreur Python est vérifié. Si celui-ci est activé, une exception "
"Python est levée."
#: ../Doc/library/ctypes.rst:1366
msgid "Thus, this is only useful to call Python C api functions directly."
msgstr ""
"Donc, cette classe ne sert qu'à appeler les fonctions de l'API C de Python."
#: ../Doc/library/ctypes.rst:1368
msgid ""
@ -1661,6 +1722,12 @@ msgid ""
"``LoadLibrary`` function is used to load the library into the process, and "
"to get a handle to it."
msgstr ""
"Toutes ces classes peuvent être instanciées en les appelant avec le chemin "
"de la bibliothèque partagée comme unique argument. Il est aussi possible de "
"passer un lien vers une bibliothèque déjà chargée en utilisant le paramètre "
"``handle``. Sinon, les fonctions ``dlopen`` ou ``LoadLibrary`` de la plate-"
"forme sous-jacente permettent de charger la bibliothèque dans le processus, "
"et d'en obtenir un lien."
#: ../Doc/library/ctypes.rst:1375
msgid ""
@ -1669,6 +1736,10 @@ msgid ""
"ignored. On posix systems, RTLD_NOW is always added, and is not "
"configurable."
msgstr ""
"Le mode de chargement de la bibliothèque est défini par le paramètre *mode*. "
"Pour plus de détails, référez-vous à l'entrée :manpage:`dlopen(3)` du "
"manuel. En Windows, *mode* est ignoré. Sur les systèmes POSIX, RTLD_NOW y "
"est toujours ajouté. Ceci n'est pas configurable."
#: ../Doc/library/ctypes.rst:1380
msgid ""
@ -1679,6 +1750,13 @@ msgid ""
"the :data:`errno` value before the function call is swapped with the ctypes "
"private copy, the same happens immediately after the function call."
msgstr ""
"Le paramètre *use_errno*, lorsque défini à vrai, active un mécanisme de "
"*ctypes* qui permet d'accéder au numéro d'erreur :data:`errno` du système de "
"manière sécurisée. :mod:`ctypes` maintient une copie de :data:`errno` du "
"système dans chaque fil d'exécution. Si vous appelez des fonctions externes "
"créées avec ``use_errno=True``, la valeur de :data:`errno` avant l'appel de "
"la fonction est échangée avec la copie privée de *ctypes*. La même chose se "
"produit juste après l'appel de la fonction."
#: ../Doc/library/ctypes.rst:1387
msgid ""
@ -1686,6 +1764,9 @@ msgid ""
"private copy, and the function :func:`ctypes.set_errno` changes the ctypes "
"private copy to a new value and returns the former value."
msgstr ""
"La fonction :func:`ctypes.get_errno` renvoie la valeur de la copie privée de "
"*ctypes*. La fonction :func:`ctypes.set_errno` affecte une nouvelle valeur à "
"la copie privée et renvoie l'ancienne valeur."
#: ../Doc/library/ctypes.rst:1391
msgid ""
@ -1695,24 +1776,36 @@ msgid ""
"and :func:`ctypes.set_last_error` are used to request and change the ctypes "
"private copy of the windows error code."
msgstr ""
"Définir le paramètre *use_last_error* à vrai active le même mécanisme pour "
"le code d'erreur de Windows qui est géré par les fonctions :func:"
"`GetLastError` et :func:`SetLastError` de l'API Windows ; :func:`ctypes."
"get_last_error` et :func:`ctypes.set_last_error` servent à obtenir et "
"modifier la copie privée *ctypes* de ce code d'erreur."
#: ../Doc/library/ctypes.rst:1400
msgid ""
"Flag to use as *mode* parameter. On platforms where this flag is not "
"available, it is defined as the integer zero."
msgstr ""
"Valeur possible pour le paramètre *mode*. Vaut zéro sur les plates-formes où "
"ce drapeau n'est pas disponible."
#: ../Doc/library/ctypes.rst:1407
msgid ""
"Flag to use as *mode* parameter. On platforms where this is not available, "
"it is the same as *RTLD_GLOBAL*."
msgstr ""
"Valeur possible pour le paramètre *mode*. Vaut *RTLD_GLOBAL* sur les plates-"
"formes où ce drapeau n'est pas disponible."
#: ../Doc/library/ctypes.rst:1414
msgid ""
"The default mode which is used to load shared libraries. On OSX 10.3, this "
"is *RTLD_GLOBAL*, otherwise it is the same as *RTLD_LOCAL*."
msgstr ""
"Mode de chargement par défaut des bibliothèques partagées. Vaut "
"*RTLD_GLOBAL* sur OSX 10.3 et *RTLD_LOCAL* sur les autres systèmes "
"d'exploitation."
#: ../Doc/library/ctypes.rst:1417
msgid ""
@ -1722,12 +1815,19 @@ msgid ""
"therefore accessing it repeatedly returns the same object each time. On the "
"other hand, accessing it through an index returns a new object each time::"
msgstr ""
"Les instances de ces classes n'ont pas de méthodes publiques ; on accède aux "
"fonctions de la bibliothèque partagée par attribut ou par indiçage. Notez "
"que les résultats des accès par attribut sont mis en cache, et donc des "
"accès consécutifs renvoient à chaque fois le même objet. Accéder à une "
"fonction par indice renvoie cependant chaque fois un nouvel objet :"
#: ../Doc/library/ctypes.rst:1430
msgid ""
"The following public attributes are available, their name starts with an "
"underscore to not clash with exported function names:"
msgstr ""
"Les attributs publics suivants sont disponibles, leur nom commence par un "
"tiret bas pour éviter les conflits avec les noms des fonctions exportées :"
#: ../Doc/library/ctypes.rst:1436
msgid "The system handle used to access the library."
@ -1735,7 +1835,7 @@ msgstr ""
#: ../Doc/library/ctypes.rst:1441
msgid "The name of the library passed in the constructor."
msgstr ""
msgstr "Nom de la bibliothèque donné au constructeur."
#: ../Doc/library/ctypes.rst:1443
msgid ""
@ -1744,12 +1844,18 @@ msgid ""
"calling the :meth:`LoadLibrary` method, or by retrieving the library as "
"attribute of the loader instance."
msgstr ""
"Il est possible de charger une bibliothèque partagée soit en utilisant une "
"instance de la classe :class:`LibraryLoader`, soit en appelant la méthode :"
"meth:`LoadLibrary`, soit en récupérant la bibliothèque comme attribut de "
"l'instance du chargeur."
#: ../Doc/library/ctypes.rst:1451
msgid ""
"Class which loads shared libraries. *dlltype* should be one of the :class:"
"`CDLL`, :class:`PyDLL`, :class:`WinDLL`, or :class:`OleDLL` types."
msgstr ""
"Classe pour charger une bibliothèque partagée. *dlltype* doit être de type :"
"class:`CDLL`, :class:`PyDLL`, :class:`WinDLL` ou :class:`OleDLL`."
#: ../Doc/library/ctypes.rst:1454
msgid ""
@ -1757,38 +1863,44 @@ msgid ""
"by accessing it as attribute of a library loader instance. The result is "
"cached, so repeated attribute accesses return the same library each time."
msgstr ""
":meth:`__getattr__` a un comportement particulier : elle charge une "
"bibliothèque quand on accède à un attribut du chargeur. Le résultat est mis "
"en cache, donc des accès consécutifs renvoient la même bibliothèque à chaque "
"fois."
#: ../Doc/library/ctypes.rst:1460
msgid ""
"Load a shared library into the process and return it. This method always "
"returns a new instance of the library."
msgstr ""
"Charge une bibliothèque partagée dans le processus et la renvoie. Cette "
"méthode renvoie toujours une nouvelle instance de la bibliothèque."
#: ../Doc/library/ctypes.rst:1464
msgid "These prefabricated library loaders are available:"
msgstr ""
msgstr "Plusieurs chargeurs sont fournis :"
#: ../Doc/library/ctypes.rst:1469
msgid "Creates :class:`CDLL` instances."
msgstr ""
msgstr "Pour créer des instances de :class:`CDLL`."
#: ../Doc/library/ctypes.rst:1475
msgid "Windows only: Creates :class:`WinDLL` instances."
msgstr ""
msgstr "Pour créer des instances de :class:`WinDLL` (uniquement en Windows)."
#: ../Doc/library/ctypes.rst:1481
msgid "Windows only: Creates :class:`OleDLL` instances."
msgstr ""
msgstr "Pour créer des instances de :class:`OleDLL` (uniquement en Windows)."
#: ../Doc/library/ctypes.rst:1487
msgid "Creates :class:`PyDLL` instances."
msgstr ""
msgstr "Pour créer des instances de :class:`PyDLL`."
#: ../Doc/library/ctypes.rst:1490
msgid ""
"For accessing the C Python api directly, a ready-to-use Python shared "
"library object is available:"
msgstr ""
msgstr "Il existe un moyen rapide d'accéder directement à l'API C Python :"
#: ../Doc/library/ctypes.rst:1496
msgid ""
@ -1797,6 +1909,11 @@ msgid ""
"`int`, which is of course not always the truth, so you have to assign the "
"correct :attr:`restype` attribute to use these functions."
msgstr ""
"Une instance de :class:`PyDLL` dont les attributs sont les fonctions "
"exportées par l'API C Python. Toutes ces fonctions sont supposées renvoyer "
"un :c:type:`int` C, ce qui n'est bien entendu pas toujours le cas. Il faut "
"donc définir vous-même le bon attribut :attr:`restype` pour pouvoir les "
"utiliser."
#: ../Doc/library/ctypes.rst:1505
msgid "Foreign functions"
@ -1810,28 +1927,41 @@ msgid ""
"instances as arguments, and return the default result type specified by the "
"library loader. They are instances of a private class:"
msgstr ""
"Comme expliqué dans la section précédente, on peut accéder aux fonctions "
"externes au travers des attributs des bibliothèques partagées. Un objet "
"fonction créé de cette façon accepte par défaut un nombre quelconque "
"d'arguments qui peuvent être de n'importe quel type de données *ctypes*. Il "
"renvoie le type par défaut du chargeur de la bibliothèque. Ce sont des "
"instances de la classe privée :"
#: ../Doc/library/ctypes.rst:1516
msgid "Base class for C callable foreign functions."
msgstr ""
msgstr "Classe de base pour les fonctions externes C."
#: ../Doc/library/ctypes.rst:1518
msgid ""
"Instances of foreign functions are also C compatible data types; they "
"represent C function pointers."
msgstr ""
"Une instance de fonction externe est également un type de donnée compatible "
"avec le C ; elle représente un pointeur vers une fonction."
#: ../Doc/library/ctypes.rst:1521
msgid ""
"This behavior can be customized by assigning to special attributes of the "
"foreign function object."
msgstr ""
"Son comportement peut-être personnalisé en réaffectant les attributs "
"spécifiques de l'objet représentant la fonction externe."
#: ../Doc/library/ctypes.rst:1526
msgid ""
"Assign a ctypes type to specify the result type of the foreign function. Use "
"``None`` for :c:type:`void`, a function not returning anything."
msgstr ""
"Fait correspondre le type de retour de la fonction externe à un type "
"*ctypes*. Dans le cas où la fonction ne renvoie rien (:c:type:`void`), "
"utilisez ``None``."
#: ../Doc/library/ctypes.rst:1529
msgid ""
@ -1842,6 +1972,14 @@ msgid ""
"or error checking use a ctypes data type as :attr:`restype` and assign a "
"callable to the :attr:`errcheck` attribute."
msgstr ""
"Il est aussi possible de passer n'importe quel un objet Python qui n'est pas "
"un type *ctypes* pourvu qu'il soit appelable. Dans ce cas, la fonction est "
"censée renvoyer un :c:type:`int` C et l'appelable sera appelé avec cet "
"entier, ce qui permet ainsi de faire des actions supplémentaires comme "
"vérifier un code d'erreur. Ce mécanisme est obsolète ; une façon plus souple "
"de faire des actions supplémentaires ou de la vérification consiste à "
"affecter un type *ctypes* à :attr:`restype` et à affecter un appelable à "
"l'attribut :attr:`errcheck`."
#: ../Doc/library/ctypes.rst:1538
msgid ""
@ -1851,6 +1989,11 @@ msgid ""
"tuple; functions using the C calling convention accept additional, "
"unspecified arguments as well."
msgstr ""
"Fait correspondre le type des arguments que la fonction accepte avec un *n*-"
"uplet de types *ctypes*. Les fonctions qui utilisent la convention d'appel "
"``stdcall`` ne peuvent être appelées qu'avec le même nombre d'arguments que "
"la taille du *n*-uplet mais les fonctions qui utilisent la convention "
"d'appel C acceptent aussi des arguments additionnels non-définis."
#: ../Doc/library/ctypes.rst:1544
msgid ""
@ -1861,6 +2004,13 @@ msgid ""
"attr:`argtypes` tuple will convert a string passed as argument into a bytes "
"object using ctypes conversion rules."
msgstr ""
"À l'appel d'une fonction externe, chaque argument est passé à la méthode de "
"classe :meth:`from_param` de l'élément correspondant dans le *n*-uplet des :"
"attr:`argtypes`. Cette méthode convertit l'argument initial en un objet que "
"la fonction externe peut comprendre. Par exemple, un :class:`c_char_p` dans "
"le *n*-uplet des :attr:`argtypes` va transformer la chaîne de caractères "
"passée en argument en un objet chaîne d'octets selon les règles de "
"conversion *ctypes*."
#: ../Doc/library/ctypes.rst:1551
msgid ""
@ -1869,30 +2019,47 @@ msgid ""
"usable as argument (integer, string, ctypes instance). This allows defining "
"adapters that can adapt custom objects as function parameters."
msgstr ""
"Nouveau : il est maintenant possible de mettre des objets qui ne sont pas "
"des types de *ctypes* dans les *argtypes*, mais ceux-ci doivent avoir une "
"méthode :meth:`from_param` renvoyant une valeur qui peut être utilisée comme "
"un argument (entier, chaîne de caractères ou instance *ctypes*). Ceci permet "
"de créer des adaptateurs qui convertissent des objets arbitraires en des "
"paramètres de fonction."
#: ../Doc/library/ctypes.rst:1558
msgid ""
"Assign a Python function or another callable to this attribute. The callable "
"will be called with three or more arguments:"
msgstr ""
"Définit une fonction Python ou tout autre appelable qui sera appelé avec "
"trois arguments ou plus :"
#: ../Doc/library/ctypes.rst:1565
msgid ""
"*result* is what the foreign function returns, as specified by the :attr:"
"`restype` attribute."
msgstr ""
"*result* est la valeur de retour de la fonction externe, comme défini par "
"l'attribut :attr:`restype`."
#: ../Doc/library/ctypes.rst:1568
msgid ""
"*func* is the foreign function object itself, this allows reusing the same "
"callable object to check or post process the results of several functions."
msgstr ""
"*func* est l'objet représentant la fonction externe elle-même. Cet accesseur "
"permet de réutiliser le même appelable pour vérifier le résultat de "
"plusieurs fonctions ou de faire des actions supplémentaires après leur "
"exécution."
#: ../Doc/library/ctypes.rst:1572
msgid ""
"*arguments* is a tuple containing the parameters originally passed to the "
"function call, this allows specializing the behavior on the arguments used."
msgstr ""
"*arguments* est le *n*-uplet qui contient les paramètres initiaux passés à "
"la fonction, ceci permet de spécialiser le comportement des arguments "
"utilisés."
#: ../Doc/library/ctypes.rst:1576
msgid ""
@ -1900,12 +2067,17 @@ msgid ""
"function call, but it can also check the result value and raise an exception "
"if the foreign function call failed."
msgstr ""
"L'objet renvoyé par cette fonction est celui renvoyé par l'appel de la "
"fonction externe, mais il peut aussi vérifier la valeur du résultat et lever "
"une exception si l'appel a échoué."
#: ../Doc/library/ctypes.rst:1583
msgid ""
"This exception is raised when a foreign function call cannot convert one of "
"the passed arguments."
msgstr ""
"Exception levée quand un appel à la fonction externe ne peut pas convertir "
"un des arguments qu'elle a reçus."
#: ../Doc/library/ctypes.rst:1590
msgid "Function prototypes"

View File

@ -2964,7 +2964,7 @@ msgstr ""
#: ../Doc/library/curses.rst:1768
msgid "Action"
msgstr ""
msgstr "Action"
#: ../Doc/library/curses.rst:1770
msgid ":kbd:`Control-A`"

View File

@ -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 ""

View File

@ -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é."

View File

@ -579,7 +579,7 @@ msgstr ""
#: ../Doc/library/idle.rst:241
msgid "Run... Customized"
msgstr ""
msgstr "Run... Customized"
#: ../Doc/library/idle.rst:238
msgid ""
@ -587,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)"
@ -1656,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"

View File

@ -29,15 +29,15 @@ msgstr ""
#: ../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 +135,7 @@ msgstr ""
#: ../Doc/library/logging.config.rst:0
msgid "Parameters"
msgstr ""
msgstr "Paramètres"
#: ../Doc/library/logging.config.rst:90
msgid ""

View File

@ -29,15 +29,15 @@ msgstr ""
#: ../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 ""
@ -89,7 +89,7 @@ msgstr ""
#: ../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."

View File

@ -935,7 +935,7 @@ msgstr ""
#: ../Doc/library/logging.rst:0
msgid "Parameters"
msgstr ""
msgstr "Paramètres"
#: ../Doc/library/logging.rst:672
msgid ""

View File

@ -267,6 +267,8 @@ msgid ""
"The behavior of :meth:`__iter__` is unlike that of dictionaries, which "
"iterate over keys."
msgstr ""
"Le comportement de :meth:`__iter__` diffère de celui d'un dictionnaire, pour "
"lequel l'itération se fait sur ses clés."
#: ../Doc/library/mailbox.rst:156
msgid ""
@ -277,6 +279,13 @@ msgid ""
"subclass unless a custom message factory was specified when the :class:"
"`Mailbox` instance was initialized."
msgstr ""
"Renvoie un itérateur sur les paires (*key*, *message*), où *key* est une clé "
"et *message* est la représentation d'un message, si appelée en tant que :"
"meth:`iteritems` ; ou renvoie une liste de paires semblables si appelée en "
"tant que :meth:`items`. Les messages sont représentés comme instances au "
"format approprié et spécifique d'une sous-classe de :class:`Message` à moins "
"qu'une moulinette personnalisée de message ait été spécifiée lors de "
"l'initialisation de l'instance :class:`Mailbox`."
#: ../Doc/library/mailbox.rst:167
msgid ""
@ -344,7 +353,7 @@ msgstr ""
#: ../Doc/library/mailbox.rst:232
msgid "Delete all messages from the mailbox."
msgstr ""
msgstr "Supprime tous les messages de la boîte de courriel."
#: ../Doc/library/mailbox.rst:237
msgid ""
@ -1528,7 +1537,7 @@ msgstr ""
#: ../Doc/library/mailbox.rst:1134
msgid "Sequence"
msgstr ""
msgstr "Séquence"
#: ../Doc/library/mailbox.rst:1136 ../Doc/library/mailbox.rst:1223
msgid "unseen"
@ -1731,16 +1740,20 @@ msgid ""
"When a :class:`BabylMessage` instance is created based upon an :class:"
"`MHMessage` instance, the following conversions take place:"
msgstr ""
"Lorsqu'une instance :class:`BabylMessage` est créée sur la base d'une "
"instance :class:`MHMessage`, les conversions suivantes sont faites :"
#: ../Doc/library/mailbox.rst:1337
msgid ":class:`MMDFMessage`"
msgstr ""
msgstr ":class:`MMDFMessage`"
#: ../Doc/library/mailbox.rst:1342
msgid ""
"A message with MMDF-specific behaviors. Parameter *message* has the same "
"meaning as with the :class:`Message` constructor."
msgstr ""
"Un message avec des comportements spécifiques à *MMDF*. Le paramètre "
"*message* a le même sens que pour le constructeur de :class:`Message`."
#: ../Doc/library/mailbox.rst:1345
msgid ""
@ -1749,18 +1762,27 @@ msgid ""
"\"From \". Likewise, flags that indicate the state of the message are "
"typically stored in :mailheader:`Status` and :mailheader:`X-Status` headers."
msgstr ""
"Comme pour le message d'une boîte de courriel *mbox*, les messages *MMDF* "
"sont stockés avec l'adresse de l'expéditeur et la date d'expédition dans la "
"ligne initiale commençant avec « From ». De même, les options indiquant "
"l'état du message sont stockées dans les en-têtes :mailheader:`Status` et :"
"mailheader:`X-Status`."
#: ../Doc/library/mailbox.rst:1350
msgid ""
"Conventional flags for MMDF messages are identical to those of mbox message "
"and are as follows:"
msgstr ""
"Les options conventionnelles des messages *MMDF* sont identiques à celles de "
"message *mbox* et sont les suivantes :"
#: ../Doc/library/mailbox.rst:1371
msgid ""
":class:`MMDFMessage` instances offer the following methods, which are "
"identical to those offered by :class:`mboxMessage`:"
msgstr ""
"Les méthodes des instances :class:`MMDFMessage` sont identiques à celles de :"
"class:`mboxMessage` et sont les suivantes :"
#: ../Doc/library/mailbox.rst:1420
msgid ""
@ -1769,18 +1791,26 @@ msgid ""
"class:`MaildirMessage` instance's delivery date, and the following "
"conversions take place:"
msgstr ""
"Lorsqu'une instance :class:`MMDFMessage` est créée sur la base d'une "
"instance :class:`MaildirMessage`, la ligne « From » est générée sur la base "
"de la date de remise de l'instance :class:`MaildirMessage` et les "
"conversions suivantes ont lieu :"
#: ../Doc/library/mailbox.rst:1439
msgid ""
"When an :class:`MMDFMessage` instance is created based upon an :class:"
"`MHMessage` instance, the following conversions take place:"
msgstr ""
"Lorsqu'une instance :class:`MMDFMessage` est créée sur la base d'une "
"instance :class:`MHMessage`, les conversions suivantes sont faites :"
#: ../Doc/library/mailbox.rst:1454
msgid ""
"When an :class:`MMDFMessage` instance is created based upon a :class:"
"`BabylMessage` instance, the following conversions take place:"
msgstr ""
"Lorsqu'une instance :class:`MMDFMessage` est créée sur la base d'une "
"instance :class:`BabylMessage`, les conversions suivantes sont faites :"
#: ../Doc/library/mailbox.rst:1469
msgid ""
@ -1788,10 +1818,13 @@ msgid ""
"`mboxMessage` instance, the \"From \" line is copied and all flags directly "
"correspond:"
msgstr ""
"Lorsqu'une instance :class:`MMDFMessage` est créée sur la base d'une "
"instance :class:`mboxMessage`, la ligne « From » est copiée et toutes les "
"options ont une correspondance directe :"
#: ../Doc/library/mailbox.rst:1474
msgid ":class:`mboxMessage` state"
msgstr ""
msgstr "état de :class:`mboxMessage`"
#: ../Doc/library/mailbox.rst:1489
msgid "Exceptions"
@ -1801,10 +1834,13 @@ msgstr "Exceptions"
msgid ""
"The following exception classes are defined in the :mod:`mailbox` module:"
msgstr ""
"Les exceptions de classes suivantes sont définies dans le module :mod:"
"`mailbox` :"
#: ../Doc/library/mailbox.rst:1496
msgid "The based class for all other module-specific exceptions."
msgstr ""
"Classe de base pour toutes les autres exceptions spécifiques à ce module."
#: ../Doc/library/mailbox.rst:1501
msgid ""
@ -1813,12 +1849,18 @@ msgid ""
"(and with the *create* parameter set to ``False``), or when opening a folder "
"that does not exist."
msgstr ""
"Levée lorsqu'une boîte de courriel est attendue mais introuvable, comme "
"quand on instancie une sous-classe :class:`Mailbox` avec un chemin qui "
"n'existe pas (et avec le paramètre *create* fixé à ``False``), ou quand on "
"ouvre un répertoire qui n'existe pas."
#: ../Doc/library/mailbox.rst:1508
msgid ""
"Raised when a mailbox is not empty but is expected to be, such as when "
"deleting a folder that contains messages."
msgstr ""
"Levée lorsqu'une boîte de courriel n'est pas vide mais devrait l'être, comme "
"lorsqu'on supprime un répertoire contenant des messages."
#: ../Doc/library/mailbox.rst:1514
msgid ""
@ -1827,12 +1869,19 @@ msgid ""
"that another program already holds a lock, or when a uniquely-generated file "
"name already exists."
msgstr ""
"Levée lorsqu'une condition liée à la boîte de courriel est hors de contrôle "
"du programme et l'empêche de se poursuivre, comme lors de léchec "
"d'acquisition du verrou ou lorsqu'un nom de fichier censé être unique existe "
"déjà."
#: ../Doc/library/mailbox.rst:1522
msgid ""
"Raised when the data in a file cannot be parsed, such as when an :class:`MH` "
"instance attempts to read a corrupted :file:`.mh_sequences` file."
msgstr ""
"Levée lorsque la donnée dans le fichier ne peut être analysée, comme lorsque "
"l'instance de :class:`MH` tente de lire un fichier :file:`.mh_sequences` "
"corrompu."
#: ../Doc/library/mailbox.rst:1529
msgid "Examples"
@ -1843,12 +1892,18 @@ msgid ""
"A simple example of printing the subjects of all messages in a mailbox that "
"seem interesting::"
msgstr ""
"Un exemple simple d'affichage de l'objet, qui semble pertinent, de tous les "
"messages d'une boîte de courriel ::"
#: ../Doc/library/mailbox.rst:1540
msgid ""
"To copy all mail from a Babyl mailbox to an MH mailbox, converting all of "
"the format-specific information that can be converted::"
msgstr ""
"Cet exemple copie tout le courriel d'une boite de courriel au format "
"*Babyl* vers une boite de courriel au format *MH*, convertissant toute "
"l'information qu'il est possible de convertir du premier format vers le "
"second ::"
#: ../Doc/library/mailbox.rst:1551
msgid ""
@ -1857,3 +1912,8 @@ msgid ""
"other programs, mail loss due to interruption of the program, or premature "
"termination due to malformed messages in the mailbox::"
msgstr ""
"Cet exemple trie le courriel en provenance de plusieurs listes de diffusion "
"vers différentes boîtes de courriel, tout en évitant une corruption à cause "
"de modifications concurrentielles par d'autres programmes, une perte due à "
"une interruption du programme ou un arrêt prématuré causé par des messages "
"mal structurés ::"

View File

@ -457,7 +457,7 @@ msgstr ""
#: ../Doc/library/msilib.rst:414
msgid "Features"
msgstr ""
msgstr "Caractéristiques"
#: ../Doc/library/msilib.rst:419
msgid ""

View File

@ -90,6 +90,10 @@ msgid ""
"order to force spawn to return before the child process exits an :exc:"
"`OSError` should be thrown."
msgstr ""
"Les fonctions `master_read` et `stdin_read` reçoivent un descripteur de "
"fichier qu'elles doivent lire, et elles doivent toujours renvoyer une chaîne "
"d'octets. Afin de forcer le *spawn* à faire un renvoi avant que le processus "
"enfant ne se termine, une exception :exc:`OSError` doit être levée."
#: ../Doc/library/pty.rst:55
msgid ""
@ -99,6 +103,11 @@ msgid ""
"child process, and *stdin_read* is passed file descriptor 0, to read from "
"the parent process's standard input."
msgstr ""
"L'implémentation par défaut pour les deux fonctions lit et renvoie jusqu'à "
"1024 octets à chaque appel de la fonction. La fonction de rappel "
"`master_read` reçoit le descripteur de fichier du pseudo-terminal maître "
"pour lire la sortie du processus enfant, et `stdin_read` reçoit le "
"descripteur de fichier 0, pour lire l'entrée standard du processus parent."
#: ../Doc/library/pty.rst:61
msgid ""
@ -109,6 +118,13 @@ msgid ""
"quit without any input, *spawn* will then loop forever. If *master_read* "
"signals EOF the same behavior results (on linux at least)."
msgstr ""
"Le renvoi d'une chaîne d'octets vide à partir de l'un ou l'autre des rappels "
"est interprété comme une condition de fin de fichier (EOF), et ce rappel ne "
"sera pas appelé après cela. Si *stdin_read* signale EOF, le terminal de "
"contrôle ne peut plus communiquer avec le processus parent OU le processus "
"enfant. À moins que le processus enfant ne quitte sans aucune entrée, "
"*spawn* sera lancé dans une boucle infinie. Si `master_read` indique la fin "
"de fichier, on aura le même comportement (sur Linux au moins)."
#: ../Doc/library/pty.rst:68
msgid ""
@ -117,6 +133,10 @@ msgid ""
"This is a bug, documented in `issue 26228 <https://bugs.python.org/"
"issue26228>`_."
msgstr ""
"Si les deux fonctions de rappel indiquent la fin de fichier (*EOF*), alors "
"*spawn* ne fera probablement jamais de renvoi, à moins que *select* ne lance "
"une erreur sur votre plateforme lors du passage de trois listes vides. Il "
"s'agit d'un bogue, renseigné dans `<https://bugs.python.org/issue26228>`_."
#: ../Doc/library/pty.rst:73
msgid ""

View File

@ -314,7 +314,7 @@ msgstr "Index"
#: ../Doc/library/resource.rst:279
msgid "Field"
msgstr ""
msgstr "Champ"
#: ../Doc/library/resource.rst:279
msgid "Resource"

View File

@ -169,7 +169,7 @@ msgstr ""
#: ../Doc/library/stat.rst:189
msgid "Time of last modification."
msgstr ""
msgstr "L'heure de la dernière modification."
#: ../Doc/library/stat.rst:194
msgid ""

View File

@ -16,7 +16,7 @@ msgstr ""
#: ../Doc/library/statistics.rst:2
msgid ":mod:`statistics` --- Mathematical statistics functions"
msgstr ""
msgstr ":mod:`statistics` — Fonctions mathématiques pour les statistiques"
#: ../Doc/library/statistics.rst:12
msgid "**Source code:** :source:`Lib/statistics.py`"
@ -41,65 +41,68 @@ msgstr ""
#: ../Doc/library/statistics.rst:35
msgid "Averages and measures of central location"
msgstr ""
msgstr "Moyennes et mesures de la tendance centrale"
#: ../Doc/library/statistics.rst:37
msgid ""
"These functions calculate an average or typical value from a population or "
"sample."
msgstr ""
"Ces fonctions calculent une moyenne ou une valeur typique à partir d'une "
"population ou d'un échantillon."
#: ../Doc/library/statistics.rst:41
msgid ":func:`mean`"
msgstr ""
msgstr ":func:`mean`"
#: ../Doc/library/statistics.rst:41
msgid "Arithmetic mean (\"average\") of data."
msgstr ""
msgstr "Moyenne arithmétique des données."
#: ../Doc/library/statistics.rst:42
msgid ":func:`harmonic_mean`"
msgstr ""
msgstr ":func:`harmonic_mean`"
#: ../Doc/library/statistics.rst:42
msgid "Harmonic mean of data."
msgstr ""
msgstr "Moyenne harmonique des données."
#: ../Doc/library/statistics.rst:43
msgid ":func:`median`"
msgstr ""
msgstr ":func:`median`"
#: ../Doc/library/statistics.rst:43
msgid "Median (middle value) of data."
msgstr ""
msgstr "Médiane (valeur centrale) des données."
#: ../Doc/library/statistics.rst:44
msgid ":func:`median_low`"
msgstr ""
msgstr ":func:`median_low`"
#: ../Doc/library/statistics.rst:44
msgid "Low median of data."
msgstr ""
msgstr "Médiane basse des données."
#: ../Doc/library/statistics.rst:45
msgid ":func:`median_high`"
msgstr ""
msgstr ":func:`median_high`"
#: ../Doc/library/statistics.rst:45
msgid "High median of data."
msgstr ""
msgstr "Médiane haute des données."
#: ../Doc/library/statistics.rst:46
msgid ":func:`median_grouped`"
msgstr ""
msgstr ":func:`median_grouped`"
#: ../Doc/library/statistics.rst:46
msgid "Median, or 50th percentile, of grouped data."
msgstr ""
"Médiane de données groupées, calculée comme le 50\\ :sup:`e` percentile."
#: ../Doc/library/statistics.rst:47
msgid ":func:`mode`"
msgstr ""
msgstr ":func:`mode`"
#: ../Doc/library/statistics.rst:47
msgid "Mode (most common value) of discrete data."
@ -107,55 +110,60 @@ msgstr ""
#: ../Doc/library/statistics.rst:51
msgid "Measures of spread"
msgstr ""
msgstr "Mesures de la dispersion"
#: ../Doc/library/statistics.rst:53
msgid ""
"These functions calculate a measure of how much the population or sample "
"tends to deviate from the typical or average values."
msgstr ""
"Ces fonctions mesurent la tendance de la population ou d'un échantillon à "
"dévier des valeurs typiques ou des valeurs moyennes."
#: ../Doc/library/statistics.rst:57
msgid ":func:`pstdev`"
msgstr ""
msgstr ":func:`pstdev`"
#: ../Doc/library/statistics.rst:57
msgid "Population standard deviation of data."
msgstr ""
msgstr "Écart-type de la population."
#: ../Doc/library/statistics.rst:58
msgid ":func:`pvariance`"
msgstr ""
msgstr ":func:`pvariance`"
#: ../Doc/library/statistics.rst:58
msgid "Population variance of data."
msgstr ""
msgstr "Variance de la population."
#: ../Doc/library/statistics.rst:59
msgid ":func:`stdev`"
msgstr ""
msgstr ":func:`stdev`"
#: ../Doc/library/statistics.rst:59
msgid "Sample standard deviation of data."
msgstr ""
msgstr "Écart-type d'un échantillon."
#: ../Doc/library/statistics.rst:60
msgid ":func:`variance`"
msgstr ""
msgstr ":func:`variance`"
#: ../Doc/library/statistics.rst:60
msgid "Sample variance of data."
msgstr ""
msgstr "Variance d'un échantillon."
#: ../Doc/library/statistics.rst:65
msgid "Function details"
msgstr ""
msgstr "Détails des fonctions"
#: ../Doc/library/statistics.rst:67
msgid ""
"Note: The functions do not require the data given to them to be sorted. "
"However, for reading convenience, most of the examples show sorted sequences."
msgstr ""
"Note : les fonctions ne requièrent pas que les données soient ordonnées. "
"Toutefois, pour en faciliter la lecture, les exemples utiliseront des "
"séquences croissantes."
#: ../Doc/library/statistics.rst:72
msgid ""
@ -170,14 +178,19 @@ msgid ""
"many different mathematical averages. It is a measure of the central "
"location of the data."
msgstr ""
"La moyenne arithmétique est la somme des valeurs divisée par le nombre "
"d'observations. Il s'agit de la valeur couramment désignée comme la "
 moyenne » bien qu'il existe de multiples façons de définir "
"mathématiquement la moyenne. C'est une mesure de la tendance centrale des "
"données."
#: ../Doc/library/statistics.rst:79
msgid "If *data* is empty, :exc:`StatisticsError` will be raised."
msgstr ""
msgstr "Une erreur :exc:`StatisticsError` est levée si *data* est vide."
#: ../Doc/library/statistics.rst:81
msgid "Some examples of use:"
msgstr ""
msgstr "Exemples d'utilisation :"
#: ../Doc/library/statistics.rst:100
msgid ""
@ -224,6 +237,9 @@ msgid ""
"companies, with P/E (price/earning) ratios of 2.5, 3 and 10. What is the "
"average P/E ratio for the investor's portfolio?"
msgstr ""
"Supposons qu'un investisseur achète autant de parts dans trois compagnies "
"chacune de ratio cours sur bénéfices (*P/E*) 2,5, 3 et 10. Quel est le ratio "
"cours sur bénéfices moyen du portefeuille de l'investisseur ?"
#: ../Doc/library/statistics.rst:137
msgid ""
@ -236,6 +252,8 @@ msgid ""
":exc:`StatisticsError` is raised if *data* is empty, or any element is less "
"than zero."
msgstr ""
"Une erreur :exc:`StatisticsError` est levée si *data* est vide ou si l'un de "
"ses éléments est inférieur à zéro."
#: ../Doc/library/statistics.rst:148
msgid ""
@ -256,12 +274,16 @@ msgid ""
"When the number of data points is even, the median is interpolated by taking "
"the average of the two middle values:"
msgstr ""
"Lorsque le nombre d'observations est pair, la médiane est interpolée en "
"calculant la moyenne des deux valeurs du milieu :"
#: ../Doc/library/statistics.rst:169
msgid ""
"This is suited for when your data is discrete, and you don't mind that the "
"median may not be an actual data point."
msgstr ""
"Cette approche est adaptée à des données discrètes à condition que vous "
"acceptiez que la médiane ne fasse pas nécessairement partie des observations."
#: ../Doc/library/statistics.rst:172
msgid ""
@ -286,12 +308,18 @@ msgid ""
"points is odd, the middle value is returned. When it is even, the smaller "
"of the two middle values is returned."
msgstr ""
"La médiane basse est toujours une valeur représentée dans les données. "
"Lorsque le nombre d'observations est impair, la valeur du milieu est "
"renvoyée. Sinon, la plus petite des deux valeurs du milieu est renvoyée."
#: ../Doc/library/statistics.rst:195
msgid ""
"Use the low median when your data are discrete and you prefer the median to "
"be an actual data point rather than interpolated."
msgstr ""
"Utilisez la médiane basse lorsque vos données sont discrètes et que vous "
"préférez que la médiane soit une valeur représentée dans vos observations "
"plutôt que le résultat d'une interpolation."
#: ../Doc/library/statistics.rst:201
msgid ""
@ -305,12 +333,18 @@ msgid ""
"points is odd, the middle value is returned. When it is even, the larger of "
"the two middle values is returned."
msgstr ""
"La médiane haute est toujours une valeur représentée dans les données. "
"Lorsque le nombre d'observations est impair, la valeur du milieu est "
"renvoyée. Sinon, la plus grande des deux valeurs du milieu est renvoyée."
#: ../Doc/library/statistics.rst:215
msgid ""
"Use the high median when your data are discrete and you prefer the median to "
"be an actual data point rather than interpolated."
msgstr ""
"Utilisez la médiane haute lorsque vos données sont discrètes et que vous "
"préférez que la médiane soit une valeur représentée dans vos observations "
"plutôt que le résultat d'une interpolation."
#: ../Doc/library/statistics.rst:221
msgid ""
@ -327,30 +361,45 @@ msgid ""
"etc. With the data given, the middle value falls somewhere in the class "
"3.5--4.5, and interpolation is used to estimate it:"
msgstr ""
"Dans l'exemple ci-dessous, les valeurs sont arrondies de sorte que chaque "
"valeur représente le milieu d'un groupe. Par exemple 1 est le milieu du "
"groupe 0,5 - 1, 2 est le milieu du groupe 1,5 - 2,5, 3 est le milieu de 2,5 -"
" 3,5, etc. Compte-tenu des valeurs ci-dessous, la valeur centrale se situe "
"quelque part dans le groupe 3,5 - 4,5 et est estimée par interpolation :"
#: ../Doc/library/statistics.rst:241
msgid ""
"Optional argument *interval* represents the class interval, and defaults to "
"1. Changing the class interval naturally will change the interpolation:"
msgstr ""
"L'argument optionnel *interval* représente la largeur de l'intervalle des "
"groupes (par défaut, 1). Changer l'intervalle des groupes change bien sûr "
"l'interpolation :"
#: ../Doc/library/statistics.rst:251
msgid ""
"This function does not check whether the data points are at least *interval* "
"apart."
msgstr ""
"Cette fonction ne vérifie pas que les valeurs sont bien séparées d'au moins "
"une fois *interval*."
#: ../Doc/library/statistics.rst:256
msgid ""
"Under some circumstances, :func:`median_grouped` may coerce data points to "
"floats. This behaviour is likely to change in the future."
msgstr ""
"Sous certaines conditions, :func:`median_grouped` peut convertir les valeurs "
"en nombres à virgule flottante. Ce comportement est susceptible de changer "
"dans le futur."
#: ../Doc/library/statistics.rst:261
msgid ""
"\"Statistics for the Behavioral Sciences\", Frederick J Gravetter and Larry "
"B Wallnau (8th Edition)."
msgstr ""
"*Statistics for the Behavioral Sciences*, Frederick J Gravetter et Larry B "
"Wallnau (8\\ :sup:`e` édition, ouvrage en anglais)."
#: ../Doc/library/statistics.rst:264
msgid ""
@ -359,6 +408,10 @@ msgid ""
"spreadsheet, including `this discussion <https://mail.gnome.org/archives/"
"gnumeric-list/2011-April/msg00018.html>`_."
msgstr ""
"La fonction `SSMEDIAN <https://help.gnome.org/users/gnumeric/stable/gnumeric."
"html#gnumeric-function-SSMEDIAN>`_ du tableur Gnome Gnumeric ainsi que "
"`cette discussion <https://mail.gnome.org/archives/gnumeric-list/2011-April/"
"msg00018.html>`_."
#: ../Doc/library/statistics.rst:272
msgid ""
@ -390,6 +443,9 @@ msgid ""
"Return the population standard deviation (the square root of the population "
"variance). See :func:`pvariance` for arguments and other details."
msgstr ""
"Renvoie l'écart-type de la population (racine carrée de la variance de la "
"population). Voir :func:`pvariance` pour les arguments et d'autres "
"précisions."
#: ../Doc/library/statistics.rst:309
msgid ""
@ -413,10 +469,13 @@ msgid ""
"estimate the variance from a sample, the :func:`variance` function is "
"usually a better choice."
msgstr ""
"Utilisez cette fonction pour calculer la variance sur une population "
"complète. Pour estimer la variance à partir d'un échantillon, utilisez "
"plutôt :func:`variance` à la place."
#: ../Doc/library/statistics.rst:323
msgid "Raises :exc:`StatisticsError` if *data* is empty."
msgstr ""
msgstr "Lève une erreur :exc:`StatisticsError` si *data* est vide."
#: ../Doc/library/statistics.rst:325 ../Doc/library/statistics.rst:399
msgid "Examples:"
@ -427,6 +486,9 @@ msgid ""
"If you have already calculated the mean of your data, you can pass it as the "
"optional second argument *mu* to avoid recalculation:"
msgstr ""
"Si vous connaissez la moyenne de vos données, il est possible de la passer "
"comme argument optionnel *mu* lors de l'appel de fonction pour éviter de la "
"calculer une nouvelle fois :"
#: ../Doc/library/statistics.rst:342
msgid ""
@ -437,7 +499,7 @@ msgstr ""
#: ../Doc/library/statistics.rst:346
msgid "Decimals and Fractions are supported:"
msgstr ""
msgstr "La fonction gère les nombres décimaux et les fractions :"
#: ../Doc/library/statistics.rst:360
msgid ""
@ -445,6 +507,10 @@ msgid ""
"σ². When called on a sample instead, this is the biased sample variance s², "
"also known as variance with N degrees of freedom."
msgstr ""
"Cette fonction renvoie la variance de la population σ² lorsqu'elle est "
"appliquée sur la population entière. Si elle est appliquée seulement sur un "
"échantillon, le résultat est alors la variance de l'échantillon s² ou "
"variance à N degrés de liberté."
#: ../Doc/library/statistics.rst:364
msgid ""
@ -460,6 +526,8 @@ msgid ""
"Return the sample standard deviation (the square root of the sample "
"variance). See :func:`variance` for arguments and other details."
msgstr ""
"Renvoie l'écart-type de l'échantillon (racine carrée de la variance de "
"l'échantillon). Voir :func:`variance` pour les arguments et plus de détails."
#: ../Doc/library/statistics.rst:384
msgid ""
@ -469,6 +537,11 @@ msgid ""
"that the data is spread out; a small variance indicates it is clustered "
"closely around the mean."
msgstr ""
"Renvoie la variance de l'échantillon *data*, un itérable d'au moins deux "
"valeurs réelles. La variance, ou moment de second ordre, est une mesure de "
"la variabilité (ou dispersion) des données. Une variance élevée indique que "
"les données sont très dispersées ; une variance faible indique que les "
"valeurs sont resserrées autour de la moyenne."
#: ../Doc/library/statistics.rst:390
msgid ""
@ -476,22 +549,33 @@ msgid ""
"*data*. If it is missing or ``None`` (the default), the mean is "
"automatically calculated."
msgstr ""
"Si le second argument optionnel *xbar* est spécifié, celui-ci doit "
"correspondre à la moyenne de *data*. S'il n'est pas spécifié ou ``None`` "
"(par défaut), la moyenne est automatiquement calculée."
#: ../Doc/library/statistics.rst:394
msgid ""
"Use this function when your data is a sample from a population. To calculate "
"the variance from the entire population, see :func:`pvariance`."
msgstr ""
"Utilisez cette fonction lorsque vos données forment un échantillon d'une "
"population plus grande. Pour calculer la variance d'une population complète, "
"utilisez :func:`pvariance`."
#: ../Doc/library/statistics.rst:397
msgid "Raises :exc:`StatisticsError` if *data* has fewer than two values."
msgstr ""
"Lève une erreur :exc:`StatisticsError` si *data* contient moins de deux "
"éléments."
#: ../Doc/library/statistics.rst:407
msgid ""
"If you have already calculated the mean of your data, you can pass it as the "
"optional second argument *xbar* to avoid recalculation:"
msgstr ""
"Si vous connaissez la moyenne de vos données, il est possible de la passer "
"comme argument optionnel *xbar* lors de l'appel de fonction pour éviter de "
"la calculer une nouvelle fois :"
#: ../Doc/library/statistics.rst:416
msgid ""
@ -499,10 +583,13 @@ msgid ""
"mean as *xbar*. Using arbitrary values for *xbar* can lead to invalid or "
"impossible results."
msgstr ""
"Cette fonction ne vérifie pas que la valeur passée dans l'argument *xbar* "
"correspond bien à la moyenne. Utiliser des valeurs arbitraires pour *xbar* "
"produit des résultats impossibles ou incorrects."
#: ../Doc/library/statistics.rst:420
msgid "Decimal and Fraction values are supported:"
msgstr ""
msgstr "La fonction gère les nombres décimaux et les fractions :"
#: ../Doc/library/statistics.rst:434
msgid ""
@ -511,6 +598,11 @@ msgid ""
"representative (e.g. independent and identically distributed), the result "
"should be an unbiased estimate of the true population variance."
msgstr ""
"Cela correspond à la variance s² de l'échantillon avec correction de Bessel "
"(ou variance à N-1 degrés de liberté). En supposant que les observations "
"sont représentatives de la population (c'est-à-dire indépendantes et "
"identiquement distribuées), alors le résultat est une estimation non biaisée "
"de la variance."
#: ../Doc/library/statistics.rst:439
msgid ""
@ -518,6 +610,9 @@ msgid ""
"func:`pvariance` function as the *mu* parameter to get the variance of a "
"sample."
msgstr ""
"Si vous connaissez d'avance la vraie moyenne μ de la population, vous "
"devriez la passer à :func:`pvariance` comme paramètre *mu* pour obtenir la "
"variance de l'échantillon."
#: ../Doc/library/statistics.rst:444
msgid "Exceptions"
@ -525,8 +620,9 @@ msgstr "Exceptions"
#: ../Doc/library/statistics.rst:446
msgid "A single exception is defined:"
msgstr ""
msgstr "Une seule exception est définie :"
#: ../Doc/library/statistics.rst:450
msgid "Subclass of :exc:`ValueError` for statistics-related exceptions."
msgstr ""
"Sous-classe de :exc:`ValueError` pour les exceptions liées aux statistiques."

View File

@ -37,7 +37,7 @@ msgstr ""
#: ../Doc/library/sunau.rst:21
msgid "Field"
msgstr ""
msgstr "Champ"
#: ../Doc/library/sunau.rst:21
msgid "Contents"

File diff suppressed because it is too large Load Diff

View File

@ -1028,7 +1028,7 @@ msgstr ""
#: ../Doc/library/tkinter.ttk.rst:679
msgid "mode"
msgstr ""
msgstr "mode"
#: ../Doc/library/tkinter.ttk.rst:679
msgid "One of \"determinate\" or \"indeterminate\"."
@ -1687,7 +1687,7 @@ msgstr ""
#: ../Doc/library/tkinter.ttk.rst:1089
msgid "tree"
msgstr ""
msgstr "*tree* (arbre)"
#: ../Doc/library/tkinter.ttk.rst:1089
msgid "The tree area."

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -16,11 +16,11 @@ msgstr ""
#: ../Doc/library/uuid.rst:2
msgid ":mod:`uuid` --- UUID objects according to :rfc:`4122`"
msgstr ""
msgstr ":mod:`uuid` — Objets UUID d'après la :rfc:`4122`"
#: ../Doc/library/uuid.rst:9
msgid "**Source code:** :source:`Lib/uuid.py`"
msgstr ""
msgstr "**Code source :** :source:`Lib/uuid.py`"
#: ../Doc/library/uuid.rst:13
msgid ""
@ -29,6 +29,10 @@ msgid ""
"`uuid5` for generating version 1, 3, 4, and 5 UUIDs as specified in :rfc:"
"`4122`."
msgstr ""
"Ce module exporte des objets :class:`UUID` immuables (de la classe :class:"
"`UUID`) et les fonctions :func:`uuid1`, :func:`uuid3`, :func:`uuid4`, :func:"
"`uuid5` permettant de générer des UUID de version 1, 3, 4 et 5 tels que "
"définis dans la :rfc:`4122`."
#: ../Doc/library/uuid.rst:17
msgid ""
@ -37,6 +41,10 @@ msgid ""
"creates a UUID containing the computer's network address. :func:`uuid4` "
"creates a random UUID."
msgstr ""
"Utilisez :func:`uuid1` ou :func:`uuid4` si votre but est de produire un "
"identifiant unique. Notez que :func:`uuid1` peut dévoiler des informations "
"personnelles car l'UUID produit contient l'adresse réseau de l'ordinateur. "
"En revanche, :func:`uuid4` génère un UUID aléatoire."
#: ../Doc/library/uuid.rst:22
msgid ""
@ -46,20 +54,31 @@ msgid ""
"UUID. All instances of :class:`UUID` have an :attr:`is_safe` attribute "
"which relays any information about the UUID's safety, using this enumeration:"
msgstr ""
"En fonction du système d'exploitation, les UUID :func:`uuid1` peuvent ne pas "
"être « sûrs ». Un UUID est considéré sûr s'il est généré avec des techniques "
"de synchronisation qui garantissent que deux processus ne peuvent obtenir le "
"même UUID. Toutes les instances de :class:`UUID` possèdent un attribut :attr:"
"`is_safe` qui indique le niveau de sûreté de l'UUID selon l'énumération "
"suivante :"
#: ../Doc/library/uuid.rst:34
msgid "The UUID was generated by the platform in a multiprocessing-safe way."
msgstr ""
"L'UUID a été généré par la plateforme en utilisant une méthode sûre dans un "
"contexte de parallélisme par processus."
#: ../Doc/library/uuid.rst:38
msgid "The UUID was not generated in a multiprocessing-safe way."
msgstr ""
"L'UUID n'a pas été généré par une méthode sûre dans un contexte de "
"parallélisme par processus."
#: ../Doc/library/uuid.rst:42
msgid ""
"The platform does not provide information on whether the UUID was generated "
"safely or not."
msgstr ""
"La plateforme ne précise pas si l'UUID a été généré de façon sûre ou non."
#: ../Doc/library/uuid.rst:47
msgid ""
@ -72,6 +91,15 @@ msgid ""
"string of hex digits is given, curly braces, hyphens, and a URN prefix are "
"all optional. For example, these expressions all yield the same UUID::"
msgstr ""
"Produit un UUID à partir soit d'une chaîne de 32 chiffres hexadécimaux, soit "
"une chaîne de 16 octets gros-boutiste (argument *bytes*), soit une chaîne de "
"16 octets petit-boutiste (argument *bytes_le*), soit un n-uplet de six "
"entiers (32-bit *time_low*, 16-bit *time_mid*, 16-bit *time_hi_version*, 8-"
"bit *clock_seq_hi_variant*, 8-bit *clock_seq_low*, 48-bit *node*) (argument "
"*fields*), soit un unique entier sur 128 bits (argument *int*). Lorsque la "
"fonction reçoit une chaîne de chiffres hexadécimaux, les accolades, les "
"tirets et le préfixe URN sont facultatifs. Par exemple, toutes les "
"expressions ci-dessous génèrent le même UUID ::"
#: ../Doc/library/uuid.rst:66
msgid ""
@ -80,6 +108,11 @@ msgid ""
"its variant and version number set according to :rfc:`4122`, overriding bits "
"in the given *hex*, *bytes*, *bytes_le*, *fields*, or *int*."
msgstr ""
"Un seul des arguments *hex*, *bytes*, *bytes_le*, *fields* ou *int* doit "
"être spécifié. L'argument *version* est optionnel : s'il est spécifié, "
"l'UUID généré aura pour numéro de version et de variante la valeur indiquée "
"dans la :rfc:`4122`, remplaçant les bits idoines de *hex*, *bytes*, "
"*bytes_le*, *fields* ou *int*."
#: ../Doc/library/uuid.rst:71
msgid ""
@ -87,6 +120,9 @@ msgid ""
"int` attributes. Comparison with a non-UUID object raises a :exc:"
"`TypeError`."
msgstr ""
"La comparaison de deux objets UUID se fait en comparant leurs attributs :"
"attr:`UUID.int`. La comparaison avec un objet autre qu'un UUID lève une "
"exception :exc:`TypeError`."
#: ../Doc/library/uuid.rst:75
msgid ""
@ -94,32 +130,43 @@ msgid ""
"``12345678-1234-5678-1234-567812345678`` where the 32 hexadecimal digits "
"represent the UUID."
msgstr ""
"``str(uuid)`` renvoie une chaîne de caractères de la forme "
"``12345678-1234-5678-1234-567812345678`` représentant l'UUID par une chaîne "
"de 32 chiffres hexadécimaux."
#: ../Doc/library/uuid.rst:79
msgid ":class:`UUID` instances have these read-only attributes:"
msgstr ""
"Les instances de :class:`UUID` possèdent les attributs suivants en lecture "
"seule :"
#: ../Doc/library/uuid.rst:83
msgid ""
"The UUID as a 16-byte string (containing the six integer fields in big-"
"endian byte order)."
msgstr ""
"L'UUID représenté comme une chaîne de 16 octets (contenant les six champs "
"entiers dans l'ordre gros-boutiste)."
#: ../Doc/library/uuid.rst:89
msgid ""
"The UUID as a 16-byte string (with *time_low*, *time_mid*, and "
"*time_hi_version* in little-endian byte order)."
msgstr ""
"L'UUID représenté comme une chaîne de 16 octets (avec *time_low*, *time_mid* "
"et *time_hi_version* dans l'ordre petit-boutiste)."
#: ../Doc/library/uuid.rst:95
msgid ""
"A tuple of the six integer fields of the UUID, which are also available as "
"six individual attributes and two derived attributes:"
msgstr ""
"Un n-uplet contenant les six champs entiers de l'UUID, également accessibles "
"en tant que six attributs individuels et deux attributs dérivés :"
#: ../Doc/library/uuid.rst:99
msgid "Field"
msgstr ""
msgstr "Champ"
#: ../Doc/library/uuid.rst:99
msgid "Meaning"
@ -131,7 +178,7 @@ msgstr ":attr:`time_low`"
#: ../Doc/library/uuid.rst:101
msgid "the first 32 bits of the UUID"
msgstr ""
msgstr "les 32 premiers bits de l'UUID"
#: ../Doc/library/uuid.rst:103
msgid ":attr:`time_mid`"
@ -139,7 +186,7 @@ msgstr ":attr:`time_mid`"
#: ../Doc/library/uuid.rst:103 ../Doc/library/uuid.rst:105
msgid "the next 16 bits of the UUID"
msgstr ""
msgstr "les 16 bits suivants de l'UUID"
#: ../Doc/library/uuid.rst:105
msgid ":attr:`time_hi_version`"
@ -151,7 +198,7 @@ msgstr ":attr:`clock_seq_hi_variant`"
#: ../Doc/library/uuid.rst:107 ../Doc/library/uuid.rst:109
msgid "the next 8 bits of the UUID"
msgstr ""
msgstr "les 8 bits suivants de l'UUID"
#: ../Doc/library/uuid.rst:109
msgid ":attr:`clock_seq_low`"
@ -163,7 +210,7 @@ msgstr ":attr:`node`"
#: ../Doc/library/uuid.rst:111
msgid "the last 48 bits of the UUID"
msgstr ""
msgstr "les derniers 48 bits de l'UUID"
#: ../Doc/library/uuid.rst:113
msgid ":attr:`time`"
@ -171,7 +218,7 @@ msgstr ":attr:`time`"
#: ../Doc/library/uuid.rst:113
msgid "the 60-bit timestamp"
msgstr ""
msgstr "l'horodatage sur 60 bits"
#: ../Doc/library/uuid.rst:115
msgid ":attr:`clock_seq`"
@ -179,19 +226,22 @@ msgstr ":attr:`clock_seq`"
#: ../Doc/library/uuid.rst:115
msgid "the 14-bit sequence number"
msgstr ""
msgstr "le numéro de séquence sur 14 bits"
#: ../Doc/library/uuid.rst:121
msgid "The UUID as a 32-character hexadecimal string."
msgstr ""
"Représentation de l'UUID sous forme d'une chaîne de 32 chiffres hexadécimaux."
#: ../Doc/library/uuid.rst:126
msgid "The UUID as a 128-bit integer."
msgstr ""
msgstr "Représentation de l'UUId sous forme d'un entier de 128 bits."
#: ../Doc/library/uuid.rst:131
msgid "The UUID as a URN as specified in :rfc:`4122`."
msgstr ""
"Représentation de l'UUID sous forme d'URN tel que spécifié dans la :rfc:"
"`4122`."
#: ../Doc/library/uuid.rst:136
msgid ""
@ -199,22 +249,30 @@ msgid ""
"will be one of the constants :const:`RESERVED_NCS`, :const:`RFC_4122`, :"
"const:`RESERVED_MICROSOFT`, or :const:`RESERVED_FUTURE`."
msgstr ""
"Variante de l'UUID. Celle-ci détermine l'agencement interne de l'UUID. Les "
"valeurs possibles sont les constantes suivantes : :const:`RESERVED_NCS`, :"
"const:`RFC_4122`, :const:`RESERVED_MICROSOFT` ou :const:`RESERVED_FUTURE`."
#: ../Doc/library/uuid.rst:143
msgid ""
"The UUID version number (1 through 5, meaningful only when the variant is :"
"const:`RFC_4122`)."
msgstr ""
"Numéro de version de l'UUID (de 1 à 5). Cette valeur n'a de sens que dans le "
"cas de la variante :const:`RFC_4122`."
#: ../Doc/library/uuid.rst:148
msgid ""
"An enumeration of :class:`SafeUUID` which indicates whether the platform "
"generated the UUID in a multiprocessing-safe way."
msgstr ""
"Valeur de l'énumération :class:`SafeUUID` indiquant si la plateforme a "
"généré l'UUID d'une façon sûre dans un contexte de parallélisme par "
"processus."
#: ../Doc/library/uuid.rst:153
msgid "The :mod:`uuid` module defines the following functions:"
msgstr ""
msgstr "Le module :mod:`uu` définit les fonctions suivantes :"
#: ../Doc/library/uuid.rst:158
msgid ""
@ -228,6 +286,17 @@ msgid ""
"least significant bit of the first octet is *unset*) will be preferred over "
"locally administered MAC addresses, but with no other ordering guarantees."
msgstr ""
"Renvoie l'adresse réseau matérielle sous forme d'un entier positif sur 48 "
"bits. Cette fonction peut faire appel à un programme externe relativement "
"lent lors de sa première exécution. Si toutes les tentatives d'obtenir "
"l'adresse matérielle échouent, un nombre aléatoire sur 48 bit avec le bit de "
"*multicast* (bit de poids faible du premier octet) à 1 est généré, comme "
"recommandé par la :rfc:`4122`. Ici, « adresse matérielle » correspond à "
"l'adresse MAC d'une interface réseau. Sur une machine avec plusieurs "
"interfaces réseau, les adresses MAC de type UUA (*universally administered "
"address*, pour lesquelles le second bit de poids faible est à zéro) sont "
"prioritaires par rapport aux autres adresses MAC. Aucune autre garantie "
"n'est donnée sur l'ordre dans lequel les interfaces sont choisies."
#: ../Doc/library/uuid.rst:168
msgid ""
@ -235,6 +304,8 @@ msgid ""
"administered MAC addresses, since the former are guaranteed to be globally "
"unique, while the latter are not."
msgstr ""
"Les adresses MAC de type UUA sont préférées par rapport aux adresses locales "
"car ces dernières ne sont pas nécessairement uniques."
#: ../Doc/library/uuid.rst:178
msgid ""
@ -243,80 +314,103 @@ msgid ""
"If *clock_seq* is given, it is used as the sequence number; otherwise a "
"random 14-bit sequence number is chosen."
msgstr ""
"Génère un UUID à partir d'un identifiant hôte, d'un numéro de séquence et de "
"l'heure actuelle. Si *node* n'est pas spécifié, la fonction :func:`getnode` "
"est appelée pour obtenir l'adresse matérielle. *clock_seq* est utilisé comme "
"numéro de séquence s'il est spécifié, sinon un numéro aléatoire sur 14 bits "
"est utilisé à la place."
#: ../Doc/library/uuid.rst:188
msgid ""
"Generate a UUID based on the MD5 hash of a namespace identifier (which is a "
"UUID) and a name (which is a string)."
msgstr ""
"Génère un UUID à partir de l'empreinte MD5 de l'identifiant d'un espace de "
"nom (un UUID) et d'un nom (une chaîne de caractères)."
#: ../Doc/library/uuid.rst:196
msgid "Generate a random UUID."
msgstr ""
msgstr "Génère un UUID aléatoire."
#: ../Doc/library/uuid.rst:203
msgid ""
"Generate a UUID based on the SHA-1 hash of a namespace identifier (which is "
"a UUID) and a name (which is a string)."
msgstr ""
"Génère un UUID à partir de l'empreinte SHA-1 de l'identifiant d'un espace de "
"nom (un UUID) et d'un nom (une chaîne de caractères)."
#: ../Doc/library/uuid.rst:208
msgid ""
"The :mod:`uuid` module defines the following namespace identifiers for use "
"with :func:`uuid3` or :func:`uuid5`."
msgstr ""
"Le module :mod:`uuid` définit les identifiants d'espaces de noms suivants "
"(pour :func:`uuid3` et :func:`uuid5`)."
#: ../Doc/library/uuid.rst:214
msgid ""
"When this namespace is specified, the *name* string is a fully-qualified "
"domain name."
msgstr ""
"Lorsque cet espace de nom est spécifié, la chaîne *name* doit être un nom de "
"domaine pleinement qualifié (souvent indiqué en anglais par *FQDN*)."
#: ../Doc/library/uuid.rst:220
msgid "When this namespace is specified, the *name* string is a URL."
msgstr ""
"Lorsque cet espace de nom est spécifié, la chaîne *name* doit être une URL."
#: ../Doc/library/uuid.rst:225
msgid "When this namespace is specified, the *name* string is an ISO OID."
msgstr ""
"Lorsque cet espace de nom est spécifié, la chaîne *name* doit être un "
"OID ISO."
#: ../Doc/library/uuid.rst:230
msgid ""
"When this namespace is specified, the *name* string is an X.500 DN in DER or "
"a text output format."
msgstr ""
"Lorsque cet espace de nom est spécifié, la chaîne *name* doit être un "
"DN X.500 au format texte ou DER."
#: ../Doc/library/uuid.rst:233
msgid ""
"The :mod:`uuid` module defines the following constants for the possible "
"values of the :attr:`variant` attribute:"
msgstr ""
"Le module :mod:`uuid` définit les constantes suivantes correspondant aux "
"valeurs autorisées pour l'attribut :attr:`variant` :"
#: ../Doc/library/uuid.rst:239
msgid "Reserved for NCS compatibility."
msgstr ""
msgstr "Réservé pour la compatibilité NCS."
#: ../Doc/library/uuid.rst:244
msgid "Specifies the UUID layout given in :rfc:`4122`."
msgstr ""
msgstr "Utilise l'agencement des UUID de la :rfc:`4122`."
#: ../Doc/library/uuid.rst:249
msgid "Reserved for Microsoft compatibility."
msgstr ""
msgstr "Réservé pour la compatibilité Microsoft."
#: ../Doc/library/uuid.rst:254
msgid "Reserved for future definition."
msgstr ""
msgstr "Réservé pour un usage futur."
#: ../Doc/library/uuid.rst:260
msgid ":rfc:`4122` - A Universally Unique IDentifier (UUID) URN Namespace"
msgstr ""
msgstr ":rfc:`4122` *A Universally Unique IDentifier (UUID) URN Namespace*"
#: ../Doc/library/uuid.rst:260
msgid ""
"This specification defines a Uniform Resource Name namespace for UUIDs, the "
"internal format of UUIDs, and methods of generating UUIDs."
msgstr ""
"Cette spécification (en anglais) définit un espace de noms *Uniform Resource "
"Name* pour les UUID, leur format interne et les méthodes permettant de les "
"générer."
#: ../Doc/library/uuid.rst:267
msgid "Example"
@ -325,3 +419,4 @@ msgstr "Exemple"
#: ../Doc/library/uuid.rst:269
msgid "Here are some examples of typical usage of the :mod:`uuid` module::"
msgstr ""
"Voici quelques exemples classiques d'utilisation du module :mod:`uuid` ::"

View File

@ -125,6 +125,14 @@ msgid ""
"available from Python's project page, located at https://sourceforge.net/"
"projects/python/."
msgstr ""
"Le changement le plus important dans Python 2.0 ne concerne peut-être pas le "
"code, mais le développement de Python : en mai 2000, les développeurs Python "
"ont commencé à utiliser les outils mis à disposition par SourceForge pour "
"stocker le code source, suivre les rapports de bogues et gérer la file "
"dattente des soumissions de correctifs. Pour signaler des bogues ou "
"soumettre des correctifs pour Python 2.0, utilisez les outils de suivi des "
"bogues et de gestion des correctifs disponibles sur la page du projet "
"Python, à ladresse https://sourceforge.net/projects/python/."
#: ../Doc/whatsnew/2.0.rst:66
msgid ""
@ -145,6 +153,25 @@ msgid ""
"access, probably that task would have been viewed as \"nice, but not worth "
"the time and effort needed\" and it would never have gotten done."
msgstr ""
"Le plus important des services maintenant hébergé chez SourceForge est "
"larborescence CVS Python, le référentiel sous contrôle de version contenant "
"le code source de Python. Auparavant, environ 7 personnes avaient un accès "
"en écriture à larborescence CVS et tous les correctifs devaient être "
"inspectés et archivés par lune des personnes figurant sur cette liste "
"restreinte. Évidemment, ce nétait pas très évolutif. En déplaçant "
"larborescence CVS vers SourceForge, il est devenu possible daccorder un "
"accès en écriture à davantage de personnes ; en septembre 2000, 27 personnes "
"pouvaient enregistrer les modifications, soit quatre fois plus. Cela rend "
"possible des modifications à grande échelle qui ne seraient pas tentées si "
"elles devaient être filtrées par le petit groupe de développeurs principaux. "
"Par exemple, un jour, Peter Schneider-Kamp a eu lidée de supprimer la "
"compatibilité K&R C et de convertir le code source C de Python en ANSI C. "
"Après avoir obtenu lapprobation de la liste de diffusion *python-dev*, il "
"sest lancé dans une série darchives qui ont duré environ une semaine, "
"dautres développeurs l'ont rejoint et le travail a été fait. Sil ny avait "
"eut que 5 personnes ayant un accès en écriture, cette tâche aurait "
"probablement été considérée comme « agréable, mais ne valant pas le temps ni "
"les efforts nécessaires » et cela ne se serait jamais fait."
#: ../Doc/whatsnew/2.0.rst:83
msgid ""
@ -160,6 +187,19 @@ msgid ""
"notification e-mail messages that are completely unhelpful, so Ka-Ping Yee "
"wrote an HTML screen-scraper that sends more useful messages."
msgstr ""
"Le passage à lutilisation des services de SourceForge a entraîné une "
"augmentation remarquable du rythme de développement. Les correctifs sont "
"maintenant soumis, commentés, révisés par des personnes autres que lauteur "
"dorigine et échangés entre les personnes jusquà ce que le correctif soit "
"jugé utile. Les bogues sont suivis dans un emplacement central et peuvent "
"être attribués à une personne spécifique pour être corrigés. , et nous "
"pouvons compter le nombre de bogues ouverts pour mesurer les progrès. Cela "
"na pas coûté cher: les développeurs ont désormais plus de courrier "
"électronique à traiter, davantage de listes de diffusion à suivre et des "
"outils spéciaux ont dû être créés pour le nouvel environnement. Par exemple, "
"SourceForge envoie des messages électroniques de correctif et de "
"notification de bogues par défaut qui ne sont daucune utilité, Ka-Ping Yee "
"a donc créé un *scraper* HTML qui envoie des messages plus utiles."
#: ../Doc/whatsnew/2.0.rst:95
msgid ""
@ -175,6 +215,19 @@ msgid ""
"can still ignore the result of a vote, and approve or reject a change even "
"if the community disagrees with him."
msgstr ""
"La facilité dajout de code a provoqué quelques problèmes de croissance "
"initiaux, tels que le code a été archivé avant quil ne soit prêt ou sans "
"laccord clair du groupe de développeurs. Le processus dapprobation qui a "
"émergé est quelque peu similaire à celui utilisé par le groupe Apache. Les "
"développeurs peuvent voter *+1*, *+0*, *-0* ou *-1* sur un patch; *+1* et "
"*-1* indiquent une acceptation ou un rejet, tandis que *+0* et *-0* "
"signifient que le développeur est généralement indifférent au changement, "
"bien quil présente une légère inclinaison positive ou négative. Le "
"changement le plus important par rapport au modèle Apache est que le vote "
"est essentiellement consultatif, permettant à Guido van Rossum, détenteur du "
"statut de « dictateur bienveillant à vie », de connaître lopinion générale. "
"Il peut toujours ignorer le résultat dun vote et approuver ou rejeter un "
"changement même si la communauté nest pas daccord avec lui."
#: ../Doc/whatsnew/2.0.rst:106
msgid ""
@ -197,6 +250,11 @@ msgid ""
"for Python. The PEP should provide a concise technical specification of the "
"feature and a rationale for the feature."
msgstr ""
"PEP signifie *Python Enhancement Proposition*. Une PEP est un document de "
"conception fournissant des informations à la communauté Python ou décrivant "
"une nouvelle fonctionnalité de Python. La PEP devrait fournir une "
"spécification technique concise de la fonctionnalité et une justification de "
"celle-ci."
#: ../Doc/whatsnew/2.0.rst:125
msgid ""
@ -205,6 +263,11 @@ msgid ""
"decisions that have gone into Python. The PEP author is responsible for "
"building consensus within the community and documenting dissenting opinions."
msgstr ""
"Nous souhaitons que les PEP soient les principaux mécanismes permettant de "
"proposer de nouvelles fonctionnalités, de recueillir les commentaires de la "
"communauté sur un problème et de documenter les décisions de conception "
"prises dans Python. Lauteur du PPE est chargé de créer un consensus au sein "
"de la communauté et de documenter les opinions divergentes."
#: ../Doc/whatsnew/2.0.rst:130
msgid ""
@ -227,6 +290,10 @@ msgid ""
"instead of the 8-bit number used by ASCII, meaning that 65,536 distinct "
"characters can be supported."
msgstr ""
"La plus grande nouveauté de Python 2.0 est un nouveau type de données "
"fondamental: les chaînes Unicode. Unicode utilise des nombres à 16 bits pour "
"représenter des caractères au lieu du nombre à 8 bits utilisé par ASCII, ce "
"qui signifie que 65 536 caractères distincts peuvent être pris en charge."
#: ../Doc/whatsnew/2.0.rst:148
msgid ""
@ -237,6 +304,13 @@ msgid ""
"was written up as :pep:`100`, \"Python Unicode Integration\". This article "
"will simply cover the most significant points about the Unicode interfaces."
msgstr ""
"La dernière interface de prise en charge Unicode a été mise au point après "
"de nombreuses discussions souvent houleuses sur la liste de diffusion "
"*python-dev*, et principalement implémentée par Marc-André Lemburg, basée "
"sur une implémentation de type chaîne Unicode de Fredrik Lundh. Une "
"explication détaillée de linterface a été écrite ainsi :pep:"
"`100`, \"Intégration Python Unicode\". Cet article couvrira simplement les "
"points les plus significatifs sur les interfaces Unicode."
#: ../Doc/whatsnew/2.0.rst:155
msgid ""
@ -246,6 +320,13 @@ msgid ""
"The existing ``\\xHHHH`` escape sequence can also be used, and octal escapes "
"can be used for characters up to U+01FF, which is represented by ``\\777``."
msgstr ""
"Dans le code source Python, les chaînes Unicode sont écrites sous la forme "
"``u\"string\"``. Les caractères Unicode arbitraires peuvent être écrits en "
"utilisant une nouvelle séquence d'échappement, ``\\uHHHH``, où *HHHH* est un "
"nombre hexadécimal à 4 chiffres de 0000 à FFFF. La séquence d'échappement ``"
"\\xHHHH`` peut également être utilisée, et les échappements octaux peuvent "
"être utilisés pour les caractères allant jusqu'à U+01FF, représenté par ``"
"\\777``."
#: ../Doc/whatsnew/2.0.rst:161
msgid ""
@ -260,12 +341,27 @@ msgid ""
"installation by calling the ``sys.setdefaultencoding(encoding)`` function in "
"a customized version of :file:`site.py`."
msgstr ""
"Les chaînes Unicode, tout comme les chaînes ordinaires, sont un type de "
"séquence immuable. Ils peuvent être indexés et tranchés, mais pas modifiés "
"en place. Les chaînes Unicode ont une méthode ``encoder([encoding])`` qui "
"renvoie une chaîne de 8 bits dans lencodage souhaité. Les codages sont "
"nommés par des chaînes, telles que ``ascii``, ``utf-8``, "
"``iso-8859-1``, ou autre chose. Une API de codec est définie pour "
"limplémentation et lenregistrement de nouveaux codages disponibles dans "
"tout un programme Python. Si aucun codage nest spécifié, le codage par "
"défaut est généralement du code ASCII 7-bits, bien quil puisse être modifié "
"pour votre installation Python en appelant la fonction ``sys."
"setdefaultencoding (encoding)`` dans une version personnalisée de :file:"
"`site.py`."
#: ../Doc/whatsnew/2.0.rst:172
msgid ""
"Combining 8-bit and Unicode strings always coerces to Unicode, using the "
"default ASCII encoding; the result of ``'a' + u'bc'`` is ``u'abc'``."
msgstr ""
"La combinaison de chaînes 8 bits et Unicode est toujours forcée en Unicode, "
"à laide du codage ASCII par défaut; le résultat de ``a + ubc`` est "
"``uabc``."
#: ../Doc/whatsnew/2.0.rst:175
msgid ""
@ -301,6 +397,14 @@ msgid ""
"errors to be silently ignored and ``'replace'`` uses U+FFFD, the official "
"replacement character, in case of any problems."
msgstr ""
"``unicode(string [, encoding] [, errors] )`` crée une chaîne Unicode à "
"partir dune chaîne de 8 bits. ``encoding`` est une chaîne nommant le codage "
"à utiliser. Le paramètre ``errors`` spécifie le traitement des caractères "
"non valides pour l encodage en cours; en passant ``strict`` comme valeur, "
"une exception est générée pour toute erreur de codage, alors que "
"``ignore`` fait en sorte que les erreurs soient ignorées en silence et que "
"``replace`` utilise U+FFFD, caractère de remplacement officiel, en cas de "
"problème."
#: ../Doc/whatsnew/2.0.rst:192
msgid ""
@ -310,6 +414,12 @@ msgid ""
"built-ins; if you find a built-in function that accepts strings but doesn't "
"accept Unicode strings at all, please report it as a bug.)"
msgstr ""
"Linstruction ``exec`` et divers éléments intégrés tels que ``eval()``, "
"``getattr()`` et ``setattr()`` accepteront également les chaînes Unicode "
"ainsi que les chaînes ordinaires. (Il est possible que le processus de "
"résolution de ce problème ait échappé à certaines fonctions intégrées ; si "
"vous trouvez une fonction intégrée qui accepte les chaînes mais naccepte "
"pas les chaînes Unicode, signalez-la comme un bogue.)"
#: ../Doc/whatsnew/2.0.rst:198
msgid ""
@ -319,6 +429,12 @@ msgid ""
"it's uppercase. ``unicodedata.bidirectional(u'\\u0660')`` returns 'AN', "
"meaning that U+0660 is an Arabic number."
msgstr ""
"Un nouveau module, :mod:`unicodedata`, fournit une interface aux propriétés "
"de caractère Unicode. Par exemple, ``unicodedata.category(u'A')`` renvoie la "
"chaîne de 2 caractères « Lu », le « L » désignant une lettre et « u » "
"signifiant quil sagit dune majuscule. ``unicodedata."
"bidirectional(u'\\u0660')`` renvoie « AN », ce qui signifie que U+0660 est "
"un nombre arabe."
#: ../Doc/whatsnew/2.0.rst:204
msgid ""
@ -327,6 +443,11 @@ msgid ""
"most often use the ``codecs.lookup(encoding)`` function, which returns a 4-"
"element tuple: ``(encode_func, decode_func, stream_reader, stream_writer)``."
msgstr ""
"Le module :mod:`codecs` contient des fonctions pour rechercher les codages "
"existants et en enregistrer de nouveaux. À moins que vous ne souhaitiez "
"implémenter un nouvel encodage, vous utiliserez le plus souvent la fonction "
"``codecs.lookup(encoding)``, qui renvoie un n-uplet à 4 éléments : "
"``(encode_func, decode_func, stream_reader, stream_writer)``."
#: ../Doc/whatsnew/2.0.rst:209
msgid ""
@ -336,6 +457,11 @@ msgid ""
"encoding, and *length* tells you how much of the Unicode string was "
"converted."
msgstr ""
"*encode_func* est une fonction qui prend une chaîne Unicode, et renvoie un n-"
"uplet de longueur 2 ``(string, length)``. *string* est une chaîne de "
"caractères à 8 bits contenant une partie (ou la totalité) de la chaîne "
"Unicode convertie en codage donné, et *length* vous indique le nombre de "
"caractères de la chaîne qui ont été convertis."
#: ../Doc/whatsnew/2.0.rst:214
msgid ""
@ -344,6 +470,11 @@ msgid ""
"Unicode string *ustring* and the integer *length* telling how much of the 8-"
"bit string was consumed."
msgstr ""
"*decode_func* est lopposé de *encode_func*, en prenant une chaîne de "
"caractères à 8 bits et le retour dun n-uplet de longueur 2 ``(ustring, "
"longueur)``, composé de la chaîne Unicode résultante *ustring* et lentier "
"*length* indiquant combien de caractères de la chaîne de caractères à 8 bits "
"ont été consommés."
#: ../Doc/whatsnew/2.0.rst:219
msgid ""
@ -352,6 +483,11 @@ msgid ""
"meth:`readline`, and :meth:`readlines` methods. These methods will all "
"translate from the given encoding and return Unicode strings."
msgstr ""
"*stream_reader* est une classe qui prend en charge le décodage de lentrée "
"dun flux. *stream_reader(file_obj)* renvoie un objet qui prend en charge "
"les méthodes :meth:`read`, :meth:`readline` et :meth:`readlines`. Ces "
"méthodes se traduisent toutes à partir de lencodage donné et retourneront "
"une chaînes de caractère Unicode."
#: ../Doc/whatsnew/2.0.rst:224
msgid ""
@ -360,6 +496,11 @@ msgid ""
"`write` and :meth:`writelines` methods. These methods expect Unicode "
"strings, translating them to the given encoding on output."
msgstr ""
"De même, *stream_writer* est une classe qui prend en charge le codage de "
"sortie dun flux. *stream_writer(file_obj)* renvoie un objet qui prend en "
"charge les méthodes :meth:`write` et :meth:`writelines`. Ces méthodes "
"prennent en entrée des chaînes Unicode, qu'elles renvoient, traduites à "
"l'encodage donné, sur la sortie."
#: ../Doc/whatsnew/2.0.rst:229
msgid ""
@ -391,6 +532,12 @@ msgid ""
"future version of Python may drop support for 8-bit strings and provide only "
"Unicode strings."
msgstr ""
"Une option de ligne de commande ``-U`` a été ajoutée, ce qui fait que le "
"compilateur Python interprète toutes les chaînes de caractères comme des "
"chaînes de caractères Unicode. Ceci est destiné à être utilisé dans les "
"tests et rendre votre code Python compatible avec les versions futures, car "
"une version future de Python peut abandonner la prise en charge des chaînes "
"de caractères 8-bits et fournir uniquement des chaînes de caractères Unicode."
#: ../Doc/whatsnew/2.0.rst:262
msgid "List Comprehensions"
@ -405,6 +552,13 @@ msgid ""
"might want to pull out all the strings containing a given substring, or "
"strip off trailing whitespace from each line."
msgstr ""
"Les listes sont un type de données crucial dans Python, et de nombreux "
"programmes manipulent une liste à un moment donné. Deux opérations communes "
"sur les listes sont de boucler sur elles, soit de choisir les éléments qui "
"répondent à un certain critère, ou dappliquer une certaine fonction à "
"chaque élément. Par exemple, à partir dune liste de chaînes de caractères, "
"vous pouvez retirer toutes les chaînes contenant une sous-chaîne donnée, ou "
"enlever les espaces de chaque ligne."
#: ../Doc/whatsnew/2.0.rst:271
msgid ""
@ -417,6 +571,15 @@ msgid ""
"paragraph, finding all the strings in the list containing a given "
"substring. You could write the following to do it::"
msgstr ""
"Les fonctions existantes :func:`map` et :func:`filter` peuvent être "
"utilisées à cette fin, mais elles nécessitent une fonction en leurs "
"arguments. Cest très bien sil y a une fonction intégrée existante qui "
"peut être passé directement, mais sil ny a pas, vous devez créer une "
"petite fonction pour faire le travail requis, et les règles de portée de "
"Python rendent le résultat laid si la petite fonction a besoin "
"dinformations supplémentaires. Prenons le premier exemple du paragraphe "
"précédent, en trouvant toutes les chaînes de la liste contenant une sous-"
"chaîne donnée. Vous pouvez écrire ce qui suit pour le faire::"
#: ../Doc/whatsnew/2.0.rst:286
msgid ""
@ -424,6 +587,10 @@ msgid ""
"anonymous function created by the :keyword:`lambda` expression knows what "
"substring is being searched for. List comprehensions make this cleaner::"
msgstr ""
"En raison des règles de portée de Python, un argument par défaut est utilisé "
"de sorte que la fonction anonyme créée par lexpression :keyword:`lambda` "
"sait quelle sous-chaîne est recherchée. Les listes en compréhension rendent "
"ceci plus propre :"
#: ../Doc/whatsnew/2.0.rst:292
msgid "List comprehensions have the form::"
@ -439,6 +606,13 @@ msgid ""
"keyword:`!if` clause is optional; if present, *expression* is only evaluated "
"and added to the result if *condition* is true."
msgstr ""
"Le :keyword:`!for`…\\ :keyword:`!in` clauses contiennent les séquences à "
"itérer. Les séquences nont pas à être de la même longueur, parce quelles "
"ne sont *pas* itérées en parallèle, mais de gauche à droite; cela est "
"expliqué plus clairement dans les paragraphes suivants. Les éléments de la "
"liste générée seront les valeurs successives de lexpression. La clause "
"finale :keyword:`!if` clause est facultative ; si présent, l*expression* "
"nest évaluée et ajoutée au résultat que si la *condition* est vraie."
#: ../Doc/whatsnew/2.0.rst:307
msgid ""
@ -455,6 +629,10 @@ msgid ""
"all the sequences. If you have two lists of length 3, the output list is 9 "
"elements long::"
msgstr ""
"Cela signifie que lorsquil y a plusieurs :keyword:`!for`…\\ :keyword:`!in` "
"clauses, la liste résultante sera égale au produit des longueurs de toutes "
"les séquences. Si vous avez deux listes de longueur 3, la liste de sortie "
"est de longueur 9::"
#: ../Doc/whatsnew/2.0.rst:330
msgid ""
@ -462,6 +640,10 @@ msgid ""
"creating a tuple, it must be surrounded with parentheses. The first list "
"comprehension below is a syntax error, while the second one is correct::"
msgstr ""
"Afin de ne pas introduire une ambiguïté dans la grammaire de Python, "
"*expression* doit être encadrée par des parenthèses si elle produit un n-"
"uplet. La première compréhension de liste ci-dessous n'est pas valide "
"syntaxiquement, tandis que la seconde l'est ::"
#: ../Doc/whatsnew/2.0.rst:339
msgid ""
@ -471,10 +653,16 @@ msgid ""
"comprehension patch, which was then discussed for a seemingly endless time "
"on the python-dev mailing list and kept up-to-date by Skip Montanaro."
msgstr ""
"Le concept des liste en compréhension provient à lorigine du langage de "
"programmation fonctionnelle Haskell (https://www.haskell.org). Greg Ewing a "
"plaidé le plus efficacement pour les ajouter à Python et a écrit le patch de "
"compréhension de liste initiale, qui a ensuite été discuté pendant un temps "
"apparemment sans fin sur la liste de diffusion *python-dev* et maintenu à "
"jour par Skip Montanaro."
#: ../Doc/whatsnew/2.0.rst:349
msgid "Augmented Assignment"
msgstr ""
msgstr "Opérateurs daffectation augmentées"
#: ../Doc/whatsnew/2.0.rst:351
msgid ""
@ -484,6 +672,11 @@ msgid ""
"value of the variable ``a`` by 2, equivalent to the slightly lengthier ``a "
"= a + 2``."
msgstr ""
"Les opérateurs daffectation soudées, une autre fonctionnalité demandée "
"depuis longtemps, ont été ajoutés à Python 2.0. Les opérateurs "
"daffectations augmentées comprennent ``+=``, ``-=``, ``*=`` et ainsi de "
"suite. Par exemple, linstruction ``a += 2`` incrémente la valeur de la "
"variable ``a`` par 2, équivalente à lopération ``a = a + 2`` ."
#: ../Doc/whatsnew/2.0.rst:356
msgid ""
@ -494,6 +687,13 @@ msgid ""
"following :class:`Number` class stores a number and supports using += to "
"create a new instance with an incremented value."
msgstr ""
"La liste complète des opérateurs daffectations pris en charge est ``+=``, "
"``-=``, ``*=``, ``/=``, ``%=``, ``**=``, ``&=``, ``|=``, ``^=``, ``>>=``, et "
"``<<=``. Les classes Python peuvent remplacer les opérateurs daffectations "
"augmentées en définissant des méthodes nommées :meth:`__iadd__`, :meth:"
"`__isub__`, etc. Par exemple, la classe :class:`Number` stocke un nombre et "
"prend en charge lutilisation de += en créant une nouvelle instance avec une "
"valeur incrémentée."
#: ../Doc/whatsnew/2.0.rst:377
msgid ""
@ -502,6 +702,10 @@ msgid ""
"value; this return value is bound as the new value of the variable on the "
"left-hand side."
msgstr ""
"La méthode spéciale :meth:`__iadd__` est appelée avec la valeur de "
"lincrément, et doit renvoyer une nouvelle instance avec une valeur "
"correctement modifiée ; cette valeur de rendement est liée comme la nouvelle "
"valeur de la variable sur le côté gauche."
#: ../Doc/whatsnew/2.0.rst:381
msgid ""

View File

@ -882,7 +882,7 @@ msgstr ""
#: ../Doc/whatsnew/2.6.rst:817
msgid "``e``"
msgstr ""
msgstr "``e``"
#: ../Doc/whatsnew/2.6.rst:817
msgid ""

View File

@ -1956,7 +1956,7 @@ msgstr ""
#: ../Doc/whatsnew/2.7.rst:1752
msgid "Here are some examples::"
msgstr ""
msgstr "Voici quelques exemples :"
#: ../Doc/whatsnew/2.7.rst:1763
msgid ""

View File

@ -2729,7 +2729,7 @@ msgstr ""
#: ../Doc/whatsnew/3.2.rst:2432
msgid "Codecs"
msgstr ""
msgstr "Codecs"
#: ../Doc/whatsnew/3.2.rst:2434
msgid "Support was added for *cp720* Arabic DOS encoding (:issue:`1616979`)."

View File

@ -31,7 +31,7 @@ msgstr ""
#: ../Doc/whatsnew/3.3.rst:55
msgid "Summary -- Release highlights"
msgstr ""
msgstr "Résumé Points forts de la publication"
#: ../Doc/whatsnew/3.3.rst:60
msgid "New syntax features:"
@ -215,7 +215,7 @@ msgstr ""
#: ../Doc/whatsnew/3.3.rst:161 ../Doc/whatsnew/3.3.rst:1122
msgid "Features"
msgstr ""
msgstr "Caractéristiques"
#: ../Doc/whatsnew/3.3.rst:163
msgid ""

View File

@ -40,7 +40,7 @@ msgstr ""
#: ../Doc/whatsnew/3.5.rst:58
msgid "Summary -- Release highlights"
msgstr ""
msgstr "Résumé Points forts de la publication"
#: ../Doc/whatsnew/3.5.rst:60
msgid "New syntax features:"

View File

@ -40,7 +40,7 @@ msgstr ""
#: ../Doc/whatsnew/3.6.rst:58
msgid "Summary -- Release highlights"
msgstr ""
msgstr "Résumé Points forts de la publication"
#: ../Doc/whatsnew/3.6.rst:60
msgid "New syntax features:"

View File

@ -20,7 +20,7 @@ msgstr ""
#: ../Doc/whatsnew/3.7.rst:0
msgid "Editor"
msgstr ""
msgstr "Rédacteur"
#: ../Doc/whatsnew/3.7.rst:5
msgid "Elvis Pranskevichus <elvis@magic.io>"