Backporting using pomerge --no-overwrite --to-files *.po */*.po

This commit is contained in:
Julien Palard 2021-06-04 13:52:38 +02:00
parent 1e8d67f3bc
commit 5087de50b2
Signed by: mdk
GPG Key ID: 0EFC1AC1006886F8
53 changed files with 5495 additions and 768 deletions

View File

@ -90,6 +90,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 ""
@ -152,6 +156,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 ""
@ -160,12 +171,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]"
@ -178,12 +196,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 ""
@ -192,6 +217,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
msgid "``z`` (:class:`str` or ``None``) [const char \\*]"
@ -234,6 +264,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 ""
@ -242,12 +274,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]"
@ -308,6 +346,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

@ -75,7 +75,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

@ -157,7 +157,7 @@ msgstr ""
#: ../Doc/c-api/intro.rst:113
msgid "Reference Counts"
msgstr ""
msgstr "Compteurs de références"
#: ../Doc/c-api/intro.rst:115
msgid ""

View File

@ -19,13 +19,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 ""
@ -40,6 +42,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 ""
@ -61,12 +65,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:66
msgid ""
@ -74,6 +84,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:73
msgid ""

View File

@ -384,7 +384,7 @@ msgstr ""
#: ../Doc/c-api/memory.rst:340 ../Doc/c-api/memory.rst:477
msgid "Field"
msgstr ""
msgstr "Champ"
#: ../Doc/c-api/memory.rst:340 ../Doc/c-api/memory.rst:477
msgid "Meaning"

View File

@ -27,6 +27,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 ""
@ -35,12 +38,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 ""
@ -48,6 +57,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 ""
@ -57,6 +68,11 @@ 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 ""
@ -70,6 +86,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

@ -135,7 +135,7 @@ msgstr ""
#: ../Doc/c-api/structures.rst:129 ../Doc/c-api/structures.rst:240
#: ../Doc/c-api/structures.rst:305
msgid "Field"
msgstr ""
msgstr "Champ"
#: ../Doc/c-api/structures.rst:129 ../Doc/c-api/structures.rst:240
#: ../Doc/c-api/structures.rst:305

View File

@ -153,7 +153,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

@ -440,7 +440,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"

View File

@ -452,9 +452,8 @@ msgid ""
"the full name of the extension, including any packages --- ie. *not* a "
"filename or pathname, but Python dotted name"
msgstr ""
"Le nom complet de l'extension, incluant n'importe quel paquet — c-à-d "
"*pas* un nom de fichier ou de chemin mais un nom Python séparé par des "
"points."
"Le nom complet de l'extension, incluant n'importe quel paquet — c-à-d *pas* "
"un nom de fichier ou de chemin mais un nom Python séparé par des points."
#: ../Doc/distutils/apiref.rst:183
msgid "*sources*"

View File

@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/distutils/introduction.rst:5
msgid "An Introduction to Distutils"
msgstr ""
msgstr "Introduction à Distutils"
#: ../Doc/distutils/introduction.rst:7
msgid ""
@ -28,6 +28,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"
@ -40,26 +44,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 ""
@ -73,6 +81,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"
@ -87,22 +105,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 ""
@ -110,12 +139,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 ""
@ -123,6 +157,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 ""
@ -130,12 +167,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 ""
@ -144,6 +186,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 ""
@ -157,6 +204,8 @@ 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 ""
@ -167,6 +216,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 ""
@ -177,12 +233,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 ""
@ -191,6 +256,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 ""
@ -198,16 +268,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 ""
@ -216,6 +291,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"
@ -227,10 +306,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 ""
@ -238,6 +320,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"
@ -253,6 +337,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"
@ -264,6 +355,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"
@ -279,20 +373,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 ""
@ -302,30 +406,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 ""
@ -333,3 +447,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

@ -627,6 +627,10 @@ msgid ""
"`PyInit_name`, where *name* is the name of the module, and should be the "
"only non-\\ ``static`` item defined in the module file::"
msgstr ""
"Cette structure, à son tour, doit être transmise à l'interpréteur dans la "
"fonction d'initialisation du module. La fonction d'initialisation doit être "
"nommée :c:func:`PyInit_name`, où *nom* est le nom du module, et doit être le "
"seul élément non ``static`` défini dans le fichier du module ::"
#: ../Doc/extending/extending.rst:357
msgid ""
@ -634,6 +638,10 @@ msgid ""
"type, declares any special linkage declarations required by the platform, "
"and for C++ declares the function as ``extern \"C\"``."
msgstr ""
"Notez que *PyMODINIT_FUNC* déclare la fonction comme renvoyant un objet de "
"type ``PyObject *``, et déclare également toute déclaration de liaison "
"spéciale requise par la plate-forme, et pour le C++ déclare la fonction "
"comme un C ``extern``."
#: ../Doc/extending/extending.rst:361
msgid ""
@ -656,6 +664,11 @@ msgid ""
"table. To add the module to the initialization table, use :c:func:"
"`PyImport_AppendInittab`, optionally followed by an import of the module::"
msgstr ""
"Lors de l'intégration de Python, la fonction :c:func:`PyInit_spam` n'est pas "
"appelée automatiquement, sauf s'il y a une entrée dans la table :c:data:"
"`PyImport_Inittab`. Pour ajouter le module à la table d'initialisation, "
"utilisez :c:func:`PyImport_AppendInittab`, suivi éventuellement d'une "
"importation du module ::"
#: ../Doc/extending/extending.rst:408
msgid ""
@ -665,6 +678,12 @@ msgid ""
"extension modules. Extension module authors should exercise caution when "
"initializing internal data structures."
msgstr ""
"Supprimer des entrées de ``sys.modules`` ou importer des modules compilés "
"dans plusieurs interpréteurs au sein d'un processus (ou suivre un :c:func:"
"`fork` sans l'intervention d'un :c:func:`exec`) peut créer des problèmes "
"pour certains modules d'extension. Les auteurs de modules d'extension "
"doivent faire preuve de prudence lorsqu'ils initialisent des structures de "
"données internes."
#: ../Doc/extending/extending.rst:414
msgid ""
@ -672,6 +691,9 @@ msgid ""
"distribution as :file:`Modules/xxmodule.c`. This file may be used as a "
"template or simply read as an example."
msgstr ""
"Un exemple de module plus substantiel est inclus dans la distribution des "
"sources Python sous le nom :file:`Modules/xxmodule.c`. Ce fichier peut être "
"utilisé comme modèle ou simplement lu comme exemple."
#: ../Doc/extending/extending.rst:420
msgid ""
@ -680,10 +702,15 @@ msgid ""
"``PyInit_spam``, and creation of the module is left to the import machinery. "
"For details on multi-phase initialization, see :PEP:`489`."
msgstr ""
"Contrairement à notre exemple de ``spam``, ``xxmodule`` utilise une "
"*initialisation multi-phase* (nouveau en Python 3.5), où une structure "
"*PyModuleDef* est renvoyée à partir de ``PyInit_spam``, et la création du "
"module est laissée au mécanisme d'importation. Pour plus de détails sur "
"l'initialisation multi-phase, voir :PEP:`489`."
#: ../Doc/extending/extending.rst:429
msgid "Compilation and Linkage"
msgstr ""
msgstr "Compilation et liaison"
#: ../Doc/extending/extending.rst:431
msgid ""
@ -722,7 +749,7 @@ msgstr ""
#: ../Doc/extending/extending.rst:466
msgid "Calling Python Functions from C"
msgstr ""
msgstr "Appeler des fonctions Python en C"
#: ../Doc/extending/extending.rst:468
msgid ""
@ -761,6 +788,10 @@ msgid ""
"c:func:`PyArg_ParseTuple` function and its arguments are documented in "
"section :ref:`parsetuple`."
msgstr ""
"Cette fonction doit être déclarée en utilisant le drapeau :const:"
"`METH_VARARGS` ; ceci est décrit dans la section :ref:`methodtable`. La "
"fonction :c:func:`PyArg_ParseTuple` et ses arguments sont documentés dans la "
"section :ref:`parsetuple`."
#: ../Doc/extending/extending.rst:517
msgid ""
@ -822,6 +853,16 @@ msgid ""
"simplest way to do this is to call :c:func:`Py_BuildValue`. For example, if "
"you want to pass an integral event code, you might use the following code::"
msgstr ""
"Selon l'interface souhaitée pour la fonction de rappel Python, vous devrez "
"peut-être aussi fournir une liste d'arguments à :c:func:"
"`PyObject_CallObject`. Dans certains cas, la liste d'arguments est également "
"fournie par le programme Python, par l'intermédiaire de la même interface "
"qui a spécifié la fonction de rappel. Elle peut alors être sauvegardée et "
"utilisée de la même manière que l'objet fonction. Dans d'autres cas, vous "
"pouvez avoir à construire un nouveau n-uplet à passer comme liste "
"d'arguments. La façon la plus simple de faire cela est d'appeler :c:func:"
"`Py_BuildValue`. Par exemple, si vous voulez passer un code d'événement "
"intégral, vous pouvez utiliser le code suivant ::"
#: ../Doc/extending/extending.rst:588
msgid ""
@ -837,14 +878,18 @@ msgid ""
"`PyObject_Call`, which supports arguments and keyword arguments. As in the "
"above example, we use :c:func:`Py_BuildValue` to construct the dictionary. ::"
msgstr ""
"Vous pouvez également appeler une fonction avec des arguments nommés en "
"utilisant :c:func:`PyObject_Call`, qui accepte les arguments et les "
"arguments nommés. Comme dans l'exemple ci-dessus, nous utilisons :c:func:"
"`Py_BuildValue` pour construire le dictionnaire. ::"
#: ../Doc/extending/extending.rst:610
msgid "Extracting Parameters in Extension Functions"
msgstr ""
msgstr "Extraire des paramètres dans des fonctions d'extension"
#: ../Doc/extending/extending.rst:614
msgid "The :c:func:`PyArg_ParseTuple` function is declared as follows::"
msgstr ""
msgstr "La fonction :c:func:`PyArg_ParseTuple` est déclarée ainsi ::"
#: ../Doc/extending/extending.rst:618
msgid ""
@ -874,16 +919,17 @@ msgstr ""
#: ../Doc/extending/extending.rst:632
msgid "Some example calls::"
msgstr ""
msgstr "Quelques exemples d'appels ::"
#: ../Doc/extending/extending.rst:702
msgid "Keyword Parameters for Extension Functions"
msgstr ""
msgstr "Paramètres nommés pour des fonctions d'extension"
#: ../Doc/extending/extending.rst:706
msgid ""
"The :c:func:`PyArg_ParseTupleAndKeywords` function is declared as follows::"
msgstr ""
"La fonction :c:func:`PyArg_ParseTupleAndKeywords` est déclarée ainsi ::"
#: ../Doc/extending/extending.rst:711
msgid ""
@ -902,22 +948,29 @@ msgid ""
"parameters passed in which are not present in the *kwlist* will cause :exc:"
"`TypeError` to be raised."
msgstr ""
"Les n-uplets imbriqués ne peuvent pas être traités lorsqu'on utilise des "
"arguments de type mot-clé ! Ceux-ci doivent apparaître dans dans *kwlist*, "
"dans le cas contraire une exception :exc:`TypeError` est levée."
#: ../Doc/extending/extending.rst:727
msgid ""
"Here is an example module which uses keywords, based on an example by Geoff "
"Philbrick (philbrick@hks.com)::"
msgstr ""
"Voici un exemple de module qui utilise des mots-clés, basé sur un exemple de "
"*Geoff Philbrick* (philbrick@hks.com) ::"
#: ../Doc/extending/extending.rst:781
msgid "Building Arbitrary Values"
msgstr ""
msgstr "Créer des valeurs arbitraires"
#: ../Doc/extending/extending.rst:783
msgid ""
"This function is the counterpart to :c:func:`PyArg_ParseTuple`. It is "
"declared as follows::"
msgstr ""
"Cette fonction est le complément de :c:func:`PyArg_ParseTuple`. Elle est "
"déclarée comme suit ::"
#: ../Doc/extending/extending.rst:788
msgid ""
@ -926,6 +979,11 @@ msgid ""
"not output) must not be pointers, just values. It returns a new Python "
"object, suitable for returning from a C function called from Python."
msgstr ""
"Il reconnaît un ensemble d'unités de format similaires à celles reconnues "
"par :c:func:`PyArg_ParseTuple`, mais les arguments (qui sont les données en "
"entrée de fonction, et non de la sortie) ne doivent pas être des pointeurs, "
"mais juste des valeurs. Il renvoie un nouvel objet Python, adapté pour être "
"renvoyé par une fonction C appelée depuis Python."
#: ../Doc/extending/extending.rst:793
msgid ""
@ -943,10 +1001,11 @@ msgstr ""
msgid ""
"Examples (to the left the call, to the right the resulting Python value):"
msgstr ""
"Exemples (à gauche l'appel, à droite la valeur résultante, en Python) :"
#: ../Doc/extending/extending.rst:827
msgid "Reference Counts"
msgstr ""
msgstr "Compteurs de références"
#: ../Doc/extending/extending.rst:829
msgid ""
@ -956,6 +1015,12 @@ msgid ""
"``new`` and ``delete`` are used with essentially the same meaning and we'll "
"restrict the following discussion to the C case."
msgstr ""
"Dans les langages comme le C ou le C++, le développeur est responsable de "
"l'allocation dynamique et de la dés-allocation de la mémoire sur le tas. En "
"C, cela se fait à l'aide des fonctions :c:func:`malloc` et :c:func:`free`. "
"En C++, les opérateurs ``new`` et ``delete`` sont utilisés avec "
"essentiellement la même signification et nous limiterons la discussion "
"suivante au cas du C."
#: ../Doc/extending/extending.rst:835
msgid ""
@ -999,6 +1064,14 @@ msgid ""
"reference to it is deleted. When the counter reaches zero, the last "
"reference to the object has been deleted and the object is freed."
msgstr ""
"Comme Python fait un usage intensif de :c:func:`malloc` et de :c:func:"
"`free`, il a besoin d'une stratégie pour éviter les fuites de mémoire ainsi "
"que l'utilisation de la mémoire libérée. La méthode choisie est appelée :dfn:"
"`reference counting`. Le principe est simple : chaque objet contient un "
"compteur, qui est incrémenté lorsqu'une référence à l'objet est stockée "
"quelque part, et qui est décrémenté lorsqu'une référence à celui-ci est "
"supprimée. Lorsque le compteur atteint zéro, la dernière référence à l'objet "
"a été supprimée et l'objet est libéré."
#: ../Doc/extending/extending.rst:867
msgid ""
@ -1015,6 +1088,19 @@ msgid ""
"garbage collector will be available for C. Until then, we'll have to live "
"with reference counts."
msgstr ""
"Une stratégie alternative est appelée :dfn:`automatic garbage collection` "
"(ramasse-miettes). Parfois, le comptage des références est également appelé "
"stratégie de ramasse-miettes, d'où l'utilisation du terme \"automatique\" "
"pour distinguer les deux. Le grand avantage du ramasse-miettes est que "
"l'utilisateur n'a pas besoin d'appeler :c:func:`free` explicitement. (Un "
"autre avantage important est l'amélioration de la vitesse ou de "
"l'utilisation de la mémoire, ce n'est cependant pas un fait avéré). "
"L'inconvénient est que pour C, il n'y a pas de ramasse-miettes portable "
"proprement-dit, alors que le comptage des références peut être implémenté de "
"façon portable (tant que les fonctions :c:func:`malloc` et :c:func:`free` "
"soient disponibles, ce que la norme C garantit). Peut-être qu'un jour un "
"ramasse-miettes suffisamment portable sera disponible pour C. D'ici là, nous "
"devrons utiliser les compteurs des références."
#: ../Doc/extending/extending.rst:879
msgid ""
@ -1029,6 +1115,18 @@ msgid ""
"in a reference cycle, or referenced from the objects in the cycle, even "
"though there are no further references to the cycle itself."
msgstr ""
"Bien que Python utilise l'implémentation traditionnelle de comptage de "
"référence, il contient également un détecteur de cycles qui fonctionne pour "
"détecter les cycles de référence. Cela permet aux applications d'empêcher la "
"création de références circulaires directes ou indirectes ; ceci sont les "
"faiblesses du ramasse-miettes mis en œuvre en utilisant uniquement le "
"comptage de référence. Les cycles de référence sont constitués d'objets qui "
"contiennent des références (éventuellement indirectes) à eux-mêmes, de sorte "
"que chaque objet du cycle a un comptage de référence qui n'est pas nul. Les "
"implémentations typiques de comptage de référence ne sont pas capables de "
"récupérer la mémoire appartenant à des objets dans un cycle de référence, ou "
"référencés à partir des objets dans le cycle, même s'il n'y a pas d'autres "
"références au cycle lui-même."
#: ../Doc/extending/extending.rst:890
msgid ""
@ -1044,7 +1142,7 @@ msgstr ""
#: ../Doc/extending/extending.rst:904
msgid "Reference Counting in Python"
msgstr ""
msgstr "Comptage de références en Python"
#: ../Doc/extending/extending.rst:906
msgid ""
@ -1056,6 +1154,13 @@ msgid ""
"this purpose (and others), every object also contains a pointer to its type "
"object."
msgstr ""
"Il existe deux macros, ``Py_INCREF(x)`` et ``Py_DECREF(x)``, qui gèrent "
"l'incrémentation et la décrémentation du comptage de référence. :c:func:"
"`Py_DECREF` libère également l'objet lorsque le comptage atteint zéro. Pour "
"plus de flexibilité, il n'appelle pas :c:func:`free` directement — plutôt, "
"il fait un appel à travers un pointeur de fonction dans l'objet :dfn:`type "
"objet` de l'objet. À cette fin (et pour d'autres), chaque objet contient "
"également un pointeur vers son objet type."
#: ../Doc/extending/extending.rst:913
msgid ""
@ -1069,6 +1174,16 @@ msgid ""
"on, store it, or call :c:func:`Py_DECREF`. Forgetting to dispose of an owned "
"reference creates a memory leak."
msgstr ""
"La grande question demeure maintenant : quand utiliser ``Py_INCREF(x)`` et "
"``Py_DECREF(x)`` ? Commençons par définir quelques termes. Personne ne "
"possède un objet, mais vous pouvez en :dfn:`avoir une référence`. Le "
"comptage de références d'un objet est maintenant défini comme étant le "
"nombre de références à cet objet. Le propriétaire d'une référence est "
"responsable d'appeler :c:func:`Py_DECREF` lorsque la référence n'est plus "
"nécessaire. La propriété d'une référence peut être transférée. Il y a trois "
"façons de disposer d'une référence : la transmettre, la stocker, ou appeler :"
"c:func:`Py_DECREF`. Oublier de se débarrasser d'une référence crée une fuite "
"de mémoire."
#: ../Doc/extending/extending.rst:922
msgid ""
@ -1089,6 +1204,14 @@ msgid ""
"code a borrowed reference can be used after the owner from which it was "
"borrowed has in fact disposed of it."
msgstr ""
"L'avantage d'emprunter, plutôt qu'être propriétaire d'une référence est que "
"vous n'avez pas à vous soucier de disposer de la référence sur tous les "
"chemins possibles dans le code — en d'autres termes, avec une référence "
"empruntée, vous ne courez pas le risque de fuites lors d'une sortie "
"prématurée. L'inconvénient de l'emprunt par rapport à la possession est "
"qu'il existe certaines situations subtiles où, dans un code apparemment "
"correct, une référence empruntée peut être utilisée après que le "
"propriétaire auquel elle a été empruntée l'a en fait éliminée."
#: ../Doc/extending/extending.rst:936
msgid ""
@ -1101,7 +1224,7 @@ msgstr ""
#: ../Doc/extending/extending.rst:946
msgid "Ownership Rules"
msgstr ""
msgstr "Règles concernant la propriété de références"
#: ../Doc/extending/extending.rst:948
msgid ""
@ -1109,6 +1232,10 @@ msgid ""
"of the function's interface specification whether ownership is transferred "
"with the reference or not."
msgstr ""
"Chaque fois qu'une référence d'objet est passée à l'intérieur ou à "
"l'extérieur d'une fonction, elle fait partie de la spécification de "
"l'interface de la fonction, peu importe que la propriété soit transférée "
"avec la référence ou non."
#: ../Doc/extending/extending.rst:952
msgid ""
@ -1168,7 +1295,7 @@ msgstr ""
#: ../Doc/extending/extending.rst:993
msgid "Thin Ice"
msgstr ""
msgstr "Terrain dangereux"
#: ../Doc/extending/extending.rst:995
msgid ""
@ -1177,6 +1304,10 @@ msgid ""
"invocations of the interpreter, which can cause the owner of a reference to "
"dispose of it."
msgstr ""
"Il existe quelques situations où l'utilisation apparemment inoffensive d'une "
"référence empruntée peut entraîner des problèmes. Tous ces problèmes sont en "
"lien avec des invocations implicites de linterpréteur, et peuvent amener le "
"propriétaire d'une référence à s'en défaire."
#: ../Doc/extending/extending.rst:999
msgid ""
@ -1184,6 +1315,9 @@ msgid ""
"on an unrelated object while borrowing a reference to a list item. For "
"instance::"
msgstr ""
"Le premier cas, et le plus important à connaître, est celui de l'application "
"de :c:func:`Py_DECREF` à un objet non relié, tout en empruntant une "
"référence à un élément de liste. Par exemple ::"
#: ../Doc/extending/extending.rst:1011
msgid ""
@ -1191,6 +1325,9 @@ msgid ""
"``list[1]`` with the value ``0``, and finally prints the borrowed reference. "
"Looks harmless, right? But it's not!"
msgstr ""
"Cette fonction emprunte d'abord une référence à ``list[0]``, puis remplace "
"``list[1]`` par la valeur ``0``, et enfin affiche la référence empruntée. "
"Ça a l'air inoffensif, n'est-ce pas ? Mais ce n'est pas le cas !"
#: ../Doc/extending/extending.rst:1015
msgid ""
@ -1201,6 +1338,13 @@ msgid ""
"defined a :meth:`__del__` method. If this class instance has a reference "
"count of 1, disposing of it will call its :meth:`__del__` method."
msgstr ""
"Suivons le flux de contrôle dans :c:func:`PyList_SetItem`. La liste possède "
"des références à tous ses éléments, donc quand l'élément 1 est remplacé, "
"elle doit se débarrasser de l'élément 1 original. Supposons maintenant que "
"l'élément 1 original était une instance d'une classe définie par "
"l'utilisateur, et supposons en outre que la classe définisse une méthode :"
"meth:`__del__`. Si l'instance de cette classe a un nombre des références de "
"1, sa destruction appellera sa méthode :meth:`__del__`."
#: ../Doc/extending/extending.rst:1022
msgid ""
@ -1212,6 +1356,13 @@ msgid ""
"this was the last reference to that object, it would free the memory "
"associated with it, thereby invalidating ``item``."
msgstr ""
"Comme elle est écrite en Python, la méthode :meth:`__del__` peut exécuter du "
"code Python arbitraire. Pourrait-elle faire quelque chose pour invalider la "
"référence à ``item`` dans :c:func:`bug` ? Bien sûr ! En supposant que la "
"liste passée dans :c:func:`bug` est accessible à la méthode :meth:`__del__`, "
"elle pourrait exécuter une instruction à l'effet de ``del list[0]``, et en "
"supposant que ce soit la dernière référence à cet objet, elle libérerait la "
"mémoire qui lui est associée, invalidant ainsi ``item``."
#: ../Doc/extending/extending.rst:1030
msgid ""
@ -1238,10 +1389,20 @@ msgid ""
"complete. Obviously, the following function has the same problem as the "
"previous one::"
msgstr ""
"Le deuxième cas de problèmes liés à une référence empruntée est une variante "
"impliquant des fils de discussion. Normalement, plusieurs threads dans "
"l'interpréteur Python ne peuvent pas se gêner mutuellement, car il existe un "
"verrou global protégeant tout l'espace objet de Python. Cependant, il est "
"possible de libérer temporairement ce verrou en utilisant la macro :c:macro:"
"`Py_BEGIN_ALLOW_THREADS`, et de le ré-acquérir en utilisant :c:macro:"
"`Py_END_ALLOW_THREADS`. Ceci est un procédé courant pour bloquer les appels "
"d'entrées/sorties, afin de permettre aux autres threads d'utiliser le "
"processeur en attendant que les E/S soient terminées. Évidemment, la "
"fonction suivante a le même problème que la précédente ::"
#: ../Doc/extending/extending.rst:1071
msgid "NULL Pointers"
msgstr ""
msgstr "Pointeurs ``NULL``"
#: ../Doc/extending/extending.rst:1073
msgid ""
@ -1293,7 +1454,7 @@ msgstr ""
#: ../Doc/extending/extending.rst:1110
msgid "Writing Extensions in C++"
msgstr ""
msgstr "Écrire des extensions en C++"
#: ../Doc/extending/extending.rst:1112
msgid ""
@ -1307,10 +1468,21 @@ msgid ""
"`` --- they use this form already if the symbol ``__cplusplus`` is defined "
"(all recent C++ compilers define this symbol)."
msgstr ""
"C'est possible d'écrire des modules d'extension en C++, mais sous certaines "
"conditions. Si le programme principal (l'interpréteur Python) est compilé et "
"lié par le compilateur C, les objets globaux ou statiques avec les "
"constructeurs ne peuvent pas être utilisés. Ceci n'est pas un problème si le "
"programme principal est relié par le compilateur C++. Les fonctions qui "
"seront appelées par l'interpréteur Python (en particulier, les fonctions "
"d'initialisation des modules) doivent être déclarées en utilisant ``extern "
"\"C\"``. Il n'est pas nécessaire d'inclure les fichiers d'en-tête Python "
"dans le ``extern \"C\" {…}``, car ils utilisent déjà ce format si le symbole "
"``__cplusplus`` est défini (tous les compilateurs C++ récents définissent ce "
"symbole)."
#: ../Doc/extending/extending.rst:1126
msgid "Providing a C API for an Extension Module"
msgstr ""
msgstr "Fournir une API en langage C pour un module d'extension"
#: ../Doc/extending/extending.rst:1131
msgid ""
@ -1322,6 +1494,15 @@ msgid ""
"create and manipulate lists, this new collection type should have a set of C "
"functions for direct manipulation from other extension modules."
msgstr ""
"De nombreux modules d'extension fournissent simplement de nouvelles "
"fonctions et de nouveaux types à utiliser à partir de Python, mais parfois "
"le code d'un module d'extension peut être utile pour d'autres modules "
"d'extension. Par exemple, un module d'extension peut mettre en œuvre un type "
"\"collection\" qui fonctionne comme des listes sans ordre. Tout comme le "
"type de liste Python standard possède une API C qui permet aux modules "
"d'extension de créer et de manipuler des listes, ce nouveau type de "
"collection devrait posséder un ensemble de fonctions C pour une manipulation "
"directe à partir d'autres modules d'extension."
#: ../Doc/extending/extending.rst:1139
msgid ""
@ -1338,6 +1519,20 @@ msgid ""
"if symbols are globally visible, the module whose functions one wishes to "
"call might not have been loaded yet!"
msgstr ""
"À première vue, cela semble facile : il suffit d'écrire les fonctions (sans "
"les déclarer \"statiques\", bien sûr), de fournir un fichier d'en-tête "
"approprié et de documenter l'API C. Et en fait, cela fonctionnerait si tous "
"les modules d'extension étaient toujours liés statiquement avec "
"l'interpréteur Python. Cependant, lorsque les modules sont utilisés comme "
"des bibliothèques partagées, les symboles définis dans un module peuvent ne "
"pas être visibles par un autre module. Les détails de la visibilité "
"dépendent du système d'exploitation ; certains systèmes utilisent un espace "
"de noms global pour l'interpréteur Python et tous les modules d'extension "
"(Windows, par exemple), tandis que d'autres exigent une liste explicite des "
"symboles importés au moment de la liaison des modules (AIX en est un "
"exemple), ou offrent un choix de stratégies différentes (la plupart des "
"*Unix*). Et même si les symboles sont globalement visibles, le module dont "
"on souhaite appeler les fonctions n'est peut-être pas encore chargé !"
#: ../Doc/extending/extending.rst:1151
msgid ""
@ -1348,6 +1543,14 @@ msgid ""
"section :ref:`methodtable`). And it means that symbols that *should* be "
"accessible from other extension modules must be exported in a different way."
msgstr ""
"La portabilité exige donc de ne faire aucune supposition sur la visibilité "
"des symboles. Cela signifie que tous les symboles des modules d'extension "
"doivent être déclarés ``static``, à l'exception de la fonction "
"d'initialisation du module, afin d'éviter les conflits de noms avec les "
"autres modules d'extension (comme discuté dans la section :ref:"
"`methodtable`). Et cela signifie que les symboles qui *devraient* être "
"accessibles à partir d'autres modules d'extension doivent être exportés "
"d'une manière différente."
#: ../Doc/extending/extending.rst:1158
msgid ""
@ -1370,6 +1573,13 @@ msgid ""
"distributed in different ways between the module providing the code and the "
"client modules."
msgstr ""
"Il existe de nombreuses façons d'utiliser les Capsules pour exporter l'API C "
"d'un module d'extension. Chaque fonction peut obtenir sa propre Capsule, ou "
"tous les pointeurs de l'API C peuvent être stockés dans un tableau dont "
"l'adresse est inscrite dans une Capsule. Et les différentes tâches de "
"stockage et de récupération des pointeurs peuvent être réparties de "
"différentes manières entre le module fournissant le code et les modules "
"clients."
#: ../Doc/extending/extending.rst:1172
msgid ""
@ -1405,6 +1615,14 @@ msgid ""
"takes care of importing the module and retrieving its C API pointers; client "
"modules only have to call this macro before accessing the C API."
msgstr ""
"L'exemple suivant montre une approche qui fait peser la plus grande partie "
"de la charge sur le rédacteur du module d'exportation, ce qui est approprié "
"pour les modules de bibliothèque couramment utilisés. Il stocke tous les "
"pointeurs de l'API C (un seul dans l'exemple !) dans un tableau de "
"pointeurs :c:type:`void` qui devient la valeur d'une Capsule. Le fichier "
"d'en-tête correspondant au module fournit une macro qui se charge d'importer "
"le module et de récupérer ses pointeurs d'API C. Les modules clients n'ont "
"qu'à appeler cette macro avant d'accéder à l'API C."
#: ../Doc/extending/extending.rst:1197
msgid ""
@ -1415,6 +1633,13 @@ msgid ""
"complicated in reality (such as adding \"spam\" to every command). This "
"function :c:func:`PySpam_System` is also exported to other extension modules."
msgstr ""
"Le module d'exportation est une modification du module :mod:`spam` de la "
"section :ref:`extending-simpleexample`. La fonction :func:`spam.system` "
"n'appelle pas directement la fonction de la bibliothèque C :c:func:`system`, "
"mais une fonction :c:func:`PySpam_System`, qui ferait bien sûr quelque chose "
"de plus compliqué en réalité (comme ajouter du *spam* à chaque commande). "
"Cette fonction :c:func:`PySpam_System` est également exportée vers d'autres "
"modules d'extension."
#: ../Doc/extending/extending.rst:1204
msgid ""
@ -1424,15 +1649,15 @@ msgstr ""
#: ../Doc/extending/extending.rst:1213
msgid "The function :c:func:`spam_system` is modified in a trivial way::"
msgstr ""
msgstr "La fonction :c:func:`spam_system` est modifiée de manière simple ::"
#: ../Doc/extending/extending.rst:1227
msgid "In the beginning of the module, right after the line ::"
msgstr ""
msgstr "Au début du module, immédiatement après la ligne ::"
#: ../Doc/extending/extending.rst:1231
msgid "two more lines must be added::"
msgstr ""
msgstr "on doit ajouter deux lignes supplémentaires ::"
#: ../Doc/extending/extending.rst:1236
msgid ""
@ -1441,18 +1666,26 @@ msgid ""
"initialization function must take care of initializing the C API pointer "
"array::"
msgstr ""
"L'indicateur ``#define`` est utilisé pour indiquer au fichier d'en-tête "
"qu'il est inclus dans le module d'exportation, et non dans un module client. "
"Enfin, la fonction d'initialisation du module doit prendre en charge "
"l'initialisation du tableau de pointeurs de l'API C ::"
#: ../Doc/extending/extending.rst:1262
msgid ""
"Note that ``PySpam_API`` is declared ``static``; otherwise the pointer array "
"would disappear when :func:`PyInit_spam` terminates!"
msgstr ""
"Notez que ``PySpam_API`` est déclaré ``static`` ; sinon le tableau de "
"pointeurs disparaîtrait lorsque :func:`PyInit_spam`` se finit !"
#: ../Doc/extending/extending.rst:1265
msgid ""
"The bulk of the work is in the header file :file:`spammodule.h`, which looks "
"like this::"
msgstr ""
"L'essentiel du travail se trouve dans le fichier d'en-tête :file:`spammodule."
"h`, qui ressemble à ceci ::"
#: ../Doc/extending/extending.rst:1316
msgid ""
@ -1460,6 +1693,9 @@ msgid ""
"func:`PySpam_System` is to call the function (or rather macro) :c:func:"
"`import_spam` in its initialization function::"
msgstr ""
"Tout ce qu'un module client doit faire pour avoir accès à la fonction :c:"
"func:`PySpam_System` est d'appeler la fonction (ou plutôt la macro) :c:func:"
"`import_spam` dans sa fonction d'initialisation ::"
#: ../Doc/extending/extending.rst:1334
msgid ""
@ -1467,6 +1703,10 @@ msgid ""
"is rather complicated. However, the basic structure is the same for each "
"function that is exported, so it has to be learned only once."
msgstr ""
"Le principal inconvénient de cette approche est que le fichier :file:"
"`spammodule.h` est assez compliqué. Cependant, la structure de base est la "
"même pour chaque fonction exportée, ce qui fait qu'elle ne doit être apprise "
"qu'une seule fois."
#: ../Doc/extending/extending.rst:1338
msgid ""
@ -1477,6 +1717,13 @@ msgid ""
"Capsules (files :file:`Include/pycapsule.h` and :file:`Objects/pycapsule.c` "
"in the Python source code distribution)."
msgstr ""
"Enfin, il convient de mentionner que Capsules offrent des fonctionnalités "
"supplémentaires, qui sont particulièrement utiles pour l'allocation de la "
"mémoire et la dés-allocation du pointeur stocké dans un objet Capsule. Les "
"détails sont décrits dans le manuel de référence de l'API Python/C dans la "
"section :ref:`capsules` et dans l'implémentation des Capsules (fichiers :"
"file:`Include/pycapsule.h` et :file:`Objects/pycapsule.c` dans la "
"distribution du code source Python)."
#: ../Doc/extending/extending.rst:1346
msgid "Footnotes"
@ -1487,12 +1734,16 @@ msgid ""
"An interface for this function already exists in the standard module :mod:"
"`os` --- it was chosen as a simple and straightforward example."
msgstr ""
"Une interface pour cette fonction existe déjà dans le module standard :mod:"
"`os`, elle a été choisie comme un exemple simple et direct."
#: ../Doc/extending/extending.rst:1350
msgid ""
"The metaphor of \"borrowing\" a reference is not completely correct: the "
"owner still has a copy of the reference."
msgstr ""
"L'expression « emprunter une référence » n'est pas tout à fait correcte, car "
"le propriétaire a toujours une copie de la référence."
#: ../Doc/extending/extending.rst:1353
msgid ""
@ -1500,9 +1751,15 @@ msgid ""
"reference count itself could be in freed memory and may thus be reused for "
"another object!"
msgstr ""
"Vérifier que le comptage de référence est d'au moins 1 **ne fonctionne "
"pas**, le compte de référence lui-même pourrait être en mémoire libérée et "
"peut donc être réutilisé pour un autre objet !"
#: ../Doc/extending/extending.rst:1357
msgid ""
"These guarantees don't hold when you use the \"old\" style calling "
"convention --- this is still found in much existing code."
msgstr ""
"Ces garanties ne sont pas valables lorsqu'on emploie les conventions de "
"nommage anciennes, qu'on retrouve encore assez souvent dans beaucoup de code "
"existant."

View File

@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/extending/newtypes.rst:5
msgid "Defining Extension Types: Assorted Topics"
msgstr ""
msgstr "Définir les types d'extension : divers sujets"
#: ../Doc/extending/newtypes.rst:9
msgid ""
@ -71,16 +71,21 @@ msgid ""
"Here you can put a string (or its address) that you want returned when the "
"Python script references ``obj.__doc__`` to retrieve the doc string."
msgstr ""
"Ici vous pouvez mettre une chaîne (ou son adresse) que vous voulez renvoyer "
"lorsque le script Python référence ``obj.__doc__`` pour récupérer le "
"*docstring*."
#: ../Doc/extending/newtypes.rst:47
msgid ""
"Now we come to the basic type methods -- the ones most extension types will "
"implement."
msgstr ""
"Nous en arrivons maintenant aux méthodes de type basiques -- celles que la "
"plupart des types d'extension mettront en œuvre."
#: ../Doc/extending/newtypes.rst:52
msgid "Finalization and De-allocation"
msgstr ""
msgstr "Finalisation et de-allocation"
#: ../Doc/extending/newtypes.rst:64
msgid ""
@ -128,11 +133,11 @@ msgstr ""
#: ../Doc/extending/newtypes.rst:134
msgid ":pep:`442` explains the new finalization scheme."
msgstr ""
msgstr ":pep:`442` explique le nouveau schéma de finalisation."
#: ../Doc/extending/newtypes.rst:141
msgid "Object Presentation"
msgstr ""
msgstr "Présentation de l'objet"
#: ../Doc/extending/newtypes.rst:143
msgid ""
@ -168,11 +173,11 @@ msgstr ""
#: ../Doc/extending/newtypes.rst:174
msgid "Here is a simple example::"
msgstr ""
msgstr "Voici un exemple simple ::"
#: ../Doc/extending/newtypes.rst:186
msgid "Attribute Management"
msgstr ""
msgstr "Gestion des attributs"
#: ../Doc/extending/newtypes.rst:188
msgid ""
@ -206,7 +211,7 @@ msgstr ""
#: ../Doc/extending/newtypes.rst:217
msgid "Generic Attribute Management"
msgstr ""
msgstr "Gestion des attributs génériques"
#: ../Doc/extending/newtypes.rst:219
msgid ""
@ -219,6 +224,8 @@ msgid ""
"The name of the attributes must be known when :c:func:`PyType_Ready` is "
"called."
msgstr ""
"Le nom des attributs doivent être déjà connus lorsqu'on lance :c:func:"
"`PyType_Ready`."
#: ../Doc/extending/newtypes.rst:225
msgid ""
@ -247,6 +254,7 @@ msgstr ""
#: ../Doc/extending/newtypes.rst:239
msgid "The tables are declared as three fields of the type object::"
msgstr ""
"Les tables sont déclarées sous la forme de trois champs de type objet ::"
#: ../Doc/extending/newtypes.rst:245
msgid ""
@ -298,35 +306,35 @@ msgstr "Signification"
#: ../Doc/extending/newtypes.rst:286
msgid ":const:`READONLY`"
msgstr ""
msgstr ":const:`READONLY`"
#: ../Doc/extending/newtypes.rst:286
msgid "Never writable."
msgstr ""
msgstr "Jamais disponible en écriture."
#: ../Doc/extending/newtypes.rst:288
msgid ":const:`READ_RESTRICTED`"
msgstr ""
msgstr ":const:`READ_RESTRICTED`"
#: ../Doc/extending/newtypes.rst:288
msgid "Not readable in restricted mode."
msgstr ""
msgstr "Non disponible en lecture, dans le mode restreint."
#: ../Doc/extending/newtypes.rst:290
msgid ":const:`WRITE_RESTRICTED`"
msgstr ""
msgstr ":const:`WRITE_RESTRICTED`"
#: ../Doc/extending/newtypes.rst:290
msgid "Not writable in restricted mode."
msgstr ""
msgstr "Non disponible en écriture dans le mode restreint."
#: ../Doc/extending/newtypes.rst:292
msgid ":const:`RESTRICTED`"
msgstr ""
msgstr ":const:`RESTRICTED`"
#: ../Doc/extending/newtypes.rst:292
msgid "Not readable or writable in restricted mode."
msgstr ""
msgstr "Non disponible en lecture ou écriture, en mode restreint."
#: ../Doc/extending/newtypes.rst:301
msgid ""
@ -337,6 +345,13 @@ msgid ""
"the descriptor from the class object, and get the doc string using its :attr:"
"`__doc__` attribute."
msgstr ""
"Un avantage intéressant de l'utilisation de la table :c:member:"
"`~PyTypeObject.tp_members` pour construire les descripteurs qui sont "
"utilisés à l'exécution, est que à tout attribut défini de cette façon on "
"peut associer un *docstring*, en écrivant simplement le texte dans la table. "
"Une application peut utiliser l'API d'introspection pour récupérer le "
"descripteur de l'objet de classe, et utiliser son attribut :attr:`__doc__` "
"pour renvoyer le *docstring*."
#: ../Doc/extending/newtypes.rst:307
msgid ""
@ -346,7 +361,7 @@ msgstr ""
#: ../Doc/extending/newtypes.rst:321
msgid "Type-specific Attribute Management"
msgstr ""
msgstr "Gestion des attributs de type spécifiques"
#: ../Doc/extending/newtypes.rst:323
msgid ""
@ -382,7 +397,7 @@ msgstr ""
#: ../Doc/extending/newtypes.rst:365
msgid "Object Comparison"
msgstr ""
msgstr "Comparaison des objets"
#: ../Doc/extending/newtypes.rst:371
msgid ""
@ -411,7 +426,7 @@ msgstr ""
#: ../Doc/extending/newtypes.rst:414
msgid "Abstract Protocol Support"
msgstr ""
msgstr "Support pour le protocole abstrait"
#: ../Doc/extending/newtypes.rst:416
msgid ""
@ -469,7 +484,7 @@ msgstr ""
#: ../Doc/extending/newtypes.rst:470
msgid "This function takes three arguments:"
msgstr ""
msgstr "Cette fonction prend trois arguments :"
#: ../Doc/extending/newtypes.rst:472
msgid ""
@ -494,7 +509,7 @@ msgstr ""
#: ../Doc/extending/newtypes.rst:484
msgid "Here is a toy ``tp_call`` implementation::"
msgstr ""
msgstr "Ceci est une implémentation ``tp_call`` très simple ::"
#: ../Doc/extending/newtypes.rst:510
msgid ""
@ -512,6 +527,10 @@ msgid ""
"tp_iter` handler, which must return an :term:`iterator` object. Here the "
"same guidelines apply as for Python classes:"
msgstr ""
"Tout objet :term:`iterable` doit implémenter le gestionnaire :c:member:"
"`~PyTypeObject.tp_iter`, qui doit renvoyer un objet de type :term:"
"`iterator`. Ici, les mêmes directives s'appliquent de la même façon que "
"pour les classes *Python* :"
#: ../Doc/extending/newtypes.rst:521
msgid ""
@ -519,6 +538,9 @@ msgid ""
"independent iterators, a new iterator should be created and returned by each "
"call to :c:member:`~PyTypeObject.tp_iter`."
msgstr ""
"Pour les collections (telles que les listes et les n-uplets) qui peuvent "
"implémenter plusieurs itérateurs indépendants, un nouvel itérateur doit être "
"créé et renvoyé par chaque appel de type :c:member:`~PyTypeObject.tp_iter`."
#: ../Doc/extending/newtypes.rst:524
msgid ""
@ -544,7 +566,7 @@ msgstr ""
#: ../Doc/extending/newtypes.rst:545
msgid "Weak Reference Support"
msgstr ""
msgstr "Prise en charge de la référence faible"
#: ../Doc/extending/newtypes.rst:547
msgid ""
@ -552,16 +574,22 @@ msgid ""
"type to participate in the weak reference mechanism without incurring the "
"overhead on performance-critical objects (such as numbers)."
msgstr ""
"L'un des objectifs de l'implémentation de la référence faible de *Python* "
"est de permettre à tout type d'objet de participer au mécanisme de référence "
"faible sans avoir à supporter le surcoût de la performance critique des "
"certains objets, tels que les nombres."
#: ../Doc/extending/newtypes.rst:552
msgid "Documentation for the :mod:`weakref` module."
msgstr ""
msgstr "Documentation pour le module :mod:`weakref`."
#: ../Doc/extending/newtypes.rst:554
msgid ""
"For an object to be weakly referencable, the extension type must do two "
"things:"
msgstr ""
"Pour qu'un objet soit faiblement référençable, le type d'extension doit "
"faire deux choses :"
#: ../Doc/extending/newtypes.rst:556
msgid ""
@ -577,16 +605,23 @@ msgid ""
"offset of the aforementioned field in the C object structure, so that the "
"interpreter knows how to access and modify that field."
msgstr ""
"Définissez le membre de type :c:member:`~PyTypeObject.tp_weaklistoffset` à "
"la valeur de décalage (*offset*) du champ susmentionné dans la structure de "
"l'objet *C*, afin que l'interpréteur sache comment accéder à ce champ et le "
"modifier."
#: ../Doc/extending/newtypes.rst:565
msgid ""
"Concretely, here is how a trivial object structure would be augmented with "
"the required field::"
msgstr ""
"Concrètement, voici comment une structure d'objet simple serait complétée "
"par le champ requis ::"
#: ../Doc/extending/newtypes.rst:573
msgid "And the corresponding member in the statically-declared type object::"
msgstr ""
"Et le membre correspondant dans l'objet de type déclaré statiquement ::"
#: ../Doc/extending/newtypes.rst:581
msgid ""
@ -597,7 +632,7 @@ msgstr ""
#: ../Doc/extending/newtypes.rst:597
msgid "More Suggestions"
msgstr ""
msgstr "Plus de suggestions"
#: ../Doc/extending/newtypes.rst:599
msgid ""
@ -607,6 +642,12 @@ msgid ""
"want (for example, ``tp_richcompare``). You will find examples of the "
"function you want to implement."
msgstr ""
"Pour savoir comment mettre en œuvre une méthode spécifique pour votre "
"nouveau type de données, téléchargez le code source :term:`CPython`. Allez "
"dans le répertoire :file:`Objects`, puis cherchez dans les fichiers sources "
"*C* la fonction ``tp_`` plus la fonction que vous voulez (par exemple, "
"``tp_richcompare``). Vous trouverez des exemples de la fonction que vous "
"voulez implémenter."
#: ../Doc/extending/newtypes.rst:605
msgid ""
@ -614,23 +655,27 @@ msgid ""
"you are implementing, use the :c:func:`PyObject_TypeCheck` function. A "
"sample of its use might be something like the following::"
msgstr ""
"Lorsque vous avez besoin de vérifier qu'un objet est une instance concrète "
"du type que vous implémentez, utilisez la fonction :c:func:"
"`PyObject_TypeCheck`. Voici un exemple de son utilisation ::"
#: ../Doc/extending/newtypes.rst:616
msgid "Download CPython source releases."
msgstr ""
msgstr "Télécharger les versions sources de *CPython*."
#: ../Doc/extending/newtypes.rst:616
msgid "https://www.python.org/downloads/source/"
msgstr ""
msgstr "https://www.python.org/downloads/source/"
#: ../Doc/extending/newtypes.rst:618
msgid ""
"The CPython project on GitHub, where the CPython source code is developed."
msgstr ""
"Le projet *CPython* sur *GitHub*, où se trouve le code source *CPython*."
#: ../Doc/extending/newtypes.rst:619
msgid "https://github.com/python/cpython"
msgstr ""
msgstr "https://github.com/python/cpython"
#~ msgid "Footnotes"
#~ msgstr "Notes"

View File

@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/howto/clinic.rst:5
msgid "Argument Clinic How-To"
msgstr ""
msgstr "Guide Argument Clinic"
#: ../Doc/howto/clinic.rst:0
msgid "author"
@ -27,7 +27,7 @@ msgstr "auteur"
#: ../Doc/howto/clinic.rst:7
msgid "Larry Hastings"
msgstr ""
msgstr "Larry Hastings"
#: ../Doc/howto/clinic.rst:None
msgid "Abstract"
@ -898,7 +898,7 @@ msgstr ""
#: ../Doc/howto/clinic.rst:578
msgid "Renaming the C functions and variables generated by Argument Clinic"
msgstr ""
msgstr "Renommer les fonctions et variables C générées par Argument Clinic"
#: ../Doc/howto/clinic.rst:580
msgid ""
@ -911,6 +911,14 @@ msgid ""
"function, then add ``\"_impl\"`` to the end and use that for the name of the "
"impl function."
msgstr ""
"Argument Clinic nomme automatiquement les fonctions qu'il génère. Parfois, "
"cela peut poser des problèmes, si le nom généré entre en collision avec le "
"nom d'une fonction C existante. Il y a une solution simple : surcharger les "
"noms utilisés par les fonctions C. Ajoutez simplement le mot clef ``\"as\"`` "
"sur la ligne de la déclaration de la fonction, suivi par le nom de la "
"fonction que vous souhaitez utiliser. Argument Clinic utilisera ce nom de "
"fonction pour la fonction de base (celle générée), et ajoutera ``\"_impl\"`` "
"à la fin et utilisera ce nom pour la fonction ``impl``."
#: ../Doc/howto/clinic.rst:588
msgid ""
@ -945,6 +953,8 @@ msgid ""
"Here, the name used in Python (in the signature and the ``keywords`` array) "
"would be ``file``, but the C variable would be named ``file_obj``."
msgstr ""
"Ici, le nom utilisé en Python (dans la signature ainsi que le tableau des "
"``keywords``) sera ``file``, et la variable C s'appellera ``file_obj``."
#: ../Doc/howto/clinic.rst:617
msgid "You can use this to rename the ``self`` parameter too!"
@ -962,6 +972,12 @@ msgid ""
"appropriate. All arguments should be marked positional-only (add a ``/`` on "
"a line by itself after the last argument)."
msgstr ""
"Afin de convertir une fonction analysant ses arguments via :c:func:"
"`PyArg_UnpackTuple`, écrivez simplement tous les arguments, en les "
"spécifiant comme des ``object``. Vous pouvez spécifier également le ``type`` "
"d'argument afin de le forcer au type approprié. Tous les arguments devraient "
"être marqués comme seulement positionnels (ajoutez un ``/`` seul sur la "
"ligne après le dernier argument)."
#: ../Doc/howto/clinic.rst:629
msgid ""
@ -985,6 +1001,14 @@ msgid ""
"optional arguments back before :c:func:`PyArg_ParseTupleAndKeywords` was "
"created."
msgstr ""
"Certaines fonctions de base ont une approche particulière pour analyser "
"leurs arguments : elles comptent le nombre d'arguments positionnels, puis "
"elles utilisent une condition ``switch`` basée sur le nombre d'arguments "
"présents pour appeler différentes :c:func:`PyArg_ParseTuple` disponibles "
"(ces fonctions ne peuvent pas avoir des arguments passés uniquement en tant "
"qu'arguments nommés). Cette approche était utilisée pour simuler des "
"arguments optionnels avant que :c:func:`PyArg_ParseTupleAndKeywords` ne soit "
"créée."
#: ../Doc/howto/clinic.rst:642
msgid ""
@ -999,6 +1023,17 @@ msgid ""
"the function passing in ``x``, you must also pass in ``y``—and if you don't "
"pass in ``x`` you may not pass in ``y`` either.)"
msgstr ""
"Alors que les fonctions utilisant cette approche peuvent normalement être "
"converties pour utiliser :c:func:`PyArg_ParseTupleAndKeywords`, des "
"arguments optionnels et des valeurs par défaut, ce n'est pas toujours "
"possible. Certaines fonctions classiques ne peuvent pas être gérées par :c:"
"func:`PyArg_ParseTupleAndKeywords`. L'exemple le plus évident est la "
"fonction native ``range()``, qui possède un argument optionnel à *gauche* de "
"ses arguments requis ! Un autre exemple est la fonction ``curses.window."
"addch()``, qui possède un groupe de deux arguments qui doivent toujours être "
"spécifiés ensemble (ces arguments s'appellent ``x`` et ``y`` ; si vous "
"appelez la fonction en passant ``x``, vous devez passer ``y`` et si vous ne "
"passez pas ``x``, vous ne devez pas passer ``y`` non plus)."
#: ../Doc/howto/clinic.rst:654
msgid ""
@ -1009,6 +1044,14 @@ msgid ""
"all be passed in together. They can be to the left or the right of the "
"required arguments. They can *only* be used with positional-only parameters."
msgstr ""
"Dans tous les cas, le but d'Argument Clinic est de prendre en charge "
"l'analyse des arguments pour toutes les fonctions natives de CPython sans "
"avoir besoin de les modifier. C'est pourquoi Argument Clinic propose cette "
"autre approche pour l'analyse, en utilisant ce qu'on appelle les *groupes "
"optionnels*. Les groupes optionnels sont des groupes d'arguments qui doivent "
"tous être transmis ensemble. Ils peuvent être situés à droite ou à gauche "
"des arguments requis. Ils ne peuvent être utilisés *seulement* qu'en tant "
"que paramètres positionnels."
#: ../Doc/howto/clinic.rst:662
msgid ""
@ -1020,6 +1063,14 @@ msgid ""
"doesn't understand the concept. Please avoid using optional groups wherever "
"possible."
msgstr ""
"Les groupes optionnels sont *uniquement* prévus pour convertir les fonctions "
"faisant des appels multiples à :c:func:`PyArg_ParseTuple` ! Les fonctions "
"qui utilisent *au moins une* des autres approches ne doivent *presque "
"jamais* être converties à Argument Clinic en utilisant les groupes "
"optionnels. Les fonctions utilisant ces groupes n'ont pas actuellement de "
"signature précise en Python, parce que celui-ci ne peut simplement pas "
"comprendre ce concept. Tâchez d'éviter au maximum d'utiliser ces groupes "
"optionnels si possible."
#: ../Doc/howto/clinic.rst:671
msgid ""
@ -1029,6 +1080,11 @@ msgid ""
"optional groups to make the first two parameters and the last parameter "
"optional::"
msgstr ""
"Afin de signaler un groupe optionnel, ajoutez un ``[`` seul sur une ligne "
"avant les paramètres que vous souhaitez inclure dans le groupe, puis un "
"``]`` seul sur une ligne après ces paramètres. Voici, par exemple, comment "
"``curses.window.addch`` utilise les groupes optionnels pour rendre optionnel "
"les deux premiers paramètres ainsi que le dernier :"
#: ../Doc/howto/clinic.rst:700
msgid "Notes:"
@ -1046,6 +1102,16 @@ msgid ""
"was unused, and set to non-zero if this group was used. (By used or unused, "
"I mean whether or not the parameters received arguments in this invocation.)"
msgstr ""
"Pour chaque groupe optionnel, un paramètre additionnel sera passé à la "
"fonction ``impl`` représentant le groupe. Ce paramètre sera un entier nommé "
"``group_{direction}_{number}``, où ``{direction}`` peut être soit ``right`` "
"ou ``left`` suivant que le groupe est situé avant ou après les paramètres "
"requis, et ``{number}`` sera un entier incrémenté (débutant à 1) indiquant "
"la distance entre le groupe et les paramètres requis. Quand la fonction "
"``impl`` est appelée, ce paramètre est positionné à zéro si le groupe n'a "
"pas été utilisé, et positionné à un nombre entier positif sinon (par "
"inutilisé, on entend que les paramètres n'ont pas reçu de valeur lors de cet "
"appel)."
#: ../Doc/howto/clinic.rst:713
msgid ""
@ -1060,10 +1126,13 @@ msgid ""
"In the case of ambiguity, the argument parsing code favors parameters on the "
"left (before the required parameters)."
msgstr ""
"En cas d'ambiguïté, le code d'analyse des arguments favorise ceux situés à "
"gauche (avant les paramètres obligatoires)."
#: ../Doc/howto/clinic.rst:719
msgid "Optional groups can only contain positional-only parameters."
msgstr ""
"Les groupes optionnels ne peuvent contenir que des arguments positionnels."
#: ../Doc/howto/clinic.rst:721
msgid ""
@ -1076,6 +1145,8 @@ msgstr ""
#: ../Doc/howto/clinic.rst:726
msgid "Using real Argument Clinic converters, instead of \"legacy converters\""
msgstr ""
"Utilisation des adaptateurs d'Argument Clinic, en lieu et place des "
 adaptateurs de base »"
#: ../Doc/howto/clinic.rst:728
msgid ""
@ -1085,17 +1156,25 @@ msgid ""
"explicitly to make porting existing code to Argument Clinic easier. And to "
"be clear, their use is acceptable when porting code for Python 3.4."
msgstr ""
"Afin de gagner du temps, et pour minimiser la courbe d'apprentissage pour "
"pouvoir utiliser Argument Clinic, le guide ci-dessus préconise les "
 adaptateurs de base ». Ceux-ci sont un moyen simple conçu pour porter "
"facilement du code existant sous Argument Clinic. Et pour être clair, leur "
"utilisation est tout à fait acceptable pour porter du code Python 3.4."
#: ../Doc/howto/clinic.rst:735
msgid ""
"However, in the long term we probably want all our blocks to use Argument "
"Clinic's real syntax for converters. Why? A couple reasons:"
msgstr ""
"Cependant, sur le long terme, il est certainement préférable que tous vos "
"blocs utilisent la syntaxe réelle des adaptateurs d'Argument Clinic. "
"Pourquoi ? Voici quelques raisons :"
#: ../Doc/howto/clinic.rst:739
msgid ""
"The proper converters are far easier to read and clearer in their intent."
msgstr ""
msgstr "Les adaptateurs sont plus simples et plus clairs."
#: ../Doc/howto/clinic.rst:740
msgid ""
@ -1103,6 +1182,9 @@ msgid ""
"because they require arguments, and the legacy converter syntax doesn't "
"support specifying arguments."
msgstr ""
"Il existe des formats qui ne sont pas gérés par les « adaptateurs de base », "
"parce qu'ils nécessitent des arguments, et la syntaxe de ces adaptateurs ne "
"supporte pas cela."
#: ../Doc/howto/clinic.rst:743
msgid ""
@ -1110,12 +1192,18 @@ msgid ""
"restricted to what :c:func:`PyArg_ParseTuple` supports; this flexibility "
"won't be available to parameters using legacy converters."
msgstr ""
"Dans le futur, on pourrait avoir une nouvelle bibliothèque d'analyse des "
"arguments qui ne serait pas limitée à ce que :c:func:`PyArg_ParseTuple` "
"accepte ; cette flexibilité ne serait pas accessible aux paramètres "
"utilisant des adaptateurs de base."
#: ../Doc/howto/clinic.rst:747
msgid ""
"Therefore, if you don't mind a little extra effort, please use the normal "
"converters instead of legacy converters."
msgstr ""
"Ainsi, si vous n'êtes pas contre un petit effort supplémentaire, vous "
"devriez utiliser les adaptateurs normaux plutôt que ceux de base."
#: ../Doc/howto/clinic.rst:750
msgid ""
@ -1124,16 +1212,22 @@ msgid ""
"the function (all functions take their default values), you may omit the "
"parentheses. Thus ``bool`` and ``bool()`` are exactly the same converters."
msgstr ""
"En bref, la syntaxe des adaptateurs d'Argument Clinic ressemble à un appel "
"de fonction Python. Mais, s'il n'y a pas d'argument explicite à la fonction "
"(celle-ci utilisant ses valeurs par défaut), vous pouvez omettre les "
"parenthèses. Ainsi ``bool`` et ``bool()`` représentent le même adaptateur."
#: ../Doc/howto/clinic.rst:756
msgid ""
"All arguments to Argument Clinic converters are keyword-only. All Argument "
"Clinic converters accept the following arguments:"
msgstr ""
"Tous les arguments passés aux adaptateurs d'Argument Clinic sont nommés. "
"Tous les adaptateurs d'Argument Clinic acceptent les arguments suivants :"
#: ../Doc/howto/clinic.rst:764 ../Doc/howto/clinic.rst:1246
msgid "``c_default``"
msgstr ""
msgstr "``c_default``"
#: ../Doc/howto/clinic.rst:760
msgid ""
@ -1142,10 +1236,15 @@ msgid ""
"\". See :ref:`the section on default values <default_values>` for how to "
"use this. Specified as a string."
msgstr ""
"La valeur par défaut de cet argument lorsqu'il est défini en C. Typiquement, "
"il servira à initialiser la variable déclarée dans la « fonction "
"d'analyse ». Voir la section relative aux :ref:`valeurs par défaut "
"<default_values>` pour apprendre à l'utiliser. Spécifié en tant que chaîne "
"de caractères."
#: ../Doc/howto/clinic.rst:769
msgid "``annotation``"
msgstr ""
msgstr "``annotation``"
#: ../Doc/howto/clinic.rst:767
msgid ""
@ -1158,10 +1257,12 @@ msgid ""
"In addition, some converters accept additional arguments. Here is a list of "
"these arguments, along with their meanings:"
msgstr ""
"De plus, certains adaptateurs acceptent des arguments additionnels. Voici la "
"liste de ces arguments, avec leur explication :"
#: ../Doc/howto/clinic.rst:780
msgid "``accept``"
msgstr ""
msgstr "``accept``"
#: ../Doc/howto/clinic.rst:775
msgid ""
@ -1170,14 +1271,18 @@ msgid ""
"purpose facility; as a rule it only supports specific lists of types as "
"shown in the legacy converter table.)"
msgstr ""
"Un ensemble de types Python (et potentiellement des pseudo-types) ; cela "
"restreint l'argument Python autorisé aux valeurs de ces types (ce n'est pas "
"destiné à une utilisation généralisée ; en fait, il gère seulement les types "
"listés dans la table des adaptateurs de base)."
#: ../Doc/howto/clinic.rst:780
msgid "To accept ``None``, add ``NoneType`` to this set."
msgstr ""
msgstr "Pour accepter ``None``, ajouter ``NoneType`` à cet ensemble."
#: ../Doc/howto/clinic.rst:785
msgid "``bitwise``"
msgstr ""
msgstr "``bitwise``"
#: ../Doc/howto/clinic.rst:783
msgid ""
@ -1185,10 +1290,13 @@ msgid ""
"Python argument will be written to the parameter without any range checking, "
"even for negative values."
msgstr ""
"Autorisé seulement pour les entiers non signés. La valeur native de cet "
"argument Python sera transcrite dans le paramètre sans aucune vérification "
"de plage, même pour des valeurs négatives."
#: ../Doc/howto/clinic.rst:790 ../Doc/howto/clinic.rst:1260
msgid "``converter``"
msgstr ""
msgstr "``converter``"
#: ../Doc/howto/clinic.rst:788
msgid ""
@ -1196,6 +1304,9 @@ msgid ""
"\"converter function\" <o_ampersand>` to use to convert this object to a "
"native type."
msgstr ""
"Autorisé seulement pour l'adaptateur ``object``. Spécifie le nom d'une :ref:"
"`« fonction de conversion » depuis C <o_ampersand>` à utiliser pour "
"convertir cet objet en type natif."
#: ../Doc/howto/clinic.rst:795
msgid "``encoding``"
@ -1206,16 +1317,21 @@ msgid ""
"Only supported for strings. Specifies the encoding to use when converting "
"this string from a Python str (Unicode) value into a C ``char *`` value."
msgstr ""
"Autorisé seulement pour les chaînes de caractères. Spécifie l'encodage à "
"utiliser lors de la conversion de cette chaîne depuis une valeur de type "
"Python ``str`` (Unicode) en valeur C ``char *``."
#: ../Doc/howto/clinic.rst:799
msgid "``subclass_of``"
msgstr ""
msgstr "``subclass_of``"
#: ../Doc/howto/clinic.rst:798
msgid ""
"Only supported for the ``object`` converter. Requires that the Python value "
"be a subclass of a Python type, as expressed in C."
msgstr ""
"Autorisé seulement pour l'adaptateur ``object``. Nécessite que la valeur "
"Python soit une sous-classe d'un type Python, telle qu'exprimée en C."
#: ../Doc/howto/clinic.rst:804 ../Doc/howto/clinic.rst:1232
msgid "``type``"
@ -1227,10 +1343,13 @@ msgid ""
"type that will be used to declare the variable. Default value is ``"
"\"PyObject *\"``."
msgstr ""
"Autorisé seulement pour les adaptateurs ``object`` et ``self``. Spécifie le "
"type C qui sera utilisé pour déclarer la variable. La valeur par défaut est "
"``\"PyObject *\"``."
#: ../Doc/howto/clinic.rst:810
msgid "``zeroes``"
msgstr ""
msgstr "``zeroes``"
#: ../Doc/howto/clinic.rst:807
msgid ""
@ -1239,6 +1358,10 @@ msgid ""
"the impl function, just after the string parameter, as a parameter named "
"``<parameter_name>_length``."
msgstr ""
"Autorisé seulement pour les chaînes de caractères. Si vrai, les octets NUL "
"(``'\\\\0'``) sont permis au sein de la valeur. La taille de la chaîne sera "
"passée à la fonction ``impl``, juste après le paramètre chaîne, en tant que "
"paramètre nommé ``<parameter_name>_length``."
#: ../Doc/howto/clinic.rst:812
msgid ""
@ -1250,6 +1373,14 @@ msgid ""
"any existing format unit. So Argument Clinic doesn't support it. (Or, at "
"least, not yet.)"
msgstr ""
"Attention de bien noter que toutes les combinaisons d'arguments ne "
"fonctionnent pas. Normalement, ces arguments sont mis en place via des "
"*formats* ``PyArg_ParseTuple`` au comportement spécifique. Par exemple, à "
"l'heure actuelle vous ne pouvez pas appeler ``unsigned_short`` sans "
"spécifier également ``bitwise=True``. Bien qu'il soit parfaitement "
"raisonnable de penser que ça puisse fonctionner, cette écriture ne "
"correspond à aucun format. Donc Argument Clinic ne le gère pas (en tous cas, "
"pas pour le moment)."
#: ../Doc/howto/clinic.rst:820
msgid ""
@ -1257,6 +1388,9 @@ msgid ""
"Clinic converters. On the left is the legacy converter, on the right is the "
"text you'd replace it with."
msgstr ""
"Vous pouvez voir, ci-dessous, une table présentant la correspondance entre "
"les adaptateurs de base et ceux d'Argument Clinic. À gauche, sont listés les "
"adaptateurs de base et, à droite, le texte qui les remplace."
#: ../Doc/howto/clinic.rst:825
msgid "``'B'``"
@ -1264,7 +1398,7 @@ msgstr "``'B'``"
#: ../Doc/howto/clinic.rst:825
msgid "``unsigned_char(bitwise=True)``"
msgstr ""
msgstr "``unsigned_char(bitwise=True)``"
#: ../Doc/howto/clinic.rst:826
msgid "``'b'``"
@ -1272,7 +1406,7 @@ msgstr "``'b'``"
#: ../Doc/howto/clinic.rst:826
msgid "``unsigned_char``"
msgstr ""
msgstr "``unsigned_char``"
#: ../Doc/howto/clinic.rst:827
msgid "``'c'``"
@ -1280,15 +1414,15 @@ msgstr "``'c'``"
#: ../Doc/howto/clinic.rst:827
msgid "``char``"
msgstr ""
msgstr "``char``"
#: ../Doc/howto/clinic.rst:828
msgid "``'C'``"
msgstr ""
msgstr "``'C'``"
#: ../Doc/howto/clinic.rst:828
msgid "``int(accept={str})``"
msgstr ""
msgstr "``int(accept={str})``"
#: ../Doc/howto/clinic.rst:829
msgid "``'d'``"
@ -1296,7 +1430,7 @@ msgstr "``'d'``"
#: ../Doc/howto/clinic.rst:829
msgid "``double``"
msgstr ""
msgstr "``double``"
#: ../Doc/howto/clinic.rst:830
msgid "``'D'``"
@ -1304,41 +1438,43 @@ msgstr "``'D'``"
#: ../Doc/howto/clinic.rst:830
msgid "``Py_complex``"
msgstr ""
msgstr "``Py_complex``"
#: ../Doc/howto/clinic.rst:831
msgid "``'es'``"
msgstr ""
msgstr "``'es'``"
#: ../Doc/howto/clinic.rst:831
msgid "``str(encoding='name_of_encoding')``"
msgstr ""
msgstr "``str(encoding='name_of_encoding')``"
#: ../Doc/howto/clinic.rst:832
msgid "``'es#'``"
msgstr ""
msgstr "``'es#'``"
#: ../Doc/howto/clinic.rst:832
msgid "``str(encoding='name_of_encoding', zeroes=True)``"
msgstr ""
msgstr "``str(encoding='name_of_encoding', zeroes=True)``"
#: ../Doc/howto/clinic.rst:833
msgid "``'et'``"
msgstr ""
msgstr "``'et'``"
#: ../Doc/howto/clinic.rst:833
msgid "``str(encoding='name_of_encoding', accept={bytes, bytearray, str})``"
msgstr ""
msgstr "``str(encoding='name_of_encoding', accept={bytes, bytearray, str})``"
#: ../Doc/howto/clinic.rst:834
msgid "``'et#'``"
msgstr ""
msgstr "``'et#'``"
#: ../Doc/howto/clinic.rst:834
msgid ""
"``str(encoding='name_of_encoding', accept={bytes, bytearray, str}, "
"zeroes=True)``"
msgstr ""
"``str(encoding='name_of_encoding', accept={bytes, bytearray, str}, "
"zeroes=True)``"
#: ../Doc/howto/clinic.rst:835
msgid "``'f'``"
@ -1346,7 +1482,7 @@ msgstr "``'f'``"
#: ../Doc/howto/clinic.rst:835
msgid "``float``"
msgstr ""
msgstr "``float``"
#: ../Doc/howto/clinic.rst:836
msgid "``'h'``"
@ -1354,7 +1490,7 @@ msgstr "``'h'``"
#: ../Doc/howto/clinic.rst:836
msgid "``short``"
msgstr ""
msgstr "``short``"
#: ../Doc/howto/clinic.rst:837
msgid "``'H'``"
@ -1362,7 +1498,7 @@ msgstr "``'H'``"
#: ../Doc/howto/clinic.rst:837
msgid "``unsigned_short(bitwise=True)``"
msgstr ""
msgstr "``unsigned_short(bitwise=True)``"
#: ../Doc/howto/clinic.rst:838
msgid "``'i'``"
@ -1378,23 +1514,23 @@ msgstr "``'I'``"
#: ../Doc/howto/clinic.rst:839
msgid "``unsigned_int(bitwise=True)``"
msgstr ""
msgstr "``unsigned_int(bitwise=True)``"
#: ../Doc/howto/clinic.rst:840
msgid "``'k'``"
msgstr ""
msgstr "``'k'``"
#: ../Doc/howto/clinic.rst:840
msgid "``unsigned_long(bitwise=True)``"
msgstr ""
msgstr "``unsigned_long(bitwise=True)``"
#: ../Doc/howto/clinic.rst:841
msgid "``'K'``"
msgstr ""
msgstr "``'K'``"
#: ../Doc/howto/clinic.rst:841
msgid "``unsigned_long_long(bitwise=True)``"
msgstr ""
msgstr "``unsigned_long_long(bitwise=True)``"
#: ../Doc/howto/clinic.rst:842
msgid "``'l'``"
@ -1410,7 +1546,7 @@ msgstr "``'L'``"
#: ../Doc/howto/clinic.rst:843
msgid "``long long``"
msgstr ""
msgstr "``long long``"
#: ../Doc/howto/clinic.rst:844
msgid "``'n'``"
@ -1418,39 +1554,39 @@ msgstr "``'n'``"
#: ../Doc/howto/clinic.rst:844
msgid "``Py_ssize_t``"
msgstr ""
msgstr "``Py_ssize_t``"
#: ../Doc/howto/clinic.rst:845
msgid "``'O'``"
msgstr ""
msgstr "``'O'``"
#: ../Doc/howto/clinic.rst:845
msgid "``object``"
msgstr ""
msgstr "``object``"
#: ../Doc/howto/clinic.rst:846
msgid "``'O!'``"
msgstr ""
msgstr "``'O!'``"
#: ../Doc/howto/clinic.rst:846
msgid "``object(subclass_of='&PySomething_Type')``"
msgstr ""
msgstr "``object(subclass_of='&PySomething_Type')``"
#: ../Doc/howto/clinic.rst:847
msgid "``'O&'``"
msgstr ""
msgstr "``'O&'``"
#: ../Doc/howto/clinic.rst:847
msgid "``object(converter='name_of_c_function')``"
msgstr ""
msgstr "``object(converter='name_of_c_function')``"
#: ../Doc/howto/clinic.rst:848
msgid "``'p'``"
msgstr ""
msgstr "``'p'``"
#: ../Doc/howto/clinic.rst:848
msgid "``bool``"
msgstr ""
msgstr "``bool``"
#: ../Doc/howto/clinic.rst:849
msgid "``'S'``"
@ -1458,7 +1594,7 @@ msgstr "``'S'``"
#: ../Doc/howto/clinic.rst:849
msgid "``PyBytesObject``"
msgstr ""
msgstr "``PyBytesObject``"
#: ../Doc/howto/clinic.rst:850
msgid "``'s'``"
@ -1466,23 +1602,23 @@ msgstr "``'s'``"
#: ../Doc/howto/clinic.rst:850
msgid "``str``"
msgstr ""
msgstr "``str``"
#: ../Doc/howto/clinic.rst:851
msgid "``'s#'``"
msgstr ""
msgstr "``'s#'``"
#: ../Doc/howto/clinic.rst:851
msgid "``str(zeroes=True)``"
msgstr ""
msgstr "``str(zeroes=True)``"
#: ../Doc/howto/clinic.rst:852
msgid "``'s*'``"
msgstr ""
msgstr "``'s*'``"
#: ../Doc/howto/clinic.rst:852
msgid "``Py_buffer(accept={buffer, str})``"
msgstr ""
msgstr "``Py_buffer(accept={buffer, str})``"
#: ../Doc/howto/clinic.rst:853
msgid "``'U'``"
@ -1490,7 +1626,7 @@ msgstr "``'U'``"
#: ../Doc/howto/clinic.rst:853
msgid "``unicode``"
msgstr ""
msgstr "``unicode``"
#: ../Doc/howto/clinic.rst:854
msgid "``'u'``"
@ -1498,101 +1634,103 @@ msgstr "``'u'``"
#: ../Doc/howto/clinic.rst:854
msgid "``Py_UNICODE``"
msgstr ""
msgstr "``Py_UNICODE``"
#: ../Doc/howto/clinic.rst:855
msgid "``'u#'``"
msgstr ""
msgstr "``'u#'``"
#: ../Doc/howto/clinic.rst:855
msgid "``Py_UNICODE(zeroes=True)``"
msgstr ""
msgstr "``Py_UNICODE(zeroes=True)``"
#: ../Doc/howto/clinic.rst:856
msgid "``'w*'``"
msgstr ""
msgstr "``'w*'``"
#: ../Doc/howto/clinic.rst:856
msgid "``Py_buffer(accept={rwbuffer})``"
msgstr ""
msgstr "``Py_buffer(accept={rwbuffer})``"
#: ../Doc/howto/clinic.rst:857
msgid "``'Y'``"
msgstr ""
msgstr "``'Y'``"
#: ../Doc/howto/clinic.rst:857
msgid "``PyByteArrayObject``"
msgstr ""
msgstr "``PyByteArrayObject``"
#: ../Doc/howto/clinic.rst:858
msgid "``'y'``"
msgstr ""
msgstr "``'y'``"
#: ../Doc/howto/clinic.rst:858
msgid "``str(accept={bytes})``"
msgstr ""
msgstr "``str(accept={bytes})``"
#: ../Doc/howto/clinic.rst:859
msgid "``'y#'``"
msgstr ""
msgstr "``'y#'``"
#: ../Doc/howto/clinic.rst:859
msgid "``str(accept={robuffer}, zeroes=True)``"
msgstr ""
msgstr "``str(accept={robuffer}, zeroes=True)``"
#: ../Doc/howto/clinic.rst:860
msgid "``'y*'``"
msgstr ""
msgstr "``'y*'``"
#: ../Doc/howto/clinic.rst:860
msgid "``Py_buffer``"
msgstr ""
msgstr "``Py_buffer``"
#: ../Doc/howto/clinic.rst:861
msgid "``'Z'``"
msgstr ""
msgstr "``'Z'``"
#: ../Doc/howto/clinic.rst:861
msgid "``Py_UNICODE(accept={str, NoneType})``"
msgstr ""
msgstr "``Py_UNICODE(accept={str, NoneType})``"
#: ../Doc/howto/clinic.rst:862
msgid "``'Z#'``"
msgstr ""
msgstr "``'Z#'``"
#: ../Doc/howto/clinic.rst:862
msgid "``Py_UNICODE(accept={str, NoneType}, zeroes=True)``"
msgstr ""
msgstr "``Py_UNICODE(accept={str, NoneType}, zeroes=True)``"
#: ../Doc/howto/clinic.rst:863
msgid "``'z'``"
msgstr ""
msgstr "``'z'``"
#: ../Doc/howto/clinic.rst:863
msgid "``str(accept={str, NoneType})``"
msgstr ""
msgstr "``str(accept={str, NoneType})``"
#: ../Doc/howto/clinic.rst:864
msgid "``'z#'``"
msgstr ""
msgstr "``'z#'``"
#: ../Doc/howto/clinic.rst:864
msgid "``str(accept={str, NoneType}, zeroes=True)``"
msgstr ""
msgstr "``str(accept={str, NoneType}, zeroes=True)``"
#: ../Doc/howto/clinic.rst:865
msgid "``'z*'``"
msgstr ""
msgstr "``'z*'``"
#: ../Doc/howto/clinic.rst:865
msgid "``Py_buffer(accept={buffer, str, NoneType})``"
msgstr ""
msgstr "``Py_buffer(accept={buffer, str, NoneType})``"
#: ../Doc/howto/clinic.rst:868
msgid ""
"As an example, here's our sample ``pickle.Pickler.dump`` using the proper "
"converter::"
msgstr ""
"Par exemple, voici notre code ``pickle.Pickler.dump`` via l'adaptateur "
"approprié ::"
#: ../Doc/howto/clinic.rst:881
msgid ""
@ -1601,10 +1739,14 @@ msgid ""
"default value for each parameter. Just run ``Tools/clinic/clinic.py --"
"converters`` to see the full list."
msgstr ""
"Argument Clinic sait lister tous les adaptateurs disponibles. Pour chaque "
"adaptateur, il vous liste également l'ensemble des paramètres qu'ils "
"acceptent, ainsi que les valeurs par défaut de chacun. Utilisez simplement "
"la commande ``Tools/clinic/clinic.py --converters`` pour afficher la liste."
#: ../Doc/howto/clinic.rst:887
msgid "Py_buffer"
msgstr ""
msgstr "Py_buffer"
#: ../Doc/howto/clinic.rst:889
msgid ""
@ -1613,16 +1755,23 @@ msgid ""
"`PyBuffer_Release` on the provided buffer. Argument Clinic generates code "
"that does it for you (in the parsing function)."
msgstr ""
"Lorsque vous utilisez l'adaptateur ``Py_buffer`` (ou bien les adaptateurs de "
"base ``'s*'``, ``'w*'``, ``'*y'``, ou ``'z*'``), vous *ne devez pas* "
"appeler :c:func:`PyBuffer_Release` sur le tampon fourni. Argument Clinic "
"génère du code qui le fait pour vous (dans la fonction d'analyse)."
#: ../Doc/howto/clinic.rst:897
msgid "Advanced converters"
msgstr ""
msgstr "Adaptateurs avancés"
#: ../Doc/howto/clinic.rst:899
msgid ""
"Remember those format units you skipped for your first time because they "
"were advanced? Here's how to handle those too."
msgstr ""
"Vous vous souvenez de ces spécifications de format que vous avez laissées de "
"côté la première fois parce qu'il s'agissait de notions avancées ? Voici "
"comment les utiliser."
#: ../Doc/howto/clinic.rst:902
msgid ""
@ -1634,6 +1783,14 @@ msgid ""
"``O&``), ``subclass_of`` (for ``O!``), or ``encoding`` (for all the format "
"units that start with ``e``)."
msgstr ""
"L'astuce est que toutes ces spécifications de format acceptent des arguments "
"— aussi bien des fonctions de conversion que des types, ou des chaînes "
"spécifiant un encodage. (mais les « adaptateurs de base » ne gèrent pas les "
"arguments. C'est pourquoi nous les avions laissés de côté pour votre "
"première fonction.) L'argument que vous aviez spécifié à la spécification de "
"format est désormais un argument du convertisseur ; cet argument est soit "
"``converter`` (pour ``O&``), ``subclass_of`` (pour ``O!``), ou ``encoding`` "
"(pour toutes les spécifications de format qui commencent par ``e``)."
#: ../Doc/howto/clinic.rst:910
msgid ""
@ -1643,6 +1800,12 @@ msgid ""
"is a subclass of ``PyUnicode_Type``, you probably want to use the converter "
"``object(type='PyUnicodeObject *', subclass_of='&PyUnicode_Type')``."
msgstr ""
"Lorsque vous utilisez ``subclass_of``, vous pouvez également vouloir "
"utiliser les autres arguments usuels pour ``object()`` : ``type``, qui vous "
"laisse spécifier le type à utiliser pour l'argument. Par exemple, si vous "
"voulez vous assurer que l'objet est une sous-classe de ``PyUnicode_Type``, "
"vous utiliserez probablement le convertisseur ``object(type='PyUnicodeObject "
"*', subclass_of='&PyUnicode_Type')``."
#: ../Doc/howto/clinic.rst:916
msgid ""
@ -1656,30 +1819,46 @@ msgid ""
"unreasonable; CPython itself always passes in static hard-coded encoding "
"strings for parameters whose format units start with ``e``."
msgstr ""
"Mentionnons un problème potentiel d'utiliser *Argument Clinic* : cela retire "
"la flexibilité des spécifications de format commençant par ``e``. Lorsque "
"vous faites un appel à ``PyArg_Parse`` à la main, vous pourriez "
"théoriquement décider quelle chaîne d'encodage passer à :c:func:"
"`PyArg_ParseTuple`. Mais désormais cette chaîne doit être codée en dur au "
"moment du pré-processus d'Argument-Clinic. Cette limitation est délibérée ; "
"elle permet une gestion plus simple de cette spécification de format, et "
"peut permettre de futures optimisations. Cette restriction ne semble pas "
"déraisonnable ; CPython lui-même utilise toujours des chaînes d'encodage en "
"dur pour les paramètres dont les spécifications de format commencent par "
"``e``."
#: ../Doc/howto/clinic.rst:929
msgid "Parameter default values"
msgstr ""
msgstr "Valeurs par défaut des paramètres"
#: ../Doc/howto/clinic.rst:931
msgid ""
"Default values for parameters can be any of a number of values. At their "
"simplest, they can be string, int, or float literals:"
msgstr ""
"Les valeurs par défaut des paramètres peuvent être n'importe quelle valeur. "
"Au plus simple, ce sont des chaînes, des entiers ou des nombres flottants :"
#: ../Doc/howto/clinic.rst:940
msgid "They can also use any of Python's built-in constants:"
msgstr ""
"Vous pouvez également utiliser n'importe quelle constante native de Python :"
#: ../Doc/howto/clinic.rst:948
msgid ""
"There's also special support for a default value of ``NULL``, and for simple "
"expressions, documented in the following sections."
msgstr ""
"La valeur ``NULL`` est également acceptée, ainsi que des expressions "
"simples, comme expliqué dans les sections suivantes."
#: ../Doc/howto/clinic.rst:953
msgid "The ``NULL`` default value"
msgstr ""
msgstr "La valeur par défaut ``NULL``"
#: ../Doc/howto/clinic.rst:955
msgid ""
@ -1690,10 +1869,16 @@ msgid ""
"behaves like a default value of ``None``, but the C variable is initialized "
"with ``NULL``."
msgstr ""
"Pour les paramètres chaînes et objets, vous pouvez les positionner à "
"``None`` pour indiquer qu'il n'y a pas de valeur par défaut. Pour autant, "
"cela signifie que la variable C sera initialisée à ``Py_None``. Par "
"commodité, il existe une valeur spécifique appelée ``NULL`` juste pour cette "
"raison : du point de vue de Python, cette valeur se comporte comme la valeur "
"par défaut ``None``, mais la variable C est initialisée à ``NULL``."
#: ../Doc/howto/clinic.rst:963
msgid "Expressions specified as default values"
msgstr ""
msgstr "Expressions spécifiées comme valeurs par défaut"
#: ../Doc/howto/clinic.rst:965
msgid ""
@ -1702,10 +1887,14 @@ msgid ""
"on objects. However, this support isn't exactly simple, because of some non-"
"obvious semantics."
msgstr ""
"La valeur par défaut d'un paramètre peut être plus qu'une simple valeur "
"littérale. Il peut s'agir d'une expression, utilisant des opérateurs "
"mathématiques et des attributs d'objets. Cependant, cette possibilité n'est "
"pas aussi simple, notamment à cause de sémantiques peu évidentes."
#: ../Doc/howto/clinic.rst:970
msgid "Consider the following example:"
msgstr ""
msgstr "Examinons l'exemple suivant :"
#: ../Doc/howto/clinic.rst:976
msgid ""
@ -1756,11 +1945,11 @@ msgstr ""
#: ../Doc/howto/clinic.rst:1012
msgid "Function calls."
msgstr ""
msgstr "des appels de fonction."
#: ../Doc/howto/clinic.rst:1013
msgid "Inline if statements (``3 if foo else 5``)."
msgstr ""
msgstr "des instructions *if* en ligne (``3 if foo else 5``) ;"
#: ../Doc/howto/clinic.rst:1014
msgid "Automatic sequence unpacking (``*[1, 2, 3]``)."

View File

@ -19,7 +19,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"
@ -27,7 +27,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"
@ -35,7 +35,7 @@ msgstr "Version"
#: ../Doc/howto/curses.rst:8
msgid "2.04"
msgstr ""
msgstr "2.04"
#: ../Doc/howto/curses.rst:None
msgid "Abstract"
@ -46,10 +46,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 ""
@ -61,6 +63,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 ""
@ -71,6 +81,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 ""
@ -84,6 +103,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 ""
@ -97,6 +126,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 ""
@ -107,10 +146,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 ""
@ -122,6 +167,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 ""
@ -130,10 +182,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 ""
@ -144,6 +201,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 ""
@ -151,6 +214,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 ""
@ -158,6 +225,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 ""
@ -168,12 +239,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 ""
@ -181,6 +261,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 ""
@ -190,12 +273,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 ""
@ -209,10 +301,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 ""
@ -220,6 +321,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 ""
@ -230,6 +335,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 ""
@ -240,6 +351,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 ""
@ -248,6 +366,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 ""
@ -255,6 +377,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 ""
@ -266,6 +391,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 ""
@ -276,6 +409,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 ""
@ -285,6 +426,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 ""
@ -294,6 +441,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 ""
@ -301,28 +453,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 ""
@ -334,6 +497,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 ""
@ -342,10 +513,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"
@ -353,39 +528,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 ""
@ -393,6 +574,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 ""
@ -402,12 +586,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 ""
@ -416,6 +609,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 ""
@ -427,6 +625,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 ""
@ -437,10 +643,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 ""
@ -449,6 +662,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 ""
@ -459,6 +677,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"
@ -466,57 +691,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 ""
@ -524,6 +751,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 ""
@ -536,6 +766,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 ""
@ -546,10 +784,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 ""
@ -558,6 +805,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 ""
@ -567,12 +819,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 ""
@ -580,6 +840,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 ""
@ -592,10 +855,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 ""
@ -604,10 +876,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 ""
@ -616,6 +892,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 ""
@ -624,6 +904,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 ""
@ -636,6 +921,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 ""
@ -646,6 +940,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 ""
@ -656,6 +957,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 ""
@ -665,6 +973,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 ""
@ -673,15 +986,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 ""
@ -690,6 +1010,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 ""
@ -699,6 +1024,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 ""
@ -709,12 +1040,23 @@ 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 <http://linux.die.net/man/3/ncurses>`_"
@ -724,6 +1066,8 @@ msgstr ""
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 ""
@ -731,6 +1075,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 ""
@ -738,3 +1085,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

@ -19,7 +19,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"
@ -42,6 +42,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"
@ -80,6 +86,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"
@ -92,6 +106,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 ""
@ -100,6 +119,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"
@ -110,6 +134,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 ""
@ -118,12 +144,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 ""
@ -168,6 +201,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 ""
@ -184,6 +219,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"
@ -209,10 +258,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 ""
@ -224,6 +275,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 ""
@ -236,6 +295,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 ""
@ -247,6 +316,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 ""
@ -255,6 +332,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 ""
@ -310,6 +391,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 ""
@ -321,6 +408,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 ""
@ -330,6 +426,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 ""
@ -342,6 +444,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 ""
@ -349,6 +461,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"
@ -366,6 +482,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 ""
@ -375,6 +503,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"
@ -391,6 +526,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 ""
@ -401,6 +545,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 ""
@ -411,10 +562,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 ""
@ -430,10 +588,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 ""
@ -473,6 +644,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``."
@ -498,6 +676,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 ""
@ -505,6 +692,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

@ -20,6 +20,7 @@ msgstr ""
#: ../Doc/howto/urllib2.rst:5
msgid "HOWTO Fetch Internet Resources Using The urllib Package"
msgstr ""
"Guide pratique : récupérer des ressources web en utilisant le module *urllib*"
#: ../Doc/howto/urllib2.rst:0
msgid "Author"

View File

@ -1005,12 +1005,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 ""
@ -1019,10 +1025,14 @@ msgid ""
"that pure Python modules and extension modules are installed into the same "
"location. Files are installed as follows:"
msgstr ""
"Le dossier racine de l'installation est défini par l'option :option:`!--"
"prefix`. L'option :option:`!--exec-prefix` n'est pas gérée sur Windows, ce "
"qui signifie que les modules Python et les modules d'extension sont "
"installés au même endroit. Les fichiers sont installés selon ce tableau :"
#: ../Doc/install/index.rst:523
msgid ":file:`{prefix}\\\\Scripts`"
msgstr ""
msgstr ":file:`{prefix}\\\\Scripts`"
#: ../Doc/install/index.rst:525
msgid ":file:`{prefix}\\\\Include\\\\{distname}`"
@ -1030,7 +1040,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 ""
@ -1040,6 +1050,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 ""
@ -1047,38 +1063,41 @@ msgid ""
"schemes and override some of the installation directories used for the "
"various types of files, using these options:"
msgstr ""
"Pour créer un modèle d'installation personnalisé, partez d'un modèle "
"alternatif et remplacez les dossiers d'installation de types de fichiers "
"donnés via ces options :"
#: ../Doc/install/index.rst:545
msgid "Override option"
msgstr ""
msgstr "Option"
#: ../Doc/install/index.rst:547
msgid "``--install-purelib``"
msgstr ""
msgstr "``--install-purelib``"
#: ../Doc/install/index.rst:548
msgid "``--install-platlib``"
msgstr ""
msgstr "``--install-platlib``"
#: ../Doc/install/index.rst:549
msgid "all modules"
msgstr ""
msgstr "tous les modules"
#: ../Doc/install/index.rst:549
msgid "``--install-lib``"
msgstr ""
msgstr "``--install-lib``"
#: ../Doc/install/index.rst:550
msgid "``--install-scripts``"
msgstr ""
msgstr "``--install-scripts``"
#: ../Doc/install/index.rst:551
msgid "``--install-data``"
msgstr ""
msgstr "``--install-data``"
#: ../Doc/install/index.rst:552
msgid "``--install-headers``"
msgstr ""
msgstr "``--install-headers``"
#: ../Doc/install/index.rst:555
msgid ""

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,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`"
@ -233,12 +233,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:161
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:167
msgid ""
@ -248,6 +253,12 @@ 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:176
msgid ""
@ -256,6 +267,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:184
msgid ""
@ -264,6 +280,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:191
msgid ""
@ -272,10 +293,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:196
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:200
msgid ""
@ -284,43 +311,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:211
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:216
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:221
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:224
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:229
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:235
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:241
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:247
msgid ""
@ -331,24 +377,31 @@ msgstr ""
#: ../Doc/library/calendar.rst:254
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:259
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:265
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:270
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:276
msgid ""
@ -358,20 +411,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:283
msgid "The :mod:`calendar` module exports the following data attributes:"
msgstr ""
msgstr "Le module :mod:`calendar` exporte les attributs suivants :"
#: ../Doc/library/calendar.rst:287
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:292
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:297
msgid ""
@ -379,6 +441,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:304
msgid ""
@ -386,6 +452,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:313
msgid "Module :mod:`datetime`"
@ -396,6 +466,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:315
msgid "Module :mod:`time`"
@ -403,4 +475,4 @@ msgstr "Module :mod:`time`"
#: ../Doc/library/calendar.rst:316
msgid "Low-level time related functions."
msgstr ""
msgstr "Fonctions bas niveau relatives au temps."

View File

@ -20,6 +20,7 @@ msgstr ""
#: ../Doc/library/compileall.rst:2
msgid ":mod:`compileall` --- Byte-compile Python libraries"
msgstr ""
":mod:`compileall` — Génération du code intermédiaire des bibliothèques Python"
#: ../Doc/library/compileall.rst:7
msgid "**Source code:** :source:`Lib/compileall.py`"
@ -33,16 +34,25 @@ msgid ""
"installation time, which makes them available for use even by users who "
"don't have write permission to the library directories."
msgstr ""
"Ce module contient des fonctions qui facilitent l'installation de "
"bibliothèques Python. Elles compilent, sous forme de code intermédiaire "
"(*bytecode*), les fichiers source situés dans un dossier de votre choix. Ce "
"module est particulièrement utile pour générer les fichiers de code "
"intermédiaire lors de l'installation d'une bibliothèque, les rendant "
"disponibles même pour les utilisateurs qui n'ont pas les privilèges "
"d'écriture dans l'emplacement d'installation."
#: ../Doc/library/compileall.rst:19
msgid "Command-line use"
msgstr ""
msgstr "Utilisation en ligne de commande"
#: ../Doc/library/compileall.rst:21
msgid ""
"This module can work as a script (using :program:`python -m compileall`) to "
"compile Python sources."
msgstr ""
"On peut se servir de ce module comme d'un script (avec :program:`python -m "
"compileall`) pour compiler les fichiers source Python."
#: ../Doc/library/compileall.rst:29
msgid ""
@ -50,22 +60,33 @@ msgid ""
"files, traversed recursively. If no argument is given, behave as if the "
"command line was ``-l <directories from sys.path>``."
msgstr ""
"Les arguments positionnels sont les fichiers à compiler. Ils peuvent aussi "
"être des dossiers, qui sont alors parcourus récursivement pour compiler tous "
"les fichiers de code :file:`.py` qu'ils contiennent. Lorsque le script ne "
"reçoit aucun argument, il fait comme s'il avait été appelé avec `-l <tous "
"les dossiers de sys.path>`."
#: ../Doc/library/compileall.rst:35
msgid ""
"Do not recurse into subdirectories, only compile source code files directly "
"contained in the named or implied directories."
msgstr ""
"Compiler uniquement les fichiers situés directement dans les dossiers passés "
"en argument ou implicites, sans descendre récursivement dans les sous-"
"dossiers."
#: ../Doc/library/compileall.rst:40
msgid "Force rebuild even if timestamps are up-to-date."
msgstr ""
msgstr "Forcer la recompilation même si les horodatages sont à jour."
#: ../Doc/library/compileall.rst:44
msgid ""
"Do not print the list of files compiled. If passed once, error messages will "
"still be printed. If passed twice (``-qq``), all output is suppressed."
msgstr ""
"Supprimer l'affichage des noms des fichiers compilés.Si cette option est "
"donnée une seule fois, les erreurs sont affichées malgré tout. Vous pouvez "
"les supprimer en passant l'option deux fois (c'est-à-dire avec ``-qq``)."
#: ../Doc/library/compileall.rst:49
msgid ""
@ -75,12 +96,19 @@ msgid ""
"where the source file does not exist at the time the byte-code file is "
"executed."
msgstr ""
"Ce nom de dossier est ajouté en tête du chemin de chaque fichier compilé. Il "
"aura une influence sur les traces d'appels pour les erreurs levées lors de "
"la compilation, et sera reflété dans les fichiers de code intermédiaire, "
"pour utilisation dans les traces d'appels et autres messages si le fichier "
"source n'existe pas au moment de l'exécution."
#: ../Doc/library/compileall.rst:57
msgid ""
"regex is used to search the full path to each file considered for "
"compilation, and if the regex produces a match, the file is skipped."
msgstr ""
"Exclut tous les fichiers dont les noms correspondent à l'expression "
"régulière *regex*."
#: ../Doc/library/compileall.rst:62
msgid ""
@ -88,6 +116,8 @@ msgid ""
"files and directories to compile. If ``list`` is ``-``, read lines from "
"``stdin``."
msgstr ""
"Ajoute chaque ligne du fichier *list* aux fichiers et dossiers à compiler. "
"*list* peut être ``-``, auquel cas le script lit l'entrée standard."
#: ../Doc/library/compileall.rst:68
msgid ""
@ -96,6 +126,11 @@ msgid ""
"is to write files to their :pep:`3147` locations and names, which allows "
"byte-code files from multiple versions of Python to coexist."
msgstr ""
"Utilise l'ancienne manière de nommer et placer les fichiers de code "
"intermédiaire, en écrasant éventuellement ceux générés par une autre version "
"de Python. Par défaut, les règles décrites dans la :pep:`3147` s'appliquent. "
"Elles permettent à différentes versions de l'interpréteur Python de "
"coexister en conservant chacune ses propres fichiers ``.pyc``."
#: ../Doc/library/compileall.rst:75
msgid ""
@ -104,16 +139,23 @@ msgid ""
"compileall <directory> -r 0` is equivalent to :program:`python -m compileall "
"<directory> -l`."
msgstr ""
"Règle le niveau de récursion maximal pour le parcours des sous-dossiers. "
"Lorsque cette option est fournie, ``-l`` est ignorée. :program:`python -m "
"compileall <dossier> -r 0` revient au même que :program:`python -m "
"compileall <dossier> -l`."
#: ../Doc/library/compileall.rst:82
msgid ""
"Use *N* workers to compile the files within the given directory. If ``0`` is "
"used, then the result of :func:`os.cpu_count()` will be used."
msgstr ""
"Effectue la compilation avec *N* processus parallèles. Si *N* vaut 0, autant "
"de processus sont créés que la machine dispose de processeurs (résultat de :"
"func:`os.cpu_count()`)."
#: ../Doc/library/compileall.rst:86
msgid "Added the ``-i``, ``-b`` and ``-h`` options."
msgstr ""
msgstr "ajout des options ``-i``, ``-b`` et ``-h``."
#: ../Doc/library/compileall.rst:89
msgid ""
@ -121,6 +163,9 @@ msgid ""
"to a multilevel value. ``-b`` will always produce a byte-code file ending "
"in ``.pyc``, never ``.pyo``."
msgstr ""
"ajout des options ``-j``, ``-r`` et ``-qq`` (l'option ``-q`` peut donc "
"prendre plusieurs niveaux). ``-b`` produit toujours un fichier de code "
"intermédiaire portant l'extension ``.pyc``, et jamais ``.pyo``."
#: ../Doc/library/compileall.rst:95
msgid ""
@ -128,10 +173,14 @@ msgid ""
"the :func:`compile` function, because the Python interpreter itself already "
"provides the option: :program:`python -O -m compileall`."
msgstr ""
"Il n'y a pas d'option en ligne de commande pour contrôler le niveau "
"d'optimisation utilisé par la fonction :func:`compile`. Il suffit en effet "
"d'utiliser l'option ``-O`` de l'interpréteur Python lui-même : :program:"
"`python -O -m compileall`."
#: ../Doc/library/compileall.rst:100
msgid "Public functions"
msgstr ""
msgstr "Fonctions publiques"
#: ../Doc/library/compileall.rst:104
msgid ""
@ -139,6 +188,9 @@ msgid ""
"py` files along the way. Return a true value if all the files compiled "
"successfully, and a false value otherwise."
msgstr ""
"Parcourt récursivement le dossier *dir*, en compilant tous les fichiers :"
"file:`.py`. Renvoie une valeur vraie si tous les fichiers ont été compilés "
"sans erreur, et une valeur fausse dans le cas contraire."
#: ../Doc/library/compileall.rst:108
msgid ""
@ -154,12 +206,19 @@ msgid ""
"where the source file does not exist at the time the byte-code file is "
"executed."
msgstr ""
"Si *ddir* est fourni, il est ajouté en tête du chemin de chaque fichier "
"compilé, ce qui modifie l'affichage des traces d'appels pour les erreurs qui "
"seraient levées lors de la compilation. De plus, il se retrouve dans les "
"fichiers de code intermédiaire, pour utilisation dans les traces et autres "
"messages si le fichier source n'existe pas au moment de l'exécution."
#: ../Doc/library/compileall.rst:117
msgid ""
"If *force* is true, modules are re-compiled even if the timestamps are up to "
"date."
msgstr ""
"Si *force* est vrai, les modules sont recompilés même si leurs horodatages "
"sont à jour."
#: ../Doc/library/compileall.rst:120
msgid ""
@ -174,6 +233,10 @@ msgid ""
"information are printed to standard out. Set to ``1``, only errors are "
"printed. Set to ``2``, all output is suppressed."
msgstr ""
"Si *quiet* est ``False`` ou bien ``0`` (la valeur par défaut), les noms de "
"fichiers et d'autres informations sont affichés sur la sortie standard. Avec "
"``1``, seules les erreurs sont affichées. Avec ``2``, aucune sortie n'est "
"émise."
#: ../Doc/library/compileall.rst:128 ../Doc/library/compileall.rst:178
msgid ""
@ -183,6 +246,12 @@ msgid ""
"names, which allows byte-code files from multiple versions of Python to "
"coexist."
msgstr ""
"Si *legacy* est vrai, les fichiers de code intermédiaire sont nommés et "
"placés selon l'ancienne méthode, en écrasant éventuellement ceux générés par "
"une autre version de Python. Par défaut, les règles décrites dans la :pep:"
"`3147` s'appliquent. Elles permettent à différentes versions de "
"l'interpréteur Python de coexister en conservant chacune ses propres "
"fichiers ``.pyc``."
#: ../Doc/library/compileall.rst:134 ../Doc/library/compileall.rst:184
msgid ""
@ -201,16 +270,16 @@ msgstr ""
#: ../Doc/library/compileall.rst:143 ../Doc/library/compileall.rst:206
msgid "Added the *legacy* and *optimize* parameter."
msgstr ""
msgstr "ajout des paramètres *legacy* et *optimize*."
#: ../Doc/library/compileall.rst:146
msgid "Added the *workers* parameter."
msgstr ""
msgstr "ajout du paramètre *workers*."
#: ../Doc/library/compileall.rst:149 ../Doc/library/compileall.rst:189
#: ../Doc/library/compileall.rst:209
msgid "*quiet* parameter was changed to a multilevel value."
msgstr ""
msgstr "le paramètre *quiet* peut prendre plusieurs niveaux."
#: ../Doc/library/compileall.rst:152 ../Doc/library/compileall.rst:192
#: ../Doc/library/compileall.rst:212
@ -218,6 +287,8 @@ msgid ""
"The *legacy* parameter only writes out ``.pyc`` files, not ``.pyo`` files no "
"matter what the value of *optimize* is."
msgstr ""
"Lorsque le paramètre *legacy* est vrai, des fichiers ``.pyc``, et jamais ``."
"pyo``, sont générés, quel que soit le niveau d'optimisation."
#: ../Doc/library/compileall.rst:156
msgid "Accepts a :term:`path-like object`."
@ -228,6 +299,8 @@ msgid ""
"Compile the file with path *fullname*. Return a true value if the file "
"compiled successfully, and a false value otherwise."
msgstr ""
"Compile le fichier dont le chemin est donné par *fullname*. Renvoie une "
"valeur vraie si et seulement si le fichier est compilé sans erreur."
#: ../Doc/library/compileall.rst:164
msgid ""
@ -237,6 +310,11 @@ msgid ""
"where the source file does not exist at the time the byte-code file is "
"executed."
msgstr ""
"Si *ddir* est fourni, il est ajouté en tête du chemin de chaque fichier "
"compilé, ce qui modifie l'affichage des traces pour les erreurs qui seraient "
"levées lors de la compilation. De plus, il se retrouve dans les fichiers de "
"code intermédiaire, pour utilisation dans les traces et autres messages si "
"le fichier source n'existe pas au moment de l'exécution."
#: ../Doc/library/compileall.rst:170
msgid ""
@ -251,6 +329,9 @@ msgid ""
"true value if all the files compiled successfully, and a false value "
"otherwise."
msgstr ""
"Compile tous les fichiers :file:`.py` contenus dans les dossiers de ``sys."
"path``. Renvoie une valeur vraie s'ils ont tous été compilés sans erreur, et "
"une valeur fausse dans le cas contraire."
#: ../Doc/library/compileall.rst:201
msgid ""
@ -259,17 +340,23 @@ msgid ""
"`compile_dir` function. Note that unlike the other compile functions, "
"``maxlevels`` defaults to ``0``."
msgstr ""
"Si *skip_curdir* est vrai (c'est le cas par défaut), le dossier courant est "
"exclu de la recherche. Les autres paramètres sont passés à :func:"
"`compile_dir`. Notez que contrairement aux autres fonctions de ce module, la "
"valeur par défaut de ``maxlevels`` est ``0``."
#: ../Doc/library/compileall.rst:216
msgid ""
"To force a recompile of all the :file:`.py` files in the :file:`Lib/` "
"subdirectory and all its subdirectories::"
msgstr ""
"Pour forcer la recompilation de tous les fichiers :file:`.py` dans le "
"dossier :file:`Lib/` et tous ses sous-dossiers ::"
#: ../Doc/library/compileall.rst:233
msgid "Module :mod:`py_compile`"
msgstr ""
msgstr "Module :mod:`py_compile`"
#: ../Doc/library/compileall.rst:234
msgid "Byte-compile a single source file."
msgstr ""
msgstr "Compiler un fichier source unique."

View File

@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/library/configparser.rst:2
msgid ":mod:`configparser` --- Configuration file parser"
msgstr ""
msgstr ":mod:`configparser` — Lecture et écriture de fichiers de configuration"
#: ../Doc/library/configparser.rst:14
msgid "**Source code:** :source:`Lib/configparser.py`"
@ -32,40 +32,55 @@ msgid ""
"found in Microsoft Windows INI files. You can use this to write Python "
"programs which can be customized by end users easily."
msgstr ""
"Ce module fournit la classe :class:`ConfigParser`. Cette classe implémente "
"un langage de configuration basique, proche de ce que l'on peut trouver dans "
"les fichiers *INI* de Microsoft Windows. Vous pouvez utiliser ce module pour "
"écrire des programmes Python qui sont facilement configurables par "
"l'utilisateur final."
#: ../Doc/library/configparser.rst:31
msgid ""
"This library does *not* interpret or write the value-type prefixes used in "
"the Windows Registry extended version of INI syntax."
msgstr ""
"Ce module *n'implémente pas* la version étendue de la syntaxe *INI* qui "
"permet de lire ou d'écrire des valeurs dans la base de registre Windows en "
"utilisant divers préfixes."
#: ../Doc/library/configparser.rst:38
msgid "Module :mod:`shlex`"
msgstr ""
msgstr "Module :mod:`shlex`"
#: ../Doc/library/configparser.rst:37
msgid ""
"Support for creating Unix shell-like mini-languages which can be used as an "
"alternate format for application configuration files."
msgstr ""
"Ce module fournit les outils permettant de créer des mini-langages de "
"programmation ressemblant au shell Unix, qui peuvent être utilisés comme "
"alternative pour les fichiers de configuration d'une application."
#: ../Doc/library/configparser.rst:41
msgid "Module :mod:`json`"
msgstr ""
msgstr "Module :mod:`json`"
#: ../Doc/library/configparser.rst:41
msgid ""
"The json module implements a subset of JavaScript syntax which can also be "
"used for this purpose."
msgstr ""
"Le module *json* implémente un sous-ensemble de la syntaxe JavaScript, qui "
"peut aussi être utilisée à cet effet."
#: ../Doc/library/configparser.rst:46
msgid "Quick Start"
msgstr ""
msgstr "Premiers pas"
#: ../Doc/library/configparser.rst:48
msgid "Let's take a very basic configuration file that looks like this:"
msgstr ""
"Prenons pour exemple un fichier de configuration très simple ressemblant à "
"ceci :"
#: ../Doc/library/configparser.rst:65
msgid ""
@ -75,6 +90,11 @@ msgid ""
"classes can read and write such files. Let's start by creating the above "
"configuration file programmatically."
msgstr ""
"La structure des fichiers *INI* est décrite dans la `section suivante "
"<#supported-ini-file-structure>`_. En bref, chaque fichier est constitué de "
"sections, chacune des sections comprenant des clés associées à des valeurs. "
"Les classes du module :mod:`configparser` peuvent écrire et lire de tels "
"fichiers. Commençons par le code qui permet de générer le fichier ci-dessus."
#: ../Doc/library/configparser.rst:89
msgid ""
@ -82,12 +102,20 @@ msgid ""
"are differences, `outlined later <#mapping-protocol-access>`_, but the "
"behavior is very close to what you would expect from a dictionary."
msgstr ""
"Comme vous pouvez le voir, nous pouvons manipuler l'instance renvoyée par "
"l'analyse du fichier de configuration comme s'il s'agissait d'un "
"dictionnaire. Il y a des différences, comme `explicité ci-dessous <#mapping-"
"protocol-access>`_, mais le comportement de l'instance est très proche de ce "
"que vous pourriez attendre d'un dictionnaire."
#: ../Doc/library/configparser.rst:93
msgid ""
"Now that we have created and saved a configuration file, let's read it back "
"and explore the data it holds."
msgstr ""
"Nous venons de créer et sauvegarder un fichier de configuration. Voyons "
"maintenant comment nous pouvons le lire et accéder aux données qu'il "
"contient."
#: ../Doc/library/configparser.rst:129
msgid ""
@ -96,10 +124,15 @@ msgid ""
"other sections [1]_. Note also that keys in sections are case-insensitive "
"and stored in lowercase [1]_."
msgstr ""
"Comme vous le voyez, l'API est assez simple à utiliser. La seule partie un "
"peu magique concerne la section ``DEFAULT``, qui fournit les valeurs par "
"défaut pour toutes les autres sections [1]_. Notez également que les clés à "
"lintérieur des sections ne sont pas sensibles à la casse et qu'elles sont "
"stockées en minuscules. [1]_."
#: ../Doc/library/configparser.rst:136
msgid "Supported Datatypes"
msgstr ""
msgstr "Types de données prises en charge"
#: ../Doc/library/configparser.rst:138
msgid ""
@ -107,6 +140,10 @@ msgid ""
"always storing them internally as strings. This means that if you need "
"other datatypes, you should convert on your own:"
msgstr ""
"Les lecteurs de configuration n'essayent jamais de deviner le type des "
"valeurs présentes dans les fichiers de configuration, et elles sont toujours "
"stockées en tant que chaînes de caractères. Ainsi, si vous avez besoin d'un "
"type différent, vous devez effectuer la conversion vous-même :"
#: ../Doc/library/configparser.rst:149
msgid ""
@ -118,6 +155,16 @@ msgid ""
"and recognizes Boolean values from ``'yes'``/``'no'``, ``'on'``/``'off'``, "
"``'true'``/``'false'`` and ``'1'``/``'0'`` [1]_. For example:"
msgstr ""
"Puisque que cette tâche doit être fréquemment accomplie, les lecteurs de "
"configurations fournissent un ensemble d'accesseurs permettant de gérer les "
"entiers, les flottants et les booléens plus facilement. Le cas des booléens "
"est le plus pertinent. En effet, vous ne pouvez pas vous contenter "
"d'utiliser la fonction ``bool()`` directement puisque ``bool('False')`` "
"renvoie ``True``. C'est pourquoi les lecteurs fournissent également la "
"méthode :meth:`~ConfigParser.getboolean`. Cette méthode n'est pas sensible à "
"la casse et interprète correctement les valeurs booléennes associées aux "
"chaînes de caractères comme ``'yes'``-``'no'``, ``'on'``-``'off'``, "
"``'true'``-``'false'`` et ``'1'``-``'0'`` [1]_. Par exemple :"
#: ../Doc/library/configparser.rst:166
msgid ""
@ -126,16 +173,22 @@ msgid ""
"methods. You can register your own converters and customize the provided "
"ones. [1]_"
msgstr ""
"En plus de :meth:`~ConfigParser.getboolean`, les lecteurs de configurations "
"fournissent également des méthodes similaires comme :meth:`~ConfigParser."
"getint` et :meth:`~ConfigParser.getfloat`. Vous pouvez enregistrer vos "
"propres convertisseurs et personnaliser ceux déjà fournis. [1]_"
#: ../Doc/library/configparser.rst:172
msgid "Fallback Values"
msgstr ""
msgstr "Valeurs de substitution"
#: ../Doc/library/configparser.rst:174
msgid ""
"As with a dictionary, you can use a section's :meth:`get` method to provide "
"fallback values:"
msgstr ""
"Comme pour un dictionnaire, vous pouvez utiliser la méthode :meth:`get` "
"d'une section en spécifiant une valeur de substitution :"
#: ../Doc/library/configparser.rst:187
msgid ""
@ -145,6 +198,11 @@ msgid ""
"``'topsecret.server.com'``, we will always get the default, even if we "
"specify a fallback:"
msgstr ""
"Notez que les valeurs par défaut sont prioritaires par rapport aux valeurs "
"de substitution. Dans note exemple, la valeur de la clé ``CompressionLevel`` "
"était spécifiée uniquement dans la section ``DEFAULT``. Si nous essayons de "
"la récupérer depuis la section ``'topsecret.server.com'``, nous obtenons la "
"valeur par défaut, même en ayant spécifié une valeur de substitution :"
#: ../Doc/library/configparser.rst:198
msgid ""
@ -153,6 +211,10 @@ msgid ""
"compatibility. When using this method, a fallback value can be provided via "
"the ``fallback`` keyword-only argument:"
msgstr ""
"Il est important de savoir que la méthode :meth:`get` appelée au niveau de "
"l'analyseur fournit une interface particulière et plus complexe, qui est "
"maintenue pour des raisons de rétrocompatibilité. Vous pouvez fournir une "
"valeur de substitution via l'argument obligatoirement nommé ``fallback`` :"
#: ../Doc/library/configparser.rst:209
msgid ""
@ -160,10 +222,13 @@ msgid ""
"getint`, :meth:`~ConfigParser.getfloat` and :meth:`~ConfigParser.getboolean` "
"methods, for example:"
msgstr ""
"L'argument ``fallback`` peut être utilisé de la même façon avec les "
"méthodes :meth:`~ConfigParser.getint`, :meth:`~ConfigParser.getfloat` et :"
"meth:`~ConfigParser.getboolean`. Par exemple :"
#: ../Doc/library/configparser.rst:225
msgid "Supported INI File Structure"
msgstr ""
msgstr "Structure des fichiers *INI* prise en change"
#: ../Doc/library/configparser.rst:227
msgid ""
@ -176,6 +241,17 @@ msgid ""
"indented deeper than the first line of the value. Depending on the parser's "
"mode, blank lines may be treated as parts of multiline values or ignored."
msgstr ""
"Un fichier de configuration est constitué de sections. Chacune des sections "
"commence par un en-tête ``[section]``, suivi d'une liste de définitions clés-"
"valeurs séparées par une chaîne de caractères spécifique (``=`` ou ``:`` par "
"défaut [1]_). Par défaut, les noms des sections sont sensibles à la casse "
"mais pas les clés [1]_. Les caractères d'espacement en début et en fin des "
"clés et des valeurs sont supprimés. Les valeurs peuvent être absentes, "
"auquel cas il est possible d'omettre le délimiteur entre clé et valeur. Les "
"valeurs peuvent s'étendre sur plusieurs lignes, à partir du moment où les "
"lignes supplémentaires sont plus indentées que la première ligne. Les lignes "
"vides peuvent être considérées comme faisant partie des valeurs multi "
"lignes, en fonction de la configuration de l'analyseur."
#: ../Doc/library/configparser.rst:236
msgid ""
@ -183,6 +259,10 @@ msgid ""
"(``#`` and ``;`` by default [1]_). Comments may appear on their own on an "
"otherwise empty line, possibly indented. [1]_"
msgstr ""
"Les fichiers de configuration peuvent contenir des commentaires, préfixés "
"par des caractères spécifiques (``#`` et ``;`` par défaut [1]_). Les "
"commentaires peuvent apparaître à l'emplacement d'une ligne vide, et peuvent "
"aussi être indentés. [1]_"
#: ../Doc/library/configparser.rst:240 ../Doc/library/configparser.rst:301
msgid "For example:"
@ -190,7 +270,7 @@ msgstr "Par exemple :"
#: ../Doc/library/configparser.rst:288
msgid "Interpolation of values"
msgstr ""
msgstr "Interpolation des valeurs"
#: ../Doc/library/configparser.rst:290
msgid ""
@ -198,6 +278,9 @@ msgid ""
"interpolation. This means values can be preprocessed before returning them "
"from ``get()`` calls."
msgstr ""
"La classe :class:`ConfigParser` prend en charge linterpolation, en plus des "
"fonctionnalités de base. Cela signifie que les valeurs peuvent être traitées "
"avant d'être renvoyées par les appels aux méthodes ``get()``."
#: ../Doc/library/configparser.rst:296
msgid ""
@ -206,6 +289,11 @@ msgid ""
"or values in the special default section [1]_. Additional default values "
"can be provided on initialization."
msgstr ""
"Implémentation par défaut utilisée par la classe :class:`ConfigParser`. "
"Celle-ci permet aux valeurs de contenir des chaînes de formatage se référant "
"à d'autres valeurs dans la même section, ou bien à des valeurs dans la "
"section spéciale par défaut [1]_. D'autres valeurs par défaut peuvent être "
"fournies au moment de l'initialisation de cette classe."
#: ../Doc/library/configparser.rst:311
msgid ""
@ -216,6 +304,13 @@ msgid ""
"keys used in the chain of references do not have to be specified in any "
"specific order in the configuration file."
msgstr ""
"Dans l'exemple ci-dessus, une classe :class:`Configparser` dont l'attribut "
"*interpolation* vaut ``BasicInterpolation()`` interprète la chaîne de "
"caractères ``%(home_dir)s`` en utilisant la valeur de la clé ``home_dir`` "
"(``/Users`` dans ce cas). ``%(my_dir)s`` est interprétée comme ``/Users/"
"lumberjack``. Les interpolations sont effectuées à la volée. Ainsi, les clés "
"utilisées comme référence à lintérieur des chaînes de formatage peuvent "
"être définies dans le fichier de configuration dans n'importe quel ordre."
#: ../Doc/library/configparser.rst:318
msgid ""
@ -223,6 +318,9 @@ msgid ""
"%(my_dir)s/Pictures`` as the value of ``my_pictures`` and ``%(home_dir)s/"
"lumberjack`` as the value of ``my_dir``."
msgstr ""
"Si l'attribut ``interpolation`` vaut ``None``, le lecteur renvoie ``"
"%(my_dir)s/Pictures`` comme valeur pour ``my_pictures`` et ``%(home_dir)s/"
"lumberjack`` comme valeur pour ``my_dir``."
#: ../Doc/library/configparser.rst:324
msgid ""
@ -233,20 +331,30 @@ msgid ""
"`` part is omitted, interpolation defaults to the current section (and "
"possibly the default values from the special section)."
msgstr ""
"Autre façon de gérer l'interpolation en utilisant une syntaxe plus avancée, "
"utilisée par exemple par ``zc.buildout``. Cette syntaxe étendue utilise la "
"chaîne de formatage ``{section:option}}`` pour désigner une valeur "
"appartenant à une autre section. L'interpolation peut s'étendre sur "
"plusieurs niveaux. Par commodité, si la partie ``{section}`` est absente, "
"l'interpolation utilise la section courante par défaut (et, le cas échéant, "
"les valeurs de la section par défaut spéciale)."
#: ../Doc/library/configparser.rst:331
msgid ""
"For example, the configuration specified above with basic interpolation, "
"would look like this with extended interpolation:"
msgstr ""
"Voici comment transformer la configuration ci-dessus avec la syntaxe "
"d'interpolation étendue :"
#: ../Doc/library/configparser.rst:341
msgid "Values from other sections can be fetched as well:"
msgstr ""
"Vous pouvez également récupérer des valeurs appartenant aux autres sections :"
#: ../Doc/library/configparser.rst:363
msgid "Mapping Protocol Access"
msgstr ""
msgstr "Protocole d'accès associatif"
#: ../Doc/library/configparser.rst:367
msgid ""
@ -255,6 +363,11 @@ msgid ""
"`configparser`, the mapping interface implementation is using the "
"``parser['section']['option']`` notation."
msgstr ""
"Le terme « protocole d'accès associatif » est utilisé pour décrire la "
"fonctionnalité qui permet d'utiliser des objets personnalisés comme s'il "
"s'agissait de dictionnaires. Dans le cas du module :mod:`configparser`, "
"limplémentation du protocole utilise la notation ``parser['section']"
"['option']``."
#: ../Doc/library/configparser.rst:372
msgid ""
@ -264,6 +377,12 @@ msgid ""
"values are changed on a section proxy, they are actually mutated in the "
"original parser."
msgstr ""
"En particulier, ``parser['section']`` renvoie un mandataire vers les données "
"de la section correspondantes dans l'analyseur. Cela signifie que les "
"valeurs ne sont pas copiées, mais prélevées depuis l'analyseur initial à la "
"demande. Plus important encore, lorsque les valeurs sont changées dans un "
"mandataire pour une section, elles sont en réalité changées dans l'analyseur "
"initial."
#: ../Doc/library/configparser.rst:378
msgid ""
@ -272,6 +391,11 @@ msgid ""
"`~collections.abc.MutableMapping` ABC. However, there are a few differences "
"that should be taken into account:"
msgstr ""
"Les objets du module :mod:`configparser` se comportent le plus possible "
"comme des vrais dictionnaires. L'interface est complète et suit les "
"définitions fournies par la classe abstraite :class:`~collections.abc."
"MutableMapping`. Cependant, il faut prendre en compte un certain nombre de "
"différences :"
#: ../Doc/library/configparser.rst:383
msgid ""
@ -281,6 +405,11 @@ msgid ""
"default. At the same time, for a section that holds the key ``'a'``, both "
"expressions return ``True``::"
msgstr ""
"Par défaut, toutes les clés des sections sont accessibles sans respect de la "
"casse [1]_. Par exemple, ``for option in parser[\"section\"]`` renvoie "
"uniquement les clés telles que transformées par la méthode ``optionxform``, "
"c'est-à-dire des clés transformées en minuscules. De même, pour une section "
"contenant la clé ``a``, les deux expressions suivantes renvoient ``True`` ::"
#: ../Doc/library/configparser.rst:391
msgid ""
@ -294,7 +423,7 @@ msgstr ""
#: ../Doc/library/configparser.rst:398
msgid "``DEFAULTSECT`` cannot be removed from the parser:"
msgstr ""
msgstr "La section ``DEFAULTSECT`` ne peut pas être supprimée ::"
#: ../Doc/library/configparser.rst:400
msgid "trying to delete it raises ``ValueError``,"
@ -302,11 +431,11 @@ msgstr ""
#: ../Doc/library/configparser.rst:402
msgid "``parser.clear()`` leaves it intact,"
msgstr ""
msgstr "appeler ``parser.clear()`` la laisse intacte ;"
#: ../Doc/library/configparser.rst:404
msgid "``parser.popitem()`` never returns it."
msgstr ""
msgstr "appeler ```parser.popitem()`` ne la renvoie jamais."
#: ../Doc/library/configparser.rst:406
msgid ""
@ -314,6 +443,10 @@ msgid ""
"fallback value. Note however that the section-level ``get()`` methods are "
"compatible both with the mapping protocol and the classic configparser API."
msgstr ""
"Le deuxième argument de ``parser.get(section, option, **kwargs)`` n'est "
"**pas** une valeur de substitution. Notez cependant que les méthodes "
"``get()`` fournies par les sections sont compatibles à la fois avec le "
"protocole associatif et avec l'API classique de *configparser*."
#: ../Doc/library/configparser.rst:410
msgid ""
@ -324,6 +457,13 @@ msgid ""
"*value* pairs for a specified ``section``, with all interpolations expanded "
"(unless ``raw=True`` is provided)."
msgstr ""
"La méthode ``parser.items()`` est compatible avec le protocole d'accès "
"associatif et renvoie une liste de paires *section_name*, *section_proxy*, "
"en incluant la section *DEFAULTSECT*. Cependant, cette méthode peut aussi "
"être appelée avec des arguments : ``parser.items(section, raw, vars)``. Dans "
"ce cas, la méthode renvoie une liste de paires *option*, *value* pour la "
"section spécifiée, en interprétant les interpolations (à moins d'utiliser "
"``raw=True``)."
#: ../Doc/library/configparser.rst:417
msgid ""
@ -331,10 +471,13 @@ msgid ""
"that subclasses overriding the original interface still should have mappings "
"working as expected."
msgstr ""
"Le protocole d'accès est implémenté au-dessus de l'ancienne API. Ainsi, les "
"sous-classes qui écrasent des méthodes de l'interface originale se "
"comportent correctement du point de vue du protocole d'accès."
#: ../Doc/library/configparser.rst:423
msgid "Customizing Parser Behaviour"
msgstr ""
msgstr "Personnalisation du comportement de l'analyseur"
#: ../Doc/library/configparser.rst:425
msgid ""
@ -344,16 +487,25 @@ msgid ""
"dictated by historical background and it's very likely that you will want to "
"customize some of the features."
msgstr ""
"Il existe pratiquement autant de variations du format *INI* que "
"d'applications qui l'utilisent. Le module :mod:`configparser` fait son "
"possible pour gérer le plus grand nombre de variantes raisonnables du style "
"*INI*. Le comportement par défaut est principalement contraint par des "
"raisons historiques. De ce fait, il est très probable qu'il soit nécessaire "
"de personnaliser certaines des fonctionnalités de ce module."
#: ../Doc/library/configparser.rst:431
msgid ""
"The most common way to change the way a specific config parser works is to "
"use the :meth:`__init__` options:"
msgstr ""
"La méthode la plus fréquemment utilisée pour changer la façon dont se "
"comporte un analyseur est dutiliser les options de la méthode :meth:"
"`__init__` :"
#: ../Doc/library/configparser.rst:434
msgid "*defaults*, default value: ``None``"
msgstr ""
msgstr "*defaults*, valeur par défaut : ``None``"
#: ../Doc/library/configparser.rst:436
msgid ""
@ -362,12 +514,20 @@ msgid ""
"concise configuration files that don't specify values which are the same as "
"the documented default."
msgstr ""
"Cette option accepte un dictionnaire de paires clé—valeurs qui seront "
"placées dans la section ``DEFAULT`` initialement. Ceci est une façon "
"élégante de prendre en charge des fichiers de configuration qui n'ont pas "
"besoin de spécifier de valeurs lorsque celles-ci sont identiques aux valeurs "
"par défaut documentées."
#: ../Doc/library/configparser.rst:441
msgid ""
"Hint: if you want to specify default values for a specific section, use :"
"meth:`read_dict` before you read the actual file."
msgstr ""
"Conseil : utilisez la méthode :meth:`read_dict` avant de lire le ficher de "
"configuration si vous voulez spécifier des valeurs par défaut pour une "
"section spécifique."
#: ../Doc/library/configparser.rst:444
msgid "*dict_type*, default value: :class:`collections.OrderedDict`"
@ -401,7 +561,7 @@ msgstr ""
#: ../Doc/library/configparser.rst:508
msgid "*allow_no_value*, default value: ``False``"
msgstr ""
msgstr "*allow_no_value*, valeur par défaut : ``False``"
#: ../Doc/library/configparser.rst:510
msgid ""
@ -410,10 +570,15 @@ msgid ""
"*allow_no_value* parameter to the constructor can be used to indicate that "
"such values should be accepted:"
msgstr ""
"Certains fichiers de configurations sont connus pour contenir des options "
"sans valeur associée, tout en se conformant à la syntaxe prise en charge par "
"le module :mod:`configparser` par ailleurs. Pour indiquer que de telles "
"valeurs sont acceptables, utilisez le paramètre *allow_no_value* lors de la "
"construction de l'instance :"
#: ../Doc/library/configparser.rst:545
msgid "*delimiters*, default value: ``('=', ':')``"
msgstr ""
msgstr "*delimiters*, valeur par défaut : ``('=', ':')``"
#: ../Doc/library/configparser.rst:547
msgid ""
@ -421,20 +586,30 @@ msgid ""
"The first occurrence of a delimiting substring on a line is considered a "
"delimiter. This means values (but not keys) can contain the delimiters."
msgstr ""
"Chaînes de caractères qui séparent les clés des valeurs à l'intérieur d'une "
"section. La première occurrence d'une telle chaîne à l'intérieur d'une ligne "
"est considérée comme un délimiteur. Cela signifie que les valeurs peuvent "
"contenir certains des délimiteurs (mais pas les clés)."
#: ../Doc/library/configparser.rst:551
msgid ""
"See also the *space_around_delimiters* argument to :meth:`ConfigParser."
"write`."
msgstr ""
"Voir aussi l'argument *space_around_delimiters* de la méthode :meth:"
"`ConfigParser.write`."
#: ../Doc/library/configparser.rst:554
msgid "*comment_prefixes*, default value: ``('#', ';')``"
msgstr ""
"*comment_prefixes* (préfixes de commentaire) — valeur par défaut : ``('#', "
"';')``"
#: ../Doc/library/configparser.rst:556
msgid "*inline_comment_prefixes*, default value: ``None``"
msgstr ""
"*inline_comment_prefixes* (préfixes de commentaire en ligne) — valeur par "
"défaut : ``('#', ';')``"
#: ../Doc/library/configparser.rst:558
msgid ""
@ -445,12 +620,23 @@ msgid ""
"well). By default inline comments are disabled and ``'#'`` and ``';'`` are "
"used as prefixes for whole line comments."
msgstr ""
"Les préfixes de commentaire indiquent le début d'un commentaire valide au "
"sein d'un fichier de configuration. Ils ne peuvent être utilisés qu'à "
"l'emplacement d'une ligne vide (potentiellement indentée). En revanche, les "
"préfixes de commentaires en ligne peuvent être utilisés après n'importe "
"quelle valeur valide (comme les noms des sections, les options et les lignes "
"vides). Par défaut, les commentaires en ligne sont désactivés et les "
"préfixes utilisés pour les commentaires à l'emplacement d'une ligne vide "
"sont `'#'`` et ``';'``."
#: ../Doc/library/configparser.rst:565
msgid ""
"In previous versions of :mod:`configparser` behaviour matched "
"``comment_prefixes=('#',';')`` and ``inline_comment_prefixes=(';',)``."
msgstr ""
"Les précédentes versions du module :mod:`configparser` se comportent comme "
"en utilisant ``comment_prefixes=('#',';')`` et "
"``inline_comment_prefixes=(';',)``."
#: ../Doc/library/configparser.rst:569
msgid ""
@ -461,10 +647,17 @@ msgid ""
"storing comment prefix characters at the beginning of a line in multiline "
"values is to interpolate the prefix, for example::"
msgstr ""
"Notez que les analyseurs ne prennent pas en charge l'échappement des "
"préfixes de commentaires. Ainsi, l'utilisation de *inline_comment_prefixes* "
"peut empêcher les utilisateurs de spécifier des valeurs qui contiennent des "
"caractères utilisés comme préfixe de commentaire. Dans le doute, il est "
"recommandé de ne pas utiliser *inline_comment_prefixes*. Dans tous les cas, "
"la seule façon de stocker des préfixes de commentaires au début d'une valeur "
"multi lignes est d'interpoler ceux-ci, par exemple ::"
#: ../Doc/library/configparser.rst:615
msgid "*strict*, default value: ``True``"
msgstr ""
msgstr "*scrict*, valeur par défaut : ``True``"
#: ../Doc/library/configparser.rst:617
msgid ""
@ -473,16 +666,23 @@ msgid ""
"meth:`read_string` or :meth:`read_dict`). It is recommended to use strict "
"parsers in new applications."
msgstr ""
"Quand la valeur ``True`` est spécifiée, le parseur refuse toute section ou "
"option dupliquée lors de la lecture d'une source unique (lorsque :meth:"
"`read_file`, :meth:`read_string` ou :meth:`read_dict` sont utilisées). Il "
"est recommandé d'utiliser un mode de fonctionnement strict pour les "
"analyseurs employés par de nouvelles applications."
#: ../Doc/library/configparser.rst:622
msgid ""
"In previous versions of :mod:`configparser` behaviour matched "
"``strict=False``."
msgstr ""
"Les versions précédentes du module :mod:`configparser` se comportent comme "
"en utilisant ``strict=False``."
#: ../Doc/library/configparser.rst:626
msgid "*empty_lines_in_values*, default value: ``True``"
msgstr ""
msgstr "*empty_lines_in_values*, valeur par défaut : ``True``"
#: ../Doc/library/configparser.rst:628
msgid ""
@ -493,6 +693,13 @@ msgid ""
"when configuration files get big and complex, it is easy for the user to "
"lose track of the file structure. Take for instance:"
msgstr ""
"Du point de vue des analyseurs, les valeurs peuvent s'étendre sur plusieurs "
"lignes à partir du moment où elles sont plus indentées que la clé qui les "
"contient. Par défaut les analyseurs autorisent les lignes vides à faire "
"partie de telles valeurs. Dans le même temps, les clés elles-mêmes peuvent "
"être indentées de façon à rendre le fichier plus lisible. En conséquence, il "
"est probable que l'utilisateur perde de vue la structure du fichier lorsque "
"celui-ci devient long et complexe. Prenez par exemple :"
#: ../Doc/library/configparser.rst:643
msgid ""
@ -502,12 +709,20 @@ msgid ""
"This will make empty lines split keys every time. In the example above, it "
"would produce two keys, ``key`` and ``this``."
msgstr ""
"Ceci est particulièrement problématique si l'utilisateur a configuré son "
"éditeur pour utiliser une police à chasse variable. C'est pourquoi il est "
"conseillé de ne pas prendre en charge les valeurs avec des lignes vides, à "
"moins que votre application en ait besoin. Dans ce cas, les lignes vides "
"sont toujours interprétées comme séparant des clés. Dans l'exemple ci-"
"dessus, cela produit deux clés : ``key`` et ``this``."
#: ../Doc/library/configparser.rst:649
msgid ""
"*default_section*, default value: ``configparser.DEFAULTSECT`` (that is: ``"
"\"DEFAULT\"``)"
msgstr ""
"*default_section*, valeur par défaut : ``configparser.DEFAULTSECT`` "
"(autrement dit : ``\"DEFAULT\"``)"
#: ../Doc/library/configparser.rst:652
msgid ""
@ -578,6 +793,12 @@ msgid ""
"``'off'``. You can override this by specifying a custom dictionary of "
"strings and their Boolean outcomes. For example:"
msgstr ""
"Par défaut, la méthode :meth:`~ConfigParser.getboolean` considère les "
"valeurs suivantes comme vraies : `'1'``, ``'yes'``, ``'true'``, ``'on'``, et "
"les valeurs suivantes comme fausses : ``'0'``, ``'no'``, ``'false'``, "
"``'off'``. Vous pouvez changer ce comportement en spécifiant votre propre "
"dictionnaire associant des chaînes de caractères à des valeurs booléennes. "
"Par exemple :"
#: ../Doc/library/configparser.rst:714
msgid ""

View File

@ -1517,6 +1517,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:1237
msgid ""
@ -1526,12 +1529,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:1243
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:1251
msgid ""
@ -1540,10 +1551,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:1256 ../Doc/library/ctypes.rst:1840
msgid "The exact functionality is system dependent."
msgstr ""
msgstr "Le mode opératoire exact dépend du système."
#: ../Doc/library/ctypes.rst:1258
msgid ""
@ -1551,6 +1567,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:1262
msgid ""
@ -1558,16 +1577,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:1266
msgid "Here are some examples::"
msgstr ""
msgstr "Voici quelques exemples :"
#: ../Doc/library/ctypes.rst:1277
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:1291
msgid ""
@ -1575,6 +1599,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:1295
msgid ""
@ -1583,6 +1611,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:1303
msgid "Loading shared libraries"
@ -1593,6 +1626,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:1311
msgid ""
@ -1600,6 +1636,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:1318
msgid ""
@ -1610,6 +1649,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:1325
msgid ":exc:`WindowsError` used to be raised."
@ -1621,6 +1667,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:1335
msgid ""
@ -1628,12 +1678,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:1339
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:1345
msgid ""
@ -1642,10 +1698,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:1350
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:1352
msgid ""
@ -1656,6 +1717,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:1359
msgid ""
@ -1664,6 +1731,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:1364
msgid ""
@ -1674,6 +1745,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:1371
msgid ""
@ -1681,6 +1759,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:1375
msgid ""
@ -1690,24 +1771,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:1384
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:1391
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:1398
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:1401
msgid ""
@ -1723,6 +1816,8 @@ 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:1418
msgid "The system handle used to access the library."
@ -1730,7 +1825,7 @@ msgstr ""
#: ../Doc/library/ctypes.rst:1423
msgid "The name of the library passed in the constructor."
msgstr ""
msgstr "Nom de la bibliothèque donné au constructeur."
#: ../Doc/library/ctypes.rst:1425
msgid ""
@ -1739,12 +1834,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:1433
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:1436
msgid ""
@ -1752,38 +1853,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:1442
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:1446
msgid "These prefabricated library loaders are available:"
msgstr ""
msgstr "Plusieurs chargeurs sont fournis :"
#: ../Doc/library/ctypes.rst:1451
msgid "Creates :class:`CDLL` instances."
msgstr ""
msgstr "Pour créer des instances de :class:`CDLL`."
#: ../Doc/library/ctypes.rst:1457
msgid "Windows only: Creates :class:`WinDLL` instances."
msgstr ""
msgstr "Pour créer des instances de :class:`WinDLL` (uniquement en Windows)."
#: ../Doc/library/ctypes.rst:1463
msgid "Windows only: Creates :class:`OleDLL` instances."
msgstr ""
msgstr "Pour créer des instances de :class:`OleDLL` (uniquement en Windows)."
#: ../Doc/library/ctypes.rst:1469
msgid "Creates :class:`PyDLL` instances."
msgstr ""
msgstr "Pour créer des instances de :class:`PyDLL`."
#: ../Doc/library/ctypes.rst:1472
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:1478
msgid ""
@ -1792,6 +1899,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:1487
msgid "Foreign functions"
@ -1805,28 +1917,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:1498
msgid "Base class for C callable foreign functions."
msgstr ""
msgstr "Classe de base pour les fonctions externes C."
#: ../Doc/library/ctypes.rst:1500
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:1503
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:1508
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:1511
msgid ""
@ -1837,6 +1962,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:1520
msgid ""
@ -1846,6 +1979,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:1526
msgid ""
@ -1856,6 +1994,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:1533
msgid ""
@ -1864,30 +2009,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:1540
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:1547
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:1550
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:1554
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:1558
msgid ""
@ -1895,12 +2057,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:1565
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:1572
msgid "Function prototypes"

View File

@ -1626,7 +1626,7 @@ msgstr ""
#: ../Doc/library/curses.rst:1359
msgid "Key"
msgstr ""
msgstr "Clé"
#: ../Doc/library/curses.rst:1361
msgid "``KEY_MIN``"
@ -2954,7 +2954,7 @@ msgstr ""
#: ../Doc/library/curses.rst:1763
msgid "Action"
msgstr ""
msgstr "Action"
#: ../Doc/library/curses.rst:1765
msgid ":kbd:`Control-A`"

View File

@ -19,7 +19,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`"
@ -49,6 +49,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 ""
@ -58,6 +72,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 ""
@ -70,10 +90,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 ""
@ -82,10 +112,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"
@ -101,7 +138,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 "``'+ '``"
@ -109,7 +146,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 "``' '``"
@ -117,7 +154,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 "``'? '``"
@ -125,7 +162,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 ""
@ -133,6 +170,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 ""
@ -141,26 +182,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 argument nommé 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 argument nommé 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 ""
@ -169,10 +219,14 @@ msgid ""
"differences). See :func:`ndiff` documentation for argument default values "
"and descriptions."
msgstr ""
"*linejunk* et *charjunk* sont des arguments nommé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 ""
@ -180,12 +234,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 nommés 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 ""
@ -199,12 +260,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 nommé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 nommé *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 ""
@ -212,24 +286,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 ""
@ -246,12 +330,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 ""
@ -261,10 +353,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

@ -19,17 +19,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 ""
@ -37,6 +39,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 ""
@ -44,6 +49,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 ""
@ -56,10 +64,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 ""
@ -69,6 +86,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 ""
@ -78,6 +101,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 ""
@ -88,41 +116,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 ""
@ -130,16 +177,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 ""
@ -155,6 +207,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 ""
@ -162,6 +217,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 ""
@ -169,3 +228,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

@ -23,7 +23,7 @@ msgstr ""
#: ../Doc/library/ipaddress.rst:9
msgid "**Source code:** :source:`Lib/ipaddress.py`"
msgstr ""
msgstr "**Code source :** :source:`Lib/ipaddress.py`"
#: ../Doc/library/ipaddress.rst:13
msgid ""

View File

@ -29,18 +29,20 @@ msgstr ""
msgid ""
"This page contains only reference information. For tutorials, please see"
msgstr ""
"Cette page contient uniquement des informations de référence. Pour des "
"tutoriels, veuillez consulter"
#: ../Doc/library/logging.config.rst:17
msgid ":ref:`Basic Tutorial <logging-basic-tutorial>`"
msgstr ""
msgstr ":ref:`Tutoriel basique <logging-basic-tutorial>`"
#: ../Doc/library/logging.config.rst:18
msgid ":ref:`Advanced Tutorial <logging-advanced-tutorial>`"
msgstr ""
msgstr ":ref:`Tutoriel avancé <logging-advanced-tutorial>`"
#: ../Doc/library/logging.config.rst:19
msgid ":ref:`Logging Cookbook <logging-cookbook>`"
msgstr ""
msgstr ":ref:`Recettes pour la journalisation <logging-cookbook>`"
#: ../Doc/library/logging.config.rst:23
msgid "This section describes the API for configuring the logging module."
@ -138,7 +140,7 @@ msgstr ""
#: ../Doc/library/logging.config.rst:0
msgid "Parameters"
msgstr ""
msgstr "Paramètres"
#: ../Doc/library/logging.config.rst:90
msgid ""

View File

@ -19,28 +19,30 @@ msgstr ""
#: ../Doc/library/logging.handlers.rst:2
msgid ":mod:`logging.handlers` --- Logging handlers"
msgstr ""
msgstr ":mod:`logging.handlers` — Gestionnaires de journalisation"
#: ../Doc/library/logging.handlers.rst:10
msgid "**Source code:** :source:`Lib/logging/handlers.py`"
msgstr ""
msgstr "**Code source :** :source:`Lib/logging/handlers.py`"
#: ../Doc/library/logging.handlers.rst:14
msgid ""
"This page contains only reference information. For tutorials, please see"
msgstr ""
"Cette page contient uniquement des informations de référence. Pour des "
"tutoriels, veuillez consulter"
#: ../Doc/library/logging.handlers.rst:17
msgid ":ref:`Basic Tutorial <logging-basic-tutorial>`"
msgstr ""
msgstr ":ref:`Tutoriel basique <logging-basic-tutorial>`"
#: ../Doc/library/logging.handlers.rst:18
msgid ":ref:`Advanced Tutorial <logging-advanced-tutorial>`"
msgstr ""
msgstr ":ref:`Tutoriel avancé <logging-advanced-tutorial>`"
#: ../Doc/library/logging.handlers.rst:19
msgid ":ref:`Logging Cookbook <logging-cookbook>`"
msgstr ""
msgstr ":ref:`Recettes pour la journalisation <logging-cookbook>`"
#: ../Doc/library/logging.handlers.rst:25
msgid ""
@ -49,10 +51,15 @@ msgid ""
"`NullHandler`) are actually defined in the :mod:`logging` module itself, but "
"have been documented here along with the other handlers."
msgstr ""
"Les gestionnaires suivants, très utiles, sont fournis dans le paquet. Notez "
"que trois des gestionnaires (:class:`StreamHandler`, :class:`FileHandler` "
"et :class:`NullHandler`) sont en réalité définis dans le module :mod:"
"`logging` lui-même, mais quils sont documentés ici avec les autres "
"gestionnaires."
#: ../Doc/library/logging.handlers.rst:33
msgid "StreamHandler"
msgstr ""
msgstr "Gestionnaire à flux — *StreamHandler*"
#: ../Doc/library/logging.handlers.rst:35
msgid ""
@ -61,6 +68,10 @@ msgid ""
"or any file-like object (or, more precisely, any object which supports :meth:"
"`write` and :meth:`flush` methods)."
msgstr ""
"La classe :class:`StreamHandler`, du paquet :mod:`logging`, envoie les "
"sorties de journalisation dans des flux tels que *sys.stdout*, *sys.stderr* "
"ou nimporte quel objet fichier-compatible (ou, plus précisément, tout objet "
"qui gère les méthodes :meth:`write` et :meth:`flush`)."
#: ../Doc/library/logging.handlers.rst:43
msgid ""
@ -68,6 +79,9 @@ msgid ""
"specified, the instance will use it for logging output; otherwise, *sys."
"stderr* will be used."
msgstr ""
"Renvoie une nouvelle instance de la classe :class:`StreamHandler`. Si "
"*stream* est spécifié, linstance lutilise pour les sorties de "
"journalisation ; autrement elle utilise *sys.stderr*."
#: ../Doc/library/logging.handlers.rst:50
msgid ""
@ -83,6 +97,10 @@ msgid ""
"`close` method is inherited from :class:`~logging.Handler` and so does no "
"output, so an explicit :meth:`flush` call may be needed at times."
msgstr ""
"Purge le flux en appelant sa méthode :meth:`flush`. Notez que la méthode :"
"meth:`close` est héritée de :class:`~logging.Handler` donc elle n'écrit "
"rien. Par conséquent, un appel explicite à :meth:`flush` peut parfois "
"s'avérer nécessaire."
#: ../Doc/library/logging.handlers.rst:62
msgid ""
@ -95,7 +113,7 @@ msgstr ""
#: ../Doc/library/logging.handlers.rst:72
msgid "FileHandler"
msgstr ""
msgstr "Gestionnaire à fichier — *FileHandler*"
#: ../Doc/library/logging.handlers.rst:74
msgid ""
@ -103,6 +121,9 @@ msgid ""
"sends logging output to a disk file. It inherits the output functionality "
"from :class:`StreamHandler`."
msgstr ""
"La classe :class:`FileHandler`, du paquet :mod:`logging`, envoie les sorties "
"de journalisation dans un fichier. Elle hérite des fonctionnalités de sortie "
"de :class:`StreamHandler`."
#: ../Doc/library/logging.handlers.rst:81
msgid ""
@ -122,18 +143,20 @@ msgid ""
"As well as string values, :class:`~pathlib.Path` objects are also accepted "
"for the *filename* argument."
msgstr ""
"L'argument *filename* accepte les objets :class:`~pathlib.Path` aussi bien "
"que les chaînes de caractères."
#: ../Doc/library/logging.handlers.rst:93
msgid "Closes the file."
msgstr ""
msgstr "Ferme le fichier."
#: ../Doc/library/logging.handlers.rst:98
msgid "Outputs the record to the file."
msgstr ""
msgstr "Écrit lenregistrement dans le fichier."
#: ../Doc/library/logging.handlers.rst:104
msgid "NullHandler"
msgstr ""
msgstr "Gestionnaire à puits sans fond — *NullHandler*"
#: ../Doc/library/logging.handlers.rst:108
msgid ""
@ -141,31 +164,38 @@ msgid ""
"does not do any formatting or output. It is essentially a 'no-op' handler "
"for use by library developers."
msgstr ""
"La classe :class:`NullHandler`, située dans le paquet principal :mod:"
"`logging`, ne produit aucun formatage ni sortie. Cest essentiellement un "
"gestionnaire « fantôme » destiné aux développeurs de bibliothèques."
#: ../Doc/library/logging.handlers.rst:114
msgid "Returns a new instance of the :class:`NullHandler` class."
msgstr ""
msgstr "Renvoie une nouvelle instance de la classe :class:`NullHandler`."
#: ../Doc/library/logging.handlers.rst:118
#: ../Doc/library/logging.handlers.rst:122
msgid "This method does nothing."
msgstr ""
msgstr "Cette méthode ne fait rien."
#: ../Doc/library/logging.handlers.rst:126
msgid ""
"This method returns ``None`` for the lock, since there is no underlying I/O "
"to which access needs to be serialized."
msgstr ""
"Cette méthode renvoie ``None`` pour le verrou, étant donné quil ny a aucun "
"flux d'entrée-sortie sous-jacent dont laccès doit être sérialisé."
#: ../Doc/library/logging.handlers.rst:130
msgid ""
"See :ref:`library-config` for more information on how to use :class:"
"`NullHandler`."
msgstr ""
"Voir :ref:`library-config` pour plus dinformation sur l'utilisation de :"
"class:`NullHandler`."
#: ../Doc/library/logging.handlers.rst:136
msgid "WatchedFileHandler"
msgstr ""
msgstr "Gestionnaire à fichier avec surveillance — *WatchedFileHandler*"
#: ../Doc/library/logging.handlers.rst:140
msgid ""
@ -174,6 +204,10 @@ msgid ""
"logging to. If the file changes, it is closed and reopened using the file "
"name."
msgstr ""
"La classe :class:`WatchedFileHandler`, située dans le module :mod:`logging."
"handlers`, est un :class:`FileHandler` qui surveille le fichier dans lequel "
"il journalise. Si le fichier change, il est fermé et rouvert en utilisant le "
"nom du fichier."
#: ../Doc/library/logging.handlers.rst:144
msgid ""
@ -184,6 +218,14 @@ msgid ""
"changed.) If the file has changed, the old file stream is closed, and the "
"file opened to get a new stream."
msgstr ""
"Un changement du fichier peut arriver à cause de lutilisation de programmes "
"tels que *newsyslog* ou *logrotate* qui assurent le roulement des fichiers "
"de journalisation. Ce gestionnaire, destiné à une utilisation sous Unix/"
"Linux, surveille le fichier pour voir sil a changé depuis la dernière "
"écriture (un fichier est réputé avoir changé si son nœud dindex ou le "
"périphérique auquel il est rattaché a changé). Si le fichier a changé, "
"lancien flux vers ce fichier est fermé, et le fichier est ouvert pour "
"établir un nouveau flux."
#: ../Doc/library/logging.handlers.rst:151
msgid ""
@ -193,6 +235,12 @@ msgid ""
"*ST_INO* is not supported under Windows; :func:`~os.stat` always returns "
"zero for this value."
msgstr ""
"Ce gestionnaire nest pas approprié pour une utilisation sous *Windows*, car "
"sous *Windows* les fichiers de journalisation ouverts ne peuvent être ni "
"déplacés, ni renommés — la journalisation ouvre les fichiers avec des "
"verrous exclusifs — de telle sorte quil ny a pas besoin dun tel "
"gestionnaire. En outre, *ST_INO* nest pas géré par *Windows* ; :func:`~os."
"stat` renvoie toujours zéro pour cette valeur."
#: ../Doc/library/logging.handlers.rst:160
msgid ""
@ -210,16 +258,21 @@ msgid ""
"flushed and closed and the file opened again, typically as a precursor to "
"outputting the record to the file."
msgstr ""
"Vérifie si le fichier a changé. Si cest le cas, le flux existant est purgé "
"et fermé et le fichier est rouvert, généralement avant d'effectuer "
"lécriture de l'enregistrement dans le fichier."
#: ../Doc/library/logging.handlers.rst:181
msgid ""
"Outputs the record to the file, but first calls :meth:`reopenIfNeeded` to "
"reopen the file if it has changed."
msgstr ""
"Écrit lenregistrement dans le fichier, mais appelle dabord :meth:"
"`reopenIfNeeded` pour rouvrir le fichier sil a changé."
#: ../Doc/library/logging.handlers.rst:187
msgid "BaseRotatingHandler"
msgstr ""
msgstr "Base des gestionnaires à roulement *BaseRotatingHandler*"
#: ../Doc/library/logging.handlers.rst:189
msgid ""
@ -229,10 +282,17 @@ msgid ""
"need to instantiate this class, but it has attributes and methods you may "
"need to override."
msgstr ""
"La classe :class:`BaseRotatingHandler`, située dans le module :mod:`logging."
"handlers`, est la classe de base pour les gestionnaires à roulement, :class:"
"`RotatingFileHandler` et :class:`TimedRotatingFileHandler`. Vous ne devez "
"pas initialiser cette classe, mais elle a des attributs et des méthodes que "
"vous devrez peut-être surcharger."
#: ../Doc/library/logging.handlers.rst:197
msgid "The parameters are as for :class:`FileHandler`. The attributes are:"
msgstr ""
"Les paramètres sont les mêmes que pour :class:`FileHandler`. Les attributs "
"sont :"
#: ../Doc/library/logging.handlers.rst:201
msgid ""
@ -240,6 +300,9 @@ msgid ""
"delegates to this callable. The parameters passed to the callable are those "
"passed to :meth:`rotation_filename`."
msgstr ""
"Si cet attribut est défini en tant quappelable, la méthode :meth:"
"`rotation_filename` se rapporte à cet appelable. Les paramètres passés à "
"lappelable sont ceux passés à :meth:`rotation_filename`."
#: ../Doc/library/logging.handlers.rst:205
msgid ""
@ -248,6 +311,10 @@ msgid ""
"every time for a given input, otherwise the rollover behaviour may not work "
"as expected."
msgstr ""
"La fonction *namer* est appelée pas mal de fois durant le roulement, de "
"telle sorte quelle doit être aussi simple et rapide que possible. Elle doit "
"aussi renvoyer toujours la même sortie pour une entrée donnée, autrement le "
"comportement du roulement pourrait être différent de celui attendu."
#: ../Doc/library/logging.handlers.rst:215
msgid ""
@ -255,14 +322,18 @@ msgid ""
"to this callable. The parameters passed to the callable are those passed "
"to :meth:`rotate`."
msgstr ""
"Si cet attribut est défini en tant quappelable, cet appelable se substitue "
"à la méthode :meth:`rotate`. Les paramètres passés à lappelable sont ceux "
"passés à :meth:`rotate`."
#: ../Doc/library/logging.handlers.rst:223
msgid "Modify the filename of a log file when rotating."
msgstr ""
"Modifie le nom du fichier dun fichier de journalisation lors du roulement."
#: ../Doc/library/logging.handlers.rst:225
msgid "This is provided so that a custom filename can be provided."
msgstr ""
msgstr "Cette méthode sert à pouvoir produire un nom de fichier personnalisé."
#: ../Doc/library/logging.handlers.rst:227
msgid ""
@ -270,18 +341,21 @@ msgid ""
"it's callable, passing the default name to it. If the attribute isn't "
"callable (the default is ``None``), the name is returned unchanged."
msgstr ""
"Limplémentation par défaut appelle lattribut *namer* du gestionnaire, si "
"cest un appelable, lui passant le nom par défaut. Si lattribut nest pas "
"un appelable (le défaut est ``None``), le nom est renvoyé tel quel."
#: ../Doc/library/logging.handlers.rst:0
msgid "Parameters"
msgstr ""
msgstr "Paramètres"
#: ../Doc/library/logging.handlers.rst:231
msgid "The default name for the log file."
msgstr ""
msgstr "Le nom par défaut du fichier de journalisation."
#: ../Doc/library/logging.handlers.rst:238
msgid "When rotating, rotate the current log."
msgstr ""
msgstr "Lors du roulement, effectue le roulement du journal courant."
#: ../Doc/library/logging.handlers.rst:240
msgid ""
@ -290,17 +364,25 @@ msgid ""
"isn't callable (the default is ``None``), the source is simply renamed to "
"the destination."
msgstr ""
"Limplémentation par défaut appelle lattribut *rotator* du gestionnaire, si "
"cest un appelable, lui passant les arguments *source* et *dest*. Si "
"lattribut nest pas un appelable (le défaut est ``None``), le nom de la "
"source est simplement renommé avec la destination."
#: ../Doc/library/logging.handlers.rst:245
msgid ""
"The source filename. This is normally the base filename, e.g. 'test.log'."
msgstr ""
"Le nom du fichier source. Il sagit normalement du nom du fichier, par "
"exemple ``\"test.log\"``."
#: ../Doc/library/logging.handlers.rst:247
msgid ""
"The destination filename. This is normally what the source is rotated to, e."
"g. 'test.log.1'."
msgstr ""
"Le nom du fichier de destination. Il sagit normalement du nom donné à la "
"source après le roulement, par exemple ``\"test.log.1\"``."
#: ../Doc/library/logging.handlers.rst:252
msgid ""
@ -311,26 +393,36 @@ msgid ""
"exception during an :meth:`emit` call, i.e. via the :meth:`handleError` "
"method of the handler."
msgstr ""
"La raison dêtre de ces attributs est de vous épargner la création dune "
"sous-classe — vous pouvez utiliser les mêmes appels pour des instances de :"
"class:`RotatingFileHandler` et :class:`TimedRotatingFileHandler`. Si le "
"*namer* ou le *rotator* appelable lève une exception, ce sera géré de la "
"même manière que nimporte quelle exception durant un appel :meth:`emit`, "
"c'est-à-dire par la méthode :meth:`handleError` du gestionnaire."
#: ../Doc/library/logging.handlers.rst:259
msgid ""
"If you need to make more significant changes to rotation processing, you can "
"override the methods."
msgstr ""
"Si vous avez besoin de faire dimportantes modifications au processus de "
"roulement, surchargez les méthodes."
#: ../Doc/library/logging.handlers.rst:262
msgid "For an example, see :ref:`cookbook-rotator-namer`."
msgstr ""
msgstr "Pour un exemple, voir :ref:`cookbook-rotator-namer`."
#: ../Doc/library/logging.handlers.rst:268
msgid "RotatingFileHandler"
msgstr ""
msgstr "Gestionnaire à roulement de fichiers — *RotatingFileHandler*"
#: ../Doc/library/logging.handlers.rst:270
msgid ""
"The :class:`RotatingFileHandler` class, located in the :mod:`logging."
"handlers` module, supports rotation of disk log files."
msgstr ""
"La classe :class:`RotatingFileHandler`, située dans le module :mod:`logging."
"handlers`, gère le roulement des fichiers de journalisation sur disque."
#: ../Doc/library/logging.handlers.rst:276
msgid ""
@ -359,21 +451,41 @@ msgid ""
"log.1`, and if files :file:`app.log.1`, :file:`app.log.2`, etc. exist, then "
"they are renamed to :file:`app.log.2`, :file:`app.log.3` etc. respectively."
msgstr ""
"Utilisez les valeurs *maxBytes* et *backupCount* pour autoriser le roulement "
"du fichier (:dfn:`rollover`) à une taille prédéterminée. Quand la taille "
"limite est sur le point dêtre dépassée, le fichier est fermé et un nouveau "
"fichier est discrètement ouvert en tant que sortie. Un roulement se produit "
"dès que le fichier de journalisation actuel atteint presque une taille de "
"*maxBytes* ; si *maxBytes* ou *backupCount* est à 0, le roulement ne se "
"produit jamais, donc en temps normal il convient de définir *backupCount* à "
"au moins 1, et avoir une valeur de *maxBytes* non nulle. Quand *backupCount* "
"est non nul, le système sauvegarde les anciens fichiers de journalisation en "
"leur ajoutant au nom du fichier, les suffixes ``\".1\"``, ``\".2\"`` et "
"ainsi de suite. Par exemple, avec un *backupCount* de 5 et :file:`app.log` "
"comme radical du fichier, vous obtiendrez :file:`app.log`, :file:`app."
"log.1`, :file:`app.log.2`, jusquà :file:`app.log.5`. Le fichier dans lequel "
"on écrit est toujours :file:`app.log`. Quand ce fichier est rempli, il est "
"fermé et renommé en :file:`app.log.1`, et si les fichiers :file:`app."
"log.1`, :file:`app.log.2`, etc. existent, alors ils sont renommés "
"respectivement en :file:`app.log.2`, :file:`app.log.3` etc."
#: ../Doc/library/logging.handlers.rst:303
#: ../Doc/library/logging.handlers.rst:403
msgid "Does a rollover, as described above."
msgstr ""
msgstr "Effectue un roulement, comme décrit au-dessus."
#: ../Doc/library/logging.handlers.rst:308
msgid ""
"Outputs the record to the file, catering for rollover as described "
"previously."
msgstr ""
"Écrit l'enregistrement dans le fichier, effectuant un roulement au besoin "
"comme décrit précédemment."
#: ../Doc/library/logging.handlers.rst:314
msgid "TimedRotatingFileHandler"
msgstr ""
"Gestionnaire à roulement de fichiers périodique — *TimedRotatingFileHandler*"
#: ../Doc/library/logging.handlers.rst:316
msgid ""
@ -381,6 +493,9 @@ msgid ""
"handlers` module, supports rotation of disk log files at certain timed "
"intervals."
msgstr ""
"La classe :class:`TimedRotatingFileHandler`, située dans le module :mod:"
"`logging.handlers`, gère le roulement des fichiers de journalisation sur le "
"disque à un intervalle de temps spécifié."
#: ../Doc/library/logging.handlers.rst:323
msgid ""
@ -389,12 +504,19 @@ msgid ""
"also sets the filename suffix. Rotating happens based on the product of "
"*when* and *interval*."
msgstr ""
"Renvoie une nouvelle instance de la classe :class:"
"`TimedRotatingFileHandler`. Le fichier spécifié est ouvert et utilisé en "
"tant que flux de sortie pour la journalisation. Au moment du roulement, il "
"met également à jour le suffixe du nom du fichier. Le roulement se produit "
"sur la base combinée de *when* et *interval*."
#: ../Doc/library/logging.handlers.rst:328
msgid ""
"You can use the *when* to specify the type of *interval*. The list of "
"possible values is below. Note that they are not case sensitive."
msgstr ""
"Utilisez le *when* pour spécifier le type de l*interval*. La liste des "
"valeurs possibles est ci-dessous. Notez quelles sont sensibles à la casse."
#: ../Doc/library/logging.handlers.rst:332
msgid "Value"
@ -402,11 +524,11 @@ msgstr "Valeur"
#: ../Doc/library/logging.handlers.rst:332
msgid "Type of interval"
msgstr ""
msgstr "Type dintervalle"
#: ../Doc/library/logging.handlers.rst:332
msgid "If/how *atTime* is used"
msgstr ""
msgstr "Si/comment *atTime* est utilisé"
#: ../Doc/library/logging.handlers.rst:334
msgid "``'S'``"
@ -414,7 +536,7 @@ msgstr "``'S'``"
#: ../Doc/library/logging.handlers.rst:334
msgid "Seconds"
msgstr ""
msgstr "Secondes"
#: ../Doc/library/logging.handlers.rst:334
#: ../Doc/library/logging.handlers.rst:336
@ -429,7 +551,7 @@ msgstr "``'M'``"
#: ../Doc/library/logging.handlers.rst:336
msgid "Minutes"
msgstr ""
msgstr "Minutes"
#: ../Doc/library/logging.handlers.rst:338
msgid "``'H'``"
@ -437,7 +559,7 @@ msgstr "``'H'``"
#: ../Doc/library/logging.handlers.rst:338
msgid "Hours"
msgstr ""
msgstr "Heures"
#: ../Doc/library/logging.handlers.rst:340
msgid "``'D'``"
@ -445,7 +567,7 @@ msgstr "``'D'``"
#: ../Doc/library/logging.handlers.rst:340
msgid "Days"
msgstr ""
msgstr "Jours"
#: ../Doc/library/logging.handlers.rst:342
msgid "``'W0'-'W6'``"
@ -453,12 +575,12 @@ msgstr "``'W0'-'W6'``"
#: ../Doc/library/logging.handlers.rst:342
msgid "Weekday (0=Monday)"
msgstr ""
msgstr "Jour de la semaine (0=lundi)"
#: ../Doc/library/logging.handlers.rst:342
#: ../Doc/library/logging.handlers.rst:345
msgid "Used to compute initial rollover time"
msgstr ""
msgstr "Utilisé pour calculer le moment du roulement"
#: ../Doc/library/logging.handlers.rst:345
msgid "``'midnight'``"
@ -467,6 +589,8 @@ msgstr "``'midnight'``"
#: ../Doc/library/logging.handlers.rst:345
msgid "Roll over at midnight, if *atTime* not specified, else at time *atTime*"
msgstr ""
"Roulement du fichier à minuit, si *atTime* nest pas spécifié, sinon à "
"lheure *atTime*"
#: ../Doc/library/logging.handlers.rst:350
msgid ""
@ -474,6 +598,10 @@ msgid ""
"Tuesday, and so on up to 'W6' for Sunday. In this case, the value passed for "
"*interval* isn't used."
msgstr ""
"Lors de lutilisation dun roulement basé sur les jours de la semaine, "
"définir *W0* pour lundi, *W1* pour mardi, et ainsi de suite jusquà *W6* "
"pour dimanche. Dans ce cas, la valeur indiquée pour *interval* nest pas "
"utilisée."
#: ../Doc/library/logging.handlers.rst:354
msgid ""
@ -481,6 +609,10 @@ msgid ""
"The extensions are date-and-time based, using the strftime format ``%Y-%m-%d_"
"%H-%M-%S`` or a leading portion thereof, depending on the rollover interval."
msgstr ""
"Le système sauvegarde les anciens fichiers de journalisation en ajoutant une "
"extension au nom du fichier. Les extensions sont basées sur la date et "
"lheure, en utilisation le format *strftime* ``%Y-%m-%d_%H-%M-%S`` ou le "
"début de celui-ci, selon lintervalle du roulement."
#: ../Doc/library/logging.handlers.rst:359
msgid ""
@ -488,6 +620,10 @@ msgid ""
"is created), the last modification time of an existing log file, or else the "
"current time, is used to compute when the next rotation will occur."
msgstr ""
"Lors du premier calcul du roulement suivant (quand le gestionnaire est "
"créé), la dernière date de modification dun fichier de journalisation "
"existant, ou sinon la date actuelle, est utilisée pour calculer la date du "
"prochain roulement."
#: ../Doc/library/logging.handlers.rst:363
msgid ""

View File

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

View File

@ -270,6 +270,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 ""
@ -280,6 +282,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 ""
@ -347,7 +356,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 ""
@ -1531,7 +1540,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"
@ -1734,16 +1743,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 ""
@ -1752,18 +1765,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 ""
@ -1772,18 +1794,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 ""
@ -1791,10 +1821,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"
@ -1804,10 +1837,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 ""
@ -1816,12 +1852,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 ""
@ -1830,12 +1872,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"
@ -1846,12 +1895,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 ""
@ -1860,3 +1915,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

@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/library/marshal.rst:2
msgid ":mod:`marshal` --- Internal Python object serialization"
msgstr ""
msgstr ":mod:`marshal` — Sérialisation interne des objets Python"
#: ../Doc/library/marshal.rst:10
msgid ""
@ -30,6 +30,13 @@ msgid ""
"are undocumented on purpose; it may change between Python versions (although "
"it rarely does). [#]_"
msgstr ""
"Ce module contient des fonctions permettant de lire et écrire des valeurs "
"Python au format binaire. Ce format est propre à Python, mais indépendant "
"de l'architecture de la machine (p. ex., vous pouvez écrire une valeur "
"Python dans un fichier sur un PC, envoyer le fichier vers une machine Sun et "
"la lire à nouveau). Les détails du format sont volontairement non "
"documentés ; il peut changer d'une version Python à l'autre (bien que ce "
"soit rarement le cas). [#]_"
#: ../Doc/library/marshal.rst:21
msgid ""
@ -44,6 +51,17 @@ msgid ""
"guaranteed, and pickle supports a substantially wider range of objects than "
"marshal."
msgstr ""
"Ce module ne permet pas de « sérialiser » des objets de manière permanente. "
"Pour des questions de sérialisation en général ou de transfert d'objets "
"Python par des appels RPC, référez-vous aux modules :mod:`pickle` et :mod:"
"`shelve`. Le module :mod:`marshal` existe principalement pour permettre la "
"lecture et l'écriture de code « pseudo-compilé » pour les modules Python des "
"fichiers :file:`.pyc`. Par conséquent, les mainteneurs Python se réservent "
"le droit de modifier le format *marshal* en cassant la rétrocompatibilité si "
"besoin. Si vous sérialisez et dé-sérialisez des objets Python, utilisez "
"plutôt le module :mod:`pickle` — les performances sont comparables, "
"l'indépendance par rapport à la version est garantie, et *pickle* prend en "
"charge une gamme d'objets beaucoup plus large que *marshal*."
#: ../Doc/library/marshal.rst:33
msgid ""
@ -51,6 +69,9 @@ msgid ""
"maliciously constructed data. Never unmarshal data received from an "
"untrusted or unauthenticated source."
msgstr ""
"N'utilisez pas le module :mod:`marshal` pour lire des données erronées ou "
"malveillantes. Ne démantelez jamais des données reçues d'une source non "
"fiable ou non authentifiée."
#: ../Doc/library/marshal.rst:39
msgid ""
@ -66,22 +87,39 @@ msgid ""
"*version* lower than 3, recursive lists, sets and dictionaries cannot be "
"written (see below)."
msgstr ""
"Tous les types d'objets Python ne sont pas pris en charge ; en général, "
"seuls les objets dont la valeur est indépendante d'une invocation "
"particulière de Python peuvent être écrits et lus par ce module. Les types "
"suivants sont pris en charge : booléens, entiers, nombres à virgule "
"flottante, nombres complexes, chaînes de caractères, octets, *bytearrays*, "
"*n*-uplets, listes, ensembles, ensembles figés, dictionnaires et objets, "
"étant entendu que les *n*-uplets, listes, ensembles, ensembles figés et "
"dictionnaires sont pris en charge si les valeurs qu'ils contiennent sont "
"elles-mêmes prises en charge. Les singletons :const:`None`, :const:"
"`Ellipsis` et :exc:`StopIteration` peuvent également être « pseudo-"
"compilés » et « dé-pseudo-compilés ». Pour le format des *versions* "
"inférieures à 3, les listes récursives, les ensembles et les dictionnaires "
"ne peuvent pas être écrits (voir ci-dessous)."
#: ../Doc/library/marshal.rst:51
msgid ""
"There are functions that read/write files as well as functions operating on "
"bytes-like objects."
msgstr ""
"Il existe des fonctions de lecture-écriture de fichiers ainsi que des "
"fonctions opérant sur des objets octet."
#: ../Doc/library/marshal.rst:54
msgid "The module defines these functions:"
msgstr ""
msgstr "Le module définit ces fonctions :"
#: ../Doc/library/marshal.rst:59
msgid ""
"Write the value on the open file. The value must be a supported type. The "
"file must be a writeable :term:`binary file`."
msgstr ""
"Écrit la valeur sur le fichier ouvert. La valeur doit être un type pris en "
"charge. Le fichier doit être un :term:`fichier binaire` ouvert en écriture."
#: ../Doc/library/marshal.rst:62
msgid ""
@ -90,12 +128,18 @@ msgid ""
"written to the file. The object will not be properly read back by :func:"
"`load`."
msgstr ""
"Si la valeur est (ou contient un objet qui est) d'un type non implémenté, "
"une exception :exc:`ValueError` est levée — mais le contenu de la mémoire "
"sera également écrit dans le fichier. L'objet ne sera pas correctement lu "
"par :func:`load`."
#: ../Doc/library/marshal.rst:66
msgid ""
"The *version* argument indicates the data format that ``dump`` should use "
"(see below)."
msgstr ""
"L'argument *version* indique le format de données que le ``dump`` doit "
"utiliser (voir ci-dessous)."
#: ../Doc/library/marshal.rst:72
msgid ""
@ -104,12 +148,19 @@ msgid ""
"format), raise :exc:`EOFError`, :exc:`ValueError` or :exc:`TypeError`. The "
"file must be a readable :term:`binary file`."
msgstr ""
"Lit une valeur du fichier ouvert et la renvoie. Si aucune valeur valide "
"n'est lue (p. ex. parce que les données ont un format décompilé incompatible "
"avec une autre version de Python), :exc:`EOFError`, :exc:`ValueError` ou :"
"exc:`TypeError` est levée. Le fichier doit être un :term:`fichier binaire` "
"ouvert en lecture."
#: ../Doc/library/marshal.rst:79
msgid ""
"If an object containing an unsupported type was marshalled with :func:"
"`dump`, :func:`load` will substitute ``None`` for the unmarshallable type."
msgstr ""
"Si un objet contenant un type non pris en charge a été dé-compilé avec :func:"
"`dump`, :func:`load` remplacera le type non « dé-compilable » par ``None``."
#: ../Doc/library/marshal.rst:85
msgid ""
@ -117,12 +168,18 @@ msgid ""
"file)``. The value must be a supported type. Raise a :exc:`ValueError` "
"exception if value has (or contains an object that has) an unsupported type."
msgstr ""
"Renvoie les octets qui seraient écrits dans un fichier par ``dump(value, "
"file)``. La valeur doit être un type pris en charge. Lève une exception :"
"exc:`ValueError` si la valeur a (ou contient un objet qui a) un type qui "
"n'est pas pris en charge."
#: ../Doc/library/marshal.rst:89
msgid ""
"The *version* argument indicates the data format that ``dumps`` should use "
"(see below)."
msgstr ""
"L'argument *version* indique le format de données que ``dumps`` doivent "
"utiliser (voir ci-dessous)."
#: ../Doc/library/marshal.rst:95
msgid ""
@ -130,10 +187,13 @@ msgid ""
"found, raise :exc:`EOFError`, :exc:`ValueError` or :exc:`TypeError`. Extra "
"bytes in the input are ignored."
msgstr ""
"Convertit le :term:`bytes-like object` en une valeur. Si aucune valeur "
"valide n'est trouvée, :exc:`EOFError`, :exc:`ValueError` ou :exc:`TypeError` "
"est levée. Les octets supplémentaires de l'entrée sont ignorés."
#: ../Doc/library/marshal.rst:100
msgid "In addition, the following constants are defined:"
msgstr ""
msgstr "De plus, les constantes suivantes sont définies :"
#: ../Doc/library/marshal.rst:104
msgid ""
@ -142,6 +202,11 @@ msgid ""
"for floating point numbers. Version 3 adds support for object instancing and "
"recursion. The current version is 4."
msgstr ""
"Indique le format que le module utilise. La version 0 est le format "
"originel, la version 1 partage des chaînes de caractères internes et la "
"version 2 utilise un format binaire pour les nombres à virgule flottante. La "
"version 3 ajoute la prise en charge de l'instanciation et de la récursivité "
"des objets. La version actuelle est la 4."
#: ../Doc/library/marshal.rst:112
msgid "Footnotes"
@ -155,3 +220,9 @@ msgid ""
"marshal\" means to convert some data from internal to external form (in an "
"RPC buffer for instance) and \"unmarshalling\" for the reverse process."
msgstr ""
"Le nom de ce module provient d'un peu de terminologie utilisée par les "
"concepteurs de Modula-3 (entre autres), qui utilisent le terme *marshalling* "
"pour l'envoi de données sous une forme autonome. À proprement parler, *to "
"marshal* signifie convertir certaines données d'une forme interne à une "
"forme externe (dans une mémoire tampon RPC par exemple) et *unmarshalling* "
"désigne le processus inverse."

View File

@ -454,7 +454,7 @@ msgstr ""
#: ../Doc/library/msilib.rst:408
msgid "Features"
msgstr ""
msgstr "Caractéristiques"
#: ../Doc/library/msilib.rst:413
msgid ""

View File

@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/library/platform.rst:2
msgid ":mod:`platform` --- Access to underlying platform's identifying data"
msgstr ""
msgstr ":mod:`platform` — Accès aux données sous-jacentes de la plateforme"
#: ../Doc/library/platform.rst:10
msgid "**Source code:** :source:`Lib/platform.py`"
@ -30,16 +30,20 @@ msgid ""
"Specific platforms listed alphabetically, with Linux included in the Unix "
"section."
msgstr ""
"Les spécificités des plateformes sont regroupées dans des sections triées "
"par ordre alphabétique. Linux est inclus dans la section Unix."
#: ../Doc/library/platform.rst:21
msgid "Cross Platform"
msgstr ""
msgstr "Multi-plateforme"
#: ../Doc/library/platform.rst:26
msgid ""
"Queries the given executable (defaults to the Python interpreter binary) for "
"various architecture information."
msgstr ""
"Interroge l'exécutable fourni (par défaut l'interpréteur Python) sur les "
"informations de l'architecture."
#: ../Doc/library/platform.rst:29
msgid ""
@ -47,6 +51,9 @@ msgid ""
"architecture and the linkage format used for the executable. Both values are "
"returned as strings."
msgstr ""
"Renvoie un *n*-uplet de ``(bits, linkage)`` qui contient de l'information "
"sur l'architecture binaire et le format de lien. Les deux valeurs sont des "
"chaînes de caractères."
#: ../Doc/library/platform.rst:33
msgid ""
@ -55,6 +62,11 @@ msgid ""
"``sizeof(long)`` on Python version < 1.5.2) is used as indicator for the "
"supported pointer size."
msgstr ""
"Lorsqu'une valeur ne peut être déterminée, la valeur passée en paramètre est "
"utilisée. Si la valeur passée à *bits* est ``''``, la valeur de "
"``sizeof(pointer)`` (ou ``sizeof(long)`` sur les versions Python antérieures "
"à 1.5.2) est utilisée comme indicateur de la taille de pointeur prise en "
"charge."
#: ../Doc/library/platform.rst:38
msgid ""
@ -63,42 +75,61 @@ msgid ""
"platforms and then only if the executable points to the Python interpreter. "
"Reasonable defaults are used when the above needs are not met."
msgstr ""
"La fonction dépend de la commande :file:`file` du système pour accomplir la "
"tâche. `file` est disponible sur quasiment toutes les plateformes Unix ainsi "
"que sur certaines plateformes hors de la famille Unix et l'exécutable doit "
"pointer vers l'interpréteur Python. Des valeurs par défaut raisonnables sont "
"utilisées lorsque les conditions précédentes ne sont pas atteintes."
#: ../Doc/library/platform.rst:45
msgid ""
"On Mac OS X (and perhaps other platforms), executable files may be universal "
"files containing multiple architectures."
msgstr ""
"Sur Mac OS X (ainsi que d'autres plateformes), les fichiers exécutables "
"peuvent être universels et contenir plusieurs architectures."
#: ../Doc/library/platform.rst:48
msgid ""
"To get at the \"64-bitness\" of the current interpreter, it is more reliable "
"to query the :attr:`sys.maxsize` attribute::"
msgstr ""
"Afin de déterminer si l'interpréteur courant est 64-bit, une méthode plus "
"fiable est d'interroger l'attribut :attr:`sys.maxsize` ::"
#: ../Doc/library/platform.rst:56
msgid ""
"Returns the machine type, e.g. ``'i386'``. An empty string is returned if "
"the value cannot be determined."
msgstr ""
"Renvoie le type de machine. Par exemple, ``'i386'``. Une chaîne de "
"caractères vide est renvoyée si la valeur ne peut être déterminée."
#: ../Doc/library/platform.rst:62
msgid ""
"Returns the computer's network name (may not be fully qualified!). An empty "
"string is returned if the value cannot be determined."
msgstr ""
"Renvoie le nom de l'ordinateur sur le réseau (pas forcément pleinement "
"qualifié). Une chaîne de caractères vide est renvoyée s'il ne peut pas être "
"déterminé."
#: ../Doc/library/platform.rst:68
msgid ""
"Returns a single string identifying the underlying platform with as much "
"useful information as possible."
msgstr ""
"Renvoie une chaîne de caractère identifiant la plateforme avec le plus "
"d'informations possible."
#: ../Doc/library/platform.rst:71
msgid ""
"The output is intended to be *human readable* rather than machine parseable. "
"It may look different on different platforms and this is intended."
msgstr ""
"La valeur renvoyée est destinée à la *lecture humaine* plutôt que "
"l'interprétation machine. Il est possible qu'elle soit différente selon la "
"plateforme et c'est voulu."
#: ../Doc/library/platform.rst:74
msgid ""
@ -107,16 +138,22 @@ msgid ""
"SunOS will be reported as Solaris. The :func:`system_alias` function is "
"used to implement this."
msgstr ""
"Si *aliased* est vrai, la fonction utilisera des alias pour certaines "
"plateformes qui utilisent des noms de système qui diffèrent de leurs noms "
"communs. Par exemple, SunOS sera reconnu comme Solaris. La fonction :func:"
"`system_alias` est utilisée pour l'implémentation."
#: ../Doc/library/platform.rst:79
msgid ""
"Setting *terse* to true causes the function to return only the absolute "
"minimum information needed to identify the platform."
msgstr ""
"Si *terse* est vrai, la fonction ne renverra que l'information nécessaire à "
"l'identification de la plateforme."
#: ../Doc/library/platform.rst:85
msgid "Returns the (real) processor name, e.g. ``'amdk6'``."
msgstr ""
msgstr "Renvoie le (vrai) nom du processeur. Par exemple : ``'amdk6'``."
#: ../Doc/library/platform.rst:87
msgid ""
@ -124,58 +161,83 @@ msgid ""
"many platforms do not provide this information or simply return the same "
"value as for :func:`machine`. NetBSD does this."
msgstr ""
"Une chaîne de caractères vide est renvoyée si la valeur ne peut être "
"déterminée. Prenez note que plusieurs plateformes ne fournissent pas cette "
"information ou renvoient la même valeur que la fonction :func:`machine`. "
"NetBSD agit ainsi."
#: ../Doc/library/platform.rst:94
msgid ""
"Returns a tuple ``(buildno, builddate)`` stating the Python build number and "
"date as strings."
msgstr ""
"Renvoie une paire ``(buildno, builddate)`` de chaîne de caractères "
"identifiant la version et la date de compilation de Python."
#: ../Doc/library/platform.rst:100
msgid "Returns a string identifying the compiler used for compiling Python."
msgstr ""
"Renvoie une chaîne de caractères identifiant le compilateur utilisé pour "
"compiler Python."
#: ../Doc/library/platform.rst:105
msgid "Returns a string identifying the Python implementation SCM branch."
msgstr ""
"Renvoie la chaîne de caractères identifiant la branche du gestionnaire de "
"versions de l'implémentation Python."
#: ../Doc/library/platform.rst:110
msgid ""
"Returns a string identifying the Python implementation. Possible return "
"values are: 'CPython', 'IronPython', 'Jython', 'PyPy'."
msgstr ""
"Renvoie une chaîne de caractères identifiant l'implémentation de Python. Des "
"valeurs possibles sont : ``CPython``, ``IronPython``, ``Jython``, ``Pypy``."
#: ../Doc/library/platform.rst:116
msgid "Returns a string identifying the Python implementation SCM revision."
msgstr ""
"Renvoie la chaîne de caractères identifiant la révision du gestionnaire de "
"versions de l'implémentation Python."
#: ../Doc/library/platform.rst:121
msgid "Returns the Python version as string ``'major.minor.patchlevel'``."
msgstr ""
"Renvoie la version de Python comme une chaîne de caractères ``'major.minor."
"patchlevel'``."
#: ../Doc/library/platform.rst:123
msgid ""
"Note that unlike the Python ``sys.version``, the returned value will always "
"include the patchlevel (it defaults to 0)."
msgstr ""
"Prenez note que la valeur renvoyée inclut toujours le *patchlevel* (valeur "
"par défaut de 0) à la différence de ``sys.version``."
#: ../Doc/library/platform.rst:129
msgid ""
"Returns the Python version as tuple ``(major, minor, patchlevel)`` of "
"strings."
msgstr ""
"Renvoie la version de Python comme un triplet de chaînes de caractères "
"``(major, minor, patchlevel)``."
#: ../Doc/library/platform.rst:131
msgid ""
"Note that unlike the Python ``sys.version``, the returned value will always "
"include the patchlevel (it defaults to ``'0'``)."
msgstr ""
"Prenez note que la valeur renvoyée inclut toujours le *patchlevel* (valeur "
"par défaut de ``'0'``) à la différence de ``sys.version``."
#: ../Doc/library/platform.rst:137
msgid ""
"Returns the system's release, e.g. ``'2.2.0'`` or ``'NT'`` An empty string "
"is returned if the value cannot be determined."
msgstr ""
"Renvoie la version de déploiement du système, par exemple, ``'2.2.0'`` ou "
"``'NT'``. Une chaîne de caractères vide signifie qu'aucune valeur ne peut "
"être déterminée."
#: ../Doc/library/platform.rst:143
msgid ""
@ -189,12 +251,18 @@ msgid ""
"used for some systems. It also does some reordering of the information in "
"some cases where it would otherwise cause confusion."
msgstr ""
"Renvoie ``(system, release, version)`` avec des alias pour les noms communs "
"de certains systèmes. Modifie aussi l'ordre de l'information pour éviter la "
"confusion."
#: ../Doc/library/platform.rst:156
msgid ""
"Returns the system's release version, e.g. ``'#3 on degas'``. An empty "
"string is returned if the value cannot be determined."
msgstr ""
"Renvoie la version de déploiement du système. Par exemple, ``'#3 on "
"degas'``. Une chaîne de caractères vide est renvoyée si aucune valeur ne "
"peut être déterminée."
#: ../Doc/library/platform.rst:162
msgid ""
@ -202,6 +270,9 @@ msgid ""
"containing six attributes: :attr:`system`, :attr:`node`, :attr:`release`, :"
"attr:`version`, :attr:`machine`, and :attr:`processor`."
msgstr ""
"Interface de *uname* relativement portable. Renvoie un :func:`~collections."
"namedtuple` contenant six attributs : :attr:`system`, :attr:`node`, :attr:"
"`release`, :attr:`version`, :attr:`machine` et :attr:`processor`."
#: ../Doc/library/platform.rst:166
msgid ""
@ -210,10 +281,14 @@ msgid ""
"the first two attributes; :func:`os.uname` names them :attr:`sysname` and :"
"attr:`nodename`."
msgstr ""
"Prenez note qu'il y a un attribut supplémentaire (:attr:`processor`) par "
"rapport à la valeur de retour de :func:`os.uname`. De plus, les deux "
"premiers attributs changent de nom ; ils s'appellent :attr:`sysname` et :"
"attr:`nodename` pour la fonction :func:`os.uname`."
#: ../Doc/library/platform.rst:171
msgid "Entries which cannot be determined are set to ``''``."
msgstr ""
msgstr "Les entrées qui ne peuvent pas être identifiées ont la valeur ``''``."
#: ../Doc/library/platform.rst:173
msgid "Result changed from a tuple to a namedtuple."
@ -221,11 +296,11 @@ msgstr "Le type renvoyé passe d'un *tuple* à un *namedtuple*."
#: ../Doc/library/platform.rst:178
msgid "Java Platform"
msgstr ""
msgstr "Plateforme Java"
#: ../Doc/library/platform.rst:183
msgid "Version interface for Jython."
msgstr ""
msgstr "Version de l'interface pour Jython."
#: ../Doc/library/platform.rst:185
msgid ""
@ -234,10 +309,15 @@ msgid ""
"``(os_name, os_version, os_arch)``. Values which cannot be determined are "
"set to the defaults given as parameters (which all default to ``''``)."
msgstr ""
"Renvoie un *n*-uplet ``(release, vendor, vminfo, osinfo)``. *vminfo* est un "
"triplet de valeur ``(vm_name, vm_release, vm_vendor)`` et *osinfo* est un "
"triplet de valeur ``(os_name, os_version, os_arch)``. Les valeurs "
"indéterminables ont la valeur des paramètres par défaut (valeur de ``''`` "
"par défaut)."
#: ../Doc/library/platform.rst:192
msgid "Windows Platform"
msgstr ""
msgstr "Plateforme Windows"
#: ../Doc/library/platform.rst:197
msgid ""
@ -245,6 +325,10 @@ msgid ""
"tuple ``(release, version, csd, ptype)`` referring to OS release, version "
"number, CSD level (service pack) and OS type (multi/single processor)."
msgstr ""
"Interroge le registre Windows pour de l'information supplémentaire et "
"renvoie un triplet de ``(release, version, csd, ptype)`` faisant référence "
"au numéro de version du SE, le numéro de version, le niveau de CSD (Service "
"Pack) et le type de SE (monoprocesseur ou multiprocesseur)."
#: ../Doc/library/platform.rst:201
msgid ""
@ -254,6 +338,11 @@ msgid ""
"also state *'Checked'* which means the OS version uses debugging code, i.e. "
"code that checks arguments, ranges, etc."
msgstr ""
"Astuce : *ptype* est ``'Uniprocessor Free'`` sur des machines NT ayant qu'un "
"seul processeur et ``'Multiprocessor Free'`` sur des machines ayant "
"plusieurs processeurs. La composante *'Free'* fait référence à l'absence de "
"code de débogage dans le SE. Au contraire, *'Checked'* indique que le SE "
"utilise du code de débogage pour valider les paramètres, etc."
#: ../Doc/library/platform.rst:209
msgid ""
@ -281,7 +370,7 @@ msgstr ""
#: ../Doc/library/platform.rst:230
msgid "Mac OS Platform"
msgstr ""
msgstr "Plateforme Mac OS"
#: ../Doc/library/platform.rst:235
msgid ""
@ -289,16 +378,21 @@ msgid ""
"versioninfo, machine)`` with *versioninfo* being a tuple ``(version, "
"dev_stage, non_release_version)``."
msgstr ""
"Renvoie les informations de version de Mac OS avec un triplet de ``(release, "
"versioninfo, machine)``. *versioninfo* est un triplet de ``(version, "
"dev_stage, non_release_version)``."
#: ../Doc/library/platform.rst:239
msgid ""
"Entries which cannot be determined are set to ``''``. All tuple entries are "
"strings."
msgstr ""
"Les entrées qui ne peuvent pas être identifiées auront la valeur ``''``. Les "
"membres du *n*-uplet sont tous des chaînes de caractères."
#: ../Doc/library/platform.rst:244
msgid "Unix Platforms"
msgstr ""
msgstr "Plateformes Unix"
#: ../Doc/library/platform.rst:249
msgid "This is another name for :func:`linux_distribution`."
@ -341,6 +435,10 @@ msgid ""
"``(lib, version)`` which default to the given parameters in case the lookup "
"fails."
msgstr ""
"Tente d'identifier la version de la bibliothèque standard C à laquelle le "
"fichier exécutable (par défaut l'interpréteur Python) est lié. Renvoie une "
"paire de chaînes de caractères ``(lib, version)``. Les valeurs passées en "
"paramètre seront retournées si la recherche échoue."
#: ../Doc/library/platform.rst:279
msgid ""
@ -348,7 +446,11 @@ msgid ""
"versions add symbols to the executable is probably only usable for "
"executables compiled using :program:`gcc`."
msgstr ""
"Prenez note que cette fonction a une connaissance profonde des méthodes "
"utilisées par les versions de la bibliothèque standard C pour ajouter des "
"symboles au fichier exécutable. Elle n'est probablement utilisable qu'avec "
"des exécutables compilés avec :program:`gcc`."
#: ../Doc/library/platform.rst:283
msgid "The file is read and scanned in chunks of *chunksize* bytes."
msgstr ""
msgstr "Le fichier est lu en blocs de *chunksize* octets."

View File

@ -19,7 +19,7 @@ msgstr ""
#: ../Doc/library/py_compile.rst:2
msgid ":mod:`py_compile` --- Compile Python source files"
msgstr ""
msgstr ":mod:`py_compile` — Compilation de sources Python"
#: ../Doc/library/py_compile.rst:10
msgid "**Source code:** :source:`Lib/py_compile.py`"
@ -31,6 +31,9 @@ msgid ""
"file from a source file, and another function used when the module source "
"file is invoked as a script."
msgstr ""
"Le module :mod:`py_compile` définit une fonction principale qui génère un "
"fichier de code intermédiaire à partir d'un fichier source. Il exporte "
"également la fonction qu'il exécute quand il est lancé en tant que script."
#: ../Doc/library/py_compile.rst:20
msgid ""
@ -38,11 +41,15 @@ msgid ""
"for shared use, especially if some of the users may not have permission to "
"write the byte-code cache files in the directory containing the source code."
msgstr ""
"Bien que ce module ne soit pas d'usage fréquent, il peut servir lors de "
"l'installation de bibliothèques partagées, notamment dans le cas où tous les "
"utilisateurs n'ont pas les privilèges d'écriture dans l'emplacement "
"d'installation."
#: ../Doc/library/py_compile.rst:27
msgid ""
"Exception raised when an error occurs while attempting to compile the file."
msgstr ""
msgstr "Exception levée quand une erreur se produit à la compilation."
#: ../Doc/library/py_compile.rst:32
msgid ""
@ -68,6 +75,14 @@ msgid ""
"a side-effect of import using file renaming to place the final byte-compiled "
"file into place to prevent concurrent file writing issues."
msgstr ""
"Si le chemin de destination, explicité par *cfile* ou choisi "
"automatiquement, est un lien symbolique, ou n'est pas un véritable fichier, "
"une exception de type :exc:`FileExistsError` est levée. Ceci, dans le but de "
"vous avertir que le système d'importation changera ces chemins en fichiers "
"s'il est autorisé à y écrire des fichiers de code intermédiaire. En effet, "
"les importations passent par un renommage final du fichier de code "
"intermédiaire vers sa destination, afin d'éviter les problèmes liés à "
"l'écriture simultanée d'un même fichier par plusieurs processus."
#: ../Doc/library/py_compile.rst:52
msgid ""
@ -75,6 +90,10 @@ msgid ""
"func:`compile` function. The default of ``-1`` selects the optimization "
"level of the current interpreter."
msgstr ""
"*optimize* règle le niveau d'optimisation. Ce paramètre est passé "
"directement à la fonction native :func:`compile`. Avec la valeur par défaut "
"de ``-1``, le code intermédiaire hérite du niveau d'optimisation de "
"l'interpréteur courant."
#: ../Doc/library/py_compile.rst:56
msgid ""
@ -82,6 +101,10 @@ msgid ""
"default was *file* + ``'c'`` (``'o'`` if optimization was enabled). Also "
"added the *optimize* parameter."
msgstr ""
"la méthode de choix de destination a changé au profit de celle décrite dans "
"la :pep:`3147`. Auparavant, le nom du fichier de code intermédiaire était "
"*file* + ``'c'`` (ou ``'o'`` lorsque les optimisations étaient actives). Le "
"paramètre *optimize* a été ajouté."
#: ../Doc/library/py_compile.rst:61
msgid ""
@ -91,6 +114,12 @@ msgid ""
"that :exc:`FileExistsError` is raised if *cfile* is a symlink or non-regular "
"file."
msgstr ""
"le code a été modifié pour faire appel à :mod:`importlib` dans les "
"opérations d'écriture du code intermédiaire. Ce module se comporte donc "
"exactement comme :mod:`importlib` en ce qui concerne, par exemple, les "
"permissions, ou le renommage final qui garantit une opération atomique. :exc:"
"`FileExistsError` est désormais levée si la destination est un lien "
"symbolique ou n'est pas un véritable fichier."
#: ../Doc/library/py_compile.rst:71
msgid ""
@ -101,10 +130,16 @@ msgid ""
"If ``'-'`` is the only parameter in args, the list of files is taken from "
"standard input."
msgstr ""
"Compile et met en cache tous les fichiers de la séquence *args*, ou ceux "
"passés comme arguments en ligne de commande si *args* est ``None``. Cette "
"fonction n'effectue aucune recherche des fichiers sources dans des dossiers. "
"Elle compile simplement les fichiers nommés un par un. Si ``'-'`` est le "
"seul paramètre dans *args*, la liste des fichiers est lue sur l'entrée "
"standard."
#: ../Doc/library/py_compile.rst:78
msgid "Added support for ``'-'``."
msgstr ""
msgstr "prise en charge de ``'-'``."
#: ../Doc/library/py_compile.rst:81
msgid ""
@ -112,11 +147,15 @@ msgid ""
"the files named on the command line. The exit status is nonzero if one of "
"the files could not be compiled."
msgstr ""
"Lorsque ce module est exécuté en tant que script, la fonction :func:`main` "
"compile tous les fichiers passés comme arguments sur la ligne de commande. "
"Le code de retour vaut zéro si tous ont été compilés sans erreur."
#: ../Doc/library/py_compile.rst:88
msgid "Module :mod:`compileall`"
msgstr ""
msgstr "Module :mod:`compileall`"
#: ../Doc/library/py_compile.rst:89
msgid "Utilities to compile all Python source files in a directory tree."
msgstr ""
"Utilitaires pour compiler des fichiers source Python dans une arborescence"

View File

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

View File

@ -19,11 +19,11 @@ msgstr ""
#: ../Doc/library/socket.rst:2
msgid ":mod:`socket` --- Low-level networking interface"
msgstr ""
msgstr ":mod:`socket` — Gestion réseau de bas niveau"
#: ../Doc/library/socket.rst:7
msgid "**Source code:** :source:`Lib/socket.py`"
msgstr ""
msgstr "**Code source :** :source:`Lib/secrets.py`"
#: ../Doc/library/socket.rst:11
msgid ""

View File

@ -172,7 +172,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

@ -19,7 +19,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`"
@ -44,65 +44,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."
@ -110,55 +113,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 ""
@ -173,14 +181,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 ""
@ -227,6 +240,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 ""
@ -239,6 +255,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 ""
@ -259,12 +277,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 ":func:`median_low`, :func:`median_high`, :func:`median_grouped`"
@ -282,12 +304,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:191
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:197
msgid ""
@ -301,12 +329,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:211
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:217
msgid ""
@ -323,30 +357,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:237
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:247
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:252
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:257
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:260
msgid ""
@ -360,6 +409,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:270
msgid ""
@ -391,6 +444,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:307
msgid ""
@ -414,10 +470,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:321
msgid "Raises :exc:`StatisticsError` if *data* is empty."
msgstr ""
msgstr "Lève une erreur :exc:`StatisticsError` si *data* est vide."
#: ../Doc/library/statistics.rst:323 ../Doc/library/statistics.rst:397
msgid "Examples:"
@ -428,6 +487,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:340
msgid ""
@ -438,7 +500,7 @@ msgstr ""
#: ../Doc/library/statistics.rst:344
msgid "Decimals and Fractions are supported:"
msgstr ""
msgstr "La fonction gère les nombres décimaux et les fractions :"
#: ../Doc/library/statistics.rst:358
msgid ""
@ -446,6 +508,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:362
msgid ""
@ -461,6 +527,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:382
msgid ""
@ -470,6 +538,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:388
msgid ""
@ -477,22 +550,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:392
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:395
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:405
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:414
msgid ""
@ -500,10 +584,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:418
msgid "Decimal and Fraction values are supported:"
msgstr ""
msgstr "La fonction gère les nombres décimaux et les fractions :"
#: ../Doc/library/statistics.rst:432
msgid ""
@ -512,6 +599,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:437
msgid ""
@ -519,6 +611,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:442
msgid "Exceptions"
@ -526,8 +621,9 @@ msgstr "Exceptions"
#: ../Doc/library/statistics.rst:444
msgid "A single exception is defined:"
msgstr ""
msgstr "Une seule exception est définie :"
#: ../Doc/library/statistics.rst:448
msgid "Subclass of :exc:`ValueError` for statistics-related exceptions."
msgstr ""
"Sous-classe de :exc:`ValueError` pour les exceptions liées aux statistiques."

View File

@ -40,7 +40,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

@ -916,7 +916,7 @@ msgstr ""
#: ../Doc/library/tkinter.ttk.rst:598
msgid "mode"
msgstr ""
msgstr "mode"
#: ../Doc/library/tkinter.ttk.rst:598
msgid "One of \"determinate\" or \"indeterminate\"."
@ -1575,7 +1575,7 @@ msgstr ""
#: ../Doc/library/tkinter.ttk.rst:1008
msgid "tree"
msgstr ""
msgstr "*tree* (arbre)"
#: ../Doc/library/tkinter.ttk.rst:1008
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

@ -19,11 +19,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 ""
@ -32,6 +32,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 ""
@ -40,6 +44,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:25
msgid ""
@ -52,6 +60,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 sextuplet d'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:44
msgid ""
@ -60,6 +77,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:49
msgid ""
@ -67,6 +89,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:53
msgid ""
@ -74,32 +99,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:57
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:61
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:67
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:73
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 sextuplet contenant les champs entiers de l'UUID, également accessibles "
"en tant que six attributs individuels et deux attributs dérivés :"
#: ../Doc/library/uuid.rst:77
msgid "Field"
msgstr ""
msgstr "Champ"
#: ../Doc/library/uuid.rst:77
msgid "Meaning"
@ -111,7 +147,7 @@ msgstr ":attr:`time_low`"
#: ../Doc/library/uuid.rst:79
msgid "the first 32 bits of the UUID"
msgstr ""
msgstr "les 32 premiers bits de l'UUID"
#: ../Doc/library/uuid.rst:81
msgid ":attr:`time_mid`"
@ -119,7 +155,7 @@ msgstr ":attr:`time_mid`"
#: ../Doc/library/uuid.rst:81 ../Doc/library/uuid.rst:83
msgid "the next 16 bits of the UUID"
msgstr ""
msgstr "les 16 bits suivants de l'UUID"
#: ../Doc/library/uuid.rst:83
msgid ":attr:`time_hi_version`"
@ -131,7 +167,7 @@ msgstr ":attr:`clock_seq_hi_variant`"
#: ../Doc/library/uuid.rst:85 ../Doc/library/uuid.rst:87
msgid "the next 8 bits of the UUID"
msgstr ""
msgstr "les 8 bits suivants de l'UUID"
#: ../Doc/library/uuid.rst:87
msgid ":attr:`clock_seq_low`"
@ -143,7 +179,7 @@ msgstr ":attr:`node`"
#: ../Doc/library/uuid.rst:89
msgid "the last 48 bits of the UUID"
msgstr ""
msgstr "les derniers 48 bits de l'UUID"
#: ../Doc/library/uuid.rst:91
msgid ":attr:`time`"
@ -151,7 +187,7 @@ msgstr ":attr:`time`"
#: ../Doc/library/uuid.rst:91
msgid "the 60-bit timestamp"
msgstr ""
msgstr "l'horodatage sur 60 bits"
#: ../Doc/library/uuid.rst:93
msgid ":attr:`clock_seq`"
@ -159,19 +195,22 @@ msgstr ":attr:`clock_seq`"
#: ../Doc/library/uuid.rst:93
msgid "the 14-bit sequence number"
msgstr ""
msgstr "le numéro de séquence sur 14 bits"
#: ../Doc/library/uuid.rst:99
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:104
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:109
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:114
msgid ""
@ -179,16 +218,21 @@ 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:121
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:124
msgid "The :mod:`uuid` module defines the following functions:"
msgstr ""
msgstr "Le module :mod:`uu` définit les fonctions suivantes :"
#: ../Doc/library/uuid.rst:129
msgid ""
@ -208,80 +252,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:151
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:159
msgid "Generate a random UUID."
msgstr ""
msgstr "Génère un UUID aléatoire."
#: ../Doc/library/uuid.rst:166
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:171
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:177
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:183
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:188
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:193
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:196
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:202
msgid "Reserved for NCS compatibility."
msgstr ""
msgstr "Réservé pour la compatibilité NCS."
#: ../Doc/library/uuid.rst:207
msgid "Specifies the UUID layout given in :rfc:`4122`."
msgstr ""
msgstr "Utilise l'agencement des UUID de la :rfc:`4122`."
#: ../Doc/library/uuid.rst:212
msgid "Reserved for Microsoft compatibility."
msgstr ""
msgstr "Réservé pour la compatibilité Microsoft."
#: ../Doc/library/uuid.rst:217
msgid "Reserved for future definition."
msgstr ""
msgstr "Réservé pour un usage futur."
#: ../Doc/library/uuid.rst:223
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:223
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:230
msgid "Example"
@ -290,3 +357,4 @@ msgstr "Exemple"
#: ../Doc/library/uuid.rst:232
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

@ -127,6 +127,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 ""
@ -147,6 +155,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 ""
@ -162,6 +189,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 ""
@ -177,6 +217,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 ""
@ -199,6 +252,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 ""
@ -207,6 +265,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 ""
@ -229,6 +292,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 ""
@ -239,6 +306,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 ""
@ -248,6 +322,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 ""
@ -262,12 +343,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 ""
@ -303,6 +399,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 ""
@ -312,6 +416,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 ""
@ -321,6 +431,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 ""
@ -329,6 +445,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 quadruplet : ``(encode_func, "
"decode_func, stream_reader, stream_writer)``."
#: ../Doc/whatsnew/2.0.rst:209
msgid ""
@ -338,6 +459,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 ""
@ -346,6 +472,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 dune paire ``(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 ""
@ -354,6 +485,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 ""
@ -362,6 +498,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 ""
@ -393,6 +534,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"
@ -407,6 +554,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 ""
@ -419,6 +573,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 ""
@ -464,6 +627,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 ""
@ -473,10 +640,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 ""
@ -486,6 +659,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 ""
@ -496,6 +674,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 ""
@ -504,6 +689,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

@ -1958,7 +1958,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

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

View File

@ -34,7 +34,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:"
@ -218,7 +218,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

@ -42,7 +42,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

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