forked from AFPy/python-docs-fr
Backporting using pomerge --no-overwrite --to-files *.po */*.po
This commit is contained in:
parent
1e8d67f3bc
commit
5087de50b2
45
c-api/arg.po
45
c-api/arg.po
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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*"
|
||||
|
|
|
@ -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 "
|
||||
"l’occurrence, si vous tournez sous une machine Windows, et que vous voulez "
|
||||
"rendre les choses faciles pour les autres utilisateurs Windows, vous pouvez "
|
||||
"créer un installateur exécutable (le mode de distribution le plus approprié "
|
||||
"pour cette plateforme) avec la commande :command:`bdist_wininst`. Par "
|
||||
"exemple :"
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:121
|
||||
msgid ""
|
||||
"will create an executable installer, :file:`foo-1.0.win32.exe`, in the "
|
||||
"current directory."
|
||||
msgstr ""
|
||||
"va créer une installeur exécutable, :file:`foo-1.0.win32.exe`, dans le "
|
||||
"répertoire courant."
|
||||
|
||||
#: ../Doc/distutils/introduction.rst:124
|
||||
msgid ""
|
||||
|
@ -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
|
@ -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 l’interpré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."
|
||||
|
|
|
@ -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"
|
||||
|
|
353
howto/clinic.po
353
howto/clinic.po
|
@ -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]``)."
|
||||
|
|
410
howto/curses.po
410
howto/curses.po
|
@ -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*."
|
||||
|
|
199
howto/sockets.po
199
howto/sockets.po
|
@ -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 n’importe quelle machine dans le monde entier incroyablement facile (du "
|
||||
"moins par rapport à d'autres systèmes)."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:54
|
||||
msgid "Creating a Socket"
|
||||
|
@ -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 l’appel à ``connect`` est terminé, le connecteur ``s`` peut être "
|
||||
"utilisé pour envoyer une requête demandant le texte de la page. Le même "
|
||||
"connecteur lira la réponse, puis sera mis au rebut. C'est exact, mis au "
|
||||
"rebut. Les connecteurs clients ne sont normalement utilisés que pour un seul "
|
||||
"échange (ou un petit ensemble d'échanges séquentiels)."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:70
|
||||
msgid ""
|
||||
"What happens in the web server is a bit more complex. First, the web server "
|
||||
"creates a \"server socket\"::"
|
||||
msgstr ""
|
||||
"Ce qui se passe dans le serveur web est un peu plus complexe. Tout d'abord, "
|
||||
"le serveur web crée un « connecteur serveur » ::"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:80
|
||||
msgid ""
|
||||
|
@ -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 l’IPC multiplateforme dans une API de "
|
||||
"plus haut niveau."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:134
|
||||
msgid "Using a Socket"
|
||||
msgstr ""
|
||||
msgstr "Utilisation d'un connecteur"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:136
|
||||
msgid ""
|
||||
|
@ -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. J’en 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 n’utilisiez "
|
||||
"deux boucles ``recv`` — la première pour déterminer la longueur, la deuxième "
|
||||
"pour obtenir la partie « données » du message. Vilain. C’est aussi à ce "
|
||||
"moment que vous découvrirez que « l’envoi » via ``send`` ne parvient pas "
|
||||
"toujours à tout évacuer en un seul passage. Et bien que vous ayez lu cet "
|
||||
"avertissement, vous finirez par vous faire avoir par cette subtilité !"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:246
|
||||
msgid ""
|
||||
|
@ -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 l’avantage concurrentiel que j’ai sur vous), "
|
||||
"ces améliorations ne seront pas abordées et sont laissées en exercice au "
|
||||
"lecteur. Passons maintenant au nettoyage."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:252
|
||||
msgid "Binary Data"
|
||||
|
@ -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 d’envoyer des données binaires sur un "
|
||||
"connecteur. Le gros problème est que toutes les machines n’utilisent pas les "
|
||||
"mêmes formats pour les données binaires. Par exemple, une puce Motorola code "
|
||||
"l'entier 1, sous 16 bits, comme les deux octets hexadécimaux 00 01. Intel et "
|
||||
"DEC, cependant, utilisent l’ordre d’octets inverse — ce même 1 est codé 01 "
|
||||
"00. Les bibliothèques de connecteurs ont des appels pour convertir des "
|
||||
"entiers de 16 et 32 bits — ``ntohl, htonl, ntohs, htons`` où ``n`` signifie "
|
||||
"*réseau* (*network*, en anglais) et ``h`` signifie *hôte*, ``s`` signifie "
|
||||
"*court* (*short*, en anglais) et ``l`` signifie *long*. Lorsque l’ordre du "
|
||||
"réseau est l’ordre de l’hôte, ceux-ci ne font rien, mais lorsque la machine "
|
||||
"utilise l’ordre d’octets inverse, ceux-ci échangent les octets de manière "
|
||||
"appropriée."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:264
|
||||
msgid ""
|
||||
|
@ -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. "
|
||||
"C’est parce qu’un nombre surprenant de fois, tous ces *longs* ont la valeur "
|
||||
"0, ou peut-être 1. La chaîne « 0 » serait codée sur deux octets, alors "
|
||||
"qu'elle le serait sur quatre en binaire. Bien sûr, cela ne fonctionne pas "
|
||||
"très bien avec les messages de longueur fixe. Ah, les décisions, les "
|
||||
"décisions…"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:272
|
||||
msgid "Disconnecting"
|
||||
|
@ -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 l’arrêter avant de le fermer via ``close``. Le ``shutdown`` est un "
|
||||
"avertissement au connecteur de l’autre côté. Selon l’argument que vous lui "
|
||||
"passez, cela peut signifier « Je ne vais plus envoyer, mais je vais quand "
|
||||
"même écouter », ou « Je n’écoute pas, bon débarras ! ». La plupart des "
|
||||
"bibliothèques de connecteurs, cependant, sont tellement habituées à ce que "
|
||||
"les programmeurs négligent d’utiliser ce morceau d’étiquette que normalement "
|
||||
"un ``close`` est équivalent à ``shutdown() ; close()``. Ainsi, dans la "
|
||||
"plupart des situations, un ``shutdown`` explicite n’est pas nécessaire."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:282
|
||||
msgid ""
|
||||
|
@ -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 d’utiliser efficacement le ``shutdown`` est d’utiliser un échange "
|
||||
"de type HTTP. Le client envoie une requête et effectue ensuite un "
|
||||
"``shutdown(1)``. Cela indique au serveur que « ce client a fini d’envoyer, "
|
||||
"mais peut encore recevoir ». Le serveur peut détecter *EOF* par une "
|
||||
"réception de 0 octet. Il peut supposer qu’il a la requête complète. Le "
|
||||
"serveur envoie une réponse. Si le ``send`` se termine avec succès, alors, en "
|
||||
"effet, le client était encore en train de recevoir."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:289
|
||||
msgid ""
|
||||
|
@ -411,10 +562,17 @@ msgid ""
|
|||
"indefinitely, thinking you're just being slow. *Please* ``close`` your "
|
||||
"sockets when you're done."
|
||||
msgstr ""
|
||||
"Python pousse l’arrêt automatique un peu plus loin, et dit que lorsqu’un "
|
||||
"connecteur est collecté par le ramasse-miette, il effectue automatiquement "
|
||||
"une fermeture via ``close`` si elle est nécessaire. Mais c’est une très "
|
||||
"mauvaise habitude de s’appuyer sur ce système. Si votre connecteur disparaît "
|
||||
"sans avoir fait un ``close``, le connecteur à l’autre bout peut rester "
|
||||
"suspendu indéfiniment, pensant que vous êtes juste lent. Fermez vos "
|
||||
"connecteurs quand vous avez terminé *s’il vous plait*."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:297
|
||||
msgid "When Sockets Die"
|
||||
msgstr ""
|
||||
msgstr "Quand les connecteurs meurent"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:299
|
||||
msgid ""
|
||||
|
@ -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 d’attendre infiniment. TCP "
|
||||
"est un protocole fiable, et il attendra très, très longtemps avant "
|
||||
"d'abandonner une connexion. Si vous utilisez des fils d’exécution, le fil "
|
||||
"entier est pratiquement mort. Il n'y a pas grand-chose que vous puissiez "
|
||||
"faire à ce sujet. Du moment que vous ne faites rien de stupide, comme tenir "
|
||||
"un verrou verrouillé pendant une lecture bloquante, le fil ne consomme pas "
|
||||
"vraiment beaucoup de ressources. N'essayez *pas* de tuer le fil — si les "
|
||||
"fils sont plus efficients que les processus, c'est en partie parce qu'ils "
|
||||
"évitent les coûts significatifs liés au recyclage automatique des "
|
||||
"ressources. En d'autres termes, si vous parvenez à tuer le fil, tout votre "
|
||||
"processus risque d'être foutu."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:313
|
||||
msgid "Non-blocking Sockets"
|
||||
msgstr ""
|
||||
msgstr "Connecteurs non bloquants"
|
||||
|
||||
#: ../Doc/howto/sockets.rst:315
|
||||
msgid ""
|
||||
|
@ -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 s’il y a des erreurs. "
|
||||
"Prenez note qu'un connecteur peut figurer dans plus d'une liste. L'appel à "
|
||||
"``select`` est bloquant, mais vous pouvez lui donner un délai d'attente. "
|
||||
"C'est généralement une bonne chose à faire — donnez-lui un bon gros délai "
|
||||
"d'attente (disons une minute), à moins que vous n'ayez une bonne raison de "
|
||||
"ne pas le faire."
|
||||
|
||||
#: ../Doc/howto/sockets.rst:355
|
||||
msgid ""
|
||||
|
@ -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 ""
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
@ -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."
|
||||
|
|
|
@ -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."
|
||||
|
|
|
@ -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 à "
|
||||
"l’inté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 l’interpolation, en plus des "
|
||||
"fonctionnalités de base. Cela signifie que les valeurs peuvent être traitées "
|
||||
"avant d'être renvoyées par les appels aux méthodes ``get()``."
|
||||
|
||||
#: ../Doc/library/configparser.rst: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 à l’intérieur des chaînes de formatage peuvent "
|
||||
"être définies dans le fichier de configuration dans n'importe quel ordre."
|
||||
|
||||
#: ../Doc/library/configparser.rst: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`, "
|
||||
"l’implé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 d’utiliser 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 ""
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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`"
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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é."
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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 qu’ils sont documentés ici avec les autres "
|
||||
"gestionnaires."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:33
|
||||
msgid "StreamHandler"
|
||||
msgstr ""
|
||||
msgstr "Gestionnaire à flux — *StreamHandler*"
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:35
|
||||
msgid ""
|
||||
|
@ -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 n’importe quel objet fichier-compatible (ou, plus précisément, tout objet "
|
||||
"qui gère les méthodes :meth:`write` et :meth:`flush`)."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:43
|
||||
msgid ""
|
||||
|
@ -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é, l’instance l’utilise 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 l’enregistrement 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. C’est 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é qu’il n’y a aucun "
|
||||
"flux d'entrée-sortie sous-jacent dont l’accès doit être sérialisé."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:130
|
||||
msgid ""
|
||||
"See :ref:`library-config` for more information on how to use :class:"
|
||||
"`NullHandler`."
|
||||
msgstr ""
|
||||
"Voir :ref:`library-config` pour plus d’information sur l'utilisation de :"
|
||||
"class:`NullHandler`."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst: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 l’utilisation de programmes "
|
||||
"tels que *newsyslog* ou *logrotate* qui assurent le roulement des fichiers "
|
||||
"de journalisation. Ce gestionnaire, destiné à une utilisation sous Unix/"
|
||||
"Linux, surveille le fichier pour voir s’il a changé depuis la dernière "
|
||||
"écriture (un fichier est réputé avoir changé si son nœud d’index ou le "
|
||||
"périphérique auquel il est rattaché a changé). Si le fichier a changé, "
|
||||
"l’ancien flux vers ce fichier est fermé, et le fichier est ouvert pour "
|
||||
"établir un nouveau flux."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst: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 n’est pas approprié pour une utilisation sous *Windows*, car "
|
||||
"sous *Windows* les fichiers de journalisation ouverts ne peuvent être ni "
|
||||
"déplacés, ni renommés — la journalisation ouvre les fichiers avec des "
|
||||
"verrous exclusifs — de telle sorte qu’il n’y a pas besoin d’un tel "
|
||||
"gestionnaire. En outre, *ST_INO* n’est pas géré par *Windows* ; :func:`~os."
|
||||
"stat` renvoie toujours zéro pour cette valeur."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst: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 c’est le cas, le flux existant est purgé "
|
||||
"et fermé et le fichier est rouvert, généralement avant d'effectuer "
|
||||
"l’écriture de l'enregistrement dans le fichier."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:181
|
||||
msgid ""
|
||||
"Outputs the record to the file, but first calls :meth:`reopenIfNeeded` to "
|
||||
"reopen the file if it has changed."
|
||||
msgstr ""
|
||||
"Écrit l’enregistrement dans le fichier, mais appelle d’abord :meth:"
|
||||
"`reopenIfNeeded` pour rouvrir le fichier s’il a changé."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst: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 qu’appelable, la méthode :meth:"
|
||||
"`rotation_filename` se rapporte à cet appelable. Les paramètres passés à "
|
||||
"l’appelable sont ceux passés à :meth:`rotation_filename`."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst: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 qu’elle doit être aussi simple et rapide que possible. Elle doit "
|
||||
"aussi renvoyer toujours la même sortie pour une entrée donnée, autrement le "
|
||||
"comportement du roulement pourrait être différent de celui attendu."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst: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 qu’appelable, cet appelable se substitue "
|
||||
"à la méthode :meth:`rotate`. Les paramètres passés à l’appelable sont ceux "
|
||||
"passés à :meth:`rotate`."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:223
|
||||
msgid "Modify the filename of a log file when rotating."
|
||||
msgstr ""
|
||||
"Modifie le nom du fichier d’un fichier de journalisation lors du roulement."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst: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 ""
|
||||
"L’implémentation par défaut appelle l’attribut *namer* du gestionnaire, si "
|
||||
"c’est un appelable, lui passant le nom par défaut. Si l’attribut n’est pas "
|
||||
"un appelable (le défaut est ``None``), le nom est renvoyé tel quel."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst: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 ""
|
||||
"L’implémentation par défaut appelle l’attribut *rotator* du gestionnaire, si "
|
||||
"c’est un appelable, lui passant les arguments *source* et *dest*. Si "
|
||||
"l’attribut n’est pas un appelable (le défaut est ``None``), le nom de la "
|
||||
"source est simplement renommé avec la destination."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:245
|
||||
msgid ""
|
||||
"The source filename. This is normally the base filename, e.g. 'test.log'."
|
||||
msgstr ""
|
||||
"Le nom du fichier source. Il s’agit normalement du nom du fichier, par "
|
||||
"exemple ``\"test.log\"``."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst: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 s’agit 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 d’une "
|
||||
"sous-classe — vous pouvez utiliser les mêmes appels pour des instances de :"
|
||||
"class:`RotatingFileHandler` et :class:`TimedRotatingFileHandler`. Si le "
|
||||
"*namer* ou le *rotator* appelable lève une exception, ce sera géré de la "
|
||||
"même manière que n’importe quelle exception durant un appel :meth:`emit`, "
|
||||
"c'est-à-dire par la méthode :meth:`handleError` du gestionnaire."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst: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 d’importantes 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 qu’elles 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 d’intervalle"
|
||||
|
||||
#: ../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* n’est pas spécifié, sinon à "
|
||||
"l’heure *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 l’utilisation d’un roulement basé sur les jours de la semaine, "
|
||||
"définir *W0* pour lundi, *W1* pour mardi, et ainsi de suite jusqu’à *W6* "
|
||||
"pour dimanche. Dans ce cas, la valeur indiquée pour *interval* n’est pas "
|
||||
"utilisée."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst: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 "
|
||||
"l’heure, en utilisation le format *strftime* ``%Y-%m-%d_%H-%M-%S`` ou le "
|
||||
"début de celui-ci, selon l’intervalle du roulement."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst: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 d’un fichier de journalisation "
|
||||
"existant, ou sinon la date actuelle, est utilisée pour calculer la date du "
|
||||
"prochain roulement."
|
||||
|
||||
#: ../Doc/library/logging.handlers.rst:363
|
||||
msgid ""
|
||||
|
|
|
@ -932,7 +932,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/logging.rst:0
|
||||
msgid "Parameters"
|
||||
msgstr ""
|
||||
msgstr "Paramètres"
|
||||
|
||||
#: ../Doc/library/logging.rst:672
|
||||
msgid ""
|
||||
|
|
|
@ -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 ::"
|
||||
|
|
|
@ -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."
|
||||
|
|
|
@ -454,7 +454,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/library/msilib.rst:408
|
||||
msgid "Features"
|
||||
msgstr ""
|
||||
msgstr "Caractéristiques"
|
||||
|
||||
#: ../Doc/library/msilib.rst:413
|
||||
msgid ""
|
||||
|
|
|
@ -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."
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -313,7 +313,7 @@ msgstr "Index"
|
|||
|
||||
#: ../Doc/library/resource.rst:279
|
||||
msgid "Field"
|
||||
msgstr ""
|
||||
msgstr "Champ"
|
||||
|
||||
#: ../Doc/library/resource.rst:279
|
||||
msgid "Resource"
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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."
|
||||
|
|
|
@ -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
|
@ -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
102
library/uuid.po
102
library/uuid.po
|
@ -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` ::"
|
||||
|
|
191
whatsnew/2.0.po
191
whatsnew/2.0.po
|
@ -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 "
|
||||
"d’attente 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, à l’adresse 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 "
|
||||
"l’arborescence 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 à l’arborescence CVS et tous les correctifs devaient être "
|
||||
"inspectés et archivés par l’une des personnes figurant sur cette liste "
|
||||
"restreinte. Évidemment, ce n’était pas très évolutif. En déplaçant "
|
||||
"l’arborescence CVS vers SourceForge, il est devenu possible d’accorder 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 l’idée de supprimer la "
|
||||
"compatibilité K&R C et de convertir le code source C de Python en ANSI C. "
|
||||
"Après avoir obtenu l’approbation de la liste de diffusion *python-dev*, il "
|
||||
"s’est lancé dans une série d’archives qui ont duré environ une semaine, "
|
||||
"d’autres développeurs l'ont rejoint et le travail a été fait. S’il n’y 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 à l’utilisation 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 l’auteur "
|
||||
"d’origine 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 "
|
||||
"n’a 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 d’aucune 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é d’ajout de code a provoqué quelques problèmes de croissance "
|
||||
"initiaux, tels que le code a été archivé avant qu’il ne soit prêt ou sans "
|
||||
"l’accord clair du groupe de développeurs. Le processus d’approbation 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 qu’il 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 l’opinion générale. "
|
||||
"Il peut toujours ignorer le résultat d’un vote et approuver ou rejeter un "
|
||||
"changement même si la communauté n’est pas d’accord 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. L’auteur 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 l’interface 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 l’encodage 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 "
|
||||
"l’implémentation et l’enregistrement de nouveaux codages disponibles dans "
|
||||
"tout un programme Python. Si aucun codage n’est spécifié, le codage par "
|
||||
"défaut est généralement du code ASCII 7-bits, bien qu’il 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, "
|
||||
"à l’aide du codage ASCII par défaut; le résultat de ``’a’ + u’bc’`` est "
|
||||
"``u’abc’``."
|
||||
|
||||
#: ../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 d’une 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 ""
|
||||
"L’instruction ``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 n’accepte "
|
||||
"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 qu’il s’agit d’une 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 l’opposé de *encode_func*, en prenant une chaîne de "
|
||||
"caractères à 8 bits et le retour d’une paire ``(ustring, longueur)``, "
|
||||
"composé de la chaîne Unicode résultante *ustring* et l’entier *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 l’entrée "
|
||||
"d’un 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 l’encodage 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 d’un 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 d’appliquer une certaine fonction à "
|
||||
"chaque élément. Par exemple, à partir d’une 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. C’est très bien s’il y a une fonction intégrée existante qui "
|
||||
"peut être passé directement, mais s’il n’y 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 "
|
||||
"d’informations 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 à l’origine 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 d’affectation 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 d’affectation soudées, une autre fonctionnalité demandée "
|
||||
"depuis longtemps, ont été ajoutés à Python 2.0. Les opérateurs "
|
||||
"d’affectations augmentées comprennent ``+=``, ``-=``, ``*=`` et ainsi de "
|
||||
"suite. Par exemple, l’instruction ``a += 2`` incrémente la valeur de la "
|
||||
"variable ``a`` par 2, équivalente à l’opé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 d’affectations pris en charge est ``+=``, "
|
||||
"``-=``, ``*=``, ``/=``, ``%=``, ``**=``, ``&=``, ``|=``, ``^=``, ``>>=``, et "
|
||||
"``<<=``. Les classes Python peuvent remplacer les opérateurs d’affectations "
|
||||
"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 l’utilisation 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 "
|
||||
"l’incré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 ""
|
||||
|
|
|
@ -882,7 +882,7 @@ msgstr ""
|
|||
|
||||
#: ../Doc/whatsnew/2.6.rst:817
|
||||
msgid "``e``"
|
||||
msgstr ""
|
||||
msgstr "``e``"
|
||||
|
||||
#: ../Doc/whatsnew/2.6.rst:817
|
||||
msgid ""
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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`)."
|
||||
|
|
|
@ -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 ""
|
||||
|
|
|
@ -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:"
|
||||
|
|
|
@ -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:"
|
||||
|
|
Loading…
Reference in New Issue