diff --git a/c-api/arg.po b/c-api/arg.po index f886b4dd..bfea7d2a 100644 --- a/c-api/arg.po +++ b/c-api/arg.po @@ -89,6 +89,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 "" @@ -151,6 +155,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 "" @@ -159,12 +170,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 `. 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]" @@ -177,12 +195,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 "" @@ -191,6 +216,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 \\*]" @@ -233,6 +263,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 `) [constante char \\*]" #: ../Doc/c-api/arg.rst:113 msgid "" @@ -241,12 +273,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]" @@ -307,6 +345,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:559 msgid "``u#`` (:class:`str`) [Py_UNICODE \\*, int]" diff --git a/c-api/bytes.po b/c-api/bytes.po index 18963ac7..d98f0e05 100644 --- a/c-api/bytes.po +++ b/c-api/bytes.po @@ -74,7 +74,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" diff --git a/c-api/intro.po b/c-api/intro.po index 4c336241..e505928e 100644 --- a/c-api/intro.po +++ b/c-api/intro.po @@ -155,7 +155,7 @@ msgstr "" #: ../Doc/c-api/intro.rst:112 msgid "Reference Counts" -msgstr "" +msgstr "Compteurs de références" #: ../Doc/c-api/intro.rst:114 msgid "" diff --git a/c-api/mapping.po b/c-api/mapping.po index e20c56f7..a34b61b6 100644 --- a/c-api/mapping.po +++ b/c-api/mapping.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/c-api/mapping.rst:6 msgid "Mapping Protocol" -msgstr "" +msgstr "Protocole de correspondance" #: ../Doc/c-api/mapping.rst:11 msgid "" diff --git a/c-api/memory.po b/c-api/memory.po index 1d30eeae..21281431 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -324,7 +324,7 @@ msgstr "" #: ../Doc/c-api/memory.rst:272 ../Doc/c-api/memory.rst:373 msgid "Field" -msgstr "" +msgstr "Champ" #: ../Doc/c-api/memory.rst:272 ../Doc/c-api/memory.rst:373 msgid "Meaning" diff --git a/c-api/memoryview.po b/c-api/memoryview.po index 18e97745..1c2c9b68 100644 --- a/c-api/memoryview.po +++ b/c-api/memoryview.po @@ -26,6 +26,9 @@ msgid "" "` 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 " +"` du C. Cet objet peut ensuite être passé comme n'importe " +"quel objet." #: ../Doc/c-api/memoryview.rst:18 msgid "" @@ -34,12 +37,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 "" @@ -47,6 +56,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 "" @@ -56,6 +67,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 "" @@ -69,6 +85,10 @@ msgid "" "*mview* **must** be a memoryview instance; this macro doesn't check its " "type, you must do it yourself or you will risk crashes." msgstr "" +"Retourne un pointeur vers la copie privée du tampon de l'*exporteur* de " +"*memoryview*. *mview* **doit** être une instance de *memoryview*; cette " +"macro ne vérifie pas le type, vous devez le faire vous-même sinon vous " +"pourriez subir un crash." #: ../Doc/c-api/memoryview.rst:59 msgid "" diff --git a/c-api/structures.po b/c-api/structures.po index 887fc4fe..8cbcd560 100644 --- a/c-api/structures.po +++ b/c-api/structures.po @@ -133,7 +133,7 @@ msgstr "" #: ../Doc/c-api/structures.rst:129 ../Doc/c-api/structures.rst:240 msgid "Field" -msgstr "" +msgstr "Champ" #: ../Doc/c-api/structures.rst:129 ../Doc/c-api/structures.rst:240 msgid "C Type" diff --git a/c-api/tuple.po b/c-api/tuple.po index 448ebab4..1625921a 100644 --- a/c-api/tuple.po +++ b/c-api/tuple.po @@ -152,7 +152,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" diff --git a/c-api/unicode.po b/c-api/unicode.po index 5b00432a..82f31b1d 100644 --- a/c-api/unicode.po +++ b/c-api/unicode.po @@ -445,7 +445,7 @@ msgstr "" #: ../Doc/c-api/unicode.rst:448 msgid "Format Characters" -msgstr "" +msgstr "Caractères de format" #: ../Doc/c-api/unicode.rst:448 msgid "Type" diff --git a/distutils/introduction.po b/distutils/introduction.po index 782235f1..9614d0c8 100644 --- a/distutils/introduction.po +++ b/distutils/introduction.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/distutils/introduction.rst:5 msgid "An Introduction to Distutils" -msgstr "" +msgstr "Introduction à Distutils" #: ../Doc/distutils/introduction.rst:7 msgid "" @@ -27,6 +27,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" @@ -39,26 +43,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 "" @@ -72,6 +80,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" @@ -86,22 +104,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 "" @@ -109,12 +138,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 "" @@ -122,6 +156,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 "" @@ -129,12 +166,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 "" @@ -143,6 +185,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 "" @@ -156,6 +203,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 "" @@ -166,6 +215,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 "" @@ -176,12 +232,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 "" @@ -190,6 +255,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 "" @@ -197,16 +267,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 "" @@ -215,6 +290,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" @@ -226,10 +305,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 "" @@ -237,6 +319,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" @@ -252,6 +336,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" @@ -263,6 +354,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" @@ -278,20 +372,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 "" @@ -305,27 +409,31 @@ msgstr "" #: ../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 +441,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." diff --git a/distutils/setupscript.po b/distutils/setupscript.po index 438b2458..c558de63 100644 --- a/distutils/setupscript.po +++ b/distutils/setupscript.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/distutils/setupscript.rst:5 msgid "Writing the Setup Script" -msgstr "" +msgstr "Rédaction du script ``setup.py``" #: ../Doc/distutils/setupscript.rst:7 msgid "" @@ -31,6 +31,15 @@ msgid "" "Distutils by the module developer is supplied as keyword arguments to :func:" "`setup`." msgstr "" +"Le script ``setup.py`` est au centre de toute opération de construction, de " +"distribution et d'installation des modules utilisant les *Distutils*. " +"L'objectif principal du script ``setup.py`` est de décrire le module aux " +"*Distutils*, de telle sorte que les diverses commandes qui agissent sur " +"votre module fassent les bonnes choses. Comme nous avons vu dans la section :" +"ref:`distutils-simple-example` au-dessus, le script ``setup.py`` consiste " +"principalement à un appel à :func:`setup`, et la plupart des informations " +"fournies aux *Distutils* par le développeur du module sont fournies en tant " +"qu'arguments nommés à :func:`setup.py`." #: ../Doc/distutils/setupscript.rst:15 msgid "" @@ -41,6 +50,14 @@ msgid "" "install other module distributions. The Distutils' own setup script, shown " "here, is used to install the package into Python 1.5.2.) ::" msgstr "" +"Voici un exemple un peu plus concret, que nous allons suivre pour les " +"quelques sections suivantes : le propre script ``setup.py`` des *Distutils* " +"(gardez toujours à l'esprit qu'en dépit de l'inclusion des *Distutils* dans " +"python 1.6 et ses versions successives, ils ont aussi une existence à part " +"entière de telle sorte que les utilisateurs de Python 1.5.2 puissent les " +"utiliser pour installer d'autres modules. Le propre script ``setup.py`` des " +"*Distutils* montré ici est utilisé pour installer le paquet dans Python " +"1.5.2). ::" #: ../Doc/distutils/setupscript.rst:35 msgid "" @@ -52,6 +69,14 @@ msgid "" "module would be tedious to generate and difficult to maintain. For more " "information on the additional meta-data, see section :ref:`meta-data`." msgstr "" +"Il y a seulement deux différences entre cet exemple et l'exemple trivial de " +"la distribution d'un unique fichier présenté dans la partie :ref:`distutils-" +"simple-example` : plus de métadonnées, et la définition de modules purement " +"Python par paquet, plutôt que par module. C'est important car les " +"*Distutils* sont composés de quelques douzaines de modules séparés (pour le " +"moment) en deux paquets ; une liste explicite de chaque module serait " +"pénible à générer et difficile à maintenir. Pour plus d'information sur les " +"métadonnées supplémentaires, voir la partie :ref:`meta-data`." #: ../Doc/distutils/setupscript.rst:43 msgid "" @@ -63,6 +88,15 @@ msgid "" "systems, which of course is one of the major goals of the Distutils. In " "this spirit, all pathnames in this document are slash-separated." msgstr "" +"À noter que chaque chemin d'accès fourni au script ``setup.py`` doit être " +"écrit selon la convention Unix. Autrement dit, séparé par des barres " +"obliques (slash). Les *Distutils* prendront soin de convertir cette " +"représentation indépendante de la plateforme en une représentation adaptée à " +"votre plateforme actuelle avant d'effectivement utiliser le chemin d'accès. " +"Cela rend votre script ``setup.py`` portable d'un système d'exploitation à " +"l'autre, ce qui évidemment est l'un des buts majeurs des *Distutils*. Dans " +"cet esprit, tous les chemins d'accès dans ce document sont séparés par des " +"barres obliques (slash)." #: ../Doc/distutils/setupscript.rst:51 msgid "" @@ -71,10 +105,15 @@ msgid "" "or :func:`os.listdir` to specify files, you should be careful to write " "portable code instead of hardcoding path separators::" msgstr "" +"Cela, évidemment, s'applique uniquement aux chemins d'accès passés aux " +"fonctions de *Distutils*. Si vous, par exemple, vous utilisez les fonctions " +"standards de Python telles que :func:`glob.glob` or :func:`os.listdir` pour " +"définir des fichiers, vous devez prendre soin d'écrire du code portable au " +"lieu de coder en dur les séparateurs de chemin ::" #: ../Doc/distutils/setupscript.rst:63 msgid "Listing whole packages" -msgstr "" +msgstr "Lister l'ensemble des paquets" #: ../Doc/distutils/setupscript.rst:65 msgid "" @@ -91,6 +130,19 @@ msgid "" "break this promise, the Distutils will issue a warning but still process the " "broken package anyway." msgstr "" +"L'option ``packages`` dit aux *Distutils* de traiter (construire, " +"distribuer, installer, etc.) tous les modules en Python pur trouvés dans " +"chaque paquet mentionné dans la liste ``packages``. À cette fin, évidemment, " +"il faut une correspondance entre les noms des paquets et des répertoires " +"dans le système de fichiers. La correspondance par défaut est la plus " +"évidente. À savoir : le paquet :mod:`distutils` se trouve dans le " +"répertoire :file:`distutils` situé à la racine de la distribution. Ainsi, " +"quand vous écrivez ``packages = ['foo']`` dans votre script ``setup.py``, " +"vous vous engagez à ce que les *Distutils* trouvent un fichier ``foo/" +"__init__.py`` (qui peut s'épeler différemment sur votre système, mais vous " +"voyez l'idée) à un emplacement relatif au répertoire où se trouve le script " +"``setup.py``. Si ce n'est pas le cas, les *Distutils* lèvent un " +"avertissement mais traitent tout de même le paquet défectueux." #: ../Doc/distutils/setupscript.rst:77 msgid "" @@ -101,6 +153,14 @@ msgid "" "in any package at all) are in :file:`lib`, modules in the :mod:`foo` package " "are in :file:`lib/foo`, and so forth. Then you would put ::" msgstr "" +"Si vous utilisez une convention différente pour arranger votre répertoire de " +"sources, ce n'est pas un problème : vous avez seulement à fournir l'option " +"``package_dir`` pour prévenir les *Distutils* de l'usage de cette " +"convention. Par exemple, supposons que vous gardez toutes les sources Python " +"sous :file:`lib`, de telle sorte que les modules dans le « paquet " +"racine » (c'est-à-dire dans aucun paquet du tout) sont dans :file:`lib`, les " +"modules dans le paquet :mod:`foo` sont dans :file:`lib/foo`, et ainsi de " +"suite. Alors, vous pouvez mettre ::" #: ../Doc/distutils/setupscript.rst:86 msgid "" @@ -110,6 +170,11 @@ msgid "" "``packages = ['foo']``, you are promising that the file :file:`lib/foo/" "__init__.py` exists." msgstr "" +"dans votre script ``setup.py``. Les clés de ce dictionnaire sont les noms " +"des paquets, et un nom de paquet vide fait office de paquet racine. Les " +"valeurs sont des noms de répertoires relatifs à la racine de votre " +"distribution. Dans ce cas, lorsque vous dites ``packages = ['foo']``, vous " +"vous engagez à ce que le fichier :file:`lib/foo/__init__.py` existe." #: ../Doc/distutils/setupscript.rst:91 msgid "" @@ -117,6 +182,9 @@ msgid "" "`lib`, the :mod:`foo.bar` package in :file:`lib/bar`, etc. This would be " "written in the setup script as ::" msgstr "" +"Une autre convention possible est de mettre le paquet :mod:`foo` directement " +"dans :file:`lib`, le paquet :mod:`foo.bar` dans :file:`lib/bar`, etc. Cela " +"s'écrirait ainsi dans le script ``setup.py`` : ::" #: ../Doc/distutils/setupscript.rst:97 msgid "" @@ -132,7 +200,7 @@ msgstr "" #: ../Doc/distutils/setupscript.rst:110 msgid "Listing individual modules" -msgstr "" +msgstr "Lister chaque module indépendamment" #: ../Doc/distutils/setupscript.rst:112 msgid "" @@ -142,6 +210,11 @@ msgid "" "shown in section :ref:`distutils-simple-example`; here is a slightly more " "involved example::" msgstr "" +"Pour un petit projet, vous pouvez préférer lister tous les modules plutôt " +"que les paquets — surtout le cas d'un module seul qui va dans le « paquet " +"racine » (à savoir, aucun paquet du tout). Le cas le plus simple a été " +"montré dans la partie :ref:`distutils-simple-example` ; voici un exemple " +"plus concret ::" #: ../Doc/distutils/setupscript.rst:119 msgid "" @@ -152,10 +225,16 @@ msgid "" "you can override the package/directory correspondence using the " "``package_dir`` option." msgstr "" +"Deux modules sont décrits, l'un dans le paquet « racine », l'autre dans le " +"paquet :mod:`pkg`. Encore une fois, la structure paquet/répertoire par " +"défaut implique que ces deux modules peuvent être trouvés dans :file:`mod1." +"py` et :file:`pkg/mod2.py`, et que :file:`pkg/__init__.py` existe aussi. Là " +"aussi, vous pouvez redéfinir la correspondance paquet/répertoire en " +"utilisant l'option ``package_dir``." #: ../Doc/distutils/setupscript.rst:129 msgid "Describing extension modules" -msgstr "" +msgstr "Description des modules d'extension" #: ../Doc/distutils/setupscript.rst:131 msgid "" @@ -166,6 +245,13 @@ msgid "" "have to specify the extension name, source file(s), and any compile/link " "requirements (include directories, libraries to link with, etc.)." msgstr "" +"Tout comme écrire des modules d'extension Python est un peu plus compliqué " +"que d’écrire des modules purement en Python, les décrire aux *Distutils* est " +"un peu plus compliqué. Contrairement aux modules purs, il ne suffit pas de " +"simplement lister les modules ou les paquets et d'attendre que les " +"*Distutils* trouvent par eux-mêmes les bons fichiers ; vous devez définir le " +"nom de l'extension, du ou des fichiers de sources, et les prérequis de " +"compilation/lien (répertoires à inclure, bibliothèques à lier, etc.)." #: ../Doc/distutils/setupscript.rst:140 msgid "" @@ -177,6 +263,13 @@ msgid "" "instructions to the compiler/linker are needed, describing this extension is " "quite simple::" msgstr "" +"Tout ceci est fait à l'aide d'un autre argument nommé passé à :func:`setup`, " +"l'option ``ext_modules``. ``ext_modules`` est simplement une liste de " +"classes :class:`~distutils.core.Extension`, chacune décrivant une seule " +"extension de module. Supposons que votre distribution inclut une seule " +"extension appelée :mod:`foo` et implémentée par :file:`foo.c`. Si aucune " +"instruction supplémentaire au compilateur/lieur n'est requise, décrire cette " +"extension est assez simple ::" #: ../Doc/distutils/setupscript.rst:150 msgid "" @@ -184,6 +277,9 @@ msgid "" "along with :func:`setup`. Thus, the setup script for a module distribution " "that contains only this one extension and nothing else might be::" msgstr "" +"La classe :class:`Extension` peut être importée depuis :mod:`distutils.core` " +"en même temps que :func:`setup`. Ainsi, le script ``setup.py`` pour un " +"module qui ne contient que cette seule extension et rien d'autre peut être ::" #: ../Doc/distutils/setupscript.rst:160 msgid "" @@ -192,10 +288,14 @@ msgid "" "deal of flexibility in describing Python extensions, which is explained in " "the following sections." msgstr "" +"La classe :class:`Extension` (en réalité, la machinerie sous-jacente " +"construisant les extensions implémentées par la commande :command:" +"`build_ext`) permet une grande flexibilité dans la description des " +"extensions Python, ce qui est expliqué dans les parties suivantes." #: ../Doc/distutils/setupscript.rst:167 msgid "Extension names and packages" -msgstr "" +msgstr "Nom des extensions et paquets" #: ../Doc/distutils/setupscript.rst:169 msgid "" @@ -203,10 +303,12 @@ msgid "" "always the name of the extension, including any package names. For " "example, ::" msgstr "" +"Le premier argument du constructeur :class:`~distutils.core.Extension` est " +"toujours le nom de l'extension, incluant tout nom de paquet. Par exemple ::" #: ../Doc/distutils/setupscript.rst:174 msgid "describes an extension that lives in the root package, while ::" -msgstr "" +msgstr "décrit une extension qui se situe dans le paquet racine, tandis que ::" #: ../Doc/distutils/setupscript.rst:178 msgid "" @@ -215,6 +317,11 @@ msgid "" "is where in the filesystem (and therefore where in Python's namespace " "hierarchy) the resulting extension lives." msgstr "" +"décrit la même extension dans le paquet :mod:`pkg`. Les fichiers sources et " +"le code objet résultant sont identiques dans les deux cas ; la seule " +"différence est où, dans le système de fichier (et conséquemment dans la " +"hiérarchie de l'espace de nommage de Python), l'extension résultante se " +"situe." #: ../Doc/distutils/setupscript.rst:183 msgid "" @@ -222,16 +329,21 @@ msgid "" "same base package), use the ``ext_package`` keyword argument to :func:" "`setup`. For example, ::" msgstr "" +"Si vous avez un certain nombre d'extensions toutes dans le même paquet (ou " +"toutes sous le même paquet de base), utilisez l'argument nommé " +"``ext_package`` de :func:`setup`. Par exemple ::" #: ../Doc/distutils/setupscript.rst:193 msgid "" "will compile :file:`foo.c` to the extension :mod:`pkg.foo`, and :file:`bar." "c` to :mod:`pkg.subpkg.bar`." msgstr "" +"compile :file:`foo.c` en l’extension :mod:`pkg.foo`, et :file:`bar.c` en :" +"mod:`pkg.subpkg.bar`." #: ../Doc/distutils/setupscript.rst:198 msgid "Extension source files" -msgstr "" +msgstr "Fichiers sources d'extension" #: ../Doc/distutils/setupscript.rst:200 msgid "" @@ -250,16 +362,22 @@ msgid "" "will run SWIG on the interface file and compile the resulting C/C++ file " "into your extension." msgstr "" +"Néanmoins, vous pouvez également inclure des fichiers d'interface SWIG (:" +"file:`.i`) dans la liste ; la commande :command:`build_ext` sait comment " +"gérer les extensions SWIG : il lancera SWIG sur un fichier d'interface et " +"compilera le fichier en C/C++ en une extension." #: ../Doc/distutils/setupscript.rst:214 msgid "" "This warning notwithstanding, options to SWIG can be currently passed like " "this::" msgstr "" +"Malgré cet avertissement, les options peuvent être actuellement passées à " +"SWIG de la façon suivante ::" #: ../Doc/distutils/setupscript.rst:223 msgid "Or on the commandline like this::" -msgstr "" +msgstr "Ou en ligne de commande de cette façon ::" #: ../Doc/distutils/setupscript.rst:227 msgid "" @@ -269,10 +387,16 @@ msgid "" "rc`) files for Visual C++. These will be compiled to binary resource (:file:" "`.res`) files and linked into the executable." msgstr "" +"Sur certaines plateformes, vous pouvez inclure des fichiers autres que des " +"sources qui seront traités par le compilateur et inclus dans votre " +"extension. Pour l'instant, cela concerne seulement les fichiers de messages " +"texte Windows (:file:`.mc`) et les fichiers de définition de ressource pour " +"Visual C++ (:file:`.rc`). Ils seront compilés en fichiers de ressources " +"binaires (:file:`.res`) et liés à l'exécutable." #: ../Doc/distutils/setupscript.rst:235 msgid "Preprocessor options" -msgstr "" +msgstr "Options de préprocesseur" #: ../Doc/distutils/setupscript.rst:237 msgid "" @@ -280,12 +404,19 @@ msgid "" "you need to specify include directories to search or preprocessor macros to " "define/undefine: ``include_dirs``, ``define_macros``, and ``undef_macros``." msgstr "" +"Trois arguments optionnels de :class:`~distutils.core.Extension` aident si " +"vous avez besoin de préciser les dossiers d’en-têtes à chercher ou les " +"macros de préprocesseurs à charger ou ignorer : ``include_dirs``, " +"``define_macros``, et ``undef_macros``." #: ../Doc/distutils/setupscript.rst:241 msgid "" "For example, if your extension requires header files in the :file:`include` " "directory under your distribution root, use the ``include_dirs`` option::" msgstr "" +"Par exemple, si votre extension nécessite des fichiers d'en-tête dans le " +"répertoire :file:`include` à la racine de votre distribution, utilisez " +"l'option ``include_dirs`` ::" #: ../Doc/distutils/setupscript.rst:246 msgid "" @@ -293,12 +424,17 @@ msgid "" "will only be built on Unix systems with X11R6 installed to :file:`/usr`, you " "can get away with ::" msgstr "" +"Ici, vous pouvez définir le chemin absolu des répertoires ; si vous savez " +"que votre extension sera compilée sur un système Unix avec ``X11R6`` " +"installé dans :file:`/usr`, vous pouvez vous en sortir avec ::" #: ../Doc/distutils/setupscript.rst:252 msgid "" "You should avoid this sort of non-portable usage if you plan to distribute " "your code: it's probably better to write C code like ::" msgstr "" +"Il convient d'éviter ce type d'utilisation non portable si vous envisagez de " +"distribuer votre code : Il est probablement mieux d'écrire du code C comme ::" #: ../Doc/distutils/setupscript.rst:257 msgid "" @@ -312,6 +448,17 @@ msgid "" "in this case---is always included in the search path when building Python " "extensions, the best approach is to write C code like ::" msgstr "" +"Si vous avez besoin d'inclure des fichiers d'en-tête provenant d'autres " +"extensions Python, vous pouvez profiter du fait que les fichiers d'en-têtes " +"sont installés de façon cohérente par la commande :command:`install_headers` " +"des *Distutils*. Par exemple, les fichiers d'en-têtes de *Numerical Python* " +"(NumPy) sont installés (dans le cas d'une installation Unix standard) dans :" +"file:`/usr/local/include/python1.5/Numerical` — l'emplacement exact diffère " +"selon votre plateforme et votre installation de Python. Vu que le " +"répertoire :file:`include` de Python —\\ :file:`/usr/local/include/" +"python1.5` dans ce cas-ci — est toujours inclus dans le chemin de recherche " +"quand vous construisez des extensions Python, la meilleure approche est " +"d'écrire du code C comme ::" #: ../Doc/distutils/setupscript.rst:269 msgid "" @@ -319,6 +466,10 @@ msgid "" "header search path, though, you can find that directory using the Distutils :" "mod:`distutils.sysconfig` module::" msgstr "" +"Si vous devez mettre le répertoire :file:`include` de :file:`Numerical` " +"directement dans l'en-tête du chemin de recherche, cependant, vous pouvez " +"trouver ce répertoire en utilisant le module :mod:`distutils.sysconfig` des " +"*Distutils* ::" #: ../Doc/distutils/setupscript.rst:279 msgid "" @@ -326,6 +477,9 @@ msgid "" "installation, regardless of platform---it's probably easier to just write " "your C code in the sensible way." msgstr "" +"Même si c'est assez portable — ça marche sur la plupart des installations de " +"Python, indépendamment de la plateforme — il est probablement plus facile " +"d'écrire un code C un peu plus réfléchi." #: ../Doc/distutils/setupscript.rst:283 msgid "" @@ -337,6 +491,14 @@ msgid "" "your C source: with most compilers, this sets ``FOO`` to the string ``1``.) " "``undef_macros`` is just a list of macros to undefine." msgstr "" +"Vous pouvez définir ou ignorer des macros de pré-processeur avec les options " +"``define_macros`` et ``undef_macros``. ``define_macros`` prend une liste de " +"paires ``(nom, valeur)``, où ``nom`` est le nom de la macro à définir (une " +"chaîne de caractères) et ``valeur`` est sa valeur ; soit une chaîne de " +"caractères, soit ``None`` (définir une macro ``FOO`` à ``None`` est " +"équivalent à un simple ``#define FOO`` dans votre source en C ; pour la " +"majorité des compilateurs, cela définit la valeur de ``FOO`` à la chaîne de " +"caractère ``1``). ``undef_macros`` est juste une liste de macros à supprimer." #: ../Doc/distutils/setupscript.rst:291 msgid "For example::" @@ -344,11 +506,11 @@ msgstr "Par exemple ::" #: ../Doc/distutils/setupscript.rst:298 msgid "is the equivalent of having this at the top of every C source file::" -msgstr "" +msgstr "est équivalent à avoir ceci au début de chaque fichier source en C ::" #: ../Doc/distutils/setupscript.rst:307 msgid "Library options" -msgstr "" +msgstr "Options des bibliothèques" #: ../Doc/distutils/setupscript.rst:309 msgid "" @@ -359,24 +521,37 @@ msgid "" "time, and ``runtime_library_dirs`` is a list of directories to search for " "shared (dynamically loaded) libraries at run-time." msgstr "" +"Vous pouvez aussi définir les bibliothèques à lier quand vous construisez " +"votre extension, ainsi que le répertoire de recherche pour ces " +"bibliothèques. L'option ``libraries`` est une liste de bibliothèques à lier, " +"``library_dirs`` est une liste de répertoires dans lesquels chercher des " +"bibliothèques au moment de la liaison, et ``runtime_library_dirs`` est une " +"liste de répertoires pour la recherche des bibliothèques partagées (chargées " +"dynamiquement) à l'exécution." #: ../Doc/distutils/setupscript.rst:315 msgid "" "For example, if you need to link against libraries known to be in the " "standard library search path on target systems ::" msgstr "" +"Par exemple, pour lier des bibliothèques que l'on sait dans le chemin des " +"bibliothèques standards des systèmes cibles ::" #: ../Doc/distutils/setupscript.rst:321 msgid "" "If you need to link with libraries in a non-standard location, you'll have " "to include the location in ``library_dirs``::" msgstr "" +"Pour lier une bibliothèque se trouvant à un emplacement non standard, vous " +"devez inclure son emplacement dans ``library_dirs`` ::" #: ../Doc/distutils/setupscript.rst:328 msgid "" "(Again, this sort of non-portable construct should be avoided if you intend " "to distribute your code.)" msgstr "" +"Là aussi, ce genre de construction non portable doit être évité si vous avez " +"l'intention de distribuer votre code." #: ../Doc/distutils/setupscript.rst:335 msgid "Other options" @@ -386,6 +561,8 @@ msgstr "Autres options" msgid "" "There are still some other options which can be used to handle special cases." msgstr "" +"Il y a encore d'autres options qui peuvent être utilisées pour gérer des cas " +"spéciaux." #: ../Doc/distutils/setupscript.rst:339 msgid "" @@ -393,6 +570,9 @@ msgid "" "extension will not abort the build process, but instead simply not install " "the failing extension." msgstr "" +"L'option ``optional`` est un booléen ; s'il est vrai, un échec de la " +"construction dans l'extension n'annule pas le processus de construction, " +"mais à la place, l'extension en échec ne sera pas installée." #: ../Doc/distutils/setupscript.rst:343 msgid "" @@ -400,6 +580,9 @@ msgid "" "linker. These files must not have extensions, as the default extension for " "the compiler is used." msgstr "" +"L'option ``extra_objects`` est une liste d'objets fichiers à passer à " +"l'éditeur de liens. Ces fichiers ne doivent pas avoir d'extensions car " +"l'extension par défaut du compilateur est utilisée." #: ../Doc/distutils/setupscript.rst:347 msgid "" @@ -407,6 +590,9 @@ msgid "" "additional command line options for the respective compiler and linker " "command lines." msgstr "" +"``extra_compile_args`` et ``extra_link_args`` peuvent être utilisées pour " +"définir des options additionnelles en ligne de commande propres aux lignes " +"de commandes respectives du compilateur et de l'éditeur de liens." #: ../Doc/distutils/setupscript.rst:351 msgid "" @@ -415,6 +601,10 @@ msgid "" "when building compiled extensions: Distutils will automatically add " "``initmodule`` to the list of exported symbols." msgstr "" +"``export_symbols`` est seulement utile sur Windows. Elle peut contenir une " +"liste de symboles (fonctions ou variables) à exporter. Cette option n'est " +"pas requise pour la construction d'extensions compilées : *Distutils* ajoute " +"automatiquement ``initmodule`` à la liste des symboles exportés." #: ../Doc/distutils/setupscript.rst:356 msgid "" @@ -423,32 +613,40 @@ msgid "" "sources to rebuild extension if any on this files has been modified since " "the previous build." msgstr "" +"L'option ``depends`` est une liste de fichiers dont les extensions dépendent " +"(par exemple les fichiers d'en-têtes). La commande ``build`` appelle le " +"compilateur sur les sources pour reconstruire l'extension si un de ces " +"fichiers a été modifié depuis la dernière construction." #: ../Doc/distutils/setupscript.rst:362 msgid "Relationships between Distributions and Packages" -msgstr "" +msgstr "Relations entre distributions et paquets" #: ../Doc/distutils/setupscript.rst:364 msgid "A distribution may relate to packages in three specific ways:" msgstr "" +"Une distribution peut se rapporter à des paquets de trois manières " +"spécifiques :" #: ../Doc/distutils/setupscript.rst:366 msgid "It can require packages or modules." -msgstr "" +msgstr "elle peut nécessiter des paquets ou des modules ;" #: ../Doc/distutils/setupscript.rst:368 msgid "It can provide packages or modules." -msgstr "" +msgstr "elle peut fournir des paquets ou des modules ;" #: ../Doc/distutils/setupscript.rst:370 msgid "It can obsolete packages or modules." -msgstr "" +msgstr "elle peut rendre obsolète des paquets ou des modules." #: ../Doc/distutils/setupscript.rst:372 msgid "" "These relationships can be specified using keyword arguments to the :func:" "`distutils.core.setup` function." msgstr "" +"Ces relations peuvent être définies en utilisant des paramètres nommés dans " +"la fonction :func:`distutils.core.setup`." #: ../Doc/distutils/setupscript.rst:375 msgid "" @@ -457,6 +655,10 @@ msgid "" "be a list of strings. Each string specifies a package that is required, and " "optionally what versions are sufficient." msgstr "" +"Les dépendances à d'autres modules et paquets Python peuvent être définies " +"en fournissant le paramètre nommé ``requires`` à :func:`setup`. La valeur " +"doit être une liste de chaînes de caractères. Chaque chaîne de caractères " +"définit un paquet requis et, en option, les versions minimales." #: ../Doc/distutils/setupscript.rst:380 msgid "" @@ -464,6 +666,9 @@ msgid "" "should consist entirely of the module or package name. Examples include " "``'mymodule'`` and ``'xml.parsers.expat'``." msgstr "" +"S'il n'est pas nécessaire de préciser la version d'un module ou d'un paquet, " +"la chaîne de caractères contient simplement les noms de modules ou de " +"paquets. Par exemple ``mymodule`` et ``'xml.parsers.expat'``." #: ../Doc/distutils/setupscript.rst:384 msgid "" @@ -471,6 +676,10 @@ msgid "" "in parentheses. Each qualifier may consist of a comparison operator and a " "version number. The accepted comparison operators are::" msgstr "" +"Si des versions spécifiques sont requises, une suite de qualificatifs peut " +"être fournie entre parenthèses. Chaque qualificatif peut contenir un " +"opérateur de comparaison et un numéro de version. Les opérateurs de " +"comparaison acceptés sont ::" #: ../Doc/distutils/setupscript.rst:391 msgid "" @@ -478,14 +687,18 @@ msgid "" "optional whitespace). In this case, all of the qualifiers must be matched; " "a logical AND is used to combine the evaluations." msgstr "" +"Ils peuvent être combinés en utilisant plusieurs qualificatifs séparés par " +"des virgules (et de façon optionnelle, des espaces). Dans ce cas, tous les " +"qualificatifs doivent être respectés ; un ET logique est utilisé pour " +"combiner les évaluations." #: ../Doc/distutils/setupscript.rst:395 msgid "Let's look at a bunch of examples:" -msgstr "" +msgstr "Jetons un œil à quelques exemples :" #: ../Doc/distutils/setupscript.rst:398 msgid "Requires Expression" -msgstr "" +msgstr "Valeur de ``requires``" #: ../Doc/distutils/setupscript.rst:398 ../Doc/distutils/setupscript.rst:416 msgid "Explanation" @@ -493,20 +706,22 @@ msgstr "Explication" #: ../Doc/distutils/setupscript.rst:400 msgid "``==1.0``" -msgstr "" +msgstr "``==1.0``" #: ../Doc/distutils/setupscript.rst:400 msgid "Only version ``1.0`` is compatible" -msgstr "" +msgstr "Seule la version ``1.0`` est compatible." #: ../Doc/distutils/setupscript.rst:402 msgid "``>1.0, !=1.5.1, <2.0``" -msgstr "" +msgstr "``>1.0, !=1.5.1, <2.0``" #: ../Doc/distutils/setupscript.rst:402 msgid "" "Any version after ``1.0`` and before ``2.0`` is compatible, except ``1.5.1``" msgstr "" +"Toute version après ``1.0`` et avant ``2.0`` est compatible, à l'exception " +"de ``1.5.1``." #: ../Doc/distutils/setupscript.rst:406 msgid "" @@ -517,6 +732,13 @@ msgid "" "optionally identifies the version. If the version is not specified, it is " "assumed to match that of the distribution." msgstr "" +"Maintenant que nous pouvons définir des dépendances, nous devons également " +"être en mesure de définir ce que d'autres distributions peuvent attendre de " +"notre part. Cela est réalisé en utilisant l'argument nommé *provides* dans :" +"func:`setup`. La valeur de cet argument est une liste de chaînes de " +"caractères, chacune d'entre elles étant un module Python ou un paquet et, de " +"façon optionnelle, identifie une version. Si la version n'est pas définie, " +"il est supposé qu'elle correspond à celle de la distribution." #: ../Doc/distutils/setupscript.rst:413 msgid "Some examples:" @@ -524,23 +746,25 @@ msgstr "Quelques exemples :" #: ../Doc/distutils/setupscript.rst:416 msgid "Provides Expression" -msgstr "" +msgstr "Valeur de ``provides``" #: ../Doc/distutils/setupscript.rst:418 msgid "``mypkg``" -msgstr "" +msgstr "``mypkg``" #: ../Doc/distutils/setupscript.rst:418 msgid "Provide ``mypkg``, using the distribution version" -msgstr "" +msgstr "Fournit ``mypkg`` en utilisant la version de la distribution." #: ../Doc/distutils/setupscript.rst:421 msgid "``mypkg (1.1)``" -msgstr "" +msgstr "``mypkg (1.1)``" #: ../Doc/distutils/setupscript.rst:421 msgid "Provide ``mypkg`` version 1.1, regardless of the distribution version" msgstr "" +"Fournit ``mypkg`` en version 1.1, indépendamment de la version de la " +"distribution." #: ../Doc/distutils/setupscript.rst:425 msgid "" @@ -551,6 +775,13 @@ msgid "" "more version qualifiers. Version qualifiers are given in parentheses after " "the module or package name." msgstr "" +"On peut déclarer d'autres paquets obsolètes dans un paquet en utilisant " +"l'argument nommé *obsoletes*. La valeur pour celui-ci est similaire à celui " +"de l'argument nommé *requires* : une liste de chaînes de caractères donnant " +"les spécifications du module ou du paquet. Chaque spécification est " +"constituée d'un nom de module ou de paquet qui peut être suivi au choix par " +"un ou plusieurs qualificateurs de versions. Les qualificateurs de versions " +"sont donnés entre parenthèses après le nom de module ou de paquet." #: ../Doc/distutils/setupscript.rst:432 msgid "" @@ -558,16 +789,23 @@ msgid "" "the distribution being described. If no qualifiers are given, all versions " "of the named module or package are understood to be obsoleted." msgstr "" +"Les versions identifiées par les qualificateurs sont celles qui sont rendues " +"obsolètes par la distribution décrite. Si aucun qualificateur n'est donné, " +"toutes les versions du module ou du paquet nommé sont considérées comme " +"obsolètes." #: ../Doc/distutils/setupscript.rst:439 msgid "Installing Scripts" -msgstr "" +msgstr "Installation des scripts" #: ../Doc/distutils/setupscript.rst:441 msgid "" "So far we have been dealing with pure and non-pure Python modules, which are " "usually not run by themselves but imported by scripts." msgstr "" +"Jusqu'à présent nous avons interagi avec des modules Python purs ou non, qui " +"ne sont habituellement pas lancés par eux-mêmes mais importés par des " +"scripts." #: ../Doc/distutils/setupscript.rst:444 msgid "" @@ -586,16 +824,20 @@ msgid "" "The ``scripts`` option simply is a list of files to be handled in this way. " "From the PyXML setup script::" msgstr "" +"L'option ``scripts`` est simplement une liste de fichiers à utiliser de " +"cette façon. Dans le script ``setup.py`` de PyML ::" #: ../Doc/distutils/setupscript.rst:459 msgid "" "All the scripts will also be added to the ``MANIFEST`` file if no template " "is provided. See :ref:`manifest`." msgstr "" +"Tous les scripts seront aussi ajoutés au fichier ``MANIFEST`` si aucun " +"modèle n'est fourni. Voir :ref:`manifest`." #: ../Doc/distutils/setupscript.rst:467 msgid "Installing Package Data" -msgstr "" +msgstr "Installation de paquets de données" #: ../Doc/distutils/setupscript.rst:469 msgid "" @@ -604,6 +846,11 @@ msgid "" "text files containing documentation that might be of interest to programmers " "using the package. These files are called :dfn:`package data`." msgstr "" +"Souvent, des fichiers additionnels doivent être installés dans le paquet. " +"Ces fichiers sont souvent de la donnée qui est intimement liée à " +"l'implémentation du paquet, ou des fichiers textes contenant de la " +"documentation intéressant le programmeur utilisant le paquet. Ces fichiers " +"sont appelés :dfn:`paquets de données `." #: ../Doc/distutils/setupscript.rst:474 msgid "" @@ -615,32 +862,47 @@ msgid "" "appropriate); that is, the files are expected to be part of the package in " "the source directories. They may contain glob patterns as well." msgstr "" +"Les paquets de données peuvent être ajoutés en utilisant l'argument nommé " +"``package_data`` dans la fonction :func:`setup`. La valeur doit être un " +"tableau de correspondances entre le nom du paquet et une liste de chemins " +"relatifs à copier dans le paquet. Les chemins sont interprétés relativement " +"au répertoire contenant le paquet (l'information du mappage ``package_dir`` " +"est utilisée le cas échéant) ; ceci étant, il convient que les fichiers " +"fassent partie du répertoire source du paquet. Ils peuvent également " +"contenir des motifs `glob`." #: ../Doc/distutils/setupscript.rst:482 msgid "" "The path names may contain directory portions; any necessary directories " "will be created in the installation." msgstr "" +"Les chemins d'accès peuvent contenir une hiérarchie de répertoires ; tout " +"répertoire nécessaire sera créé dans cette installation." #: ../Doc/distutils/setupscript.rst:485 msgid "" "For example, if a package should contain a subdirectory with several data " "files, the files can be arranged like this in the source tree::" msgstr "" +"Par exemple, si un paquet doit inclure un sous-répertoire avec plusieurs " +"fichiers de donnée, les fichiers peuvent être organisés dans l'arborescence " +"de la façon suivante ::" #: ../Doc/distutils/setupscript.rst:498 msgid "The corresponding call to :func:`setup` might be::" -msgstr "" +msgstr "L'appel correspondant à :func:`setup` peut s'écrire ::" #: ../Doc/distutils/setupscript.rst:507 msgid "" "All the files that match ``package_data`` will be added to the ``MANIFEST`` " "file if no template is provided. See :ref:`manifest`." msgstr "" +"Tous les fichiers correspondant à ``package_data`` seront ajoutés au fichier " +"``MANIFEST`` si aucun modèle n'est fourni. Voir :ref:`manifest`." #: ../Doc/distutils/setupscript.rst:515 msgid "Installing Additional Files" -msgstr "" +msgstr "Installation de fichiers additionnels" #: ../Doc/distutils/setupscript.rst:517 msgid "" @@ -648,12 +910,18 @@ msgid "" "the module distribution: configuration files, message catalogs, data files, " "anything which doesn't fit in the previous categories." msgstr "" +"L'option ``data_files`` peut être utilisée pour définir des fichiers " +"additionnels requis pour la distribution du module : fichiers de " +"configuration, catalogues de messages, fichiers de donnée, tout ce qui ne " +"rentre pas dans les catégories précédentes." #: ../Doc/distutils/setupscript.rst:521 msgid "" "``data_files`` specifies a sequence of (*directory*, *files*) pairs in the " "following way::" msgstr "" +"``data_files`` définit une séquence de paires (*répertoires*, *fichiers*) de " +"la façon suivante ::" #: ../Doc/distutils/setupscript.rst:530 msgid "" @@ -681,26 +949,36 @@ msgid "" "files directly in the target directory, an empty string should be given as " "the directory." msgstr "" +"Vous pouvez définir les options ``data_files`` comme une simple succession " +"de fichiers sans définir de répertoire cible, mais cela n'est pas " +"recommandé, et la commande :command:`install` affichera un message d'alerte " +"dans ce cas. Pour installer des fichiers de donnée directement dans le " +"répertoire cible, une chaîne de caractère vide doit être donnée en tant que " +"répertoire." #: ../Doc/distutils/setupscript.rst:548 msgid "" "All the files that match ``data_files`` will be added to the ``MANIFEST`` " "file if no template is provided. See :ref:`manifest`." msgstr "" +"Tous les fichiers correspondant à ``data_files`` seront ajoutés au fichier " +"``MANIFEST`` si aucun modèle n'est fourni. Voir :ref:`manifest`." #: ../Doc/distutils/setupscript.rst:556 msgid "Additional meta-data" -msgstr "" +msgstr "Métadonnées additionnelles" #: ../Doc/distutils/setupscript.rst:558 msgid "" "The setup script may include additional meta-data beyond the name and " "version. This information includes:" msgstr "" +"Le script ``setup.py`` peut inclure des métadonnées additionnelles en plus " +"du nom et de la version. Cela inclut les informations suivantes :" #: ../Doc/distutils/setupscript.rst:562 msgid "Meta-Data" -msgstr "" +msgstr "Métadonnées" #: ../Doc/distutils/setupscript.rst:562 msgid "Description" @@ -720,13 +998,13 @@ msgstr "``name``" #: ../Doc/distutils/setupscript.rst:564 msgid "name of the package" -msgstr "" +msgstr "nom du paquet" #: ../Doc/distutils/setupscript.rst:564 ../Doc/distutils/setupscript.rst:566 #: ../Doc/distutils/setupscript.rst:568 ../Doc/distutils/setupscript.rst:573 #: ../Doc/distutils/setupscript.rst:580 ../Doc/distutils/setupscript.rst:594 msgid "short string" -msgstr "" +msgstr "courte chaîne de caractères" #: ../Doc/distutils/setupscript.rst:564 ../Doc/distutils/setupscript.rst:578 msgid "\\(1)" @@ -738,7 +1016,7 @@ msgstr "``version``" #: ../Doc/distutils/setupscript.rst:566 msgid "version of this release" -msgstr "" +msgstr "version de la publication" #: ../Doc/distutils/setupscript.rst:566 msgid "(1)(2)" @@ -746,11 +1024,11 @@ msgstr "(1)(2)" #: ../Doc/distutils/setupscript.rst:568 msgid "``author``" -msgstr "" +msgstr "``author``" #: ../Doc/distutils/setupscript.rst:568 msgid "package author's name" -msgstr "" +msgstr "nom de l'auteur du paquet" #: ../Doc/distutils/setupscript.rst:568 ../Doc/distutils/setupscript.rst:570 #: ../Doc/distutils/setupscript.rst:573 ../Doc/distutils/setupscript.rst:575 @@ -759,31 +1037,31 @@ msgstr "\\(3)" #: ../Doc/distutils/setupscript.rst:570 msgid "``author_email``" -msgstr "" +msgstr "``author_email``" #: ../Doc/distutils/setupscript.rst:570 msgid "email address of the package author" -msgstr "" +msgstr "adresse courriel de l'auteur du paquet" #: ../Doc/distutils/setupscript.rst:570 ../Doc/distutils/setupscript.rst:575 msgid "email address" -msgstr "" +msgstr "adresse de courriel" #: ../Doc/distutils/setupscript.rst:573 msgid "``maintainer``" -msgstr "" +msgstr "``maintainer``" #: ../Doc/distutils/setupscript.rst:573 msgid "package maintainer's name" -msgstr "" +msgstr "nom du mainteneur du paquet" #: ../Doc/distutils/setupscript.rst:575 msgid "``maintainer_email``" -msgstr "" +msgstr "``maintainer_email``" #: ../Doc/distutils/setupscript.rst:575 msgid "email address of the package maintainer" -msgstr "" +msgstr "adresse du courriel du mainteneur du paquet" #: ../Doc/distutils/setupscript.rst:578 msgid "``url``" @@ -791,11 +1069,11 @@ msgstr "``url``" #: ../Doc/distutils/setupscript.rst:578 msgid "home page for the package" -msgstr "" +msgstr "page d’accueil du paquet" #: ../Doc/distutils/setupscript.rst:578 ../Doc/distutils/setupscript.rst:587 msgid "URL" -msgstr "" +msgstr "URL" #: ../Doc/distutils/setupscript.rst:580 msgid "``description``" @@ -803,7 +1081,7 @@ msgstr "``description``" #: ../Doc/distutils/setupscript.rst:580 msgid "short, summary description of the package" -msgstr "" +msgstr "bref résumé décrivant le paquet" #: ../Doc/distutils/setupscript.rst:584 msgid "``long_description``" @@ -811,11 +1089,11 @@ msgstr "``long_description``" #: ../Doc/distutils/setupscript.rst:584 msgid "longer description of the package" -msgstr "" +msgstr "description plus complète du paquet" #: ../Doc/distutils/setupscript.rst:584 msgid "long string" -msgstr "" +msgstr "longue chaîne de caractères" #: ../Doc/distutils/setupscript.rst:584 msgid "\\(5)" @@ -823,11 +1101,11 @@ msgstr "\\(5)" #: ../Doc/distutils/setupscript.rst:587 msgid "``download_url``" -msgstr "" +msgstr "``download_url``" #: ../Doc/distutils/setupscript.rst:587 msgid "location where the package may be downloaded" -msgstr "" +msgstr "endroit où le paquet peut être téléchargé" #: ../Doc/distutils/setupscript.rst:587 ../Doc/distutils/setupscript.rst:590 msgid "\\(4)" @@ -835,23 +1113,23 @@ msgstr "\\(4)" #: ../Doc/distutils/setupscript.rst:590 msgid "``classifiers``" -msgstr "" +msgstr "``classifiers``" #: ../Doc/distutils/setupscript.rst:590 msgid "a list of classifiers" -msgstr "" +msgstr "une liste de classificateurs" #: ../Doc/distutils/setupscript.rst:590 ../Doc/distutils/setupscript.rst:592 msgid "list of strings" -msgstr "" +msgstr "liste de chaînes de caractères" #: ../Doc/distutils/setupscript.rst:592 msgid "``platforms``" -msgstr "" +msgstr "``platforms``" #: ../Doc/distutils/setupscript.rst:592 msgid "a list of platforms" -msgstr "" +msgstr "une liste de plateformes" #: ../Doc/distutils/setupscript.rst:594 msgid "``license``" @@ -859,7 +1137,7 @@ msgstr "``license``" #: ../Doc/distutils/setupscript.rst:594 msgid "license for the package" -msgstr "" +msgstr "licence du paquet" #: ../Doc/distutils/setupscript.rst:594 msgid "\\(6)" @@ -871,18 +1149,22 @@ msgstr "Notes :" #: ../Doc/distutils/setupscript.rst:600 msgid "These fields are required." -msgstr "" +msgstr "Ces champs sont requis." #: ../Doc/distutils/setupscript.rst:603 msgid "" "It is recommended that versions take the form *major.minor[.patch[.sub]]*." msgstr "" +"Il est recommandé que les versions prennent la forme *majeure.mineure[." +"correctif[.sous-correctif]]*." #: ../Doc/distutils/setupscript.rst:606 msgid "" "Either the author or the maintainer must be identified. If maintainer is " "provided, distutils lists it as the author in :file:`PKG-INFO`." msgstr "" +"L'auteur ou un mainteneur doit être identifié. Si un mainteneur est fourni, " +"*distutils* l'indique en tant qu'auteur dans le fichier :file:`PKG-INFO`." #: ../Doc/distutils/setupscript.rst:610 msgid "" @@ -905,6 +1187,11 @@ msgid "" "See the ``Classifier`` field. Notice that there's a ``licence`` distribution " "option which is deprecated but still acts as an alias for ``license``." msgstr "" +"Le champ ``license`` est un texte indiquant la licence du paquet quand la " +"licence n'est pas indiquée dans les classificateurs de type « Licence » " +"Trove. Voir le champ ``Classifier``. À noter qu'il y a une option de " +"distribution ``licence`` qui est obsolète mais agit toujours comme un alias " +"pour ``license``." #: ../Doc/distutils/setupscript.rst:627 msgid "'short string'" @@ -912,7 +1199,7 @@ msgstr "'chaîne courte'" #: ../Doc/distutils/setupscript.rst:627 msgid "A single line of text, not more than 200 characters." -msgstr "" +msgstr "Une simple ligne de texte ne dépassant par 200 caractères." #: ../Doc/distutils/setupscript.rst:631 msgid "'long string'" @@ -923,6 +1210,8 @@ msgid "" "Multiple lines of plain text in reStructuredText format (see http://docutils." "sourceforge.net/)." msgstr "" +"De multiples lignes de texte au format ReStructuredText (voir http://" +"docutils.sourceforge.net/)." #: ../Doc/distutils/setupscript.rst:634 msgid "'list of strings'" @@ -930,7 +1219,7 @@ msgstr "'liste de chaînes'" #: ../Doc/distutils/setupscript.rst:634 msgid "See below." -msgstr "" +msgstr "Voir ci-dessous." #: ../Doc/distutils/setupscript.rst:636 msgid "" @@ -946,22 +1235,34 @@ msgid "" "which only fix bugs) and \"pr1,pr2,...,prN\" (for final pre-release release " "testing). Some examples:" msgstr "" +"Encoder les informations de version est un art en soi. Les paquets Python " +"adhèrent généralement au format de version *majeure.mineure[.correctif]" +"[sous]*. Le numéro majeur 0 est utilisé pour les publications " +"expérimentales, initiales d'un logiciel. Il est incrémenté pour les " +"publications qui représentent des étapes majeures pour le paquet. Le nombre " +"mineur est incrémenté quand d'importantes nouvelles fonctionnalités sont " +"ajoutées au paquet. Le numéro de correctif s'incrémente lors de la " +"publication d'une correction de bogue est faite. Celles-ci sont \"*a1,a2,...," +"aN*\" (pour les publications alpha, où les fonctionnalités et l'API peut " +"changer), \"*b1,b2,...,bN*\" (pour les publications *beta*, qui corrigent " +"seulement les bogues) et \"*pr1,pr2,...,prN*\" (pour les ultimes pré-" +"publication et publications de test). Quelques exemples :" #: ../Doc/distutils/setupscript.rst:648 msgid "0.1.0" -msgstr "" +msgstr "0.1.0" #: ../Doc/distutils/setupscript.rst:648 msgid "the first, experimental release of a package" -msgstr "" +msgstr "la première, publication expérimentale du paquet" #: ../Doc/distutils/setupscript.rst:651 msgid "1.0.1a2" -msgstr "" +msgstr "1.0.1a2" #: ../Doc/distutils/setupscript.rst:651 msgid "the second alpha release of the first patch version of 1.0" -msgstr "" +msgstr "la seconde publication alpha du premier correctif de la version 1.0" #: ../Doc/distutils/setupscript.rst:653 msgid "``classifiers`` are specified in a Python list::" @@ -969,13 +1270,15 @@ msgstr "" #: ../Doc/distutils/setupscript.rst:677 msgid "Debugging the setup script" -msgstr "" +msgstr "Débogage du script ``setup.py``" #: ../Doc/distutils/setupscript.rst:679 msgid "" "Sometimes things go wrong, and the setup script doesn't do what the " "developer wants." msgstr "" +"Parfois les choses tournent mal et le script ``setup.py`` ne fait pas ce que " +"le développeur veut." #: ../Doc/distutils/setupscript.rst:682 msgid "" @@ -987,6 +1290,14 @@ msgid "" "or the Python installation is broken because they don't read all the way " "down to the bottom and see that it's a permission problem." msgstr "" +"*Distutils* intercepte toute exception lors de l'exécution du script ``setup." +"py`` et affiche un message d'erreur simple avant d'arrêter le script. L'idée " +"est de ne pas embrouiller les administrateurs qui ne savent pas grand-chose " +"de Python et qui essayent d'installer un paquet. S'ils reçoivent une grosse " +"et longue trace d'appels provenant des entrailles de *Distutils*, ils " +"peuvent penser que le paquet ou que l'installation de Python est corrompue " +"car, ils ne lisent pas tout jusqu'en bas alors que c'est un problème de " +"droits." #: ../Doc/distutils/setupscript.rst:690 msgid "" @@ -997,3 +1308,10 @@ msgid "" "traceback when an exception occurs, and print the whole command line when an " "external program (like a C compiler) fails." msgstr "" +"D'un autre côté, cela n'aide pas le développeur à trouver la cause du " +"problème. À cette fin, la variable d'environnement :envvar:`DISTUTILS_DEBUG` " +"peut être assignée à n'importe quoi sauf une chaîne de caractères vide, et " +"*distutils* affichera maintenant une information détaillée à propos de ce " +"qu'il fait, déversera la trace d'appels complète lors d'une exception, et " +"affichera la ligne de commande complète quand un programme externe (comme un " +"compilateur C) échoue." diff --git a/extending/extending.po b/extending/extending.po index 995f65a7..f06be717 100644 --- a/extending/extending.po +++ b/extending/extending.po @@ -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:355 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:359 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:406 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:412 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:418 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:427 msgid "Compilation and Linkage" -msgstr "" +msgstr "Compilation et liaison" #: ../Doc/extending/extending.rst:429 msgid "" @@ -722,7 +749,7 @@ msgstr "" #: ../Doc/extending/extending.rst:460 msgid "Calling Python Functions from C" -msgstr "" +msgstr "Appeler des fonctions Python en C" #: ../Doc/extending/extending.rst:462 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:511 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:582 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:604 msgid "Extracting Parameters in Extension Functions" -msgstr "" +msgstr "Extraire des paramètres dans des fonctions d'extension" #: ../Doc/extending/extending.rst:608 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:612 msgid "" @@ -874,16 +919,17 @@ msgstr "" #: ../Doc/extending/extending.rst:626 msgid "Some example calls::" -msgstr "" +msgstr "Quelques exemples d'appels ::" #: ../Doc/extending/extending.rst:696 msgid "Keyword Parameters for Extension Functions" -msgstr "" +msgstr "Paramètres nommés pour des fonctions d'extension" #: ../Doc/extending/extending.rst:700 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:705 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:721 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:775 msgid "Building Arbitrary Values" -msgstr "" +msgstr "Créer des valeurs arbitraires" #: ../Doc/extending/extending.rst:777 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:782 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:787 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:821 msgid "Reference Counts" -msgstr "" +msgstr "Compteurs de références" #: ../Doc/extending/extending.rst:823 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:829 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:861 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:873 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:884 msgid "" @@ -1044,7 +1142,7 @@ msgstr "" #: ../Doc/extending/extending.rst:898 msgid "Reference Counting in Python" -msgstr "" +msgstr "Comptage de références en Python" #: ../Doc/extending/extending.rst:900 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:907 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:916 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:930 msgid "" @@ -1101,7 +1224,7 @@ msgstr "" #: ../Doc/extending/extending.rst:940 msgid "Ownership Rules" -msgstr "" +msgstr "Règles concernant la propriété de références" #: ../Doc/extending/extending.rst:942 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:946 msgid "" @@ -1168,7 +1295,7 @@ msgstr "" #: ../Doc/extending/extending.rst:987 msgid "Thin Ice" -msgstr "" +msgstr "Terrain dangereux" #: ../Doc/extending/extending.rst:989 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:993 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:1005 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:1009 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:1016 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:1024 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:1065 msgid "NULL Pointers" -msgstr "" +msgstr "Pointeurs ``NULL``" #: ../Doc/extending/extending.rst:1067 msgid "" @@ -1293,7 +1454,7 @@ msgstr "" #: ../Doc/extending/extending.rst:1104 msgid "Writing Extensions in C++" -msgstr "" +msgstr "Écrire des extensions en C++" #: ../Doc/extending/extending.rst:1106 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:1120 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:1125 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:1133 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:1145 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:1152 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:1166 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:1191 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:1198 msgid "" @@ -1424,15 +1649,15 @@ msgstr "" #: ../Doc/extending/extending.rst:1207 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:1221 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:1225 msgid "two more lines must be added::" -msgstr "" +msgstr "on doit ajouter deux lignes supplémentaires ::" #: ../Doc/extending/extending.rst:1230 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:1256 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:1259 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:1310 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:1328 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:1332 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:1340 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:1344 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:1347 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:1351 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." diff --git a/extending/newtypes.po b/extending/newtypes.po index a7817ad7..a3e2bceb 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -834,6 +834,9 @@ 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:922 msgid "" @@ -843,7 +846,7 @@ msgstr "" #: ../Doc/extending/newtypes.rst:927 msgid "Finalization and De-allocation" -msgstr "" +msgstr "Finalisation et de-allocation" #: ../Doc/extending/newtypes.rst:939 msgid "" @@ -891,11 +894,11 @@ msgstr "" #: ../Doc/extending/newtypes.rst:1009 msgid ":pep:`442` explains the new finalization scheme." -msgstr "" +msgstr ":pep:`442` explique le nouveau schéma de finalisation." #: ../Doc/extending/newtypes.rst:1016 msgid "Object Presentation" -msgstr "" +msgstr "Présentation de l'objet" #: ../Doc/extending/newtypes.rst:1018 msgid "" @@ -931,11 +934,11 @@ msgstr "" #: ../Doc/extending/newtypes.rst:1049 msgid "Here is a simple example::" -msgstr "" +msgstr "Voici un exemple simple ::" #: ../Doc/extending/newtypes.rst:1061 msgid "Attribute Management" -msgstr "" +msgstr "Gestion des attributs" #: ../Doc/extending/newtypes.rst:1063 msgid "" @@ -969,7 +972,7 @@ msgstr "" #: ../Doc/extending/newtypes.rst:1092 msgid "Generic Attribute Management" -msgstr "" +msgstr "Gestion des attributs génériques" #: ../Doc/extending/newtypes.rst:1094 msgid "" @@ -982,6 +985,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:1100 msgid "" @@ -1010,6 +1015,7 @@ msgstr "" #: ../Doc/extending/newtypes.rst:1114 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:1120 msgid "" @@ -1061,35 +1067,35 @@ msgstr "Signification" #: ../Doc/extending/newtypes.rst:1161 msgid ":const:`READONLY`" -msgstr "" +msgstr ":const:`READONLY`" #: ../Doc/extending/newtypes.rst:1161 msgid "Never writable." -msgstr "" +msgstr "Jamais disponible en écriture." #: ../Doc/extending/newtypes.rst:1163 msgid ":const:`READ_RESTRICTED`" -msgstr "" +msgstr ":const:`READ_RESTRICTED`" #: ../Doc/extending/newtypes.rst:1163 msgid "Not readable in restricted mode." -msgstr "" +msgstr "Non disponible en lecture, dans le mode restreint." #: ../Doc/extending/newtypes.rst:1165 msgid ":const:`WRITE_RESTRICTED`" -msgstr "" +msgstr ":const:`WRITE_RESTRICTED`" #: ../Doc/extending/newtypes.rst:1165 msgid "Not writable in restricted mode." -msgstr "" +msgstr "Non disponible en écriture dans le mode restreint." #: ../Doc/extending/newtypes.rst:1167 msgid ":const:`RESTRICTED`" -msgstr "" +msgstr ":const:`RESTRICTED`" #: ../Doc/extending/newtypes.rst:1167 msgid "Not readable or writable in restricted mode." -msgstr "" +msgstr "Non disponible en lecture ou écriture, en mode restreint." #: ../Doc/extending/newtypes.rst:1176 msgid "" @@ -1100,6 +1106,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:1182 msgid "" @@ -1109,7 +1122,7 @@ msgstr "" #: ../Doc/extending/newtypes.rst:1196 msgid "Type-specific Attribute Management" -msgstr "" +msgstr "Gestion des attributs de type spécifiques" #: ../Doc/extending/newtypes.rst:1198 msgid "" @@ -1145,7 +1158,7 @@ msgstr "" #: ../Doc/extending/newtypes.rst:1240 msgid "Object Comparison" -msgstr "" +msgstr "Comparaison des objets" #: ../Doc/extending/newtypes.rst:1246 msgid "" @@ -1174,7 +1187,7 @@ msgstr "" #: ../Doc/extending/newtypes.rst:1289 msgid "Abstract Protocol Support" -msgstr "" +msgstr "Support pour le protocole abstrait" #: ../Doc/extending/newtypes.rst:1291 msgid "" @@ -1224,7 +1237,7 @@ msgstr "" #: ../Doc/extending/newtypes.rst:1339 msgid "This function takes three arguments:" -msgstr "" +msgstr "Cette fonction prend trois arguments :" #: ../Doc/extending/newtypes.rst:1341 msgid "" @@ -1291,7 +1304,7 @@ msgstr "" #: ../Doc/extending/newtypes.rst:1415 msgid "Weak Reference Support" -msgstr "" +msgstr "Prise en charge de la référence faible" #: ../Doc/extending/newtypes.rst:1417 msgid "" @@ -1331,7 +1344,7 @@ msgstr "" #: ../Doc/extending/newtypes.rst:1483 msgid "More Suggestions" -msgstr "" +msgstr "Plus de suggestions" #: ../Doc/extending/newtypes.rst:1485 msgid "" diff --git a/howto/clinic.po b/howto/clinic.po index de0fbbdc..52602098 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/howto/clinic.rst:3 msgid "Argument Clinic How-To" -msgstr "" +msgstr "Guide Argument Clinic" #: ../Doc/howto/clinic.rst:5 msgid "Larry Hastings" -msgstr "" +msgstr "Larry Hastings" #: ../Doc/howto/clinic.rst:0 msgid "Abstract" @@ -817,7 +817,7 @@ msgstr "" #: ../Doc/howto/clinic.rst:567 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:569 msgid "" @@ -830,6 +830,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:577 msgid "" @@ -864,6 +872,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:606 msgid "You can use this to rename the ``self`` parameter too!" @@ -881,6 +891,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:618 msgid "" @@ -904,6 +920,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:631 msgid "" @@ -928,6 +952,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:651 msgid "" @@ -939,6 +971,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:660 msgid "" @@ -948,6 +988,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:689 msgid "Notes:" @@ -965,6 +1010,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:702 msgid "" @@ -979,10 +1034,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:708 msgid "Optional groups can only contain positional-only parameters." msgstr "" +"Les groupes optionnels ne peuvent contenir que des arguments positionnels." #: ../Doc/howto/clinic.rst:710 msgid "" @@ -995,6 +1053,8 @@ msgstr "" #: ../Doc/howto/clinic.rst:715 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:717 msgid "" @@ -1004,17 +1064,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:724 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:728 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:729 msgid "" @@ -1022,6 +1090,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:732 msgid "" @@ -1029,12 +1100,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:736 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:739 msgid "" @@ -1043,16 +1120,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:745 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:753 ../Doc/howto/clinic.rst:1223 msgid "``c_default``" -msgstr "" +msgstr "``c_default``" #: ../Doc/howto/clinic.rst:749 msgid "" @@ -1061,10 +1144,15 @@ msgid "" "\". See :ref:`the section on 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 " +"` pour apprendre à l'utiliser. Spécifié en tant que chaîne " +"de caractères." #: ../Doc/howto/clinic.rst:758 msgid "``annotation``" -msgstr "" +msgstr "``annotation``" #: ../Doc/howto/clinic.rst:756 msgid "" @@ -1077,10 +1165,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:769 msgid "``accept``" -msgstr "" +msgstr "``accept``" #: ../Doc/howto/clinic.rst:764 msgid "" @@ -1089,14 +1179,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:769 msgid "To accept ``None``, add ``NoneType`` to this set." -msgstr "" +msgstr "Pour accepter ``None``, ajouter ``NoneType`` à cet ensemble." #: ../Doc/howto/clinic.rst:774 msgid "``bitwise``" -msgstr "" +msgstr "``bitwise``" #: ../Doc/howto/clinic.rst:772 msgid "" @@ -1104,10 +1198,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:779 ../Doc/howto/clinic.rst:1237 msgid "``converter``" -msgstr "" +msgstr "``converter``" #: ../Doc/howto/clinic.rst:777 msgid "" @@ -1115,6 +1212,9 @@ msgid "" "\"converter function\" ` 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 ` à utiliser pour " +"convertir cet objet en type natif." #: ../Doc/howto/clinic.rst:784 msgid "``encoding``" @@ -1125,16 +1225,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:788 msgid "``subclass_of``" -msgstr "" +msgstr "``subclass_of``" #: ../Doc/howto/clinic.rst:787 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:793 ../Doc/howto/clinic.rst:1209 msgid "``type``" @@ -1146,10 +1251,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:799 msgid "``zeroes``" -msgstr "" +msgstr "``zeroes``" #: ../Doc/howto/clinic.rst:796 msgid "" @@ -1158,6 +1266,10 @@ msgid "" "the impl function, just after the string parameter, as a parameter named " "``_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é ``_length``." #: ../Doc/howto/clinic.rst:801 msgid "" @@ -1169,6 +1281,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:809 msgid "" @@ -1176,6 +1296,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:814 msgid "``'B'``" @@ -1183,7 +1306,7 @@ msgstr "``'B'``" #: ../Doc/howto/clinic.rst:814 msgid "``unsigned_char(bitwise=True)``" -msgstr "" +msgstr "``unsigned_char(bitwise=True)``" #: ../Doc/howto/clinic.rst:815 msgid "``'b'``" @@ -1191,7 +1314,7 @@ msgstr "``'b'``" #: ../Doc/howto/clinic.rst:815 msgid "``unsigned_char``" -msgstr "" +msgstr "``unsigned_char``" #: ../Doc/howto/clinic.rst:816 msgid "``'c'``" @@ -1199,15 +1322,15 @@ msgstr "``'c'``" #: ../Doc/howto/clinic.rst:816 msgid "``char``" -msgstr "" +msgstr "``char``" #: ../Doc/howto/clinic.rst:817 msgid "``'C'``" -msgstr "" +msgstr "``'C'``" #: ../Doc/howto/clinic.rst:817 msgid "``int(accept={str})``" -msgstr "" +msgstr "``int(accept={str})``" #: ../Doc/howto/clinic.rst:818 msgid "``'d'``" @@ -1215,7 +1338,7 @@ msgstr "``'d'``" #: ../Doc/howto/clinic.rst:818 msgid "``double``" -msgstr "" +msgstr "``double``" #: ../Doc/howto/clinic.rst:819 msgid "``'D'``" @@ -1223,41 +1346,43 @@ msgstr "``'D'``" #: ../Doc/howto/clinic.rst:819 msgid "``Py_complex``" -msgstr "" +msgstr "``Py_complex``" #: ../Doc/howto/clinic.rst:820 msgid "``'es'``" -msgstr "" +msgstr "``'es'``" #: ../Doc/howto/clinic.rst:820 msgid "``str(encoding='name_of_encoding')``" -msgstr "" +msgstr "``str(encoding='name_of_encoding')``" #: ../Doc/howto/clinic.rst:821 msgid "``'es#'``" -msgstr "" +msgstr "``'es#'``" #: ../Doc/howto/clinic.rst:821 msgid "``str(encoding='name_of_encoding', zeroes=True)``" -msgstr "" +msgstr "``str(encoding='name_of_encoding', zeroes=True)``" #: ../Doc/howto/clinic.rst:822 msgid "``'et'``" -msgstr "" +msgstr "``'et'``" #: ../Doc/howto/clinic.rst:822 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:823 msgid "``'et#'``" -msgstr "" +msgstr "``'et#'``" #: ../Doc/howto/clinic.rst:823 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:824 msgid "``'f'``" @@ -1265,7 +1390,7 @@ msgstr "``'f'``" #: ../Doc/howto/clinic.rst:824 msgid "``float``" -msgstr "" +msgstr "``float``" #: ../Doc/howto/clinic.rst:825 msgid "``'h'``" @@ -1273,7 +1398,7 @@ msgstr "``'h'``" #: ../Doc/howto/clinic.rst:825 msgid "``short``" -msgstr "" +msgstr "``short``" #: ../Doc/howto/clinic.rst:826 msgid "``'H'``" @@ -1281,7 +1406,7 @@ msgstr "``'H'``" #: ../Doc/howto/clinic.rst:826 msgid "``unsigned_short(bitwise=True)``" -msgstr "" +msgstr "``unsigned_short(bitwise=True)``" #: ../Doc/howto/clinic.rst:827 msgid "``'i'``" @@ -1297,19 +1422,19 @@ msgstr "``'I'``" #: ../Doc/howto/clinic.rst:828 msgid "``unsigned_int(bitwise=True)``" -msgstr "" +msgstr "``unsigned_int(bitwise=True)``" #: ../Doc/howto/clinic.rst:829 msgid "``'k'``" -msgstr "" +msgstr "``'k'``" #: ../Doc/howto/clinic.rst:829 msgid "``unsigned_long(bitwise=True)``" -msgstr "" +msgstr "``unsigned_long(bitwise=True)``" #: ../Doc/howto/clinic.rst:830 msgid "``'K'``" -msgstr "" +msgstr "``'K'``" #: ../Doc/howto/clinic.rst:830 msgid "``unsigned_PY_LONG_LONG(bitwise=True)``" @@ -1337,39 +1462,39 @@ msgstr "``'n'``" #: ../Doc/howto/clinic.rst:833 msgid "``Py_ssize_t``" -msgstr "" +msgstr "``Py_ssize_t``" #: ../Doc/howto/clinic.rst:834 msgid "``'O'``" -msgstr "" +msgstr "``'O'``" #: ../Doc/howto/clinic.rst:834 msgid "``object``" -msgstr "" +msgstr "``object``" #: ../Doc/howto/clinic.rst:835 msgid "``'O!'``" -msgstr "" +msgstr "``'O!'``" #: ../Doc/howto/clinic.rst:835 msgid "``object(subclass_of='&PySomething_Type')``" -msgstr "" +msgstr "``object(subclass_of='&PySomething_Type')``" #: ../Doc/howto/clinic.rst:836 msgid "``'O&'``" -msgstr "" +msgstr "``'O&'``" #: ../Doc/howto/clinic.rst:836 msgid "``object(converter='name_of_c_function')``" -msgstr "" +msgstr "``object(converter='name_of_c_function')``" #: ../Doc/howto/clinic.rst:837 msgid "``'p'``" -msgstr "" +msgstr "``'p'``" #: ../Doc/howto/clinic.rst:837 msgid "``bool``" -msgstr "" +msgstr "``bool``" #: ../Doc/howto/clinic.rst:838 msgid "``'S'``" @@ -1377,7 +1502,7 @@ msgstr "``'S'``" #: ../Doc/howto/clinic.rst:838 msgid "``PyBytesObject``" -msgstr "" +msgstr "``PyBytesObject``" #: ../Doc/howto/clinic.rst:839 msgid "``'s'``" @@ -1385,23 +1510,23 @@ msgstr "``'s'``" #: ../Doc/howto/clinic.rst:839 msgid "``str``" -msgstr "" +msgstr "``str``" #: ../Doc/howto/clinic.rst:840 msgid "``'s#'``" -msgstr "" +msgstr "``'s#'``" #: ../Doc/howto/clinic.rst:840 msgid "``str(zeroes=True)``" -msgstr "" +msgstr "``str(zeroes=True)``" #: ../Doc/howto/clinic.rst:841 msgid "``'s*'``" -msgstr "" +msgstr "``'s*'``" #: ../Doc/howto/clinic.rst:841 msgid "``Py_buffer(accept={buffer, str})``" -msgstr "" +msgstr "``Py_buffer(accept={buffer, str})``" #: ../Doc/howto/clinic.rst:842 msgid "``'U'``" @@ -1409,7 +1534,7 @@ msgstr "``'U'``" #: ../Doc/howto/clinic.rst:842 msgid "``unicode``" -msgstr "" +msgstr "``unicode``" #: ../Doc/howto/clinic.rst:843 msgid "``'u'``" @@ -1417,101 +1542,103 @@ msgstr "``'u'``" #: ../Doc/howto/clinic.rst:843 msgid "``Py_UNICODE``" -msgstr "" +msgstr "``Py_UNICODE``" #: ../Doc/howto/clinic.rst:844 msgid "``'u#'``" -msgstr "" +msgstr "``'u#'``" #: ../Doc/howto/clinic.rst:844 msgid "``Py_UNICODE(zeroes=True)``" -msgstr "" +msgstr "``Py_UNICODE(zeroes=True)``" #: ../Doc/howto/clinic.rst:845 msgid "``'w*'``" -msgstr "" +msgstr "``'w*'``" #: ../Doc/howto/clinic.rst:845 msgid "``Py_buffer(accept={rwbuffer})``" -msgstr "" +msgstr "``Py_buffer(accept={rwbuffer})``" #: ../Doc/howto/clinic.rst:846 msgid "``'Y'``" -msgstr "" +msgstr "``'Y'``" #: ../Doc/howto/clinic.rst:846 msgid "``PyByteArrayObject``" -msgstr "" +msgstr "``PyByteArrayObject``" #: ../Doc/howto/clinic.rst:847 msgid "``'y'``" -msgstr "" +msgstr "``'y'``" #: ../Doc/howto/clinic.rst:847 msgid "``str(accept={bytes})``" -msgstr "" +msgstr "``str(accept={bytes})``" #: ../Doc/howto/clinic.rst:848 msgid "``'y#'``" -msgstr "" +msgstr "``'y#'``" #: ../Doc/howto/clinic.rst:848 msgid "``str(accept={robuffer}, zeroes=True)``" -msgstr "" +msgstr "``str(accept={robuffer}, zeroes=True)``" #: ../Doc/howto/clinic.rst:849 msgid "``'y*'``" -msgstr "" +msgstr "``'y*'``" #: ../Doc/howto/clinic.rst:849 msgid "``Py_buffer``" -msgstr "" +msgstr "``Py_buffer``" #: ../Doc/howto/clinic.rst:850 msgid "``'Z'``" -msgstr "" +msgstr "``'Z'``" #: ../Doc/howto/clinic.rst:850 msgid "``Py_UNICODE(accept={str, NoneType})``" -msgstr "" +msgstr "``Py_UNICODE(accept={str, NoneType})``" #: ../Doc/howto/clinic.rst:851 msgid "``'Z#'``" -msgstr "" +msgstr "``'Z#'``" #: ../Doc/howto/clinic.rst:851 msgid "``Py_UNICODE(accept={str, NoneType}, zeroes=True)``" -msgstr "" +msgstr "``Py_UNICODE(accept={str, NoneType}, zeroes=True)``" #: ../Doc/howto/clinic.rst:852 msgid "``'z'``" -msgstr "" +msgstr "``'z'``" #: ../Doc/howto/clinic.rst:852 msgid "``str(accept={str, NoneType})``" -msgstr "" +msgstr "``str(accept={str, NoneType})``" #: ../Doc/howto/clinic.rst:853 msgid "``'z#'``" -msgstr "" +msgstr "``'z#'``" #: ../Doc/howto/clinic.rst:853 msgid "``str(accept={str, NoneType}, zeroes=True)``" -msgstr "" +msgstr "``str(accept={str, NoneType}, zeroes=True)``" #: ../Doc/howto/clinic.rst:854 msgid "``'z*'``" -msgstr "" +msgstr "``'z*'``" #: ../Doc/howto/clinic.rst:854 msgid "``Py_buffer(accept={buffer, str, NoneType})``" -msgstr "" +msgstr "``Py_buffer(accept={buffer, str, NoneType})``" #: ../Doc/howto/clinic.rst:857 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:870 msgid "" @@ -1520,10 +1647,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:876 msgid "Py_buffer" -msgstr "" +msgstr "Py_buffer" #: ../Doc/howto/clinic.rst:878 msgid "" @@ -1532,16 +1663,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:886 msgid "Advanced converters" -msgstr "" +msgstr "Adaptateurs avancés" #: ../Doc/howto/clinic.rst:888 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:891 msgid "" @@ -1562,6 +1700,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:905 msgid "" @@ -1575,10 +1719,21 @@ 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:918 msgid "Parameter default values" -msgstr "" +msgstr "Valeurs par défaut des paramètres" #: ../Doc/howto/clinic.rst:920 msgid "" @@ -1595,10 +1750,12 @@ 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:938 msgid "The ``NULL`` default value" -msgstr "" +msgstr "La valeur par défaut ``NULL``" #: ../Doc/howto/clinic.rst:940 msgid "" @@ -1609,10 +1766,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:948 msgid "Expressions specified as default values" -msgstr "" +msgstr "Expressions spécifiées comme valeurs par défaut" #: ../Doc/howto/clinic.rst:950 msgid "" @@ -1621,10 +1784,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:955 msgid "Consider the following example::" -msgstr "" +msgstr "Examinons l'exemple suivant ::" #: ../Doc/howto/clinic.rst:959 msgid "" @@ -1675,11 +1842,11 @@ msgstr "" #: ../Doc/howto/clinic.rst:991 msgid "Function calls." -msgstr "" +msgstr "des appels de fonction." #: ../Doc/howto/clinic.rst:992 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:993 msgid "Automatic sequence unpacking (``*[1, 2, 3]``)." diff --git a/howto/curses.po b/howto/curses.po index 7dee17f8..805d6590 100644 --- a/howto/curses.po +++ b/howto/curses.po @@ -18,15 +18,15 @@ msgstr "" #: ../Doc/howto/curses.rst:5 msgid "Curses Programming with Python" -msgstr "" +msgstr "Programmation *Curses* avec Python" #: ../Doc/howto/curses.rst:7 msgid "A.M. Kuchling, Eric S. Raymond" -msgstr "" +msgstr "A.M. Kuchling, Eric S. Raymond" #: ../Doc/howto/curses.rst:8 msgid "2.04" -msgstr "" +msgstr "2.04" #: ../Doc/howto/curses.rst:0 msgid "Abstract" @@ -37,10 +37,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 "" @@ -52,6 +54,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 "" @@ -62,6 +72,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 "" @@ -88,6 +107,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 "" @@ -101,7 +130,7 @@ msgstr "" #: ../Doc/howto/curses.rst:66 msgid "The Python curses module" -msgstr "" +msgstr "Le module *curses* de Python" #: ../Doc/howto/curses.rst:68 msgid "" @@ -121,10 +150,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 "" @@ -135,6 +169,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 "" @@ -142,6 +182,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 "" @@ -149,6 +193,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 "" @@ -159,12 +207,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 "" @@ -172,6 +229,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 "" @@ -181,12 +241,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 "" @@ -200,10 +269,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 "" @@ -211,6 +289,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 "" @@ -221,6 +303,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 "" @@ -231,6 +319,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 "" @@ -239,6 +334,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 "" @@ -246,6 +345,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 "" @@ -257,6 +359,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 "" @@ -267,6 +377,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 "" @@ -276,6 +394,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 "" @@ -285,6 +409,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 "" @@ -292,28 +421,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 "" @@ -325,6 +465,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 "" @@ -333,10 +481,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" @@ -344,39 +496,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 "" @@ -384,6 +542,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 "" @@ -393,12 +554,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 "" @@ -407,6 +577,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 "" @@ -418,6 +593,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 "" @@ -428,10 +611,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 "" @@ -440,6 +630,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 "" @@ -450,6 +645,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" @@ -457,57 +659,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 "" @@ -515,6 +719,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 "" @@ -527,6 +734,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 "" @@ -537,10 +752,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 "" @@ -549,6 +773,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 "" @@ -558,12 +787,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 "" @@ -571,6 +808,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 "" @@ -583,10 +823,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 "" @@ -598,7 +847,7 @@ msgstr "" #: ../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 "" @@ -607,6 +856,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 "" @@ -615,6 +868,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 "" @@ -627,6 +885,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 "" @@ -637,6 +904,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 "" @@ -647,6 +921,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 "" @@ -656,6 +937,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 "" @@ -664,15 +950,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 "" @@ -681,6 +974,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 "" @@ -690,6 +988,12 @@ msgid "" "quirks, and provide complete lists of all the functions, attributes, and :" "const:`ACS_\\*` characters available to you." msgstr "" +"Si vous vous posez des questions sur le fonctionnement précis de fonctions " +"*curses*, consultez les pages de manuel de l'implémentation *curses* de " +"votre système, que ce soit *ncurses* ou une version propriétaire Unix. Les " +"pages de manuel documentent toutes les bizarreries et vous donneront les " +"listes complètes des fonctions, attributs et codes :const:`ACS_\\*` des " +"caractères disponibles." #: ../Doc/howto/curses.rst:536 msgid "" @@ -706,6 +1010,9 @@ msgid "" "`Writing Programs with NCURSES `_: a lengthy tutorial for C programmers." msgstr "" +"`Writing Programs with NCURSES `_ : un long tutoriel pour les programmeurs C (ressource en " +"anglais)." #: ../Doc/howto/curses.rst:546 msgid "`The ncurses man page `_" @@ -715,6 +1022,8 @@ msgstr "" msgid "" "`The ncurses FAQ `_" msgstr "" +"`La FAQ ncurses `_ " +"(ressource en anglais)" #: ../Doc/howto/curses.rst:548 msgid "" @@ -722,6 +1031,9 @@ msgid "" "v=eN1eZtjLEnU>`_: video of a PyCon 2013 talk on controlling terminals using " "curses or Urwid." msgstr "" +"`\"Use curses... don't swear\" `_ : 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 "" @@ -729,3 +1041,6 @@ msgid "" "console-applications-with-urwid>`_: video of a PyCon CA 2012 talk " "demonstrating some applications written using Urwid." msgstr "" +"`\"Console Applications with Urwid\" `_ : vidéo d'une conférence lors de PyCon CA " +"2012 montrant quelques applications utilisant *Urwid*." diff --git a/howto/sockets.po b/howto/sockets.po index 08c21c39..6fe1da59 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/howto/sockets.rst:5 msgid "Socket Programming HOWTO" -msgstr "" +msgstr "Guide pratique : programmation avec les *sockets*" #: ../Doc/howto/sockets.rst:7 msgid "Gordon McMillan" @@ -37,6 +37,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" @@ -75,6 +81,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" @@ -87,6 +101,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 "" @@ -95,6 +114,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" @@ -105,6 +129,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 "" @@ -113,12 +139,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 "" @@ -163,6 +196,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 "" @@ -179,6 +214,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" @@ -203,10 +252,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 "" @@ -218,6 +269,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 "" @@ -230,6 +289,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 "" @@ -241,6 +310,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 "" @@ -249,6 +326,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 "" @@ -304,6 +385,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 "" @@ -315,6 +402,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 "" @@ -324,6 +420,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 "" @@ -336,6 +438,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 "" @@ -343,6 +455,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" @@ -360,6 +476,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 "" @@ -369,6 +497,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" @@ -385,6 +520,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 "" @@ -395,6 +539,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 "" @@ -405,10 +556,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 "" @@ -424,10 +582,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 "" @@ -467,6 +638,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``." @@ -492,6 +670,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 "" @@ -499,6 +686,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 "" diff --git a/howto/urllib2.po b/howto/urllib2.po index 900c01cd..6aacbf6f 100644 --- a/howto/urllib2.po +++ b/howto/urllib2.po @@ -19,6 +19,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:7 msgid "`Michael Foord `_" diff --git a/install/index.po b/install/index.po index 0288b7d7..3b20cb3c 100644 --- a/install/index.po +++ b/install/index.po @@ -205,6 +205,8 @@ msgid "" "For Windows, this command should be run from a command prompt window (:" "menuselection:`Start --> Accessories`)::" msgstr "" +"Sous Windows, cette commande doit être lancée depuis une invite de commande " +"(:menuselection:`Démarrer --> Accessoires`) ::" #: ../Doc/install/index.rst:121 msgid "" @@ -758,6 +760,11 @@ msgid "" "`{userbase}/lib` to the compiler search path for libraries as well as to the " "runtime search path for shared C libraries (rpath)." msgstr "" +"La commande :command:`build_ext` possède aussi une option ``--user`` pour " +"ajouter :file:`{userbase}/include` dans les chemins où le compilateur " +"recherche les fichiers d'en-têtes et :file:`{userbase}/lib` dans les chemins " +"où le compilateur recherche les bibliothèques ainsi que les bibliothèques C " +"partagées chargeables à l'exécution (`rpath`)." #: ../Doc/install/index.rst:389 msgid "Alternate installation: the home scheme" @@ -987,7 +994,7 @@ msgstr "" #: ../Doc/install/index.rst:501 msgid "Alternate installation: Windows (the prefix scheme)" -msgstr "" +msgstr "Installation alternative : Windows (le schéma de préfixe)" #: ../Doc/install/index.rst:503 msgid "" @@ -1002,6 +1009,8 @@ 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:512 msgid "" @@ -1013,7 +1022,7 @@ msgstr "" #: ../Doc/install/index.rst:521 msgid ":file:`{prefix}\\\\Scripts`" -msgstr "" +msgstr ":file:`{prefix}\\\\Scripts`" #: ../Doc/install/index.rst:523 msgid ":file:`{prefix}\\\\Include\\\\{distname}`" @@ -1021,7 +1030,7 @@ msgstr ":file:`{prefix}\\\\Include\\\\{distname}`" #: ../Doc/install/index.rst:530 msgid "Custom Installation" -msgstr "" +msgstr "Installation personnalisée" #: ../Doc/install/index.rst:532 msgid "" @@ -1031,6 +1040,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:538 msgid "" @@ -1038,38 +1053,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:543 msgid "Override option" -msgstr "" +msgstr "Option" #: ../Doc/install/index.rst:545 msgid "``--install-purelib``" -msgstr "" +msgstr "``--install-purelib``" #: ../Doc/install/index.rst:546 msgid "``--install-platlib``" -msgstr "" +msgstr "``--install-platlib``" #: ../Doc/install/index.rst:547 msgid "all modules" -msgstr "" +msgstr "tous les modules" #: ../Doc/install/index.rst:547 msgid "``--install-lib``" -msgstr "" +msgstr "``--install-lib``" #: ../Doc/install/index.rst:548 msgid "``--install-scripts``" -msgstr "" +msgstr "``--install-scripts``" #: ../Doc/install/index.rst:549 msgid "``--install-data``" -msgstr "" +msgstr "``--install-data``" #: ../Doc/install/index.rst:550 msgid "``--install-headers``" -msgstr "" +msgstr "``--install-headers``" #: ../Doc/install/index.rst:553 msgid "" diff --git a/library/aifc.po b/library/aifc.po index aebf92c6..7de2a42f 100644 --- a/library/aifc.po +++ b/library/aifc.po @@ -78,7 +78,7 @@ msgstr "" #: ../Doc/library/aifc.rst:56 msgid "Support for the :keyword:`with` statement was added." -msgstr "" +msgstr "La prise en charge de l'instruction :keyword:`with` a été ajoutée." #: ../Doc/library/aifc.rst:59 msgid "" diff --git a/library/argparse.po b/library/argparse.po index ede0b5e1..559f9de1 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -50,6 +50,12 @@ msgid "" "mod:`argparse` module also automatically generates help and usage messages " "and issues errors when users give the program invalid arguments." msgstr "" +"Le module :mod:`argparse` facilite l'écriture d'interfaces en ligne de " +"commande agréables à l'emploi. Le programme définit les arguments requis et :" +"mod:`argparse` s'arrange pour analyser ceux provenant de :data:`sys.argv`. " +"Le module :mod:`argparse` génère aussi automatiquement les messages d'aide, " +"le mode d'emploi, et lève des erreurs lorsque les utilisateurs fournissent " +"au programme des arguments invalides." #: ../Doc/library/argparse.rst:30 msgid "Example" @@ -68,20 +74,25 @@ msgid "" "Assuming the Python code above is saved into a file called ``prog.py``, it " "can be run at the command line and provides useful help messages:" msgstr "" +"En supposant que le code Python ci-dessus est sauvegardé dans un fichier " +"nommé ``prog.py``, il peut être lancé en ligne de commande et fournit des " +"messages d'aide utiles :" #: ../Doc/library/argparse.rst:64 msgid "" "When run with the appropriate arguments, it prints either the sum or the max " "of the command-line integers:" msgstr "" +"Lorsqu'il est lancé avec les arguments appropriés, il affiche la somme ou le " +"maximum des entiers fournis en ligne de commande :" #: ../Doc/library/argparse.rst:75 msgid "If invalid arguments are passed in, it will issue an error:" -msgstr "" +msgstr "Si des arguments invalides sont passés, il lève une erreur :" #: ../Doc/library/argparse.rst:83 msgid "The following sections walk you through this example." -msgstr "" +msgstr "Les sections suivantes vous guident au travers de cet exemple." #: ../Doc/library/argparse.rst:87 msgid "Creating a parser" @@ -92,12 +103,17 @@ msgid "" "The first step in using the :mod:`argparse` is creating an :class:" "`ArgumentParser` object::" msgstr "" +"La première étape dans l'utilisation de :mod:`argparse` est de créer un " +"objet :class:`ArgumentParser` ::" #: ../Doc/library/argparse.rst:94 msgid "" "The :class:`ArgumentParser` object will hold all the information necessary " "to parse the command line into Python data types." msgstr "" +"L'objet :class:`ArgumentParser` contiendra toutes les informations " +"nécessaires pour interpréter la ligne de commande comme des types de données " +"de Python." #: ../Doc/library/argparse.rst:99 msgid "Adding arguments" @@ -112,6 +128,13 @@ msgid "" "stored and used when :meth:`~ArgumentParser.parse_args` is called. For " "example::" msgstr "" +"Alimenter un :class:`ArgumentParser` avec des informations sur les arguments " +"du programme s'effectue en faisant des appels à la méthode :meth:" +"`~ArgumentParser.add_argument`. En général ces appels disent à l':class:" +"`ArgumentParser` comment prendre les chaînes de caractères de la ligne de " +"commande et les transformer en objets. Cette information est stockée et " +"utilisée lorsque :meth:`~ArgumentParser.parse_args` est appelée. Par " +"exemple ::" #: ../Doc/library/argparse.rst:113 msgid "" @@ -121,6 +144,11 @@ msgid "" "either the :func:`sum` function, if ``--sum`` was specified at the command " "line, or the :func:`max` function if it was not." msgstr "" +"Ensuite, appeler :meth:`~ArgumentParser.parse_args` va renvoyer un objet " +"avec deux attributs, ``integers`` et ``accumulate``. L'attribut ``integers`` " +"est une liste d'un ou plusieurs entiers, et l'attribut ``accumulate`` est " +"soit la fonction :func:`sum`, si ``--sum`` était fourni à la ligne de " +"commande, soit la fonction :func:`max` dans le cas contraire." #: ../Doc/library/argparse.rst:121 msgid "Parsing arguments" @@ -134,6 +162,11 @@ msgid "" "most cases, this means a simple :class:`Namespace` object will be built up " "from attributes parsed out of the command line::" msgstr "" +":class:`ArgumentParser` analyse les arguments avec la méthode :meth:" +"`~ArgumentParser.parse_args`. Cette méthode inspecte la ligne de commande, " +"convertit chaque argument au type approprié et invoque l'action requise. " +"Dans la plupart des cas, le résultat est la construction d'un objet :class:" +"`Namespace` à partir des attributs analysés dans la ligne de commande ::" #: ../Doc/library/argparse.rst:132 msgid "" @@ -141,6 +174,9 @@ msgid "" "with no arguments, and the :class:`ArgumentParser` will automatically " "determine the command-line arguments from :data:`sys.argv`." msgstr "" +"Dans un script, :meth:`~ArgumentParser.parse_args` est généralement appelée " +"sans arguments et l'objet :class:`ArgumentParser` détermine automatiquement " +"les arguments de la ligne de commande à partir de :data:`sys.argv`." #: ../Doc/library/argparse.rst:138 msgid "ArgumentParser objects" @@ -152,58 +188,77 @@ msgid "" "as keyword arguments. Each parameter has its own more detailed description " "below, but in short they are:" msgstr "" +"Crée un nouvel objet :class:`ArgumentParser`. Tous les paramètres doivent " +"être passés en arguments nommés. Chaque paramètre a sa propre description " +"détaillée ci-dessous, mais en résumé ils sont :" #: ../Doc/library/argparse.rst:151 msgid "prog_ - The name of the program (default: ``sys.argv[0]``)" -msgstr "" +msgstr "prog_ – Nom du programme (par défaut : ``sys.argv[0]``) ;" #: ../Doc/library/argparse.rst:153 msgid "" "usage_ - The string describing the program usage (default: generated from " "arguments added to parser)" msgstr "" +"usage_ – Chaîne décrivant l'utilisation du programme (par défaut : générée à " +"partir des arguments ajoutés à l'analyseur) ;" #: ../Doc/library/argparse.rst:156 msgid "description_ - Text to display before the argument help (default: none)" msgstr "" +"description_ – Texte à afficher avant l'aide des arguments (par défaut : " +"vide) ;" #: ../Doc/library/argparse.rst:158 msgid "epilog_ - Text to display after the argument help (default: none)" msgstr "" +"epilog_ – Texte à afficher après l'aide des arguments (par défaut : vide) ;" #: ../Doc/library/argparse.rst:160 msgid "" "parents_ - A list of :class:`ArgumentParser` objects whose arguments should " "also be included" msgstr "" +"parents_ – Liste d'objets :class:`ArgumentParser` contenant des arguments " +"qui devraient aussi être inclus ;" #: ../Doc/library/argparse.rst:163 msgid "formatter_class_ - A class for customizing the help output" msgstr "" +"formatter_class_ – Classe pour personnaliser la sortie du message d'aide ;" #: ../Doc/library/argparse.rst:165 msgid "" "prefix_chars_ - The set of characters that prefix optional arguments " "(default: '-')" msgstr "" +"prefix_chars_ – Jeu de caractères qui précède les arguments optionnels (par " +"défaut : ``'-'``) ;" #: ../Doc/library/argparse.rst:168 msgid "" "fromfile_prefix_chars_ - The set of characters that prefix files from which " "additional arguments should be read (default: ``None``)" msgstr "" +"fromfile_prefix_chars_ – Jeu de caractères qui précède les fichiers d'où des " +"arguments additionnels doivent être lus (par défaut : ``None``) ;" #: ../Doc/library/argparse.rst:171 msgid "" "argument_default_ - The global default value for arguments (default: " "``None``)" msgstr "" +"argument_default_ – Valeur globale par défaut pour les arguments (par " +"défaut : ``None``) ;" #: ../Doc/library/argparse.rst:174 msgid "" "conflict_handler_ - The strategy for resolving conflicting optionals " "(usually unnecessary)" msgstr "" +"conflict_handler_ – Stratégie pour résoudre les conflits entre les arguments " +"optionnels (non-nécessaire en général) ;" #: ../Doc/library/argparse.rst:177 msgid "add_help_ - Add a -h/--help option to the parser (default: ``True``)" @@ -214,6 +269,8 @@ msgid "" "allow_abbrev_ - Allows long options to be abbreviated if the abbreviation is " "unambiguous. (default: ``True``)" msgstr "" +"allow_abbrev_ – Permet l'acceptation d'abréviations non-ambigües pour les " +"options longues (par défaut : ``True``) ;" #: ../Doc/library/argparse.rst:182 msgid "*allow_abbrev* parameter was added." @@ -222,6 +279,8 @@ msgstr "Le paramètre *allow_abbrev* est ajouté." #: ../Doc/library/argparse.rst:185 ../Doc/library/argparse.rst:681 msgid "The following sections describe how each of these are used." msgstr "" +"Les sections suivantes décrivent comment chacune de ces options sont " +"utilisées." #: ../Doc/library/argparse.rst:189 msgid "prog" @@ -235,18 +294,28 @@ msgid "" "program was invoked on the command line. For example, consider a file named " "``myprogram.py`` with the following code::" msgstr "" +"Par défaut, l'objet :class:`ArgumentParser` utilise ``sys.argv[0]`` pour " +"déterminer comment afficher le nom du programme dans les messages d'aide. " +"Cette valeur par défaut est presque toujours souhaitable, car elle produit " +"un message d'aide qui correspond à la méthode utilisée pour lancer le " +"programme sur la ligne de commande. Par exemple, si on a un fichier nommé " +"``myprogram.py`` avec le code suivant ::" #: ../Doc/library/argparse.rst:202 msgid "" "The help for this program will display ``myprogram.py`` as the program name " "(regardless of where the program was invoked from):" msgstr "" +"Le message d'aide pour ce programme affiche ``myprogram.py`` pour le nom du " +"programme (peu importe d'où le programme est lancé) :" #: ../Doc/library/argparse.rst:221 msgid "" "To change this default behavior, another value can be supplied using the " "``prog=`` argument to :class:`ArgumentParser`::" msgstr "" +"Pour changer ce comportement par défaut, une valeur alternative est passée " +"par l'argument ``prog=`` du constructeur d':class:`ArgumentParser` ::" #: ../Doc/library/argparse.rst:231 msgid "" @@ -254,6 +323,9 @@ msgid "" "the ``prog=`` argument, is available to help messages using the ``%(prog)s`` " "format specifier." msgstr "" +"Prenez note que le nom du programme, peu importe s'il provient de ``sys." +"argv[0]`` ou de l'argument ``prog=``, est accessible aux messages d'aide " +"grâce au spécificateur de formatage ``%(prog)s``." #: ../Doc/library/argparse.rst:248 msgid "usage" @@ -264,17 +336,23 @@ msgid "" "By default, :class:`ArgumentParser` calculates the usage message from the " "arguments it contains::" msgstr "" +"Par défaut, l'objet :class:`ArgumentParser` construit le message relatif à " +"l'utilisation à partir des arguments qu'il contient ::" #: ../Doc/library/argparse.rst:266 msgid "" "The default message can be overridden with the ``usage=`` keyword argument::" msgstr "" +"Le message par défaut peut être remplacé grâce à l'argument nommé " +"``usage=`` ::" #: ../Doc/library/argparse.rst:281 msgid "" "The ``%(prog)s`` format specifier is available to fill in the program name " "in your usage messages." msgstr "" +"Le spécificateur de formatage ``%(prog)s`` est disponible pour insérer le " +"nom du programme dans vos messages d'utilisation." #: ../Doc/library/argparse.rst:286 msgid "description" @@ -288,12 +366,20 @@ msgid "" "description is displayed between the command-line usage string and the help " "messages for the various arguments::" msgstr "" +"La plupart des appels au constructeur d':class:`ArgumentParser` utilisent " +"l'argument nommé ``description=``. Cet argument donne une brève description " +"de ce que fait le programme et de comment il fonctionne. Dans les messages " +"d'aide, cette description est affichée entre le prototype de ligne de " +"commande et les messages d'aide des arguments ::" #: ../Doc/library/argparse.rst:303 msgid "" "By default, the description will be line-wrapped so that it fits within the " "given space. To change this behavior, see the formatter_class_ argument." msgstr "" +"Par défaut, la description est sujette au retour à la ligne automatique pour " +"se conformer à l'espace disponible. Pour changer ce comportement, voyez " +"l'argument formatter_class_." #: ../Doc/library/argparse.rst:308 msgid "epilog" @@ -305,6 +391,9 @@ msgid "" "the description of the arguments. Such text can be specified using the " "``epilog=`` argument to :class:`ArgumentParser`::" msgstr "" +"Certains programmes aiment afficher un texte supplémentaire après la " +"description des arguments. Un tel texte peut être spécifié grâce à " +"l'argument ``epilog=`` du constructeur d':class:`ArgumentParser` ::" #: ../Doc/library/argparse.rst:327 msgid "" @@ -312,6 +401,10 @@ msgid "" "wrapped, but this behavior can be adjusted with the formatter_class_ " "argument to :class:`ArgumentParser`." msgstr "" +"De même que pour l'argument description_, le texte passé à ``epilog=`` est " +"sujet au retour à la ligne automatique. Ce comportement peut être ajusté " +"grâce à l'argument formatter_class_ du constructeur d':class:" +"`ArgumentParser`." #: ../Doc/library/argparse.rst:333 msgid "parents" @@ -327,6 +420,14 @@ msgid "" "actions from them, and adds these actions to the :class:`ArgumentParser` " "object being constructed::" msgstr "" +"Parfois, plusieurs analyseurs partagent un jeu commun d'arguments. Plutôt " +"que de répéter les définitions de ces arguments, un analyseur commun qui " +"contient tous les arguments partagés peut être utilisé, puis passé à " +"l'argument ``parents=`` du constructeur d':class:`ArgumentParser`. " +"L'argument ``parents=`` accepte une liste d'objets :class:`ArgumentParser`, " +"accumule toutes les actions positionnelles et optionnelles de ces objets, " +"puis les ajoute à l'instance d':class:`ArgumentParser` en cours de " +"création ::" #: ../Doc/library/argparse.rst:355 msgid "" @@ -334,6 +435,10 @@ msgid "" "the :class:`ArgumentParser` will see two ``-h/--help`` options (one in the " "parent and one in the child) and raise an error." msgstr "" +"Prenez note que la majorité des analyseurs parents doivent spécifier " +"``add_help=False``. Autrement, le constructeur d':class:`ArgumentParser` va " +"voir plus d'une option ``-h/--help`` (une pour le parent et une pour " +"l'instance en cours de création) et va lever une erreur." #: ../Doc/library/argparse.rst:360 msgid "" @@ -341,6 +446,9 @@ msgid "" "If you change the parent parsers after the child parser, those changes will " "not be reflected in the child." msgstr "" +"Vous devez initialiser complètement les analyseurs avant de les passer à " +"``parents=``. Si vous changez les analyseurs parents après la création de " +"l'analyseur enfant, ces changements ne seront pas répercutés sur l'enfant." #: ../Doc/library/argparse.rst:366 msgid "formatter_class" @@ -352,6 +460,9 @@ msgid "" "by specifying an alternate formatting class. Currently, there are four such " "classes:" msgstr "" +"Les objets :class:`ArgumentParser` permettent la personnalisation de la mise " +"en page des messages d'aide en spécifiant une classe de formatage " +"alternative. Il y a actuellement quatre classes de formatage :" #: ../Doc/library/argparse.rst:377 msgid "" @@ -360,6 +471,11 @@ msgid "" "`ArgumentParser` objects line-wrap the description_ and epilog_ texts in " "command-line help messages::" msgstr "" +":class:`RawDescriptionHelpFormatter` et :class:`RawTextHelpFormatter` vous " +"donnent plus de contrôle sur comment les descriptions textuelles sont " +"affichées. Par défaut, les contenus de description_ et epilog_ des objets :" +"class:`ArgumentParser` font l'objet du retour à la ligne automatique dans " +"les messages d'aide ::" #: ../Doc/library/argparse.rst:402 msgid "" @@ -367,6 +483,10 @@ msgid "" "indicates that description_ and epilog_ are already correctly formatted and " "should not be line-wrapped::" msgstr "" +"Passer :class:`RawDescriptionHelpFormatter` à ``formatter_class=`` indique " +"que les textes de description_ et d'epilog_ ont déjà été formatés " +"correctement et qu'ils ne doivent pas faire l'objet d'un retour à la ligne " +"automatique ::" #: ../Doc/library/argparse.rst:428 msgid "" @@ -379,6 +499,8 @@ msgid "" ":class:`ArgumentDefaultsHelpFormatter` automatically adds information about " "default values to each of the argument help messages::" msgstr "" +":class:`ArgumentDefaultsHelpFormatter` ajoute automatiquement l'information " +"sur les valeurs par défaut aux messages d'aide de tous les arguments ::" #: ../Doc/library/argparse.rst:449 msgid "" @@ -386,6 +508,9 @@ msgid "" "each argument as the display name for its values (rather than using the " "dest_ as the regular formatter does)::" msgstr "" +":class:`MetavarTypeHelpFormatter` utilise le nom du type_ de l'argument pour " +"chacun des arguments comme nom d'affichage pour leurs valeurs (contrairement " +"au formateur standard qui utilise dest_) ::" #: ../Doc/library/argparse.rst:470 msgid "prefix_chars" @@ -398,6 +523,11 @@ msgid "" "for options like ``+f`` or ``/foo``, may specify them using the " "``prefix_chars=`` argument to the ArgumentParser constructor::" msgstr "" +"La majorité des options sur la ligne de commande utilisent ``-`` comme " +"préfixe (par exemple : ``-f/--foo``). Pour les analyseurs qui doivent " +"accepter des caractères préfixes autres ou additionnels (par exemple pour " +"les options ``+f`` ou ``/foo``), vous devez les spécifier en utilisant " +"l'argument ``prefix_chars=`` du constructeur d'``ArgumentParser`` ::" #: ../Doc/library/argparse.rst:484 msgid "" @@ -405,6 +535,9 @@ msgid "" "characters that does not include ``-`` will cause ``-f/--foo`` options to be " "disallowed." msgstr "" +"La valeur par défaut de ``prefix_chars=`` est ``'-'``. Passer un jeu de " +"caractères qui n'inclut pas ``-`` provoquera le refus des options comme ``-" +"f/--foo``." #: ../Doc/library/argparse.rst:490 msgid "fromfile_prefix_chars" @@ -419,6 +552,13 @@ msgid "" "with any of the specified characters will be treated as files, and will be " "replaced by the arguments they contain. For example::" msgstr "" +"Parfois, par exemple quand on traite une liste d'arguments particulièrement " +"longue, il est logique de stocker la liste d'arguments dans un fichier " +"plutôt que de la saisir sur la ligne de commande. Si un jeu de caractères " +"est passé à l'argument ``fromfile_prefix_chars=`` du constructeur de :class:" +"`ArgumentParser`, alors les arguments qui commencent par l'un des caractères " +"spécifiés seront traités comme des fichiers et seront remplacés par les " +"arguments contenus dans ces fichiers. Par exemple ::" #: ../Doc/library/argparse.rst:506 msgid "" @@ -429,12 +569,21 @@ msgid "" "'@args.txt']`` is considered equivalent to the expression ``['-f', 'foo', '-" "f', 'bar']``." msgstr "" +"Par défaut, les arguments lus à partir d'un fichier doivent être chacun sur " +"une nouvelle ligne (voir aussi :meth:`~ArgumentParser." +"convert_arg_line_to_args`) et ils sont traités comme s'ils étaient au même " +"emplacement que le fichier original référençant les arguments de la ligne de " +"commande. Ainsi dans l'exemple ci-dessus, l'expression ``['-f', 'foo', " +"'@args.txt']`` est équivalente à l'expression ``['-f', 'foo', '-f', 'bar']``." #: ../Doc/library/argparse.rst:512 msgid "" "The ``fromfile_prefix_chars=`` argument defaults to ``None``, meaning that " "arguments will never be treated as file references." msgstr "" +"Par défaut, l'argument ``fromfile_prefix_chars=`` est ``None``, ce qui " +"signifie que les arguments ne seront pas traités en tant que références à " +"des fichiers." #: ../Doc/library/argparse.rst:517 msgid "argument_default" @@ -451,6 +600,16 @@ msgid "" "suppress attribute creation on :meth:`~ArgumentParser.parse_args` calls, we " "supply ``argument_default=SUPPRESS``::" msgstr "" +"Généralement, les valeurs par défaut des arguments sont spécifiées soit en " +"passant la valeur désirée à :meth:`~ArgumentParser.add_argument` soit par un " +"appel à la méthode :meth:`~ArgumentParser.set_defaults`. Cette méthode " +"accepte un ensemble de paires nom-valeur. Il est parfois pertinent de " +"configurer une valeur par défaut pour tous les arguments d'un analyseur. On " +"peut activer ce comportement en passant la valeur désirée à l'argument nommé " +"``argument_default=`` du constructeur de :class:`ArgumentParser`. Par " +"exemple, pour supprimer globalement la création d'attributs pendant l'appel " +"de :meth:`~ArgumentParser.parse_args`, on fournit " +"``argument_default=SUPPRESS`` ::" #: ../Doc/library/argparse.rst:539 msgid "allow_abbrev" @@ -462,10 +621,15 @@ msgid "" "parse_args` method of an :class:`ArgumentParser`, it :ref:`recognizes " "abbreviations ` of long options." msgstr "" +"En temps normal, lorsque vous passez une liste d'arguments à la méthode :" +"meth:`~ArgumentParser.parse_args` d':class:`ArgumentParser` :ref:`elle " +"accepte les abréviations ` des options longues." #: ../Doc/library/argparse.rst:545 msgid "This feature can be disabled by setting ``allow_abbrev`` to ``False``::" msgstr "" +"Cette fonctionnalité peut être désactivée en passant ``False`` à " +"``allow_abbrev`` ::" #: ../Doc/library/argparse.rst:558 msgid "conflict_handler" @@ -478,6 +642,10 @@ msgid "" "exception if an attempt is made to create an argument with an option string " "that is already in use::" msgstr "" +"Les objets :class:`ArgumentParser` ne peuvent pas avoir plus d'une option " +"avec la même chaîne d'option. Par défaut, les objets :class:`ArgumentParser` " +"lèvent une exception si on essaie de créer un argument avec une chaîne " +"d'option qui est déjà utilisée ::" #: ../Doc/library/argparse.rst:572 msgid "" @@ -486,6 +654,10 @@ msgid "" "value ``'resolve'`` can be supplied to the ``conflict_handler=`` argument " "of :class:`ArgumentParser`::" msgstr "" +"Parfois, par exemple si on utilise des analyseurs parents_, il est " +"souhaitable de surcharger les anciens arguments qui partagent la même chaîne " +"d'option. Pour obtenir ce comportement, vous devez passer ``'resolve'`` à " +"l'argument ``conflict_handler=`` du constructeur d':class:`ArgumentParser` ::" #: ../Doc/library/argparse.rst:588 msgid "" @@ -494,6 +666,10 @@ msgid "" "foo`` action is retained as the ``-f`` action, because only the ``--foo`` " "option string was overridden." msgstr "" +"Prenez note que les objets :class:`ArgumentParser` n'enlèvent une action que " +"si toutes ses chaînes d'options sont surchargées. Ainsi dans l'exemple ci-" +"dessus, l'action ``-f/--foo`` du parent est conservée comme l'action ``-f`` " +"puisque ``--foo`` est la seule chaîne d'options qui a été surchargée." #: ../Doc/library/argparse.rst:595 msgid "add_help" @@ -505,12 +681,17 @@ msgid "" "parser's help message. For example, consider a file named ``myprogram.py`` " "containing the following code::" msgstr "" +"Par défaut, les objets ``ArgumentParser`` ajoutent une option qui offre " +"l'affichage du message d'aide de l'analyseur. Par exemple, prenons le " +"fichier ``myprogram.py`` qui contient le code suivant ::" #: ../Doc/library/argparse.rst:606 msgid "" "If ``-h`` or ``--help`` is supplied at the command line, the ArgumentParser " "help will be printed:" msgstr "" +"Si ``-h`` ou ``--help`` est passé sur la ligne de commande, le message " +"d'aide de l'``ArgumentParser`` sera affiché :" #: ../Doc/library/argparse.rst:618 msgid "" @@ -518,6 +699,9 @@ msgid "" "This can be achieved by passing ``False`` as the ``add_help=`` argument to :" "class:`ArgumentParser`::" msgstr "" +"Il est parfois utile de désactiver l'ajout de cette option d'aide. Pour ce " +"faire, vous devez passer ``False`` à l'argument ``add_help=`` du " +"constructeur d':class:`ArgumentParser` ::" #: ../Doc/library/argparse.rst:630 msgid "" @@ -526,6 +710,11 @@ msgid "" "h`` and ``--help`` are not valid options. In this case, the first character " "in ``prefix_chars`` is used to prefix the help options::" msgstr "" +"En général, l'option d'aide est ``-h/--help``. L'exception à cette règle est " +"quand une valeur est passée à ``prefix_chars=`` et qu'elle n'inclue pas ``-" +"``, auquel cas, ``-h`` et ``--help`` ne sont pas des options valides. Dans " +"ce cas, le premier caractère de ``prefix_chars`` est utilisé comme préfixe " +"des options d'aide ::" #: ../Doc/library/argparse.rst:645 msgid "The add_argument() method" @@ -536,27 +725,34 @@ msgid "" "Define how a single command-line argument should be parsed. Each parameter " "has its own more detailed description below, but in short they are:" msgstr "" +"Définie comment une option de ligne de commande doit être analysée. Chacun " +"des paramètres est décrit plus en détails ci-bas, mais en résumé ils sont :" #: ../Doc/library/argparse.rst:654 msgid "" "`name or flags`_ - Either a name or a list of option strings, e.g. ``foo`` " "or ``-f, --foo``." msgstr "" +"`name_or_flags`_ – Nom ou liste de chaînes d'options. Par exemple : ``foo`` " +"ou ``-f, --foo`` ;" #: ../Doc/library/argparse.rst:657 msgid "" "action_ - The basic type of action to be taken when this argument is " "encountered at the command line." msgstr "" +"action_ – Type élémentaire de l'action à entreprendre quand cet argument est " +"reconnu sur la ligne de commande ;" #: ../Doc/library/argparse.rst:660 msgid "nargs_ - The number of command-line arguments that should be consumed." -msgstr "" +msgstr "nargs_ – Nombre d'arguments de la ligne de commande à capturer ;" #: ../Doc/library/argparse.rst:662 msgid "" "const_ - A constant value required by some action_ and nargs_ selections." msgstr "" +"const_ – Valeur constante requise par certains choix d'action_ et de nargs_ ;" #: ../Doc/library/argparse.rst:664 msgid "" @@ -568,30 +764,38 @@ msgstr "" msgid "" "type_ - The type to which the command-line argument should be converted." msgstr "" +"type_ – Type vers lequel l'argument sur la ligne de commande doit être " +"converti ;" #: ../Doc/library/argparse.rst:669 msgid "choices_ - A container of the allowable values for the argument." msgstr "" +"choices_ – Conteneur qui contient toutes les valeurs permises pour cet " +"argument ;" #: ../Doc/library/argparse.rst:671 msgid "" "required_ - Whether or not the command-line option may be omitted (optionals " "only)." msgstr "" +"required_ – ``True`` si l'option sur la ligne de commande est obligatoire " +"(ne s'applique qu'aux arguments optionnels) ;" #: ../Doc/library/argparse.rst:674 msgid "help_ - A brief description of what the argument does." -msgstr "" +msgstr "help_ – Brève description de ce que fait l'argument ;" #: ../Doc/library/argparse.rst:676 msgid "metavar_ - A name for the argument in usage messages." -msgstr "" +msgstr "metavar_ – Nom de l'argument dans les messages d'utilisations ;" #: ../Doc/library/argparse.rst:678 msgid "" "dest_ - The name of the attribute to be added to the object returned by :" "meth:`parse_args`." msgstr "" +"dest_ – Nom de l'attribut qui sera ajouté à l'objet retourné par :meth:" +"`parse_args`." #: ../Doc/library/argparse.rst:685 msgid "name or flags" @@ -606,10 +810,17 @@ msgid "" "or a simple argument name. For example, an optional argument could be " "created like::" msgstr "" +"La méthode :meth:`~ArgumentParser.add_argument` doit savoir si c'est un " +"argument optionnel (tel que ``-f`` ou ``--foo``) ou plutôt un argument " +"positionnel (tel qu'une liste de noms de fichiers) qui est attendu. Le " +"premier argument passé à :meth:`~ArgumentParser.add_argument` doit donc être " +"soit une série de noms d'options tels qu'ils apparaissent sur la ligne de " +"commande, soit simplement un nom si on désire un argument positionnel. Par " +"exemple, un argument optionnel est créé comme suit ::" #: ../Doc/library/argparse.rst:696 msgid "while a positional argument could be created like::" -msgstr "" +msgstr "alors qu'un argument positionnel est créé comme suit ::" #: ../Doc/library/argparse.rst:700 msgid "" @@ -617,6 +828,9 @@ msgid "" "be identified by the ``-`` prefix, and the remaining arguments will be " "assumed to be positional::" msgstr "" +"Lors le l'appel de :meth:`~ArgumentParser.parse_args`, les arguments qui " +"commencent par le préfixe ``-`` sont présumés optionnels et tous les autres " +"sont présumés positionnels ::" #: ../Doc/library/argparse.rst:717 msgid "action" @@ -631,12 +845,21 @@ msgid "" "``action`` keyword argument specifies how the command-line arguments should " "be handled. The supplied actions are:" msgstr "" +"Les objets :class:`ArgumentParser` associent les arguments de la ligne de " +"commande avec des actions. Ces actions peuvent soumettre les arguments de la " +"ligne de commande auxquels elles sont associées à un traitement arbitraire, " +"mais la majorité des actions se contentent d'ajouter un attribut à l'objet " +"renvoyé par :meth:`~ArgumentParser.parse_args`. L'argument nommé ``action`` " +"indique comment l'argument de la ligne de commande sera traité. Les actions " +"natives sont :" #: ../Doc/library/argparse.rst:725 msgid "" "``'store'`` - This just stores the argument's value. This is the default " "action. For example::" msgstr "" +"``'store'`` – Stocke la valeur de l'argument sans autre traitement. Ceci est " +"l'action par défaut. Par exemple ::" #: ../Doc/library/argparse.rst:733 msgid "" @@ -644,6 +867,10 @@ msgid "" "argument. The ``'store_const'`` action is most commonly used with optional " "arguments that specify some sort of flag. For example::" msgstr "" +"``'store_const'`` – Stocke la valeur passée à l'argument nommé const_. " +"L'action ``'store_const'`` est typiquement utilisée avec des arguments " +"optionnels qui représentent un drapeau ou une condition similaire. Par " +"exemple ::" #: ../Doc/library/argparse.rst:742 msgid "" @@ -652,6 +879,10 @@ msgid "" "respectively. In addition, they create default values of ``False`` and " "``True`` respectively. For example::" msgstr "" +"``'store_true'`` et ``'store_false'`` – Ces actions sont des cas " +"particuliers de ``'store_const'`` pour lesquelles la valeur stockée est " +"``True`` et ``False``, respectivement. Aussi, ces actions ont comme valeur " +"par défaut ``False`` et ``True``, respectivement. Par exemple ::" #: ../Doc/library/argparse.rst:754 msgid "" @@ -659,6 +890,9 @@ msgid "" "list. This is useful to allow an option to be specified multiple times. " "Example usage::" msgstr "" +"``'append'`` – Stocke une liste et ajoute la valeur de l'argument à la " +"liste. Ceci est pratique pour les options qui peuvent être répétées sur la " +"ligne de commande ::" #: ../Doc/library/argparse.rst:763 msgid "" @@ -668,12 +902,19 @@ msgid "" "useful when multiple arguments need to store constants to the same list. For " "example::" msgstr "" +"``'append_const'`` – Stocke une liste et ajoute la valeur passée à " +"l'argument nommé const_ à la fin de la liste. Notez que la valeur par défaut " +"de l'argument nommé const_ est ``None``. L'action ``'append_const'`` est " +"pratique quand plusieurs arguments ont besoin de stocker des constantes dans " +"la même liste. Par exemple ::" #: ../Doc/library/argparse.rst:775 msgid "" "``'count'`` - This counts the number of times a keyword argument occurs. For " "example, this is useful for increasing verbosity levels::" msgstr "" +"``'count'`` – Compte le nombre d'occurrences de l'argument nommé. Ceci est " +"pratique, par exemple, pour augmenter le niveau de verbosité ::" #: ../Doc/library/argparse.rst:783 msgid "" @@ -682,6 +923,10 @@ msgid "" "added to the parser. See :class:`ArgumentParser` for details of how the " "output is created." msgstr "" +"``'help'`` – Affiche le message d'aide complet pour toutes les options de " +"l'analyseur puis termine l'exécution. Une action ``help`` est " +"automatiquement ajoutée à l'analyseur par défaut. Consultez :class:" +"`ArgumentParser` pour les détails de la création du contenu de l'aide." #: ../Doc/library/argparse.rst:788 msgid "" @@ -689,6 +934,9 @@ msgid "" "`~ArgumentParser.add_argument` call, and prints version information and " "exits when invoked::" msgstr "" +"``'version'`` – Affiche la version du programme puis termine l'exécution. " +"Cette action requiert l'argument nommé ``version=`` dans l'appel à :meth:" +"`~ArgumentParser.add_argument` ::" #: ../Doc/library/argparse.rst:798 msgid "" @@ -717,18 +965,27 @@ msgid "" "different number of command-line arguments with a single action. The " "supported values are:" msgstr "" +"En général, les objets ``ArgumentParser`` associent un seul argument de la " +"ligne de commande à une seule action à entreprendre. L'argument nommé " +"``nargs`` associe un nombre différent d'arguments de la ligne de commande à " +"une action. Les valeurs reconnues sont :" #: ../Doc/library/argparse.rst:833 msgid "" "``N`` (an integer). ``N`` arguments from the command line will be gathered " "together into a list. For example::" msgstr "" +"``N`` (un entier). ``N`` arguments de la ligne de commande seront capturés " +"ensemble et stockés dans une liste. Par exemple ::" #: ../Doc/library/argparse.rst:842 msgid "" "Note that ``nargs=1`` produces a list of one item. This is different from " "the default, in which the item is produced by itself." msgstr "" +"Prenez note que ``nargs=1`` produit une liste avec un seul élément. Ceci est " +"différent du comportement par défaut qui produit l'élément directement " +"(comme un scalaire)." #: ../Doc/library/argparse.rst:845 msgid "" @@ -739,12 +996,20 @@ msgid "" "by a command-line argument. In this case the value from const_ will be " "produced. Some examples to illustrate this::" msgstr "" +"``'?'``. Un argument sera capturé de la ligne de commande et produit " +"directement. Si aucun argument n'est présent sur la ligne de commande, la " +"valeur de default_ est produite. Prenez note que pour les arguments " +"optionnels, il est aussi possible que la chaîne d'option soit présente mais " +"qu'elle ne soit pas suivie d'un argument. Dans ce cas, la valeur de const_ " +"est produite. Voici quelques exemples pour illustrer ceci ::" #: ../Doc/library/argparse.rst:862 msgid "" "One of the more common uses of ``nargs='?'`` is to allow optional input and " "output files::" msgstr "" +"``nargs='?'`` est fréquemment utilisé pour accepter des fichiers d'entrée et " +"de sortie optionnels ::" #: ../Doc/library/argparse.rst:877 msgid "" @@ -753,6 +1018,11 @@ msgid "" "argument with ``nargs='*'``, but multiple optional arguments with " "``nargs='*'`` is possible. For example::" msgstr "" +"``'*'``. Tous les arguments présents sur la ligne de commande sont capturés " +"dans une liste. Prenez note qu'il n'est pas logique d'avoir plus d'un " +"argument positionnel avec ``nargs='*'``, mais il est par contre possible " +"d'avoir plusieurs arguments optionnels qui spécifient ``nargs='*'``. Par " +"exemple ::" #: ../Doc/library/argparse.rst:889 msgid "" @@ -760,6 +1030,10 @@ msgid "" "a list. Additionally, an error message will be generated if there wasn't at " "least one command-line argument present. For example::" msgstr "" +"``'+'``. Comme pour ``'*'``, tous les arguments présents sur la ligne de " +"commande sont capturés dans une liste. De plus, un message d'erreur est " +"produit s'il n'y a pas au moins un argument présent sur la ligne de " +"commande. Par exemple ::" #: ../Doc/library/argparse.rst:901 msgid "" @@ -775,6 +1049,9 @@ msgid "" "command-line argument will be consumed and a single item (not a list) will " "be produced." msgstr "" +"Si l'argument nommé ``nargs`` n'est pas fourni, le nombre d'arguments " +"capturés est déterminé par l'action_. En général, c'est un seul argument de " +"la ligne de commande qui est capturé et il est produit directement." #: ../Doc/library/argparse.rst:918 msgid "const" @@ -787,6 +1064,10 @@ msgid "" "required for the various :class:`ArgumentParser` actions. The two most " "common uses of it are:" msgstr "" +"L'argument ``const`` d':meth:`~ArgumentParser.add_argument` est utilisé pour " +"stocker une constante qui n'est pas lue depuis la ligne de commande mais qui " +"est requise par certaines actions d':class:`ArgumentParser`. Les deux " +"utilisations les plus communes sont :" #: ../Doc/library/argparse.rst:924 msgid "" @@ -795,6 +1076,11 @@ msgid "" "the ``const`` value to one of the attributes of the object returned by :meth:" "`~ArgumentParser.parse_args`. See the action_ description for examples." msgstr "" +"quand :meth:`~ArgumentParser.add_argument` est appelée avec " +"``action='store_const'`` ou ``action='append_const'``. Ces actions ajoutent " +"la valeur de ``const`` à l'un des attributs de l'objet renvoyé par :meth:" +"`~ArgumentParser.parse_args`. Consultez la description d'action_ pour voir " +"quelques exemples ;" #: ../Doc/library/argparse.rst:929 msgid "" @@ -805,12 +1091,22 @@ msgid "" "command-line argument following it, the value of ``const`` will be assumed " "instead. See the nargs_ description for examples." msgstr "" +"Quand la méthode :meth:`~ArgumentParser.add_argument` est appelée avec des " +"chaînes d'options (telles que ``-f`` ou ``--foo``) et ``nargs='?'``. Ceci " +"crée un argument optionnel qui peut être suivi de zéro ou un argument de " +"ligne de commande. Quand la ligne de commande est analysée, si la chaîne " +"d'option est trouvée mais qu'elle n'est pas suivie par un argument, la " +"valeur de ``const`` est utilisée. Consultez la description de nargs_ pour " +"voir quelques exemples." #: ../Doc/library/argparse.rst:936 msgid "" "With the ``'store_const'`` and ``'append_const'`` actions, the ``const`` " "keyword argument must be given. For other actions, it defaults to ``None``." msgstr "" +"Pour les actions ``'store_const'`` et ``'append_const'``, l'argument nommé " +"``const`` doit être spécifié. Pour toutes les autres actions, il est " +"optionnel et sa valeur par défaut est ``None``." #: ../Doc/library/argparse.rst:941 msgid "default" @@ -825,6 +1121,12 @@ msgid "" "the ``default`` value is used when the option string was not present at the " "command line::" msgstr "" +"Tous les arguments optionnels et certains arguments positionnels peuvent " +"être omis à la ligne de commande. L'argument nommé ``default`` de la " +"méthode :meth:`~ArgumentParser.add_argument` (qui vaut ``None`` par défaut), " +"indique quelle valeur sera utilisé si l'argument est absent de la ligne de " +"commande. Pour les arguments optionnels, la valeur de ``default`` est " +"utilisée si la chaîne d'option n'est pas présente sur la ligne de commande ::" #: ../Doc/library/argparse.rst:957 msgid "" @@ -833,12 +1135,20 @@ msgid "" "conversion argument, if provided, before setting the attribute on the :class:" "`Namespace` return value. Otherwise, the parser uses the value as is::" msgstr "" +"Si la valeur de ``default`` est une chaîne, l'analyseur analyse cette valeur " +"comme si c'était un argument de la ligne de commande. En particulier, " +"l'analyseur applique la conversion spécifiée par l'argument type_ (si elle " +"est fournie) avant d'affecter l'attribut à l'objet :class:`Namespace` " +"renvoyé. Autrement, l'analyseur utilise la valeur telle qu'elle ::" #: ../Doc/library/argparse.rst:968 msgid "" "For positional arguments with nargs_ equal to ``?`` or ``*``, the " "``default`` value is used when no command-line argument was present::" msgstr "" +"Pour les arguments positionnels pour lesquels nargs_ est ``?`` ou ``*``, la " +"valeur de ``default`` est utilisée quand l'argument est absent de la ligne " +"de commande ::" #: ../Doc/library/argparse.rst:979 msgid "" @@ -866,6 +1176,8 @@ msgid "" "See the section on the default_ keyword argument for information on when the " "``type`` argument is applied to default arguments." msgstr "" +"Consultez la rubrique de l'argument nommé default_ pour plus d'information " +"sur quand l'argument ``type`` est appliqué aux arguments par défaut." #: ../Doc/library/argparse.rst:1009 msgid "" @@ -874,18 +1186,28 @@ msgid "" "``errors=`` arguments of the :func:`open` function. For example, " "``FileType('w')`` can be used to create a writable file::" msgstr "" +"Pour faciliter l'utilisation de types de fichiers variés, le module " +"``argparse`` fournit le type fabrique ``FileType`` qui accepte les arguments " +"``mode=``, ``bufsize=``, ``encoding=`` et ``errors=`` de la fonction :func:" +"`open`. Par exemple, ``FileType('w')`` peut être utilisé pour créer un " +"fichier en mode écriture ::" #: ../Doc/library/argparse.rst:1019 msgid "" "``type=`` can take any callable that takes a single string argument and " "returns the converted value::" msgstr "" +"``type=`` peut prendre n'importe quelle fonction ou objet appelable qui " +"prend une seule chaîne de caractère comme argument et qui renvoie la valeur " +"convertie ::" #: ../Doc/library/argparse.rst:1038 msgid "" "The choices_ keyword argument may be more convenient for type checkers that " "simply check against a range of values::" msgstr "" +"L'argument nommé choices_ est parfois plus facile d'utilisation pour les " +"vérificateurs de type qui comparent la valeur à une gamme prédéfinie ::" #: ../Doc/library/argparse.rst:1049 msgid "See the choices_ section for more details." @@ -903,6 +1225,12 @@ msgid "" "line is parsed, argument values will be checked, and an error message will " "be displayed if the argument was not one of the acceptable values::" msgstr "" +"Certains arguments de la ligne de commande doivent être choisis parmi un " +"ensemble fermé de valeurs. Ceux-ci peuvent être gérés en passant un " +"conteneur à l'argument nommé *choices* de la méthode :meth:`~ArgumentParser." +"add_argument`. Quand la ligne de commande est analysée, les valeurs de " +"l'argument sont comparées et un message d'erreur est affiché si l'argument " +"n'est pas parmi les valeurs acceptables ::" #: ../Doc/library/argparse.rst:1070 msgid "" @@ -910,6 +1238,9 @@ msgid "" "conversions have been performed, so the type of the objects in the *choices* " "container should match the type_ specified::" msgstr "" +"Prenez note que le test d'inclusion dans le conteur *choices* est fait après " +"la conversion de type_. Le type des objets dans le conteneur *choices* " +"doivent donc correspondre au type_ spécifié ::" #: ../Doc/library/argparse.rst:1082 msgid "" @@ -929,6 +1260,11 @@ msgid "" "command line. To make an option *required*, ``True`` can be specified for " "the ``required=`` keyword argument to :meth:`~ArgumentParser.add_argument`::" msgstr "" +"En général, le module :mod:`argparse` prend pour acquis que les drapeaux " +"comme ``-f`` et ``--bar`` annoncent un argument *optionnel* qui peut " +"toujours être omis de la ligne de commande. Pour rendre une option " +"*obligatoire*, ``True`` peut être passé à l'argument nommé ``required=`` d':" +"meth:`~ArgumentParser.add_argument` ::" #: ../Doc/library/argparse.rst:1103 msgid "" @@ -936,12 +1272,18 @@ msgid "" "`~ArgumentParser.parse_args` will report an error if that option is not " "present at the command line." msgstr "" +"Tel qu'illustré' dans l'exemple, quand l'option est marquée comme " +"``required``, :meth:`~ArgumentParser.parse_args` mentionne une erreur si " +"l'option est absente de la ligne de commande." #: ../Doc/library/argparse.rst:1109 msgid "" "Required options are generally considered bad form because users expect " "*options* to be *optional*, and thus they should be avoided when possible." msgstr "" +"En général, les options obligatoires manifestent un style boiteux, car les " +"utilisateurs s'attendent que les *options* soient *optionnelles*. Elles " +"devraient donc être évitées si possible." #: ../Doc/library/argparse.rst:1114 msgid "help" @@ -954,6 +1296,10 @@ msgid "" "at the command line), these ``help`` descriptions will be displayed with " "each argument::" msgstr "" +"La valeur de ``help`` est une chaîne qui contient une brève description de " +"l'argument. Quand un utilisateur demande de l'aide (en général par " +"l'utilisation de ``-h`` ou ``--help`` sur la ligne de commande), ces " +"descriptions d'aide seront affichées pour chacun des arguments ::" #: ../Doc/library/argparse.rst:1136 msgid "" @@ -963,18 +1309,29 @@ msgid "" "arguments to :meth:`~ArgumentParser.add_argument`, e.g. ``%(default)s``, ``" "%(type)s``, etc.::" msgstr "" +"La chaîne ``help`` peut contenir des spécificateurs de formatage afin " +"d'éviter la répétition de contenu tel que le nom du programme et la valeur " +"par défaut de l'argument (voir default_). Les spécificateurs de formatage " +"disponibles incluent entre autres le nom du programme, ``%(prog)s``, et la " +"plupart des arguments nommés d':meth:`~ArgumentParser.add_argument`, tels " +"que ``%(default)s``, ``%(type)s``, etc. ::" #: ../Doc/library/argparse.rst:1153 msgid "" "As the help string supports %-formatting, if you want a literal ``%`` to " "appear in the help string, you must escape it as ``%%``." msgstr "" +"Comme la chaîne d'aide utilise le caractère ``%`` pour le formatage, si vous " +"désirez afficher un ``%`` littéral dans la chaîne d'aide, vous devez en " +"faire l’échappement avec ``%%``." #: ../Doc/library/argparse.rst:1156 msgid "" ":mod:`argparse` supports silencing the help entry for certain options, by " "setting the ``help`` value to ``argparse.SUPPRESS``::" msgstr "" +":mod:`argparse` peut supprimer la rubrique d'aide de certaines options. Pour " +"ce faire, passez ``argparse.SUPPRESS`` à ``help`` ::" #: ../Doc/library/argparse.rst:1169 msgid "metavar" @@ -991,10 +1348,19 @@ msgid "" "optional argument ``--foo`` that should be followed by a single command-line " "argument will be referred to as ``FOO``. An example::" msgstr "" +"Quand un objet :class:`ArgumentParser` construit le message d'aide, il doit " +"pouvoir faire référence à chacun des arguments attendus. Par défaut, les " +"objets ``ArgumentParser`` utilisent la valeur de dest_ pour le nom de chaque " +"objet. Par défaut, la valeur de dest_ est utilisée telle quelle pour les " +"actions d'arguments positionnels et elle (dest_) est convertie en majuscules " +"pour les actions d'arguments optionnels. Ainsi, un argument positionnel " +"unique avec ``dest='bar'`` sera affiché comme ``bar`` et un argument " +"positionnel unique ``--foo`` qui prend un seul argument sur la ligne de " +"commande sera affiché comme ``FOO``. Par exemple ::" #: ../Doc/library/argparse.rst:1195 msgid "An alternative name can be specified with ``metavar``::" -msgstr "" +msgstr "Un nom alternatif peut être fourni à ``metavar`` ::" #: ../Doc/library/argparse.rst:1212 msgid "" @@ -1002,6 +1368,9 @@ msgid "" "attribute on the :meth:`~ArgumentParser.parse_args` object is still " "determined by the dest_ value." msgstr "" +"Prenez note que ``metavar`` ne change que le nom *affiché*. Le nom de " +"l'attribut ajouté à l'objet renvoyé par :meth:`~ArgumentParser.parse_args` " +"est toujours déterminé par la valeur de dest_." #: ../Doc/library/argparse.rst:1216 msgid "" @@ -1009,6 +1378,9 @@ msgid "" "times. Providing a tuple to ``metavar`` specifies a different display for " "each of the arguments::" msgstr "" +"Certaines valeurs de ``nargs`` peuvent provoquer l'affichage de ``metavar`` " +"plus d'une fois. Passer un *n-uplet* à ``metavar`` indique les différents " +"noms à afficher pour chacun des arguments ::" #: ../Doc/library/argparse.rst:1233 msgid "dest" @@ -1023,6 +1395,12 @@ msgid "" "is normally supplied as the first argument to :meth:`~ArgumentParser." "add_argument`::" msgstr "" +"La plupart des actions d':class:`ArgumentParser` ajoutent une valeur dans un " +"attribut de l'objet renvoyé par :meth:`~ArgumentParser.parse_args`. Le nom " +"de l'attribut est déterminé par l'argument nommé ``dest`` d':meth:" +"`~ArgumentParser.add_argument`. Pour les arguments positionnels, ``dest`` " +"est généralement le premier argument d':meth:`~ArgumentParser." +"add_argument` ::" #: ../Doc/library/argparse.rst:1247 msgid "" @@ -1035,10 +1413,18 @@ msgid "" "characters to make sure the string is a valid attribute name. The examples " "below illustrate this behavior::" msgstr "" +"Pour les actions d'arguments optionnels, la valeur de ``dest`` est " +"généralement inférée à partir des chaînes d'options. :class:`ArgumentParser` " +"génère la valeur de ``dest`` en prenant la première chaîne d'option longue " +"et en retirant le préfixe ``--``. Si une chaîne d'option longue n'est pas " +"fournie, ``dest`` est dérivée de la première chaîne d'option courte sans le " +"préfixe ``-``. Tous les ``-`` subséquents seront convertis en ``_`` pour " +"s'assurer que la chaîne est un nom d'attribut valide. Les exemples suivants " +"illustrent ce comportement ::" #: ../Doc/library/argparse.rst:1264 msgid "``dest`` allows a custom attribute name to be provided::" -msgstr "" +msgstr "``dest`` vous permet de fournir un nom d'attribut personnalisé ::" #: ../Doc/library/argparse.rst:1272 msgid "Action classes" @@ -1050,6 +1436,10 @@ msgid "" "which processes arguments from the command-line. Any object which follows " "this API may be passed as the ``action`` parameter to :meth:`add_argument`." msgstr "" +"Les classes ``Action`` implémentent l'API Action, un appelable qui retourne " +"un appelable qui traite les arguments de la ligne de commande. Tout objet " +"qui suit cette API peut être passé comme paramètre ``action`` d':meth:" +"`add_argument`." #: ../Doc/library/argparse.rst:1283 msgid "" @@ -1059,6 +1449,11 @@ msgid "" "keyword arguments passed to :meth:`ArgumentParser.add_argument` except for " "the ``action`` itself." msgstr "" +"Les objets ``Action`` sont utilisés par un ``ArgumentParser`` pour " +"représenter l'information nécessaire à l'analyse d'un seul argument à partir " +"d'une ou plusieurs chaînes de la ligne de commande. La classe ``Action`` " +"doit accepter les deux arguments positionnels d':meth:`ArgumentParser." +"add_argument` ainsi que tous ses arguments nommés, sauf ``action``." #: ../Doc/library/argparse.rst:1289 msgid "" @@ -1067,16 +1462,24 @@ msgid "" "\"type\", \"required\", \"help\", etc. defined. The easiest way to ensure " "these attributes are defined is to call ``Action.__init__``." msgstr "" +"Les instances d'``Action`` (ou la valeur de retour de l'appelable passé au " +"paramètre ``action``) doivent définir les attributs nécessaires : *dest*, " +"*option_strings*, *default*, *type*, *required*, *help*, etc. La façon la " +"plus simple de s'assurer que ces attributs sont définis est d'appeler " +"``Action.__init__``." #: ../Doc/library/argparse.rst:1294 msgid "" "Action instances should be callable, so subclasses must override the " "``__call__`` method, which should accept four parameters:" msgstr "" +"Les instances d'``Action`` doivent être appelables et donc les sous-classes " +"doivent surcharger la méthode ``__call__``. Cette méthode doit accepter " +"quatre paramètres :" #: ../Doc/library/argparse.rst:1297 msgid "``parser`` - The ArgumentParser object which contains this action." -msgstr "" +msgstr "``parser`` – L'objet ``ArgumentParser`` qui contient cette action ;" #: ../Doc/library/argparse.rst:1299 msgid "" @@ -1084,6 +1487,9 @@ msgid "" "`~ArgumentParser.parse_args`. Most actions add an attribute to this object " "using :func:`setattr`." msgstr "" +"``namespace`` – L'objet :class:`Namespace` qui sera renvoyé par :meth:" +"`~ArgumentParser.parse_args`. La majorité des actions ajoutent un attribut à " +"cet objet avec :func:`setattr` ;" #: ../Doc/library/argparse.rst:1303 msgid "" @@ -1091,6 +1497,10 @@ msgid "" "conversions applied. Type conversions are specified with the type_ keyword " "argument to :meth:`~ArgumentParser.add_argument`." msgstr "" +"``values`` – Les arguments de la ligne de commande associés à l'action après " +"les avoir soumis à la conversion de type. Les conversions de types sont " +"spécifiées grâce à l’argument nommé type_ d':meth:`~ArgumentParser." +"add_argument` ;" #: ../Doc/library/argparse.rst:1307 msgid "" @@ -1098,12 +1508,18 @@ msgid "" "The ``option_string`` argument is optional, and will be absent if the action " "is associated with a positional argument." msgstr "" +"``option_string`` – La chaîne d'option utilisée pour invoquer cette action. " +"L'argument ``option_string`` est optionnel et est absent si l'action est " +"associée à un argument positionnel." #: ../Doc/library/argparse.rst:1311 msgid "" "The ``__call__`` method may perform arbitrary actions, but will typically " "set attributes on the ``namespace`` based on ``dest`` and ``values``." msgstr "" +"La méthode ``__call__`` peut réaliser un traitement arbitraire, mais en " +"général elle affecte des attributs sur le ``namespace`` en fonction de " +"``dest`` et de ``values``." #: ../Doc/library/argparse.rst:1316 msgid "The parse_args() method" @@ -1114,6 +1530,8 @@ msgid "" "Convert argument strings to objects and assign them as attributes of the " "namespace. Return the populated namespace." msgstr "" +"Convertie les chaînes d'arguments en objets et les assigne comme attributs " +"de l'objet ``namespace``. Retourne l'objet ``namespace`` rempli." #: ../Doc/library/argparse.rst:1323 msgid "" @@ -1121,6 +1539,9 @@ msgid "" "created and how they are assigned. See the documentation for :meth:" "`add_argument` for details." msgstr "" +"Les appels à :meth:`add_argument` qui ont été faits déterminent exactement " +"quels objets sont créés et comment ils sont affectés. Consultez la rubrique " +"d':meth:`add_argument` pour les détails." #: ../Doc/library/argparse.rst:1327 msgid "" @@ -1130,7 +1551,7 @@ msgstr "" #: ../Doc/library/argparse.rst:1332 msgid "Option value syntax" -msgstr "" +msgstr "Syntaxe de la valeur des options" #: ../Doc/library/argparse.rst:1334 msgid "" @@ -1138,6 +1559,10 @@ msgid "" "specifying the value of an option (if it takes one). In the simplest case, " "the option and its value are passed as two separate arguments::" msgstr "" +"La méthode :meth:`~ArgumentParser.parse_args` offre plusieurs façons " +"d'indiquer la valeur d'une option si elle en prend une. Dans le cas le plus " +"simple, l'option et sa valeur sont passées en tant que deux arguments " +"distincts ::" #: ../Doc/library/argparse.rst:1346 msgid "" @@ -1145,18 +1570,26 @@ msgid "" "option and value can also be passed as a single command-line argument, using " "``=`` to separate them::" msgstr "" +"Pour les options longues (les options qui ont un nom plus long qu'un seul " +"caractère), l'option et sa valeur peuvent être passées comme un seul " +"argument de la ligne de commande en utilisant ``=`` comme séparateur ::" #: ../Doc/library/argparse.rst:1353 msgid "" "For short options (options only one character long), the option and its " "value can be concatenated::" msgstr "" +"Pour les options courtes (les options qui utilisent un seul caractère), " +"l'option et sa valeur peuvent être concaténées ::" #: ../Doc/library/argparse.rst:1359 msgid "" "Several short options can be joined together, using only a single ``-`` " "prefix, as long as only the last option (or none of them) requires a value::" msgstr "" +"Plusieurs options courtes peuvent être groupées ensemble après un seul " +"préfixe ``-`` pour autant que seule la dernière (ou aucune) nécessite une " +"valeur ::" #: ../Doc/library/argparse.rst:1371 msgid "Invalid arguments" @@ -1169,6 +1602,12 @@ msgid "" "options, wrong number of positional arguments, etc. When it encounters such " "an error, it exits and prints the error along with a usage message::" msgstr "" +"Quand elle fait l'analyse de la ligne de commande, la méthode :meth:" +"`~ArgumentParser.parse_args` vérifie plusieurs erreurs possibles : entre " +"autres, options ambigües, types invalides, options invalides, nombre " +"incorrect d'arguments positionnels, etc. Quand une erreur est rencontrée, " +"elle affiche l'erreur accompagnée du message d'aide puis termine " +"l'exécution ::" #: ../Doc/library/argparse.rst:1399 msgid "Arguments containing ``-``" @@ -1185,6 +1624,15 @@ msgid "" "like negative numbers and there are no options in the parser that look like " "negative numbers::" msgstr "" +"La méthode :meth:`~ArgumentParser.parse_args` tente de signaler une erreur " +"quand l'utilisateur s'est clairement trompé. Par contre, certaines " +"situations sont intrinsèquement ambigües. Par exemple, l'argument de la " +"ligne de commande ``-1`` peut aussi bien être une tentative de spécifier une " +"option qu'une tentative de passer un argument positionnel. La méthode :meth:" +"`~ArgumentParser.parse_args` est prudente : les arguments positionnels ne " +"peuvent commencer par ``-`` que s'ils ont l'apparence d'un nombre négatif et " +"que l'analyseur ne contient aucune option qui a l'apparence d'un nombre " +"négatif ::" #: ../Doc/library/argparse.rst:1439 msgid "" @@ -1193,6 +1641,10 @@ msgid "" "tells :meth:`~ArgumentParser.parse_args` that everything after that is a " "positional argument::" msgstr "" +"Si l'utilisateur a des arguments positionnels qui commencent par ``-`` et " +"qui n'ont pas l'apparence d'un nombre négatif, il peut insérer le pseudo-" +"argument ``'--'`` qui indique à :meth:`~ArgumentParser.parse_args` de " +"traiter tout ce qui suit comme un argument positionnel ::" #: ../Doc/library/argparse.rst:1450 msgid "Argument abbreviations (prefix matching)" @@ -1204,12 +1656,19 @@ msgid "" "` allows long options to be abbreviated to a prefix, if the " "abbreviation is unambiguous (the prefix matches a unique option)::" msgstr "" +"Par défaut, la méthode :meth:`~ArgumentParser.parse_args` accepte que les " +"options longues soient :ref:`abrégées ` par un préfixe pour " +"autant que l’abréviation soit non-ambigüe, c'est-à-dire qu'elle ne " +"corresponde qu'à une seule option ::" #: ../Doc/library/argparse.rst:1467 msgid "" "An error is produced for arguments that could produce more than one options. " "This feature can be disabled by setting :ref:`allow_abbrev` to ``False``." msgstr "" +"Une erreur est générée pour les arguments qui peuvent produire plus d'une " +"option. Ce comportement peut être désactivé en passant ``False`` à :ref:" +"`allow_abbrev`." #: ../Doc/library/argparse.rst:1472 msgid "Beyond ``sys.argv``" @@ -1222,6 +1681,11 @@ msgid "" "of strings to :meth:`~ArgumentParser.parse_args`. This is useful for " "testing at the interactive prompt::" msgstr "" +"Il est parfois désirable de demander à un objet ``ArgumentParser`` de faire " +"l'analyse d'arguments autres que ceux de :data:`sys.argv`. On peut faire ce " +"traitement en passant une liste de chaînes à :meth:`~ArgumentParser." +"parse_args`. Cette approche est pratique pour faire des tests depuis " +"l'invite de commande ::" #: ../Doc/library/argparse.rst:1493 msgid "The Namespace object" @@ -1232,6 +1696,9 @@ msgid "" "Simple class used by default by :meth:`~ArgumentParser.parse_args` to create " "an object holding attributes and return it." msgstr "" +"Classe rudimentaire qui est utilisé par défaut par :meth:`~ArgumentParser." +"parse_args` pour créer un objet qui stock les attributs. Cet objet est " +"renvoyé par ``ArgumentParser.parse_args``." #: ../Doc/library/argparse.rst:1500 msgid "" @@ -1239,6 +1706,10 @@ msgid "" "readable string representation. If you prefer to have dict-like view of the " "attributes, you can use the standard Python idiom, :func:`vars`::" msgstr "" +"Cette classe est délibérément rudimentaire : une sous-classe d':class:" +"`object` avec une représentation textuelle intelligible. Si vous préférez " +"une vue *dict-compatible*, vous devez utiliser :func:`vars` (un idiome " +"Python classique) ::" #: ../Doc/library/argparse.rst:1510 msgid "" @@ -1246,6 +1717,10 @@ msgid "" "to an already existing object, rather than a new :class:`Namespace` object. " "This can be achieved by specifying the ``namespace=`` keyword argument::" msgstr "" +"Il est parfois utile de demander à :class:`ArgumentParser` de faire " +"l'affectation des attributs sur un objet existant plutôt que de faire la " +"création d'un nouvel objet :class:`Namespace`. Ceci peut être réalisé avec " +"l'argument nommé ``namespace=`` ::" #: ../Doc/library/argparse.rst:1526 msgid "Other utilities" @@ -1270,6 +1745,18 @@ msgid "" "constructor arguments, and returns an :class:`ArgumentParser` object that " "can be modified as usual." msgstr "" +"Certains programmes divisent leurs fonctionnalités entre un nombre de sous-" +"commandes. Par exemple : le programme ``svn`` peut être invoqué comme ``svn " +"checkout``, ``svn update`` et ``svn commit``. Séparer les fonctionnalités de " +"cette façon est judicieux quand le programme effectue plusieurs fonctions " +"différentes qui requièrent différents types de lignes de commandes. :class:" +"`ArgumentParser` prend en charge la création de ce genre de sous-commandes " +"grâce à la méthode :meth:`add_subparsers`. La méthode :meth:`add_subparsers` " +"est généralement appelée sans argument et elle renvoie un objet ``Action`` " +"spécial. Cet objet possède une seule méthode, :meth:`~ArgumentParser." +"add_parser`, qui prend le nom d'une commande et n'importe quels arguments du " +"constructeur d':class:`ArgumentParser` ; elle renvoie un objet :class:" +"`ArgumentParser` qui peut être modifié normalement." #: ../Doc/library/argparse.rst:1548 msgid "Description of parameters:" @@ -1281,12 +1768,17 @@ msgid "" "\"subcommands\" if description is provided, otherwise uses title for " "positional arguments" msgstr "" +"``title`` – titre du groupe de ce sous-analyseur dans la sortie d'aide ; par " +"défaut : ``\"subcommands\"`` si ``description`` est fournie, sinon utilise " +"la valeur de ``title`` de la section sur les arguments positionnels ;" #: ../Doc/library/argparse.rst:1554 msgid "" "description - description for the sub-parser group in help output, by " "default ``None``" msgstr "" +"``description`` – description du groupe de ce sous-analyseur dans la sortie " +"d'aide ; par défaut : ``None`` ;" #: ../Doc/library/argparse.rst:1557 msgid "" @@ -1294,34 +1786,49 @@ msgid "" "default the name of the program and any positional arguments before the " "subparser argument" msgstr "" +"``prog`` – nom du programme dans le message d'utilisation de l'aide des sous-" +"commandes ; par défaut : le nom du programme et les arguments positionnels " +"qui arrivent avant l'argument de ce sous-analyseur ;" #: ../Doc/library/argparse.rst:1561 msgid "" "parser_class - class which will be used to create sub-parser instances, by " "default the class of the current parser (e.g. ArgumentParser)" msgstr "" +"``parser_class`` – classe utilisée pour créer les instances de sous-" +"analyseurs ; par défaut : la classe de l'analyseur courant (par exemple " +"``ArgumentParser``) ;" #: ../Doc/library/argparse.rst:1564 msgid "" "action_ - the basic type of action to be taken when this argument is " "encountered at the command line" msgstr "" +"action_ – action à entreprendre quand cet argument est reconnu sur la ligne " +"de commande ;" #: ../Doc/library/argparse.rst:1567 msgid "" "dest_ - name of the attribute under which sub-command name will be stored; " "by default ``None`` and no value is stored" msgstr "" +"dest_ – nom de l'attribut sous lequel la sous-commande est stockée ; par " +"défaut : ``None`` et aucune valeur n'est stockée ;" #: ../Doc/library/argparse.rst:1570 msgid "help_ - help for sub-parser group in help output, by default ``None``" msgstr "" +"help_ – message d'aide pour le groupe du sous-analyseur dans la sortie " +"d'aide ; par défaut : ``None`` ;" #: ../Doc/library/argparse.rst:1572 msgid "" "metavar_ - string presenting available sub-commands in help; by default it " "is ``None`` and presents sub-commands in form {cmd1, cmd2, ..}" msgstr "" +"metavar_ – chaîne qui représente les sous-commandes disponibles dans les " +"messages d'aide ; par défaut : ``None``, ce qui entraine la génération d'une " +"chaîne suivant le format ``'{cmd1, cmd2, …}'``." #: ../Doc/library/argparse.rst:1575 msgid "Some example usage::" @@ -1336,6 +1843,13 @@ msgid "" "present, and when the ``b`` command is specified, only the ``foo`` and " "``baz`` attributes are present." msgstr "" +"Prenez note que l'objet renvoyé par :meth:`parse_args` ne contient que les " +"attributs reconnus par l'analyseur principal et le sous-analyseur " +"sélectionné par la ligne de commande. Les autres sous-analyseurs n'ont pas " +"d'influence sur l'objet renvoyé. Ainsi dans l'exemple précédent, quand la " +"commande ``a`` est spécifiée, seuls les attributs ``foo`` et ``bar`` sont " +"présents ; quand la commande ``b`` est spécifiée, seuls les attributs " +"``foo`` et ``baz`` sont présents." #: ../Doc/library/argparse.rst:1603 msgid "" @@ -1345,6 +1859,12 @@ msgid "" "subparser command, however, can be given by supplying the ``help=`` argument " "to :meth:`add_parser` as above.)" msgstr "" +"De même, quand le message d'aide est demandé depuis l'un des sous-" +"analyseurs, seul le message d'aide de cet analyseur est affiché. Le message " +"d'aide n'inclut pas le message de l'analyseur parent ni celui des sous-" +"analyseurs au même niveau. Il est toutefois possible de fournir un message " +"d'aide pour chacun des sous-analyseurs grâce à l'argument ``help=`` d':meth:" +"`add_parser` tel qu'illustré ci-dessus." #: ../Doc/library/argparse.rst:1639 msgid "" @@ -1352,6 +1872,10 @@ msgid "" "``description`` keyword arguments. When either is present, the subparser's " "commands will appear in their own group in the help output. For example::" msgstr "" +"La méthode :meth:`add_subparsers` accepte les arguments nommés ``title`` et " +"``description``. Quand au moins l'un des deux est présent, les commandes du " +"sous-analyseur sont affichées dans leur propre groupe dans la sortie d'aide. " +"Par exemple ::" #: ../Doc/library/argparse.rst:1660 msgid "" @@ -1359,6 +1883,10 @@ msgid "" "which allows multiple strings to refer to the same subparser. This example, " "like ``svn``, aliases ``co`` as a shorthand for ``checkout``::" msgstr "" +"De plus, ``add_parser`` accepte l'argument additionnel ``aliases`` qui " +"permet à plusieurs chaînes de faire référence au même sous-analyseur. " +"L'exemple suivant, à la manière de ``svn``, utilise ``co`` comme une " +"abréviation de ``checkout`` ::" #: ../Doc/library/argparse.rst:1671 msgid "" @@ -1367,6 +1895,10 @@ msgid "" "so that each subparser knows which Python function it should execute. For " "example::" msgstr "" +"Une façon efficace de traiter les sous-commandes est de combiner " +"l'utilisation de la méthode :meth:`add_subparsers` avec des appels à :meth:" +"`set_defaults` pour que chaque sous-analyseur sache quelle fonction Python " +"doit être exécutée. Par exemple ::" #: ../Doc/library/argparse.rst:1708 msgid "" @@ -1377,6 +1909,12 @@ msgid "" "to check the name of the subparser that was invoked, the ``dest`` keyword " "argument to the :meth:`add_subparsers` call will work::" msgstr "" +"Ainsi, vous pouvez laisser à :meth:`parse_args` la responsabilité de faire " +"l'appel à la bonne fonction après avoir analysé les arguments. Associer " +"fonctions et actions est en général la façon la plus facile de gérer des " +"actions différentes pour chacun de vos sous-analyseurs. Par contre, si vous " +"avez besoin de consulter le nom de du sous-analyseur qui a été invoqué, vous " +"pouvez utiliser l'argument nommé ``dest`` d':meth:`add_subparsers` ::" #: ../Doc/library/argparse.rst:1726 msgid "FileType objects" @@ -1390,6 +1928,12 @@ msgid "" "with the requested modes, buffer sizes, encodings and error handling (see " "the :func:`open` function for more details)::" msgstr "" +"Le type fabrique :class:`FileType` crée des objets qui peuvent être passés à " +"l'argument ``type`` d':meth:`ArgumentParser.add_argument`. Les arguments qui " +"ont comme ``type`` un objet :class:`FileType` ouvrent les arguments de la " +"ligne de commande en tant que fichiers avec les options spécifiées : mode, " +"taille du tampon, encodage et gestion des erreurs (voir la fonction :func:" +"`open` pour plus de détails) ::" #: ../Doc/library/argparse.rst:1742 msgid "" @@ -1397,6 +1941,10 @@ msgid "" "convert this into ``sys.stdin`` for readable :class:`FileType` objects and " "``sys.stdout`` for writable :class:`FileType` objects::" msgstr "" +"Les objets ``FileType`` reconnaissent le pseudo-argument ``'-'`` et en font " +"automatiquement la conversion vers ``sys.stdin`` pour les objets :class:" +"`FileType` ouverts en lecture et vers ``sys.stdout`` pour les objets :class:" +"`FileType` ouverts en écriture ::" #: ../Doc/library/argparse.rst:1751 msgid "The *encodings* and *errors* keyword arguments." @@ -1414,6 +1962,11 @@ msgid "" "default one, appropriate groups can be created using the :meth:" "`add_argument_group` method::" msgstr "" +"Par défaut, :class:`ArgumentParser` sépare les arguments de la ligne de " +"commande entre les groupes « arguments positionnels » et « arguments " +"optionnels » au moment d'afficher les messages d'aide. S'il existe un " +"meilleur regroupement conceptuel des arguments, les groupes adéquats peuvent " +"être créés avec la méthode :meth:`add_argument_group` ::" #: ../Doc/library/argparse.rst:1777 msgid "" @@ -1425,12 +1978,22 @@ msgid "" "accepts *title* and *description* arguments which can be used to customize " "this display::" msgstr "" +"La méthode :meth:`add_argument_group` renvoie un objet représentant le " +"groupe d'arguments. Cet objet possède une méthode :meth:`~ArgumentParser." +"add_argument` semblable à celle d':class:`ArgumentParser`. Quand un argument " +"est ajouté au groupe, l'analyseur le traite comme un argument normal, mais " +"il affiche le nouvel argument dans un groupe séparé dans les messages " +"d'aide. Afin de personnaliser l'affichage, la méthode :meth:" +"`add_argument_group` accepte les arguments ``title`` et ``description`` ::" #: ../Doc/library/argparse.rst:1803 msgid "" "Note that any arguments not in your user-defined groups will end up back in " "the usual \"positional arguments\" and \"optional arguments\" sections." msgstr "" +"Prenez note que tout argument qui n'est pas dans l'un de vos groupes est " +"affiché dans l'une des sections usuelles *positional arguments* et *optional " +"arguments*." #: ../Doc/library/argparse.rst:1808 msgid "Mutual exclusion" @@ -1442,6 +2005,9 @@ msgid "" "one of the arguments in the mutually exclusive group was present on the " "command line::" msgstr "" +"Crée un groupe mutuellement exclusif. Le module :mod:`argparse` vérifie " +"qu'au plus un des arguments du groupe mutuellement exclusif est présent sur " +"la ligne de commande ::" #: ../Doc/library/argparse.rst:1828 msgid "" @@ -1449,6 +2015,9 @@ msgid "" "argument, to indicate that at least one of the mutually exclusive arguments " "is required::" msgstr "" +"La méthode :meth:`add_mutually_exclusive_group` accepte aussi l'argument " +"``required`` pour indiquer qu'au moins un des arguments mutuellement " +"exclusifs est nécessaire ::" #: ../Doc/library/argparse.rst:1840 msgid "" @@ -1456,6 +2025,9 @@ msgid "" "*title* and *description* arguments of :meth:`~ArgumentParser." "add_argument_group`." msgstr "" +"Prenez note que présentement les groupes d'arguments mutuellement exclusifs " +"n'acceptent pas les arguments ``title`` et ``description`` d':meth:" +"`~ArgumentParser.add_argument_group`." #: ../Doc/library/argparse.rst:1846 msgid "Parser defaults" @@ -1469,11 +2041,18 @@ msgid "" "additional attributes that are determined without any inspection of the " "command line to be added::" msgstr "" +"Dans la majorité des cas, les attributs de l'objet renvoyé par :meth:" +"`parse_args` sont entièrement définis par l'inspection des arguments de la " +"ligne de commande et par les actions des arguments. La méthode :meth:" +"`set_defaults` permet l'ajout d'attributs additionnels qui sont définis sans " +"nécessiter l'inspection de la ligne de commande ::" #: ../Doc/library/argparse.rst:1862 msgid "" "Note that parser-level defaults always override argument-level defaults::" msgstr "" +"Prenez note que les valeurs par défaut au niveau de l'analyseur ont " +"précédence sur les valeurs par défaut au niveau de l'argument ::" #: ../Doc/library/argparse.rst:1870 msgid "" @@ -1481,12 +2060,18 @@ msgid "" "parsers. See the :meth:`~ArgumentParser.add_subparsers` method for an " "example of this type." msgstr "" +"Les valeurs par défaut au niveau de l'analyseur sont particulièrement utiles " +"quand on travaille avec plusieurs analyseurs. Voir la méthode :meth:" +"`~ArgumentParser.add_subparsers` pour un exemple de cette utilisation." #: ../Doc/library/argparse.rst:1876 msgid "" "Get the default value for a namespace attribute, as set by either :meth:" "`~ArgumentParser.add_argument` or by :meth:`~ArgumentParser.set_defaults`::" msgstr "" +"Renvoie la valeur par défaut d'un attribut de l'objet ``Namespace`` tel " +"qu'il a été défini soit par :meth:`~ArgumentParser.add_argument` ou par :" +"meth:`~ArgumentParser.set_defaults` ::" #: ../Doc/library/argparse.rst:1887 msgid "Printing help" @@ -1498,6 +2083,9 @@ msgid "" "care of formatting and printing any usage or error messages. However, " "several formatting methods are available:" msgstr "" +"Pour la majorité des applications, :meth:`~ArgumentParser.parse_args` se " +"charge du formatage et de l'affichage des messages d'erreur et " +"d'utilisation. Plusieurs méthodes de formatage sont toutefois disponibles :" #: ../Doc/library/argparse.rst:1895 msgid "" @@ -1505,6 +2093,9 @@ msgid "" "invoked on the command line. If *file* is ``None``, :data:`sys.stdout` is " "assumed." msgstr "" +"Affiche une brève description sur la façon d'invoquer l':class:" +"`ArgumentParser` depuis la ligne de commande. Si ``file`` est ``None``, " +"utilise :data:`sys.stdout`." #: ../Doc/library/argparse.rst:1901 msgid "" @@ -1512,24 +2103,34 @@ msgid "" "arguments registered with the :class:`ArgumentParser`. If *file* is " "``None``, :data:`sys.stdout` is assumed." msgstr "" +"Affiche un message d'aide qui inclut l'utilisation du programme et " +"l'information sur les arguments répertoriés dans l':class:`ArgumentParser`. " +"Si ``file`` est ``None``, utilise :data:`sys.stdout`." #: ../Doc/library/argparse.rst:1905 msgid "" "There are also variants of these methods that simply return a string instead " "of printing it:" msgstr "" +"Des variantes de ces méthodes sont fournies pour renvoyer la chaîne plutôt " +"que de l'afficher :" #: ../Doc/library/argparse.rst:1910 msgid "" "Return a string containing a brief description of how the :class:" "`ArgumentParser` should be invoked on the command line." msgstr "" +"Renvoie une chaîne contenant une brève description sur la façon d'invoquer " +"l':class:`ArgumentParser` depuis la ligne de commande." #: ../Doc/library/argparse.rst:1915 msgid "" "Return a string containing a help message, including the program usage and " "information about the arguments registered with the :class:`ArgumentParser`." msgstr "" +"Renvoie une chaîne représentant un message d'aide qui inclut des " +"informations sur l'utilisation du programme et sur les arguments définis " +"dans l':class:`ArgumentParser`." #: ../Doc/library/argparse.rst:1920 msgid "Partial parsing" @@ -1545,6 +2146,13 @@ msgid "" "a two item tuple containing the populated namespace and the list of " "remaining argument strings." msgstr "" +"Parfois, un script n'analyse que de quelques-uns des arguments de la ligne " +"de commande avant de passer les arguments non-traités à un autre script ou " +"un autre programme. La méthode :meth:`~ArgumentParser.parse_known_args` est " +"utile dans ces cas. Elle fonctionne similairement à :meth:`~ArgumentParser." +"parse_args`, mais elle ne lève pas d'erreur quand des arguments non-reconnus " +"sont présents. Au lieu, elle renvoie une paire de valeurs : l'objet " +"``Namespace`` rempli et la liste des arguments non-traités." #: ../Doc/library/argparse.rst:1940 msgid "" @@ -1553,6 +2161,10 @@ msgid "" "prefix of one of its known options, instead of leaving it in the remaining " "arguments list." msgstr "" +"Les règles d':ref:`acceptation des abréviations ` sont " +"applicables à :meth:`parse_known_args`. L'analyseur peut ainsi capturer une " +"option même si elle n'est que le préfixe d'une option reconnue plutôt que de " +"la laisser dans la liste des arguments non-traités." #: ../Doc/library/argparse.rst:1947 msgid "Customizing file parsing" @@ -1565,6 +2177,10 @@ msgid "" "per line. :meth:`convert_arg_line_to_args` can be overridden for fancier " "reading." msgstr "" +"Les arguments qui proviennent d'un fichier sont lus un par ligne. La " +"méthode :meth:`convert_arg_line_to_args` peut être surchargée pour accomplir " +"un traitement plus élaboré. Voir aussi l'argument nommé " +"``fromfile_prefix_chars`` du constructeur d':class:`ArgumentParser`." #: ../Doc/library/argparse.rst:1956 msgid "" @@ -1572,16 +2188,24 @@ msgid "" "the argument file. It returns a list of arguments parsed from this string. " "The method is called once per line read from the argument file, in order." msgstr "" +"La méthode ``convert_arg_line_to_args`` accepte un seul argument, " +"``arg_line``, qui est une chaîne lue dans le fichier d'arguments. Elle " +"renvoie une liste d'arguments analysés dans cette chaîne. La méthode est " +"appelée une fois pour chaque ligne lue du fichier d'arguments. L'ordre est " +"préservé." #: ../Doc/library/argparse.rst:1960 msgid "" "A useful override of this method is one that treats each space-separated " "word as an argument. The following example demonstrates how to do this::" msgstr "" +"Une surcharge utile de cette méthode est de permettre à chaque mot délimité " +"par des espaces d'être traité comme un argument. L'exemple suivant illustre " +"comment réaliser ceci ::" #: ../Doc/library/argparse.rst:1969 msgid "Exiting methods" -msgstr "" +msgstr "Méthodes d'interruptions" #: ../Doc/library/argparse.rst:1973 msgid "" @@ -1594,6 +2218,9 @@ msgid "" "This method prints a usage message including the *message* to the standard " "error and terminates the program with a status code of 2." msgstr "" +"Cette méthode affiche un message d'utilisation qui inclut la chaîne " +"``message`` sur la sortie d'erreur standard puis termine l'exécution avec le " +"code de fin d'exécution 2." #: ../Doc/library/argparse.rst:1984 msgid "Upgrading optparse code" @@ -1609,12 +2236,20 @@ msgid "" "patched, it no longer seemed practical to try to maintain the backwards " "compatibility." msgstr "" +"Initialement, le module :mod:`argparse` tentait de rester compatible avec :" +"mod:`optparse`. Hélas, il était difficile de faire des améliorations à :mod:" +"`optparse` de façon transparente, en particulier pour les changements requis " +"pour gérer les nouveaux spécificateurs de ``nargs=`` et les messages " +"d'utilisation améliorés. Après avoir porté ou surchargé tout le code d':mod:" +"`optparse`, la rétro-compatibilité pouvait difficilement être conservée." #: ../Doc/library/argparse.rst:1993 msgid "" "The :mod:`argparse` module improves on the standard library :mod:`optparse` " "module in a number of ways including:" msgstr "" +"Le module :mod:`argparse` fournit plusieurs améliorations par rapport au " +"module :mod:`optparse` de la bibliothèque standard :" #: ../Doc/library/argparse.rst:1996 msgid "Handling positional arguments." @@ -1627,10 +2262,11 @@ msgstr "Gérer les sous commandes." #: ../Doc/library/argparse.rst:1998 msgid "Allowing alternative option prefixes like ``+`` and ``/``." msgstr "" +"Permet d'utiliser les alternatives ``+`` ou ``/`` comme préfixes d'option ;" #: ../Doc/library/argparse.rst:1999 msgid "Handling zero-or-more and one-or-more style arguments." -msgstr "" +msgstr "Prend en charge la répétition de valeurs (zéro ou plus, un ou plus) ;" #: ../Doc/library/argparse.rst:2000 msgid "Producing more informative usage messages." @@ -1639,16 +2275,20 @@ msgstr "Fournir des message d'aide plus complets." #: ../Doc/library/argparse.rst:2001 msgid "Providing a much simpler interface for custom ``type`` and ``action``." msgstr "" +"Fournit une interface plus simple pour les types et les actions " +"personnalisés." #: ../Doc/library/argparse.rst:2003 msgid "A partial upgrade path from :mod:`optparse` to :mod:`argparse`:" -msgstr "" +msgstr "Le portage partiel d':mod:`optparse` à :mod:`argparse` :" #: ../Doc/library/argparse.rst:2005 msgid "" "Replace all :meth:`optparse.OptionParser.add_option` calls with :meth:" "`ArgumentParser.add_argument` calls." msgstr "" +"Remplacer tous les appels à :meth:`optparse.OptionParser.add_option` par des " +"appels à :meth:`ArgumentParser.add_argument` ;" #: ../Doc/library/argparse.rst:2008 msgid "" @@ -1663,18 +2303,26 @@ msgid "" "Replace callback actions and the ``callback_*`` keyword arguments with " "``type`` or ``action`` arguments." msgstr "" +"Remplacer les actions de rappel (*callback actions* en anglais) et les " +"arguments nommés ``callback_*`` par des arguments ``type`` et ``actions`` ;" #: ../Doc/library/argparse.rst:2016 msgid "" "Replace string names for ``type`` keyword arguments with the corresponding " "type objects (e.g. int, float, complex, etc)." msgstr "" +"Remplacer les chaînes représentant le nom des types pour l'argument nommé " +"``type`` par les objets types correspondants (par exemple : ``int``, " +"``float``, ``complex``, etc) ;" #: ../Doc/library/argparse.rst:2019 msgid "" "Replace :class:`optparse.Values` with :class:`Namespace` and :exc:`optparse." "OptionError` and :exc:`optparse.OptionValueError` with :exc:`ArgumentError`." msgstr "" +"Remplacer :class:`optparse.Values` par :class:`Namespace` ; et :exc:" +"`optparse.OptionError` et :exc:`optparse.OptionValueError` par :exc:" +"`ArgumentError` ;" #: ../Doc/library/argparse.rst:2023 msgid "" @@ -1682,6 +2330,10 @@ msgid "" "with the standard Python syntax to use dictionaries to format strings, that " "is, ``%(default)s`` and ``%(prog)s``." msgstr "" +"Remplacer les chaînes avec des arguments de formatage implicite (tels que ``" +"%default`` ou ``%prog``) par la syntaxe standard de Python pour " +"l'interpolation d'un dictionnaire dans les chaînes de formatage (c'est-à-" +"dire ``%(default)s`` et ``%(prog)s``) ;" #: ../Doc/library/argparse.rst:2027 msgid "" @@ -1689,3 +2341,6 @@ msgid "" "``parser.add_argument('--version', action='version', version='')``." msgstr "" +"Remplacer l'argument ``version`` du constructeur d'``OptionParser`` par un " +"appel à ``parser.add_argument('--version', action='version', version='')``." diff --git a/library/bz2.po b/library/bz2.po index 8fae446b..82563a52 100644 --- a/library/bz2.po +++ b/library/bz2.po @@ -18,17 +18,19 @@ msgstr "" #: ../Doc/library/bz2.rst:2 msgid ":mod:`bz2` --- Support for :program:`bzip2` compression" -msgstr "" +msgstr ":mod:`bz2` — Prise en charge de la compression :program:`bzip2`" #: ../Doc/library/bz2.rst:12 msgid "**Source code:** :source:`Lib/bz2.py`" -msgstr "" +msgstr "**Code Source :** :source:`Lib/bz2.py`" #: ../Doc/library/bz2.rst:16 msgid "" "This module provides a comprehensive interface for compressing and " "decompressing data using the bzip2 compression algorithm." msgstr "" +"Ce module fournit une interface complète pour compresser et décompresser les " +"données en utilisant l'algorithme de compression *bzip2*." #: ../Doc/library/bz2.rst:19 msgid "The :mod:`bz2` module contains:" @@ -39,24 +41,32 @@ msgid "" "The :func:`.open` function and :class:`BZ2File` class for reading and " "writing compressed files." msgstr "" +"La fonction :func:`.open` et la classe :class:`BZ2File` pour lire et écrire " +"des fichiers compressés." #: ../Doc/library/bz2.rst:23 msgid "" "The :class:`BZ2Compressor` and :class:`BZ2Decompressor` classes for " "incremental (de)compression." msgstr "" +"Les classes :class:`BZ2Compressor` et :class:`BZ2Decompressor` pour la " +"(dé)compression incrémentielle." #: ../Doc/library/bz2.rst:25 msgid "" "The :func:`compress` and :func:`decompress` functions for one-shot " "(de)compression." msgstr "" +"Les fonctions :func:`compress` et :func:`decompress` pour la (dé)compression " +"en une seule fois." #: ../Doc/library/bz2.rst:28 msgid "" "All of the classes in this module may safely be accessed from multiple " "threads." msgstr "" +"Toutes les classes de ce module peuvent en toute sécurité être accédées " +"depuis de multiples fils d'exécution." #: ../Doc/library/bz2.rst:32 msgid "(De)compression of files" @@ -67,6 +77,8 @@ msgid "" "Open a bzip2-compressed file in binary or text mode, returning a :term:`file " "object`." msgstr "" +"Ouvre un fichier compressé par *bzip2* en mode binaire ou texte, le " +"renvoyant en :term:`file object`." #: ../Doc/library/bz2.rst:39 msgid "" @@ -74,6 +86,9 @@ msgid "" "an actual filename (a :class:`str` or :class:`bytes` object), or an existing " "file object to read from or write to." msgstr "" +"Tout comme avec le constructeur pour la classe :class:`BZ2File`, l'argument " +"*filename* peut être un nom de fichier réel (un objet :class:`str` ou :class:" +"`bytes`), ou un objet fichier existant à lire ou à écrire." #: ../Doc/library/bz2.rst:43 msgid "" @@ -81,12 +96,17 @@ msgid "" "``'x'``, ``'xb'``, ``'a'`` or ``'ab'`` for binary mode, or ``'rt'``, " "``'wt'``, ``'xt'``, or ``'at'`` for text mode. The default is ``'rb'``." msgstr "" +"L'argument *mode* peut valoir ``'r'``, ``'rb'``, ``'w'``, ``'wb'``, ``'x'``, " +"``'xb'``, ``'a'`` ou ``'ab'`` pour le mode binaire, ou ``'rt'``, ``'wt'``, " +"``'xt'`` ou ``'at'`` pour le mode texte. Il vaut par défaut ``'rb'``." #: ../Doc/library/bz2.rst:47 msgid "" "The *compresslevel* argument is an integer from 1 to 9, as for the :class:" "`BZ2File` constructor." msgstr "" +"L'argument *compresslevel* est un entier de 1 à 9, comme pour le " +"constructeur :class:`BZ2File`." #: ../Doc/library/bz2.rst:50 msgid "" @@ -95,6 +115,10 @@ msgid "" "this case, the *encoding*, *errors* and *newline* arguments must not be " "provided." msgstr "" +"Pour le mode binaire, cette fonction est équivalente au constructeur :class:" +"`BZ2File` : ``BZ2File(filename, mode, compresslevel=compresslevel)``. Dans " +"ce cas, les arguments *encoding*, *errors* et *newline* arguments ne doivent " +"pas être fournis." #: ../Doc/library/bz2.rst:55 msgid "" @@ -102,6 +126,9 @@ msgid "" "class:`io.TextIOWrapper` instance with the specified encoding, error " "handling behavior, and line ending(s)." msgstr "" +"Pour le mode texte, un objet :class:`BZ2File` est créé et encapsulé dans une " +"instance :class:`io.TextIOWrapper` avec l'encodage spécifié, le comportement " +"de gestion des erreurs et les fins de ligne." #: ../Doc/library/bz2.rst:61 ../Doc/library/bz2.rst:124 msgid "The ``'x'`` (exclusive creation) mode was added." @@ -117,6 +144,9 @@ msgid "" "file directly. Otherwise, *filename* should be a :term:`file object`, which " "will be used to read or write the compressed data." msgstr "" +"Si *filename* est un objet :class:`str` ou :class:`bytes`, ouvre le nom de " +"fichier directement. Autrement, *filename* doit être un :term:`file object`, " +"qui est utilisé pour lire ou écrire les données compressées." #: ../Doc/library/bz2.rst:73 msgid "" @@ -125,12 +155,18 @@ msgid "" "can equivalently be given as ``'rb'``, ``'wb'``, ``'xb'`` and ``'ab'`` " "respectively." msgstr "" +"L'argument *mode* peut être soit ``'r'`` pour lire (par défaut), ``'w'`` " +"pour écraser, ``'x'`` pour créer exclusivement, ou ``'a'`` pour ajouter. Ils " +"peuvent également être écrits respectivement comme ``'rb'``, ``'wb'``, " +"``'xb'`` et ``'ab'``." #: ../Doc/library/bz2.rst:78 msgid "" "If *filename* is a file object (rather than an actual file name), a mode of " "``'w'`` does not truncate the file, and is instead equivalent to ``'a'``." msgstr "" +"Si *filename* est un objet fichier (plutôt que le nom de fichier réel), le " +"mode ``'w'`` ne tronque pas le fichier, mais équivaut à ``'a'``." #: ../Doc/library/bz2.rst:81 msgid "The *buffering* argument is ignored. Its use is deprecated." @@ -148,6 +184,8 @@ msgid "" "If *mode* is ``'r'``, the input file may be the concatenation of multiple " "compressed streams." msgstr "" +"Si *mode* est ``'r'``, le fichier d'entrée peut être la concaténation de " +"plusieurs flux compressés." #: ../Doc/library/bz2.rst:90 msgid "" @@ -155,10 +193,13 @@ msgid "" "BufferedIOBase`, except for :meth:`detach` and :meth:`truncate`. Iteration " "and the :keyword:`with` statement are supported." msgstr "" +":class:`BZ2File` fournit tous les membres spécifiés par la classe :class:`io." +"BufferedIOBase`, excepté les méthodes :meth:`detach` et :meth:`truncate`. " +"L'itération et l'instruction :keyword:`with` sont prises en charge." #: ../Doc/library/bz2.rst:94 msgid ":class:`BZ2File` also provides the following method:" -msgstr "" +msgstr ":class:`BZ2File` fournit aussi la méthode suivante :" #: ../Doc/library/bz2.rst:98 msgid "" @@ -166,6 +207,9 @@ msgid "" "of data will be returned (unless at EOF). The exact number of bytes returned " "is unspecified." msgstr "" +"Renvoie des données en mémoire tampon sans avancer la position du fichier. " +"Au moins un octet de donnée (sauf l'EOF) est renvoyé. Le nombre exact " +"d'octets renvoyés n'est pas spécifié." #: ../Doc/library/bz2.rst:102 msgid "" @@ -174,34 +218,46 @@ msgid "" "the :class:`BZ2File` was constructed by passing a file object for " "*filename*)." msgstr "" +"Bien que l'appel à la méthode :meth:`peek` ne change pas la position du " +"fichier de la classe :class:`BZ2File`, il peut changer la position de " +"l'objet fichier sous-jacent (e.g. si la classe :class:`BZ2File` a été " +"construite en passant un objet fichier à *filename*)." #: ../Doc/library/bz2.rst:109 msgid "Support for the :keyword:`with` statement was added." -msgstr "" +msgstr "La prise en charge de l'instruction :keyword:`with` a été ajoutée." #: ../Doc/library/bz2.rst:112 msgid "" "The :meth:`fileno`, :meth:`readable`, :meth:`seekable`, :meth:`writable`, :" "meth:`read1` and :meth:`readinto` methods were added." msgstr "" +"Les méthodes :meth:`fileno`, :meth:`readable`, :meth:`seekable`, :meth:" +"`writable`, :meth:`read1` et :meth:`readinto` ont été ajoutées." #: ../Doc/library/bz2.rst:116 msgid "" "Support was added for *filename* being a :term:`file object` instead of an " "actual filename." msgstr "" +"La gestion de *filename* comme :term:`file object` au lieu d'un nom de " +"fichier réel a été ajoutée." #: ../Doc/library/bz2.rst:120 msgid "" "The ``'a'`` (append) mode was added, along with support for reading multi-" "stream files." msgstr "" +"Le mode ``'a'`` (ajout) a été ajouté, avec la prise en charge de la lecture " +"des fichiers *multiflux*." #: ../Doc/library/bz2.rst:127 msgid "" "The :meth:`~io.BufferedIOBase.read` method now accepts an argument of " "``None``." msgstr "" +"La méthode :meth:`~io.BufferedIOBase.read` accepte maintenant un argument " +"``None``." #: ../Doc/library/bz2.rst:133 msgid "Incremental (de)compression" @@ -213,6 +269,9 @@ msgid "" "incrementally. For one-shot compression, use the :func:`compress` function " "instead." msgstr "" +"Crée un nouvel objet compresseur. Cet objet peut être utilisé pour " +"compresser les données de manière incrémentielle. Pour une compression en " +"une seule fois, utilisez à la place la fonction :func:`compress`." #: ../Doc/library/bz2.rst:141 ../Doc/library/bz2.rst:229 msgid "" @@ -225,23 +284,31 @@ msgid "" "Provide data to the compressor object. Returns a chunk of compressed data if " "possible, or an empty byte string otherwise." msgstr "" +"Fournit la donnée à l'objet compresseur. Renvoie un bloc de données " +"compressées si possible, ou autrement une chaîne d'octet vide." #: ../Doc/library/bz2.rst:149 msgid "" "When you have finished providing data to the compressor, call the :meth:" "`flush` method to finish the compression process." msgstr "" +"Quand vous avez fini de fournir des données au compresseur, appelez la " +"méthode :meth:`flush` pour finir le processus de compression." #: ../Doc/library/bz2.rst:155 msgid "" "Finish the compression process. Returns the compressed data left in internal " "buffers." msgstr "" +"Finit le processus de compression. Renvoie la donnée compressée restante " +"dans les tampons internes." #: ../Doc/library/bz2.rst:158 msgid "" "The compressor object may not be used after this method has been called." msgstr "" +"L'objet compresseur ne peut pas être utilisé après que cette méthode a été " +"appelée." #: ../Doc/library/bz2.rst:163 msgid "" @@ -249,6 +316,9 @@ msgid "" "incrementally. For one-shot compression, use the :func:`decompress` function " "instead." msgstr "" +"Crée un nouvel objet décompresseur. Cet objet peut être utilisé pour " +"décompresser les données de manière incrémentielle. Pour une compression en " +"une seule fois, utilisez à la place la fonction :func:`decompress`." #: ../Doc/library/bz2.rst:168 msgid "" @@ -257,6 +327,11 @@ msgid "" "need to decompress a multi-stream input with :class:`BZ2Decompressor`, you " "must use a new decompressor for each stream." msgstr "" +"Cette classe ne gère pas de manière transparente les entrées contenant " +"plusieurs flux compressés, à la différence de :func:`decompress` et :class:" +"`BZ2File`. Si vous avez besoin de décompresser une entrée *multiflux* avec " +"la classe :class:`BZ2Decompressor`, vous devez utiliser un nouveau " +"décompresseur pour chaque flux." #: ../Doc/library/bz2.rst:175 msgid "" @@ -265,6 +340,11 @@ msgid "" "to :meth:`decompress`. The returned data should be concatenated with the " "output of any previous calls to :meth:`decompress`." msgstr "" +"Décompresse *data* (un :term:`bytes-like object`), renvoyant une donnée non " +"compressée en tant que chaîne d'octets. Certaines de ces *data* peuvent être " +"mises en interne en tampon, pour un usage lors d'appels ultérieurs par la " +"méthode :meth:`decompress`. La donnée renvoyée doit être concaténée avec la " +"sortie des appels précédents à la méthode :meth:`decompress`." #: ../Doc/library/bz2.rst:181 msgid "" @@ -274,6 +354,11 @@ msgid "" "this case, the next call to :meth:`~.decompress` may provide *data* as " "``b''`` to obtain more of the output." msgstr "" +"Si *max_length* est positif, renvoie au plus *max_length* octets de données " +"compressées. Si la limite est atteinte et que d'autres sorties peuvent être " +"produites, l'attribut :attr:`~.needs_input` est positionné sur ``False``. " +"Dans ce cas, lors de l'appel suivant à la méthode :meth:`~.decompress`, vous " +"pouvez fournir ``b''`` dans *data* afin d'obtenir la suite de la sortie." #: ../Doc/library/bz2.rst:188 msgid "" @@ -281,6 +366,9 @@ msgid "" "was less than *max_length* bytes, or because *max_length* was negative), " "the :attr:`~.needs_input` attribute will be set to ``True``." msgstr "" +"Si toutes les données entrées ont été décompressées et renvoyées (soit parce " +"qu'il y avait moins de *max_length* octets, ou parce que *max_length* était " +"négatif), l'attribut :attr:`~.needs_input` sera configuré sur ``True``." #: ../Doc/library/bz2.rst:193 msgid "" @@ -288,6 +376,9 @@ msgid "" "`EOFError`. Any data found after the end of the stream is ignored and saved " "in the :attr:`~.unused_data` attribute." msgstr "" +"Essayer de décompresser des données après que la fin du flux soit atteinte " +"lève une erreur `EOFError`. Toute donnée trouvée après la fin du flux est " +"ignorée et sauvegardée dans l'attribut :attr:`~.unused_data`." #: ../Doc/library/bz2.rst:197 msgid "Added the *max_length* parameter." @@ -295,7 +386,7 @@ msgstr "Ajout du paramètre *max_length*." #: ../Doc/library/bz2.rst:202 msgid "``True`` if the end-of-stream marker has been reached." -msgstr "" +msgstr "``True`` si le marqueur de fin de flux a été atteint." #: ../Doc/library/bz2.rst:209 msgid "Data found after the end of the compressed stream." @@ -306,12 +397,16 @@ msgid "" "If this attribute is accessed before the end of the stream has been reached, " "its value will be ``b''``." msgstr "" +"Si l'attribut est accédé avant que la fin du flux ait été atteint, sa valeur " +"sera ``b''``." #: ../Doc/library/bz2.rst:216 msgid "" "``False`` if the :meth:`.decompress` method can provide more decompressed " "data before requiring new uncompressed input." msgstr "" +"``False`` si la méthode :meth:`.decompress` peut fournir plus de données " +"décompressées avant l'acquisition d'une nouvelle entrée non compressée." #: ../Doc/library/bz2.rst:223 msgid "One-shot (de)compression" @@ -324,6 +419,8 @@ msgstr "Compresse *data*." #: ../Doc/library/bz2.rst:232 msgid "For incremental compression, use a :class:`BZ2Compressor` instead." msgstr "" +"Pour la compression incrémentielle, utilisez à la place la classe :class:" +"`BZ2Compressor`." #: ../Doc/library/bz2.rst:237 msgid "Decompress *data*." @@ -334,11 +431,15 @@ msgid "" "If *data* is the concatenation of multiple compressed streams, decompress " "all of the streams." msgstr "" +"Si *data* est la concaténation de multiples flux compressés, décompresse " +"tous les flux." #: ../Doc/library/bz2.rst:242 msgid "For incremental decompression, use a :class:`BZ2Decompressor` instead." msgstr "" +"Pour une décompression incrémentielle, utilisez à la place la classe :class:" +"`BZ2Decompressor`." #: ../Doc/library/bz2.rst:244 msgid "Support for multi-stream inputs was added." -msgstr "" +msgstr "Prise en charge des entrées *multiflux*." diff --git a/library/calendar.po b/library/calendar.po index 61129230..e51609b0 100644 --- a/library/calendar.po +++ b/library/calendar.po @@ -18,7 +18,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`" @@ -228,12 +228,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 "" @@ -243,6 +248,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 "" @@ -251,6 +262,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 "" @@ -259,6 +275,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 "" @@ -267,10 +288,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 "" @@ -279,43 +306,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 "" @@ -326,24 +372,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 "" @@ -353,20 +406,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 "" @@ -374,6 +436,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 "" @@ -381,6 +447,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`" @@ -391,6 +461,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`" @@ -398,4 +470,4 @@ msgstr "Module :mod:`time`" #: ../Doc/library/calendar.rst:316 msgid "Low-level time related functions." -msgstr "" +msgstr "Fonctions bas niveau relatives au temps." diff --git a/library/codecs.po b/library/codecs.po index 6bbff90c..4b241756 100644 --- a/library/codecs.po +++ b/library/codecs.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/codecs.rst:2 msgid ":mod:`codecs` --- Codec registry and base classes" -msgstr "" +msgstr ":mod:`codecs` — Registre des codecs et classes de base associées" #: ../Doc/library/codecs.rst:11 msgid "**Source code:** :source:`Lib/codecs.py`" @@ -35,16 +35,29 @@ msgid "" "features are restricted to use specifically with :term:`text encodings `, or with codecs that encode to :class:`bytes`." msgstr "" +"Ce module définit les classes de base pour les codecs (encodeurs et " +"décodeurs) standards Python et fournit l'interface avec le registre des " +"codecs internes à Python, qui gère le processus de recherche de codecs et de " +"gestion des erreurs. La plupart des codecs sont des :term:`encodeurs de " +"texte `, qui encode du texte vers des séquences d'octets " +"(type *bytes* de Python) mais il existe aussi des codecs qui encodent du " +"texte vers du texte et des *bytes* vers des *bytes*. Les codecs " +"personnalisés peuvent encoder et décoder des types arbitraires, mais " +"l'utilisation de certaines fonctionnalités du module est restreinte aux :" +"term:`encodeurs de texte ` ou aux codecs qui encodent vers :" +"class:`bytes`." #: ../Doc/library/codecs.rst:33 msgid "" "The module defines the following functions for encoding and decoding with " "any codec:" msgstr "" +"Le module définit les fonctions suivantes pour encoder et décoder à l'aide " +"de n'importe quel codec :" #: ../Doc/library/codecs.rst:38 msgid "Encodes *obj* using the codec registered for *encoding*." -msgstr "" +msgstr "Encode *obj* en utilisant le codec enregistré pour *encoding*." #: ../Doc/library/codecs.rst:40 msgid "" @@ -54,10 +67,16 @@ msgid "" "`UnicodeEncodeError`). Refer to :ref:`codec-base-classes` for more " "information on codec error handling." msgstr "" +"Vous pouvez spécifier *errors* pour définir la façon de gérer les erreurs. " +"Le gestionnaire d'erreurs par défaut est ``'strict'``, ce qui veut dire " +"qu'une erreur lors de l'encodage lève :exc:`ValueError` (ou une sous-classe " +"spécifique du codec, telle que :exc:`UnicodeEncodeError`). Référez-vous aux :" +"ref:`classes de base des codecs ` pour plus " +"d'informations sur la gestion des erreurs par les codecs." #: ../Doc/library/codecs.rst:48 msgid "Decodes *obj* using the codec registered for *encoding*." -msgstr "" +msgstr "Décode *obj* en utilisant le codec enregistré pour *encoding*." #: ../Doc/library/codecs.rst:50 msgid "" @@ -67,16 +86,25 @@ msgid "" "`UnicodeDecodeError`). Refer to :ref:`codec-base-classes` for more " "information on codec error handling." msgstr "" +"Vous pouvez spécifier *errors* pour définir la façon de gérer les erreurs. " +"Le gestionnaire d'erreurs par défaut est ``'strict'``, ce qui veut dire " +"qu'une erreur lors du décodage lève :exc:`ValueError` (ou une sous-classe " +"spécifique du codec, telle que :exc:`UnicodeDecodeError`). Référez-vous aux :" +"ref:`classes de base des codecs ` pour plus " +"d'informations sur la gestion des erreurs par les codecs." #: ../Doc/library/codecs.rst:56 msgid "The full details for each codec can also be looked up directly:" msgstr "" +"Les détails complets de chaque codec peuvent être examinés directement :" #: ../Doc/library/codecs.rst:60 msgid "" "Looks up the codec info in the Python codec registry and returns a :class:" "`CodecInfo` object as defined below." msgstr "" +"Recherche les informations relatives au codec dans le registre des codecs de " +"Python et renvoie l'objet :class:`CodecInfo` tel que défini ci-dessous." #: ../Doc/library/codecs.rst:63 msgid "" @@ -85,16 +113,23 @@ msgid "" "object is found, a :exc:`LookupError` is raised. Otherwise, the :class:" "`CodecInfo` object is stored in the cache and returned to the caller." msgstr "" +"Les encodeurs sont recherchés en priorité dans le cache du registre. S'ils " +"n'y sont pas, la liste des fonctions de recherche enregistrées est passée en " +"revue. Si aucun objet :class:`CodecInfo` n'est trouvé, une :exc:" +"`LookupError` est levée. Sinon, l'objet :class:`CodecInfo` est mis en cache " +"et renvoyé vers l'appelant." #: ../Doc/library/codecs.rst:70 msgid "" "Codec details when looking up the codec registry. The constructor arguments " "are stored in attributes of the same name:" msgstr "" +"Les détails d'un codec trouvé dans le registre des codecs. Les arguments du " +"constructeur sont stockés dans les attributs éponymes :" #: ../Doc/library/codecs.rst:76 msgid "The name of the encoding." -msgstr "" +msgstr "Le nom de l'encodeur." #: ../Doc/library/codecs.rst:82 msgid "" @@ -104,6 +139,11 @@ msgid "" "objects>`). The functions or methods are expected to work in a stateless " "mode." msgstr "" +"Les fonctions d'encodage et de décodage. Ces fonctions ou méthodes doivent " +"avoir la même interface que les méthodes :meth:`~Codec.encode` et :meth:" +"`~Codec.decode` des instances de Codec (voir :ref:`Interface des codecs " +"`). Les fonctions et méthodes sont censées fonctionner sans " +"état interne." #: ../Doc/library/codecs.rst:92 msgid "" @@ -112,6 +152,11 @@ msgid "" "`IncrementalEncoder` and :class:`IncrementalDecoder`, respectively. " "Incremental codecs can maintain state." msgstr "" +"Classes d'encodeurs et de décodeurs incrémentaux ou fonctions usines. Elles " +"doivent avoir respectivement les mêmes interfaces que celles définies par " +"les classes de base :class:`IncrementalEncoder` et :class:" +"`IncrementalDecoder`. Les codecs incrémentaux peuvent conserver des états " +"internes." #: ../Doc/library/codecs.rst:101 msgid "" @@ -119,69 +164,94 @@ msgid "" "the interface defined by the base classes :class:`StreamWriter` and :class:" "`StreamReader`, respectively. Stream codecs can maintain state." msgstr "" +"Classes d'écriture et de lecture de flux ou fonctions usines. Elles doivent " +"avoir les mêmes interfaces que celles définies par les classes de base :" +"class:`StreamWriter` et :class:`StreamReader`, respectivement. Les codecs de " +"flux peuvent conserver un état interne." #: ../Doc/library/codecs.rst:106 msgid "" "To simplify access to the various codec components, the module provides " "these additional functions which use :func:`lookup` for the codec lookup:" msgstr "" +"Pour simplifier l'accès aux différents composants du codec, le module " +"fournit les fonctions supplémentaires suivantes qui utilisent :func:`lookup` " +"pour la recherche du codec :" #: ../Doc/library/codecs.rst:111 msgid "" "Look up the codec for the given encoding and return its encoder function." msgstr "" +"Recherche le codec pour l'encodage *encoding* et renvoie sa fonction " +"d'encodage." #: ../Doc/library/codecs.rst:113 ../Doc/library/codecs.rst:120 #: ../Doc/library/codecs.rst:146 ../Doc/library/codecs.rst:154 msgid "Raises a :exc:`LookupError` in case the encoding cannot be found." -msgstr "" +msgstr "Lève une :exc:`LookupError` si l'encodage *encoding* n'est pas trouvé." #: ../Doc/library/codecs.rst:118 msgid "" "Look up the codec for the given encoding and return its decoder function." msgstr "" +"Recherche le codec pour l'encodage *encoding* et renvoie sa fonction de " +"décodage." #: ../Doc/library/codecs.rst:125 msgid "" "Look up the codec for the given encoding and return its incremental encoder " "class or factory function." msgstr "" +"Recherche le codec pour l'encodage *encoding* et renvoie sa classe " +"d'encodage incrémental ou la fonction usine." #: ../Doc/library/codecs.rst:128 msgid "" "Raises a :exc:`LookupError` in case the encoding cannot be found or the " "codec doesn't support an incremental encoder." msgstr "" +"Lève une :exc:`LookupError` si l'encodage *encoding* n'est pas trouvé ou si " +"le codec ne gère pas l'encodage incrémental." #: ../Doc/library/codecs.rst:134 msgid "" "Look up the codec for the given encoding and return its incremental decoder " "class or factory function." msgstr "" +"Recherche le codec pour l'encodage *encoding* et renvoie sa classe de " +"décodage incrémental ou la fonction usine." #: ../Doc/library/codecs.rst:137 msgid "" "Raises a :exc:`LookupError` in case the encoding cannot be found or the " "codec doesn't support an incremental decoder." msgstr "" +"Lève une :exc:`LookupError` si l'encodage *encoding* n'est pas trouvé ou si " +"le codec ne gère pas le décodage incrémental." #: ../Doc/library/codecs.rst:143 msgid "" "Look up the codec for the given encoding and return its :class:" "`StreamReader` class or factory function." msgstr "" +"Recherche le codec pour l'encodage *encoding* et renvoie sa classe :class:" +"`StreamReader` ou la fonction usine." #: ../Doc/library/codecs.rst:151 msgid "" "Look up the codec for the given encoding and return its :class:" "`StreamWriter` class or factory function." msgstr "" +"Recherche le codec pour l'encodage *encoding* et renvoie sa classe :class:" +"`StreamWriter` ou la fonction usine." #: ../Doc/library/codecs.rst:156 msgid "" "Custom codecs are made available by registering a suitable codec search " "function:" msgstr "" +"Les codecs personnalisés sont mis à disposition en enregistrant une fonction " +"de recherche de codecs adaptée :" #: ../Doc/library/codecs.rst:161 msgid "" @@ -196,6 +266,9 @@ msgid "" "Search function registration is not currently reversible, which may cause " "problems in some cases, such as unit testing or module reloading." msgstr "" +"l'enregistrement d'une fonction de recherche n'est actuellement pas " +"réversible, ce qui peut entraîner des problèmes dans certains cas, par " +"exemple pour les tests unitaires ou le rechargement de module." #: ../Doc/library/codecs.rst:172 msgid "" @@ -204,6 +277,11 @@ msgid "" "provides additional utility functions and classes that allow the use of a " "wider range of codecs when working with binary files:" msgstr "" +"Alors qu'il est recommandé d'utiliser la fonction native :func:`open` et le " +"module associé :mod:`io` pour travailler avec des fichiers texte encodés, le " +"présent module fournit des fonctions et classes utilitaires supplémentaires " +"qui permettent l'utilisation d'une plus large gamme de codecs si vous " +"travaillez avec des fichiers binaires :" #: ../Doc/library/codecs.rst:179 msgid "" @@ -211,6 +289,10 @@ msgid "" "`StreamReaderWriter`, providing transparent encoding/decoding. The default " "file mode is ``'r'``, meaning to open the file in read mode." msgstr "" +"Ouvre un fichier encodé en utilisant le *mode* donné et renvoie une instance " +"de :class:`StreamReaderWriter`, permettant un encodage-décodage transparent. " +"Le mode de fichier par défaut est ``'r'``, ce qui signifie que le fichier " +"est ouvert en lecture." #: ../Doc/library/codecs.rst:185 msgid "" @@ -219,6 +301,11 @@ msgid "" "may be any binary mode acceptable to the built-in :func:`open` function; the " "``'b'`` is automatically added." msgstr "" +"les fichiers encodés sous-jacents sont toujours ouverts en mode binaire. " +"Aucune conversion automatique de ``'\\n'`` n'est effectuée à la lecture ou à " +"l'écriture. L'argument *mode* peut être n'importe quel mode binaire " +"acceptable pour la fonction native :func:`open` ; le ``'b'`` est " +"automatiquement ajouté." #: ../Doc/library/codecs.rst:190 msgid "" @@ -226,6 +313,10 @@ msgid "" "encoding that encodes to and decodes from bytes is allowed, and the data " "types supported by the file methods depend on the codec used." msgstr "" +"*encoding* spécifie l'encodage à utiliser pour le fichier. Tout encodage qui " +"encode et décode des octets (type *bytes*) est autorisé et les types de " +"données pris en charge par les méthodes relatives aux fichiers dépendent du " +"codec utilisé." #: ../Doc/library/codecs.rst:194 msgid "" @@ -233,6 +324,9 @@ msgid "" "``'strict'`` which causes a :exc:`ValueError` to be raised in case an " "encoding error occurs." msgstr "" +"*errors* peut être spécifié pour définir la gestion des erreurs. La valeur " +"par défaut est ``'strict'``, ce qui lève une :exc:`ValueError` en cas " +"d'erreur lors du codage." #: ../Doc/library/codecs.rst:197 msgid "" @@ -246,6 +340,9 @@ msgid "" "provides transparent transcoding. The original file is closed when the " "wrapped version is closed." msgstr "" +"Renvoie une instance de :class:`StreamRecoder`, version encapsulée de *file* " +"qui fournit un transcodage transparent. Le fichier original est fermé quand " +"la version encapsulée est fermée." #: ../Doc/library/codecs.rst:207 msgid "" @@ -254,10 +351,17 @@ msgid "" "*file_encoding*. Bytes read from the original file are decoded according to " "*file_encoding*, and the result is encoded using *data_encoding*." msgstr "" +"Les données écrites dans un fichier encapsulant sont décodées en fonction du " +"*data_encoding* spécifié puis écrites vers le fichier original en tant que " +"*bytes* en utilisant *file_encoding*. Les octets lus dans le fichier " +"original sont décodés conformément à *file_encoding* et le résultat est " +"encodé en utilisant *data_encoding*." #: ../Doc/library/codecs.rst:213 msgid "If *file_encoding* is not given, it defaults to *data_encoding*." msgstr "" +"Si *file_encoding* n'est pas spécifié, la valeur par défaut est " +"*data_encoding*." #: ../Doc/library/codecs.rst:215 msgid "" @@ -265,6 +369,9 @@ msgid "" "``'strict'``, which causes :exc:`ValueError` to be raised in case an " "encoding error occurs." msgstr "" +"*errors* peut être spécifié pour définir la gestion des erreurs. La valeur " +"par défaut est ``'strict'``, ce qui lève une :exc:`ValueError` en cas " +"d'erreur lors du codage." #: ../Doc/library/codecs.rst:222 msgid "" @@ -273,6 +380,10 @@ msgid "" "well as any other keyword argument) is passed through to the incremental " "encoder." msgstr "" +"Utilise un encodeur incrémental pour encoder de manière itérative l'entrée " +"fournie par *iterator*. Cette fonction est un :term:`générateur " +"`. L'argument *errors* (ainsi que tout autre argument passé par " +"son nom) est transmis à l'encodeur incrémental." #: ../Doc/library/codecs.rst:227 msgid "" @@ -280,6 +391,9 @@ msgid "" "encode. Therefore it does not support bytes-to-bytes encoders such as " "``base64_codec``." msgstr "" +"Cette fonction nécessite que le codec accepte les objets texte (classe :" +"class:`str`) en entrée. Par conséquent, il ne prend pas en charge les " +"encodeurs *bytes* vers *bytes* tels que ``base64_codec``." #: ../Doc/library/codecs.rst:234 msgid "" @@ -288,6 +402,10 @@ msgid "" "well as any other keyword argument) is passed through to the incremental " "decoder." msgstr "" +"Utilise un décodeur incrémental pour décoder de manière itérative l'entrée " +"fournie par *iterator*. Cette fonction est un :term:`générateur`. L'argument " +"*errors* (ainsi que tout autre argument passé par son nom) est transmis au " +"décodeur incrémental." #: ../Doc/library/codecs.rst:239 msgid "" @@ -296,12 +414,18 @@ msgid "" "``rot_13``, although ``rot_13`` may be used equivalently with :func:" "`iterencode`." msgstr "" +"Cette fonction requiert que le codec accepte les objets :class:`bytes` en " +"entrée. Par conséquent, elle ne prend pas en charge les encodeurs de texte " +"vers texte tels que ``rot_13``, bien que ``rot_13`` puisse être utilisé de " +"manière équivalente avec :func:`iterencode`." #: ../Doc/library/codecs.rst:245 msgid "" "The module also provides the following constants which are useful for " "reading and writing to platform dependent files:" msgstr "" +"Le module fournit également les constantes suivantes qui sont utiles pour " +"lire et écrire les fichiers dépendants de la plateforme :" #: ../Doc/library/codecs.rst:260 msgid "" @@ -314,10 +438,19 @@ msgid "" "`BOM_UTF16_LE` and :const:`BOM_BE` for :const:`BOM_UTF16_BE`. The others " "represent the BOM in UTF-8 and UTF-32 encodings." msgstr "" +"Ces constantes définissent diverses séquences d'octets, les marques d'ordre " +"d'octets (BOM pour *byte order mark* en anglais) Unicode pour plusieurs " +"encodages. Elles sont utilisées dans les flux de données UTF-16 et UTF-32 " +"pour indiquer l'ordre des octets utilisé, et dans UTF-8 comme signature " +"Unicode. :const:`BOM_UTF16` vaut soit :const:`BOM_UTF16_BE`, soit :const:" +"`BOM_UTF16_LE` selon le boutisme natif de la plateforme, :const:`BOM` est un " +"alias pour :const:`BOM_UTF16`, :const:`BOM_LE` pour :const:`BOM_UTF16_LE` " +"et :const:`BOM_BE` pour :const:`BOM_UTF16_BE`. Les autres sont les marques " +"BOM dans les encodages UTF-8 et UTF-32." #: ../Doc/library/codecs.rst:274 msgid "Codec Base Classes" -msgstr "" +msgstr "Classes de base de codecs" #: ../Doc/library/codecs.rst:276 msgid "" @@ -325,6 +458,10 @@ msgid "" "interfaces for working with codec objects, and can also be used as the basis " "for custom codec implementations." msgstr "" +"Le module :mod:`codecs` définit un ensemble de classes de base qui " +"spécifient les interfaces pour travailler avec des objets codecs et qui " +"peuvent également être utilisées comme base pour des implémentations de " +"codecs personnalisés." #: ../Doc/library/codecs.rst:280 msgid "" @@ -334,10 +471,16 @@ msgid "" "decoder to implement the file protocols. Codec authors also need to define " "how the codec will handle encoding and decoding errors." msgstr "" +"Chaque codec doit définir quatre interfaces pour être utilisable comme codec " +"en Python : codeur sans état, décodeur sans état, lecteur de flux et " +"écrivain de flux. Le lecteur et l'écrivain de flux réutilisent généralement " +"l'encodeur-décodeur sans état pour implémenter les protocoles de fichiers. " +"Les auteurs de codecs doivent également définir comment le codec gère les " +"erreurs d'encodage et de décodage." #: ../Doc/library/codecs.rst:291 msgid "Error Handlers" -msgstr "" +msgstr "Gestionnaires d'erreurs" #: ../Doc/library/codecs.rst:293 msgid "" @@ -382,6 +525,8 @@ msgid "" "The following error handlers are only applicable to :term:`text encodings " "`:" msgstr "" +"Les gestionnaires d'erreurs suivants ne s'appliquent que pour les :term:" +"`encodeurs de texte ` :" #: ../Doc/library/codecs.rst:318 msgid "``'replace'``" @@ -413,6 +558,8 @@ msgid "" "Replace with backslashed escape sequences. Implemented in :func:" "`backslashreplace_errors`." msgstr "" +"Remplace avec une séquence échappée par des antislashs. Implémenté dans :" +"func:`backslashreplace_errors`." #: ../Doc/library/codecs.rst:333 msgid "``'namereplace'``" @@ -440,10 +587,12 @@ msgstr "" msgid "" "In addition, the following error handler is specific to the given codecs:" msgstr "" +"En plus, le gestionnaire d'erreurs suivant est spécifique aux codecs " +"suivants :" #: ../Doc/library/codecs.rst:349 msgid "Codecs" -msgstr "" +msgstr "Codecs" #: ../Doc/library/codecs.rst:351 msgid "``'surrogatepass'``" @@ -451,7 +600,7 @@ msgstr "``'surrogatepass'``" #: ../Doc/library/codecs.rst:351 msgid "utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le" -msgstr "" +msgstr "utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le" #: ../Doc/library/codecs.rst:351 msgid "" @@ -462,28 +611,35 @@ msgstr "" #: ../Doc/library/codecs.rst:356 msgid "The ``'surrogateescape'`` and ``'surrogatepass'`` error handlers." msgstr "" +"les gestionnaires d'erreurs ``'surrogateescape'`` et ``'surrogatepass'``." #: ../Doc/library/codecs.rst:359 msgid "" "The ``'surrogatepass'`` error handlers now works with utf-16\\* and " "utf-32\\* codecs." msgstr "" +"le gestionnaire d'erreurs ``'surrogatepass'`` fonctionne maintenant avec les " +"codecs utf-16\\* et utf-32\\*." #: ../Doc/library/codecs.rst:362 msgid "The ``'namereplace'`` error handler." -msgstr "" +msgstr "le gestionnaire d'erreurs ``'namereplace'``." #: ../Doc/library/codecs.rst:365 msgid "" "The ``'backslashreplace'`` error handlers now works with decoding and " "translating." msgstr "" +"le gestionnaire d'erreurs ``'backslashreplace'`` fonctionne maintenant pour " +"le décodage et la traduction." #: ../Doc/library/codecs.rst:369 msgid "" "The set of allowed values can be extended by registering a new named error " "handler:" msgstr "" +"L'ensemble des valeurs autorisées peut être étendu en enregistrant un " +"nouveau gestionnaire d'erreurs nommé :" #: ../Doc/library/codecs.rst:374 msgid "" diff --git a/library/compileall.po b/library/compileall.po index ba4a30a5..37763e7a 100644 --- a/library/compileall.po +++ b/library/compileall.po @@ -19,6 +19,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`" @@ -32,16 +33,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 "" @@ -49,22 +59,33 @@ msgid "" "files, traversed recursively. If no argument is given, behave as if the " "command line was ``-l ``." 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 `." #: ../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 "" @@ -74,12 +95,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 "" @@ -87,6 +115,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 "" @@ -95,6 +125,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 "" @@ -103,16 +138,23 @@ msgid "" "compileall -r 0` is equivalent to :program:`python -m compileall " " -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 -r 0` revient au même que :program:`python -m " +"compileall -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 "" @@ -120,6 +162,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 "" @@ -127,10 +172,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 "" @@ -152,12 +201,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:116 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:119 msgid "" @@ -172,6 +228,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:127 ../Doc/library/compileall.rst:173 msgid "" @@ -181,6 +241,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:133 ../Doc/library/compileall.rst:179 msgid "" @@ -199,16 +265,16 @@ msgstr "" #: ../Doc/library/compileall.rst:142 ../Doc/library/compileall.rst:199 msgid "Added the *legacy* and *optimize* parameter." -msgstr "" +msgstr "ajout des paramètres *legacy* et *optimize*." #: ../Doc/library/compileall.rst:145 msgid "Added the *workers* parameter." -msgstr "" +msgstr "ajout du paramètre *workers*." #: ../Doc/library/compileall.rst:148 ../Doc/library/compileall.rst:184 #: ../Doc/library/compileall.rst:202 msgid "*quiet* parameter was changed to a multilevel value." -msgstr "" +msgstr "le paramètre *quiet* peut prendre plusieurs niveaux." #: ../Doc/library/compileall.rst:151 ../Doc/library/compileall.rst:187 #: ../Doc/library/compileall.rst:205 @@ -216,6 +282,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:157 msgid "Compile the file with path *fullname*." @@ -229,6 +297,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:165 msgid "" @@ -251,11 +324,13 @@ 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:223 msgid "Module :mod:`py_compile`" -msgstr "" +msgstr "Module :mod:`py_compile`" #: ../Doc/library/compileall.rst:224 msgid "Byte-compile a single source file." -msgstr "" +msgstr "Compiler un fichier source unique." diff --git a/library/configparser.po b/library/configparser.po index 7eba369d..c69b3ea3 100644 --- a/library/configparser.po +++ b/library/configparser.po @@ -18,7 +18,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`" @@ -31,16 +31,24 @@ 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 "" @@ -50,21 +58,25 @@ msgstr "" #: ../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 "" @@ -74,6 +86,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 "" @@ -81,12 +98,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 "" @@ -95,10 +120,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 "" @@ -106,6 +136,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 "" @@ -117,6 +151,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 "" @@ -125,16 +169,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 "" @@ -144,6 +194,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 "" @@ -152,6 +207,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 "" @@ -159,10 +218,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 "" @@ -175,6 +237,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 "" @@ -182,6 +255,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:" @@ -189,7 +266,7 @@ msgstr "Par exemple ::" #: ../Doc/library/configparser.rst:288 msgid "Interpolation of values" -msgstr "" +msgstr "Interpolation des valeurs" #: ../Doc/library/configparser.rst:290 msgid "" @@ -197,6 +274,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 "" @@ -205,6 +285,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 "" @@ -215,6 +300,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 "" @@ -222,6 +314,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 "" @@ -232,20 +327,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 "" @@ -254,6 +359,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 "" @@ -263,6 +373,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 "" @@ -271,6 +387,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 "" @@ -280,6 +401,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 "" @@ -293,7 +419,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``," @@ -301,11 +427,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 "" @@ -313,6 +439,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 "" @@ -323,6 +453,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 "" @@ -330,10 +467,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 "" @@ -343,16 +483,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 "" @@ -361,12 +510,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`" @@ -400,7 +557,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 "" @@ -409,10 +566,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 "" @@ -420,20 +582,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 "" @@ -444,12 +616,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 "" @@ -460,10 +643,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 "" @@ -472,16 +662,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 "" @@ -492,6 +689,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 "" @@ -501,12 +705,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 "" @@ -577,6 +789,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 "" diff --git a/library/ctypes.po b/library/ctypes.po index 253f4534..79a81461 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/ctypes.rst:2 msgid ":mod:`ctypes` --- A foreign function library for Python" -msgstr "" +msgstr ":mod:`ctypes` — Bibliothèque Python d'appels à des fonctions externes" #: ../Doc/library/ctypes.rst:11 msgid "" @@ -26,10 +26,15 @@ msgid "" "compatible data types, and allows calling functions in DLLs or shared " "libraries. It can be used to wrap these libraries in pure Python." msgstr "" +":mod:`ctypes` est une bibliothèque d'appel à des fonctions externes en " +"python. Elle fournit des types de données compatibles avec le langage C et " +"permet d'appeler des fonctions depuis des DLL ou des bibliothèques " +"partagées, rendant ainsi possible l'interfaçage de ces bibliothèques avec du " +"pur code Python." #: ../Doc/library/ctypes.rst:19 msgid "ctypes tutorial" -msgstr "" +msgstr "Didacticiel de *ctypes*" #: ../Doc/library/ctypes.rst:21 msgid "" @@ -37,6 +42,10 @@ msgid "" "they actually work. Since some code samples behave differently under Linux, " "Windows, or Mac OS X, they contain doctest directives in comments." msgstr "" +"Remarque : Les exemples de code de ce didacticiel utilisent :mod:`doctest` " +"pour s'assurer de leur propre bon fonctionnement. Vu que certains de ces " +"exemples ont un comportement différent en Linux, Windows ou Mac OS X, ils " +"contiennent des directives *doctest* dans les commentaires." #: ../Doc/library/ctypes.rst:25 msgid "" @@ -45,16 +54,23 @@ msgid "" "`c_long`. So, you should not be confused if :class:`c_long` is printed if " "you would expect :class:`c_int` --- they are actually the same type." msgstr "" +"Remarque : Le type :class:`c_int` du module apparaît dans certains de ces " +"exemples. Sur les plates-formes où ``sizeof(long) == sizeof(int)``, ce type " +"est un alias de :class:`c_long`. Ne soyez donc pas surpris si :class:" +"`c_long` s'affiche là où vous vous attendiez à :class:`c_int` — il s'agit " +"bien du même type." #: ../Doc/library/ctypes.rst:33 msgid "Loading dynamic link libraries" -msgstr "" +msgstr "Chargement des DLL" #: ../Doc/library/ctypes.rst:35 msgid "" ":mod:`ctypes` exports the *cdll*, and on Windows *windll* and *oledll* " "objects, for loading dynamic link libraries." msgstr "" +":mod:`ctypes` fournit l'objet *cdll* pour charger des bibliothèques à liens " +"dynamiques (et les objets *windll* et *oledll* en Windows)." #: ../Doc/library/ctypes.rst:38 msgid "" @@ -66,12 +82,22 @@ msgid "" "error code is used to automatically raise an :class:`OSError` exception when " "the function call fails." msgstr "" +"Une bibliothèque se charge en y accédant comme un attribut de ces objets. " +"*cdll* charge les bibliothèques qui exportent des fonctions utilisant la " +"convention d'appel standard ``cdecl``, alors que les bibliothèques qui se " +"chargent avec *windll* utilisent la convention d'appel ``stdcall``. *oledll* " +"utilise elle aussi la convention ``stdcall`` et suppose que les fonctions " +"renvoient un code d'erreur :c:type:`HRESULT` de Windows. Ce code d'erreur " +"est utilisé pour lever automatiquement une :class:`OSError` quand l'appel de " +"la fonction échoue." #: ../Doc/library/ctypes.rst:46 msgid "" "Windows errors used to raise :exc:`WindowsError`, which is now an alias of :" "exc:`OSError`." msgstr "" +"En Windows, les erreurs levaient auparavant une :exc:`WindowsError`, qui est " +"maintenant un alias de :exc:`OSError`." #: ../Doc/library/ctypes.rst:51 msgid "" @@ -79,10 +105,13 @@ msgid "" "C library containing most standard C functions, and uses the cdecl calling " "convention::" msgstr "" +"Voici quelques exemples Windows. ``msvcrt`` est la bibliothèque standard C " +"de Microsoft qui contient la plupart des fonctions standards C. Elle suit la " +"convention d'appel *cdecl* ::" #: ../Doc/library/ctypes.rst:63 msgid "Windows appends the usual ``.dll`` file suffix automatically." -msgstr "" +msgstr "Windows ajoute le suffixe habituel ``.dll`` automatiquement." #: ../Doc/library/ctypes.rst:66 msgid "" @@ -91,6 +120,11 @@ msgid "" "used by Python. Where possible, use native Python functionality, or else " "import and use the ``msvcrt`` module." msgstr "" +"Accéder à la bibliothèque standard C par ``cdll.msvcrt`` utilise une version " +"obsolète de la bibliothèque qui peut avoir des problèmes de compatibilité " +"avec celle que Python utilise. Si possible, mieux vaut utiliser la " +"fonctionnalité native de Python, ou bien importer et utiliser le module " +"``msvcrt``." #: ../Doc/library/ctypes.rst:71 msgid "" @@ -100,14 +134,19 @@ msgid "" "you should load the library by creating an instance of CDLL by calling the " "constructor::" msgstr "" +"Pour charger une bibliothèque en Linux, il faut passer le nom du fichier " +"*avec* son extension. Il est donc impossible de charger une bibliothèque en " +"accédant à un attribut. Il faut utiliser la méthode :meth:`LoadLibrary` des " +"chargeurs de DLL, ou bien charger la bibliothèque en créant une instance de " +"*CDLL* en appelant son constructeur ::" #: ../Doc/library/ctypes.rst:89 msgid "Accessing functions from loaded dlls" -msgstr "" +msgstr "Accès aux fonctions des DLL chargées" #: ../Doc/library/ctypes.rst:91 msgid "Functions are accessed as attributes of dll objects::" -msgstr "" +msgstr "Les fonctions sont alors des attributs des objets DLL ::" #: ../Doc/library/ctypes.rst:106 msgid "" @@ -119,6 +158,13 @@ msgid "" "following C prototype, and a macro is used to expose one of them as " "``GetModuleHandle`` depending on whether UNICODE is defined or not::" msgstr "" +"Les DLL des systèmes *win32* comme ``kernel32`` et ``user32`` exportent " +"souvent une version ANSI et une version UNICODE d'une fonction. La version " +"UNICODE est exportée avec un ``W`` à la fin, et la version ANSI avec un " +"``A``. La fonction *win32* ``GetModuleHandle``, qui renvoie un *gestionnaire " +"de module* à partir de son nom, a le prototype C suivant (c'est une macro " +"qui décide d'exporter l'une ou l'autre à travers ``GetModuleHandle``, selon " +"qu'UNICODE est définie ou non) ::" #: ../Doc/library/ctypes.rst:119 msgid "" @@ -126,6 +172,10 @@ msgid "" "version you need by specifying ``GetModuleHandleA`` or ``GetModuleHandleW`` " "explicitly, and then call it with bytes or string objects respectively." msgstr "" +"*windll* n'en choisit pas une par magie, il faut accéder à la bonne en " +"écrivant explicitement ``GetModuleHandleA`` ou ``GetModuleHandleW`` et en " +"les appelant ensuite avec des objets octets ou avec des chaînes de " +"caractères, respectivement." #: ../Doc/library/ctypes.rst:123 msgid "" @@ -133,6 +183,9 @@ msgid "" "identifiers, like ``\"??2@YAPAXI@Z\"``. In this case you have to use :func:" "`getattr` to retrieve the function::" msgstr "" +"Les DLL exportent parfois des fonctions dont les noms ne sont pas des " +"identifiants Python valides, comme ``\"??2@YAPAXI@Z\"``. Dans ce cas, il " +"faut utiliser :func:`getattr` pour accéder à la fonction ::" #: ../Doc/library/ctypes.rst:131 msgid "" @@ -140,10 +193,13 @@ msgid "" "functions can be accessed by indexing the dll object with the ordinal " "number::" msgstr "" +"Sous Windows, certaines DLL exportent des fonctions à travers un indice " +"plutôt qu'à travers un nom. On accède à une fonction en indiçant l'objet DLL " +"avec son index ::" #: ../Doc/library/ctypes.rst:148 msgid "Calling functions" -msgstr "" +msgstr "Appel de fonctions" #: ../Doc/library/ctypes.rst:150 msgid "" @@ -152,6 +208,10 @@ msgid "" "Unix epoch, and the ``GetModuleHandleA()`` function, which returns a win32 " "module handle." msgstr "" +"Ces fonctions s'appellent comme n'importe quel appelable Python. Cet exemple " +"utilise la fonction ``time()``, qui renvoie le temps en secondes du système " +"depuis l'*epoch* Unix, et la fonction ``GetModuleHandleA()``, qui renvoie un " +"gestionnaire de module *win32*." #: ../Doc/library/ctypes.rst:155 msgid "" @@ -179,6 +239,8 @@ msgid "" "To find out the correct calling convention you have to look into the C " "header file or the documentation for the function you want to call." msgstr "" +"Pour déterminer la convention d'appel, il faut consulter l'en-tête C ou la " +"documentation de la fonction à appeler." #: ../Doc/library/ctypes.rst:197 msgid "" @@ -186,6 +248,11 @@ msgid "" "prevent crashes from general protection faults when functions are called " "with invalid argument values::" msgstr "" +"En Windows, :mod:`ctypes` tire profit de la gestion structurée des " +"exceptions (*structured exception handling*) *win32* pour empêcher les " +"plantages dus à des interruptions, afin de préserver la protection globale " +"(*general protection faults*) du système, lorsque des fonctions sont " +"appelées avec un nombre incorrect d'arguments ::" #: ../Doc/library/ctypes.rst:207 msgid "" @@ -194,6 +261,11 @@ msgid "" "debugging crashes (e.g. from segmentation faults produced by erroneous C " "library calls)." msgstr "" +"Cependant, il y a suffisamment de façons de faire planter Python avec :mod:" +"`ctypes`, donc il faut être prudent dans tous les cas. Le module :mod:" +"`faulthandler` est pratique pour déboguer les plantages (p. ex. dus à des " +"erreurs de segmentation produites par des appels erronés à la bibliothèque " +"C)." #: ../Doc/library/ctypes.rst:212 msgid "" @@ -205,20 +277,33 @@ msgid "" "platforms default C :c:type:`int` type, their value is masked to fit into " "the C type." msgstr "" +"``None``, les entiers, les objets octets et les chaînes de caractères " +"(Unicode) sont les seuls types natifs de Python qui peuvent être directement " +"passés en paramètres de ces appels de fonctions. ``None`` est passé comme le " +"pointeur C ``NULL``, les objets octets et les chaînes de caractères sont " +"passés comme un pointeur sur le bloc mémoire qui contient la donnée (:c:type:" +"`char *` ou :c:type:`wchar_t *`). Les entiers Python sont passés comme le " +"type C :c:type:`int` par défaut de la plate-forme, un masque étant appliqué " +"pour qu'ils tiennent dans le type C." #: ../Doc/library/ctypes.rst:219 msgid "" "Before we move on calling functions with other parameter types, we have to " "learn more about :mod:`ctypes` data types." msgstr "" +"Avant de poursuivre sur l'appel de fonctions avec d'autres types de " +"paramètres, apprenons-en un peu plus sur les types de données de :mod:" +"`ctypes`." #: ../Doc/library/ctypes.rst:226 ../Doc/library/ctypes.rst:2043 msgid "Fundamental data types" -msgstr "" +msgstr "Types de données de base" #: ../Doc/library/ctypes.rst:228 msgid ":mod:`ctypes` defines a number of primitive C compatible data types:" msgstr "" +":mod:`ctypes` définit plusieurs types de donnée de base compatibles avec le " +"C :" #: ../Doc/library/ctypes.rst:231 msgid "ctypes type" @@ -254,7 +339,7 @@ msgstr ":c:type:`char`" #: ../Doc/library/ctypes.rst:235 msgid "1-character bytes object" -msgstr "" +msgstr "objet octet (*bytes*) de 1 caractère" #: ../Doc/library/ctypes.rst:237 msgid ":class:`c_wchar`" @@ -266,7 +351,7 @@ msgstr ":c:type:`wchar_t`" #: ../Doc/library/ctypes.rst:237 msgid "1-character string" -msgstr "" +msgstr "chaîne de caractères (*string*) de longueur 1" #: ../Doc/library/ctypes.rst:239 msgid ":class:`c_byte`" @@ -351,7 +436,7 @@ msgstr ":class:`c_ulonglong`" #: ../Doc/library/ctypes.rst:257 msgid ":c:type:`unsigned __int64` or :c:type:`unsigned long long`" -msgstr "" +msgstr ":c:type:`unsigned __int64` ou :c:type:`unsigned long long`" #: ../Doc/library/ctypes.rst:260 msgid ":class:`c_size_t`" @@ -436,18 +521,22 @@ msgstr "``int`` ou ``None``" #: ../Doc/library/ctypes.rst:279 msgid "The constructor accepts any object with a truth value." -msgstr "" +msgstr "Le constructeur accepte n'importe quel objet convertible en booléen." #: ../Doc/library/ctypes.rst:281 msgid "" "All these types can be created by calling them with an optional initializer " "of the correct type and value::" msgstr "" +"Il est possible de créer chacun de ces types en les appelant avec une valeur " +"d'initialisation du bon type et avec une valeur cohérente ::" #: ../Doc/library/ctypes.rst:292 msgid "" "Since these types are mutable, their value can also be changed afterwards::" msgstr "" +"Ces types étant des muables, leur valeur peut aussi être modifiée après " +"coup ::" #: ../Doc/library/ctypes.rst:304 msgid "" @@ -456,6 +545,10 @@ msgid "" "point to, *not the contents* of the memory block (of course not, because " "Python bytes objects are immutable)::" msgstr "" +"Affecter une nouvelle valeur à une instance de type pointeur — :class:" +"`c_char_p`, :class:`c_wchar_p` et :class:`c_void_p` — change *la zone " +"mémoire* sur laquelle elle pointe, et non *le contenu* de ce bloc mémoire " +"(c'est logique parce que les objets octets sont immuables en Python) ::" #: ../Doc/library/ctypes.rst:320 msgid "" @@ -466,6 +559,12 @@ msgid "" "``raw`` property; if you want to access it as NUL terminated string, use the " "``value`` property::" msgstr "" +"Cependant, prenez garde à ne pas en passer à des fonctions qui prennent en " +"paramètre des pointeurs sur de la mémoire modifiable. S'il vous faut de la " +"mémoire modifiable, *ctypes* fournit la fonction :func:" +"`create_string_buffer` qui en crée de plusieurs façons. L'attribut ``raw`` " +"permet d'accéder à (ou de modifier) un bloc mémoire ; l'attribut ``value`` " +"permet d'y accéder comme à une chaîne de caractères terminée par NUL ::" #: ../Doc/library/ctypes.rst:344 msgid "" @@ -475,10 +574,15 @@ msgid "" "memory block containing unicode characters of the C type :c:type:`wchar_t` " "use the :func:`create_unicode_buffer` function." msgstr "" +"La fonction :func:`create_string_buffer` remplace les fonctions :func:" +"`c_buffer` (qui en reste un alias) et :func:`c_string` des versions " +"antérieures de *ctypes*. La fonction :func:`create_unicode_buffer` crée un " +"bloc mémoire modifiable contenant des caractères Unicode du type C :c:type:" +"`wchar_t`." #: ../Doc/library/ctypes.rst:354 msgid "Calling functions, continued" -msgstr "" +msgstr "Appel de fonctions, suite" #: ../Doc/library/ctypes.rst:356 msgid "" @@ -486,6 +590,9 @@ msgid "" "`sys.stdout`, so these examples will only work at the console prompt, not " "from within *IDLE* or *PythonWin*::" msgstr "" +"*printf* utilise la vraie sortie standard, et non :data:`sys.stdout` ; les " +"exemples suivants ne fonctionnent donc que dans une invite de commande et " +"non depuis *IDLE* or *PythonWin* ::" #: ../Doc/library/ctypes.rst:376 msgid "" @@ -493,10 +600,14 @@ msgid "" "bytes objects have to be wrapped in their corresponding :mod:`ctypes` type, " "so that they can be converted to the required C data type::" msgstr "" +"Comme mentionné plus haut, tous les types Python (les entiers, les chaînes " +"de caractères et les objets octet exceptés) doivent être encapsulés dans " +"leur type :mod:`ctypes` correspondant pour pouvoir être convertis dans le " +"type C requis ::" #: ../Doc/library/ctypes.rst:389 msgid "Calling functions with your own custom data types" -msgstr "" +msgstr "Appel de fonctions avec des types de données personnalisés" #: ../Doc/library/ctypes.rst:391 msgid "" @@ -505,6 +616,11 @@ msgid "" "an :attr:`_as_parameter_` attribute and uses this as the function argument. " "Of course, it must be one of integer, string, or bytes::" msgstr "" +"Il est possible de personnaliser la conversion des arguments effectuée par :" +"mod:`ctypes` pour permettre de passer en argument des instances de vos " +"propres classes. :mod:`ctypes` recherche un attribut :attr:`_as_parameter_` " +"et le prend comme argument à la fonction. Bien entendu, cet attribut doit " +"être un entier, une chaîne de caractères ou des octets ::" #: ../Doc/library/ctypes.rst:406 msgid "" @@ -512,16 +628,21 @@ msgid "" "instance variable, you could define a :class:`property` which makes the " "attribute available on request." msgstr "" +"Si vous ne souhaitez pas stocker les données de l'instance dans la variable :" +"attr:`_as_parameter_` de l'instance, vous pouvez toujours définir une :class:" +"`propriété ` qui rend cet attribut disponible sur demande." #: ../Doc/library/ctypes.rst:414 msgid "Specifying the required argument types (function prototypes)" -msgstr "" +msgstr "Définition du type des arguments nécessaires (prototypes de fonction)" #: ../Doc/library/ctypes.rst:416 msgid "" "It is possible to specify the required argument types of functions exported " "from DLLs by setting the :attr:`argtypes` attribute." msgstr "" +"Il est possible de définir le type des arguments demandés par une fonction " +"exportée depuis une DLL en définissant son attribut :attr:`argtypes`." #: ../Doc/library/ctypes.rst:419 msgid "" @@ -530,6 +651,11 @@ msgid "" "different types of parameters depending on the format string, on the other " "hand this is quite handy to experiment with this feature)::" msgstr "" +":attr:`argtypes` doit être une séquence de types de données C (la fonction " +"``printf`` n'est probablement pas le meilleur exemple pour l'illustrer, car " +"elle accepte un nombre variable d'arguments de types eux aussi variables, " +"selon la chaîne de formatage ; cela dit, elle se révèle pratique pour tester " +"cette fonctionnalité) ::" #: ../Doc/library/ctypes.rst:430 msgid "" @@ -537,6 +663,9 @@ msgid "" "prototype for a C function), and tries to convert the arguments to valid " "types::" msgstr "" +"Définir un format empêche de passer des arguments de type incompatible " +"(comme le fait le prototype d'une fonction C) et tente de convertir les " +"arguments en des types valides ::" #: ../Doc/library/ctypes.rst:442 msgid "" @@ -550,10 +679,19 @@ msgid "" "the result should be an integer, string, bytes, a :mod:`ctypes` instance, or " "an object with an :attr:`_as_parameter_` attribute." msgstr "" +"Pour appeler une fonction avec votre propre classe définie dans la séquence :" +"attr:`argtypes`, il est nécessaire d'implémenter une méthode de classe :meth:" +"`from_param`. La méthode de classe :meth:`from_param` récupère l'objet " +"Python passé à la fonction et doit faire une vérification de type ou tout ce " +"qui est nécessaire pour s'assurer que l'objet est valide, puis renvoie " +"l'objet lui-même, son attribut :attr:`_as_parameter_`, ou tout ce que vous " +"voulez passer comme argument fonction C dans ce cas. Encore une fois, il " +"convient que le résultat soit un entier, une chaîne, des octets, une " +"instance :mod:`ctypes` ou un objet avec un attribut :attr:`_as_parameter_`." #: ../Doc/library/ctypes.rst:456 msgid "Return types" -msgstr "" +msgstr "Types de sortie" #: ../Doc/library/ctypes.rst:458 msgid "" @@ -561,12 +699,18 @@ msgid "" "return types can be specified by setting the :attr:`restype` attribute of " "the function object." msgstr "" +"Le module suppose que toutes les fonctions renvoient par défaut un :c:type:" +"`int` C. Pour préciser un autre type de sortie, il faut définir l'attribut :" +"attr:`restype` de l'objet encapsulant la fonction." #: ../Doc/library/ctypes.rst:462 msgid "" "Here is a more advanced example, it uses the ``strchr`` function, which " "expects a string pointer and a char, and returns a pointer to a string::" msgstr "" +"Voici un exemple plus poussé. Celui-ci utilise la fonction ``strchr``, qui " +"prend en paramètres un pointeur vers une chaîne et un caractère. Elle " +"renvoie un pointeur sur une chaîne de caractères ::" #: ../Doc/library/ctypes.rst:475 msgid "" @@ -574,6 +718,9 @@ msgid "" "`argtypes` attribute, and the second argument will be converted from a " "single character Python bytes object into a C char::" msgstr "" +"Pour économiser l'appel ``ord(\"x\")``, il est possible de définir " +"l'attribut :attr:`argtypes` ; le second argument, un objet octet à un seul " +"caractère, sera automatiquement converti en un caractère C ::" #: ../Doc/library/ctypes.rst:493 msgid "" @@ -584,6 +731,12 @@ msgid "" "function call. This is useful to check for error return values and " "automatically raise an exception::" msgstr "" +"Si la fonction à interfacer renvoie un entier, l'attribut :attr:`restype` " +"peut aussi être un appelable (une fonction ou une classe par exemple). Dans " +"ce cas, l'appelable est appelé avec l'entier renvoyé par la fonction et le " +"résultat de cet appel sera le résultat final de l'appel à la fonction. C'est " +"pratique pour vérifier les codes d'erreurs des valeurs de retour et lever " +"automatiquement des exceptions ::" #: ../Doc/library/ctypes.rst:516 msgid "" @@ -592,16 +745,24 @@ msgid "" "exception. ``WinError`` takes an optional error code parameter, if no one is " "used, it calls :func:`GetLastError` to retrieve it." msgstr "" +"``WinError`` appelle l'API Windows ``FormatMessage()`` pour obtenir une " +"représentation de la chaîne de caractères qui correspond au code d'erreur, " +"et *renvoie* une exception. ``WinError`` prend en paramètre — optionnel — le " +"code d'erreur. Si celui-ci n'est pas passé, elle appelle :func:" +"`GetLastError` pour le récupérer." #: ../Doc/library/ctypes.rst:521 msgid "" "Please note that a much more powerful error checking mechanism is available " "through the :attr:`errcheck` attribute; see the reference manual for details." msgstr "" +"Notez cependant que l'attribut :attr:`errcheck` permet de vérifier bien plus " +"efficacement les erreurs ; référez-vous au manuel de référence pour plus de " +"précisions." #: ../Doc/library/ctypes.rst:528 msgid "Passing pointers (or: passing parameters by reference)" -msgstr "" +msgstr "Passage de pointeurs (passage de paramètres par référence)" #: ../Doc/library/ctypes.rst:530 msgid "" @@ -610,6 +771,10 @@ msgid "" "large to be passed by value. This is also known as *passing parameters by " "reference*." msgstr "" +"Il arrive qu'une fonction C du code à interfacer requière un *pointeur* vers " +"un certain type de donnée en paramètre, typiquement pour écrire à l'endroit " +"correspondant ou si la donnée est trop grande pour pouvoir être passée par " +"valeur. Ce mécanisme est appelé *passage de paramètres par référence*." #: ../Doc/library/ctypes.rst:534 msgid "" @@ -619,10 +784,15 @@ msgid "" "constructs a real pointer object, so it is faster to use :func:`byref` if " "you don't need the pointer object in Python itself::" msgstr "" +":mod:`ctypes` contient la fonction :func:`byref` qui permet de passer des " +"paramètres par référence. La fonction :func:`pointer` a la même utilité, " +"mais fait plus de travail car :func:`pointer` construit un véritable objet " +"pointeur. Ainsi, si vous n'avez pas besoin de cet objet dans votre code " +"Python, utiliser :func:`byref` est plus performant ::" #: ../Doc/library/ctypes.rst:556 msgid "Structures and unions" -msgstr "" +msgstr "Structures et unions" #: ../Doc/library/ctypes.rst:558 msgid "" @@ -631,12 +801,19 @@ msgid "" "subclass must define a :attr:`_fields_` attribute. :attr:`_fields_` must be " "a list of *2-tuples*, containing a *field name* and a *field type*." msgstr "" +"Les structures et les unions doivent hériter des classes de base :class:" +"`Structure` et :class:`Union` définies dans le module :mod:`ctypes`. Chaque " +"sous-classe doit définir un attribut :attr:`_fields_`. :attr:`_fields_` doit " +"être une liste de *paires*, contenant un *nom de champ* et un *type de " +"champ*." #: ../Doc/library/ctypes.rst:563 msgid "" "The field type must be a :mod:`ctypes` type like :class:`c_int`, or any " "other derived :mod:`ctypes` type: structure, union, array, pointer." msgstr "" +"Le type de champ doit être un type :mod:`ctypes` comme :class:`c_int` ou un " +"type :mod:`ctypes` dérivé : structure, union, tableau ou pointeur." #: ../Doc/library/ctypes.rst:566 msgid "" @@ -644,30 +821,43 @@ msgid "" "named *x* and *y*, and also shows how to initialize a structure in the " "constructor::" msgstr "" +"Voici un exemple simple : une structure POINT qui contient deux entiers *x* " +"et *y* et qui montre également comment instancier une structure avec le " +"constructeur ::" #: ../Doc/library/ctypes.rst:586 msgid "" "You can, however, build much more complicated structures. A structure can " "itself contain other structures by using a structure as a field type." msgstr "" +"Il est bien entendu possible de créer des structures plus complexes. Une " +"structure peut elle-même contenir d'autres structures en prenant une " +"structure comme type de champ." #: ../Doc/library/ctypes.rst:589 msgid "" "Here is a RECT structure which contains two POINTs named *upperleft* and " "*lowerright*::" msgstr "" +"Voici une structure RECT qui contient deux POINTs *upperleft* et " +"*lowerright* ::" #: ../Doc/library/ctypes.rst:603 msgid "" "Nested structures can also be initialized in the constructor in several " "ways::" msgstr "" +"Une structure encapsulée peut être instanciée par un constructeur de " +"plusieurs façons ::" #: ../Doc/library/ctypes.rst:608 msgid "" "Field :term:`descriptor`\\s can be retrieved from the *class*, they are " "useful for debugging because they can provide useful information::" msgstr "" +"Il est possible de récupérer les :term:`descripteurs ` des " +"champs depuis la *classe*. Ils sont importants pour déboguer car ils " +"contiennent des informations utiles ::" #: ../Doc/library/ctypes.rst:622 msgid "" @@ -676,10 +866,15 @@ msgid "" "guaranteed by the library to work in the general case. Unions and " "structures with bit-fields should always be passed to functions by pointer." msgstr "" +":mod:`ctypes` ne prend pas en charge le passage par valeur des unions ou des " +"structures avec des champs de bits. Bien que cela puisse fonctionner sur des " +"architectures 32 bits avec un jeu d'instructions x86, ce n'est pas garanti " +"par la bibliothèque en général. Les unions et les structures avec des champs " +"de bits doivent toujours être passées par pointeur." #: ../Doc/library/ctypes.rst:628 msgid "Structure/union alignment and byte order" -msgstr "" +msgstr "Alignement et boutisme des structures et des unions" #: ../Doc/library/ctypes.rst:630 msgid "" @@ -698,10 +893,15 @@ msgid "" "`BigEndianUnion`, and :class:`LittleEndianUnion` base classes. These " "classes cannot contain pointer fields." msgstr "" +":mod:`ctypes` suit le boutisme natif pour les *Structure* et les *Union*. " +"Pour construire des structures avec un boutisme différent, utilisez les " +"classes de base :class:`BigEndianStructure`, :class:" +"`LittleEndianStructure`, :class:`BigEndianUnion` ou :class:" +"`LittleEndianUnion`. Ces classes ne peuvent pas avoir de champ pointeur." #: ../Doc/library/ctypes.rst:646 msgid "Bit fields in structures and unions" -msgstr "" +msgstr "Champs de bits dans les structures et les unions" #: ../Doc/library/ctypes.rst:648 msgid "" @@ -709,64 +909,81 @@ msgid "" "fields are only possible for integer fields, the bit width is specified as " "the third item in the :attr:`_fields_` tuples::" msgstr "" +"Il est possible de créer des structures et des unions contenant des champs " +"de bits. Seuls les entiers peuvent être des champs de bits, le nombre de " +"bits est défini dans le troisième champ du *n*-uplet :attr:`_fields_` ::" #: ../Doc/library/ctypes.rst:666 msgid "Arrays" -msgstr "" +msgstr "Tableaux" #: ../Doc/library/ctypes.rst:668 msgid "" "Arrays are sequences, containing a fixed number of instances of the same " "type." msgstr "" +"Les tableaux sont des séquences qui contiennent un nombre fixe d'instances " +"du même type." #: ../Doc/library/ctypes.rst:670 msgid "" "The recommended way to create array types is by multiplying a data type with " "a positive integer::" msgstr "" +"La meilleure façon de créer des tableaux consiste à multiplier le type de " +"donnée par un entier positif ::" #: ../Doc/library/ctypes.rst:675 msgid "" "Here is an example of a somewhat artificial data type, a structure " "containing 4 POINTs among other stuff::" msgstr "" +"Voici un exemple — un peu artificiel — d'une structure contenant, entre " +"autres, 4 POINTs ::" #: ../Doc/library/ctypes.rst:691 msgid "Instances are created in the usual way, by calling the class::" -msgstr "" +msgstr "Comme d'habitude, on crée les instances en appelant la classe ::" #: ../Doc/library/ctypes.rst:697 msgid "" "The above code print a series of ``0 0`` lines, because the array contents " "is initialized to zeros." msgstr "" +"Le code précédent affiche une suite de ``0 0`` car le contenu du tableau est " +"initialisé avec des zéros." #: ../Doc/library/ctypes.rst:700 msgid "Initializers of the correct type can also be specified::" -msgstr "" +msgstr "Des valeurs d'initialisation du bon type peuvent être passées ::" #: ../Doc/library/ctypes.rst:716 msgid "Pointers" -msgstr "" +msgstr "Pointeurs" #: ../Doc/library/ctypes.rst:718 msgid "" "Pointer instances are created by calling the :func:`pointer` function on a :" "mod:`ctypes` type::" msgstr "" +"On crée une instance de pointeur en appelant la fonction :func:`pointer` sur " +"un type :mod:`ctypes` ::" #: ../Doc/library/ctypes.rst:726 msgid "" "Pointer instances have a :attr:`~_Pointer.contents` attribute which returns " "the object to which the pointer points, the ``i`` object above::" msgstr "" +"Les instances de pointeurs ont un attribut :attr:`~_Pointer.contents` qui " +"renvoie l'objet pointé (l'objet ``i`` ci-dessus) ::" #: ../Doc/library/ctypes.rst:733 msgid "" "Note that :mod:`ctypes` does not have OOR (original object return), it " "constructs a new, equivalent object each time you retrieve an attribute::" msgstr "" +"Attention, :mod:`ctypes` ne fait pas de ROI (retour de l'objet initial). Il " +"crée un nouvel objet à chaque fois qu'on accède à un attribut ::" #: ../Doc/library/ctypes.rst:742 msgid "" @@ -774,14 +991,17 @@ msgid "" "attribute would cause the pointer to point to the memory location where this " "is stored::" msgstr "" +"Affecter une autre instance de :class:`c_int` à l'attribut *contents* du " +"pointeur fait pointer le pointeur vers l'adresse mémoire de cette nouvelle " +"instance ::" #: ../Doc/library/ctypes.rst:754 msgid "Pointer instances can also be indexed with integers::" -msgstr "" +msgstr "Il est possible d'indexer les pointeurs par des entiers ::" #: ../Doc/library/ctypes.rst:760 msgid "Assigning to an integer index changes the pointed to value::" -msgstr "" +msgstr "Affecter à travers un indice change la valeur pointée ::" #: ../Doc/library/ctypes.rst:769 msgid "" @@ -791,6 +1011,11 @@ msgid "" "a C function, and you *know* that the pointer actually points to an array " "instead of a single item." msgstr "" +"Si vous êtes sûr de vous, vous pouvez utiliser d'autres valeurs que 0, comme " +"en C : il est ainsi possible de modifier une zone mémoire de votre choix. De " +"manière générale cette fonctionnalité ne s'utilise que sur un pointeur " +"renvoyé par une fonction C, pointeur que vous *savez* pointer vers un " +"tableau et non sur un seul élément." #: ../Doc/library/ctypes.rst:775 msgid "" @@ -799,22 +1024,31 @@ msgid "" "the :func:`POINTER` function, which accepts any :mod:`ctypes` type, and " "returns a new type::" msgstr "" +"Sous le capot, la fonction :func:`pointer` fait plus que simplement créer " +"une instance de pointeur ; elle doit d'abord créer un type « pointeur " +"sur… ». Cela s'effectue avec la fonction :func:`POINTER`, qui prend en " +"paramètre n'importe quel type :mod:`ctypes` et renvoie un nouveau type ::" #: ../Doc/library/ctypes.rst:791 msgid "" "Calling the pointer type without an argument creates a ``NULL`` pointer. " "``NULL`` pointers have a ``False`` boolean value::" msgstr "" +"Appeler le pointeur sur type sans arguments crée un pointeur ``NULL``. Les " +"pointeurs ``NULL`` s'évaluent à ``False`` ::" #: ../Doc/library/ctypes.rst:799 msgid "" ":mod:`ctypes` checks for ``NULL`` when dereferencing pointers (but " "dereferencing invalid non-\\ ``NULL`` pointers would crash Python)::" msgstr "" +":mod:`ctypes` vérifie que le pointeur n'est pas ``NULL`` quand il en " +"déréférence un (mais déréférencer des pointeurs non ``NULL`` invalides fait " +"planter Python) ::" #: ../Doc/library/ctypes.rst:818 msgid "Type conversions" -msgstr "" +msgstr "Conversions de type" #: ../Doc/library/ctypes.rst:820 msgid "" @@ -826,6 +1060,14 @@ msgid "" "instances instead of pointer types. So, for ``POINTER(c_int)``, ctypes " "accepts an array of c_int::" msgstr "" +"En général, *ctypes* respecte un typage fort. Cela signifie que si un " +"``POINTER(c_int)`` est présent dans la liste des :attr:`argtypes` d'une " +"fonction ou est le type d'un attribut membre dans une définition de " +"structure, seules des instances de ce type seront valides. Cette règle " +"comporte quelques exceptions pour lesquelles *ctypes* accepte d'autres " +"objets. Par exemple il est possible de passer des instances de tableau à " +"place de pointeurs, s'ils sont compatibles. Dans le cas de " +"``POINTER(c_int)``, *ctypes* accepte des tableaux de *c_int* ::" #: ../Doc/library/ctypes.rst:841 msgid "" @@ -834,10 +1076,17 @@ msgid "" "pointed type (``c_int`` in this case) can be passed to the function. ctypes " "will apply the required :func:`byref` conversion in this case automatically." msgstr "" +"De plus, si un paramètre de fonction est déclaré explicitement de type " +"pointeur (comme ``POINTER(c_int)``) dans les :attr:`argtypes`, il est aussi " +"possible de passer un objet du type pointé — ici, ``c_int`` — à la fonction. " +"*ctypes* appelle alors automatiquement la fonction de conversion :func:" +"`byref`." #: ../Doc/library/ctypes.rst:846 msgid "To set a POINTER type field to ``NULL``, you can assign ``None``::" msgstr "" +"Pour mettre un champ de type *POINTER* à ``NULL``, il faut lui affecter " +"``None`` ::" #: ../Doc/library/ctypes.rst:853 msgid "" @@ -847,10 +1096,16 @@ msgid "" "accepts ``POINTER(c_int)`` pointers or :class:`c_int` arrays for its " "``values`` field, but not instances of other types::" msgstr "" +"Parfois il faut gérer des incompatibilités entre les types. En C, il est " +"possible de convertir un type en un autre. :mod:`ctypes` fournit la " +"fonction :func:`cast` qui permet la même chose. La structure ``Bar`` ci-" +"dessus accepte des pointeurs ``POINTER(c_int)`` ou des tableaux de :class:" +"`c_int` comme valeur pour le champ ``values``, mais pas des instances " +"d'autres types ::" #: ../Doc/library/ctypes.rst:865 msgid "For these cases, the :func:`cast` function is handy." -msgstr "" +msgstr "C'est là que la fonction :func:`cast` intervient." #: ../Doc/library/ctypes.rst:867 msgid "" @@ -860,16 +1115,24 @@ msgid "" "ctypes pointer type. It returns an instance of the second argument, which " "references the same memory block as the first argument::" msgstr "" +"La fonction :func:`cast` permet de convertir une instance de *ctypes* en un " +"pointeur vers un type de données *ctypes* différent. :func:`cast` prend deux " +"paramètres : un objet *ctypes* qui est, ou qui peut être converti en, un " +"certain pointeur et un type pointeur de *ctypes*. Elle renvoie une instance " +"du second argument, qui pointe sur le même bloc mémoire que le premier " +"argument ::" #: ../Doc/library/ctypes.rst:878 msgid "" "So, :func:`cast` can be used to assign to the ``values`` field of ``Bar`` " "the structure::" msgstr "" +"Ainsi, la fonction :func:`cast` permet de remplir le champ ``values`` de la " +"structure ``Bar`` ::" #: ../Doc/library/ctypes.rst:891 msgid "Incomplete Types" -msgstr "" +msgstr "Types incomplets" #: ../Doc/library/ctypes.rst:893 msgid "" @@ -877,12 +1140,16 @@ msgid "" "yet specified. In C, they are specified by forward declarations, which are " "defined later::" msgstr "" +"Un *type incomplet* est une structure, une union ou un tableau dont les " +"membres ne sont pas encore définis. C'est l'équivalent d'une déclaration " +"avancée en C, où la définition est fournie plus tard ::" #: ../Doc/library/ctypes.rst:904 msgid "" "The straightforward translation into ctypes code would be this, but it does " "not work::" msgstr "" +"Une traduction naïve, mais invalide, en code *ctypes* ressemblerait à ça ::" #: ../Doc/library/ctypes.rst:917 msgid "" @@ -890,6 +1157,10 @@ msgid "" "itself. In :mod:`ctypes`, we can define the ``cell`` class and set the :attr:" "`_fields_` attribute later, after the class statement::" msgstr "" +"Cela ne fonctionne pas parce que la nouvelle ``class cell`` n'est pas " +"accessible dans la définition de la classe elle-même. Dans le module :mod:" +"`ctypes`, on définit la classe ``cell`` et on définira les :attr:`_fields_` " +"plus tard, après avoir défini la classe ::" #: ../Doc/library/ctypes.rst:929 msgid "" @@ -899,13 +1170,15 @@ msgstr "" #: ../Doc/library/ctypes.rst:950 msgid "Callback functions" -msgstr "" +msgstr "Fonctions de rappel" #: ../Doc/library/ctypes.rst:952 msgid "" ":mod:`ctypes` allows creating C callable function pointers from Python " "callables. These are sometimes called *callback functions*." msgstr "" +":mod:`ctypes` permet de créer des pointeurs de fonctions appelables par des " +"appelables Python. On les appelle parfois *fonctions de rappel*." #: ../Doc/library/ctypes.rst:955 msgid "" @@ -913,6 +1186,9 @@ msgid "" "the calling convention, the return type, and the number and types of " "arguments this function will receive." msgstr "" +"Tout d'abord, il faut créer une classe pour la fonction de rappel. La classe " +"connaît la convention d'appel, le type de retour ainsi que le nombre et le " +"type de paramètres que la fonction accepte." #: ../Doc/library/ctypes.rst:959 msgid "" @@ -921,6 +1197,10 @@ msgid "" "factory function creates types for callback functions using the ``stdcall`` " "calling convention." msgstr "" +"La fabrique :func:`CFUNCTYPE` crée un type pour les fonctions de rappel qui " +"suivent la convention d'appel ``cdecl``. En Windows, c'est la fabrique :func:" +"`WINFUNCTYPE` qui crée un type pour les fonctions de rappel qui suivent la " +"convention d'appel ``stdcall``." #: ../Doc/library/ctypes.rst:964 msgid "" @@ -928,6 +1208,8 @@ msgid "" "argument, and the callback functions expected argument types as the " "remaining arguments." msgstr "" +"Le premier paramètre de ces deux fonctions est le type de retour, et les " +"suivants sont les types des arguments qu'attend la fonction de rappel." #: ../Doc/library/ctypes.rst:968 msgid "" @@ -935,6 +1217,10 @@ msgid "" "`qsort` function, that is used to sort items with the help of a callback " "function. :c:func:`qsort` will be used to sort an array of integers::" msgstr "" +"Intéressons-nous à un exemple tiré de la bibliothèque standard C : la " +"fonction :c:func:`qsort`. Celle-ci permet de classer des éléments par " +"l'emploi d'une fonction de rappel. Nous allons utiliser :c:func:`qsort` pour " +"ordonner un tableau d'entiers ::" #: ../Doc/library/ctypes.rst:978 msgid "" @@ -945,30 +1231,43 @@ msgid "" "is smaller than the second, a zero if they are equal, and a positive integer " "otherwise." msgstr "" +":func:`qsort` doit être appelée avec un pointeur vers la donnée à ordonner, " +"le nombre d'éléments dans la donnée, la taille d'un élément et un pointeur " +"vers le comparateur, c.-à-d. la fonction de rappel. Cette fonction sera " +"invoquée avec deux pointeurs sur deux éléments et doit renvoyer un entier " +"négatif si le premier élément est plus petit que le second, zéro s'ils sont " +"égaux et un entier positif sinon." #: ../Doc/library/ctypes.rst:984 msgid "" "So our callback function receives pointers to integers, and must return an " "integer. First we create the ``type`` for the callback function::" msgstr "" +"Ainsi notre fonction de rappel reçoit des pointeurs vers des entiers et doit " +"renvoyer un entier. Créons d'abord le ``type`` pour la fonction de rappel ::" #: ../Doc/library/ctypes.rst:990 msgid "" "To get started, here is a simple callback that shows the values it gets " "passed::" msgstr "" +"Pour commencer, voici une fonction de rappel simple qui affiche les valeurs " +"qu'on lui passe ::" #: ../Doc/library/ctypes.rst:1000 msgid "The result::" -msgstr "" +msgstr "Résultat ::" #: ../Doc/library/ctypes.rst:1010 msgid "Now we can actually compare the two items and return a useful result::" msgstr "" +"À présent, comparons pour de vrai les deux entiers et renvoyons un résultat " +"utile ::" #: ../Doc/library/ctypes.rst:1025 msgid "As we can easily check, our array is sorted now::" msgstr "" +"Et comme il est facile de le voir, notre tableau est désormais classé ::" #: ../Doc/library/ctypes.rst:1034 msgid "" @@ -976,6 +1275,10 @@ msgid "" "are used from C code. :mod:`ctypes` doesn't, and if you don't, they may be " "garbage collected, crashing your program when a callback is made." msgstr "" +"Prenez garde à bien conserver une référence à un objet :func:`CFUNCTYPE` " +"tant que celui-ci est utilisé par le code C. :mod:`ctypes` ne le fait pas " +"tout seul et, si vous ne le faites pas, le ramasse-miette pourrait les " +"libérer, ce qui fera planter votre programme quand un appel sera fait." #: ../Doc/library/ctypes.rst:1038 msgid "" @@ -986,10 +1289,17 @@ msgid "" "with :class:`threading.local` will *not* survive across different callbacks, " "even when those calls are made from the same C thread." msgstr "" +"Notez aussi que si la fonction de rappel est appelée dans un fil d'exécution " +"créé hors de Python (p. ex. par du code externe qui appelle la fonction de " +"rappel), *ctypes* crée un nouveau fil Python « creux » à chaque fois. Ce " +"comportement est acceptable pour la plupart des cas d'utilisation, mais cela " +"implique que les valeurs stockées avec :class:`threading.local` ne seront " +"*pas* persistantes d'un appel à l'autre, même si les appels proviennent du " +"même fil d'exécution C." #: ../Doc/library/ctypes.rst:1048 msgid "Accessing values exported from dlls" -msgstr "" +msgstr "Accès aux variables exportées depuis une DLL" #: ../Doc/library/ctypes.rst:1050 msgid "" @@ -998,6 +1308,10 @@ msgid "" "integer set to 0, 1, or 2, depending on the :option:`-O` or :option:`-OO` " "flag given on startup." msgstr "" +"Certaines bibliothèques ne se contentent pas d'exporter des fonctions, elles " +"exportent aussi des variables. Par exemple, la bibliothèque Python exporte :" +"c:data:`Py_OptimizeFlag`, un entier valant 0, 1, ou 2 selon que l'option :" +"option:`-O` ou :option:`-OO` soit donnée au démarrage." #: ../Doc/library/ctypes.rst:1055 msgid "" @@ -1005,6 +1319,9 @@ msgid "" "methods of the type. *pythonapi* is a predefined symbol giving access to " "the Python C api::" msgstr "" +":mod:`ctypes` peut accéder à ce type de valeurs avec les méthodes de classe :" +"meth:`in_dll` du type considéré. *pythonapi* est un symbole prédéfini qui " +"donne accès à l'API C Python ::" #: ../Doc/library/ctypes.rst:1064 msgid "" @@ -1012,16 +1329,20 @@ msgid "" "would have printed ``c_long(1)``, or ``c_long(2)`` if :option:`-OO` would " "have been specified." msgstr "" +"Si l'interpréteur est lancé avec :option:`-O`, l'exemple affiche " +"``c_long(1)`` et ``c_long(2)`` avec :option:`-OO`." #: ../Doc/library/ctypes.rst:1068 msgid "" "An extended example which also demonstrates the use of pointers accesses " "the :c:data:`PyImport_FrozenModules` pointer exported by Python." msgstr "" +"Le pointeur :c:data:`PyImport_FrozenModules` exposé par Python est un autre " +"exemple complet de l'utilisation de pointeurs." #: ../Doc/library/ctypes.rst:1071 msgid "Quoting the docs for that value:" -msgstr "" +msgstr "Citons la documentation :" #: ../Doc/library/ctypes.rst:1073 msgid "" @@ -1037,12 +1358,17 @@ msgid "" "So manipulating this pointer could even prove useful. To restrict the " "example size, we show only how this table can be read with :mod:`ctypes`::" msgstr "" +"Donc manipuler ce pointeur peut même se révéler utile. Pour limiter la " +"taille de l'exemple, nous nous bornons à montrer comment lire ce tableau " +"avec :mod:`ctypes` ::" #: ../Doc/library/ctypes.rst:1090 msgid "" "We have defined the :c:type:`struct _frozen` data type, so we can get the " "pointer to the table::" msgstr "" +"Le type de donnée :c:type:`struct _frozen` ayant été défini, nous pouvons " +"récupérer le pointeur vers le tableau ::" #: ../Doc/library/ctypes.rst:1097 msgid "" @@ -1069,16 +1395,21 @@ msgid "" "There are some edges in :mod:`ctypes` where you might expect something other " "than what actually happens." msgstr "" +"Il y a quelques cas tordus dans :mod:`ctypes` où on peut s'attendre à un " +"résultat différent de la réalité." #: ../Doc/library/ctypes.rst:1128 msgid "Consider the following example::" -msgstr "" +msgstr "Examinons l'exemple suivant ::" #: ../Doc/library/ctypes.rst:1148 msgid "" "Hm. We certainly expected the last statement to print ``3 4 1 2``. What " "happened? Here are the steps of the ``rc.a, rc.b = rc.b, rc.a`` line above::" msgstr "" +"Diantre. On s'attendait certainement à ce que le dernier résultat affiche " +"``3 4 1 2``. Que s'est-il passé ? Les étapes de la ligne ``rc.a, rc.b = rc." +"b, rc.a`` ci-dessus sont les suivantes ::" #: ../Doc/library/ctypes.rst:1156 msgid "" @@ -1088,6 +1419,11 @@ msgid "" "the contents of ``temp1``. So, the last assignment ``rc.b = temp1``, doesn't " "have the expected effect." msgstr "" +"Les objets ``temp0`` et ``temp1`` utilisent encore le tampon interne de " +"l'objet ``rc`` ci-dessus. Donc exécuter ``rc.a = temp0`` copie le contenu du " +"tampon de ``temp0`` dans celui de ``rc``. Ce qui, par ricochet, modifie le " +"contenu de ``temp1``. Et donc, la dernière affectation, ``rc.b = temp1``, " +"n'a pas l'effet escompté." #: ../Doc/library/ctypes.rst:1162 msgid "" @@ -1095,6 +1431,9 @@ msgid "" "doesn't *copy* the sub-object, instead it retrieves a wrapper object " "accessing the root-object's underlying buffer." msgstr "" +"Gardez en tête qu'accéder au sous-objet depuis une *Structure*, une *Union* " +"ou un *Array* ne copie *pas* le sous-objet, mais crée un objet interface qui " +"accède au tampon sous-jacent de l'objet initial." #: ../Doc/library/ctypes.rst:1166 msgid "" @@ -1110,15 +1449,22 @@ msgid "" "object itself, instead the ``contents`` of the object is stored. Accessing " "the contents again constructs a new Python object each time!" msgstr "" +"Pourquoi cela affiche-t'il ``False`` ? Les instances *ctypes* sont des " +"objets qui contiennent un bloc mémoire et des :term:`descriptor` qui donnent " +"accès au contenu du ce bloc. Stocker un objet Python dans le bloc mémoire ne " +"stocke pas l'objet même ; seuls ses ``contents`` le sont. Accéder au " +"``contents`` crée un nouvel objet Python à chaque fois !" #: ../Doc/library/ctypes.rst:1186 msgid "Variable-sized data types" -msgstr "" +msgstr "Types de données à taille flottante" #: ../Doc/library/ctypes.rst:1188 msgid "" ":mod:`ctypes` provides some support for variable-sized arrays and structures." msgstr "" +":mod:`ctypes` assure la prise en charge des tableaux et des structures à " +"taille flottante." #: ../Doc/library/ctypes.rst:1190 msgid "" @@ -1128,6 +1474,12 @@ msgid "" "cannot be made smaller than the natural memory block specified by the " "objects type, a :exc:`ValueError` is raised if this is tried::" msgstr "" +"La fonction :func:`resize` permet de redimensionner la taille du tampon " +"mémoire d'un objet *ctypes* existant. Cette fonction prend l'objet comme " +"premier argument et la taille en octets désirée comme second. La taille du " +"tampon mémoire ne peut pas être inférieure à celle occupée par un objet " +"unitaire du type considéré. Une :exc:`ValueError` est levée si c'est le " +"cas ::" #: ../Doc/library/ctypes.rst:1210 msgid "" @@ -1135,6 +1487,9 @@ msgid "" "contained in this array? Since the type still only knows about 4 elements, " "we get errors accessing other elements::" msgstr "" +"Cela dit, comment accéder aux éléments supplémentaires contenus dans le " +"tableau ? Vu que le type ne connaît que 4 éléments, on obtient une erreur si " +"l'on accède aux suivants ::" #: ../Doc/library/ctypes.rst:1222 msgid "" @@ -1142,20 +1497,27 @@ msgid "" "the dynamic nature of Python, and (re-)define the data type after the " "required size is already known, on a case by case basis." msgstr "" +"Une autre approche pour utiliser des types de donnée à taille flottante " +"avec :mod:`ctypes` consiste à tirer profit de la nature intrinsèquement " +"dynamique de Python et de (re)définir le type de donnée une fois que la " +"taille demandée est connue, au cas-par-cas." #: ../Doc/library/ctypes.rst:1230 msgid "ctypes reference" -msgstr "" +msgstr "Référence du module" #: ../Doc/library/ctypes.rst:1236 msgid "Finding shared libraries" -msgstr "" +msgstr "Recherche de bibliothèques partagées" #: ../Doc/library/ctypes.rst:1238 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:1241 msgid "" @@ -1170,6 +1532,8 @@ 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:1254 msgid "" @@ -1181,7 +1545,7 @@ msgstr "" #: ../Doc/library/ctypes.rst:1259 ../Doc/library/ctypes.rst:1837 msgid "The exact functionality is system dependent." -msgstr "" +msgstr "Le mode opératoire exact dépend du système." #: ../Doc/library/ctypes.rst:1261 msgid "" @@ -1195,6 +1559,9 @@ 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:1288 msgid "" @@ -1202,6 +1569,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:1292 msgid "" @@ -1210,16 +1581,24 @@ 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:1300 msgid "Loading shared libraries" -msgstr "" +msgstr "Chargement des bibliothèques partagées" #: ../Doc/library/ctypes.rst:1302 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:1308 msgid "" @@ -1227,6 +1606,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:1315 msgid "" @@ -1237,10 +1619,17 @@ 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:1322 msgid ":exc:`WindowsError` used to be raised." -msgstr "" +msgstr ":exc:`WindowsError` était levée auparavant." #: ../Doc/library/ctypes.rst:1328 msgid "" @@ -1248,6 +1637,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:1332 msgid "" @@ -1255,12 +1648,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:1336 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 ` 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:1342 msgid "" @@ -1269,10 +1668,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:1347 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:1349 msgid "" @@ -1283,6 +1687,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:1356 msgid "" @@ -1291,6 +1701,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:1361 msgid "" @@ -1301,6 +1715,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:1368 msgid "" @@ -1308,6 +1729,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:1372 msgid "" @@ -1317,24 +1741,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:1381 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:1388 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:1395 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:1398 msgid "" @@ -1350,6 +1786,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:1415 msgid "The system handle used to access the library." @@ -1357,7 +1795,7 @@ msgstr "" #: ../Doc/library/ctypes.rst:1420 msgid "The name of the library passed in the constructor." -msgstr "" +msgstr "Nom de la bibliothèque donné au constructeur." #: ../Doc/library/ctypes.rst:1422 msgid "" @@ -1366,12 +1804,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:1430 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:1433 msgid "" @@ -1379,38 +1823,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:1439 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:1443 msgid "These prefabricated library loaders are available:" -msgstr "" +msgstr "Plusieurs chargeurs sont fournis :" #: ../Doc/library/ctypes.rst:1448 msgid "Creates :class:`CDLL` instances." -msgstr "" +msgstr "Pour créer des instances de :class:`CDLL`." #: ../Doc/library/ctypes.rst:1454 msgid "Windows only: Creates :class:`WinDLL` instances." -msgstr "" +msgstr "Pour créer des instances de :class:`WinDLL` (uniquement en Windows)." #: ../Doc/library/ctypes.rst:1460 msgid "Windows only: Creates :class:`OleDLL` instances." -msgstr "" +msgstr "Pour créer des instances de :class:`OleDLL` (uniquement en Windows)." #: ../Doc/library/ctypes.rst:1466 msgid "Creates :class:`PyDLL` instances." -msgstr "" +msgstr "Pour créer des instances de :class:`PyDLL`." #: ../Doc/library/ctypes.rst:1469 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:1475 msgid "" @@ -1419,10 +1869,15 @@ 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:1484 msgid "Foreign functions" -msgstr "" +msgstr "Fonctions externes" #: ../Doc/library/ctypes.rst:1486 msgid "" @@ -1432,28 +1887,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:1495 msgid "Base class for C callable foreign functions." -msgstr "" +msgstr "Classe de base pour les fonctions externes C." #: ../Doc/library/ctypes.rst:1497 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:1500 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:1505 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:1508 msgid "" @@ -1464,6 +1932,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:1517 msgid "" @@ -1473,6 +1949,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:1523 msgid "" @@ -1483,6 +1964,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:1530 msgid "" @@ -1491,30 +1979,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:1537 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:1544 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:1547 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:1551 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:1555 msgid "" @@ -1522,16 +2027,21 @@ 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:1562 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:1569 msgid "Function prototypes" -msgstr "" +msgstr "Prototypes de fonction" #: ../Doc/library/ctypes.rst:1571 msgid "" @@ -1713,7 +2223,7 @@ msgstr "" #: ../Doc/library/ctypes.rst:1748 msgid "Utility functions" -msgstr "" +msgstr "Fonctions utilitaires" #: ../Doc/library/ctypes.rst:1752 msgid "" @@ -2288,7 +2798,7 @@ msgstr "" #: ../Doc/library/ctypes.rst:2286 msgid "Structured data types" -msgstr "" +msgstr "Types de données dérivés de Structure" #: ../Doc/library/ctypes.rst:2291 msgid "Abstract base class for unions in native byte order." @@ -2418,7 +2928,7 @@ msgstr "" #: ../Doc/library/ctypes.rst:2409 msgid "Arrays and pointers" -msgstr "" +msgstr "Tableaux et pointeurs" #: ../Doc/library/ctypes.rst:2413 msgid "Abstract base class for arrays." diff --git a/library/curses.po b/library/curses.po index ee7e02f4..8513ccaf 100644 --- a/library/curses.po +++ b/library/curses.po @@ -1495,7 +1495,7 @@ msgstr "" #: ../Doc/library/curses.rst:1303 msgid "Key" -msgstr "" +msgstr "Clé" #: ../Doc/library/curses.rst:1305 msgid "``KEY_MIN``" @@ -2823,7 +2823,7 @@ msgstr "" #: ../Doc/library/curses.rst:1707 msgid "Action" -msgstr "" +msgstr "Action" #: ../Doc/library/curses.rst:1709 msgid ":kbd:`Control-A`" diff --git a/library/difflib.po b/library/difflib.po index 0ca97219..ead15ea7 100644 --- a/library/difflib.po +++ b/library/difflib.po @@ -18,7 +18,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`" @@ -48,6 +48,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 `. 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 "" @@ -57,6 +71,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 "" @@ -69,10 +89,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 "" @@ -81,10 +111,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" @@ -100,7 +137,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 "``'+ '``" @@ -108,7 +145,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 "``' '``" @@ -116,7 +153,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 "``'? '``" @@ -124,7 +161,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 "" @@ -132,6 +169,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 "" @@ -140,26 +181,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 "" @@ -168,10 +218,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 "" @@ -179,12 +233,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 "" @@ -198,12 +259,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 "" @@ -211,24 +285,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 ` générant les lignes delta) dans un format de " +"différence de contexte." #: ../Doc/library/difflib.rst:152 msgid "" @@ -245,12 +329,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 "" @@ -260,10 +352,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 ` pour un exemple plus détaillé." #: ../Doc/library/difflib.rst:193 msgid "" diff --git a/library/email.errors.po b/library/email.errors.po index 66267ece..3c85798e 100644 --- a/library/email.errors.po +++ b/library/email.errors.po @@ -18,17 +18,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 "" @@ -36,6 +38,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 "" @@ -74,6 +79,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:60 msgid "" @@ -83,6 +94,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:67 msgid "" @@ -105,30 +121,41 @@ 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:79 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:82 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:87 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:90 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:93 msgid "" @@ -136,16 +163,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:99 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:102 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:105 msgid "" diff --git a/library/ftplib.po b/library/ftplib.po index ed7d8cc7..fefc394c 100644 --- a/library/ftplib.po +++ b/library/ftplib.po @@ -60,7 +60,7 @@ msgstr "" #: ../Doc/library/ftplib.rst:68 msgid "Support for the :keyword:`with` statement was added." -msgstr "" +msgstr "La prise en charge de l'instruction :keyword:`with` a été ajoutée." #: ../Doc/library/ftplib.rst:71 ../Doc/library/ftplib.rst:92 #: ../Doc/library/ftplib.rst:186 diff --git a/library/hmac.po b/library/hmac.po index 7be68d64..d68e0761 100644 --- a/library/hmac.po +++ b/library/hmac.po @@ -19,6 +19,8 @@ msgstr "" #: ../Doc/library/hmac.rst:2 msgid ":mod:`hmac` --- Keyed-Hashing for Message Authentication" msgstr "" +":mod:`hmac` — Authentification de messages par hachage en combinaison avec " +"une clé secrète" #: ../Doc/library/hmac.rst:10 msgid "**Source code:** :source:`Lib/hmac.py`" @@ -27,6 +29,7 @@ msgstr "**Code source :** :source:`Lib/hmac.py`" #: ../Doc/library/hmac.rst:14 msgid "This module implements the HMAC algorithm as described by :rfc:`2104`." msgstr "" +"Ce module implémente l'algorithme HMAC tel que décrit par la :rfc:`2104`." #: ../Doc/library/hmac.rst:19 msgid "" @@ -43,6 +46,9 @@ msgid "" "of any type supported by :mod:`hashlib`. Parameter *digestmod* can be the " "name of a hash algorithm." msgstr "" +"Le paramètre *key* peut être un *byte* ou un objet *bytearray*. Le paramètre " +"*msg* peut être de n'importe quel type pris en charge par :mod:`hashlib`. Le " +"paramètre *digestmod* peut être le nom d'un algorithme de hachage." #: ../Doc/library/hmac.rst:30 msgid "MD5 as implicit default digest for *digestmod* is deprecated." @@ -50,7 +56,7 @@ msgstr "" #: ../Doc/library/hmac.rst:34 msgid "An HMAC object has the following methods:" -msgstr "" +msgstr "Un objet HMAC a les méthodes suivantes :" #: ../Doc/library/hmac.rst:38 msgid "" @@ -58,10 +64,14 @@ msgid "" "single call with the concatenation of all the arguments: ``m.update(a); m." "update(b)`` is equivalent to ``m.update(a + b)``." msgstr "" +"Met à jour l'objet HMAC avec *msg*. Des appels répétés sont équivalents à un " +"seul appel avec la concaténation de tous les arguments : ``m.update(a); m." +"update(b)`` est équivalent à ``m.update(a + b)``." #: ../Doc/library/hmac.rst:42 msgid "Parameter *msg* can be of any type supported by :mod:`hashlib`." msgstr "" +"Le paramètre *msg* peut être de n'importe quel type géré par :mod:`hashlib`." #: ../Doc/library/hmac.rst:48 msgid "" @@ -70,6 +80,10 @@ msgid "" "given to the constructor. It may contain non-ASCII bytes, including NUL " "bytes." msgstr "" +"Renvoie le condensat des octets passés à la méthode :meth:`update` jusque " +"là. L'objet *bytes* renvoyé sera de la même longueur que la *digest_size* de " +"la fonction de hachage donnée au constructeur. Il peut contenir des octets " +"qui ne sont pas dans la table ASCII, y compris des octets NUL." #: ../Doc/library/hmac.rst:55 msgid "" @@ -78,6 +92,10 @@ msgid "" "`compare_digest` function instead of the ``==`` operator to reduce the " "vulnerability to timing attacks." msgstr "" +"Si vous devez vérifier la sortie de :meth:`digest` avec un condensat obtenu " +"par ailleurs par un service extérieur durant une routine de vérification, il " +"est recommandé d'utiliser la fonction :func:`compare_digest` au lieu de " +"l'opérateur ``==`` afin de réduire la vulnérabilité aux attaques temporelles." #: ../Doc/library/hmac.rst:63 msgid "" @@ -85,6 +103,10 @@ msgid "" "length containing only hexadecimal digits. This may be used to exchange the " "value safely in email or other non-binary environments." msgstr "" +"Comme :meth:`digest` sauf que ce condensat est renvoyé en tant que chaîne de " +"caractères de taille doublée contenant seulement des chiffres hexadécimaux. " +"Cela permet d’échanger le résultat sans problèmes par e-mail ou dans " +"d'autres environnements ne gérant pas les données binaires." #: ../Doc/library/hmac.rst:69 msgid "" @@ -93,6 +115,11 @@ msgid "" "`compare_digest` function instead of the ``==`` operator to reduce the " "vulnerability to timing attacks." msgstr "" +"Si l'on compare la sortie de :meth:`hexdigest` avec celle d'un condensat " +"connu obtenu par un service extérieur durant une routine de vérification, il " +"est recommandé d'utiliser la fonction :func:`compare_digest` au lieu de " +"l'opérateur ``==`` afin de réduire la vulnérabilité aux attaques basées sur " +"les temps de réponse." #: ../Doc/library/hmac.rst:77 msgid "" @@ -100,6 +127,9 @@ msgid "" "efficiently compute the digests of strings that share a common initial " "substring." msgstr "" +"Renvoie une copie (un clone) de l'objet HMAC. C'est utile pour calculer de " +"manière efficace les empreintes cryptographiques de chaînes de caractères " +"qui ont en commun une sous-chaîne initiale." #: ../Doc/library/hmac.rst:81 msgid "A hash object has the following attributes:" @@ -108,6 +138,8 @@ msgstr "L'objet haché possède les attributs suivants : ::" #: ../Doc/library/hmac.rst:85 msgid "The size of the resulting HMAC digest in bytes." msgstr "" +"La taille du code d'authentification (c.-à-d. de l'empreinte " +"cryptographique) en octets." #: ../Doc/library/hmac.rst:89 msgid "The internal block size of the hash algorithm in bytes." @@ -116,10 +148,12 @@ msgstr "La taille interne d'un bloc de l'algorithme de hachage en octets." #: ../Doc/library/hmac.rst:95 msgid "The canonical name of this HMAC, always lowercase, e.g. ``hmac-md5``." msgstr "" +"Le nom canonique de ce HMAC, toujours en lettres minuscules, par exemple " +"``hmac-md5``." #: ../Doc/library/hmac.rst:100 msgid "This module also provides the following helper function:" -msgstr "" +msgstr "Ce module fournit également la fonction utilitaire suivante :" #: ../Doc/library/hmac.rst:104 msgid "" @@ -129,6 +163,12 @@ msgid "" "either :class:`str` (ASCII only, as e.g. returned by :meth:`HMAC." "hexdigest`), or a :term:`bytes-like object`." msgstr "" +"Renvoie ``a == b``. Cette fonction a été conçue pour prévenir les attaques " +"temporelles en évitant l'implémentation de courts-circuits basés sur le " +"contenu, ce qui la rend appropriée pour de la cryptographie. *a* et *b* " +"doivent être du même type : soit :class:`str` (caractères ASCII seulement, " +"comme retourné par :meth:`HMAC.hexdigest` par exemple), ou :term:`bytes-like " +"object`." #: ../Doc/library/hmac.rst:112 msgid "" @@ -139,8 +179,8 @@ msgstr "" #: ../Doc/library/hmac.rst:122 msgid "Module :mod:`hashlib`" -msgstr "" +msgstr "Module :mod:`hashlib`" #: ../Doc/library/hmac.rst:123 msgid "The Python module providing secure hash functions." -msgstr "" +msgstr "Le module Python fournissant des fonctions de hachage sécurisé." diff --git a/library/imaplib.po b/library/imaplib.po index 554d066d..92a402bb 100644 --- a/library/imaplib.po +++ b/library/imaplib.po @@ -56,7 +56,7 @@ msgstr "" #: ../Doc/library/imaplib.rst:50 msgid "Support for the :keyword:`with` statement was added." -msgstr "" +msgstr "La prise en charge de l'instruction :keyword:`with` a été ajoutée." #: ../Doc/library/imaplib.rst:53 msgid "Three exceptions are defined as attributes of the :class:`IMAP4` class:" diff --git a/library/io.po b/library/io.po index 5b809558..7a4bdc92 100644 --- a/library/io.po +++ b/library/io.po @@ -1278,7 +1278,7 @@ msgstr "" #: ../Doc/library/io.rst:928 msgid "Example usage::" -msgstr "" +msgstr "Exemple d'utilisation ::" #: ../Doc/library/io.rst:950 msgid "" diff --git a/library/ipaddress.po b/library/ipaddress.po index 1efbfb87..a653666c 100644 --- a/library/ipaddress.po +++ b/library/ipaddress.po @@ -22,7 +22,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 "" diff --git a/library/locale.po b/library/locale.po index 98a5d631..1d7c0b37 100644 --- a/library/locale.po +++ b/library/locale.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/locale.rst:2 msgid ":mod:`locale` --- Internationalization services" -msgstr "" +msgstr ":mod:`locale` — Services d'internationalisation" #: ../Doc/library/locale.rst:10 msgid "**Source code:** :source:`Lib/locale.py`" @@ -31,22 +31,33 @@ msgid "" "certain cultural issues in an application, without requiring the programmer " "to know all the specifics of each country where the software is executed." msgstr "" +"Le module :mod:`locale` donne accès à la base de données et aux " +"fonctionnalités des paramètres linguistiques définis par POSIX. Le mécanisme " +"des paramètres linguistiques de POSIX permet aux développeurs de faire face " +"à certaines problématiques culturelles dans une application, sans avoir à " +"connaître toutes les spécificités de chaque pays où le logiciel est exécuté." #: ../Doc/library/locale.rst:21 msgid "" "The :mod:`locale` module is implemented on top of the :mod:`_locale` module, " "which in turn uses an ANSI C locale implementation if available." msgstr "" +"Le module :mod:`locale` est implémenté au-dessus du module :mod:`_locale`, " +"qui lui-même utilise l'implémentation du paramètre régional ANSI C si " +"disponible." #: ../Doc/library/locale.rst:24 msgid "The :mod:`locale` module defines the following exception and functions:" msgstr "" +"Le module :mod:`locale` définit l'exception et les fonctions suivantes :" #: ../Doc/library/locale.rst:29 msgid "" "Exception raised when the locale passed to :func:`setlocale` is not " "recognized." msgstr "" +"Exception levée lorsque le paramètre régional passé en paramètre de :func:" +"`setlocale` n'est pas reconnu." #: ../Doc/library/locale.rst:35 msgid "" @@ -59,18 +70,31 @@ msgid "" "exception :exc:`Error` is raised. If successful, the new locale setting is " "returned." msgstr "" +"Si *locale* ne vaut pas ``None``, :func:`setlocale` modifie le paramètre " +"régional pour la catégorie *category*. Les catégories disponibles sont " +"listées dans la description des données ci-dessous. *locale* peut être une " +"chaîne de caractères ou un itérable de deux chaînes de caractères (code de " +"la langue et encodage). Si c'est un itérable, il est converti en un nom de " +"paramètre régional à l'aide du moteur de normalisation fait pour. Si c'est " +"une chaîne vide, les paramètres par défaut de l'utilisateur sont utilisés. " +"Si la modification du paramètre régional échoue, l'exception :exc:`Error` " +"est levée. Si elle fonctionne, le nouveau paramètre est renvoyé." #: ../Doc/library/locale.rst:43 msgid "" "If *locale* is omitted or ``None``, the current setting for *category* is " "returned." msgstr "" +"Si *locale* est omis ou vaut ``None``, le paramètre actuel de *category* est " +"renvoyé." #: ../Doc/library/locale.rst:46 msgid "" ":func:`setlocale` is not thread-safe on most systems. Applications typically " "start with a call of ::" msgstr "" +":func:`setlocale` n'est pas *thread-safe* sur la plupart des systèmes. Les " +"applications commencent généralement par un appel de : ::" #: ../Doc/library/locale.rst:52 msgid "" @@ -79,20 +103,28 @@ msgid "" "locale is not changed thereafter, using multithreading should not cause " "problems." msgstr "" +"Cela définit les paramètres régionaux dans toutes les catégories sur ceux " +"par défaut de l'utilisateur (habituellement spécifiés dans la variable " +"d'environnement :envvar:`LANG`). Si les paramètres régionaux ne sont pas " +"modifiés par la suite, l'utilisation de fils d'exécution ne devrait pas " +"poser de problèmes." #: ../Doc/library/locale.rst:59 msgid "" "Returns the database of the local conventions as a dictionary. This " "dictionary has the following strings as keys:" msgstr "" +"Renvoie la base de données des conventions locales sous forme de " +"dictionnaire. Ce dictionnaire a les chaînes de caractères suivantes comme " +"clés :" #: ../Doc/library/locale.rst:65 msgid "Category" -msgstr "" +msgstr "Catégorie" #: ../Doc/library/locale.rst:65 msgid "Key" -msgstr "" +msgstr "Clé" #: ../Doc/library/locale.rst:65 msgid "Meaning" @@ -109,6 +141,8 @@ msgstr "``'decimal_point'``" #: ../Doc/library/locale.rst:67 msgid "Decimal point character." msgstr "" +"Caractère du séparateur décimal (entre la partie entière et la partie " +"décimale)." #: ../Doc/library/locale.rst:69 msgid "``'grouping'``" @@ -121,6 +155,11 @@ msgid "" "`CHAR_MAX`, no further grouping is performed. If the sequence terminates " "with a ``0``, the last group size is repeatedly used." msgstr "" +"Séquence de nombres spécifiant les positions relatives attendues pour " +"``'thousands_sep'`` (séparateur de milliers). Si la séquence se termine " +"par :const:`CHAR_MAX`, aucun autre regroupement n'est effectué. Si la " +"séquence se termine par un ``0``, la dernière taille du groupe est utilisée " +"à plusieurs reprises." #: ../Doc/library/locale.rst:80 msgid "``'thousands_sep'``" @@ -128,7 +167,7 @@ msgstr "``'thousands_sep'``" #: ../Doc/library/locale.rst:80 msgid "Character used between groups." -msgstr "" +msgstr "Caractère utilisé entre les groupes (séparateur de milliers)." #: ../Doc/library/locale.rst:82 msgid ":const:`LC_MONETARY`" @@ -140,7 +179,7 @@ msgstr "``'int_curr_symbol'``" #: ../Doc/library/locale.rst:82 msgid "International currency symbol." -msgstr "" +msgstr "Symbole monétaire international." #: ../Doc/library/locale.rst:84 msgid "``'currency_symbol'``" @@ -148,7 +187,7 @@ msgstr "``'currency_symbol'``" #: ../Doc/library/locale.rst:84 msgid "Local currency symbol." -msgstr "" +msgstr "Symbole monétaire local." #: ../Doc/library/locale.rst:86 msgid "``'p_cs_precedes/n_cs_precedes'``" @@ -159,6 +198,8 @@ msgid "" "Whether the currency symbol precedes the value (for positive resp. negative " "values)." msgstr "" +"Si le symbole monétaire précède ou non la valeur (pour les valeurs positives " +"et négatives, respectivement)." #: ../Doc/library/locale.rst:91 msgid "``'p_sep_by_space/n_sep_by_space'``" @@ -169,6 +210,8 @@ msgid "" "Whether the currency symbol is separated from the value by a space (for " "positive resp. negative values)." msgstr "" +"Si le symbole monétaire est séparé de la valeur par une espace ou non (pour " +"les valeurs positives et négatives, respectivement)." #: ../Doc/library/locale.rst:96 msgid "``'mon_decimal_point'``" @@ -177,6 +220,8 @@ msgstr "``'mon_decimal_point'``" #: ../Doc/library/locale.rst:96 msgid "Decimal point used for monetary values." msgstr "" +"Séparateur décimal (entre la partie entière et la partie décimale) utilisé " +"pour les valeurs monétaires." #: ../Doc/library/locale.rst:99 msgid "``'frac_digits'``" @@ -186,6 +231,7 @@ msgstr "``'frac_digits'``" msgid "" "Number of fractional digits used in local formatting of monetary values." msgstr "" +"Nombre de décimales utilisées dans le format local des valeurs monétaires." #: ../Doc/library/locale.rst:103 msgid "``'int_frac_digits'``" @@ -196,6 +242,8 @@ msgid "" "Number of fractional digits used in international formatting of monetary " "values." msgstr "" +"Nombre de décimales utilisées dans le format international des valeurs " +"monétaires." #: ../Doc/library/locale.rst:107 msgid "``'mon_thousands_sep'``" @@ -203,7 +251,7 @@ msgstr "``'mon_thousands_sep'``" #: ../Doc/library/locale.rst:107 msgid "Group separator used for monetary values." -msgstr "" +msgstr "Séparateur de groupe utilisé pour les valeurs monétaires." #: ../Doc/library/locale.rst:110 msgid "``'mon_grouping'``" @@ -211,7 +259,7 @@ msgstr "``'mon_grouping'``" #: ../Doc/library/locale.rst:110 msgid "Equivalent to ``'grouping'``, used for monetary values." -msgstr "" +msgstr "Équivalent de ``'grouping'``, utilisé pour les valeurs monétaires." #: ../Doc/library/locale.rst:113 msgid "``'positive_sign'``" @@ -219,7 +267,7 @@ msgstr "``'positive_sign'``" #: ../Doc/library/locale.rst:113 msgid "Symbol used to annotate a positive monetary value." -msgstr "" +msgstr "Symbole utilisé pour indiquer qu'une valeur monétaire est positive." #: ../Doc/library/locale.rst:116 msgid "``'negative_sign'``" @@ -227,7 +275,7 @@ msgstr "``'negative_sign'``" #: ../Doc/library/locale.rst:116 msgid "Symbol used to annotate a negative monetary value." -msgstr "" +msgstr "Symbole utilisé pour indiquer qu'une valeur monétaire est négative." #: ../Doc/library/locale.rst:119 msgid "``'p_sign_posn/n_sign_posn'``" @@ -237,18 +285,24 @@ msgstr "``'p_sign_posn/n_sign_posn'``" msgid "" "The position of the sign (for positive resp. negative values), see below." msgstr "" +"Position du signe (pour les valeurs positives et négatives, respectivement), " +"voir ci-dessous." #: ../Doc/library/locale.rst:124 msgid "" "All numeric values can be set to :const:`CHAR_MAX` to indicate that there is " "no value specified in this locale." msgstr "" +"Toutes les valeurs numériques peuvent être définies à :const:`CHAR_MAX` pour " +"indiquer qu'il n'y a pas de valeur spécifiée pour ces paramètres régionaux." #: ../Doc/library/locale.rst:127 msgid "" "The possible values for ``'p_sign_posn'`` and ``'n_sign_posn'`` are given " "below." msgstr "" +"Les valeurs possibles pour ``'p_sign_posn'`` et ``'n_sign_posn'`` sont " +"données ci-dessous." #: ../Doc/library/locale.rst:130 msgid "Value" @@ -264,7 +318,7 @@ msgstr "``0``" #: ../Doc/library/locale.rst:132 msgid "Currency and value are surrounded by parentheses." -msgstr "" +msgstr "Le symbole monétaire et la valeur sont entourés de parenthèses." #: ../Doc/library/locale.rst:135 msgid "``1``" @@ -272,7 +326,7 @@ msgstr "``1``" #: ../Doc/library/locale.rst:135 msgid "The sign should precede the value and currency symbol." -msgstr "" +msgstr "Le signe doit précéder la valeur et le symbole monétaire." #: ../Doc/library/locale.rst:138 msgid "``2``" @@ -280,7 +334,7 @@ msgstr "``2``" #: ../Doc/library/locale.rst:138 msgid "The sign should follow the value and currency symbol." -msgstr "" +msgstr "Le signe doit suivre la valeur et le symbole monétaire." #: ../Doc/library/locale.rst:141 msgid "``3``" @@ -288,7 +342,7 @@ msgstr "``3``" #: ../Doc/library/locale.rst:141 msgid "The sign should immediately precede the value." -msgstr "" +msgstr "Le signe doit précéder immédiatement la valeur." #: ../Doc/library/locale.rst:144 msgid "``4``" @@ -296,7 +350,7 @@ msgstr "``4``" #: ../Doc/library/locale.rst:144 msgid "The sign should immediately follow the value." -msgstr "" +msgstr "Le signe doit suivre immédiatement la valeur." #: ../Doc/library/locale.rst:147 msgid "``CHAR_MAX``" @@ -304,7 +358,7 @@ msgstr "``CHAR_MAX``" #: ../Doc/library/locale.rst:147 msgid "Nothing is specified in this locale." -msgstr "" +msgstr "Rien n'est spécifié dans ces paramètres régionaux." #: ../Doc/library/locale.rst:153 msgid "" @@ -313,6 +367,11 @@ msgid "" "across platforms. The possible argument values are numbers, for which " "symbolic constants are available in the locale module." msgstr "" +"Renvoie quelques informations spécifiques aux paramètres régionaux sous " +"forme de chaîne. Cette fonction n'est pas disponible sur tous les systèmes " +"et l'ensemble des options possibles peut également varier d'une plateforme à " +"l'autre. Les valeurs possibles pour les arguments sont des nombres, pour " +"lesquels des constantes symboliques sont disponibles dans le module *locale*." #: ../Doc/library/locale.rst:158 msgid "" @@ -320,84 +379,114 @@ msgid "" "descriptions are taken from the corresponding description in the GNU C " "library." msgstr "" +"La fonction :func:`nl_langinfo` accepte l'une des clés suivantes. La " +"plupart des descriptions sont extraites des descriptions correspondantes " +"dans la bibliothèque GNU C." #: ../Doc/library/locale.rst:164 msgid "" "Get a string with the name of the character encoding used in the selected " "locale." msgstr "" +"Récupère une chaîne avec le nom de l'encodage des caractères utilisé par le " +"paramètre régional sélectionné." #: ../Doc/library/locale.rst:169 msgid "" "Get a string that can be used as a format string for :func:`time.strftime` " "to represent date and time in a locale-specific way." msgstr "" +"Récupère une chaîne qui peut être utilisée comme une chaîne de format par :" +"func:`time.strftime` afin de représenter la date et l'heure pour un " +"paramètre régional spécifique." #: ../Doc/library/locale.rst:174 msgid "" "Get a string that can be used as a format string for :func:`time.strftime` " "to represent a date in a locale-specific way." msgstr "" +"Récupère une chaîne qui peut être utilisée comme une chaîne de format par :" +"func:`time.strftime` afin de représenter une date pour un paramètre régional " +"spécifique." #: ../Doc/library/locale.rst:179 msgid "" "Get a string that can be used as a format string for :func:`time.strftime` " "to represent a time in a locale-specific way." msgstr "" +"Récupère une chaîne qui peut être utilisée comme une chaîne de format par :" +"func:`time.strftime` afin de représenter une heure pour un paramètre " +"régional spécifique." #: ../Doc/library/locale.rst:184 msgid "" "Get a format string for :func:`time.strftime` to represent time in the am/pm " "format." msgstr "" +"Récupère une chaîne de format pour :func:`time.strftime` afin de représenter " +"l'heure au format am / pm." #: ../Doc/library/locale.rst:189 msgid "Get the name of the n-th day of the week." -msgstr "" +msgstr "Récupère le nom du n-ième jour de la semaine." #: ../Doc/library/locale.rst:193 msgid "" "This follows the US convention of :const:`DAY_1` being Sunday, not the " "international convention (ISO 8601) that Monday is the first day of the week." msgstr "" +"Cela suit la convention américaine qui définit :const:`DAY_1` comme étant " +"dimanche, et non la convention internationale (ISO 8601) où lundi est le " +"premier jour de la semaine." #: ../Doc/library/locale.rst:199 msgid "Get the abbreviated name of the n-th day of the week." -msgstr "" +msgstr "Récupère l'abréviation du n-ième jour de la semaine." #: ../Doc/library/locale.rst:203 msgid "Get the name of the n-th month." -msgstr "" +msgstr "Récupère le nom du n-ième mois." #: ../Doc/library/locale.rst:207 msgid "Get the abbreviated name of the n-th month." -msgstr "" +msgstr "Récupère l'abréviation du n-ième mois." #: ../Doc/library/locale.rst:211 msgid "Get the radix character (decimal dot, decimal comma, etc.)." msgstr "" +"Récupère le caractère de séparation *radix* (point décimal, virgule " +"décimale, etc.)." #: ../Doc/library/locale.rst:215 msgid "Get the separator character for thousands (groups of three digits)." msgstr "" +"Récupère le caractère de séparation des milliers (groupes de 3 chiffres)." #: ../Doc/library/locale.rst:219 msgid "" "Get a regular expression that can be used with the regex function to " "recognize a positive response to a yes/no question." msgstr "" +"Récupère une expression régulière qui peut être utilisée par la fonction " +"*regex* pour reconnaître une réponse positive à une question fermée (oui / " +"non)." #: ../Doc/library/locale.rst:224 msgid "" "The expression is in the syntax suitable for the :c:func:`regex` function " "from the C library, which might differ from the syntax used in :mod:`re`." msgstr "" +"L'expression est dans une syntaxe adaptée à la fonction :c:func:`regex` de " +"la bibliothèque C, qui peut différer de la syntaxe utilisée par :mod:`re`." #: ../Doc/library/locale.rst:229 msgid "" "Get a regular expression that can be used with the regex(3) function to " "recognize a negative response to a yes/no question." msgstr "" +"Récupère une expression régulière qui peut être utilisée par la fonction " +"*regex(3)* pour reconnaître une réponse négative à une question fermée " +"(oui / non)." #: ../Doc/library/locale.rst:234 msgid "" @@ -405,10 +494,15 @@ msgid "" "before the value, \"+\" if the symbol should appear after the value, or \"." "\" if the symbol should replace the radix character." msgstr "" +"Récupère le symbole monétaire, précédé de « - » si le symbole doit " +"apparaître avant la valeur, « + » s'il doit apparaître après la valeur, ou " +"« . » s'il doit remplacer le caractère de séparation *radix*." #: ../Doc/library/locale.rst:240 msgid "Get a string that represents the era used in the current locale." msgstr "" +"Récupère une chaîne qui représente l'ère utilisée pour le paramètre régional " +"actuel." #: ../Doc/library/locale.rst:242 msgid "" @@ -417,6 +511,10 @@ msgid "" "representation of dates includes the name of the era corresponding to the " "then-emperor's reign." msgstr "" +"La plupart des paramètres régionaux ne définissent pas cette valeur. Un " +"exemple de région qui définit bien cette valeur est le japonais. Au Japon, " +"la représentation traditionnelle des dates comprend le nom de l'ère " +"correspondant au règne de l'empereur de l'époque." #: ../Doc/library/locale.rst:247 msgid "" @@ -426,36 +524,51 @@ msgid "" "specified, and therefore you should not assume knowledge of it on different " "systems." msgstr "" +"Normalement, il ne devrait pas être nécessaire d'utiliser cette valeur " +"directement. Spécifier le modificateur ``E`` dans leurs chaînes de format " +"provoque l'utilisation de cette information par la fonction :func:`time." +"strftime`. Le format de la chaîne renvoyée n'est pas spécifié, et vous ne " +"devez donc pas supposer en avoir connaissance sur des systèmes différents." #: ../Doc/library/locale.rst:255 msgid "" "Get a format string for :func:`time.strftime` to represent date and time in " "a locale-specific era-based way." msgstr "" +"Récupère la chaîne de format pour :func:`time.strftime` afin de représenter " +"la date et l'heure pour un paramètre régional spécifique basée sur une ère." #: ../Doc/library/locale.rst:260 msgid "" "Get a format string for :func:`time.strftime` to represent a date in a " "locale-specific era-based way." msgstr "" +"Récupère la chaîne de format pour :func:`time.strftime` afin de représenter " +"une date pour un paramètre régional spécifique basée sur une ère." #: ../Doc/library/locale.rst:265 msgid "" "Get a format string for :func:`time.strftime` to represent a time in a " "locale-specific era-based way." msgstr "" +"Récupère la chaîne de format pour :func:`time.strftime` afin de représenter " +"une heure pour un paramètre régional spécifique basée sur une ère." #: ../Doc/library/locale.rst:270 msgid "" "Get a representation of up to 100 values used to represent the values 0 to " "99." msgstr "" +"Récupère une représentation de 100 valeurs maximum utilisées pour " +"représenter les valeurs de 0 à 99." #: ../Doc/library/locale.rst:276 msgid "" "Tries to determine the default locale settings and returns them as a tuple " "of the form ``(language code, encoding)``." msgstr "" +"Tente de déterminer les paramètres régionaux par défaut, puis les renvoie " +"sous la forme d'un n-uplet ``(code de la langue, encodage)``." #: ../Doc/library/locale.rst:279 msgid "" @@ -465,6 +578,12 @@ msgid "" "Since we do not want to interfere with the current locale setting we thus " "emulate the behavior in the way described above." msgstr "" +"D'après POSIX, un programme qui n'a pas appelé ``setlocale(LC_ALL, '')`` " +"fonctionne en utilisant le paramètre régional portable ``'C'``. Appeler " +"``setlocale(LC_ALL, '')`` lui permet d'utiliser les paramètres régionaux par " +"défaut définis par la variable :envvar:`LANG`. Comme nous ne voulons pas " +"interférer avec les paramètres régionaux actuels, nous émulons donc le " +"comportement décrit ci-dessus." #: ../Doc/library/locale.rst:285 msgid "" @@ -475,6 +594,14 @@ msgid "" "``'LANG'``. The GNU gettext search path contains ``'LC_ALL'``, " "``'LC_CTYPE'``, ``'LANG'`` and ``'LANGUAGE'``, in that order." msgstr "" +"Afin de maintenir la compatibilité avec d'autres plateformes, non seulement " +"la variable :envvar:`LANG` est testée, mais c'est aussi le cas pour toute " +"une liste de variables passés en paramètre via *envvars*. La première " +"variable à être définie sera utilisée. *envvars* utilise par défaut le " +"chemin de recherche utilisé dans GNU *gettext* ; il doit toujours contenir " +"le nom de variable ``'LANG'``. Le chemin de recherche de GNU *gettext* " +"contient ``'LC_ALL'``, ``'LC_CTYPE'``, ``'LANG'`` et ``'LANGUAGE'``, dans " +"cet ordre." #: ../Doc/library/locale.rst:292 ../Doc/library/locale.rst:303 msgid "" @@ -482,6 +609,9 @@ msgid "" "*language code* and *encoding* may be ``None`` if their values cannot be " "determined." msgstr "" +"À l'exception du code ``'C'``, le code d'une langue correspond à la :rfc:" +"`1766`. Le *code de la langue* et l'*encodage* peuvent valoir ``None`` si " +"leur valeur ne peut être déterminée." #: ../Doc/library/locale.rst:299 msgid "" @@ -489,6 +619,11 @@ msgid "" "containing *language code*, *encoding*. *category* may be one of the :const:" "`LC_\\*` values except :const:`LC_ALL`. It defaults to :const:`LC_CTYPE`." msgstr "" +"Renvoie les réglages actuels pour la catégorie de paramètres régionaux " +"donnée, sous la forme d'une séquence contenant le *code de la langue* et " +"l'*encodage*. La catégorie *category* peut être l'une des valeurs :const:`LC_" +"\\*` à l'exception de :const:`LC_ALL`. La valeur par défaut est :const:" +"`LC_CTYPE`." #: ../Doc/library/locale.rst:310 msgid "" @@ -497,6 +632,11 @@ msgid "" "available programmatically on some systems, so this function only returns a " "guess." msgstr "" +"Renvoie le codage utilisé pour les données textuelles, selon les préférences " +"de l'utilisateur. Les préférences de l'utilisateur sont exprimées " +"différemment selon les systèmes et peuvent ne pas être disponibles via les " +"interfaces de programmation sur certains systèmes. Cette fonction ne renvoie " +"donc qu'une supposition." #: ../Doc/library/locale.rst:315 msgid "" @@ -504,6 +644,11 @@ msgid "" "user preferences, so this function is not thread-safe. If invoking setlocale " "is not necessary or desired, *do_setlocale* should be set to ``False``." msgstr "" +"Sur certains systèmes, il est nécessaire d'invoquer :func:`setlocale` pour " +"obtenir les préférences de l'utilisateur, cette fonction n'est donc pas " +"utilisable sans protection dans les programmes à fils d'exécutions " +"multiples. Si l'appel de `setlocale` n'est pas nécessaire ou souhaité, " +"*do_setlocale* doit être réglé à ``False``." #: ../Doc/library/locale.rst:322 msgid "" @@ -511,22 +656,31 @@ msgid "" "locale code is formatted for use with :func:`setlocale`. If normalization " "fails, the original name is returned unchanged." msgstr "" +"Renvoie un code normalisé pour le nom du paramètre régional fourni. Ce code " +"renvoyé est structuré de façon à être utilisé avec :func:`setlocale`. Si la " +"normalisation échoue, le nom d'origine est renvoyé inchangé." #: ../Doc/library/locale.rst:326 msgid "" "If the given encoding is not known, the function defaults to the default " "encoding for the locale code just like :func:`setlocale`." msgstr "" +"Si l'encodage donné n'est pas connu, la fonction utilise l'encodage par " +"défaut pour le code du paramètre régional, tout comme :func:`setlocale`." #: ../Doc/library/locale.rst:332 msgid "Sets the locale for *category* to the default setting." msgstr "" +"Définit le paramètre régional de la catégorie *category* au réglage par " +"défaut." #: ../Doc/library/locale.rst:334 msgid "" "The default setting is determined by calling :func:`getdefaultlocale`. " "*category* defaults to :const:`LC_ALL`." msgstr "" +"Le réglage par défaut est déterminé en appelant :func:`getdefaultlocale`. La " +"catégorie *category* vaut par défaut :const:`LC_ALL`." #: ../Doc/library/locale.rst:340 msgid "" @@ -535,6 +689,10 @@ msgid "" "``0``, depending on whether *string1* collates before or after *string2* or " "is equal to it." msgstr "" +"Compare deux chaînes en se basant sur le paramètre :const:`LC_COLLATE` " +"actuel. Comme toute autre fonction de comparaison, renvoie une valeur " +"négative, positive, ou ``0``, selon si *string1* est lexicographiquement " +"inférieure, supérieure, ou égale à *string2*." #: ../Doc/library/locale.rst:348 msgid "" @@ -543,6 +701,11 @@ msgid "" "s2) < 0``. This function can be used when the same string is compared " "repeatedly, e.g. when collating a sequence of strings." msgstr "" +"Transforme une chaîne de caractères en une chaîne qui peut être utilisée " +"dans les comparaisons sensibles aux paramètres régionaux. Par exemple, " +"``strxfrm(s1) < strxfrm(s2)`` est équivalent à ``strcoll(s1, s2) < 0``. " +"Cette fonction peut être utilisée lorsque la même chaîne est comparée de " +"façon répétitive, par exemple lors de l'assemblage d'une séquence de chaînes." #: ../Doc/library/locale.rst:357 msgid "" @@ -551,12 +714,18 @@ msgid "" "point values, the decimal point is modified if appropriate. If *grouping* " "is true, also takes the grouping into account." msgstr "" +"Structure un nombre *val* en fonction du paramètre :const:`LC_NUMERIC` " +"actuel. Le format suit les conventions de l'opérateur ``%``. Pour les " +"valeurs à virgule flottante, le point décimal est modifié si nécessaire. Si " +"*grouping* est vrai, le regroupement est également pris en compte." #: ../Doc/library/locale.rst:362 msgid "" "If *monetary* is true, the conversion uses monetary thousands separator and " "grouping strings." msgstr "" +"Si *monetary* est vrai, la conversion utilise un séparateur des milliers " +"monétaire et des chaînes de regroupement." #: ../Doc/library/locale.rst:365 msgid "" @@ -569,12 +738,16 @@ msgid "" "Processes formatting specifiers as in ``format % val``, but takes the " "current locale settings into account." msgstr "" +"Traite les marqueurs de structure en ``format % val``, mais en prenant en " +"compte les paramètres régionaux actuels." #: ../Doc/library/locale.rst:377 msgid "" "Formats a number *val* according to the current :const:`LC_MONETARY` " "settings." msgstr "" +"Structure un nombre *val* en fonction du paramètre :const:`LC_MONETARY` " +"actuel." #: ../Doc/library/locale.rst:379 msgid "" @@ -583,36 +756,51 @@ msgid "" "is done with the value. If *international* is true (which is not the " "default), the international currency symbol is used." msgstr "" +"La chaîne renvoyée inclut le symbole monétaire si *symbol* est vrai, ce qui " +"est le cas par défaut. Si *grouping* est vrai (ce qui n'est pas le cas par " +"défaut), un regroupement est effectué avec la valeur. Si *international* est " +"vrai (ce qui n'est pas le cas par défaut), le symbole de la devise " +"internationale est utilisé." #: ../Doc/library/locale.rst:384 msgid "" "Note that this function will not work with the 'C' locale, so you have to " "set a locale via :func:`setlocale` first." msgstr "" +"Notez que cette fonction ne fonctionnera pas avec le paramètre régional 'C', " +"vous devez donc d'abord en définir un via :func:`setlocale`." #: ../Doc/library/locale.rst:390 msgid "" "Formats a floating point number using the same format as the built-in " "function ``str(float)``, but takes the decimal point into account." msgstr "" +"Structure un nombre flottant en utilisant le même format que la fonction " +"native ``str(float)``, mais en prenant en compte le point décimal." #: ../Doc/library/locale.rst:396 msgid "" "Converts a string into a normalized number string, following the :const:" "`LC_NUMERIC` settings." msgstr "" +"Convertit une chaîne de caractères en une chaîne de nombres normalisés, en " +"suivant les réglages :const:`LC_NUMERIC`." #: ../Doc/library/locale.rst:404 msgid "" "Converts a string to a floating point number, following the :const:" "`LC_NUMERIC` settings." msgstr "" +"Convertit une chaîne de caractères en nombre à virgule flottante, en suivant " +"les réglages :const:`LC_NUMERIC`." #: ../Doc/library/locale.rst:410 msgid "" "Converts a string to an integer, following the :const:`LC_NUMERIC` " "conventions." msgstr "" +"Convertit une chaîne de caractères en un entier, en suivant les réglages :" +"const:`LC_NUMERIC`." #: ../Doc/library/locale.rst:417 msgid "" @@ -620,24 +808,35 @@ msgid "" "of this category, the functions of module :mod:`string` dealing with case " "change their behaviour." msgstr "" +"Catégorie de paramètre régional pour les fonctions de type caractère. " +"Suivant les réglages de la catégorie, les fonctions du module :mod:`string` " +"gérant la casse peuvent changer leur comportement." #: ../Doc/library/locale.rst:424 msgid "" "Locale category for sorting strings. The functions :func:`strcoll` and :" "func:`strxfrm` of the :mod:`locale` module are affected." msgstr "" +"Catégorie de paramètre régional pour les tris de chaînes de caractères. Les " +"fonctions :func:`strcoll` et :func:`strxfrm` du module :mod:`locale` sont " +"concernées." #: ../Doc/library/locale.rst:430 msgid "" "Locale category for the formatting of time. The function :func:`time." "strftime` follows these conventions." msgstr "" +"Catégorie de paramètre régional pour la mise en forme de la date et de " +"l'heure. La fonction :func:`time.strftime` suit ces conventions." #: ../Doc/library/locale.rst:436 msgid "" "Locale category for formatting of monetary values. The available options " "are available from the :func:`localeconv` function." msgstr "" +"Catégorie de paramètre régional pour la mise en forme des valeurs " +"monétaires. Les options disponibles sont accessibles à partir de la " +"fonction :func:`localeconv`." #: ../Doc/library/locale.rst:442 msgid "" @@ -646,6 +845,11 @@ msgid "" "operating system, like those returned by :func:`os.strerror` might be " "affected by this category." msgstr "" +"Catégorie de paramètre régional pour l'affichage de messages. Actuellement, " +"Python ne gère pas les messages spécifiques aux applications qui sont " +"sensibles aux paramètres régionaux. Les messages affichés par le système " +"d'exploitation, comme ceux renvoyés par :func:`os.strerror` peuvent être " +"affectés par cette catégorie." #: ../Doc/library/locale.rst:450 msgid "" @@ -654,6 +858,10 @@ msgid "" "affected by that category. All other numeric formatting operations are not " "affected." msgstr "" +"Catégorie de paramètre régional pour la mise en forme des nombres. Les " +"fonctions :func:`.format`, :func:`atoi`, :func:`atof` et :func:`.str` du " +"module :mod:`locale` sont affectées par cette catégorie. Toutes les autres " +"opérations de mise en forme des nombres ne sont pas affectées." #: ../Doc/library/locale.rst:458 msgid "" @@ -664,12 +872,21 @@ msgid "" "categories is returned. This string can be later used to restore the " "settings." msgstr "" +"Combinaison de tous les paramètres régionaux. Si cette option est utilisée " +"lors du changement de paramètres régionaux, la définition de ces paramètres " +"pour toutes les catégories est tentée. Si cela échoue pour n'importe quelle " +"catégorie, aucune d'entre elles n'est modifiée. Lorsque les paramètres " +"régionaux sont récupérés à l'aide de cette option, une chaîne de caractères " +"indiquant le réglage pour toutes les catégories est renvoyée. Cette chaîne " +"peut alors être utilisée plus tard pour restaurer les paramètres d'origine." #: ../Doc/library/locale.rst:467 msgid "" "This is a symbolic constant used for different values returned by :func:" "`localeconv`." msgstr "" +"Ceci est une constante symbolique utilisée pour différentes valeurs " +"renvoyées par :func:`localeconv`." #: ../Doc/library/locale.rst:471 msgid "Example::" @@ -677,7 +894,7 @@ msgstr "Exemple ::" #: ../Doc/library/locale.rst:484 msgid "Background, details, hints, tips and caveats" -msgstr "" +msgstr "Contexte, détails, conseils, astuces et mises en garde" #: ../Doc/library/locale.rst:486 msgid "" @@ -686,6 +903,11 @@ msgid "" "broken in such a way that frequent locale changes may cause core dumps. " "This makes the locale somewhat painful to use correctly." msgstr "" +"La norme C définie les paramètres régionaux comme une propriété à l'échelle " +"d'un programme, qui peut être relativement coûteuse à changer. En plus de " +"cela, certaines implémentations ne fonctionnent pas car des changements " +"fréquents de paramètres régionaux peuvent causer des *core dumps*. Cela " +"rend l'utilisation correcte de ces paramètres quelque peu pénible." #: ../Doc/library/locale.rst:491 msgid "" @@ -696,6 +918,13 @@ msgid "" "explicitly say that it wants the user's preferred locale settings for other " "categories by calling ``setlocale(LC_ALL, '')``." msgstr "" +"Initialement, lorsqu'un programme est démarré, les paramètres régionaux " +"``C`` sont utilisés, peu importe les réglages de l'utilisateur. Il y a " +"toutefois une exception : la catégorie :data:`LC_CTYPE` est modifiée au " +"démarrage pour définir l'encodage des paramètres régionaux actuels comme " +"celui défini par l'utilisateur. Le programme doit explicitement dire qu'il " +"veut utiliser les réglages de l'utilisateur pour les autres catégories, en " +"appelant ``setlocale(LC_ALL, '')``." #: ../Doc/library/locale.rst:498 msgid "" @@ -704,6 +933,11 @@ msgid "" "restoring it is almost as bad: it is expensive and affects other threads " "that happen to run before the settings have been restored." msgstr "" +"C'est généralement une mauvaise idée d'appeler :func:`setlocale` dans une " +"routine de bibliothèque car cela a pour effet secondaire d'affecter le " +"programme entier. Sauvegarder et restaurer les paramètres est presque aussi " +"mauvais : c'est coûteux et cela affecte d'autres fils d'exécutions qui " +"s'exécutent avant que les paramètres n'aient été restaurés." #: ../Doc/library/locale.rst:503 msgid "" @@ -715,6 +949,14 @@ msgid "" "you document that your module is not compatible with non-\\ ``C`` locale " "settings." msgstr "" +"Si, lors du développement d'un module à usage général, vous avez besoin " +"d'une version indépendante des paramètres régionaux pour une opération y " +"étant sensible (comme c'est le cas pour certains formats utilisés avec :func:" +"`time.strftime`), vous devez trouver un moyen de le faire sans utiliser la " +"routine de la bibliothèque standard. Le mieux est encore de se convaincre " +"que l'usage des paramètres régionaux est une bonne chose. Ce n'est qu'en " +"dernier recours que vous devez documenter que votre module n'est pas " +"compatible avec les réglages du paramètre régional ``C``." #: ../Doc/library/locale.rst:510 msgid "" @@ -722,6 +964,9 @@ msgid "" "the special functions defined by this module: :func:`atof`, :func:`atoi`, :" "func:`.format`, :func:`.str`." msgstr "" +"La seule façon d'effectuer des opérations numériques conformément aux " +"paramètres régionaux est d'utiliser les fonctions spéciales définies par ce " +"module : :func:`atof`, :func:`atoi`, :func:`.format`, :func:`.str`." #: ../Doc/library/locale.rst:514 msgid "" @@ -733,10 +978,18 @@ msgid "" "converted or considered part of a character class such as letter or " "whitespace." msgstr "" +"Il n'y a aucun moyen d'effectuer des conversions de casse et des " +"classifications de caractères en fonction des paramètres régionaux. Pour " +"les chaînes de caractères (Unicode), celles-ci se font uniquement en " +"fonction de la valeur du caractère, tandis que pour les chaînes d'octets, " +"les conversions et les classifications se font en fonction de la valeur " +"ASCII de l'octet, et les octets dont le bit de poids fort est à 1 (c'est-à-" +"dire les octets non ASCII) ne sont jamais convertis ou considérés comme " +"faisant partie d'une classe de caractères comme une lettre ou une espace." #: ../Doc/library/locale.rst:525 msgid "For extension writers and programs that embed Python" -msgstr "" +msgstr "Pour les auteurs d'extensions et les programmes qui intègrent Python" #: ../Doc/library/locale.rst:527 msgid "" @@ -745,6 +998,10 @@ msgid "" "portably to restore it, that is not very useful (except perhaps to find out " "whether or not the locale is ``C``)." msgstr "" +"Les modules d'extensions ne devraient jamais appeler :func:`setlocale`, sauf " +"pour connaître le paramètre régional actuel. Mais comme la valeur renvoyée " +"ne peut être utilisée que pour le restaurer, ce n'est pas très utile (sauf " +"peut-être pour savoir si le paramètre régional est défini à ``C`` ou non)." #: ../Doc/library/locale.rst:532 msgid "" @@ -755,10 +1012,17 @@ msgid "" "file:`config.c` file, and make sure that the :mod:`_locale` module is not " "accessible as a shared library." msgstr "" +"Lorsque le code Python utilise le module :mod:`locale` pour changer le " +"paramètre régional, cela affecte également l'application intégrée. Si " +"l'application intégrée ne souhaite pas que cela se produise, elle doit " +"supprimer le module d'extension :mod:`_locale` (qui fait tout le travail) de " +"la table des modules natifs se trouvant dans le fichier :file:`config.c`, et " +"s'assurer que le module :mod:`_locale` n'est pas accessible en tant que " +"bibliothèque partagée." #: ../Doc/library/locale.rst:543 msgid "Access to message catalogs" -msgstr "" +msgstr "Accéder aux catalogues de messages" #: ../Doc/library/locale.rst:545 msgid "" diff --git a/library/logging.config.po b/library/logging.config.po index 3593aecc..7b75dd7c 100644 --- a/library/logging.config.po +++ b/library/logging.config.po @@ -32,18 +32,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 `" -msgstr "" +msgstr ":ref:`Tutoriel basique `" #: ../Doc/library/logging.config.rst:18 msgid ":ref:`Advanced Tutorial `" -msgstr "" +msgstr ":ref:`Tutoriel avancé `" #: ../Doc/library/logging.config.rst:19 msgid ":ref:`Logging Cookbook `" -msgstr "" +msgstr ":ref:`Recettes pour la journalisation `" #: ../Doc/library/logging.config.rst:23 msgid "This section describes the API for configuring the logging module." diff --git a/library/logging.handlers.po b/library/logging.handlers.po index 2de96078..b697cd69 100644 --- a/library/logging.handlers.po +++ b/library/logging.handlers.po @@ -18,11 +18,11 @@ 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:0 msgid "Important" @@ -32,18 +32,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.handlers.rst:17 msgid ":ref:`Basic Tutorial `" -msgstr "" +msgstr ":ref:`Tutoriel basique `" #: ../Doc/library/logging.handlers.rst:18 msgid ":ref:`Advanced Tutorial `" -msgstr "" +msgstr ":ref:`Tutoriel avancé `" #: ../Doc/library/logging.handlers.rst:19 msgid ":ref:`Logging Cookbook `" -msgstr "" +msgstr ":ref:`Recettes pour la journalisation `" #: ../Doc/library/logging.handlers.rst:25 msgid "" @@ -52,10 +54,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 "" @@ -64,6 +71,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 "" @@ -71,6 +82,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 "" @@ -86,6 +100,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 "" @@ -98,7 +116,7 @@ msgstr "" #: ../Doc/library/logging.handlers.rst:72 msgid "FileHandler" -msgstr "" +msgstr "Gestionnaire à fichier — *FileHandler*" #: ../Doc/library/logging.handlers.rst:74 msgid "" @@ -106,6 +124,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 "" @@ -119,15 +140,15 @@ msgstr "" #: ../Doc/library/logging.handlers.rst:90 msgid "Closes the file." -msgstr "" +msgstr "Ferme le fichier." #: ../Doc/library/logging.handlers.rst:95 msgid "Outputs the record to the file." -msgstr "" +msgstr "Écrit l’enregistrement dans le fichier." #: ../Doc/library/logging.handlers.rst:101 msgid "NullHandler" -msgstr "" +msgstr "Gestionnaire à puits sans fond — *NullHandler*" #: ../Doc/library/logging.handlers.rst:105 msgid "" @@ -135,31 +156,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:111 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:115 #: ../Doc/library/logging.handlers.rst:119 msgid "This method does nothing." -msgstr "" +msgstr "Cette méthode ne fait rien." #: ../Doc/library/logging.handlers.rst:123 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:127 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:133 msgid "WatchedFileHandler" -msgstr "" +msgstr "Gestionnaire à fichier avec surveillance — *WatchedFileHandler*" #: ../Doc/library/logging.handlers.rst:137 msgid "" @@ -168,6 +196,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:141 msgid "" @@ -178,6 +210,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:148 msgid "" @@ -187,6 +227,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:157 msgid "" @@ -207,7 +253,7 @@ msgstr "" #: ../Doc/library/logging.handlers.rst:173 msgid "BaseRotatingHandler" -msgstr "" +msgstr "Base des gestionnaires à roulement *BaseRotatingHandler*" #: ../Doc/library/logging.handlers.rst:175 msgid "" @@ -217,10 +263,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:183 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:187 msgid "" @@ -228,6 +281,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:191 msgid "" @@ -236,6 +292,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:201 msgid "" @@ -243,14 +303,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:209 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:211 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:213 msgid "" @@ -258,14 +322,17 @@ msgid "" "it's callable, passing the default name to it. If the attribute isn't " "callable (the default is ``None``), the name is returned unchanged." msgstr "" +"L’implémentation par défaut appelle l’attribut *namer* du gestionnaire, si " +"c’est un appelable, lui passant le nom par défaut. Si l’attribut n’est pas " +"un appelable (le défaut est ``None``), le nom est renvoyé tel quel." #: ../Doc/library/logging.handlers.rst:217 msgid "The default name for the log file." -msgstr "" +msgstr "Le nom par défaut du fichier de journalisation." #: ../Doc/library/logging.handlers.rst:224 msgid "When rotating, rotate the current log." -msgstr "" +msgstr "Lors du roulement, effectue le roulement du journal courant." #: ../Doc/library/logging.handlers.rst:226 msgid "" @@ -274,17 +341,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:231 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:233 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:238 msgid "" @@ -295,26 +370,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:245 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:248 msgid "For an example, see :ref:`cookbook-rotator-namer`." -msgstr "" +msgstr "Pour un exemple, voir :ref:`cookbook-rotator-namer`." #: ../Doc/library/logging.handlers.rst:254 msgid "RotatingFileHandler" -msgstr "" +msgstr "Gestionnaire à roulement de fichiers — *RotatingFileHandler*" #: ../Doc/library/logging.handlers.rst:256 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:262 msgid "" @@ -346,17 +431,20 @@ msgstr "" #: ../Doc/library/logging.handlers.rst:285 #: ../Doc/library/logging.handlers.rst:362 msgid "Does a rollover, as described above." -msgstr "" +msgstr "Effectue un roulement, comme décrit au-dessus." #: ../Doc/library/logging.handlers.rst:290 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:296 msgid "TimedRotatingFileHandler" msgstr "" +"Gestionnaire à roulement de fichiers périodique — *TimedRotatingFileHandler*" #: ../Doc/library/logging.handlers.rst:298 msgid "" @@ -364,6 +452,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:305 msgid "" @@ -372,12 +463,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:310 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:314 msgid "Value" @@ -385,7 +483,7 @@ msgstr "Valeur" #: ../Doc/library/logging.handlers.rst:314 msgid "Type of interval" -msgstr "" +msgstr "Type d’intervalle" #: ../Doc/library/logging.handlers.rst:316 msgid "``'S'``" @@ -393,7 +491,7 @@ msgstr "``'S'``" #: ../Doc/library/logging.handlers.rst:316 msgid "Seconds" -msgstr "" +msgstr "Secondes" #: ../Doc/library/logging.handlers.rst:318 msgid "``'M'``" @@ -401,7 +499,7 @@ msgstr "``'M'``" #: ../Doc/library/logging.handlers.rst:318 msgid "Minutes" -msgstr "" +msgstr "Minutes" #: ../Doc/library/logging.handlers.rst:320 msgid "``'H'``" @@ -409,7 +507,7 @@ msgstr "``'H'``" #: ../Doc/library/logging.handlers.rst:320 msgid "Hours" -msgstr "" +msgstr "Heures" #: ../Doc/library/logging.handlers.rst:322 msgid "``'D'``" @@ -417,7 +515,7 @@ msgstr "``'D'``" #: ../Doc/library/logging.handlers.rst:322 msgid "Days" -msgstr "" +msgstr "Jours" #: ../Doc/library/logging.handlers.rst:324 msgid "``'W0'-'W6'``" @@ -425,7 +523,7 @@ msgstr "``'W0'-'W6'``" #: ../Doc/library/logging.handlers.rst:324 msgid "Weekday (0=Monday)" -msgstr "" +msgstr "Jour de la semaine (0=lundi)" #: ../Doc/library/logging.handlers.rst:326 msgid "``'midnight'``" @@ -441,6 +539,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:333 msgid "" @@ -448,6 +550,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:338 msgid "" @@ -455,6 +561,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:342 msgid "" diff --git a/library/logging.po b/library/logging.po index f52a06a3..f9486905 100644 --- a/library/logging.po +++ b/library/logging.po @@ -18,11 +18,11 @@ msgstr "" #: ../Doc/library/logging.rst:2 msgid ":mod:`logging` --- Logging facility for Python" -msgstr "" +msgstr ":mod:`logging` — Fonctionnalités de journalisation pour Python" #: ../Doc/library/logging.rst:10 msgid "**Source code:** :source:`Lib/logging/__init__.py`" -msgstr "" +msgstr "**Code source :** :source:`Lib/logging/__init__.py`" #: ../Doc/library/logging.rst:0 msgid "Important" @@ -33,24 +33,29 @@ msgid "" "This page contains the API reference information. For tutorial information " "and discussion of more advanced topics, see" msgstr "" +"Cette page contient les informations de référence de l’API. Pour des " +"tutoriels et des discussions sur des sujets plus avancés, voir" #: ../Doc/library/logging.rst:19 msgid ":ref:`Basic Tutorial `" -msgstr "" +msgstr ":ref:`Tutoriel basique `" #: ../Doc/library/logging.rst:20 msgid ":ref:`Advanced Tutorial `" -msgstr "" +msgstr ":ref:`Tutoriel avancé `" #: ../Doc/library/logging.rst:21 msgid ":ref:`Logging Cookbook `" -msgstr "" +msgstr ":ref:`Recettes pour la journalisation `" #: ../Doc/library/logging.rst:25 msgid "" "This module defines functions and classes which implement a flexible event " "logging system for applications and libraries." msgstr "" +"Ce module définit les fonctions et les classes qui mettent en œuvre un " +"système flexible d’enregistrement des événements pour les applications et " +"les bibliothèques." #: ../Doc/library/logging.rst:28 msgid "" @@ -59,6 +64,10 @@ msgid "" "application log can include your own messages integrated with messages from " "third-party modules." msgstr "" +"Le principal avantage de l’API de journalisation fournie par un module de " +"bibliothèque standard est que tous les modules Python peuvent participer à " +"la journalisation, de sorte que le journal de votre application peut inclure " +"vos propres messages intégrés aux messages de modules tiers." #: ../Doc/library/logging.rst:33 msgid "" @@ -66,12 +75,17 @@ msgid "" "unfamiliar with logging, the best way to get to grips with it is to see the " "tutorials (see the links on the right)." msgstr "" +"Le module offre beaucoup de fonctionnalités et de flexibilité. Si vous " +"n’êtes pas familiarisé avec la journalisation, la meilleure façon de vous y " +"familiariser est de consulter les tutoriels (voir les liens à droite)." #: ../Doc/library/logging.rst:37 msgid "" "The basic classes defined by the module, together with their functions, are " "listed below." msgstr "" +"Les classes de base définies par le module, ainsi que leurs fonctions, sont " +"énumérées ci-dessous." #: ../Doc/library/logging.rst:40 msgid "Loggers expose the interface that application code directly uses." @@ -103,7 +117,7 @@ msgstr "" #: ../Doc/library/logging.rst:51 msgid "Logger Objects" -msgstr "" +msgstr "Objets Enregistreurs" #: ../Doc/library/logging.rst:53 msgid "" @@ -126,6 +140,18 @@ msgid "" "getLogger(__name__)``. That's because in a module, ``__name__`` is the " "module's name in the Python package namespace." msgstr "" +"Le nom ``name`` est potentiellement une valeur avec plusieurs niveaux de " +"hiérarchie, séparés par des points, comme ``truc.machin.bidule`` (bien qu’il " +"puisse aussi être simplement ``truc``, par exemple). Les enregistreurs qui " +"sont plus bas dans la liste hiérarchique sont les enfants des enregistreurs " +"plus haut dans la liste. Par exemple, pour un enregistreur nommé ``truc``, " +"les enregistreurs portant les noms ``truc.machin``, ``truc.machin.bidule`` " +"et ``truc.chose`` sont tous des descendants de ``truc``. La hiérarchie des " +"noms d’enregistreurs est analogue à la hiérarchie des paquets Python, et est " +"identique à celle-ci si vous organisez vos enregistreurs par module en " +"utilisant la construction recommandée ``logging.getLogger(__name__)``. " +"C’est ainsi parce que dans un module, ``__name__`` est le nom du module dans " +"l’espace de noms des paquets Python." #: ../Doc/library/logging.rst:74 msgid "" @@ -141,10 +167,12 @@ msgid "" "If this evaluates to false, logging messages are not passed to the handlers " "of ancestor loggers." msgstr "" +"S’il s’évalue comme faux, les messages de journalisation ne sont pas " +"transmis aux gestionnaires des enregistreurs parents." #: ../Doc/library/logging.rst:83 msgid "The constructor sets this attribute to ``True``." -msgstr "" +msgstr "Le constructeur fixe cet attribut à ``True``." #: ../Doc/library/logging.rst:85 msgid "" @@ -157,6 +185,15 @@ msgid "" "handlers only to the root logger, and to let propagation take care of the " "rest." msgstr "" +"Si vous associez un gestionnaire à un enregistreur *et* à un ou plusieurs de " +"ses parents, il peut émettre le même enregistrement plusieurs fois. En " +"général, vous ne devriez pas avoir besoin d'attacher un gestionnaire à plus " +"d'un enregistreur — si vous l'attachez simplement à l'enregistreur approprié " +"qui est le plus haut dans la hiérarchie des enregistreurs, alors il voit " +"tous les événements enregistrés par tous les enregistreurs descendants, à " +"condition que leur paramètre de propagation soit laissé à ``True``. Un " +"scénario courant est d'attacher les gestionnaires uniquement à " +"l'enregistreur racine, et de laisser la propagation s'occuper du reste." #: ../Doc/library/logging.rst:96 msgid "" @@ -174,6 +211,10 @@ msgid "" "NOTSET, its chain of ancestor loggers is traversed until either an ancestor " "with a level other than NOTSET is found, or the root is reached." msgstr "" +"Le terme « délégation au parent » signifie que si un enregistreur a un " +"niveau de ``NOTSET``, sa chaîne d’enregistreurs parents est parcourue " +"jusqu'à ce qu'un parent ayant un niveau autre que ``NOTSET`` soit trouvé, ou " +"que la racine soit atteinte." #: ../Doc/library/logging.rst:106 msgid "" @@ -181,6 +222,10 @@ msgid "" "level is treated as the effective level of the logger where the ancestor " "search began, and is used to determine how a logging event is handled." msgstr "" +"Si un ancêtre est trouvé avec un niveau autre que NOTSET, alors le niveau de " +"ce parent est traité comme le niveau effectif de l'enregistreur où la " +"recherche de l'ancêtre a commencé, et est utilisé pour déterminer comment un " +"événement d'enregistrement est traité." #: ../Doc/library/logging.rst:110 msgid "" @@ -188,10 +233,13 @@ msgid "" "be processed. Otherwise, the root's level will be used as the effective " "level." msgstr "" +"Si la racine est atteinte, et qu'elle a un niveau de NOTSET, alors tous les " +"messages sont traités. Sinon, le niveau de la racine est utilisé comme " +"niveau effectif." #: ../Doc/library/logging.rst:113 ../Doc/library/logging.rst:395 msgid "See :ref:`levels` for a list of levels." -msgstr "" +msgstr "Voir :ref:`levels` pour la liste des niveaux." #: ../Doc/library/logging.rst:115 msgid "" @@ -218,6 +266,12 @@ msgid "" "`NOTSET` is found, and that value is returned. The value returned is an " "integer, typically one of :const:`logging.DEBUG`, :const:`logging.INFO` etc." msgstr "" +"Indique le niveau effectif pour cet enregistreur. Si une valeur autre que :" +"const:`NOTSET` a été définie en utilisant :meth:`setLevel`, elle est " +"renvoyée. Sinon, la hiérarchie est parcourue vers la racine jusqu'à ce " +"qu'une valeur autre que :const:`NOTSET` soit trouvée, et cette valeur est " +"renvoyée. La valeur renvoyée est un entier, généralement l'un de :const:" +"`logging.DEBUG`, :const:`logging.INFO`, etc." #: ../Doc/library/logging.rst:143 msgid "" @@ -227,6 +281,12 @@ msgid "" "ghi')``. This is a convenience method, useful when the parent logger is " "named using e.g. ``__name__`` rather than a literal string." msgstr "" +"Renvoie un enregistreur qui est un enfant de cet enregistreur, tel que " +"déterminé par le suffixe. Ainsi, ``logging.getLogger('abc').getChild('def." +"ghi')`` renvoie le même enregistreur que celui renvoyé par ``logging." +"getLogger('abc.def.ghi')``. C'est une méthode de pure commodité, utile " +"lorsque l’enregistreur parent est nommé en utilisant par exemple " +"``__name__`` plutôt qu'une chaîne de caractères littérale." #: ../Doc/library/logging.rst:154 msgid "" diff --git a/library/lzma.po b/library/lzma.po index 80432f75..204f76f3 100644 --- a/library/lzma.po +++ b/library/lzma.po @@ -45,16 +45,24 @@ msgid "" "`LZMAFile` instance from multiple threads, it is necessary to protect it " "with a lock." msgstr "" +"L'interface disponible par ce module ressemble en de nombreux points à celle " +"du module :mod:`bz2`. Cependant, notez que la :class:`LZMAFile` n'est pas " +"*thread-safe*, comme l'est la :class:`bz2.BZ2File`. Donc, si vous souhaitez " +"utiliser une seule instance de :class:`LZMAFile` pour plusieurs fils, il " +"sera alors nécessaire de la protéger avec un verrou (*lock*)." #: ../Doc/library/lzma.rst:29 msgid "" "This exception is raised when an error occurs during compression or " "decompression, or while initializing the compressor/decompressor state." msgstr "" +"Cette exception est levée dès lors qu'une erreur survient pendant la " +"compression ou la décompression, ou pendant l'initialisation de l'état de la " +"compression/décompression." #: ../Doc/library/lzma.rst:34 msgid "Reading and writing compressed files" -msgstr "" +msgstr "Lire et écrire des fichiers compressés" #: ../Doc/library/lzma.rst:38 msgid "" @@ -76,6 +84,10 @@ msgid "" "\"rt\"``, ``\"wt\"``, ``\"xt\"``, or ``\"at\"`` for text mode. The default " "is ``\"rb\"``." msgstr "" +"L'argument *mode* peut être n'importe quel argument suivant : ``\"r\"``, ``" +"\"rb\"``, ``\"w\"``, ``\"wb\"``, ``\"x\"``, ``\"xb\"``, ``\"a\"`` ou ``\"ab" +"\"`` pour le mode binaire, ou ``\"rt\"``, ``\"wt\"``, ``\"xt\"``, ou ``\"at" +"\"`` pour le mode texte. La valeur par défaut est ``\"rb\"``." #: ../Doc/library/lzma.rst:49 ../Doc/library/lzma.rst:90 msgid "" @@ -83,12 +95,18 @@ msgid "" "the same meanings as for :class:`LZMADecompressor`. In this case, the " "*check* and *preset* arguments should not be used." msgstr "" +"Quand un fichier est ouvert pour le lire, les arguments *format* et " +"*filters* ont les mêmes significations que pour la :class:" +"`LZMADecompressor`. Par conséquent, les arguments *check* et *preset* ne " +"devront pas être sollicités." #: ../Doc/library/lzma.rst:53 ../Doc/library/lzma.rst:94 msgid "" "When opening a file for writing, the *format*, *check*, *preset* and " "*filters* arguments have the same meanings as for :class:`LZMACompressor`." msgstr "" +"Dès ouverture d'un fichier pour l'écriture, les arguments *format*, *check*, " +"*preset* et *filters* ont le même sens que dans la :class:`LZMACompressor`." #: ../Doc/library/lzma.rst:56 msgid "" @@ -96,6 +114,9 @@ msgid "" "constructor: ``LZMAFile(filename, mode, ...)``. In this case, the " "*encoding*, *errors* and *newline* arguments must not be provided." msgstr "" +"Pour le mode binaire, cette fonction équivaut au constructeur de la :class:" +"`LZMAFile` : ``LZMAFile(filename, mode, ...)``. Dans ce cas précis, les " +"arguments *encoding*, *errors* et *newline* ne sont pas accessibles." #: ../Doc/library/lzma.rst:60 msgid "" @@ -106,11 +127,11 @@ msgstr "" #: ../Doc/library/lzma.rst:64 msgid "Added support for the ``\"x\"``, ``\"xb\"`` and ``\"xt\"`` modes." -msgstr "" +msgstr "Support ajouté pour les modes ``\"x\"``, ``\"xb\"`` et ``\"xt\"``." #: ../Doc/library/lzma.rst:70 msgid "Open an LZMA-compressed file in binary mode." -msgstr "" +msgstr "Ouvre un fichier LZMA compressé en mode binaire." #: ../Doc/library/lzma.rst:72 msgid "" @@ -128,6 +149,10 @@ msgid "" "appending. These can equivalently be given as ``\"rb\"``, ``\"wb\"``, ``\"xb" "\"`` and ``\"ab\"`` respectively." msgstr "" +"L'argument *mode* peut être soit ``\"r\"`` pour la lecture (défaut), ``\"w" +"\"`` pour la ré-écriture, ``\"x\"`` pour la création exclusive, ou ``\"a\"`` " +"pour l'insertion. Elles peuvent aussi être écrites de la façon suivante : ``" +"\"rb\"``, ``\"wb\"``, ``\"xb\"`` et ``\"ab\"`` respectivement." #: ../Doc/library/lzma.rst:83 msgid "" @@ -141,6 +166,9 @@ msgid "" "multiple separate compressed streams. These are transparently decoded as a " "single logical stream." msgstr "" +"Dès l'ouverture d'un fichier pour être lu, le fichier d'entrée peut être le " +"résultat d'une concaténation de plusieurs flux distincts et compressés. Ceux-" +"ci sont décodés de manière transparente en un seul flux logique." #: ../Doc/library/lzma.rst:97 msgid "" @@ -151,7 +179,7 @@ msgstr "" #: ../Doc/library/lzma.rst:101 msgid "The following method is also provided:" -msgstr "" +msgstr "Les méthodes suivantes sont aussi disponibles :" #: ../Doc/library/lzma.rst:105 msgid "" @@ -159,6 +187,10 @@ msgid "" "of data will be returned, unless EOF has been reached. The exact number of " "bytes returned is unspecified (the *size* argument is ignored)." msgstr "" +"Renvoie la donnée en mémoire-tampon sans progression de la position du " +"fichier. Au moins un octet de donnée sera renvoyé, jusqu'à ce que l'EOF soit " +"atteinte. Le nombre exact d'octets renvoyés demeure indéterminé (l'argument " +"*taille* est ignoré). " #: ../Doc/library/lzma.rst:109 msgid "" @@ -177,49 +209,61 @@ msgid "" "The :meth:`~io.BufferedIOBase.read` method now accepts an argument of " "``None``." msgstr "" +"La méthode :meth:`~io.BufferedIOBase.read` accepte maintenant un argument " +"``None``." #: ../Doc/library/lzma.rst:123 msgid "Compressing and decompressing data in memory" -msgstr "" +msgstr "Compresser et décompresser une donnée en mémoire" #: ../Doc/library/lzma.rst:127 msgid "" "Create a compressor object, which can be used to compress data incrementally." msgstr "" +"Créé un objet compresseur, qui peut être utilisé pour compresser " +"incrémentalement une donnée." #: ../Doc/library/lzma.rst:129 msgid "" "For a more convenient way of compressing a single chunk of data, see :func:" "`compress`." msgstr "" +"Pour une façon plus adaptée de compresser un seul extrait de donnée, voir :" +"func:`compress`." #: ../Doc/library/lzma.rst:132 msgid "" "The *format* argument specifies what container format should be used. " "Possible values are:" msgstr "" +"L'argument *format* définit quel format de conteneur sera mis en œuvre. Les " +"valeurs possibles sont :" #: ../Doc/library/lzma.rst:136 msgid ":const:`FORMAT_XZ`: The ``.xz`` container format." -msgstr "" +msgstr ":const:`FORMAT_XZ`: Le format du conteneur ``.xz``." #: ../Doc/library/lzma.rst:136 msgid "This is the default format." -msgstr "" +msgstr "C'est le format par défaut." #: ../Doc/library/lzma.rst:140 msgid ":const:`FORMAT_ALONE`: The legacy ``.lzma`` container format." -msgstr "" +msgstr ":const:`FORMAT_ALONE`: L'ancien format du conteneur ``.lzma``." #: ../Doc/library/lzma.rst:139 msgid "" "This format is more limited than ``.xz`` -- it does not support integrity " "checks or multiple filters." msgstr "" +"Ce format est davantage limité que ``.xz`` --il ne supporte pas les " +"vérifications d'intégrité ou les filtres multiples." #: ../Doc/library/lzma.rst:146 msgid ":const:`FORMAT_RAW`: A raw data stream, not using any container format." msgstr "" +":const:`FORMAT_RAW`: Un flux de données brut, n'utilisant aucun format de " +"conteneur." #: ../Doc/library/lzma.rst:143 msgid "" @@ -228,6 +272,11 @@ msgid "" "decompression). Additionally, data compressed in this manner cannot be " "decompressed using :const:`FORMAT_AUTO` (see :class:`LZMADecompressor`)." msgstr "" +"Ce format spécifique ne prend pas en charge les vérifications d'intégrité et " +"exige systématiquement la définition d'une chaîne de filtrage personnalisée " +"(à la fois pour la compression et la décompression). Par ailleurs, les " +"données compressées par ce biais ne peuvent pas être décompressées par " +"l'usage de :const:`FORMAT_AUTO` (voir : :class:`LZMADecompressor`)." #: ../Doc/library/lzma.rst:148 msgid "" @@ -235,31 +284,46 @@ msgid "" "compressed data. This check is used when decompressing, to ensure that the " "data has not been corrupted. Possible values are:" msgstr "" +"L'argument *check* détermine le type de vérification d'intégrité à exploiter " +"avec la donnée compressée. Cette vérification est déclenchée lors de la " +"décompression, pour garantir que la donnée n'a pas été corrompue. Les " +"valeurs possibles sont :" #: ../Doc/library/lzma.rst:152 msgid "" ":const:`CHECK_NONE`: No integrity check. This is the default (and the only " "acceptable value) for :const:`FORMAT_ALONE` and :const:`FORMAT_RAW`." msgstr "" +":const:`CHECK_NONE`: Pas de vérification d'intégrité. C'est la valeur par " +"défaut (et la seule valeur acceptable) pour :const:`FORMAT_ALONE` et :const:" +"`FORMAT_RAW`." #: ../Doc/library/lzma.rst:156 msgid ":const:`CHECK_CRC32`: 32-bit Cyclic Redundancy Check." msgstr "" +":const:`CHECK_CRC32`: Vérification par Redondance Cyclique 32-bit (*Cyclic " +"Redundancy Check*)." #: ../Doc/library/lzma.rst:158 msgid "" ":const:`CHECK_CRC64`: 64-bit Cyclic Redundancy Check. This is the default " "for :const:`FORMAT_XZ`." msgstr "" +":const:`CHECK_CRC64`: Vérification par Redondance Cyclique 64-bit (*Cyclic " +"Redundancy Check*). Valeur par défaut pour :const:`FORMAT_XZ`." #: ../Doc/library/lzma.rst:161 msgid ":const:`CHECK_SHA256`: 256-bit Secure Hash Algorithm." msgstr "" +":const:`CHECK_SHA256`: Algorithme de Hachage Sécurisé 256-bit (*Secure Hash " +"Algorithm*)." #: ../Doc/library/lzma.rst:163 msgid "" "If the specified check is not supported, an :class:`LZMAError` is raised." msgstr "" +"Si le type de vérification n'est pas supporté par le système, une erreur de " +"type :class:`LZMAError` est levée." #: ../Doc/library/lzma.rst:165 msgid "" @@ -267,6 +331,10 @@ msgid "" "level (with the *preset* argument), or in detail as a custom filter chain " "(with the *filters* argument)." msgstr "" +"Les réglages de compression peuvent être définis soit comme un pré-réglage " +"de niveau de compression (avec l'argument *preset*) ; soit de façon " +"détaillée comme une chaîne particulière de filtres (avec l'argument " +"*filters*)." #: ../Doc/library/lzma.rst:169 msgid "" @@ -276,6 +344,12 @@ msgid "" "behavior is to use :const:`PRESET_DEFAULT` (preset level ``6``). Higher " "presets produce smaller output, but make the compression process slower." msgstr "" +"L'argument *preset* (s'il est fourni) doit être un entier compris entre `0`` " +"et ``9`` (inclus), éventuellement relié à OR avec la constante :const:" +"`PRESET_EXTREME`. Si aucun *preset* ni *filters* ne ont définis, le " +"comportement par défaut consiste à utiliser la :const:`PRESET_DEFAULT` " +"(niveau par défaut : ``6``). Des pré-réglages plus élevés entraîne une " +"sortie plus petite, mais rend le processus de compression plus lent." #: ../Doc/library/lzma.rst:178 msgid "" @@ -285,12 +359,20 @@ msgid "" "`LZMACompressor` object can be as high as 800 MiB. For this reason, it is " "generally best to stick with the default preset." msgstr "" +"En plus d'être plus gourmande en CPU, la compression avec des préréglages " +"plus élevés nécessite beaucoup plus de mémoire (et produit des résultats qui " +"nécessitent plus de mémoire pour décompresser). Par exemple, avec le " +"préréglage ``9``, l'objet d'une :class:`LZMACompressor` peut dépasser " +"largement les 800 Mo. Pour cette raison, il est généralement préférable de " +"respecter le préréglage par défaut." #: ../Doc/library/lzma.rst:184 msgid "" "The *filters* argument (if provided) should be a filter chain specifier. " "See :ref:`filter-chain-specs` for details." msgstr "" +"L'argument *filters* (s'il est défini) doit être un critère de la chaîne de " +"filtrage. Voir :ref:`filter-chain-specs` pour plus de précisions." #: ../Doc/library/lzma.rst:189 msgid "" @@ -300,12 +382,21 @@ msgid "" "meth:`flush`. The returned data should be concatenated with the output of " "any previous calls to :meth:`compress`." msgstr "" +"Une *data* compressée (un objet :class:`bytes`), renvoie un objet :class:" +"`bytes` contenant une donnée compressée pour au moins une partie de " +"l'entrée. Certaine *data* peuvent être mise en tampon, pour être utiliser " +"lors de prochains appels par :meth:`compress` et :meth:`flush`. La donnée " +"renvoyée pourra être concaténée avec la sortie d'appels précédents vers la " +"méthode :meth:`compress`." #: ../Doc/library/lzma.rst:197 msgid "" "Finish the compression process, returning a :class:`bytes` object containing " "any data stored in the compressor's internal buffers." msgstr "" +"Conclut l'opération de compression, en renvoyant l'objet :class:`bytes` " +"constitué de toutes les données stockées dans les tampons interne du " +"compresseur." #: ../Doc/library/lzma.rst:200 msgid "The compressor cannot be used after this method has been called." @@ -316,12 +407,16 @@ msgid "" "Create a decompressor object, which can be used to decompress data " "incrementally." msgstr "" +"Créé un objet de décompression, pour décompresser de façon incrémentale une " +"donnée." #: ../Doc/library/lzma.rst:208 msgid "" "For a more convenient way of decompressing an entire compressed stream at " "once, see :func:`decompress`." msgstr "" +"Pour un moyen plus pratique de décompresser un flux compressé complet en une " +"seule fois, voir :func:`decompress`." #: ../Doc/library/lzma.rst:211 msgid "" @@ -330,6 +425,10 @@ msgid "" "``.lzma`` files. Other possible values are :const:`FORMAT_XZ`, :const:" "`FORMAT_ALONE`, and :const:`FORMAT_RAW`." msgstr "" +"L'argument *format* spécifie le format du conteneur à utiliser. La valeur " +"par défaut est :const:`FORMAT_AUTO` pouvant à la fois décompresser les " +"fichiers ``.xz`` et ``.lzma``. D'autres valeurs sont possibles comme :const:" +"`FORMAT_XZ`, :const:`FORMAT_ALONE`, et :const:`FORMAT_RAW`." #: ../Doc/library/lzma.rst:216 msgid "" @@ -338,6 +437,10 @@ msgid "" "will fail with an :class:`LZMAError` if it is not possible to decompress the " "input within the given memory limit." msgstr "" +"L'argument *memlimit* spécifie une limite (en octets) sur la quantité de " +"mémoire que le décompresseur peut utiliser. Lorsque cet argument est " +"utilisé, la décompression échouera avec une :class:`LZMAError` s'il n'est " +"pas possible de décompresser l'entrée dans la limite mémoire disponible." #: ../Doc/library/lzma.rst:221 msgid "" @@ -346,6 +449,10 @@ msgid "" "const:`FORMAT_RAW`, but should not be used for other formats. See :ref:" "`filter-chain-specs` for more information about filter chains." msgstr "" +"L'argument *filters* spécifie la chaîne de filtrage utilisée pour créer le " +"flux décompressé. Cet argument est requis si *format* est :const:" +"`FORMAT_RAW`, mais ne doit pas être utilisé pour d'autres formats. Voir :ref:" +"`filter-chain-specs` pour plus d'informations sur les chaînes de filtrage." #: ../Doc/library/lzma.rst:227 msgid "" @@ -354,6 +461,10 @@ msgid "" "decompress a multi-stream input with :class:`LZMADecompressor`, you must " "create a new decompressor for each stream." msgstr "" +"Cette classe ne gère pas de manière transparente les entrées contenant " +"plusieurs flux compressés, contrairement à :func:`decompress` et :class:" +"`LZMAFile`. Pour décompresser une entrée multi-flux avec :class:" +"`LZMADecompressor`, vous devez créer un nouveau décompresseur à chaque flux." #: ../Doc/library/lzma.rst:234 msgid "" @@ -362,6 +473,11 @@ msgid "" "to :meth:`decompress`. The returned data should be concatenated with the " "output of any previous calls to :meth:`decompress`." msgstr "" +"Décompresse *data* (un :term:`bytes-like object`), renvoyant une donnée non " +"compressée en tant que chaîne d'octets. Certaines de ces *data* peuvent être " +"mises en interne en tampon, pour un usage lors d'appels ultérieurs par la " +"méthode :meth:`decompress`. La donnée renvoyée doit être concaténée avec la " +"sortie des appels précédents à la méthode :meth:`decompress`." #: ../Doc/library/lzma.rst:240 msgid "" @@ -371,6 +487,11 @@ msgid "" "this case, the next call to :meth:`~.decompress` may provide *data* as " "``b''`` to obtain more of the output." msgstr "" +"Si *max_length* est positif, renvoie au plus *max_length* octets de données " +"compressées. Si la limite est atteinte et que d'autres sorties peuvent être " +"produites, l'attribut :attr:`~.needs_input` est positionné sur ``False``. " +"Dans ce cas, lors de l'appel suivant à la méthode :meth:`~.decompress`, vous " +"pouvez fournir ``b''`` dans *data* afin d'obtenir la suite de la sortie." #: ../Doc/library/lzma.rst:247 msgid "" @@ -378,6 +499,9 @@ msgid "" "was less than *max_length* bytes, or because *max_length* was negative), " "the :attr:`~.needs_input` attribute will be set to ``True``." msgstr "" +"Si toutes les données entrées ont été décompressées et renvoyées (soit parce " +"qu'il y avait moins de *max_length* octets, ou parce que *max_length* était " +"négatif), l'attribut :attr:`~.needs_input` sera configuré sur ``True``." #: ../Doc/library/lzma.rst:252 msgid "" @@ -385,6 +509,9 @@ msgid "" "`EOFError`. Any data found after the end of the stream is ignored and saved " "in the :attr:`~.unused_data` attribute." msgstr "" +"Essayer de décompresser des données après que la fin du flux soit atteinte " +"lève une erreur `EOFError`. Toute donnée trouvée après la fin du flux est " +"ignorée et sauvegardée dans l'attribut :attr:`~.unused_data`." #: ../Doc/library/lzma.rst:256 msgid "Added the *max_length* parameter." @@ -396,10 +523,13 @@ msgid "" "`CHECK_UNKNOWN` until enough of the input has been decoded to determine what " "integrity check it uses." msgstr "" +"L'ID de la vérification d'intégrité exploité par le flux entrant. Il s'agit " +"de :const:`CHECK_UNKNOWN` tant que ce flux a été décodé pour déterminer quel " +"type de vérification d'intégrité à été utilisé." #: ../Doc/library/lzma.rst:267 msgid "``True`` if the end-of-stream marker has been reached." -msgstr "" +msgstr "``True`` si le marqueur de fin de flux a été atteint." #: ../Doc/library/lzma.rst:271 msgid "Data found after the end of the compressed stream." @@ -407,43 +537,55 @@ msgstr "Donnée trouvée après la fin du flux compressé." #: ../Doc/library/lzma.rst:273 msgid "Before the end of the stream is reached, this will be ``b\"\"``." -msgstr "" +msgstr "Avant d'atteindre la fin du flux, ce sera ``b\"\"``." #: ../Doc/library/lzma.rst:277 msgid "" "``False`` if the :meth:`.decompress` method can provide more decompressed " "data before requiring new uncompressed input." msgstr "" +"``False`` si la méthode :meth:`.decompress` peut fournir plus de données " +"décompressées avant l'acquisition d'une nouvelle entrée non compressée." #: ../Doc/library/lzma.rst:284 msgid "" "Compress *data* (a :class:`bytes` object), returning the compressed data as " "a :class:`bytes` object." msgstr "" +"*data* compressée (un objet :class:`bytes`), renvoyant une donnée compressée " +"comme un objet :class:`bytes`." #: ../Doc/library/lzma.rst:287 msgid "" "See :class:`LZMACompressor` above for a description of the *format*, " "*check*, *preset* and *filters* arguments." msgstr "" +"Voir :class:`LZMACompressor` ci-dessus pour une description des arguments " +"*format*, *check*, *preset* et *filters*." #: ../Doc/library/lzma.rst:293 msgid "" "Decompress *data* (a :class:`bytes` object), returning the uncompressed data " "as a :class:`bytes` object." msgstr "" +"Décompresse *data* (un objet :class:`bytes` ), et retourne la donnée " +"décompressée sous la forme d'un objet :class:`bytes`." #: ../Doc/library/lzma.rst:296 msgid "" "If *data* is the concatenation of multiple distinct compressed streams, " "decompress all of these streams, and return the concatenation of the results." msgstr "" +"Si *data* est le résultat de la concaténation de plusieurs flux compressés " +"et distincts , il les décompresse tous, et retourne les résultats concaténés." #: ../Doc/library/lzma.rst:299 msgid "" "See :class:`LZMADecompressor` above for a description of the *format*, " "*memlimit* and *filters* arguments." msgstr "" +"Voir :class:`LZMADecompressor` ci-dessus pour une description des arguments " +"*format*, *memlimit* et *filters*." #: ../Doc/library/lzma.rst:304 msgid "Miscellaneous" @@ -459,10 +601,14 @@ msgid "" "`CHECK_CRC64` and :const:`CHECK_SHA256` may be unavailable if you are using " "a version of :program:`liblzma` that was compiled with a limited feature set." msgstr "" +":const:`CHECK_NONE` et :const:`CHECK_CRC32` sont toujours pris en charge. :" +"const:`CHECK_CRC64` et :const:`CHECK_SHA256` peuvent être indisponibles si " +"vous utilisez une version de :program:`liblzma` compilée avec des " +"possibilités restreintes." #: ../Doc/library/lzma.rst:319 msgid "Specifying custom filter chains" -msgstr "" +msgstr "Préciser des chaînes de filtre personnalisées" #: ../Doc/library/lzma.rst:321 msgid "" @@ -471,24 +617,31 @@ msgid "" "must contain the key ``\"id\"``, and may contain additional keys to specify " "filter-dependent options. Valid filter IDs are as follows:" msgstr "" +"Une chaîne de filtres est une séquence de dictionnaires, où chaque " +"dictionnaire contient l'ID et les options pour chaque filtre. Le moindre " +"dictionnaire contient la clé ``\"id\"`` et peut aussi contenir d'autres clés " +"pour préciser chaque options relative au filtre déclaré. Les ID valides des " +"filtres sont définies comme suit :" #: ../Doc/library/lzma.rst:328 msgid "Compression filters:" -msgstr "" +msgstr "Filtres de compression:" #: ../Doc/library/lzma.rst:327 msgid ":const:`FILTER_LZMA1` (for use with :const:`FORMAT_ALONE`)" -msgstr "" +msgstr ":const:`FILTER_LZMA1` (à utiliser avec :const:`FORMAT_ALONE`)" #: ../Doc/library/lzma.rst:328 msgid "" ":const:`FILTER_LZMA2` (for use with :const:`FORMAT_XZ` and :const:" "`FORMAT_RAW`)" msgstr "" +":const:`FILTER_LZMA2` (à utiliser avec :const:`FORMAT_XZ` et :const:" +"`FORMAT_RAW`)" #: ../Doc/library/lzma.rst:331 msgid "Delta filter:" -msgstr "" +msgstr "Filtre Delta:" #: ../Doc/library/lzma.rst:331 msgid ":const:`FILTER_DELTA`" @@ -496,7 +649,7 @@ msgstr ":const:`FILTER_DELTA`" #: ../Doc/library/lzma.rst:339 msgid "Branch-Call-Jump (BCJ) filters:" -msgstr "" +msgstr "Filtres Branch-Call-Jump (BCJ):" #: ../Doc/library/lzma.rst:334 msgid ":const:`FILTER_X86`" @@ -528,60 +681,78 @@ msgid "" "filter in the chain must be a compression filter, and any other filters must " "be delta or BCJ filters." msgstr "" +"Une chaîne de filtres peut contenir jusqu'à 4 filtres, et ne peut pas être " +"vide. Le dernier filtre de cette chaîne devra être un filtre de compression, " +"et tous les autres doivent être des filtres delta ou BCJ." #: ../Doc/library/lzma.rst:345 msgid "" "Compression filters support the following options (specified as additional " "entries in the dictionary representing the filter):" msgstr "" +"Les filtres de compression contiennent les options suivantes (définies comme " +"entrées additionnelles dans le dictionnaire qui représente le filtre) :" #: ../Doc/library/lzma.rst:348 msgid "" "``preset``: A compression preset to use as a source of default values for " "options that are not specified explicitly." msgstr "" +"``preset``: Un pré-réglage à exploiter comme une source de valeurs par " +"défaut pour les options qui ne sont pas explicitement définies." #: ../Doc/library/lzma.rst:350 msgid "" "``dict_size``: Dictionary size in bytes. This should be between 4 KiB and " "1.5 GiB (inclusive)." msgstr "" +"``dict_size``: La taille du dictionnaire en octets. Comprise entre 4 Ko et " +"1.5 Go (inclus)." #: ../Doc/library/lzma.rst:352 msgid "``lc``: Number of literal context bits." -msgstr "" +msgstr "``lc``: Nombre de bits dans le contexte littéral." #: ../Doc/library/lzma.rst:353 msgid "" "``lp``: Number of literal position bits. The sum ``lc + lp`` must be at most " "4." msgstr "" +"``lp``: Nombre de bits dans la position littérale. La somme ``lc + lp`` " +"devra être au moins 4." #: ../Doc/library/lzma.rst:355 msgid "``pb``: Number of position bits; must be at most 4." -msgstr "" +msgstr "``pb``: Nombre de bits à cette position ; au moins 4." #: ../Doc/library/lzma.rst:356 msgid "``mode``: :const:`MODE_FAST` or :const:`MODE_NORMAL`." -msgstr "" +msgstr "``mode``: :const:`MODE_FAST` ou :const:`MODE_NORMAL`." #: ../Doc/library/lzma.rst:357 msgid "" "``nice_len``: What should be considered a \"nice length\" for a match. This " "should be 273 or less." msgstr "" +"``nice_len``: Ce qui devra être pris en compte comme \"longueur appréciable" +"\" pour une recherche. Il devra être 273 ou moins." #: ../Doc/library/lzma.rst:359 msgid "" "``mf``: What match finder to use -- :const:`MF_HC3`, :const:`MF_HC4`, :const:" "`MF_BT2`, :const:`MF_BT3`, or :const:`MF_BT4`." msgstr "" +"``mf``: Quel type d'index de recherche à utiliser -- :const:`MF_HC3`, :const:" +"`MF_HC4`, :const:`MF_BT2`, :const:`MF_BT3`, ou :const:`MF_BT4`." #: ../Doc/library/lzma.rst:361 msgid "" "``depth``: Maximum search depth used by match finder. 0 (default) means to " "select automatically based on other filter options." msgstr "" +"``depth``: Profondeur maximum de la recherche, utilisée par l'index de " +"recherche. 0 (défaut) signifie une sélection automatique basée sur des " +"options de filtres différents." #: ../Doc/library/lzma.rst:364 msgid "" @@ -591,6 +762,11 @@ msgid "" "subtracted. The default is 1, i.e. take the differences between adjacent " "bytes." msgstr "" +"Le filtre delta stocke les différences entre octets, induisant davantage " +"d'entrées répétitives pour le compresseur, selon les circonstances. Il " +"support une option, ``dist``. Ce paramètre définit la distance entre les " +"octets à soustraire. Par défaut : 1, soit la différence entre des octets " +"adjacents." #: ../Doc/library/lzma.rst:369 msgid "" @@ -601,6 +777,12 @@ msgid "" "specifies the address that should be mapped to the beginning of the input " "data. The default is 0." msgstr "" +"Les filtres BCJ sont conçus pour être appliqués sur du langage machine. Ils " +"convertissent les branches relatives, les appels et les sauts dans le code à " +"des fins d'adressage strict, dans le but d'augmenter la redondance mise en " +"jeu par le compresseur. Ils ne supportent qu'une seule option : " +"``start_offset``, pour définir l'adresse où sera déclenché le début de la " +"donnée d'entrée. Par défaut : 0." #: ../Doc/library/lzma.rst:377 msgid "Examples" @@ -608,24 +790,25 @@ msgstr "Exemples" #: ../Doc/library/lzma.rst:379 msgid "Reading in a compressed file::" -msgstr "" +msgstr "Lire un fichier compressé::" #: ../Doc/library/lzma.rst:385 msgid "Creating a compressed file::" -msgstr "" +msgstr "Créer un fichier compressé::" #: ../Doc/library/lzma.rst:392 msgid "Compressing data in memory::" -msgstr "" +msgstr "Compresser des données en mémoire ::" #: ../Doc/library/lzma.rst:398 msgid "Incremental compression::" -msgstr "" +msgstr "Compression incrémentale ::" #: ../Doc/library/lzma.rst:409 msgid "Writing compressed data to an already-open file::" -msgstr "" +msgstr "Écrire des données compressées dans un fichier préalablement ouvert ::" #: ../Doc/library/lzma.rst:418 msgid "Creating a compressed file using a custom filter chain::" msgstr "" +"Créer un fichier compressé en utilisant une chaîne de filtre personnalisée ::" diff --git a/library/mailbox.po b/library/mailbox.po index a065cdf2..69b3de2a 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -269,6 +269,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 "" @@ -279,6 +281,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 "" @@ -346,7 +355,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 ::" diff --git a/library/marshal.po b/library/marshal.po index 29f6331b..76ac5534 100644 --- a/library/marshal.po +++ b/library/marshal.po @@ -18,7 +18,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 "" @@ -29,6 +29,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 "" @@ -43,6 +50,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 "" @@ -50,6 +68,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 "" @@ -65,6 +86,19 @@ 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 "" @@ -74,7 +108,7 @@ msgstr "" #: ../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 "" @@ -91,12 +125,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:68 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:74 msgid "" @@ -112,6 +152,8 @@ 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:88 msgid "" @@ -125,6 +167,8 @@ 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:98 msgid "" @@ -135,7 +179,7 @@ msgstr "" #: ../Doc/library/marshal.rst:103 msgid "In addition, the following constants are defined:" -msgstr "" +msgstr "De plus, les constantes suivantes sont définies :" #: ../Doc/library/marshal.rst:107 msgid "" @@ -144,6 +188,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:115 msgid "Footnotes" @@ -157,3 +206,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." diff --git a/library/msilib.po b/library/msilib.po index 5e8e7ac4..55fab34b 100644 --- a/library/msilib.po +++ b/library/msilib.po @@ -458,7 +458,7 @@ msgstr "" #: ../Doc/library/msilib.rst:408 msgid "Features" -msgstr "" +msgstr "Caractéristiques" #: ../Doc/library/msilib.rst:413 msgid "" diff --git a/library/nntplib.po b/library/nntplib.po index 7e8a969f..a67144cb 100644 --- a/library/nntplib.po +++ b/library/nntplib.po @@ -72,7 +72,7 @@ msgstr "" #: ../Doc/library/nntplib.rst:86 msgid "Support for the :keyword:`with` statement was added." -msgstr "" +msgstr "La prise en charge de l'instruction :keyword:`with` a été ajoutée." #: ../Doc/library/nntplib.rst:91 msgid "" @@ -526,7 +526,7 @@ msgstr "" #: ../Doc/library/nntplib.rst:550 msgid "Utility functions" -msgstr "" +msgstr "Fonctions utilitaires" #: ../Doc/library/nntplib.rst:552 msgid "The module also defines the following utility function:" diff --git a/library/platform.po b/library/platform.po index 2db7eb82..75d115f9 100644 --- a/library/platform.po +++ b/library/platform.po @@ -18,7 +18,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`" @@ -29,16 +29,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 "" @@ -46,6 +50,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 "" @@ -54,6 +61,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 "" @@ -62,42 +74,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 "" @@ -106,16 +137,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 "" @@ -123,58 +160,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 "" @@ -188,12 +250,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 "" @@ -201,6 +269,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 "" @@ -209,10 +280,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." @@ -220,11 +295,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 "" @@ -233,10 +308,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 "" @@ -244,6 +324,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 "" @@ -253,6 +337,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 "" @@ -280,7 +369,7 @@ msgstr "" #: ../Doc/library/platform.rst:230 msgid "Mac OS Platform" -msgstr "" +msgstr "Plateforme Mac OS" #: ../Doc/library/platform.rst:235 msgid "" @@ -288,16 +377,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`." @@ -339,6 +433,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:277 msgid "" @@ -346,7 +444,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:281 msgid "The file is read and scanned in chunks of *chunksize* bytes." -msgstr "" +msgstr "Le fichier est lu en blocs de *chunksize* octets." diff --git a/library/py_compile.po b/library/py_compile.po index 13a850dc..7384dbb0 100644 --- a/library/py_compile.po +++ b/library/py_compile.po @@ -18,7 +18,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`" @@ -30,6 +30,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 "" @@ -37,11 +40,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 "" @@ -67,6 +74,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 "" @@ -74,6 +89,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 "" @@ -81,6 +100,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 "" @@ -90,6 +113,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 "" @@ -100,10 +129,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 "" @@ -111,11 +146,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" diff --git a/library/random.po b/library/random.po index db992df0..902ea6c0 100644 --- a/library/random.po +++ b/library/random.po @@ -111,6 +111,9 @@ msgid "" "uses the system function :func:`os.urandom` to generate random numbers from " "sources provided by the operating system." msgstr "" +"Le module :mod:`random` fournit également la classe :class:`SystemRandom` " +"qui utilise la fonction système :func:`os.urandom` pour générer des nombres " +"aléatoires à partir de sources fournies par le système d'exploitation." #: ../Doc/library/random.rst:48 msgid "" @@ -124,7 +127,7 @@ msgstr "" #: ../Doc/library/random.rst:56 msgid "Initialize the random number generator." -msgstr "" +msgstr "Initialise le générateur de nombres aléatoires." #: ../Doc/library/random.rst:58 msgid "" @@ -133,10 +136,14 @@ msgid "" "instead of the system time (see the :func:`os.urandom` function for details " "on availability)." msgstr "" +"Si *a* est omis ou ``None``, l'heure système actuelle est utilisée. Si des " +"sources aléatoires sont fournies par le système d'exploitation, elles sont " +"utilisées à la place de l'heure système (voir la fonction :func:`os.urandom` " +"pour les détails sur la disponibilité)." #: ../Doc/library/random.rst:63 msgid "If *a* is an int, it is used directly." -msgstr "" +msgstr "Si *a* est un entier, il est utilisé directement." #: ../Doc/library/random.rst:65 msgid "" @@ -144,6 +151,9 @@ msgid "" "`bytearray` object gets converted to an :class:`int` and all of its bits are " "used." msgstr "" +"Avec la version 2 (par défaut), un objet :class:`str`, :class:`bytes` ou :" +"class:`bytearray` est converti en :class:`int` et tous ses bits sont " +"utilisés." #: ../Doc/library/random.rst:68 msgid "" @@ -151,17 +161,24 @@ msgid "" "versions of Python), the algorithm for :class:`str` and :class:`bytes` " "generates a narrower range of seeds." msgstr "" +"Avec la version 1 (fournie pour reproduire des séquences aléatoires " +"produites par d'anciennes versions de Python), l'algorithme pour :class:" +"`str` et :class:`bytes` génère une gamme plus étroite de graines." #: ../Doc/library/random.rst:72 msgid "" "Moved to the version 2 scheme which uses all of the bits in a string seed." msgstr "" +"Passée à la version 2 du schéma qui utilise tous les bits d'une graine de " +"chaîne de caractères." #: ../Doc/library/random.rst:77 msgid "" "Return an object capturing the current internal state of the generator. " "This object can be passed to :func:`setstate` to restore the state." msgstr "" +"Renvoie un objet capturant l'état interne actuel du générateur. Cet objet " +"peut être passé à :func:`setstate` pour restaurer cet état." #: ../Doc/library/random.rst:83 msgid "" @@ -169,6 +186,9 @@ msgid "" "and :func:`setstate` restores the internal state of the generator to what it " "was at the time :func:`getstate` was called." msgstr "" +"Il convient que *state* ait été obtenu à partir d'un appel précédent à :func:" +"`getstate`, et :func:`setstate` restaure l'état interne du générateur à ce " +"qu'il était au moment où :func:`getstate` a été appelé." #: ../Doc/library/random.rst:90 msgid "" @@ -188,6 +208,9 @@ msgid "" "is equivalent to ``choice(range(start, stop, step))``, but doesn't actually " "build a range object." msgstr "" +"Renvoie un élément sélectionné aléatoirement à partir de ``range(start, " +"stop, step)``. C'est équivalent à ``choice(range(start, stop, step))``, " +"mais ne construit pas réellement un objet range." #: ../Doc/library/random.rst:105 msgid "" @@ -195,6 +218,9 @@ msgid "" "arguments should not be used because the function may use them in unexpected " "ways." msgstr "" +"Le motif d'argument positionnel correspond à celui de :func:`range`. " +"N'utilisez pas d'arguments nommés parce que la fonction peut les utiliser de " +"manière inattendue." #: ../Doc/library/random.rst:108 msgid "" @@ -202,12 +228,18 @@ msgid "" "values. Formerly it used a style like ``int(random()*n)`` which could " "produce slightly uneven distributions." msgstr "" +":meth:`randrange` est plus sophistiquée dans la production de valeurs " +"uniformément distribuées. Auparavant, elle utilisait un style comme " +"``int(random()*n)`` qui pouvait produire des distributions légèrement " +"inégales." #: ../Doc/library/random.rst:115 msgid "" "Return a random integer *N* such that ``a <= N <= b``. Alias for " "``randrange(a, b+1)``." msgstr "" +"Renvoie un entier aléatoire *N* tel que ``a <= N <= b``. Alias pour " +"``randrange(a, b+1)``." #: ../Doc/library/random.rst:119 msgid "Functions for sequences:" @@ -218,6 +250,8 @@ msgid "" "Return a random element from the non-empty sequence *seq*. If *seq* is " "empty, raises :exc:`IndexError`." msgstr "" +"Renvoie un élément aléatoire de la séquence non vide *seq*. Si *seq* est " +"vide, lève :exc:`IndexError`." #: ../Doc/library/random.rst:129 msgid "" @@ -238,6 +272,8 @@ msgid "" "Return a *k* length list of unique elements chosen from the population " "sequence or set. Used for random sampling without replacement." msgstr "" +"Renvoie une liste de *k* éléments uniques choisis dans la séquence ou " +"l'ensemble de la population. Utilisé pour un tirage aléatoire sans remise." #: ../Doc/library/random.rst:143 msgid "" @@ -247,6 +283,12 @@ msgid "" "winners (the sample) to be partitioned into grand prize and second place " "winners (the subslices)." msgstr "" +"Renvoie une nouvelle liste contenant des éléments de la population tout en " +"laissant la population originale inchangée. La liste résultante est classée " +"par ordre de sélection de sorte que toutes les sous-tranches soient " +"également des échantillons aléatoires valides. Cela permet aux gagnants du " +"tirage (l'échantillon) d'être divisés en gagnants du grand prix et en " +"gagnants de la deuxième place (les sous-tranches)." #: ../Doc/library/random.rst:149 msgid "" @@ -254,6 +296,9 @@ msgid "" "population contains repeats, then each occurrence is a possible selection in " "the sample." msgstr "" +"Les membres de la population n'ont pas besoin d'être :term:" +"`hachables` ou uniques. Si la population contient des répétitions, " +"alors chaque occurrence est un tirage possible dans l'échantillon." #: ../Doc/library/random.rst:152 msgid "" @@ -267,6 +312,8 @@ msgid "" "If the sample size is larger than the population size, a :exc:`ValueError` " "is raised." msgstr "" +"Si la taille de l'échantillon est supérieure à la taille de la population, " +"une :exc:`ValueError` est levée." #: ../Doc/library/random.rst:159 msgid "" @@ -275,22 +322,33 @@ msgid "" "distribution's equation, as used in common mathematical practice; most of " "these equations can be found in any statistics text." msgstr "" +"Les fonctions suivantes génèrent des distributions spécifiques en nombre " +"réels. Les paramètres de fonction sont nommés d'après les variables " +"correspondantes de l'équation de la distribution, telles qu'elles sont " +"utilisées dans la pratique mathématique courante ; la plupart de ces " +"équations peuvent être trouvées dans tout document traitant de statistiques." #: ../Doc/library/random.rst:167 msgid "Return the next random floating point number in the range [0.0, 1.0)." msgstr "" +"Renvoie le nombre aléatoire à virgule flottante suivant dans la plage [0.0, " +"1.0)." #: ../Doc/library/random.rst:172 msgid "" "Return a random floating point number *N* such that ``a <= N <= b`` for ``a " "<= b`` and ``b <= N <= a`` for ``b < a``." msgstr "" +"Renvoie un nombre aléatoire à virgule flottante *N* tel que ``a <= N <= b`` " +"pour ``a <= b`` et ``b <= N <= a`` pour ``b < a``." #: ../Doc/library/random.rst:175 msgid "" "The end-point value ``b`` may or may not be included in the range depending " "on floating-point rounding in the equation ``a + (b-a) * random()``." msgstr "" +"La valeur finale ``b`` peut ou non être incluse dans la plage selon " +"l'arrondi à virgule flottante dans l'équation ``a + (b-a) * random()``." #: ../Doc/library/random.rst:181 msgid "" @@ -299,12 +357,18 @@ msgid "" "default to zero and one. The *mode* argument defaults to the midpoint " "between the bounds, giving a symmetric distribution." msgstr "" +"Renvoie un nombre aléatoire en virgule flottante *N* tel que ``low <= N <= " +"high`` et avec le *mode* spécifié entre ces bornes. Les limites *low* et " +"*high* par défaut sont zéro et un. L'argument *mode* est par défaut le " +"point médian entre les bornes, ce qui donne une distribution symétrique." #: ../Doc/library/random.rst:189 msgid "" "Beta distribution. Conditions on the parameters are ``alpha > 0`` and " "``beta > 0``. Returned values range between 0 and 1." msgstr "" +"Distribution bêta. Les conditions sur les paramètres sont ``alpha > 0`` et " +"``beta > 0``. Les valeurs renvoyées varient entre 0 et 1." #: ../Doc/library/random.rst:195 msgid "" @@ -314,16 +378,23 @@ msgid "" "if *lambd* is positive, and from negative infinity to 0 if *lambd* is " "negative." msgstr "" +"Distribution exponentielle. *lambd* est 1,0 divisé par la moyenne désirée. " +"Ce ne doit pas être zéro. (Le paramètre aurait dû s'appeler \"lambda\", " +"mais c'est un mot réservé en Python.) Les valeurs renvoyées vont de 0 à " +"plus l'infini positif si *lambd* est positif, et de moins l'infini à 0 si " +"*lambd* est négatif." #: ../Doc/library/random.rst:204 msgid "" "Gamma distribution. (*Not* the gamma function!) Conditions on the " "parameters are ``alpha > 0`` and ``beta > 0``." msgstr "" +"Distribution gamma. (*Ce n'est pas* la fonction gamma !) Les conditions sur " +"les paramètres sont ``alpha > 0`` et ``beta > 0``." #: ../Doc/library/random.rst:207 msgid "The probability distribution function is::" -msgstr "" +msgstr "La fonction de distribution de probabilité est ::" #: ../Doc/library/random.rst:216 msgid "" @@ -331,6 +402,9 @@ msgid "" "deviation. This is slightly faster than the :func:`normalvariate` function " "defined below." msgstr "" +"Distribution gaussienne. *mu* est la moyenne et *sigma* est la écart type. " +"C'est légèrement plus rapide que la fonction :func:`normalvariate` définie " +"ci-dessous." #: ../Doc/library/random.rst:223 msgid "" @@ -339,12 +413,17 @@ msgid "" "deviation *sigma*. *mu* can have any value, and *sigma* must be greater " "than zero." msgstr "" +"Logarithme de la distribution normale. Si vous prenez le logarithme naturel " +"de cette distribution, vous obtiendrez une distribution normale avec *mu* " +"moyen et écart-type *sigma*. *mu* peut avoir n'importe quelle valeur et " +"*sigma* doit être supérieur à zéro." #: ../Doc/library/random.rst:231 msgid "" "Normal distribution. *mu* is the mean, and *sigma* is the standard " "deviation." msgstr "" +"Distribution normale. *mu* est la moyenne et *sigma* est l'écart type." #: ../Doc/library/random.rst:236 msgid "" @@ -353,16 +432,22 @@ msgid "" "to zero. If *kappa* is equal to zero, this distribution reduces to a " "uniform random angle over the range 0 to 2\\*\\ *pi*." msgstr "" +"*mu* est l'angle moyen, exprimé en radians entre 0 et 2\\*\\ *pi*, et " +"*kappa* est le paramètre de concentration, qui doit être supérieur ou égal à " +"zéro. Si *kappa* est égal à zéro, cette distribution se réduit à un angle " +"aléatoire uniforme sur la plage de 0 à 2\\*\\ *pi*." #: ../Doc/library/random.rst:244 msgid "Pareto distribution. *alpha* is the shape parameter." -msgstr "" +msgstr "Distribution de Pareto. *alpha* est le paramètre de forme." #: ../Doc/library/random.rst:249 msgid "" "Weibull distribution. *alpha* is the scale parameter and *beta* is the " "shape parameter." msgstr "" +"Distribution de Weibull. *alpha* est le paramètre de l'échelle et *beta* " +"est le paramètre de forme." #: ../Doc/library/random.rst:253 msgid "Alternative Generator:" @@ -377,6 +462,13 @@ msgid "" "ignored. The :meth:`getstate` and :meth:`setstate` methods raise :exc:" "`NotImplementedError` if called." msgstr "" +"Classe qui utilise la fonction :func:`os.urandom` pour générer des nombres " +"aléatoires à partir de sources fournies par le système d'exploitation. Non " +"disponible sur tous les systèmes. Ne repose pas sur un état purement " +"logiciel et les séquences ne sont pas reproductibles. Par conséquent, la " +"méthode :meth:`seed` n'a aucun effet et est ignorée. Les méthodes :meth:" +"`getstate` et :meth:`setstate` lèvent :exc:`NotImplementedError` si vous les " +"appelez." #: ../Doc/library/random.rst:267 msgid "" @@ -391,10 +483,13 @@ msgid "" "recipes/576707/>`_ for a compatible alternative random number generator with " "a long period and comparatively simple update operations." msgstr "" +"`Complementary-Multiply-with-Carry recipe `_ pour un autre générateur de nombres aléatoires avec une " +"longue période et des opérations de mise à jour relativement simples." #: ../Doc/library/random.rst:279 msgid "Notes on Reproducibility" -msgstr "" +msgstr "Remarques sur la reproductibilité" #: ../Doc/library/random.rst:281 msgid "" @@ -409,18 +504,26 @@ msgid "" "Most of the random module's algorithms and seeding functions are subject to " "change across Python versions, but two aspects are guaranteed not to change:" msgstr "" +"La plupart des algorithmes et des fonctions de génération de graine du " +"module aléatoire sont susceptibles d'être modifiés d'une version à l'autre " +"de Python, mais deux aspects sont garantis de ne pas changer ::" #: ../Doc/library/random.rst:288 msgid "" "If a new seeding method is added, then a backward compatible seeder will be " "offered." msgstr "" +"Si une nouvelle méthode de génération de graine est ajoutée, une fonction " +"rétro-compatible sera offerte." #: ../Doc/library/random.rst:291 msgid "" "The generator's :meth:`~Random.random` method will continue to produce the " "same sequence when the compatible seeder is given the same seed." msgstr "" +"La méthode :meth:`~Random.random` du générateur continuera à produire la " +"même séquence lorsque la fonction de génération de graine compatible recevra " +"la même semence." #: ../Doc/library/random.rst:297 msgid "Examples and Recipes" diff --git a/library/resource.po b/library/resource.po index 6959691b..6b38010c 100644 --- a/library/resource.po +++ b/library/resource.po @@ -312,7 +312,7 @@ msgstr "Index" #: ../Doc/library/resource.rst:279 msgid "Field" -msgstr "" +msgstr "Champ" #: ../Doc/library/resource.rst:279 msgid "Resource" diff --git a/library/smtplib.po b/library/smtplib.po index addd06aa..e2e1cb3e 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -67,7 +67,7 @@ msgstr "" #: ../Doc/library/smtplib.rst:58 msgid "Support for the :keyword:`with` statement was added." -msgstr "" +msgstr "La prise en charge de l'instruction :keyword:`with` a été ajoutée." #: ../Doc/library/smtplib.rst:61 ../Doc/library/smtplib.rst:90 msgid "source_address argument was added." diff --git a/library/socket.po b/library/socket.po index d705465a..79a5df44 100644 --- a/library/socket.po +++ b/library/socket.po @@ -18,11 +18,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 "" diff --git a/library/ssl.po b/library/ssl.po index a1f939a4..4b8764c3 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/ssl.rst:2 msgid ":mod:`ssl` --- TLS/SSL wrapper for socket objects" -msgstr "" +msgstr ":mod:`ssl` — Emballage TLS/SSL pour les objets connecteurs" #: ../Doc/library/ssl.rst:10 msgid "**Source code:** :source:`Lib/ssl.py`" @@ -33,6 +33,13 @@ msgid "" "X, and probably additional platforms, as long as OpenSSL is installed on " "that platform." msgstr "" +"Ce module fournit un accès aux fonctions de chiffrement et " +"d'authentification entre pairs : « *Transport Layer Security* » (souvent " +"appelé « *Secure Sockets Layer* ») pour les connecteurs réseau, côté client " +"et côté serveur. Ce module utilise la bibliothèque OpenSSL. Il est " +"disponible sur tous les systèmes Unix modernes, Windows, Mac OS X et " +"probablement sur d'autres plates-formes, à condition qu'OpenSSL soit " +"installé sur cette plate-forme." #: ../Doc/library/ssl.rst:26 msgid "" @@ -41,6 +48,11 @@ msgid "" "cause variations in behavior. For example, TLSv1.1 and TLSv1.2 come with " "openssl version 1.0.1." msgstr "" +"Certains comportements peuvent dépendre de la plate-forme, car des appels " +"sont passés aux API de connexions du système d'exploitation. La version " +"installée de OpenSSL peut également entraîner des variations de " +"comportement. Par exemple, TLSv1.1 et TLSv1.2 sont livrés avec la version " +"1.0.1 de OpenSSL." #: ../Doc/library/ssl.rst:32 msgid "" @@ -48,6 +60,9 @@ msgid "" "lead to a false sense of security, as the default settings of the ssl module " "are not necessarily appropriate for your application." msgstr "" +"N’utilisez pas ce module sans lire :ref:`ssl-security`. Cela pourrait créer " +"un faux sentiment de sécurité, car les paramètres par défaut du module *ssl* " +"ne sont pas nécessairement appropriés pour votre application." #: ../Doc/library/ssl.rst:37 msgid "" @@ -55,6 +70,10 @@ msgid "" "more general information about TLS, SSL, and certificates, the reader is " "referred to the documents in the \"See Also\" section at the bottom." msgstr "" +"Cette section documente les objets et les fonctions du module ``ssl``. Pour " +"des informations plus générales sur TLS, SSL et les certificats, le lecteur " +"est prié de se référer aux documents de la section « Voir Aussi » au bas de " +"cette page." #: ../Doc/library/ssl.rst:41 msgid "" @@ -72,10 +91,14 @@ msgid "" "manage settings and certificates, which can then be inherited by SSL sockets " "created through the :meth:`SSLContext.wrap_socket` method." msgstr "" +"Pour les applications plus sophistiquées, la classe :class:`ssl.SSLContext` " +"facilite la gestion des paramètres et des certificats, qui peuvent ensuite " +"être hérités par les connecteurs SSL créés via la méthode :meth:`SSLContext." +"wrap_socket`." #: ../Doc/library/ssl.rst:54 msgid "Functions, Constants, and Exceptions" -msgstr "" +msgstr "Fonctions, constantes et exceptions" #: ../Doc/library/ssl.rst:58 msgid "" @@ -86,10 +109,16 @@ msgid "" "The error code and message of :exc:`SSLError` instances are provided by the " "OpenSSL library." msgstr "" +"Levée pour signaler une erreur de l'implémentation SSL sous-jacente " +"(actuellement fournie par la bibliothèque OpenSSL). Cela signifie qu'un " +"problème est apparu dans la couche d'authentification et de chiffrement de " +"niveau supérieur qui s'appuie sur la connexion réseau sous-jacente. Cette " +"erreur est un sous-type de :exc:`OSError`. Le code d'erreur et le message " +"des instances de :exc:`SSLError` sont fournis par la bibliothèque OpenSSL." #: ../Doc/library/ssl.rst:65 msgid ":exc:`SSLError` used to be a subtype of :exc:`socket.error`." -msgstr "" +msgstr ":exc:`SSLError` était un sous-type de :exc:`socket.error`." #: ../Doc/library/ssl.rst:70 msgid "" @@ -97,6 +126,9 @@ msgid "" "occurred, such as ``SSL``, ``PEM`` or ``X509``. The range of possible " "values depends on the OpenSSL version." msgstr "" +"Une chaîne de caractères mnémonique désignant le sous-module OpenSSL dans " +"lequel l'erreur s'est produite, telle que ``SSL``, ``PEM`` ou ``X509``. " +"L'étendue des valeurs possibles dépend de la version d'OpenSSL." #: ../Doc/library/ssl.rst:78 msgid "" @@ -118,6 +150,10 @@ msgid "" "nonblocking>` when trying to read or write data, but more data needs to be " "received on the underlying TCP transport before the request can be fulfilled." msgstr "" +"Sous-classe de :exc:`SSLError` levée par un connecteur :ref:`SSL non " +"bloquant ` lors d'une tentative de lecture ou d'écriture de " +"données, alors que davantage de données doivent être reçues sur la couche " +"TCP sous-jacente avant que la demande puisse être satisfaite." #: ../Doc/library/ssl.rst:103 msgid "" @@ -149,7 +185,7 @@ msgstr "" #: ../Doc/library/ssl.rst:134 msgid "Socket creation" -msgstr "" +msgstr "Création de connecteurs" #: ../Doc/library/ssl.rst:136 msgid "" @@ -330,13 +366,15 @@ msgstr "" #: ../Doc/library/ssl.rst:229 msgid "Context creation" -msgstr "" +msgstr "Création de contexte" #: ../Doc/library/ssl.rst:231 msgid "" "A convenience function helps create :class:`SSLContext` objects for common " "purposes." msgstr "" +"Une fonction utilitaire permettant de créer facilement des objets :class:" +"`SSLContext` pour des usages classiques." #: ../Doc/library/ssl.rst:236 msgid "" @@ -345,6 +383,11 @@ msgid "" "represent a higher security level than when calling the :class:`SSLContext` " "constructor directly." msgstr "" +"Renvoie un nouvel objet :class:`SSLContext`. Le paramètre *purpose* permet " +"de choisir parmi un ensemble de paramètres par défaut en fonction de l'usage " +"souhaité. Les paramètres sont choisis par le module :mod:`ssl` et " +"représentent généralement un niveau de sécurité supérieur à celui utilisé " +"lorsque vous appelez directement le constructeur :class:`SSLContext`." #: ../Doc/library/ssl.rst:241 msgid "" @@ -353,6 +396,11 @@ msgid "" "If all three are :const:`None`, this function can choose to trust the " "system's default CA certificates instead." msgstr "" +"*cafile*, *capath*, *cadata* représentent des certificats d'autorité de " +"certification facultatifs approuvés pour la vérification de certificats, " +"comme dans :meth:`SSLContext.load_verify_locations`. Si les trois sont à :" +"const:`None`, cette fonction peut choisir de faire confiance aux certificats " +"d'autorité de certification par défaut du système." #: ../Doc/library/ssl.rst:247 msgid "" @@ -364,6 +412,15 @@ msgid "" "*cadata* is given) or uses :meth:`SSLContext.load_default_certs` to load " "default CA certificates." msgstr "" +"Les paramètres sont : :data:`PROTOCOL_TLS`, :data:`OP_NO_SSLv2` et :data:" +"`OP_NO_SSLv3` avec des algorithmes de chiffrement de grande robustesse, " +"n'utilisant pas RC4 et n'utilisant pas les suites cryptographiques sans " +"authentification. Passer :data:`~Purpose.SERVER_AUTH` en tant que *purpose* " +"définit :data:`~SSLContext.verify_mode` sur :data:`CERT_REQUIRED` et charge " +"les certificats de l'autorité de certification (lorsqu'au moins un des " +"paramètres *cafile*, *capath* ou *cadata* est renseigné) ou utilise :meth:" +"`SSLContext.load_default_certs` pour charger les certificats des autorités " +"de certification par défaut." #: ../Doc/library/ssl.rst:256 msgid "" @@ -371,12 +428,18 @@ msgid "" "restrictive values anytime without prior deprecation. The values represent " "a fair balance between compatibility and security." msgstr "" +"Le protocole, les options, l'algorithme de chiffrement et d'autres " +"paramètres peuvent changer pour des valeurs plus restrictives à tout moment " +"sans avertissement préalable. Les valeurs représentent un juste équilibre " +"entre compatibilité et sécurité." #: ../Doc/library/ssl.rst:260 msgid "" "If your application needs specific settings, you should create a :class:" "`SSLContext` and apply the settings yourself." msgstr "" +"Si votre application nécessite des paramètres spécifiques, vous devez créer " +"une classe :class:`SSLContext` et appliquer les paramètres vous-même." #: ../Doc/library/ssl.rst:264 msgid "" @@ -388,18 +451,32 @@ msgid "" "org/wiki/POODLE>`_. If you still wish to continue to use this function but " "still allow SSL 3.0 connections you can re-enable them using::" msgstr "" +"Si vous constatez que, lorsque certains clients ou serveurs plus anciens " +"tentent de se connecter avec une classe :class:`SSLContext` créée par cette " +"fonction, une erreur indiquant « *Protocol or cipher suite " +"mismatch* » (« Non concordance de protocole ou d'algorithme de " +"chiffrement ») est détectée, il se peut qu'ils ne prennent en charge que SSL " +"3.0 que cette fonction exclut en utilisant :data:`OP_NO_SSLv3`. SSL3.0 est " +"notoirement considéré comme `totalement déficient `_. Si vous souhaitez toujours continuer à utiliser cette " +"fonction tout en autorisant les connexions SSL 3.0, vous pouvez les " +"réactiver à l'aide de ::" #: ../Doc/library/ssl.rst:280 msgid "RC4 was dropped from the default cipher string." msgstr "" +"RC4 a été supprimé de la liste des algorithmes de chiffrement par défaut." #: ../Doc/library/ssl.rst:284 msgid "ChaCha20/Poly1305 was added to the default cipher string." msgstr "" +"*ChaCha20*/*Poly1305* a été ajouté à la liste des algorithmes de chiffrement " +"par défaut." #: ../Doc/library/ssl.rst:286 msgid "3DES was dropped from the default cipher string." msgstr "" +"*3DES* a été supprimé de la liste des algorithmes de chiffrement par défaut." #: ../Doc/library/ssl.rst:290 msgid "Random generation" diff --git a/library/stat.po b/library/stat.po index 5918a59c..972694ab 100644 --- a/library/stat.po +++ b/library/stat.po @@ -171,7 +171,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 "" diff --git a/library/statistics.po b/library/statistics.po index 851571ba..982eea6c 100644 --- a/library/statistics.po +++ b/library/statistics.po @@ -18,7 +18,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`" @@ -43,57 +43,60 @@ 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:`median`" -msgstr "" +msgstr ":func:`median`" #: ../Doc/library/statistics.rst:42 msgid "Median (middle value) of data." -msgstr "" +msgstr "Médiane (valeur centrale) des données." #: ../Doc/library/statistics.rst:43 msgid ":func:`median_low`" -msgstr "" +msgstr ":func:`median_low`" #: ../Doc/library/statistics.rst:43 msgid "Low median of data." -msgstr "" +msgstr "Médiane basse des données." #: ../Doc/library/statistics.rst:44 msgid ":func:`median_high`" -msgstr "" +msgstr ":func:`median_high`" #: ../Doc/library/statistics.rst:44 msgid "High median of data." -msgstr "" +msgstr "Médiane haute des données." #: ../Doc/library/statistics.rst:45 msgid ":func:`median_grouped`" -msgstr "" +msgstr ":func:`median_grouped`" #: ../Doc/library/statistics.rst:45 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:46 msgid ":func:`mode`" -msgstr "" +msgstr ":func:`mode`" #: ../Doc/library/statistics.rst:46 msgid "Mode (most common value) of discrete data." @@ -101,55 +104,60 @@ msgstr "" #: ../Doc/library/statistics.rst:50 msgid "Measures of spread" -msgstr "" +msgstr "Mesures de la dispersion" #: ../Doc/library/statistics.rst:52 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:56 msgid ":func:`pstdev`" -msgstr "" +msgstr ":func:`pstdev`" #: ../Doc/library/statistics.rst:56 msgid "Population standard deviation of data." -msgstr "" +msgstr "Écart-type de la population." #: ../Doc/library/statistics.rst:57 msgid ":func:`pvariance`" -msgstr "" +msgstr ":func:`pvariance`" #: ../Doc/library/statistics.rst:57 msgid "Population variance of data." -msgstr "" +msgstr "Variance de la population." #: ../Doc/library/statistics.rst:58 msgid ":func:`stdev`" -msgstr "" +msgstr ":func:`stdev`" #: ../Doc/library/statistics.rst:58 msgid "Sample standard deviation of data." -msgstr "" +msgstr "Écart-type d'un échantillon." #: ../Doc/library/statistics.rst:59 msgid ":func:`variance`" -msgstr "" +msgstr ":func:`variance`" #: ../Doc/library/statistics.rst:59 msgid "Sample variance of data." -msgstr "" +msgstr "Variance d'un échantillon." #: ../Doc/library/statistics.rst:64 msgid "Function details" -msgstr "" +msgstr "Détails des fonctions" #: ../Doc/library/statistics.rst:66 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:71 msgid "" @@ -164,14 +172,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 "" @@ -209,12 +222,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:136 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:139 msgid ":func:`median_low`, :func:`median_high`, :func:`median_grouped`" @@ -232,12 +249,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:158 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:164 msgid "" @@ -251,12 +274,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:178 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:184 msgid "" @@ -279,24 +308,34 @@ 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:214 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:219 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:224 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:227 msgid "" @@ -310,6 +349,10 @@ msgid "" "spreadsheet, including `this discussion `_." msgstr "" +"La fonction `SSMEDIAN `_ du tableur Gnome Gnumeric ainsi que " +"`cette discussion `_." #: ../Doc/library/statistics.rst:237 msgid "" @@ -341,6 +384,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:274 msgid "" @@ -364,10 +410,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:288 msgid "Raises :exc:`StatisticsError` if *data* is empty." -msgstr "" +msgstr "Lève une erreur :exc:`StatisticsError` si *data* est vide." #: ../Doc/library/statistics.rst:290 ../Doc/library/statistics.rst:364 msgid "Examples:" @@ -378,6 +427,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:307 msgid "" @@ -388,7 +440,7 @@ msgstr "" #: ../Doc/library/statistics.rst:311 msgid "Decimals and Fractions are supported:" -msgstr "" +msgstr "La fonction gère les nombres décimaux et les fractions :" #: ../Doc/library/statistics.rst:325 msgid "" @@ -396,6 +448,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:329 msgid "" @@ -411,6 +467,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:349 msgid "" @@ -420,6 +478,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:355 msgid "" @@ -427,22 +490,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:359 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:362 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:372 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:381 msgid "" @@ -450,10 +524,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:385 msgid "Decimal and Fraction values are supported:" -msgstr "" +msgstr "La fonction gère les nombres décimaux et les fractions :" #: ../Doc/library/statistics.rst:399 msgid "" @@ -462,6 +539,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:404 msgid "" @@ -469,6 +551,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:409 msgid "Exceptions" @@ -476,8 +561,9 @@ msgstr "Exceptions" #: ../Doc/library/statistics.rst:411 msgid "A single exception is defined:" -msgstr "" +msgstr "Une seule exception est définie :" #: ../Doc/library/statistics.rst:415 msgid "Subclass of :exc:`ValueError` for statistics-related exceptions." msgstr "" +"Sous-classe de :exc:`ValueError` pour les exceptions liées aux statistiques." diff --git a/library/struct.po b/library/struct.po index f6ccd722..030e7729 100644 --- a/library/struct.po +++ b/library/struct.po @@ -19,10 +19,12 @@ msgstr "" #: ../Doc/library/struct.rst:2 msgid ":mod:`struct` --- Interpret bytes as packed binary data" msgstr "" +":mod:`struct` — manipulation de données agrégées sous forme binaire comme " +"une séquence d'octets" #: ../Doc/library/struct.rst:7 msgid "**Source code:** :source:`Lib/struct.py`" -msgstr "" +msgstr "**Code source :** :source:`Lib/struct.py`" #: ../Doc/library/struct.rst:15 msgid "" @@ -33,6 +35,13 @@ msgid "" "the layout of the C structs and the intended conversion to/from Python " "values." msgstr "" +"Ce module effectue des conversions entre des valeurs Python et des " +"structures C représentées sous la forme de :class:`bytes` (séquences " +"d'octets) Python. Cela permet, entre autres, de manipuler des données " +"agrégées sous forme binaire dans des fichiers ou à travers des connecteurs " +"réseau. Il utilise :ref:`les chaînes de spécification de format ` comme description de l'agencement des structures afin de " +"réaliser les conversions depuis et vers les valeurs Python." #: ../Doc/library/struct.rst:23 msgid "" @@ -44,6 +53,15 @@ msgid "" "or omit implicit pad bytes, use ``standard`` size and alignment instead of " "``native`` size and alignment: see :ref:`struct-alignment` for details." msgstr "" +"par défaut, le résultat de l'agrégation d'une structure C donnée comprend " +"des octets de bourrage afin de maintenir un alignement correct des types C " +"sous-jacents ; de la même manière, l'alignement est pris en compte lors de " +"la dissociation. Ce comportement a été choisi de manière à ce que les octets " +"d'une structure agrégée reproduisent exactement l'agencement en mémoire de " +"la structure C équivalente. Pour gérer des formats de données indépendants " +"de la plateforme ou omettre les octets implicites de bourrage, utilisez la " +"taille et l'alignement ``standard`` en lieu et place de la taille et " +"l'alignement ``native`` (voir :ref:`struct-alignment` pour les détails)." #: ../Doc/library/struct.rst:31 msgid "" @@ -55,20 +73,30 @@ msgid "" "implement the buffer protocol, so that they can be read/filled without " "additional copying from a :class:`bytes` object." msgstr "" +"Plusieurs fonctions de :mod:`struct` (et méthodes de :class:`Struct`) " +"prennent un argument *buffer*. Cet argument fait référence à des objets qui " +"implémentent :ref:`le protocole tampon ` et qui proposent un " +"tampon soit en lecture seule, soit en lecture-écriture. Les types les plus " +"courants qui utilisent cette fonctionnalité sont :class:`bytes` et :class:" +"`bytearray`, mais beaucoup d'autres types qui peuvent être considérés comme " +"des tableaux d'octets implémentent le protocole tampon ; ils peuvent ainsi " +"être lus ou remplis depuis un objet :class:`bytes` sans faire de copie." #: ../Doc/library/struct.rst:40 msgid "Functions and Exceptions" -msgstr "" +msgstr "Fonctions et exceptions" #: ../Doc/library/struct.rst:42 msgid "The module defines the following exception and functions:" -msgstr "" +msgstr "Le module définit les exceptions et fonctions suivantes :" #: ../Doc/library/struct.rst:47 msgid "" "Exception raised on various occasions; argument is a string describing what " "is wrong." msgstr "" +"Exception levée à plusieurs occasions ; l'argument est une chaîne qui décrit " +"ce qui ne va pas." #: ../Doc/library/struct.rst:53 msgid "" @@ -112,6 +140,8 @@ msgstr "" #: ../Doc/library/struct.rst:89 msgid "Each iteration yields a tuple as specified by the format string." msgstr "" +"Chaque itération produit un *n*-uplet tel que spécifié par la chaîne de " +"format." #: ../Doc/library/struct.rst:96 msgid "" @@ -121,7 +151,7 @@ msgstr "" #: ../Doc/library/struct.rst:102 msgid "Format Strings" -msgstr "" +msgstr "Chaînes de spécification du format" #: ../Doc/library/struct.rst:104 msgid "" @@ -131,10 +161,16 @@ msgid "" "addition, there are special characters for controlling the :ref:`struct-" "alignment`." msgstr "" +"Les chaînes de spécification du format servent à définir l'agencement lors " +"de l'agrégation et la dissociation des données. Elles sont construites à " +"partir de :ref:`caractères de format `, qui spécifient le " +"type de donnée à agréger-dissocier. De plus, il existe des caractères " +"spéciaux pour contrôler :ref:`le boutisme, la taille et l'alignement `." #: ../Doc/library/struct.rst:113 msgid "Byte Order, Size, and Alignment" -msgstr "" +msgstr "Boutisme, taille et alignement" #: ../Doc/library/struct.rst:115 msgid "" @@ -142,6 +178,9 @@ msgid "" "order, and properly aligned by skipping pad bytes if necessary (according to " "the rules used by the C compiler)." msgstr "" +"Par défaut, les types C sont représentés dans le format et le boutisme " +"natifs de la machine ; ils sont alignés correctement en sautant des octets " +"si nécessaire (en fonction des règles utilisées par le compilateur C)." #: ../Doc/library/struct.rst:119 msgid "" @@ -149,6 +188,9 @@ msgid "" "indicate the byte order, size and alignment of the packed data, according to " "the following table:" msgstr "" +"Cependant, le premier caractère de la chaîne de format peut être utilisé " +"pour indiquer le boutisme, la taille et l'alignement des données agrégées, " +"conformément à la table suivante :" #: ../Doc/library/struct.rst:124 msgid "Character" @@ -156,15 +198,15 @@ msgstr "Caractère" #: ../Doc/library/struct.rst:124 msgid "Byte order" -msgstr "" +msgstr "Boutisme" #: ../Doc/library/struct.rst:124 msgid "Size" -msgstr "" +msgstr "Taille" #: ../Doc/library/struct.rst:124 msgid "Alignment" -msgstr "" +msgstr "Alignement" #: ../Doc/library/struct.rst:126 msgid "``@``" @@ -172,7 +214,7 @@ msgstr "``@``" #: ../Doc/library/struct.rst:126 ../Doc/library/struct.rst:128 msgid "native" -msgstr "" +msgstr "natif" #: ../Doc/library/struct.rst:128 msgid "``=``" @@ -181,12 +223,12 @@ msgstr "``=``" #: ../Doc/library/struct.rst:128 ../Doc/library/struct.rst:130 #: ../Doc/library/struct.rst:132 ../Doc/library/struct.rst:134 msgid "standard" -msgstr "" +msgstr "standard" #: ../Doc/library/struct.rst:128 ../Doc/library/struct.rst:130 #: ../Doc/library/struct.rst:132 ../Doc/library/struct.rst:134 msgid "none" -msgstr "" +msgstr "aucun" #: ../Doc/library/struct.rst:130 msgid "``<``" @@ -194,7 +236,7 @@ msgstr "``<``" #: ../Doc/library/struct.rst:130 msgid "little-endian" -msgstr "" +msgstr "petit-boutiste" #: ../Doc/library/struct.rst:132 msgid "``>``" @@ -202,7 +244,7 @@ msgstr "``>``" #: ../Doc/library/struct.rst:132 msgid "big-endian" -msgstr "" +msgstr "gros-boutiste" #: ../Doc/library/struct.rst:134 msgid "``!``" @@ -210,11 +252,13 @@ msgstr "``!``" #: ../Doc/library/struct.rst:134 msgid "network (= big-endian)" -msgstr "" +msgstr "réseau (= gros-boutiste)" #: ../Doc/library/struct.rst:137 msgid "If the first character is not one of these, ``'@'`` is assumed." msgstr "" +"Si le premier caractère n'est pas dans cette liste, le module se comporte " +"comme si ``'@'`` avait été indiqué." #: ../Doc/library/struct.rst:139 msgid "" @@ -224,36 +268,54 @@ msgid "" "switchable endianness (bi-endian). Use ``sys.byteorder`` to check the " "endianness of your system." msgstr "" +"Le boutisme natif est gros-boutiste ou petit-boutiste, en fonction de la " +"machine sur laquelle s'exécute le programme. Par exemple, les Intel x86 et " +"les AMD64 (x86-64) sont petit-boutistes ; les Motorola 68000 et les *PowerPC " +"G5* sont gros-boutistes ; les ARM et les Intel Itanium peuvent changer de " +"boutisme. Utilisez ``sys.byteorder`` pour vérifier le boutisme de votre " +"système." #: ../Doc/library/struct.rst:145 msgid "" "Native size and alignment are determined using the C compiler's ``sizeof`` " "expression. This is always combined with native byte order." msgstr "" +"La taille et l'alignement natifs sont déterminés en utilisant l'expression " +"``sizeof`` du compilateur C. Leur valeur est toujours combinée au boutisme " +"natif." #: ../Doc/library/struct.rst:148 msgid "" "Standard size depends only on the format character; see the table in the :" "ref:`format-characters` section." msgstr "" +"La taille standard dépend seulement du caractère du format ; référez-vous au " +"tableau dans la section :ref:`format-characters`." #: ../Doc/library/struct.rst:151 msgid "" "Note the difference between ``'@'`` and ``'='``: both use native byte order, " "but the size and alignment of the latter is standardized." msgstr "" +"Notez la différence entre ``'@'`` et ``'='`` : les deux utilisent le " +"boutisme natif mais la taille et l'alignement du dernier sont standards." #: ../Doc/library/struct.rst:154 msgid "" "The form ``'!'`` is available for those poor souls who claim they can't " "remember whether network byte order is big-endian or little-endian." msgstr "" +"La forme ``'!'`` existe pour les têtes en l'air qui prétendent ne pas se " +"rappeler si le boutisme réseau est gros-boutiste ou petit-boutiste." #: ../Doc/library/struct.rst:157 msgid "" "There is no way to indicate non-native byte order (force byte-swapping); use " "the appropriate choice of ``'<'`` or ``'>'``." msgstr "" +"Il n'y a pas de moyen de spécifier le boutisme contraire au boutisme natif " +"(c'est-à-dire forcer la permutation des octets) ; utilisez le bon caractère " +"entre ``'<'`` et ``'>'``." #: ../Doc/library/struct.rst:160 ../Doc/library/struct.rst:233 msgid "Notes:" @@ -264,12 +326,17 @@ msgid "" "Padding is only automatically added between successive structure members. No " "padding is added at the beginning or the end of the encoded struct." msgstr "" +"Le bourrage (*padding* en anglais) n'est automatiquement ajouté qu'entre les " +"membres successifs de la structure. Il n'y a pas de bourrage au début ou à " +"la fin de la structure agrégée." #: ../Doc/library/struct.rst:165 msgid "" "No padding is added when using non-native size and alignment, e.g. with '<', " "'>', '=', and '!'." msgstr "" +"Il n'y a pas d'ajout de bourrage lorsque vous utilisez une taille et un " +"alignement non-natifs, par exemple avec `<`, `'>', `=` ou `!`." #: ../Doc/library/struct.rst:168 msgid "" @@ -277,10 +344,13 @@ msgid "" "type, end the format with the code for that type with a repeat count of " "zero. See :ref:`struct-examples`." msgstr "" +"Pour aligner la fin d'une structure à l'alignement requis par un type " +"particulier, terminez le format avec le code du type voulu et une valeur de " +"répétition à zéro. Référez-vous à :ref:`struct-examples`." #: ../Doc/library/struct.rst:176 msgid "Format Characters" -msgstr "" +msgstr "Caractères de format" #: ../Doc/library/struct.rst:178 msgid "" @@ -291,6 +361,13 @@ msgid "" "``'!'`` or ``'='``. When using native size, the size of the packed value is " "platform-dependent." msgstr "" +"Les caractères de format possèdent les significations suivantes ; la " +"conversion entre les valeurs C et Python doit être évidente compte tenu des " +"types concernés. La colonne « taille standard » fait référence à la taille " +"en octets de la valeur agrégée avec l'utilisation de la taille standard " +"(c'est-à-dire lorsque la chaîne de format commence par l'un des caractères " +"suivants : ``'<'``, ``'>'``, ``'!'`` ou ``'='``). Si vous utilisez la taille " +"native, la taille de la valeur agrégée dépend de la plateforme." #: ../Doc/library/struct.rst:186 msgid "Format" @@ -306,7 +383,7 @@ msgstr "Type Python" #: ../Doc/library/struct.rst:186 msgid "Standard size" -msgstr "" +msgstr "Taille standard" #: ../Doc/library/struct.rst:186 msgid "Notes" @@ -318,11 +395,11 @@ msgstr "``x``" #: ../Doc/library/struct.rst:188 msgid "pad byte" -msgstr "" +msgstr "octet de bourrage" #: ../Doc/library/struct.rst:188 msgid "no value" -msgstr "" +msgstr "pas de valeur" #: ../Doc/library/struct.rst:190 msgid "``c``" @@ -334,7 +411,7 @@ msgstr ":c:type:`char`" #: ../Doc/library/struct.rst:190 msgid "bytes of length 1" -msgstr "" +msgstr "*bytes* (suite d'octets) de taille 1" #: ../Doc/library/struct.rst:190 ../Doc/library/struct.rst:192 #: ../Doc/library/struct.rst:194 ../Doc/library/struct.rst:196 @@ -357,7 +434,7 @@ msgstr ":c:type:`signed char`" #: ../Doc/library/struct.rst:215 ../Doc/library/struct.rst:217 #: ../Doc/library/struct.rst:227 msgid "integer" -msgstr "" +msgstr "*int* (entier)" #: ../Doc/library/struct.rst:192 msgid "\\(1),\\(3)" @@ -551,7 +628,7 @@ msgstr "\\(6)" #: ../Doc/library/struct.rst:230 msgid "Added support for the ``'n'`` and ``'N'`` formats." -msgstr "" +msgstr "ajouté la gestion des formats ``'n'`` et ``'N'``." #: ../Doc/library/struct.rst:236 msgid "" @@ -559,6 +636,9 @@ msgid "" "by C99. If this type is not available, it is simulated using a :c:type:" "`char`. In standard mode, it is always represented by one byte." msgstr "" +"Le code de conversion ``'?'`` correspond au type :c:type:`_Bool` de C99. Si " +"ce type n'est pas disponible, il est simulé en utilisant un :c:type:`char`. " +"Dans le mode standard, il est toujours représenté par un octet." #: ../Doc/library/struct.rst:241 msgid "" @@ -573,6 +653,10 @@ msgid "" "codes, if the non-integer has a :meth:`__index__` method then that method is " "called to convert the argument to an integer before packing." msgstr "" +"Lorsque vous essayez d'agréger un non-entier en utilisant un code de " +"conversion pour un entier, si ce non-entier possède une méthode :meth:" +"`__index__` alors cette méthode est appelée pour convertir l'argument en " +"entier avant l'agrégation." #: ../Doc/library/struct.rst:250 msgid "Use of the :meth:`__index__` method for non-integers is new in 3.2." @@ -585,6 +669,10 @@ msgid "" "the standard size, you can use whichever of the other integer formats fits " "your application." msgstr "" +"Les codes de conversion ``'n'`` et ``'N'`` ne sont disponibles que pour la " +"taille native (choisie par défaut ou à l'aide du caractère de boutisme " +"``'@'``). Pour la taille standard, vous pouvez utiliser n'importe quel " +"format d'entier qui convient à votre application." #: ../Doc/library/struct.rst:260 msgid "" @@ -601,18 +689,29 @@ msgid "" "on the host system. The struct module does not interpret this as native " "ordering, so the ``'P'`` format is not available." msgstr "" +"Le caractère de format ``'P'`` n'est disponible que pour le boutisme natif " +"(choisi par défaut ou à l'aide du caractère ``'@'`` de boutisme). Le " +"caractère de boutisme ``'='`` choisit d'utiliser un petit ou un gros en " +"fonction du système hôte. Le module *struct* ne l'interprète pas comme un " +"boutisme natif, donc le format ``'P'`` n'est pas disponible." #: ../Doc/library/struct.rst:272 msgid "" "A format character may be preceded by an integral repeat count. For " "example, the format string ``'4h'`` means exactly the same as ``'hhhh'``." msgstr "" +"Un caractère de format peut être précédé par un entier indiquant le nombre " +"de répétitions. Par exemple, la chaîne de format ``'4h'`` a exactement la " +"même signification que ``'hhhh'``." #: ../Doc/library/struct.rst:275 msgid "" "Whitespace characters between formats are ignored; a count and its format " "must not contain whitespace though." msgstr "" +"Les caractères d'espacement entre les indications de format sont ignorés ; " +"cependant, le nombre de répétitions et le format associé ne doivent pas être " +"séparés par des caractères d'espacement." #: ../Doc/library/struct.rst:278 msgid "" @@ -625,6 +724,15 @@ msgid "" "number of bytes. As a special case, ``'0s'`` means a single, empty string " "(while ``'0c'`` means 0 characters)." msgstr "" +"Pour le caractère de format ``'s'``, un nombre en tête est interprété comme " +"la longueur du *bytes* et non comme le nombre de répétitions comme pour les " +"autres caractères de format ; par exemple, ``'10s'`` signifie une seule " +"chaîne de 10 octets alors que ``'10c'`` signifie 10 caractères. Si aucun " +"nombre n'est indiqué, la valeur par défaut est 1. Pour l'agrégation, la " +"chaîne est tronquée ou bourrée avec des octets nuls pour atteindre la taille " +"souhaitée. Pour la dissociation, l'objet *bytes* résultant possède le nombre " +"exact d'octets spécifiés. Un cas particulier est ``'0s'`` qui signifie une " +"chaîne (et une seule) vide (alors que ``'0c'`` signifie zéro caractère)." #: ../Doc/library/struct.rst:287 msgid "" @@ -633,6 +741,10 @@ msgid "" "``'Q'``), if ``x`` is outside the valid range for that format then :exc:" "`struct.error` is raised." msgstr "" +"Lors de l'agrégation d'une valeur ``x`` en utilisant l'un des formats pour " +"les entiers (``'b'``, ``'B'``, ``'h'``, ``'H'``, ``'i'``, ``'I'``, ``'l'``, " +"``'L'``, ``'q'``, ``'Q'``), si ``x`` est en dehors de l'intervalle du format " +"spécifié, une :exc:`struct.error` est levée." #: ../Doc/library/struct.rst:292 msgid "" @@ -653,6 +765,17 @@ msgid "" "consumes ``count`` bytes, but that the string returned can never contain " "more than 255 bytes." msgstr "" +"Le caractère de format ``'p'`` sert à encoder une « chaîne Pascal », c'est-à-" +"dire une courte chaîne de longueur variable, stockée dans un *nombre défini " +"d'octets* dont la valeur est définie par la répétition. Le premier octet " +"stocké est la longueur de la chaîne (dans la limite maximum de 255). Les " +"octets composant la chaîne suivent. Si la chaîne passée à :func:`pack` est " +"trop longue (supérieure à la valeur de la répétition moins 1), seuls les " +"``count-1`` premiers octets de la chaîne sont stockés. Si la chaîne est plus " +"courte que ``count-1``, des octets de bourrage nuls sont insérés de manière " +"à avoir exactement *count* octets au final. Notez que pour :func:`unpack`, " +"le caractère de format ``'p'`` consomme ``count`` octets mais que la chaîne " +"renvoyée ne peut pas excéder 255 octets." #: ../Doc/library/struct.rst:307 msgid "" @@ -661,6 +784,11 @@ msgid "" "used. Either 0 or 1 in the native or standard bool representation will be " "packed, and any non-zero value will be ``True`` when unpacking." msgstr "" +"Pour le caractère de format ``'?'``, la valeur renvoyée est :const:`True` " +"ou :const:`False`. Lors de l'agrégation, la valeur de vérité de l'objet " +"argument est utilisée. La valeur agrégée est 0 ou 1 dans la représentation " +"native ou standard et, lors de la dissociation, n'importe quelle valeur " +"différente de zéro est renvoyée ``True``." #: ../Doc/library/struct.rst:317 msgid "Examples" @@ -671,42 +799,53 @@ msgid "" "All examples assume a native byte order, size, and alignment with a big-" "endian machine." msgstr "" +"tous les exemples présentés supposent que l'on utilise le boutisme, la " +"taille et l'alignement natifs sur une machine gros-boutiste." #: ../Doc/library/struct.rst:323 msgid "A basic example of packing/unpacking three integers::" -msgstr "" +msgstr "Un exemple de base d'agrégation et dissociation de trois entiers ::" #: ../Doc/library/struct.rst:333 msgid "" "Unpacked fields can be named by assigning them to variables or by wrapping " "the result in a named tuple::" msgstr "" +"Les champs dissociés peuvent être nommés en leur assignant des variables ou " +"en encapsulant le résultat dans un *n*-uplet nommé ::" #: ../Doc/library/struct.rst:344 msgid "" "The ordering of format characters may have an impact on size since the " "padding needed to satisfy alignment requirements is different::" msgstr "" +"L'ordre des caractères de format peut avoir un impact sur la taille puisque " +"le bourrage nécessaire pour réaliser l'alignement est différent ::" #: ../Doc/library/struct.rst:356 msgid "" "The following format ``'llh0l'`` specifies two pad bytes at the end, " "assuming longs are aligned on 4-byte boundaries::" msgstr "" +"Le format suivant ``'llh0l'`` spécifie deux octets de bourrage à la fin, " +"considérant que les entiers longs sont alignés sur des espacements de 4 " +"octets ::" #: ../Doc/library/struct.rst:362 msgid "" "This only works when native size and alignment are in effect; standard size " "and alignment does not enforce any alignment." msgstr "" +"Ceci ne fonctionne que quand la taille et l'alignement natifs sont " +"utilisés ; la taille et l'alignement standards ne forcent aucun alignement." #: ../Doc/library/struct.rst:369 msgid "Module :mod:`array`" -msgstr "" +msgstr "Module :mod:`array`" #: ../Doc/library/struct.rst:369 msgid "Packed binary storage of homogeneous data." -msgstr "" +msgstr "Stockage agrégé binaire de données homogènes." #: ../Doc/library/struct.rst:371 msgid "Module :mod:`xdrlib`" @@ -714,7 +853,7 @@ msgstr "Module :mod:`xdrlib`" #: ../Doc/library/struct.rst:372 msgid "Packing and unpacking of XDR data." -msgstr "" +msgstr "Agrégation et dissociation de données XDR." #: ../Doc/library/struct.rst:378 msgid "Classes" @@ -722,7 +861,7 @@ msgstr "Classes" #: ../Doc/library/struct.rst:380 msgid "The :mod:`struct` module also defines the following type:" -msgstr "" +msgstr "Le module :mod:`struct` définit aussi le type suivant :" #: ../Doc/library/struct.rst:385 msgid "" @@ -731,26 +870,37 @@ msgid "" "methods is more efficient than calling the :mod:`struct` functions with the " "same format since the format string only needs to be compiled once." msgstr "" +"Renvoie un nouvel objet Struct qui écrit et lit des données binaires " +"conformément à la chaîne de format *format*. Créer une fois pour toutes un " +"objet Struct puis appeler ses méthodes est plus efficace que d'appeler les " +"fonctions de :mod:`struct` avec le même format puisque la chaîne de format " +"n'est compilée qu'une seule fois." #: ../Doc/library/struct.rst:391 msgid "Compiled Struct objects support the following methods and attributes:" msgstr "" +"Les objets ``Struct`` compilés gèrent les méthodes et attributs suivants :" #: ../Doc/library/struct.rst:395 msgid "" "Identical to the :func:`pack` function, using the compiled format. " "(``len(result)`` will equal :attr:`size`.)" msgstr "" +"Identique à la fonction :func:`pack`, en utilisant le format compilé " +"(``len(result)`` vaut :attr:`size`)." #: ../Doc/library/struct.rst:401 msgid "Identical to the :func:`pack_into` function, using the compiled format." msgstr "" +"Identique à la fonction :func:`pack_into`, en utilisant le format compilé." #: ../Doc/library/struct.rst:406 msgid "" "Identical to the :func:`unpack` function, using the compiled format. The " "buffer's size in bytes must equal :attr:`size`." msgstr "" +"Identique à la fonction :func:`unpack`, en utilisant le format compilé. La " +"taille du tampon *buffer* en octets doit valoir :attr:`size`." #: ../Doc/library/struct.rst:412 msgid "" @@ -763,13 +913,17 @@ msgid "" "Identical to the :func:`iter_unpack` function, using the compiled format. " "The buffer's size in bytes must be a multiple of :attr:`size`." msgstr "" +"Identique à la fonction :func:`iter_unpack`, en utilisant le format compilé. " +"La taille du tampon *buffer* en octets doit être un multiple de :attr:`size`." #: ../Doc/library/struct.rst:426 msgid "The format string used to construct this Struct object." -msgstr "" +msgstr "La chaîne de format utilisée pour construire l'objet `Struct`." #: ../Doc/library/struct.rst:430 msgid "" "The calculated size of the struct (and hence of the bytes object produced by " "the :meth:`pack` method) corresponding to :attr:`format`." msgstr "" +"La taille calculée de la structure agrégée (et donc de l'objet `bytes` " +"produit par la méthode :meth:`pack`) correspondante à :attr:`format`." diff --git a/library/sunau.po b/library/sunau.po index 21923e05..cc96f06f 100644 --- a/library/sunau.po +++ b/library/sunau.po @@ -39,7 +39,7 @@ msgstr "" #: ../Doc/library/sunau.rst:21 msgid "Field" -msgstr "" +msgstr "Champ" #: ../Doc/library/sunau.rst:21 msgid "Contents" diff --git a/library/tarfile.po b/library/tarfile.po index fe2b849f..642b4d0f 100644 --- a/library/tarfile.po +++ b/library/tarfile.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/tarfile.rst:2 msgid ":mod:`tarfile` --- Read and write tar archive files" -msgstr "" +msgstr ":mod:`tarfile` — Lecture et écriture de fichiers d'archives **tar**" #: ../Doc/library/tarfile.rst:10 msgid "**Source code:** :source:`Lib/tarfile.py`" @@ -31,20 +31,29 @@ msgid "" "module to read or write :file:`.zip` files, or the higher-level functions " "in :ref:`shutil `." msgstr "" +"Le module :mod:`tarfile` rend possible la lecture et l'écriture des archives " +"*tar*, incluant celles utilisant la compression *gzip*, *bz2* et *lzma*. " +"Utilisez le module :mod:`zipfile` pour lire ou écrire des fichiers :file:" +"`zip`, ou les fonctions de niveau supérieur dans :ref:`shutil `." #: ../Doc/library/tarfile.rst:19 msgid "Some facts and figures:" -msgstr "" +msgstr "Quelques faits et chiffres :" #: ../Doc/library/tarfile.rst:21 msgid "" "reads and writes :mod:`gzip`, :mod:`bz2` and :mod:`lzma` compressed archives " "if the respective modules are available." msgstr "" +"lit et écrit des archives compressées avec :mod:`gzip`, :mod:`bz2` ou :mod:" +"`lzma` si les modules respectifs sont disponibles." #: ../Doc/library/tarfile.rst:24 msgid "read/write support for the POSIX.1-1988 (ustar) format." msgstr "" +"prise en charge de la lecture/écriture pour le format *POSIX.1-1988* " +"(*ustar*)." #: ../Doc/library/tarfile.rst:26 msgid "" @@ -52,10 +61,15 @@ msgid "" "*longlink* extensions, read-only support for all variants of the *sparse* " "extension including restoration of sparse files." msgstr "" +"prise en charge de la lecture/écriture pour le format GNU *tar* incluant les " +"extensions *longname* et *longlink*, prise en charge de la lecture seule de " +"toutes les variantes de l'extension *sparse* incluant la restauration des " +"fichiers discontinus." #: ../Doc/library/tarfile.rst:30 msgid "read/write support for the POSIX.1-2001 (pax) format." msgstr "" +"prise en charge de la lecture/écriture pour le format *POSIX.1-2001* (*pax*)." #: ../Doc/library/tarfile.rst:32 msgid "" @@ -63,10 +77,15 @@ msgid "" "character devices and block devices and is able to acquire and restore file " "information like timestamp, access permissions and owner." msgstr "" +"gère les répertoires, les fichiers normaux, les liens directs (*hard links* " +"en anglais), les liens symboliques, les tubes nommés (*FIFO* en anglais), " +"les périphériques de caractère et les périphériques de bloc et est en mesure " +"d'acquérir et de restaurer les informations du fichier comme l'horodatage, " +"les autorisations d'accès et le propriétaire." #: ../Doc/library/tarfile.rst:36 msgid "Added support for :mod:`lzma` compression." -msgstr "" +msgstr "prise en charge de la compression :mod:`lzma`." #: ../Doc/library/tarfile.rst:42 msgid "" @@ -74,16 +93,22 @@ msgid "" "information on :class:`TarFile` objects and the keyword arguments that are " "allowed, see :ref:`tarfile-objects`." msgstr "" +"Renvoie un objet :class:`TarFile` pour le nom de chemin *name*. Pour plus " +"d'informations sur les objets :class:`TarFile` et les mot-clefs arguments " +"permis, voir :ref:`tarfile-objects`." #: ../Doc/library/tarfile.rst:46 msgid "" "*mode* has to be a string of the form ``'filemode[:compression]'``, it " "defaults to ``'r'``. Here is a full list of mode combinations:" msgstr "" +"Le *mode* doit être une chaîne de caractères de la forme ``'filemode[:" +"compression]'``, par défaut à ``'r'``. Voici une liste complète des " +"combinaisons de mode :" #: ../Doc/library/tarfile.rst:50 msgid "mode" -msgstr "" +msgstr "mode" #: ../Doc/library/tarfile.rst:50 msgid "action" @@ -95,7 +120,7 @@ msgstr "``'r' ou 'r:*'``" #: ../Doc/library/tarfile.rst:52 msgid "Open for reading with transparent compression (recommended)." -msgstr "" +msgstr "Ouvre en lecture avec compression transparente (recommandé)." #: ../Doc/library/tarfile.rst:55 msgid "``'r:'``" @@ -103,7 +128,7 @@ msgstr "``'r:'``" #: ../Doc/library/tarfile.rst:55 msgid "Open for reading exclusively without compression." -msgstr "" +msgstr "Ouvre en lecture, sans compression." #: ../Doc/library/tarfile.rst:58 msgid "``'r:gz'``" @@ -111,7 +136,7 @@ msgstr "``'r:gz'``" #: ../Doc/library/tarfile.rst:58 msgid "Open for reading with gzip compression." -msgstr "" +msgstr "Ouvre en lecture avec la compression *gzip*." #: ../Doc/library/tarfile.rst:60 msgid "``'r:bz2'``" @@ -119,7 +144,7 @@ msgstr "``'r:bz2'``" #: ../Doc/library/tarfile.rst:60 msgid "Open for reading with bzip2 compression." -msgstr "" +msgstr "Ouvre en lecture avec la compression *bzip2*." #: ../Doc/library/tarfile.rst:62 msgid "``'r:xz'``" @@ -127,7 +152,7 @@ msgstr "``'r:xz'``" #: ../Doc/library/tarfile.rst:62 msgid "Open for reading with lzma compression." -msgstr "" +msgstr "Ouvre en lecture avec la compression *lzma*." #: ../Doc/library/tarfile.rst:64 msgid "``'x'`` or ``'x:'``" @@ -138,6 +163,8 @@ msgid "" "Create a tarfile exclusively without compression. Raise an :exc:" "`FileExistsError` exception if it already exists." msgstr "" +"Crée un fichier *tar* sans compression. Lève une exception :exc:" +"`FileExistsError` s'il existe déjà." #: ../Doc/library/tarfile.rst:69 msgid "``'x:gz'``" @@ -148,6 +175,8 @@ msgid "" "Create a tarfile with gzip compression. Raise an :exc:`FileExistsError` " "exception if it already exists." msgstr "" +"Crée un fichier *tar* avec la compression *gzip*. Lève une exception :exc:" +"`FileExistsError` s'il existe déjà." #: ../Doc/library/tarfile.rst:73 msgid "``'x:bz2'``" @@ -158,6 +187,8 @@ msgid "" "Create a tarfile with bzip2 compression. Raise an :exc:`FileExistsError` " "exception if it already exists." msgstr "" +"Crée un fichier *tar* avec la compression *bzip2*. Lève une exception :exc:" +"`FileExistsError` s'il existe déjà." #: ../Doc/library/tarfile.rst:77 msgid "``'x:xz'``" @@ -168,6 +199,8 @@ msgid "" "Create a tarfile with lzma compression. Raise an :exc:`FileExistsError` " "exception if it already exists." msgstr "" +"Crée un fichier *tar* avec la compression *lzma*. Lève une exception :exc:" +"`FileExistsError` s'il existe déjà." #: ../Doc/library/tarfile.rst:81 msgid "``'a' or 'a:'``" @@ -178,6 +211,8 @@ msgid "" "Open for appending with no compression. The file is created if it does not " "exist." msgstr "" +"Ouvre pour ajouter à la fin, sans compression. Le fichier est créé s'il " +"n'existe pas." #: ../Doc/library/tarfile.rst:84 msgid "``'w' or 'w:'``" @@ -185,7 +220,7 @@ msgstr "``'w' ou 'w:'``" #: ../Doc/library/tarfile.rst:84 msgid "Open for uncompressed writing." -msgstr "" +msgstr "Ouvre en écriture, sans compression." #: ../Doc/library/tarfile.rst:86 msgid "``'w:gz'``" @@ -193,7 +228,7 @@ msgstr "``'w:gz'``" #: ../Doc/library/tarfile.rst:86 msgid "Open for gzip compressed writing." -msgstr "" +msgstr "Ouvre en écriture avec compression *gzip*." #: ../Doc/library/tarfile.rst:88 msgid "``'w:bz2'``" @@ -201,7 +236,7 @@ msgstr "``'w:bz2'``" #: ../Doc/library/tarfile.rst:88 msgid "Open for bzip2 compressed writing." -msgstr "" +msgstr "Ouvre en écriture avec compression *bzip2*." #: ../Doc/library/tarfile.rst:90 msgid "``'w:xz'``" @@ -209,7 +244,7 @@ msgstr "``'w:xz'``" #: ../Doc/library/tarfile.rst:90 msgid "Open for lzma compressed writing." -msgstr "" +msgstr "Ouvre en écriture avec la compression *lzma*." #: ../Doc/library/tarfile.rst:93 msgid "" @@ -218,12 +253,20 @@ msgid "" "`ReadError` is raised. Use *mode* ``'r'`` to avoid this. If a compression " "method is not supported, :exc:`CompressionError` is raised." msgstr "" +"Notez que les combinaisons ``'a:gz'``, ``'a:bz2'`` ou ``'a:xz'`` ne sont pas " +"possibles. Si le mode n'est pas adapté pour ouvrir un certain fichier " +"(compressé) pour la lecture, une exception :exc:`ReadError` est levée. " +"Utilisez le mode ``'r'`` pour éviter cela. Si une méthode de compression " +"n'est pas prise en charge, :exc:`CompressionError` est levée." #: ../Doc/library/tarfile.rst:98 msgid "" "If *fileobj* is specified, it is used as an alternative to a :term:`file " "object` opened in binary mode for *name*. It is supposed to be at position 0." msgstr "" +"Si *fileobj* est spécifié, il est utilisé comme une alternative au :term:" +"`file object` ouvert en mode binaire pour *name*. Il est censé être à la " +"position 0." #: ../Doc/library/tarfile.rst:101 msgid "" @@ -231,6 +274,9 @@ msgid "" "bz2'``, :func:`tarfile.open` accepts the keyword argument *compresslevel* " "(default ``9``) to specify the compression level of the file." msgstr "" +"Pour les modes ``'w:gz'``, ``'r:gz'``, ``'w:bz2'``, ``'r:bz2'``, ``'x:gz'``, " +"``'x:bz2'``, :func:`tarfile.open` accepte l'argument nommé *compresslevel* " +"(par défaut à ``9``) pour spécifier le niveau de compression du fichier." #: ../Doc/library/tarfile.rst:105 msgid "" @@ -245,14 +291,25 @@ msgid "" "does not allow random access, see :ref:`tar-examples`. The currently " "possible modes:" msgstr "" +"Pour des cas particuliers, il existe un deuxième format pour le *mode* : " +"``'filemode[compression]'``. :func:`tarfile.open` renvoie un objet :class:" +"`TarFile` qui traite ses données comme un flux de blocs. Aucun retour en " +"arrière ne sera effectué lors de la lecture du fichier. S'il est donné, " +"*fileobj* peut être n'importe quel objet qui a une méthode :meth:`read` ou :" +"meth:`write` (selon le *mode*). Le paramètre *bufsize* spécifie la taille du " +"bloc et vaut par défaut ``20 * 512`` octets. Utilisez cette variante en " +"combinaison avec par exemple ``sys.stdin``, une connexion (*socket* en " +"anglais) :term:`file object` ou un dispositif de bande. Cependant, un tel " +"objet :class:`TarFile` est limité en ce qu'il ne permet pas l'accès " +"aléatoire, voir :ref:`tar-examples`. Les modes actuellement possibles :" #: ../Doc/library/tarfile.rst:117 msgid "Mode" -msgstr "" +msgstr "Mode" #: ../Doc/library/tarfile.rst:117 msgid "Action" -msgstr "" +msgstr "Action" #: ../Doc/library/tarfile.rst:119 msgid "``'r|*'``" @@ -261,6 +318,8 @@ msgstr "``'r|*'``" #: ../Doc/library/tarfile.rst:119 msgid "Open a *stream* of tar blocks for reading with transparent compression." msgstr "" +"Ouvre un *flux* des blocs de *tar* en lecture avec une compression " +"transparente." #: ../Doc/library/tarfile.rst:122 msgid "``'r|'``" @@ -268,7 +327,7 @@ msgstr "``'r|'``" #: ../Doc/library/tarfile.rst:122 msgid "Open a *stream* of uncompressed tar blocks for reading." -msgstr "" +msgstr "Ouvre un *flux* de blocs *tar* non compressés en lecture." #: ../Doc/library/tarfile.rst:125 msgid "``'r|gz'``" @@ -276,7 +335,7 @@ msgstr "``'r|gz'``" #: ../Doc/library/tarfile.rst:125 msgid "Open a gzip compressed *stream* for reading." -msgstr "" +msgstr "Ouvre un flux compressé avec *gzip* en lecture." #: ../Doc/library/tarfile.rst:128 msgid "``'r|bz2'``" @@ -284,7 +343,7 @@ msgstr "``'r|bz2'``" #: ../Doc/library/tarfile.rst:128 msgid "Open a bzip2 compressed *stream* for reading." -msgstr "" +msgstr "Ouvre un *flux* compressé avec *bzip2* en lecture." #: ../Doc/library/tarfile.rst:131 msgid "``'r|xz'``" @@ -292,7 +351,7 @@ msgstr "``'r|xz'``" #: ../Doc/library/tarfile.rst:131 msgid "Open an lzma compressed *stream* for reading." -msgstr "" +msgstr "Ouvre un *flux* compressé avec *lzma* en lecture." #: ../Doc/library/tarfile.rst:134 msgid "``'w|'``" @@ -300,7 +359,7 @@ msgstr "``'w|'``" #: ../Doc/library/tarfile.rst:134 msgid "Open an uncompressed *stream* for writing." -msgstr "" +msgstr "Ouvre un *flux* non compressé en écriture." #: ../Doc/library/tarfile.rst:136 msgid "``'w|gz'``" @@ -308,7 +367,7 @@ msgstr "``'w|gz'``" #: ../Doc/library/tarfile.rst:136 msgid "Open a gzip compressed *stream* for writing." -msgstr "" +msgstr "Ouvre un *flux* compressé avec *gzip* en écriture." #: ../Doc/library/tarfile.rst:139 msgid "``'w|bz2'``" @@ -316,7 +375,7 @@ msgstr "``'w|bz2'``" #: ../Doc/library/tarfile.rst:139 msgid "Open a bzip2 compressed *stream* for writing." -msgstr "" +msgstr "Ouvre un *flux* compressé avec *bzip2* en écriture." #: ../Doc/library/tarfile.rst:142 msgid "``'w|xz'``" @@ -324,7 +383,7 @@ msgstr "``'w|xz'``" #: ../Doc/library/tarfile.rst:142 msgid "Open an lzma compressed *stream* for writing." -msgstr "" +msgstr "Ouvre un *flux* compressé avec *lzma* en écriture." #: ../Doc/library/tarfile.rst:146 ../Doc/library/tarfile.rst:319 msgid "The ``'x'`` (exclusive creation) mode was added." @@ -335,6 +394,9 @@ msgid "" "Class for reading and writing tar archives. Do not use this class directly: " "use :func:`tarfile.open` instead. See :ref:`tarfile-objects`." msgstr "" +"Classe pour la lecture et l'écriture d'archives *tar*. N'utilisez pas cette " +"classe directement, préférez :func:`tarfile.open`. Voir :ref:`tarfile-" +"objects`." #: ../Doc/library/tarfile.rst:157 msgid "" @@ -344,49 +406,61 @@ msgstr "" #: ../Doc/library/tarfile.rst:161 msgid "The :mod:`tarfile` module defines the following exceptions:" -msgstr "" +msgstr "Le module :mod:`tarfile` définit les exceptions suivantes :" #: ../Doc/library/tarfile.rst:166 msgid "Base class for all :mod:`tarfile` exceptions." -msgstr "" +msgstr "Classe de base pour toutes les exceptions du module :mod:`tarfile`." #: ../Doc/library/tarfile.rst:171 msgid "" "Is raised when a tar archive is opened, that either cannot be handled by " "the :mod:`tarfile` module or is somehow invalid." msgstr "" +"Est levée lors de l'ouverture d'une archive *tar*, qui ne peut pas être " +"gérée par le module :mod:`tarfile` ou est invalide." #: ../Doc/library/tarfile.rst:177 msgid "" "Is raised when a compression method is not supported or when the data cannot " "be decoded properly." msgstr "" +"Est levée lorsqu'une méthode de compression n'est pas prise en charge ou " +"lorsque les données ne peuvent pas être décodées correctement." #: ../Doc/library/tarfile.rst:183 msgid "" "Is raised for the limitations that are typical for stream-like :class:" "`TarFile` objects." msgstr "" +"Est levée pour les limitations typiques des objets de type flux :class:" +"`TarFile`." #: ../Doc/library/tarfile.rst:189 msgid "" "Is raised for *non-fatal* errors when using :meth:`TarFile.extract`, but " "only if :attr:`TarFile.errorlevel`\\ ``== 2``." msgstr "" +"Est levée pour des erreurs *non-fatales* lors de l'utilisation de :meth:" +"`TarFile.extract`, mais uniquement si :attr:`TarFile.errorlevel`\\ `` == 2``." #: ../Doc/library/tarfile.rst:195 msgid "Is raised by :meth:`TarInfo.frombuf` if the buffer it gets is invalid." msgstr "" +"Est levée par :meth:`TarInfo.frombuf` si le tampon qu'il obtient n'est pas " +"valide." #: ../Doc/library/tarfile.rst:198 msgid "The following constants are available at the module level:" -msgstr "" +msgstr "Les constantes suivantes sont disponibles au niveau du module :" #: ../Doc/library/tarfile.rst:202 msgid "" "The default character encoding: ``'utf-8'`` on Windows, the value returned " "by :func:`sys.getfilesystemencoding` otherwise." msgstr "" +"L'encodage des caractères par défaut est ``'utf-8'`` sous Windows, sinon la " +"valeur renvoyée par :func:`sys.getfilesystemencoding`." #: ../Doc/library/tarfile.rst:206 msgid "" @@ -394,18 +468,21 @@ msgid "" "`tarfile` module is able to create. See section :ref:`tar-formats` for " "details." msgstr "" +"Chacune des constantes suivantes définit un format d'archive *tar* que le " +"module :mod:`tarfile` est capable de créer. Voir la section :ref:`tar-" +"formats` pour plus de détails." #: ../Doc/library/tarfile.rst:213 msgid "POSIX.1-1988 (ustar) format." -msgstr "" +msgstr "Le format *POSIX.1-1988* (*ustar*)." #: ../Doc/library/tarfile.rst:218 msgid "GNU tar format." -msgstr "" +msgstr "Le format GNU *tar*." #: ../Doc/library/tarfile.rst:223 msgid "POSIX.1-2001 (pax) format." -msgstr "" +msgstr "Le format *POSIX.1-2001* (*pax*)." #: ../Doc/library/tarfile.rst:228 msgid "" @@ -415,35 +492,41 @@ msgstr "" #: ../Doc/library/tarfile.rst:234 msgid "Module :mod:`zipfile`" -msgstr "" +msgstr "Module :mod:`zipfile`" #: ../Doc/library/tarfile.rst:234 msgid "Documentation of the :mod:`zipfile` standard module." -msgstr "" +msgstr "Documentation du module standard :mod:`zipfile`." #: ../Doc/library/tarfile.rst:238 msgid ":ref:`archiving-operations`" -msgstr "" +msgstr ":ref:`archiving-operations`" #: ../Doc/library/tarfile.rst:237 msgid "" "Documentation of the higher-level archiving facilities provided by the " "standard :mod:`shutil` module." msgstr "" +"Documentation des outils d'archivage de haut niveau fournis par le module " +"standard :mod:`shutil`." #: ../Doc/library/tarfile.rst:240 msgid "" "`GNU tar manual, Basic Tar Format `_" msgstr "" +"`Manuel GNU *tar*, format *tar* basique (en anglais) `_" #: ../Doc/library/tarfile.rst:241 msgid "Documentation for tar archive files, including GNU tar extensions." msgstr "" +"Documentation pour les fichiers d'archive *tar*, y compris les extensions " +"*tar* GNU." #: ../Doc/library/tarfile.rst:247 msgid "TarFile Objects" -msgstr "" +msgstr "Les objets *TarFile*" #: ../Doc/library/tarfile.rst:249 msgid "" @@ -453,6 +536,12 @@ msgid "" "in a tar archive several times. Each archive member is represented by a :" "class:`TarInfo` object, see :ref:`tarinfo-objects` for details." msgstr "" +"L'objet :class:`TarFile` fournit une interface vers une archive *tar*. Une " +"archive *tar* est une séquence de blocs. Un membre d'archive (un fichier " +"stocké) est composé d'un bloc d'en-tête suivi des blocs de données. Il est " +"possible de stocker plusieurs fois un fichier dans une archive *tar*. Chaque " +"membre d'archive est représenté par un objet :class:`TarInfo`, voir :ref:" +"`tarinfo-objects` pour plus de détails." #: ../Doc/library/tarfile.rst:255 msgid "" @@ -462,16 +551,23 @@ msgid "" "for writing will not be finalized; only the internally used file object will " "be closed. See the :ref:`tar-examples` section for a use case." msgstr "" +"Un objet :class:`TarFile` peut être utilisé comme gestionnaire de contexte " +"dans une instruction :keyword:`with`. Il sera automatiquement fermé une fois " +"le bloc terminé. Veuillez noter qu'en cas d'exception, une archive ouverte " +"en écriture ne sera pas finalisée ; seul l'objet fichier utilisé en interne " +"sera fermé. Voir la section :ref:`tar-examples` pour un cas d'utilisation." #: ../Doc/library/tarfile.rst:261 msgid "Added support for the context management protocol." -msgstr "" +msgstr "Ajout de la prise en charge du protocole de gestion de contexte." #: ../Doc/library/tarfile.rst:266 msgid "" "All following arguments are optional and can be accessed as instance " "attributes as well." msgstr "" +"Tous les arguments suivants sont facultatifs et sont également accessibles " +"en tant qu'instance d'attributs." #: ../Doc/library/tarfile.rst:269 msgid "" @@ -487,6 +583,10 @@ msgid "" "existing one, or ``'x'`` to create a new file only if it does not already " "exist." msgstr "" +"Le *mode* est soit ``'r'`` pour lire à partir d'une archive existante, " +"``'a'`` pour ajouter des données à un fichier existant, ``'w'`` pour créer " +"un nouveau fichier en écrasant un existant, ou ``'x'`` pour créer un nouveau " +"fichier uniquement s'il n'existe pas déjà." #: ../Doc/library/tarfile.rst:276 msgid "" @@ -494,10 +594,13 @@ msgid "" "determined, *mode* is overridden by *fileobj*'s mode. *fileobj* will be used " "from position 0." msgstr "" +"Si *fileobj* est fourni, il est utilisé pour lire ou écrire des données. " +"S'il peut être déterminé, le *mode* est remplacé par le mode de *fileobj*. " +"*fileobj* sera utilisé à partir de la position 0." #: ../Doc/library/tarfile.rst:282 msgid "*fileobj* is not closed, when :class:`TarFile` is closed." -msgstr "" +msgstr "*fileobj* n'est pas fermé, lorsque :class:`TarFile` est fermé." #: ../Doc/library/tarfile.rst:284 msgid "" @@ -511,6 +614,8 @@ msgid "" "The *tarinfo* argument can be used to replace the default :class:`TarInfo` " "class with a different one." msgstr "" +"L'argument *tarinfo* peut être utilisé pour remplacer la classe par défaut :" +"class:`TarInfo` par une autre." #: ../Doc/library/tarfile.rst:291 msgid "" @@ -518,6 +623,10 @@ msgid "" "archive. If it is :const:`True`, add the content of the target files to the " "archive. This has no effect on systems that do not support symbolic links." msgstr "" +"Si *dereference* est :const:`False`, ajoute des liens symboliques et " +"physiques à l'archive. Si c'est :const:`True`, ajoute le contenu des " +"fichiers cibles à l'archive. Cela n'a aucun effet sur les systèmes qui ne " +"prennent pas en charge les liens symboliques." #: ../Doc/library/tarfile.rst:295 msgid "" @@ -526,12 +635,18 @@ msgid "" "get as many members as possible. This is only useful for reading " "concatenated or damaged archives." msgstr "" +"Si *ignore_zeros* est :const:`False`, traite un bloc vide comme la fin de " +"l'archive. Si c'est le cas :const:`True`, saute les blocs vides (et " +"invalides) et essaye d'obtenir autant de membres que possible. Ceci n'est " +"utile que pour lire des archives concaténées ou endommagées." #: ../Doc/library/tarfile.rst:299 msgid "" "*debug* can be set from ``0`` (no debug messages) up to ``3`` (all debug " "messages). The messages are written to ``sys.stderr``." msgstr "" +"*debug* peut être défini de ``0`` (aucun message de débogage) à ``3`` (tous " +"les messages de débogage). Les messages sont écrits dans ``sys.stderr``." #: ../Doc/library/tarfile.rst:302 msgid "" @@ -541,6 +656,12 @@ msgid "" "`OSError` exceptions. If ``2``, all *non-fatal* errors are raised as :exc:" "`TarError` exceptions as well." msgstr "" +"Si *errorlevel* est ``0``, toutes les erreurs sont ignorées lors de " +"l'utilisation de :meth:`TarFile.extract`. Néanmoins, ils apparaissent comme " +"des messages d'erreur dans la sortie de débogage, lorsque le débogage est " +"activé. Si ``1``, toutes les erreurs *fatales* sont déclenchées comme des " +"exceptions :exc:`OSError`. Si ``2``, toutes les erreurs *non-fatales* sont " +"déclenchées comme des exceptions :exc:`TarError` également." #: ../Doc/library/tarfile.rst:308 msgid "" @@ -549,46 +670,66 @@ msgid "" "to be handled. The default settings will work for most users. See section :" "ref:`tar-unicode` for in-depth information." msgstr "" +"Les arguments *encoding* et *errors* définissent l'encodage de caractères à " +"utiliser pour lire ou écrire l'archive et comment les erreurs de conversion " +"vont être traitées. Les paramètres par défaut fonctionneront pour la plupart " +"des utilisateurs. Voir la section :ref:`tar-unicode` pour des informations " +"détaillées." #: ../Doc/library/tarfile.rst:313 msgid "" "The *pax_headers* argument is an optional dictionary of strings which will " "be added as a pax global header if *format* is :const:`PAX_FORMAT`." msgstr "" +"L'argument *pax_headers* est un dictionnaire facultatif de chaînes de " +"caractères qui sera ajouté en tant qu'en-tête global *pax* si le *format* " +"est :const:`PAX_FORMAT`." #: ../Doc/library/tarfile.rst:316 ../Doc/library/tarfile.rst:531 msgid "Use ``'surrogateescape'`` as the default for the *errors* argument." msgstr "" +"Utilise ``'surrogateescape'`` comme valeur par défaut pour l'argument " +"*errors*." #: ../Doc/library/tarfile.rst:324 msgid "" "Alternative constructor. The :func:`tarfile.open` function is actually a " "shortcut to this classmethod." msgstr "" +"Constructeur alternatif. La fonction :func:`tarfile.open` est en fait un " +"raccourci vers cette méthode de classe." #: ../Doc/library/tarfile.rst:330 msgid "" "Return a :class:`TarInfo` object for member *name*. If *name* can not be " "found in the archive, :exc:`KeyError` is raised." msgstr "" +"Renvoie un objet :class:`TarInfo` pour le membre *name*. Si *name* est " +"introuvable dans l'archive, :exc:`KeyError` est levée." #: ../Doc/library/tarfile.rst:335 msgid "" "If a member occurs more than once in the archive, its last occurrence is " "assumed to be the most up-to-date version." msgstr "" +"Si un membre apparaît plus d'une fois dans l'archive, sa dernière occurrence " +"est supposée être la version la plus récente." #: ../Doc/library/tarfile.rst:341 msgid "" "Return the members of the archive as a list of :class:`TarInfo` objects. The " "list has the same order as the members in the archive." msgstr "" +"Renvoie les membres de l'archive sous la forme d'une liste d'objets :class:" +"`TarInfo`. La liste a le même ordre que les membres de l'archive." #: ../Doc/library/tarfile.rst:347 msgid "" "Return the members as a list of their names. It has the same order as the " "list returned by :meth:`getmembers`." msgstr "" +"Renvoie les membres comme une liste de leurs noms. Il a le même ordre que la " +"liste renvoyée par :meth:`getmembers`." #: ../Doc/library/tarfile.rst:353 msgid "" @@ -597,10 +738,15 @@ msgid "" "similar to that of :program:`ls -l` is produced. If optional *members* is " "given, it must be a subset of the list returned by :meth:`getmembers`." msgstr "" +"Imprime une table des matières dans ``sys.stdout``. Si *verbose* est :const:" +"`False`, seuls les noms des membres sont imprimés. Si c'est :const:`True`, " +"une sortie similaire à celle de :program:`ls -l` est produite. Si des " +"*membres* facultatifs sont fournis, il doit s'agir d'un sous-ensemble de la " +"liste renvoyée par :meth:`getmembers`." #: ../Doc/library/tarfile.rst:358 msgid "Added the *members* parameter." -msgstr "" +msgstr "Ajout du paramètre *members*." #: ../Doc/library/tarfile.rst:364 msgid "" @@ -608,6 +754,9 @@ msgid "" "class:`TarFile` is opened for reading. Return :const:`None` if there is no " "more available." msgstr "" +"Renvoie le membre suivant de l'archive en tant qu'objet :class:`TarInfo`, " +"lorsque la classe :class:`TarFile` est ouverte en lecture. Renvoie :const:" +"`None` s'il n'y a pas." #: ../Doc/library/tarfile.rst:371 msgid "" @@ -620,6 +769,15 @@ msgid "" "directory's permissions do not allow writing, extracting files to it will " "fail." msgstr "" +"Extrait tous les membres de l'archive vers le répertoire de travail actuel " +"ou le répertoire *chemin*. Si des *membres* facultatifs sont fournis, il " +"doit s'agir d'un sous-ensemble de la liste renvoyée par :meth:`getmembers`. " +"Les informations d'annuaire telles que le propriétaire, l'heure de " +"modification et les autorisations sont définies une fois tous les membres " +"extraits. Cela est fait pour contourner deux problèmes : l'heure de " +"modification d'un répertoire est réinitialisée chaque fois qu'un fichier y " +"est créé. Et, si les autorisations d'un répertoire ne permettent pas " +"l'écriture, l'extraction de fichiers échoue." #: ../Doc/library/tarfile.rst:379 ../Doc/library/tarfile.rst:402 msgid "" @@ -627,6 +785,9 @@ msgid "" "tarfile are used to set the owner/group for the extracted files. Otherwise, " "the named values from the tarfile are used." msgstr "" +"Si *numeric_owner* est :const:`True`, les numéros *uid* et *gid* du fichier " +"*tar* sont utilisés pour définir le propriétaire et le groupe des fichiers " +"extraits. Sinon, les valeurs nommées du fichier *tar* sont utilisées." #: ../Doc/library/tarfile.rst:385 msgid "" @@ -635,6 +796,10 @@ msgid "" "absolute filenames starting with ``\"/\"`` or filenames with two dots ``\".." "\"``." msgstr "" +"Ne jamais extraire des archives de sources non fiables sans inspection " +"préalable. Il est possible que des fichiers soient créés en dehors de " +"*chemin*, par exemple : les membres qui ont des noms de fichiers absolus " +"commençant par ``\"/\"`` ou des noms de fichiers avec deux points ``\"..\"``." #: ../Doc/library/tarfile.rst:390 ../Doc/library/tarfile.rst:418 msgid "Added the *numeric_only* parameter." @@ -654,14 +819,17 @@ msgid "" "The :meth:`extract` method does not take care of several extraction issues. " "In most cases you should consider using the :meth:`extractall` method." msgstr "" +"La méthode :meth:`extract` ne prend pas en charge plusieurs problèmes " +"d'extraction. Dans la plupart des cas, vous devriez envisager d'utiliser la " +"méthode :meth:`extractall`." #: ../Doc/library/tarfile.rst:413 msgid "See the warning for :meth:`extractall`." -msgstr "" +msgstr "Voir l'avertissement pour :meth:`extractall`." #: ../Doc/library/tarfile.rst:415 msgid "Added the *set_attrs* parameter." -msgstr "" +msgstr "Ajout du paramètre *set_attrs*." #: ../Doc/library/tarfile.rst:423 msgid "" @@ -673,7 +841,7 @@ msgstr "" #: ../Doc/library/tarfile.rst:428 msgid "Return an :class:`io.BufferedReader` object." -msgstr "" +msgstr "Renvoie un objet :class:`io.BufferedReader`." #: ../Doc/library/tarfile.rst:434 msgid "" @@ -693,7 +861,7 @@ msgstr "" #: ../Doc/library/tarfile.rst:447 msgid "Added the *filter* parameter." -msgstr "" +msgstr "Ajout du paramètre *filter*." #: ../Doc/library/tarfile.rst:450 msgid "" @@ -708,6 +876,11 @@ msgid "" "read from it and added to the archive. You can create :class:`TarInfo` " "objects directly, or by using :meth:`gettarinfo`." msgstr "" +"Ajoute l'objet :class:`TarInfo` *tarinfo* à l'archive. Si *fileobj* est " +"donné, il convient que ce soit un :term:`fichier binaire`, et les octets " +"``tarinfo.size`` sont lus à partir de celui-ci et ajoutés à l'archive. Vous " +"pouvez créer des objets :class:`TarInfo` directement, ou en utilisant :meth:" +"`gettarinfo`." #: ../Doc/library/tarfile.rst:465 msgid "" @@ -728,20 +901,30 @@ msgid "" "`~gzip.GzipFile`. The :attr:`~TarInfo.name` may also be modified, in which " "case *arcname* could be a dummy string." msgstr "" +"Vous pouvez modifier certains des attributs de :class:`TarInfo` avant de les " +"ajouter en utilisant :meth:`addfile`. Si l'objet fichier n'est pas un objet " +"fichier ordinaire positionné au début du fichier, des attributs tels que :" +"attr:`~TarInfo.size` peuvent nécessiter une modification. C'est le cas pour " +"des objets tels que :class:`~gzip.GzipFile`. Le :attr:`~TarInfo.name` peut " +"également être modifié, auquel cas *arcname* pourrait être une chaîne " +"factice." #: ../Doc/library/tarfile.rst:484 msgid "" "Close the :class:`TarFile`. In write mode, two finishing zero blocks are " "appended to the archive." msgstr "" +"Ferme le :class:`TarFile`. En mode écriture, deux blocs de finition à zéro " +"sont ajoutés à l'archive." #: ../Doc/library/tarfile.rst:490 msgid "A dictionary containing key-value pairs of pax global headers." msgstr "" +"Un dictionnaire contenant des paires clé-valeur d'en-têtes globaux *pax*." #: ../Doc/library/tarfile.rst:497 msgid "TarInfo Objects" -msgstr "" +msgstr "Les objets *TarInfo*" #: ../Doc/library/tarfile.rst:499 msgid "" @@ -750,56 +933,69 @@ msgid "" "permissions, owner etc.), it provides some useful methods to determine its " "type. It does *not* contain the file's data itself." msgstr "" +"Un objet :class:`TarInfo` représente un membre dans un :class:`TarFile`. En " +"plus de stocker tous les attributs requis d'un fichier (comme le type de " +"fichier, la taille, l'heure, les autorisations, le propriétaire, etc.), il " +"fournit quelques méthodes utiles pour déterminer son type. Il ne contient " +"pas les données du fichier lui-même." #: ../Doc/library/tarfile.rst:504 msgid "" ":class:`TarInfo` objects are returned by :class:`TarFile`'s methods :meth:" "`getmember`, :meth:`getmembers` and :meth:`gettarinfo`." msgstr "" +"Les objets :class:`TarInfo` sont renvoyés par les méthodes de :class:" +"`TarFile` :meth:`getmember`, :meth:`getmembers` et :meth:`gettarinfo`." #: ../Doc/library/tarfile.rst:510 msgid "Create a :class:`TarInfo` object." -msgstr "" +msgstr "Crée un objet :class:`TarInfo`." #: ../Doc/library/tarfile.rst:515 msgid "Create and return a :class:`TarInfo` object from string buffer *buf*." msgstr "" +"Crée et renvoie un objet :class:`TarInfo` à partir de la chaîne tampon *buf*." #: ../Doc/library/tarfile.rst:517 msgid "Raises :exc:`HeaderError` if the buffer is invalid." -msgstr "" +msgstr "Lève :exc:`HeaderError` si le tampon n'est pas valide." #: ../Doc/library/tarfile.rst:522 msgid "" "Read the next member from the :class:`TarFile` object *tarfile* and return " "it as a :class:`TarInfo` object." msgstr "" +"Lit le membre suivant dans l'objet :class:`TarFile` *tarfile* et le renvoie " +"comme un objet :class:`TarInfo`." #: ../Doc/library/tarfile.rst:528 msgid "" "Create a string buffer from a :class:`TarInfo` object. For information on " "the arguments see the constructor of the :class:`TarFile` class." msgstr "" +"Crée un tampon de chaîne de caractères à partir d'un objet :class:`TarInfo`. " +"Pour plus d'informations sur les arguments, voir le constructeur de la " +"classe :class:`TarFile`." #: ../Doc/library/tarfile.rst:535 msgid "A ``TarInfo`` object has the following public data attributes:" -msgstr "" +msgstr "Un objet ``TarInfo`` a les attributs de données publics suivants :" #: ../Doc/library/tarfile.rst:540 msgid "Name of the archive member." -msgstr "" +msgstr "Nom du membre de l'archive." #: ../Doc/library/tarfile.rst:545 msgid "Size in bytes." -msgstr "" +msgstr "La taille en octets." #: ../Doc/library/tarfile.rst:550 msgid "Time of last modification." -msgstr "" +msgstr "L'heure de la dernière modification." #: ../Doc/library/tarfile.rst:555 msgid "Permission bits." -msgstr "" +msgstr "Bits d'autorisation." #: ../Doc/library/tarfile.rst:560 msgid "" @@ -809,74 +1005,88 @@ msgid "" "const:`GNUTYPE_SPARSE`. To determine the type of a :class:`TarInfo` object " "more conveniently, use the ``is*()`` methods below." msgstr "" +"Type de fichier. *type* est généralement l'une des constantes suivantes : :" +"const:`REGTYPE`, :const:`AREGTYPE`, :const:`LNKTYPE`, :const:`SYMTYPE`, :" +"const:`DIRTYPE`, :const:`FIFOTYPE`, :const:`CONTTYPE`, :const:`CHRTYPE`, :" +"const:`BLKTYPE`, :const:`GNUTYPE_SPARSE`. Pour déterminer plus facilement le " +"type d'un objet :class:`TarInfo`, utilisez les méthodes ``is*()`` ci-dessous." #: ../Doc/library/tarfile.rst:569 msgid "" "Name of the target file name, which is only present in :class:`TarInfo` " "objects of type :const:`LNKTYPE` and :const:`SYMTYPE`." msgstr "" +"Nom du fichier cible, qui n'est présent que dans les objets :class:" +"`TarInfo` de type :const:`LNKTYPE` et :const:`SYMTYPE`." #: ../Doc/library/tarfile.rst:575 msgid "User ID of the user who originally stored this member." -msgstr "" +msgstr "ID de l'utilisateur qui a initialement stocké ce membre." #: ../Doc/library/tarfile.rst:580 msgid "Group ID of the user who originally stored this member." -msgstr "" +msgstr "ID de groupe de l'utilisateur qui a initialement stocké ce membre." #: ../Doc/library/tarfile.rst:585 msgid "User name." -msgstr "" +msgstr "Nom d'utilisateur." #: ../Doc/library/tarfile.rst:590 msgid "Group name." -msgstr "" +msgstr "Nom de groupe." #: ../Doc/library/tarfile.rst:595 msgid "" "A dictionary containing key-value pairs of an associated pax extended header." msgstr "" +"Un dictionnaire contenant des paires clé-valeur d'un en-tête étendu *pax* " +"associé." #: ../Doc/library/tarfile.rst:598 msgid "A :class:`TarInfo` object also provides some convenient query methods:" msgstr "" +"Un objet :class:`TarInfo` fournit également des méthodes de requête " +"pratiques :" #: ../Doc/library/tarfile.rst:603 msgid "Return :const:`True` if the :class:`Tarinfo` object is a regular file." msgstr "" +"Renvoie :const:`True` si l'objet :class:`Tarinfo` est un fichier normal." #: ../Doc/library/tarfile.rst:608 msgid "Same as :meth:`isfile`." -msgstr "" +msgstr "Identique à :meth:`isfile`." #: ../Doc/library/tarfile.rst:613 msgid "Return :const:`True` if it is a directory." -msgstr "" +msgstr "Renvoie :const:`True` si c'est un dossier." #: ../Doc/library/tarfile.rst:618 msgid "Return :const:`True` if it is a symbolic link." -msgstr "" +msgstr "Renvoie :const:`True` s'il s'agit d'un lien symbolique." #: ../Doc/library/tarfile.rst:623 msgid "Return :const:`True` if it is a hard link." -msgstr "" +msgstr "Renvoie :const:`True` s'il s'agit d'un lien physique." #: ../Doc/library/tarfile.rst:628 msgid "Return :const:`True` if it is a character device." -msgstr "" +msgstr "Renvoie :const:`True` s'il s'agit d'un périphérique de caractères." #: ../Doc/library/tarfile.rst:633 msgid "Return :const:`True` if it is a block device." -msgstr "" +msgstr "Renvoie :const:`True` s'il s'agit d'un périphérique de bloc." #: ../Doc/library/tarfile.rst:638 msgid "Return :const:`True` if it is a FIFO." -msgstr "" +msgstr "Renvoie :const:`True` s'il s'agit d'un tube nommé (*FIFO*)." #: ../Doc/library/tarfile.rst:643 msgid "" "Return :const:`True` if it is one of character device, block device or FIFO." msgstr "" +"Renvoie :const:`True` s'il s'agit d'un périphérique de caractères, d'un " +"périphérique de bloc ou d'un tube nommé." #: ../Doc/library/tarfile.rst:649 msgid "Command Line Interface" @@ -893,6 +1103,8 @@ msgid "" "If you want to create a new tar archive, specify its name after the :option:" "`-c` option and then list the filename(s) that should be included:" msgstr "" +"Si vous souhaitez créer une nouvelle archive *tar*, spécifiez son nom après " +"l'option :option:`-c`, puis répertorie-le ou les noms de fichiers à inclure :" #: ../Doc/library/tarfile.rst:663 msgid "Passing a directory is also acceptable:" @@ -903,16 +1115,22 @@ msgid "" "If you want to extract a tar archive into the current directory, use the :" "option:`-e` option:" msgstr "" +"Si vous souhaitez extraire une archive *tar* dans le répertoire courant, " +"utilisez l'option :option:`-e` :" #: ../Doc/library/tarfile.rst:676 msgid "" "You can also extract a tar archive into a different directory by passing the " "directory's name:" msgstr "" +"Vous pouvez également extraire une archive *tar* dans un autre répertoire en " +"passant le nom du répertoire :" #: ../Doc/library/tarfile.rst:683 msgid "For a list of the files in a tar archive, use the :option:`-l` option:" msgstr "" +"Pour une liste des fichiers dans une archive *tar*, utilisez l'option :" +"option:`-l` :" #: ../Doc/library/tarfile.rst:691 msgid "Command line options" @@ -920,20 +1138,22 @@ msgstr "Options de la ligne de commande" #: ../Doc/library/tarfile.rst:696 msgid "List files in a tarfile." -msgstr "" +msgstr "Liste les fichiers dans une archive *tar*." #: ../Doc/library/tarfile.rst:701 msgid "Create tarfile from source files." -msgstr "" +msgstr "Crée une archive *tar* à partir des fichiers sources." #: ../Doc/library/tarfile.rst:706 msgid "" "Extract tarfile into the current directory if *output_dir* is not specified." msgstr "" +"Extrait l'archive *tar* dans le répertoire courant si *output_dir* n'est pas " +"spécifié." #: ../Doc/library/tarfile.rst:711 msgid "Test whether the tarfile is valid or not." -msgstr "" +msgstr "Teste si l'archive *tar* est valide ou non." #: ../Doc/library/tarfile.rst:715 msgid "Verbose output" @@ -946,42 +1166,53 @@ msgstr "Exemples" #: ../Doc/library/tarfile.rst:722 msgid "How to extract an entire tar archive to the current working directory::" msgstr "" +"Comment extraire une archive *tar* dans le dossier de travail courant ::" #: ../Doc/library/tarfile.rst:729 msgid "" "How to extract a subset of a tar archive with :meth:`TarFile.extractall` " "using a generator function instead of a list::" msgstr "" +"Comment extraire un sous-ensemble d'une archive *tar* avec :meth:`TarFile." +"extractall` en utilisant une fonction de générateur au lieu d'une liste ::" #: ../Doc/library/tarfile.rst:744 msgid "How to create an uncompressed tar archive from a list of filenames::" msgstr "" +"Comment créer une archive *tar* non compressée à partir d'une liste de noms " +"de fichiers ::" #: ../Doc/library/tarfile.rst:752 msgid "The same example using the :keyword:`with` statement::" -msgstr "" +msgstr "Le même exemple en utilisant l'instruction :keyword:`with` ::" #: ../Doc/library/tarfile.rst:759 msgid "" "How to read a gzip compressed tar archive and display some member " "information::" msgstr "" +"Comment lire une archive *tar* compressée avec *gzip* et afficher des " +"informations des membres ::" #: ../Doc/library/tarfile.rst:773 msgid "" "How to create an archive and reset the user information using the *filter* " "parameter in :meth:`TarFile.add`::" msgstr "" +"Comment créer une archive et réinitialiser les informations de l'utilisateur " +"en utilisant le paramètre *filter* dans :meth:`TarFile.add` ::" #: ../Doc/library/tarfile.rst:789 msgid "Supported tar formats" -msgstr "" +msgstr "Formats *tar* pris en charge" #: ../Doc/library/tarfile.rst:791 msgid "" "There are three tar formats that can be created with the :mod:`tarfile` " "module:" msgstr "" +"Il existe trois formats *tar* qui peuvent être créés avec le module :mod:" +"`tarfile` :" #: ../Doc/library/tarfile.rst:793 msgid "" @@ -990,6 +1221,10 @@ msgid "" "The maximum file size is 8 GiB. This is an old and limited but widely " "supported format." msgstr "" +"Le format *POSIX.1-1988* *ustar* (:const:`ustar_FORMAT`). Il prend en charge " +"les noms de fichiers jusqu'à une longueur maximale de 256 caractères et les " +"noms de liens jusqu'à 100 caractères. La taille maximale du fichier est de " +"8 Go. Il s'agit d'un format ancien et limité mais largement pris en charge." #: ../Doc/library/tarfile.rst:798 msgid "" @@ -998,6 +1233,11 @@ msgid "" "standard on GNU/Linux systems. :mod:`tarfile` fully supports the GNU tar " "extensions for long names, sparse file support is read-only." msgstr "" +"Le format GNU *tar* (:const:`GNU_FORMAT`). Il prend en charge les noms de " +"fichiers longs et les noms de liens, les fichiers supérieurs à 8 Go et les " +"fichiers discontinus. C'est la norme de facto des systèmes GNU / Linux. :mod:" +"`tarfile` prend entièrement en charge les extensions GNU *tar* pour les noms " +"longs, la prise en charge des fichiers discontinus est en lecture seule." #: ../Doc/library/tarfile.rst:803 msgid "" @@ -1022,6 +1262,8 @@ msgid "" "There are some more variants of the tar format which can be read, but not " "created:" msgstr "" +"Il existe d'autres variantes du format *tar* qui peuvent être lues, mais pas " +"créées" #: ../Doc/library/tarfile.rst:817 msgid "" @@ -1031,16 +1273,23 @@ msgid "" "archives have miscalculated header checksums in case of fields with non-" "ASCII characters." msgstr "" +"L'ancien format *V7*. Il s'agit du premier format *tar* d'*Unix Seventh " +"Edition*, ne stockant que des fichiers et répertoires normaux. Les noms ne " +"doivent pas dépasser 100 caractères, il n'y a aucune information de nom " +"d'utilisateur / groupe. Certaines archives ont des sommes de contrôle d'en-" +"tête mal calculées dans le cas de champs avec des caractères non ASCII." #: ../Doc/library/tarfile.rst:822 msgid "" "The SunOS tar extended format. This format is a variant of the POSIX.1-2001 " "pax format, but is not compatible." msgstr "" +"Format étendu *SunOS* *tar*. Ce format est une variante du format " +"*POSIX.1-2001* *pax*, mais n'est pas compatible." #: ../Doc/library/tarfile.rst:828 msgid "Unicode issues" -msgstr "" +msgstr "Problèmes *unicode*" #: ../Doc/library/tarfile.rst:830 msgid "" @@ -1056,12 +1305,30 @@ msgid "" "encoding of an archive. The pax format was designed to solve this problem. " "It stores non-ASCII metadata using the universal character encoding *UTF-8*." msgstr "" +"Le format *tar* a été initialement conçu pour effectuer des sauvegardes sur " +"des lecteurs de bande en mettant principalement l'accent sur la préservation " +"des informations du système de fichiers. De nos jours, les archives *tar* " +"sont couramment utilisées pour la distribution de fichiers et l'échange " +"d'archives sur des réseaux. Un problème du format d'origine (qui est la base " +"de tous les autres formats) est qu'il n'existe aucun concept de prise en " +"charge d'encodages de caractères différents. Par exemple, une archive *tar* " +"ordinaire créée sur un système *UTF-8* ne peut pas être lue correctement sur " +"un système *Latin-1* si elle contient des caractères non *ASCII*. Les " +"métadonnées textuelles (comme les noms de fichiers, les noms de liens, les " +"noms d'utilisateurs / de groupes) sembleront endommagées. Malheureusement, " +"il n'y a aucun moyen de détecter automatiquement l'encodage d'une archive. " +"Le format *pax* a été conçu pour résoudre ce problème. Il stocke les " +"métadonnées non ASCII en utilisant l'encodage universel des caractères " +"*UTF-8*." #: ../Doc/library/tarfile.rst:842 msgid "" "The details of character conversion in :mod:`tarfile` are controlled by the " "*encoding* and *errors* keyword arguments of the :class:`TarFile` class." msgstr "" +"Les détails de la conversion des caractères dans :mod:`tarfile` sont " +"contrôlés par les arguments nommés *encoding* et *errors* de la classe :" +"class:`TarFile`." #: ../Doc/library/tarfile.rst:845 msgid "" @@ -1071,6 +1338,11 @@ msgid "" "written, the metadata must be either decoded or encoded. If *encoding* is " "not set appropriately, this conversion may fail." msgstr "" +"*encoding* définit l'encodage de caractères à utiliser pour les métadonnées " +"de l'archive. La valeur par défaut est :func:`sys.getfilesystemencoding` ou " +"``'ascii'`` comme solution de rechange. Selon que l'archive est lue ou " +"écrite, les métadonnées doivent être décodées ou encodées. Si l'encodage " +"n'est pas défini correctement, cette conversion peut échouer." #: ../Doc/library/tarfile.rst:851 msgid "" @@ -1079,6 +1351,11 @@ msgid "" "default scheme is ``'surrogateescape'`` which Python also uses for its file " "system calls, see :ref:`os-filenames`." msgstr "" +"L'argument *errors* définit le traitement des caractères qui ne peuvent pas " +"être convertis. Les valeurs possibles sont répertoriées dans la section :ref:" +"`error-handlers`. Le schéma par défaut est ``'surrogateescape'`` que Python " +"utilise également pour ses appels de système de fichiers, voir :ref:`os-" +"filenames`." #: ../Doc/library/tarfile.rst:856 msgid "" diff --git a/library/threading.po b/library/threading.po index 6ca49910..82449b6d 100644 --- a/library/threading.po +++ b/library/threading.po @@ -598,7 +598,7 @@ msgstr "" #: ../Doc/library/threading.rst:340 msgid "Lock Objects" -msgstr "" +msgstr "Verrous" #: ../Doc/library/threading.rst:342 msgid "" @@ -607,6 +607,10 @@ msgid "" "synchronization primitive available, implemented directly by the :mod:" "`_thread` extension module." msgstr "" +"Un verrou primitif n'appartient pas à un fil d'exécution lorsqu'il est " +"verrouillé. En Python, c'est actuellement la méthode de synchronisation la " +"plus bas-niveau qui soit disponible, implémentée directement par le module " +"d'extension :mod:`_thread`." #: ../Doc/library/threading.rst:347 msgid "" @@ -621,6 +625,17 @@ msgid "" "state to unlocked and returns immediately. If an attempt is made to release " "an unlocked lock, a :exc:`RuntimeError` will be raised." msgstr "" +"Un verrou primitif est soit « verrouillé » soit « déverrouillé ». Il est " +"créé dans un état déverrouillé. Il a deux méthodes, :meth:`~Lock.acquire` " +"et :meth:`~Lock.release`. Lorsque l'état est déverrouillé, :meth:`~Lock." +"acquire` verrouille et se termine immédiatement. Lorsque l'état est " +"verrouillé, :meth:`~Lock.acquire` bloque jusqu'à ce qu'un appel à :meth:" +"`~Lock.release` provenant d'un autre fil d'exécution le déverrouille. À ce " +"moment :meth:`~Lock.acquire` le verrouille à nouveau et rend la main. La " +"méthode :meth:`~Lock.release` ne doit être appelée que si le verrou est " +"verrouillé, elle le déverrouille alors et se termine immédiatement. " +"Déverrouiller un verrou qui n'est pas verrouillé provoque une :exc:" +"`RuntimeError`." #: ../Doc/library/threading.rst:358 msgid "Locks also support the :ref:`context management protocol `." diff --git a/library/timeit.po b/library/timeit.po index b6195af8..931b5698 100644 --- a/library/timeit.po +++ b/library/timeit.po @@ -231,7 +231,7 @@ msgstr "" #: ../Doc/library/timeit.rst:161 msgid "Helper to print a traceback from the timed code." -msgstr "" +msgstr "Outil permettant d'afficher la trace du code chronométré." #: ../Doc/library/timeit.rst:163 msgid "Typical use::" @@ -243,6 +243,9 @@ msgid "" "compiled template will be displayed. The optional *file* argument directs " "where the traceback is sent; it defaults to :data:`sys.stderr`." msgstr "" +"L'avantage par rapport à la trace standard est que les lignes sources du " +"code compilé sont affichées. Le paramètre optionnel *file* définit l'endroit " +"où la trace est envoyée, par défaut :data:`sys.stderr`." #: ../Doc/library/timeit.rst:179 msgid "Command-Line Interface" @@ -295,7 +298,7 @@ msgstr "" #: ../Doc/library/timeit.rst:224 msgid "print raw timing results; repeat for more digits precision" -msgstr "" +msgstr "affiche les temps d'exécutions bruts, répéter pour plus de précision" #: ../Doc/library/timeit.rst:228 msgid "print a short usage message and exit" diff --git a/library/tkinter.ttk.po b/library/tkinter.ttk.po index 9e2b14a2..9b8ffb19 100644 --- a/library/tkinter.ttk.po +++ b/library/tkinter.ttk.po @@ -915,7 +915,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\"." @@ -1574,7 +1574,7 @@ msgstr "" #: ../Doc/library/tkinter.ttk.rst:1008 msgid "tree" -msgstr "" +msgstr "*tree* (arbre)" #: ../Doc/library/tkinter.ttk.rst:1008 msgid "The tree area." diff --git a/library/turtle.po b/library/turtle.po index 35270aab..9fb070d3 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -289,7 +289,7 @@ msgstr ":func:`speed`" #: ../Doc/library/turtle.rst:128 ../Doc/library/turtle.rst:623 msgid "Tell Turtle's state" -msgstr "" +msgstr "Connaître l'état de la tortue" #: ../Doc/library/turtle.rst:0 msgid ":func:`position` | :func:`pos`" @@ -317,7 +317,7 @@ msgstr ":func:`distance`" #: ../Doc/library/turtle.rst:132 msgid "Setting and measurement" -msgstr "" +msgstr "Paramétrage et mesure" #: ../Doc/library/turtle.rst:0 msgid ":func:`degrees`" @@ -329,11 +329,11 @@ msgstr ":func:`radians`" #: ../Doc/library/turtle.rst:155 ../Doc/library/turtle.rst:765 msgid "Pen control" -msgstr "" +msgstr "Réglage des stylos" #: ../Doc/library/turtle.rst:140 ../Doc/library/turtle.rst:768 msgid "Drawing state" -msgstr "" +msgstr "État des stylos" #: ../Doc/library/turtle.rst:0 msgid ":func:`pendown` | :func:`pd` | :func:`down`" @@ -357,7 +357,7 @@ msgstr ":func:`isdown`" #: ../Doc/library/turtle.rst:145 ../Doc/library/turtle.rst:857 msgid "Color control" -msgstr "" +msgstr "Réglage des couleurs" #: ../Doc/library/turtle.rst:0 msgid ":func:`color`" @@ -373,7 +373,7 @@ msgstr ":func:`fillcolor`" #: ../Doc/library/turtle.rst:150 ../Doc/library/turtle.rst:987 msgid "Filling" -msgstr "" +msgstr "Remplissage" #: ../Doc/library/turtle.rst:0 msgid ":func:`filling`" @@ -389,7 +389,7 @@ msgstr ":func:`end_fill`" #: ../Doc/library/turtle.rst:155 ../Doc/library/turtle.rst:1026 msgid "More drawing control" -msgstr "" +msgstr "Plus des réglages pour le dessin" #: ../Doc/library/turtle.rst:0 msgid ":func:`reset`" @@ -405,11 +405,11 @@ msgstr ":func:`write`" #: ../Doc/library/turtle.rst:172 ../Doc/library/turtle.rst:1071 msgid "Turtle state" -msgstr "" +msgstr "État de la tortue" #: ../Doc/library/turtle.rst:161 ../Doc/library/turtle.rst:1074 msgid "Visibility" -msgstr "" +msgstr "Visibilité" #: ../Doc/library/turtle.rst:0 msgid ":func:`showturtle` | :func:`st`" @@ -425,7 +425,7 @@ msgstr ":func:`isvisible`" #: ../Doc/library/turtle.rst:172 ../Doc/library/turtle.rst:1111 msgid "Appearance" -msgstr "" +msgstr "Apparence" #: ../Doc/library/turtle.rst:0 msgid ":func:`shape`" @@ -465,7 +465,7 @@ msgstr ":func:`get_shapepoly`" #: ../Doc/library/turtle.rst:177 ../Doc/library/turtle.rst:1307 msgid "Using events" -msgstr "" +msgstr "Utilisation des événements" #: ../Doc/library/turtle.rst:0 ../Doc/library/turtle.rst:2343 msgid ":func:`onclick`" @@ -481,7 +481,7 @@ msgstr ":func:`ondrag`" #: ../Doc/library/turtle.rst:188 ../Doc/library/turtle.rst:1377 msgid "Special Turtle methods" -msgstr "" +msgstr "Méthodes spéciales de la tortue" #: ../Doc/library/turtle.rst:0 msgid ":func:`begin_poly`" @@ -517,11 +517,11 @@ msgstr ":func:`undobufferentries`" #: ../Doc/library/turtle.rst:191 msgid "Methods of TurtleScreen/Screen" -msgstr "" +msgstr "Méthodes de *TurtleScreen*/*Screen*" #: ../Doc/library/turtle.rst:199 ../Doc/library/turtle.rst:1522 msgid "Window control" -msgstr "" +msgstr "Réglage de la fenêtre" #: ../Doc/library/turtle.rst:0 msgid ":func:`bgcolor`" @@ -549,7 +549,7 @@ msgstr ":func:`setworldcoordinates`" #: ../Doc/library/turtle.rst:204 ../Doc/library/turtle.rst:1636 msgid "Animation control" -msgstr "" +msgstr "Réglage de l'animation" #: ../Doc/library/turtle.rst:0 msgid ":func:`delay`" @@ -565,7 +565,7 @@ msgstr ":func:`update`" #: ../Doc/library/turtle.rst:212 ../Doc/library/turtle.rst:1687 msgid "Using screen events" -msgstr "" +msgstr "Utilisation des événements concernant l'écran" #: ../Doc/library/turtle.rst:0 msgid ":func:`listen`" @@ -593,11 +593,11 @@ msgstr ":func:`mainloop` | :func:`done`" #: ../Doc/library/turtle.rst:222 ../Doc/library/turtle.rst:1828 msgid "Settings and special methods" -msgstr "" +msgstr "Paramétrages et méthodes spéciales" #: ../Doc/library/turtle.rst:0 msgid ":func:`mode`" -msgstr "" +msgstr ":func:`mode`" #: ../Doc/library/turtle.rst:0 msgid ":func:`colormode`" @@ -629,7 +629,7 @@ msgstr ":func:`window_width`" #: ../Doc/library/turtle.rst:226 ../Doc/library/turtle.rst:1792 msgid "Input methods" -msgstr "" +msgstr "Méthodes de saisie" #: ../Doc/library/turtle.rst:0 msgid ":func:`textinput`" @@ -641,7 +641,7 @@ msgstr ":func:`numinput`" #: ../Doc/library/turtle.rst:233 msgid "Methods specific to Screen" -msgstr "" +msgstr "Méthodes spécifiques de *Screen*" #: ../Doc/library/turtle.rst:0 msgid ":func:`bye`" @@ -661,37 +661,43 @@ msgstr ":func:`title`" #: ../Doc/library/turtle.rst:236 msgid "Methods of RawTurtle/Turtle and corresponding functions" -msgstr "" +msgstr "Méthodes de *RawTurtle*/*Turtle* et leurs fonctions correspondantes" #: ../Doc/library/turtle.rst:238 msgid "" "Most of the examples in this section refer to a Turtle instance called " "``turtle``." msgstr "" +"La plupart des exemples de cette section se réfèrent à une instance de " +"*Turtle* appelée ``turtle``." #: ../Doc/library/turtle.rst:247 ../Doc/library/turtle.rst:290 #: ../Doc/library/turtle.rst:313 ../Doc/library/turtle.rst:369 #: ../Doc/library/turtle.rst:390 ../Doc/library/turtle.rst:411 msgid "a number (integer or float)" -msgstr "" +msgstr "un nombre (entier ou flottant)" #: ../Doc/library/turtle.rst:249 msgid "" "Move the turtle forward by the specified *distance*, in the direction the " "turtle is headed." msgstr "" +"Avance la tortue de la *distance* spécifiée, dans la direction où elle se " +"dirige." #: ../Doc/library/turtle.rst:268 ../Doc/library/turtle.rst:458 #: ../Doc/library/turtle.rst:721 ../Doc/library/turtle.rst:1206 #: ../Doc/library/turtle.rst:1224 msgid "a number" -msgstr "" +msgstr "un nombre" #: ../Doc/library/turtle.rst:270 msgid "" "Move the turtle backward by *distance*, opposite to the direction the turtle " "is headed. Do not change the turtle's heading." msgstr "" +"Déplace la tortue de *distance* vers l'arrière (dans le sens opposé à celui " +"vers lequel elle pointe). Ne change pas le cap de la tortue." #: ../Doc/library/turtle.rst:292 msgid "" @@ -699,6 +705,10 @@ msgid "" "be set via the :func:`degrees` and :func:`radians` functions.) Angle " "orientation depends on the turtle mode, see :func:`mode`." msgstr "" +"Tourne la tortue à droite de *angle* unités (les unités sont par défaut des " +"degrés, mais peuvent être définies via les fonctions :func:`degrees` et :" +"func:`radians`). L'orientation de l'angle dépend du mode de la tortue, voir :" +"func:`mode`." #: ../Doc/library/turtle.rst:315 msgid "" @@ -706,96 +716,112 @@ msgid "" "be set via the :func:`degrees` and :func:`radians` functions.) Angle " "orientation depends on the turtle mode, see :func:`mode`." msgstr "" +"Tourne la tortue à gauche d'une valeur de *angle* unités (les unités sont " +"par défaut des degrés, mais peuvent être définies via les fonctions :func:" +"`degrees` et :func:`radians`). L'orientation de l'angle dépend du mode de la " +"tortue, voir :func:`mode`." #: ../Doc/library/turtle.rst:337 msgid "a number or a pair/vector of numbers" -msgstr "" +msgstr "un nombre ou une paire / un vecteur de nombres" #: ../Doc/library/turtle.rst:338 msgid "a number or ``None``" -msgstr "" +msgstr "un nombre ou ``None``" #: ../Doc/library/turtle.rst:340 msgid "" "If *y* is ``None``, *x* must be a pair of coordinates or a :class:`Vec2D` (e." "g. as returned by :func:`pos`)." msgstr "" +"Si *y* est ``None``, *x* doit être une paire de coordonnées, ou bien une " +"instance de :class:`Vec2D` (par exemple, tel que renvoyé par :func:`pos`)." #: ../Doc/library/turtle.rst:343 msgid "" "Move turtle to an absolute position. If the pen is down, draw line. Do not " "change the turtle's orientation." msgstr "" +"Déplace la tortue vers une position absolue. Si le stylo est en bas, trace " +"une ligne. Ne change pas l'orientation de la tortue." #: ../Doc/library/turtle.rst:371 msgid "" "Set the turtle's first coordinate to *x*, leave second coordinate unchanged." msgstr "" +"Définit la première coordonnée de la tortue à *x*, en laissant la deuxième " +"coordonnée inchangée." #: ../Doc/library/turtle.rst:392 msgid "" "Set the turtle's second coordinate to *y*, leave first coordinate unchanged." msgstr "" +"Définit la deuxième coordonnée de la tortue à *y*, en laissant la première " +"coordonnée inchangée." #: ../Doc/library/turtle.rst:413 msgid "" "Set the orientation of the turtle to *to_angle*. Here are some common " "directions in degrees:" msgstr "" +"Règle l'orientation de la tortue à la valeur `to_angle`. Voici quelques " +"orientations courantes en degrés :" #: ../Doc/library/turtle.rst:417 msgid "standard mode" -msgstr "" +msgstr "mode standard" #: ../Doc/library/turtle.rst:417 msgid "logo mode" -msgstr "" +msgstr "mode logo" #: ../Doc/library/turtle.rst:419 msgid "0 - east" -msgstr "" +msgstr "0 – Est" #: ../Doc/library/turtle.rst:419 msgid "0 - north" -msgstr "" +msgstr "0 – Nord" #: ../Doc/library/turtle.rst:420 msgid "90 - north" -msgstr "" +msgstr "90 – Nord" #: ../Doc/library/turtle.rst:420 msgid "90 - east" -msgstr "" +msgstr "90 – Est" #: ../Doc/library/turtle.rst:421 msgid "180 - west" -msgstr "" +msgstr "180 – Ouest" #: ../Doc/library/turtle.rst:421 msgid "180 - south" -msgstr "" +msgstr "180 – Sud" #: ../Doc/library/turtle.rst:422 msgid "270 - south" -msgstr "" +msgstr "270 – Sud" #: ../Doc/library/turtle.rst:422 msgid "270 - west" -msgstr "" +msgstr "270 – Ouest" #: ../Doc/library/turtle.rst:434 msgid "" "Move turtle to the origin -- coordinates (0,0) -- and set its heading to its " "start-orientation (which depends on the mode, see :func:`mode`)." msgstr "" +"Déplace la tortue à l'origine — coordonnées (0,0) — et l'oriente à son cap " +"initial (qui dépend du mode, voir :func:`mode`)." #: ../Doc/library/turtle.rst:459 msgid "a number (or ``None``)" -msgstr "" +msgstr "un nombre (ou ``None``)" #: ../Doc/library/turtle.rst:460 ../Doc/library/turtle.rst:550 msgid "an integer (or ``None``)" -msgstr "" +msgstr "un entier (ou ``None``)" #: ../Doc/library/turtle.rst:462 msgid "" @@ -807,6 +833,15 @@ msgid "" "otherwise in clockwise direction. Finally the direction of the turtle is " "changed by the amount of *extent*." msgstr "" +"Dessine un cercle de rayon `radius`. Le centre se trouve à une distance de " +"`radius` à gauche de la tortue ; l'angle `extent` détermine quelle partie du " +"cercle est dessinée. Si `extent` n'est pas fourni, dessine le cercle en " +"entier. Si `extent` ne correspond pas à un cercle entier, la position " +"actuelle du stylo est donnée par l'un des points d'extrémité de l'arc de " +"cercle. Si la valeur de `radius` est positive, dessine l'arc de cercle dans " +"le sens inverse des aiguilles d'une montre, sinon le dessine dans le sens " +"des aiguilles d'une montre. Enfin, la direction de la tortue peut être " +"modifiée en réglant la valeur de `extent`." #: ../Doc/library/turtle.rst:470 msgid "" @@ -814,20 +849,27 @@ msgid "" "determines the number of steps to use. If not given, it will be calculated " "automatically. May be used to draw regular polygons." msgstr "" +"Comme le cercle est approximé par un polygone régulier inscrit, `steps` " +"détermine le nombre de pas à utiliser. Si cette valeur n'est pas donnée, " +"elle sera calculée automatiquement. Elle peut être utilisée pour dessiner " +"des polygones réguliers." #: ../Doc/library/turtle.rst:495 msgid "an integer >= 1 (if given)" -msgstr "" +msgstr "un entier supérieur ou égal à 1 (si fourni)" #: ../Doc/library/turtle.rst:496 msgid "a colorstring or a numeric color tuple" -msgstr "" +msgstr "une chaîne qui désigne une couleur ou un triplet de couleur numérique" #: ../Doc/library/turtle.rst:498 msgid "" "Draw a circular dot with diameter *size*, using *color*. If *size* is not " "given, the maximum of pensize+4 and 2*pensize is used." msgstr "" +"Dessine un point circulaire de diamètre `size`, de la couleur `color`. Si le " +"paramètre `size` n'est pas indiqué, utilise la valeur maximum de la taille " +"du stylo plus 4 et de la taille du stylo multiplié par 2." #: ../Doc/library/turtle.rst:515 msgid "" @@ -835,14 +877,19 @@ msgid "" "position. Return a stamp_id for that stamp, which can be used to delete it " "by calling ``clearstamp(stamp_id)``." msgstr "" +"Tamponne une copie de la forme de la tortue sur le canevas à la position " +"actuelle de la tortue. Renvoie un *stamp_id* pour ce tampon, qui peut être " +"utilisé pour le supprimer en appelant ``clearstamp(stamp_id)``." #: ../Doc/library/turtle.rst:529 msgid "an integer, must be return value of previous :func:`stamp` call" msgstr "" +"un entier, doit être la valeur renvoyée par l'appel précédent de :func:" +"`stamp`" #: ../Doc/library/turtle.rst:532 msgid "Delete stamp with given *stampid*." -msgstr "" +msgstr "Supprime le tampon dont le *stampid* est donné." #: ../Doc/library/turtle.rst:552 msgid "" @@ -850,73 +897,94 @@ msgid "" "all stamps, if *n* > 0 delete first *n* stamps, else if *n* < 0 delete last " "*n* stamps." msgstr "" +"Supprime tous, les *n* premiers ou les *n* derniers tampons de la tortue. Si " +"*n* est ``None``, supprime tous les tampons, si *n* > 0, supprime les *n* " +"premiers tampons et si n < 0, supprime les *n* derniers tampons." #: ../Doc/library/turtle.rst:575 msgid "" "Undo (repeatedly) the last turtle action(s). Number of available undo " "actions is determined by the size of the undobuffer." msgstr "" +"Annule la ou les dernières (si répété) actions de la tortue. Le nombre " +"d'annulations disponible est déterminé par la taille de la mémoire tampon " +"d'annulations." #: ../Doc/library/turtle.rst:589 msgid "an integer in the range 0..10 or a speedstring (see below)" msgstr "" +"un nombre entier compris dans l’intervalle entre 0 et 10 inclus, ou une " +"chaîne de vitesse (voir ci-dessous)" #: ../Doc/library/turtle.rst:591 msgid "" "Set the turtle's speed to an integer value in the range 0..10. If no " "argument is given, return current speed." msgstr "" +"Règle la vitesse de la tortue à une valeur entière comprise entre 0 et 10 " +"inclus. Si aucun argument n'est donné, renvoie la vitesse actuelle." #: ../Doc/library/turtle.rst:594 msgid "" "If input is a number greater than 10 or smaller than 0.5, speed is set to " "0. Speedstrings are mapped to speedvalues as follows:" msgstr "" +"Si l'entrée est un nombre supérieur à 10 ou inférieur à 0,5, la vitesse est " +"fixée à 0. Les chaînes de vitesse sont mises en correspondance avec les " +"valeurs de vitesse comme suit :" #: ../Doc/library/turtle.rst:597 msgid "\"fastest\": 0" -msgstr "" +msgstr "« le plus rapide » : 0" #: ../Doc/library/turtle.rst:598 msgid "\"fast\": 10" -msgstr "" +msgstr "« rapide » : 10" #: ../Doc/library/turtle.rst:599 msgid "\"normal\": 6" -msgstr "" +msgstr "« vitesse normale » : 6" #: ../Doc/library/turtle.rst:600 msgid "\"slow\": 3" -msgstr "" +msgstr "« lent » : 3" #: ../Doc/library/turtle.rst:601 msgid "\"slowest\": 1" -msgstr "" +msgstr "« le plus lent » : 1" #: ../Doc/library/turtle.rst:603 msgid "" "Speeds from 1 to 10 enforce increasingly faster animation of line drawing " "and turtle turning." msgstr "" +"Les vitesses de 1 à 10 permettent une animation de plus en plus rapide du " +"trait du dessin et de la rotation des tortues." #: ../Doc/library/turtle.rst:606 msgid "" "Attention: *speed* = 0 means that *no* animation takes place. forward/back " "makes turtle jump and likewise left/right make the turtle turn instantly." msgstr "" +"Attention : *speed* = 0 signifie qu'il n'y a *aucune* animation. *forward*/" +"*back* font sauter la tortue et, de même, *left*/*right* font tourner la " +"tortue instantanément." #: ../Doc/library/turtle.rst:628 msgid "" "Return the turtle's current location (x,y) (as a :class:`Vec2D` vector)." msgstr "" +"Renvoie la position actuelle de la tortue (x,y) (en tant qu'un vecteur :" +"class:`Vec2d`)." #: ../Doc/library/turtle.rst:638 ../Doc/library/turtle.rst:697 msgid "a number or a pair/vector of numbers or a turtle instance" msgstr "" +"un nombre, ou une paire / un vecteur de nombres, ou une instance de tortue" #: ../Doc/library/turtle.rst:639 ../Doc/library/turtle.rst:698 msgid "a number if *x* is a number, else ``None``" -msgstr "" +msgstr "un nombre si `x` est un nombre, sinon ``None``" #: ../Doc/library/turtle.rst:641 msgid "" @@ -928,51 +996,59 @@ msgstr "" #: ../Doc/library/turtle.rst:654 msgid "Return the turtle's x coordinate." -msgstr "" +msgstr "Renvoie la coordonnée x de la tortue." #: ../Doc/library/turtle.rst:669 msgid "Return the turtle's y coordinate." -msgstr "" +msgstr "Renvoie la coordonnée y de la tortue." #: ../Doc/library/turtle.rst:684 msgid "" "Return the turtle's current heading (value depends on the turtle mode, see :" "func:`mode`)." msgstr "" +"Renvoie le cap de la tortue (la valeur dépend du mode de la tortue, voir :" +"func:`mode`)." #: ../Doc/library/turtle.rst:700 msgid "" "Return the distance from the turtle to (x,y), the given vector, or the given " "other turtle, in turtle step units." msgstr "" +"Renvoie la distance entre la tortue et (x,y), le vecteur donné ou l'autre " +"tortue donnée. La valeur est exprimée en unités de pas de tortue." #: ../Doc/library/turtle.rst:717 msgid "Settings for measurement" -msgstr "" +msgstr "Paramètres de mesure" #: ../Doc/library/turtle.rst:723 msgid "" "Set angle measurement units, i.e. set number of \"degrees\" for a full " "circle. Default value is 360 degrees." msgstr "" +"Définit les unités de mesure des angles, c.-à-d. fixe le nombre de " +"« degrés » pour un cercle complet. La valeur par défaut est de 360 degrés." #: ../Doc/library/turtle.rst:745 msgid "" "Set the angle measurement units to radians. Equivalent to ``degrees(2*math." "pi)``." msgstr "" +"Règle l'unité de mesure des angles sur radians. Équivalent à " +"``degrees(2*math.pi)``." #: ../Doc/library/turtle.rst:774 msgid "Pull the pen down -- drawing when moving." -msgstr "" +msgstr "Baisse la pointe du stylo — dessine quand il se déplace." #: ../Doc/library/turtle.rst:781 msgid "Pull the pen up -- no drawing when moving." -msgstr "" +msgstr "Lève la pointe du stylo — pas de dessin quand il se déplace." #: ../Doc/library/turtle.rst:787 msgid "a positive number" -msgstr "" +msgstr "un nombre positif" #: ../Doc/library/turtle.rst:789 msgid "" @@ -980,60 +1056,72 @@ msgid "" "\"auto\" and turtleshape is a polygon, that polygon is drawn with the same " "line thickness. If no argument is given, the current pensize is returned." msgstr "" +"Règle l'épaisseur de la ligne à *width* ou la renvoie. Si *resizemode* est " +"défini à \"auto\" et que *turtleshape* (la forme de la tortue) est un " +"polygone, le polygone est dessiné avec cette épaisseur. Si aucun argument " +"n'est passé, la taille actuelle du stylo (*pensize*) est renvoyée." #: ../Doc/library/turtle.rst:802 msgid "a dictionary with some or all of the below listed keys" -msgstr "" +msgstr "un dictionnaire avec certaines ou toutes les clés énumérées ci-dessous" #: ../Doc/library/turtle.rst:803 msgid "one or more keyword-arguments with the below listed keys as keywords" msgstr "" +"un ou plusieurs arguments par mots-clés avec les clés suivantes comme mots-" +"clés" #: ../Doc/library/turtle.rst:805 msgid "" "Return or set the pen's attributes in a \"pen-dictionary\" with the " "following key/value pairs:" msgstr "" +"Renvoie ou définit les attributs du stylo dans un `\"pen-dictionary\"` avec " +"les paires clés / valeurs suivantes :" #: ../Doc/library/turtle.rst:808 msgid "\"shown\": True/False" -msgstr "" +msgstr "`\"shown\"` : ``True`` / ``False``" #: ../Doc/library/turtle.rst:809 msgid "\"pendown\": True/False" -msgstr "" +msgstr "`\"pendown\"` : ``True`` / ``False``" #: ../Doc/library/turtle.rst:810 msgid "\"pencolor\": color-string or color-tuple" msgstr "" +"`\"pencolor\"` : chaîne de caractères ou triplet désignant la couleur du " +"stylo" #: ../Doc/library/turtle.rst:811 msgid "\"fillcolor\": color-string or color-tuple" msgstr "" +"`\"fillcolor\"` : chaîne de caractères ou triplet pour la couleur de " +"remplissage" #: ../Doc/library/turtle.rst:812 msgid "\"pensize\": positive number" -msgstr "" +msgstr "`\"pensize\"` : nombre positif" #: ../Doc/library/turtle.rst:813 msgid "\"speed\": number in range 0..10" -msgstr "" +msgstr "`\"speed\"` : nombre compris dans intervalle 0 et 10" #: ../Doc/library/turtle.rst:814 msgid "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" -msgstr "" +msgstr "`\"resizemode\"` : `\"auto\"`, `\"user\"` ou `\"noresize\"`" #: ../Doc/library/turtle.rst:815 msgid "\"stretchfactor\": (positive number, positive number)" -msgstr "" +msgstr "`\"stretchfactor\"` : (nombre positif, nombre positif)" #: ../Doc/library/turtle.rst:816 msgid "\"outline\": positive number" -msgstr "" +msgstr "`\"outline\"` : nombre positif" #: ../Doc/library/turtle.rst:817 msgid "\"tilt\": number" -msgstr "" +msgstr "`\"tilt\"` : nombre" #: ../Doc/library/turtle.rst:819 msgid "" @@ -1042,18 +1130,24 @@ msgid "" "can be provided as keyword-arguments. This can be used to set several pen " "attributes in one statement." msgstr "" +"Ce dictionnaire peut être utilisé comme argument pour un appel ultérieur à :" +"func:`pen` pour restaurer l'ancien état du stylo. En outre, un ou plus de " +"ces attributs peuvent est passés en tant qu'arguments nommés. Cela peut être " +"utilisé pour définir plusieurs attributs du stylo en une instruction." #: ../Doc/library/turtle.rst:844 msgid "Return ``True`` if pen is down, ``False`` if it's up." msgstr "" +"Renvoie ``True`` si la pointe du stylo est en bas et ``False`` si elle est " +"en haut." #: ../Doc/library/turtle.rst:861 msgid "Return or set the pencolor." -msgstr "" +msgstr "Renvoie ou règle la couleur du stylo." #: ../Doc/library/turtle.rst:863 ../Doc/library/turtle.rst:911 msgid "Four input formats are allowed:" -msgstr "" +msgstr "Quatre formats d'entrée sont autorisés :" #: ../Doc/library/turtle.rst:868 msgid "``pencolor()``" @@ -1064,6 +1158,9 @@ msgid "" "Return the current pencolor as color specification string or as a tuple (see " "example). May be used as input to another color/pencolor/fillcolor call." msgstr "" +"Renvoie la couleur du stylo actuelle en tant que chaine de spécification de " +"couleurs ou en tant qu'un *n*-uplet (voir l'exemple). Peut être utilisée " +"comme entrée à un autre appel de *color*/*pencolor*/*fillcolor*." #: ../Doc/library/turtle.rst:872 msgid "``pencolor(colorstring)``" @@ -1074,6 +1171,9 @@ msgid "" "Set pencolor to *colorstring*, which is a Tk color specification string, " "such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." msgstr "" +"Définit la couleur du stylo à `colorstring`, qui est une chaîne de " +"spécification de couleur *Tk*, telle que ``\"red\"``, ``\"yellow\"``, ou ``" +"\"#33cc8c\"``." #: ../Doc/library/turtle.rst:877 msgid "``pencolor((r, g, b))``" @@ -1085,6 +1185,9 @@ msgid "" "*b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where " "colormode is either 1.0 or 255 (see :func:`colormode`)." msgstr "" +"Définit la couleur du stylo à la couleur RGB représentée par le *n*-uplet de " +"*r*, *g* et *b*. Chacun des *r*, *g* et *b* doit être dans l'intervalle ``0.." +"colormode``, où *colormode* est vaut 1.0 ou 255 (voir :func:`colormode`)." #: ../Doc/library/turtle.rst:884 msgid "``pencolor(r, g, b)``" @@ -1095,16 +1198,20 @@ msgid "" "Set pencolor to the RGB color represented by *r*, *g*, and *b*. Each of " "*r*, *g*, and *b* must be in the range 0..colormode." msgstr "" +"Définit la couleur du stylo à la couleur RGB représentée par *r*, *g* et " +"*b*. Chacun des *r*, *g* et *b* doit être dans l'intervalle ``0..colormode``." #: ../Doc/library/turtle.rst:883 msgid "" "If turtleshape is a polygon, the outline of that polygon is drawn with the " "newly set pencolor." msgstr "" +"Si la forme de la tortue est un polygone, le contour de ce polygone est " +"dessiné avec la nouvelle couleur du stylo." #: ../Doc/library/turtle.rst:909 msgid "Return or set the fillcolor." -msgstr "" +msgstr "Renvoie ou règle la couleur de remplissage." #: ../Doc/library/turtle.rst:916 msgid "``fillcolor()``" @@ -1116,6 +1223,10 @@ msgid "" "tuple format (see example). May be used as input to another color/pencolor/" "fillcolor call." msgstr "" +"Renvoie la couleur de remplissage actuelle (*fillcolor*) en tant que chaine " +"de spécification, possiblement en format *n*-uplet (voir l'exemple). Peut " +"être utilisée en entrée pour un autre appel de *color*/*pencolor*/" +"*fillcolor*." #: ../Doc/library/turtle.rst:920 msgid "``fillcolor(colorstring)``" @@ -1126,6 +1237,9 @@ msgid "" "Set fillcolor to *colorstring*, which is a Tk color specification string, " "such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." msgstr "" +"Définit la couleur de remplissage (*fillcolor*) à *colorstring*, qui est une " +"chaine de spécification de couleur *Tk* comme par exemple ``\"red\"``, ``" +"\"yellow\"`` ou ``\"#33cc8c\"``." #: ../Doc/library/turtle.rst:925 msgid "``fillcolor((r, g, b))``" @@ -1137,6 +1251,10 @@ msgid "" "*b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where " "colormode is either 1.0 or 255 (see :func:`colormode`)." msgstr "" +"Définit la couleur du remplissage (*fillcolor*) à la couleur RGB représentée " +"par le *n*-uplet *r*, *g*, *b*. Chacun des *r*, *g* et *b* doit être dans " +"l'intervalle ``0..colormode`` où *colormode* vaut 1.0 ou 255 (voir :func:" +"`colormode`)." #: ../Doc/library/turtle.rst:932 msgid "``fillcolor(r, g, b)``" @@ -1147,21 +1265,28 @@ msgid "" "Set fillcolor to the RGB color represented by *r*, *g*, and *b*. Each of " "*r*, *g*, and *b* must be in the range 0..colormode." msgstr "" +"Définit la couleur du remplissage(*fillcolor*) à la couleur RGB représentée " +"par *r*, *g* et *b*. Chacun des *r*, *g* et *b* doit être dans l'intervalle " +"``0..colormode``." #: ../Doc/library/turtle.rst:931 msgid "" "If turtleshape is a polygon, the interior of that polygon is drawn with the " "newly set fillcolor." msgstr "" +"Si la forme de la tortue est un polygone, l'intérieur de ce polygone sera " +"dessiné avec la nouvelle couleur de remplissage." #: ../Doc/library/turtle.rst:952 msgid "Return or set pencolor and fillcolor." -msgstr "" +msgstr "Renvoie ou règle la couleur du stylo et la couleur de remplissage." #: ../Doc/library/turtle.rst:954 msgid "" "Several input formats are allowed. They use 0 to 3 arguments as follows:" msgstr "" +"Plusieurs formats d'entrée sont autorisés. Ils peuvent avoir de zéro jusqu'à " +"trois arguments, employés comme suit :" #: ../Doc/library/turtle.rst:960 msgid "``color()``" @@ -1173,55 +1298,69 @@ msgid "" "specification strings or tuples as returned by :func:`pencolor` and :func:" "`fillcolor`." msgstr "" +"Renvoie la couleur du stylo actuelle et la couleur de remplissage actuelle " +"sous forme de paire, soit de chaines de spécification de couleur, soit de " +"*n*-uplets comme renvoyés par :func:`pencolor` et :func:`fillcolor`." #: ../Doc/library/turtle.rst:964 msgid "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" -msgstr "" +msgstr "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" #: ../Doc/library/turtle.rst:963 msgid "" "Inputs as in :func:`pencolor`, set both, fillcolor and pencolor, to the " "given value." msgstr "" +"Les formats d'entrée sont comme dans :func:`pencolor`. Définit à la fois la " +"couleur de remplissage et la couleur du stylo à la valeur passée." #: ../Doc/library/turtle.rst:971 msgid "" "``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" msgstr "" +"``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" #: ../Doc/library/turtle.rst:967 msgid "" "Equivalent to ``pencolor(colorstring1)`` and ``fillcolor(colorstring2)`` and " "analogously if the other input format is used." msgstr "" +"Équivalent à ``pencolor(colorstring1)`` et ``fillcolor(colorstring2)`` et de " +"manière analogue si un autre format d'entrée est utilisé." #: ../Doc/library/turtle.rst:970 msgid "" "If turtleshape is a polygon, outline and interior of that polygon is drawn " "with the newly set colors." msgstr "" +"Si la forme de la tortue est un polygone, le contour et l'intérieur de ce " +"polygone sont dessinés avec les nouvelles couleurs." #: ../Doc/library/turtle.rst:983 msgid "See also: Screen method :func:`colormode`." -msgstr "" +msgstr "Voir aussi : la méthode :func:`colormode` de *Screen*." #: ../Doc/library/turtle.rst:996 msgid "Return fillstate (``True`` if filling, ``False`` else)." msgstr "" +"Renvoie l'état de remplissage (``True`` signifie en train de faire un " +"remplissage, ``False`` sinon)." #: ../Doc/library/turtle.rst:1010 msgid "To be called just before drawing a shape to be filled." -msgstr "" +msgstr "À appeler juste avant de dessiner une forme à remplir." #: ../Doc/library/turtle.rst:1015 msgid "Fill the shape drawn after the last call to :func:`begin_fill`." -msgstr "" +msgstr "Remplit la forme dessinée après le dernier appel à :func:`begin_fill`." #: ../Doc/library/turtle.rst:1030 msgid "" "Delete the turtle's drawings from the screen, re-center the turtle and set " "variables to the default values." msgstr "" +"Supprime les dessins de la tortue de l'écran, recentre la tortue et assigne " +"les variables aux valeurs par défaut." #: ../Doc/library/turtle.rst:1050 msgid "" @@ -1229,22 +1368,27 @@ msgid "" "and position of the turtle as well as drawings of other turtles are not " "affected." msgstr "" +"Supprime les dessins de la tortue de l'écran. Ne déplace pas la tortue. " +"L'état et la position de la tortue ainsi que les dessins des autres tortues " +"ne sont pas affectés." #: ../Doc/library/turtle.rst:1056 msgid "object to be written to the TurtleScreen" -msgstr "" +msgstr "objet à écrire sur le *TurtleScreen*" #: ../Doc/library/turtle.rst:1057 msgid "True/False" -msgstr "" +msgstr "``True`` / ``False``" #: ../Doc/library/turtle.rst:1058 msgid "one of the strings \"left\", \"center\" or right\"" msgstr "" +"l'une des chaînes de caractères suivantes : `\"left\"`, `\"center\"` ou `" +"\"right\"`" #: ../Doc/library/turtle.rst:1059 msgid "a triple (fontname, fontsize, fonttype)" -msgstr "" +msgstr "triplet (nom de police, taille de police, type de police)" #: ../Doc/library/turtle.rst:1061 msgid "" @@ -1260,18 +1404,21 @@ msgid "" "middle of doing some complex drawing, because hiding the turtle speeds up " "the drawing observably." msgstr "" +"Rend la tortue invisible. C'est recommandé lorsque vous êtes en train de " +"faire un dessin complexe, vous observerez alors une accélération notable." #: ../Doc/library/turtle.rst:1091 msgid "Make the turtle visible." -msgstr "" +msgstr "Rend la tortue visible." #: ../Doc/library/turtle.rst:1100 msgid "Return ``True`` if the Turtle is shown, ``False`` if it's hidden." msgstr "" +"Renvoie ``True`` si la tortue est visible, et ``False`` si elle est cachée." #: ../Doc/library/turtle.rst:1115 msgid "a string which is a valid shapename" -msgstr "" +msgstr "une chaîne de caractères qui correspond à un nom de forme valide" #: ../Doc/library/turtle.rst:1117 msgid "" @@ -1281,10 +1428,16 @@ msgid "" "\", \"turtle\", \"circle\", \"square\", \"triangle\", \"classic\". To learn " "about how to deal with shapes see Screen method :func:`register_shape`." msgstr "" +"La tortue prend la forme *name* donnée, ou, si *name* n'est pas donné, " +"renvoie le nom de la forme actuelle. Le nom *name* donné doit exister dans " +"le dictionnaire de formes de *TurtleScreen*. Initialement, il y a les " +"polygones suivants : \"*arrow*\", \"*turtle*\", \"*circle*\", \"*square*\", " +"\"*triangle*\", \"*classic*\". Pour en apprendre plus sur comment gérer les " +"formes, voir la méthode de *Screen* :func:`register_shape`." #: ../Doc/library/turtle.rst:1134 msgid "one of the strings \"auto\", \"user\", \"noresize\"" -msgstr "" +msgstr "l'une des chaînes suivantes : `\"auto\"`, `\"user\"`, `\"noresize\"`" #: ../Doc/library/turtle.rst:1136 msgid "" @@ -1292,22 +1445,31 @@ msgid "" "*rmode* is not given, return current resizemode. Different resizemodes have " "the following effects:" msgstr "" +"Définit *resizemode* à l'une des valeurs suivantes : \"*auto*\", \"*user*\", " +"\"*noresize*\". Si \"*rmode*\" n'est pas donné, renvoie le *resizemode* " +"actuel. Les différents *resizemode* ont les effets suivants :" #: ../Doc/library/turtle.rst:1140 msgid "" "\"auto\": adapts the appearance of the turtle corresponding to the value of " "pensize." msgstr "" +"*\"auto\"* : adapte l'apparence de la tortue en fonction de la largeur du " +"stylo (*value of pensize* en anglais)." #: ../Doc/library/turtle.rst:1141 msgid "" "\"user\": adapts the appearance of the turtle according to the values of " "stretchfactor and outlinewidth (outline), which are set by :func:`shapesize`." msgstr "" +"*\"user\"* : adapte l'apparence de la tortue en fonction des valeurs du " +"paramètre d'étirement et de la largeur des contours, déterminés par :func:" +"`shapesize`." #: ../Doc/library/turtle.rst:1144 msgid "\"noresize\": no adaption of the turtle's appearance takes place." msgstr "" +"*\"noresize\"* : il n'y a pas de modification de l'apparence de la tortue." #: ../Doc/library/turtle.rst:1146 msgid "" @@ -1317,7 +1479,7 @@ msgstr "" #: ../Doc/library/turtle.rst:1160 ../Doc/library/turtle.rst:1161 #: ../Doc/library/turtle.rst:1162 msgid "positive number" -msgstr "" +msgstr "nombre positif" #: ../Doc/library/turtle.rst:1164 msgid "" @@ -1328,11 +1490,18 @@ msgid "" "*stretch_len* is stretchfactor in direction of its orientation, *outline* " "determines the width of the shapes's outline." msgstr "" +"Renvoie ou définit les attributs x/y-stretchfactors* et/ou contour du stylo. " +"Définit *resizemode* à \"user\". Si et seulement si *resizemode* est à \"user" +"\", la tortue sera affichée étirée en fonction de ses facteurs d'étirements " +"(*stretchfactors*) : *stretch_wid* est le facteur d'étirement " +"perpendiculaire à son orientation, *stretch_len* est le facteur d'étirement " +"en direction de son orientation, *outlline* détermine la largeur de la " +"bordure de la forme." #: ../Doc/library/turtle.rst:1186 ../Doc/library/turtle.rst:1811 #: ../Doc/library/turtle.rst:1812 ../Doc/library/turtle.rst:1813 msgid "number (optional)" -msgstr "" +msgstr "un nombre (facultatif)" #: ../Doc/library/turtle.rst:1188 msgid "" @@ -1342,12 +1511,21 @@ msgid "" "given: return the current shearfactor, i. e. the tangent of the shear angle, " "by which lines parallel to the heading of the turtle are sheared." msgstr "" +"Définit ou renvoie le paramétrage de cisaillement actuel. Déforme la tortue " +"en fonction du paramètre *shear* donné, qui est la tangente de l'angle de " +"cisaillement. Ne change pas le sens de déplacement de la tortue. Si le " +"paramètre *shear* n'est pas indiqué, renvoie la valeur actuelle du " +"cisaillement, c.-à-d. la valeur de la tangente de l'angle de cisaillement, " +"celui par rapport auquel les lignes parallèles à la direction de la tortue " +"sont cisaillées." #: ../Doc/library/turtle.rst:1208 msgid "" "Rotate the turtleshape by *angle* from its current tilt-angle, but do *not* " "change the turtle's heading (direction of movement)." msgstr "" +"Tourne la forme de la tortue de *angle* depuis son angle d'inclinaison " +"actuel, mais *ne change pas* le cap de la tortue (direction du mouvement)." #: ../Doc/library/turtle.rst:1226 msgid "" @@ -1355,12 +1533,15 @@ msgid "" "regardless of its current tilt-angle. *Do not* change the turtle's heading " "(direction of movement)." msgstr "" +"Tourne la forme de la tortue pour pointer dans la direction spécifiée par " +"*angle*, indépendamment de son angle d'inclinaison actuel. *Ne change pas* " +"le cap de la tortue (direction du mouvement)." #: ../Doc/library/turtle.rst:1245 ../Doc/library/turtle.rst:1267 #: ../Doc/library/turtle.rst:1268 ../Doc/library/turtle.rst:1269 #: ../Doc/library/turtle.rst:1270 msgid "a number (optional)" -msgstr "" +msgstr "un nombre (facultatif)" #: ../Doc/library/turtle.rst:1247 msgid "" @@ -1371,10 +1552,18 @@ msgid "" "angle between the orientation of the turtleshape and the heading of the " "turtle (its direction of movement)." msgstr "" +"Définit ou renvoie l'angle d'inclinaison actuel. Si l'angle est donné, la " +"forme de la tortue est tournée pour pointer dans direction spécifiée par " +"l'angle, indépendamment de son angle d'inclinaison actuel. *Ne change pas* " +"le cap de la tortue (direction du mouvement). Si l'angle n'est pas donné, " +"renvoie l'angle d'inclinaison actuel (L'angle entre l'orientation de la " +"forme de la tortue et le cap de la tortue (sa direction de mouvement))." #: ../Doc/library/turtle.rst:1272 msgid "Set or return the current transformation matrix of the turtle shape." msgstr "" +"Définit ou renvoie la matrice de transformation actuelle de la forme de la " +"tortue." #: ../Doc/library/turtle.rst:1274 msgid "" @@ -1391,6 +1580,9 @@ msgid "" "Return the current shape polygon as tuple of coordinate pairs. This can be " "used to define a new shape or components of a compound shape." msgstr "" +"Renvoie la forme actuelle du polygone en *n*-uplet de paires de coordonnées. " +"Vous pouvez l'utiliser afin de définir une nouvelle forme ou en tant que " +"composant pour une forme plus complexe." #: ../Doc/library/turtle.rst:1311 ../Doc/library/turtle.rst:1332 #: ../Doc/library/turtle.rst:1356 ../Doc/library/turtle.rst:1737 @@ -1398,11 +1590,13 @@ msgid "" "a function with two arguments which will be called with the coordinates of " "the clicked point on the canvas" msgstr "" +"une fonction à deux arguments qui sera appelée avec les coordonnées du point " +"cliqué sur le canevas" #: ../Doc/library/turtle.rst:1313 ../Doc/library/turtle.rst:1334 #: ../Doc/library/turtle.rst:1358 ../Doc/library/turtle.rst:1739 msgid "number of the mouse-button, defaults to 1 (left mouse button)" -msgstr "" +msgstr "numéro du bouton de la souris, par défaut 1 (bouton de gauche)" #: ../Doc/library/turtle.rst:1314 ../Doc/library/turtle.rst:1335 #: ../Doc/library/turtle.rst:1359 ../Doc/library/turtle.rst:1740 @@ -1410,6 +1604,8 @@ msgid "" "``True`` or ``False`` -- if ``True``, a new binding will be added, otherwise " "it will replace a former binding" msgstr "" +"``True`` ou ``False`` — si``True``, un nouveau lien est ajouté, sinon il " +"remplace un ancien lien" #: ../Doc/library/turtle.rst:1317 msgid "" @@ -1417,68 +1613,93 @@ msgid "" "existing bindings are removed. Example for the anonymous turtle, i.e. the " "procedural way:" msgstr "" +"Crée un lien vers *fun* pour les événements de clics de la souris sur cette " +"tortue. Si *fun* est ``None``, les liens existants sont supprimés. Exemple " +"pour la tortue anonyme, c'est-à-dire la manière procédurale :" #: ../Doc/library/turtle.rst:1338 msgid "" "Bind *fun* to mouse-button-release events on this turtle. If *fun* is " "``None``, existing bindings are removed." msgstr "" +"Crée un lien vers *fun* pour les événements de relâchement d'un clic de la " +"souris sur cette tortue. Si *fun* est ``None``, les liens existants sont " +"supprimés." #: ../Doc/library/turtle.rst:1362 msgid "" "Bind *fun* to mouse-move events on this turtle. If *fun* is ``None``, " "existing bindings are removed." msgstr "" +"Crée un lien vers *fun* pour les événements de mouvement de la souris sur " +"cette tortue. Si *fun* est ``None``, les liens existants sont supprimés." #: ../Doc/library/turtle.rst:1365 msgid "" "Remark: Every sequence of mouse-move-events on a turtle is preceded by a " "mouse-click event on that turtle." msgstr "" +"Remarque : toutes les séquences d'événements de mouvement de la souris sur " +"une tortue sont précédées par un événement de clic de la souris sur cette " +"tortue." #: ../Doc/library/turtle.rst:1372 msgid "" "Subsequently, clicking and dragging the Turtle will move it across the " "screen thereby producing handdrawings (if pen is down)." msgstr "" +"Par la suite, un cliquer-glisser sur la tortue la fait se déplacer au " +"travers de l'écran, produisant ainsi des dessins « à la main » (si le stylo " +"est posé)." #: ../Doc/library/turtle.rst:1381 msgid "" "Start recording the vertices of a polygon. Current turtle position is first " "vertex of polygon." msgstr "" +"Démarre l'enregistrement des sommets d'un polygone. La position actuelle de " +"la tortue est le premier sommet du polygone." #: ../Doc/library/turtle.rst:1387 msgid "" "Stop recording the vertices of a polygon. Current turtle position is last " "vertex of polygon. This will be connected with the first vertex." msgstr "" +"Arrête l'enregistrement des sommets d'un polygone. La position actuelle de " +"la tortue sera le dernier sommet du polygone. Il sera connecté au premier " +"sommet." #: ../Doc/library/turtle.rst:1393 msgid "Return the last recorded polygon." -msgstr "" +msgstr "Renvoie le dernier polygone sauvegardé." #: ../Doc/library/turtle.rst:1411 msgid "" "Create and return a clone of the turtle with same position, heading and " "turtle properties." msgstr "" +"Crée et renvoie un clone de la tortue avec les mêmes position, cap et " +"propriétés." #: ../Doc/library/turtle.rst:1423 msgid "" "Return the Turtle object itself. Only reasonable use: as a function to " "return the \"anonymous turtle\":" msgstr "" +"Renvoie l'objet *Turtle* lui-même. Sa seule utilisation : comme fonction " +"pour renvoyer la \"tortue anonyme\" :" #: ../Doc/library/turtle.rst:1436 msgid "" "Return the :class:`TurtleScreen` object the turtle is drawing on. " "TurtleScreen methods can then be called for that object." msgstr "" +"Renvoie l'objet :class:`TurtleScreen` sur lequel la tortue dessine. Les " +"méthodes de TurtleScreen peuvent être appelées pour cet objet." #: ../Doc/library/turtle.rst:1449 msgid "an integer or ``None``" -msgstr "" +msgstr "un entier ou ``None``" #: ../Doc/library/turtle.rst:1451 msgid "" @@ -1490,11 +1711,11 @@ msgstr "" #: ../Doc/library/turtle.rst:1463 msgid "Return number of entries in the undobuffer." -msgstr "" +msgstr "Renvoie le nombre d'entrées dans la mémoire d'annulation." #: ../Doc/library/turtle.rst:1475 msgid "Compound shapes" -msgstr "" +msgstr "Formes composées" #: ../Doc/library/turtle.rst:1477 msgid "" @@ -1502,16 +1723,21 @@ msgid "" "different color, you must use the helper class :class:`Shape` explicitly as " "described below:" msgstr "" +"Pour utiliser des formes de tortues combinées, qui sont composées de " +"polygones de différentes couleurs, vous devez utiliser la classe utilitaire :" +"class:`Shape` explicitement comme décrit ci-dessous :" #: ../Doc/library/turtle.rst:1481 msgid "Create an empty Shape object of type \"compound\"." -msgstr "" +msgstr "Créez un objet Shape vide de type \"compound\"." #: ../Doc/library/turtle.rst:1482 msgid "" "Add as many components to this object as desired, using the :meth:" "`addcomponent` method." msgstr "" +"Ajoutez autant de composants que désirés à cet objet, en utilisant la " +"méthode :meth:`addcomponent`." #: ../Doc/library/turtle.rst:1485 msgid "For example:" @@ -1520,6 +1746,8 @@ msgstr "Par exemple ::" #: ../Doc/library/turtle.rst:1495 msgid "Now add the Shape to the Screen's shapelist and use it:" msgstr "" +"Maintenant ajoutez la *Shape* à la liste des formes de *Screen* et utilisez " +"la :" #: ../Doc/library/turtle.rst:1505 msgid "" @@ -1527,30 +1755,42 @@ msgid "" "method in different ways. The application programmer has to deal with the " "Shape class *only* when using compound shapes like shown above!" msgstr "" +"La classe :class:`Shape` est utilisée en interne par la méthode :func:" +"`register_shape` de différentes façons. Le développeur n'interagit avec la " +"classe Shape *que* lorsqu'il utilise des formes composées comme montré ci-" +"dessus !" #: ../Doc/library/turtle.rst:1511 msgid "Methods of TurtleScreen/Screen and corresponding functions" -msgstr "" +msgstr "Méthodes de TurtleScreen/Screen et leurs fonctions correspondantes" #: ../Doc/library/turtle.rst:1513 msgid "" "Most of the examples in this section refer to a TurtleScreen instance called " "``screen``." msgstr "" +"La plupart des exemples dans cette section font référence à une instance de " +"TurtleScreen appelée ``screen``." #: ../Doc/library/turtle.rst:1526 msgid "" "a color string or three numbers in the range 0..colormode or a 3-tuple of " "such numbers" msgstr "" +"chaîne spécifiant une couleur ou trois nombres dans l'intervalle *0.." +"colormode* ou *n*-uplet de ces trois nombres" #: ../Doc/library/turtle.rst:1530 msgid "Set or return background color of the TurtleScreen." msgstr "" +"Définit ou renvoie la couleur de fond de l'écran de la tortue " +"(*TurtleScreen* en anglais)." #: ../Doc/library/turtle.rst:1544 msgid "a string, name of a gif-file or ``\"nopic\"``, or ``None``" msgstr "" +"une chaîne de caractères, le nom d'un fichier *gif*, ou ``\"nopic\"``, ou " +"``None``" #: ../Doc/library/turtle.rst:1546 msgid "" @@ -1559,6 +1799,10 @@ msgid "" "*picname* is ``\"nopic\"``, delete background image, if present. If " "*picname* is ``None``, return the filename of the current backgroundimage. ::" msgstr "" +"Défini l'image de fond ou renvoie l'image de fond actuelle. Si *picname* est " +"un nom de fichier, cette image et mis en image de fond. Si *picname* est ``" +"\"nopic\"``, l'image de fond sera supprimée si présente. SI *picname* est " +"``None``, le nom du fichier de l'image de fond actuelle est renvoyé. ::" #: ../Doc/library/turtle.rst:1561 msgid "" @@ -1566,6 +1810,9 @@ msgid "" "empty TurtleScreen to its initial state: white background, no background " "image, no event bindings and tracing on." msgstr "" +"Supprime tous les dessins et toutes les tortues du TurtleScreen. " +"Réinitialise le TurtleScreen maintenant vide à son état initial : fond " +"blanc, pas d'image de fond, pas d'événement liés, et traçage activé." #: ../Doc/library/turtle.rst:1566 msgid "" @@ -1573,10 +1820,13 @@ msgid "" "name ``clearscreen``. The global function ``clear`` is a different one " "derived from the Turtle method ``clear``." msgstr "" +"Cette méthode TurtleScreen est disponible en tant que fonction globale " +"seulement sous le nom ``clearscreen``. La fonction globale ``clear`` est une " +"fonction différente dérivée de la méthode Turtle ``clear``." #: ../Doc/library/turtle.rst:1574 msgid "Reset all Turtles on the Screen to their initial state." -msgstr "" +msgstr "Remet toutes les tortues à l'écran dans leur état initial." #: ../Doc/library/turtle.rst:1577 msgid "" @@ -1584,18 +1834,25 @@ msgid "" "name ``resetscreen``. The global function ``reset`` is another one derived " "from the Turtle method ``reset``." msgstr "" +"Cette méthode TurtleScreen est disponible en tant que fonction globale " +"seulement sous le nom ``resetscreen``. La fonction globale ``reset`` est une " +"fonction différente dérivée de la méthode Turtle ``reset``." #: ../Doc/library/turtle.rst:1584 msgid "positive integer, new width of canvas in pixels" msgstr "" +"nombre entier positif, nouvelle largeur du canevas (zone sur laquelle se " +"déplace la tortue), en pixels" #: ../Doc/library/turtle.rst:1585 msgid "positive integer, new height of canvas in pixels" -msgstr "" +msgstr "nombre entier positif, nouvelle hauteur du canevas, en pixels" #: ../Doc/library/turtle.rst:1586 msgid "colorstring or color-tuple, new background color" msgstr "" +"chaîne de caractères indiquant la couleur ou triplet de couleurs, nouvelle " +"couleur de fond" #: ../Doc/library/turtle.rst:1588 msgid "" @@ -1605,26 +1862,32 @@ msgid "" "this method, one can make visible those parts of a drawing which were " "outside the canvas before." msgstr "" +"Si aucun arguments ne sont passés, renvoie l'actuel *(canvaswidth, " +"canvasheight)*. Sinon, redimensionne le canevas sur lequel les tortues " +"dessinent. Ne modifiez pas la fenêtre de dessin. Pour observer les parties " +"cachées du canevas, utilisez les barres de défilement. Avec cette méthode, " +"on peut rendre visible les parties d'un dessin qui étaient en dehors du " +"canevas précédemment." #: ../Doc/library/turtle.rst:1600 msgid "e.g. to search for an erroneously escaped turtle ;-)" -msgstr "" +msgstr "par exemple, chercher une tortue échappée de manière erronée" #: ../Doc/library/turtle.rst:1605 msgid "a number, x-coordinate of lower left corner of canvas" -msgstr "" +msgstr "un nombre, coordonnée x du coin inférieur gauche du canevas" #: ../Doc/library/turtle.rst:1606 msgid "a number, y-coordinate of lower left corner of canvas" -msgstr "" +msgstr "un nombre, la coordonnée y du coin inférieur gauche du canevas" #: ../Doc/library/turtle.rst:1607 msgid "a number, x-coordinate of upper right corner of canvas" -msgstr "" +msgstr "un nombre, la coordonnée x du coin supérieur droit du canevas" #: ../Doc/library/turtle.rst:1608 msgid "a number, y-coordinate of upper right corner of canvas" -msgstr "" +msgstr "un nombre, la coordonnée y du coin supérieur droit du canevas" #: ../Doc/library/turtle.rst:1610 msgid "" @@ -1632,16 +1895,22 @@ msgid "" "necessary. This performs a ``screen.reset()``. If mode \"world\" is " "already active, all drawings are redrawn according to the new coordinates." msgstr "" +"Configure un système de coordonnées défini par l'utilisateur et bascule vers " +"le mode \"world\" si nécessaire. Cela effectuera un ``screen.reset()``. Si " +"le mode \"world\" est déjà actif, tous les dessins sont re-déssinés par " +"rapport aux nouveaux coordonnées." #: ../Doc/library/turtle.rst:1614 msgid "" "**ATTENTION**: in user-defined coordinate systems angles may appear " "distorted." msgstr "" +"**ATTENTION** : dans les systèmes de coordonnées définis par l'utilisateur, " +"les angles peuvent apparaître déformés." #: ../Doc/library/turtle.rst:1640 msgid "positive integer" -msgstr "" +msgstr "entier positif" #: ../Doc/library/turtle.rst:1642 msgid "" @@ -1649,14 +1918,17 @@ msgid "" "the time interval between two consecutive canvas updates.) The longer the " "drawing delay, the slower the animation." msgstr "" +"Défini ou renvoie le délai (*delay*) de dessin en millisecondes. (Cet " +"approximativement le temps passé entre deux mises à jour du canevas.) Plus " +"le délai est long, plus l'animation sera lente." #: ../Doc/library/turtle.rst:1646 msgid "Optional argument:" -msgstr "" +msgstr "Argument facultatif :" #: ../Doc/library/turtle.rst:1659 ../Doc/library/turtle.rst:1660 msgid "nonnegative integer" -msgstr "" +msgstr "entier non-négatif" #: ../Doc/library/turtle.rst:1662 msgid "" @@ -1666,14 +1938,22 @@ msgid "" "arguments, returns the currently stored value of n. Second argument sets " "delay value (see :func:`delay`)." msgstr "" +"Active/désactive les animations des tortues et défini le délai pour mettre à " +"jour les dessins.Si *n* est passé, seulement les n-ièmes mises à jours " +"régulières de l'écran seront vraiment effectuées. (Peut être utilisé pour " +"accélérer le dessin de graphiques complexes.) Lorsqu'appelé sans arguments, " +"renvoie la valeur actuelle de *n*. Le deuxième argument défini la valeur du " +"délai (voir :func:`delay`)." #: ../Doc/library/turtle.rst:1681 msgid "Perform a TurtleScreen update. To be used when tracer is turned off." msgstr "" +"Effectue une mise à jour de *TurtleScreen*. À utiliser lorsque le traceur " +"est désactivé." #: ../Doc/library/turtle.rst:1683 msgid "See also the RawTurtle/Turtle method :func:`speed`." -msgstr "" +msgstr "Voir aussi la méthode :func:`speed` de *RawTurtle*/*Turtle*." #: ../Doc/library/turtle.rst:1691 msgid "" @@ -1681,14 +1961,19 @@ msgid "" "are provided in order to be able to pass :func:`listen` to the onclick " "method." msgstr "" +"Donne le focus à *TurtleScreen* (afin de collecter les événements clés). Des " +"arguments factices sont fournis afin de pouvoir passer :func:`listen` à la " +"méthode *onclick*." #: ../Doc/library/turtle.rst:1698 ../Doc/library/turtle.rst:1717 msgid "a function with no arguments or ``None``" -msgstr "" +msgstr "une fonction sans arguments ou ``None``" #: ../Doc/library/turtle.rst:1699 ../Doc/library/turtle.rst:1718 msgid "a string: key (e.g. \"a\") or key-symbol (e.g. \"space\")" msgstr "" +"une chaîne : clé (par exemple \"*a*\") ou clé symbole (Par exemple \"*space*" +"\")" #: ../Doc/library/turtle.rst:1701 msgid "" @@ -1696,6 +1981,10 @@ msgid "" "bindings are removed. Remark: in order to be able to register key-events, " "TurtleScreen must have the focus. (See method :func:`listen`.)" msgstr "" +"Lie *fun* à l'événement d'un relâchement d'une touche. Si *fun* est " +"``None``, les événements liés sont supprimés. Remarque : Pour pouvoir " +"enregistrer les événements lié au touches, TurtleScreen doit avoir le " +"*focus* (fenêtre en premier plan). (Voir la méthode :func:`listen`.)" #: ../Doc/library/turtle.rst:1720 msgid "" @@ -1703,12 +1992,18 @@ msgid "" "event if no key is given. Remark: in order to be able to register key-" "events, TurtleScreen must have focus. (See method :func:`listen`.)" msgstr "" +"Lie *fun* à l'événement d'un pressement de touche si *key* (touche) est " +"donné, ou n'importe quelle touche si aucune touche n'est passée. Remarque : " +"Pour pouvoir enregistrer des événements liés au touches, TurtleScreen doit " +"être en premier plan. (voir la méthode :func:`listen`.)" #: ../Doc/library/turtle.rst:1743 msgid "" "Bind *fun* to mouse-click events on this screen. If *fun* is ``None``, " "existing bindings are removed." msgstr "" +"Crée un lien vers *fun* pour les événements de clique de la souris sur cet " +"écran. Si *fun* est ``None``, les liens existants sont supprimés." #: ../Doc/library/turtle.rst:1746 msgid "" @@ -1722,18 +2017,21 @@ msgid "" "name ``onscreenclick``. The global function ``onclick`` is another one " "derived from the Turtle method ``onclick``." msgstr "" +"Cette méthode de TurtleScreen est disponible en tant que fonction globale " +"seulement sous le nom de ``onscreenclick``. La fonction globale ``onclick`` " +"est une autre fonction dérivée de la méthode Turtle ``onclick``." #: ../Doc/library/turtle.rst:1763 msgid "a function with no arguments" -msgstr "" +msgstr "une fonction sans arguments" #: ../Doc/library/turtle.rst:1764 msgid "a number >= 0" -msgstr "" +msgstr "un nombre supérieur ou égal à 0" #: ../Doc/library/turtle.rst:1766 msgid "Install a timer that calls *fun* after *t* milliseconds." -msgstr "" +msgstr "Installe un minuteur qui appelle *fun* après *t* millisecondes." #: ../Doc/library/turtle.rst:1783 msgid "" @@ -1742,6 +2040,11 @@ msgid "" "run from within IDLE in -n mode (No subprocess) - for interactive use of " "turtle graphics. ::" msgstr "" +"Démarre la boucle d'événements - appelle la boucle principale de Tkinter. " +"Doit être la dernière opération dan un programme graphique *turtle*. **Ne " +"dois pas** être utilisé si un script est lancé depuis IDLE avec le mode `-n` " +"(pas de sous processus) - pour une utilisation interactive des graphiques " +"*turtle* ::" #: ../Doc/library/turtle.rst:1796 ../Doc/library/turtle.rst:1797 #: ../Doc/library/turtle.rst:1809 ../Doc/library/turtle.rst:1810 @@ -1766,16 +2069,27 @@ msgid "" "open for correction. Return the number input. If the dialog is canceled, " "return ``None``. ::" msgstr "" +"Fait apparaitre une fenêtre pour entrer un nombre. Le paramètre *title* est " +"le titre de la fenêtre, *prompt* est le texte expliquant quelle information " +"numérique écrire. *default* : Valeur par défaut, *minval* : valeur minimale " +"d'entrée, *maxval* : Valeur maximale d'entrée. Le nombre entré doit être " +"dans la gamme *minval..maxval* si ces valeurs sont données. Sinon, un indice " +"apparait et le dialogue reste ouvert pour corriger le nombre. Renvoie " +"l'entrée utilisateur sous forme de nombre. Si le dialogue est annulé, " +"renvoie ``None``. ::" #: ../Doc/library/turtle.rst:1832 msgid "one of the strings \"standard\", \"logo\" or \"world\"" msgstr "" +"l'une des chaînes de caractères : `\"standard\"`, `\"logo\"` ou `\"world\"`" #: ../Doc/library/turtle.rst:1834 msgid "" "Set turtle mode (\"standard\", \"logo\" or \"world\") and perform reset. If " "mode is not given, current mode is returned." msgstr "" +"Règle le mode de la tortue (\"*standard*\", \"*logo*\" ou \"*world*\") et la " +"réinitialise. Si le mode n'est pas donné, le mode actuel est renvoyé." #: ../Doc/library/turtle.rst:1837 msgid "" @@ -1784,116 +2098,138 @@ msgid "" "\"world coordinates\". **Attention**: in this mode angles appear distorted " "if ``x/y`` unit-ratio doesn't equal 1." msgstr "" +"Le mode \"*standard*\" est compatible avec l'ancien :mod:`turtle`. Le mode " +"\"*logo*\" est compatible avec la plupart des graphiques *turtle* Logo. Le " +"mode \"*world*\" utilise des \"coordonnées monde\" (*world coordinates*) " +"définis par l'utilisateur. **Attention** : Dans ce mode, les angles " +"apparaissent déformés si le ratio unitaire de ``x/y`` n'est pas 1." #: ../Doc/library/turtle.rst:1843 msgid "Mode" -msgstr "" +msgstr "Mode" #: ../Doc/library/turtle.rst:1843 msgid "Initial turtle heading" -msgstr "" +msgstr "Orientation initiale de la tortue" #: ../Doc/library/turtle.rst:1843 msgid "positive angles" -msgstr "" +msgstr "angles positifs" #: ../Doc/library/turtle.rst:1845 msgid "\"standard\"" -msgstr "" +msgstr "\"standard\"" #: ../Doc/library/turtle.rst:1845 msgid "to the right (east)" -msgstr "" +msgstr "vers la droite (vers l'Est)" #: ../Doc/library/turtle.rst:1845 msgid "counterclockwise" -msgstr "" +msgstr "dans le sens inverse des aiguilles d'une montre" #: ../Doc/library/turtle.rst:1846 msgid "\"logo\"" -msgstr "" +msgstr "\"logo\"" #: ../Doc/library/turtle.rst:1846 msgid "upward (north)" -msgstr "" +msgstr "vers le haut (vers le Nord)" #: ../Doc/library/turtle.rst:1846 msgid "clockwise" -msgstr "" +msgstr "dans le sens des aiguilles d'une montre" #: ../Doc/library/turtle.rst:1858 msgid "one of the values 1.0 or 255" -msgstr "" +msgstr "l'une des valeurs suivantes : 1.0 ou 255" #: ../Doc/library/turtle.rst:1860 msgid "" "Return the colormode or set it to 1.0 or 255. Subsequently *r*, *g*, *b* " "values of color triples have to be in the range 0..\\ *cmode*." msgstr "" +"Renvoie le mode de couleur (*colormode*) ou le défini à 1.0 ou 255. Les " +"valeurs *r*, *g* et *b* doivent aussi être dans la gamme `0..*cmode*`." #: ../Doc/library/turtle.rst:1880 msgid "" "Return the Canvas of this TurtleScreen. Useful for insiders who know what " "to do with a Tkinter Canvas." msgstr "" +"Renvoie le canevas de ce TurtleScreen. Utile pour les initiés qui savent " +"quoi faire avec un canevas Tkinter." #: ../Doc/library/turtle.rst:1892 msgid "Return a list of names of all currently available turtle shapes." msgstr "" +"Renvoie une liste de noms de toutes les formes actuellement disponibles pour " +"les tortues." #: ../Doc/library/turtle.rst:1903 msgid "There are three different ways to call this function:" -msgstr "" +msgstr "Il existe trois façons différentes d’appeler cette fonction :" #: ../Doc/library/turtle.rst:1905 msgid "" "*name* is the name of a gif-file and *shape* is ``None``: Install the " "corresponding image shape. ::" msgstr "" +"*name* est le nom d'un fichier *gif* et *shape* est ``None`` : Installe la " +"forme d'image correspondante. ::" #: ../Doc/library/turtle.rst:1911 msgid "" "Image shapes *do not* rotate when turning the turtle, so they do not display " "the heading of the turtle!" msgstr "" +"Les formes d'images *ne tournent pas* lorsque la tortue tourne, donc elles " +"n'indiquent pas le cap de la tortue !" #: ../Doc/library/turtle.rst:1914 msgid "" "*name* is an arbitrary string and *shape* is a tuple of pairs of " "coordinates: Install the corresponding polygon shape." msgstr "" +"*name* est une chaîne de caractères arbitraire et *shape* est un *n*-uplet " +"de paires de coordonnées : Installe le polygone correspondant." #: ../Doc/library/turtle.rst:1921 msgid "" "*name* is an arbitrary string and shape is a (compound) :class:`Shape` " "object: Install the corresponding compound shape." msgstr "" +"*name* est une chaîne de caractères arbitraire et *shape* est un objet :" +"class:`Shape` (composé) : Installe la forme composée correspondante." #: ../Doc/library/turtle.rst:1924 msgid "" "Add a turtle shape to TurtleScreen's shapelist. Only thusly registered " "shapes can be used by issuing the command ``shape(shapename)``." msgstr "" +"Ajoute une forme de tortue a la liste des formes du TurtleScreen. Seulement " +"les formes enregistrées de cette façon peuvent être utilisée avec la " +"commande ``shape(shapename)``." #: ../Doc/library/turtle.rst:1930 msgid "Return the list of turtles on the screen." -msgstr "" +msgstr "Renvoie la liste des tortues présentes sur l'écran." #: ../Doc/library/turtle.rst:1940 msgid "Return the height of the turtle window. ::" -msgstr "" +msgstr "Renvoie la hauteur de la fenêtre de la tortue. ::" #: ../Doc/library/turtle.rst:1948 msgid "Return the width of the turtle window. ::" -msgstr "" +msgstr "Renvoie la largeur de la fenêtre de la tortue. ::" #: ../Doc/library/turtle.rst:1957 msgid "Methods specific to Screen, not inherited from TurtleScreen" -msgstr "" +msgstr "Méthodes spécifiques à Screen, non héritées de TurtleScreen" #: ../Doc/library/turtle.rst:1961 msgid "Shut the turtlegraphics window." -msgstr "" +msgstr "Éteins la fenêtre *turtlegraphics*." #: ../Doc/library/turtle.rst:1966 msgid "Bind bye() method to mouse clicks on the Screen." @@ -1907,6 +2243,12 @@ msgid "" "file:`turtle.cfg`. In this case IDLE's own mainloop is active also for the " "client script." msgstr "" +"Si la valeur de \"*using_IDLE*\" dans le dictionnaire de configuration est " +"``False`` (valeur par défaut), démarre aussi la boucle principale. " +"Remarque : Si IDLE est lancé avec l'option ``-n`` (Pas de sous processus), " +"Cette valeur devrait être définie à ``True`` dans :file:`turtle.cfg`. Dans " +"ce cas, la boucle principale d'IDLE est active aussi pour le script du " +"client." #: ../Doc/library/turtle.rst:1978 msgid "" @@ -1914,97 +2256,133 @@ msgid "" "are stored in the configuration dictionary and can be changed via a :file:" "`turtle.cfg` file." msgstr "" +"Définit la taille et la position de la fenêtre principale. Les valeurs par " +"défaut des arguments sont stockées dans le dictionnaire de configuration et " +"peuvent être modifiées via un fichier :file:`turtle.cfg`." #: ../Doc/library/turtle.rst:1982 msgid "" "if an integer, a size in pixels, if a float, a fraction of the screen; " "default is 50% of screen" msgstr "" +"s'il s'agit d'un nombre entier, une taille en pixels, s'il s'agit d'un " +"nombre flottant, une fraction de l'écran ; la valeur par défaut est de 50 % " +"de l'écran" #: ../Doc/library/turtle.rst:1984 msgid "" "if an integer, the height in pixels, if a float, a fraction of the screen; " "default is 75% of screen" msgstr "" +"s'il s'agit d'un nombre entier, la hauteur en pixels, s'il s'agit d'un " +"nombre flottant, une fraction de l'écran ; la valeur par défaut est 75 % de " +"l'écran" #: ../Doc/library/turtle.rst:1986 msgid "" "if positive, starting position in pixels from the left edge of the screen, " "if negative from the right edge, if ``None``, center window horizontally" msgstr "" +"s'il s'agit d'un nombre positif, position de départ en pixels à partir du " +"bord gauche de l'écran, s'il s'agit d'un nombre négatif, position de départ " +"en pixels à partir du bord droit, si c'est ``None``, centre la fenêtre " +"horizontalement" #: ../Doc/library/turtle.rst:1989 msgid "" "if positive, starting position in pixels from the top edge of the screen, if " "negative from the bottom edge, if ``None``, center window vertically" msgstr "" +"si positif, la position de départ en pixels depuis le haut de l'écran. Si " +"négatif, depuis de bas de l'écran. Si ``None``, Le centre de la fenêtre " +"verticalement" #: ../Doc/library/turtle.rst:2003 msgid "a string that is shown in the titlebar of the turtle graphics window" msgstr "" +"chaîne de caractères affichée dans la barre de titre de la fenêtre graphique " +"de la tortue" #: ../Doc/library/turtle.rst:2006 msgid "Set title of turtle window to *titlestring*." -msgstr "" +msgstr "Défini le titre de la fenêtre de la tortue à *titlestring*." #: ../Doc/library/turtle.rst:2014 msgid "Public classes" -msgstr "" +msgstr "Classes publiques" #: ../Doc/library/turtle.rst:2020 msgid "" "a :class:`tkinter.Canvas`, a :class:`ScrolledCanvas` or a :class:" "`TurtleScreen`" msgstr "" +"un :class:`tkinter.Canvas`, un :class:`ScrolledCanvas` ou un :class:" +"`TurtleScreen`" #: ../Doc/library/turtle.rst:2023 msgid "" "Create a turtle. The turtle has all methods described above as \"methods of " "Turtle/RawTurtle\"." msgstr "" +"Crée une tortue. Cette tortue à toutes les méthodes décrites ci-dessus comme " +"\"Méthode de Turtle/RawTurtle\"." #: ../Doc/library/turtle.rst:2029 msgid "" "Subclass of RawTurtle, has the same interface but draws on a default :class:" "`Screen` object created automatically when needed for the first time." msgstr "" +"Sous-classe de RawTurtle, à la même interface mais dessine sur un objet :" +"class:`screen` par défaut créé automatiquement lorsque nécessaire pour la " +"première fois." #: ../Doc/library/turtle.rst:2035 msgid "a :class:`tkinter.Canvas`" -msgstr "" +msgstr "un :class:`tkinter.Canvas`" #: ../Doc/library/turtle.rst:2037 msgid "" "Provides screen oriented methods like :func:`setbg` etc. that are described " "above." msgstr "" +"Fournis les méthodes liées à l'écran comme :func:`setbg`, etc. qui sont " +"décrites ci-dessus." #: ../Doc/library/turtle.rst:2042 msgid "" "Subclass of TurtleScreen, with :ref:`four methods added `." msgstr "" +"Sous-classess de TurtleScreen, avec :ref:`quatre nouvelles méthodes " +"`." #: ../Doc/library/turtle.rst:2047 msgid "" "some Tkinter widget to contain the ScrolledCanvas, i.e. a Tkinter-canvas " "with scrollbars added" msgstr "" +"certain modules Tkinter pour contenir le ScrolledCanvas, c'est à dire, un " +"canevas Tkinter avec des barres de défilement ajoutées" #: ../Doc/library/turtle.rst:2050 msgid "" "Used by class Screen, which thus automatically provides a ScrolledCanvas as " "playground for the turtles." msgstr "" +"Utilisé par la classe Screen, qui fournit donc automatiquement un " +"ScrolledCanvas comme terrain de jeu pour les tortues." #: ../Doc/library/turtle.rst:2055 msgid "one of the strings \"polygon\", \"image\", \"compound\"" msgstr "" +"l'une des chaînes suivantes : `\"polygon\"`, `\"image\"` ou `\"compound\"`" #: ../Doc/library/turtle.rst:2057 msgid "" "Data structure modeling shapes. The pair ``(type_, data)`` must follow this " "specification:" msgstr "" +"Formes de modélisation de la structure des données. La paire ``(type_, " +"data)`` doit suivre cette spécification :" #: ../Doc/library/turtle.rst:2062 msgid "*type_*" @@ -2016,41 +2394,45 @@ msgstr "*data*" #: ../Doc/library/turtle.rst:2064 msgid "\"polygon\"" -msgstr "" +msgstr "\"polygon\"" #: ../Doc/library/turtle.rst:2064 msgid "a polygon-tuple, i.e. a tuple of pairs of coordinates" msgstr "" +"un polygone *n*-uplet, c'est-à-dire un *n*-uplet constitué de paires (chaque " +"paire définissant des coordonnées)" #: ../Doc/library/turtle.rst:2065 msgid "\"image\"" -msgstr "" +msgstr "\"image\"" #: ../Doc/library/turtle.rst:2065 msgid "an image (in this form only used internally!)" -msgstr "" +msgstr "une image (utilisée uniquement en interne sous ce format !)" #: ../Doc/library/turtle.rst:2066 msgid "\"compound\"" -msgstr "" +msgstr "\"compound\"" #: ../Doc/library/turtle.rst:2066 msgid "" "``None`` (a compound shape has to be constructed using the :meth:" "`addcomponent` method)" msgstr "" +"``None`` (une forme composée doit être construite en utilisant la méthode :" +"meth:`addcomponent`)" #: ../Doc/library/turtle.rst:2072 msgid "a polygon, i.e. a tuple of pairs of numbers" -msgstr "" +msgstr "un polygone, c.-à-d. un *n*-uplet de paires de nombres" #: ../Doc/library/turtle.rst:2073 msgid "a color the *poly* will be filled with" -msgstr "" +msgstr "une couleur de remplissage pour *poly*" #: ../Doc/library/turtle.rst:2074 msgid "a color for the poly's outline (if given)" -msgstr "" +msgstr "une couleur pour le contour du polygone (si elle est donnée)" #: ../Doc/library/turtle.rst:2076 msgid "Example:" @@ -2058,7 +2440,7 @@ msgstr "Exemple :" #: ../Doc/library/turtle.rst:2085 msgid "See :ref:`compoundshapes`." -msgstr "" +msgstr "Voir :ref:`compoundshapes`." #: ../Doc/library/turtle.rst:2090 msgid "" @@ -2066,42 +2448,46 @@ msgid "" "turtle graphics. May be useful for turtle graphics programs too. Derived " "from tuple, so a vector is a tuple!" msgstr "" +"Une classe de vecteur bidimensionnel, utilisée en tant que classe auxiliaire " +"pour implémenter les graphiques *turtle*. Peut être utile pour les " +"programmes graphiques faits avec *turtle*. Dérivé des *n*-uplets, donc un " +"vecteur est un *n*-uplet !" #: ../Doc/library/turtle.rst:2094 msgid "Provides (for *a*, *b* vectors, *k* number):" -msgstr "" +msgstr "Permet (pour les vecteurs *a*, *b* et le nombre *k*) :" #: ../Doc/library/turtle.rst:2096 msgid "``a + b`` vector addition" -msgstr "" +msgstr "``a + b`` addition de vecteurs" #: ../Doc/library/turtle.rst:2097 msgid "``a - b`` vector subtraction" -msgstr "" +msgstr "``a - b`` soustraction de deux vecteurs" #: ../Doc/library/turtle.rst:2098 msgid "``a * b`` inner product" -msgstr "" +msgstr "``a * b`` produit scalaire" #: ../Doc/library/turtle.rst:2099 msgid "``k * a`` and ``a * k`` multiplication with scalar" -msgstr "" +msgstr "``k * a`` et ``a * k`` multiplication avec un scalaire" #: ../Doc/library/turtle.rst:2100 msgid "``abs(a)`` absolute value of a" -msgstr "" +msgstr "``abs(a)`` valeur absolue de a" #: ../Doc/library/turtle.rst:2101 msgid "``a.rotate(angle)`` rotation" -msgstr "" +msgstr "``a.rotate(angle)`` rotation" #: ../Doc/library/turtle.rst:2105 msgid "Help and configuration" -msgstr "" +msgstr "Aide et configuration" #: ../Doc/library/turtle.rst:2108 msgid "How to use help" -msgstr "" +msgstr "Utilisation de l'aide" #: ../Doc/library/turtle.rst:2110 msgid "" @@ -2109,32 +2495,44 @@ msgid "" "extensively via docstrings. So these can be used as online-help via the " "Python help facilities:" msgstr "" +"Les méthodes publiques des classes *Screen* et *Turtle* sont largement " +"documentées dans les *docstrings*. Elles peuvent donc être utilisées comme " +"aide en ligne via les fonctions d'aide de Python :" #: ../Doc/library/turtle.rst:2114 msgid "" "When using IDLE, tooltips show the signatures and first lines of the " "docstrings of typed in function-/method calls." msgstr "" +"Lors de l'utilisation d'IDLE, des info-bulles apparaissent avec la signature " +"et les premières lignes de *docstring* de la fonction/méthode appelée." #: ../Doc/library/turtle.rst:2117 msgid "Calling :func:`help` on methods or functions displays the docstrings::" msgstr "" +"L'appel de :func:`help` sur les méthodes ou fonctions affichera les " +"*docstrings* ::" #: ../Doc/library/turtle.rst:2148 msgid "" "The docstrings of the functions which are derived from methods have a " "modified form::" msgstr "" +"Les *docstrings* des fonctions qui sont dérivées des méthodes ont une forme " +"modifiée ::" #: ../Doc/library/turtle.rst:2182 msgid "" "These modified docstrings are created automatically together with the " "function definitions that are derived from the methods at import time." msgstr "" +"Ces chaînes de documents modifiées sont créées automatiquement avec les " +"définitions de fonctions qui sont dérivées des méthodes au moment de " +"l'importation." #: ../Doc/library/turtle.rst:2187 msgid "Translation of docstrings into different languages" -msgstr "" +msgstr "Traduction de chaînes de documents en différentes langues" #: ../Doc/library/turtle.rst:2189 msgid "" @@ -2142,10 +2540,13 @@ msgid "" "names and the values of which are the docstrings of the public methods of " "the classes Screen and Turtle." msgstr "" +"Il est utile de créer un dictionnaire dont les clés sont les noms des " +"méthodes et les valeurs sont les *docstrings* de méthodes publiques des " +"classes Screen et Turtle." #: ../Doc/library/turtle.rst:2195 msgid "a string, used as filename" -msgstr "" +msgstr "une chaîne de caractères, utilisée en tant que nom de fichier" #: ../Doc/library/turtle.rst:2197 msgid "" @@ -2155,6 +2556,11 @@ msgid "" "Python script :file:`{filename}.py`. It is intended to serve as a template " "for translation of the docstrings into different languages." msgstr "" +"Crée et écrit un dictionnaire de *docstrings* dans un script Python avec le " +"nom donné. Cette fonction doit être appelée explicitement (elle n'est pas " +"utilisée par les classes graphiques de *turtle*). Ce dictionnaire de " +"*doctrings* sera écrit dans le script Python :file:`{filename}.py`. Il sert " +"de modèle pour la traduction des *docstrings* dans différentes langues." #: ../Doc/library/turtle.rst:2203 msgid "" @@ -2162,6 +2568,10 @@ msgid "" "native language, you have to translate the docstrings and save the resulting " "file as e.g. :file:`turtle_docstringdict_german.py`." msgstr "" +"Si vous (ou vos étudiants) veulent utiliser :mod:`turtle` avec de l'aide en " +"ligne dans votre langue natale, vous devez traduire les *docstrings* et " +"sauvegarder les fichiers résultants en, par exemple, :file:" +"`turtle_docstringdict_german.py`." #: ../Doc/library/turtle.rst:2207 msgid "" @@ -2169,22 +2579,31 @@ msgid "" "dictionary will be read in at import time and will replace the original " "English docstrings." msgstr "" +"Si vous avez une entrée appropriée dans votre fichier :file:`turtle.cfg`, ce " +"dictionnaire est lu au moment de l'importation et remplace la *docstrings* " +"originale en anglais par cette entrée." #: ../Doc/library/turtle.rst:2210 msgid "" "At the time of this writing there are docstring dictionaries in German and " "in Italian. (Requests please to glingl@aon.at.)" msgstr "" +"Au moment de l'écriture de cette documentation, il n'existe seulement que " +"des *docstrings* en Allemand et Italien. (Merci de faire vos demandes à " +"glingl@aon.at.)" #: ../Doc/library/turtle.rst:2216 msgid "How to configure Screen and Turtles" -msgstr "" +msgstr "Comment configurer *Screen* et *Turtle*" #: ../Doc/library/turtle.rst:2218 msgid "" "The built-in default configuration mimics the appearance and behaviour of " "the old turtle module in order to retain best possible compatibility with it." msgstr "" +"La configuration par défaut imite l'apparence et le comportement de l'ancien " +"module *turtle* pour pouvoir maintenir la meilleure compatibilité avec celui-" +"ci." #: ../Doc/library/turtle.rst:2221 msgid "" @@ -2194,33 +2613,44 @@ msgid "" "be read at import time and modify the configuration according to its " "settings." msgstr "" +"Si vous voulez utiliser une configuration différente qui reflète mieux les " +"fonctionnalités de ce module ou qui correspond mieux à vos besoins, par " +"exemple pour un cours, vous pouvez préparer un ficher de configuration " +"``turtle.cfg`` qui sera lu au moment de l'importation et qui modifiera la " +"configuration en utilisant les paramètres du fichier." #: ../Doc/library/turtle.rst:2226 msgid "" "The built in configuration would correspond to the following turtle.cfg::" -msgstr "" +msgstr "La configuration native correspondrait au *turtle.cfg* suivant ::" #: ../Doc/library/turtle.rst:2249 msgid "Short explanation of selected entries:" -msgstr "" +msgstr "Brève explication des entrées sélectionnées :" #: ../Doc/library/turtle.rst:2251 msgid "" "The first four lines correspond to the arguments of the :meth:`Screen.setup` " "method." msgstr "" +"Les quatre premières lignes correspondent aux arguments de la méthode :meth:" +"`Screen.setup`." #: ../Doc/library/turtle.rst:2253 msgid "" "Line 5 and 6 correspond to the arguments of the method :meth:`Screen." "screensize`." msgstr "" +"Les lignes 5 et 6 correspondent aux arguments de la méthode :meth:`Screen." +"screensize`." #: ../Doc/library/turtle.rst:2255 msgid "" "*shape* can be any of the built-in shapes, e.g: arrow, turtle, etc. For " "more info try ``help(shape)``." msgstr "" +"*shape* peut être n'importe quelle forme native, par exemple *arrow*, " +"*turtle* etc. Pour plus d'informations, essayez ``help(shape)``." #: ../Doc/library/turtle.rst:2257 msgid "" @@ -2228,12 +2658,18 @@ msgid "" "to write ``fillcolor = \"\"`` (but all nonempty strings must not have quotes " "in the cfg-file)." msgstr "" +"Si vous ne voulez utiliser aucune couleur de remplissage (c'est-à-dire " +"rendre la tortue transparente), vous devez écrire ``fillcolor = \"\"`` (mais " +"toutes les chaînes non vides ne doivent pas avoir de guillemets dans le " +"fichier *cfg*)." #: ../Doc/library/turtle.rst:2260 msgid "" "If you want to reflect the turtle its state, you have to use ``resizemode = " "auto``." msgstr "" +"Si vous voulez refléter l'état de la tortue, vous devez utiliser " +"``resizemode = auto``." #: ../Doc/library/turtle.rst:2262 msgid "" @@ -2241,6 +2677,10 @@ msgid "" "`turtle_docstringdict_italian.py` will be loaded at import time (if present " "on the import path, e.g. in the same directory as :mod:`turtle`." msgstr "" +"Si vous définissez par exemple ``language = italian``, le dictionnaire de " +"*docstrings* :file:`turtle.docstringdict_italian.py` sera chargé au moment " +"de l'importation (si présent dans les chemins d'importations, par exemple " +"dans le même dossier que :mod:`turtle`)." #: ../Doc/library/turtle.rst:2265 msgid "" @@ -2249,6 +2689,10 @@ msgid "" "docstrings to function-docstrings will delete these names from the " "docstrings." msgstr "" +"Les entrées *exampleturtle* et *examplescreen* définissent les noms de ces " +"objets tels qu'ils apparaissent dans les *docstrings*. La transformation des " +"méthodes-*docstrings* vers fonction-*docstrings* supprimera ces noms des " +"*docstrings*." #: ../Doc/library/turtle.rst:2269 msgid "" @@ -2256,6 +2700,9 @@ msgid "" "n switch (\"no subprocess\"). This will prevent :func:`exitonclick` to " "enter the mainloop." msgstr "" +"*using_IDLE* : définissez ceci à ``True`` si vous travaillez régulièrement " +"avec IDLE et son option ``-n`` (pas de sous processus). Cela évitera " +"l'entrée de :func:`exitonclick` dans la boucle principale." #: ../Doc/library/turtle.rst:2273 msgid "" @@ -2263,6 +2710,9 @@ msgid "" "is stored and an additional one in the current working directory. The " "latter will override the settings of the first one." msgstr "" +"Il peut y avoir un :file:turtle.cfg` dans le dossier où se situe :mod:" +"`turtle` et un autre dans le dossier de travail courant. Ce dernier prendra " +"le dessus." #: ../Doc/library/turtle.rst:2277 msgid "" @@ -2270,31 +2720,42 @@ msgid "" "You can study it as an example and see its effects when running the demos " "(preferably not from within the demo-viewer)." msgstr "" +"Le dossier :file:`Lib/turtledemo` contient un fichier :file:`turtle.cfg`. " +"Vous pouvez le prendre comme exemple et voir ses effets lorsque vous lancez " +"les démos (il est préférable de ne pas le faire depuis la visionneuse de " +"démos)." #: ../Doc/library/turtle.rst:2283 msgid ":mod:`turtledemo` --- Demo scripts" -msgstr "" +msgstr ":mod:`turtledemo` — Scripts de démonstration" #: ../Doc/library/turtle.rst:2288 msgid "" "The :mod:`turtledemo` package includes a set of demo scripts. These scripts " "can be run and viewed using the supplied demo viewer as follows::" msgstr "" +"Le paquet :mod:`turtledemo` inclut un ensemble de scripts de démonstration. " +"Ces scripts peuvent être lancés et observés en utilisant la visionneuse de " +"démos comme suit ::" #: ../Doc/library/turtle.rst:2293 msgid "" "Alternatively, you can run the demo scripts individually. For example, ::" msgstr "" +"Alternativement, vous pouvez lancer les scripts de démo individuellement. " +"Par exemple ::" #: ../Doc/library/turtle.rst:2297 msgid "The :mod:`turtledemo` package directory contains:" -msgstr "" +msgstr "Le paquet :mod:`turtledemo` contient :" #: ../Doc/library/turtle.rst:2299 msgid "" "A demo viewer :file:`__main__.py` which can be used to view the sourcecode " "of the scripts and run them at the same time." msgstr "" +"Une visionneuse :file:`__main__.py` qui peut être utilisée pour lire le code " +"source de ces scripts et pour les faire tourner en même temps." #: ../Doc/library/turtle.rst:2301 msgid "" @@ -2302,16 +2763,21 @@ msgid "" "module. Examples can be accessed via the Examples menu. They can also be " "run standalone." msgstr "" +"Plusieurs script présentent les différentes fonctionnalités du module :mod:" +"`turtle`. Les exemples peuvent être consultés via le menu *Examples*. Ils " +"peuvent aussi être lancés de manière autonome." #: ../Doc/library/turtle.rst:2304 msgid "" "A :file:`turtle.cfg` file which serves as an example of how to write and use " "such files." msgstr "" +"Un fichier exemple :file:`turtle.cfg` montrant comment rédiger de tels " +"fichiers." #: ../Doc/library/turtle.rst:2307 msgid "The demo scripts are:" -msgstr "" +msgstr "Les scripts de démonstration sont :" #: ../Doc/library/turtle.rst:2312 msgid "Name" @@ -2323,210 +2789,220 @@ msgstr "Description" #: ../Doc/library/turtle.rst:2312 msgid "Features" -msgstr "" +msgstr "Caractéristiques" #: ../Doc/library/turtle.rst:2314 msgid "bytedesign" -msgstr "" +msgstr "*bytedesign*" #: ../Doc/library/turtle.rst:2314 msgid "complex classical turtle graphics pattern" -msgstr "" +msgstr "motif complexe de la tortue graphique classique" #: ../Doc/library/turtle.rst:2314 msgid ":func:`tracer`, delay, :func:`update`" -msgstr "" +msgstr ":func:`tracer`, temps mort, :func:`update`" #: ../Doc/library/turtle.rst:2317 msgid "chaos" -msgstr "" +msgstr "chaos" #: ../Doc/library/turtle.rst:2317 msgid "" "graphs Verhulst dynamics, shows that computer's computations can generate " "results sometimes against the common sense expectations" msgstr "" +"graphiques dynamiques de Verhulst, cela démontre que les calculs de " +"l'ordinateur peuvent générer des résultats qui vont parfois à l'encontre du " +"bon sens" #: ../Doc/library/turtle.rst:2317 msgid "world coordinates" -msgstr "" +msgstr "*world coordinates*" #: ../Doc/library/turtle.rst:2323 msgid "clock" -msgstr "" +msgstr "*clock*" #: ../Doc/library/turtle.rst:2323 msgid "analog clock showing time of your computer" -msgstr "" +msgstr "horloge analogique indiquant l'heure de votre ordinateur" #: ../Doc/library/turtle.rst:2323 msgid "turtles as clock's hands, ontimer" -msgstr "" +msgstr "tortues sous forme des aiguilles d'horloge, sur minuterie" #: ../Doc/library/turtle.rst:2326 msgid "colormixer" -msgstr "" +msgstr "*colormixer* (mélangeur de couleurs)" #: ../Doc/library/turtle.rst:2326 msgid "experiment with r, g, b" -msgstr "" +msgstr "des expériences en rouge, vert, bleu" #: ../Doc/library/turtle.rst:2328 msgid "forest" -msgstr "" +msgstr "*forest* (forêt)" #: ../Doc/library/turtle.rst:2328 msgid "3 breadth-first trees" -msgstr "" +msgstr "3 arbres tracés par un parcours en largeur" #: ../Doc/library/turtle.rst:2328 msgid "randomization" -msgstr "" +msgstr "*randomization* (répartition aléatoire)" #: ../Doc/library/turtle.rst:2330 msgid "fractalcurves" -msgstr "" +msgstr "*fractalcurves*" #: ../Doc/library/turtle.rst:2330 msgid "Hilbert & Koch curves" -msgstr "" +msgstr "Courbes de Hilbert et de Koch" #: ../Doc/library/turtle.rst:2330 msgid "recursion" -msgstr "" +msgstr "récursivité" #: ../Doc/library/turtle.rst:2332 msgid "lindenmayer" -msgstr "" +msgstr "*lindenmayer*" #: ../Doc/library/turtle.rst:2332 msgid "ethnomathematics (indian kolams)" -msgstr "" +msgstr "ethnomathématiques (kolams indiens)" #: ../Doc/library/turtle.rst:2332 msgid "L-System" -msgstr "" +msgstr "*L-Système*" #: ../Doc/library/turtle.rst:2335 msgid "minimal_hanoi" -msgstr "" +msgstr "*minimal_hanoi*" #: ../Doc/library/turtle.rst:2335 msgid "Towers of Hanoi" -msgstr "" +msgstr "Tours de Hanoï" #: ../Doc/library/turtle.rst:2335 msgid "Rectangular Turtles as Hanoi discs (shape, shapesize)" msgstr "" +"Des tortues rectangulaires à la place des disques (*shape*, *shapesize*)" #: ../Doc/library/turtle.rst:2339 msgid "nim" -msgstr "" +msgstr "*nim*" #: ../Doc/library/turtle.rst:2339 msgid "" "play the classical nim game with three heaps of sticks against the computer." msgstr "" +"jouez au classique jeu de *nim* avec trois piles de bâtons contre " +"l'ordinateur." #: ../Doc/library/turtle.rst:2339 msgid "turtles as nimsticks, event driven (mouse, keyboard)" msgstr "" +"tortues en tant que bâtons de *nim*, géré par des événements (clavier et " +"souris)" #: ../Doc/library/turtle.rst:2343 msgid "paint" -msgstr "" +msgstr "*paint* (peinture)" #: ../Doc/library/turtle.rst:2343 msgid "super minimalistic drawing program" -msgstr "" +msgstr "programme de dessin extra minimaliste" #: ../Doc/library/turtle.rst:2346 msgid "peace" -msgstr "" +msgstr "*peace* (paix)" #: ../Doc/library/turtle.rst:2346 msgid "elementary" -msgstr "" +msgstr "basique" #: ../Doc/library/turtle.rst:2346 msgid "turtle: appearance and animation" -msgstr "" +msgstr "tortue : apparence et animation" #: ../Doc/library/turtle.rst:2349 msgid "penrose" -msgstr "" +msgstr "*penrose*" #: ../Doc/library/turtle.rst:2349 msgid "aperiodic tiling with kites and darts" -msgstr "" +msgstr "tuiles apériodiques avec cerfs-volants et fléchettes" #: ../Doc/library/turtle.rst:2352 msgid "planet_and_moon" -msgstr "" +msgstr "*planet_and_moon* (planète et lune)" #: ../Doc/library/turtle.rst:2352 msgid "simulation of gravitational system" -msgstr "" +msgstr "simulation d'un système gravitationnel" #: ../Doc/library/turtle.rst:2352 msgid "compound shapes, :class:`Vec2D`" -msgstr "" +msgstr "formes composées, :class:`Vec2D`" #: ../Doc/library/turtle.rst:2355 msgid "round_dance" -msgstr "" +msgstr "*round_dance*" #: ../Doc/library/turtle.rst:2355 msgid "dancing turtles rotating pairwise in opposite direction" -msgstr "" +msgstr "tortues dansantes tournant par paires en sens inverse" #: ../Doc/library/turtle.rst:2355 msgid "compound shapes, clone shapesize, tilt, get_shapepoly, update" msgstr "" +"formes composées, clones de la forme (*shapesize*), rotation, " +"*get_shapepoly*, *update*" #: ../Doc/library/turtle.rst:2359 msgid "sorting_animate" -msgstr "" +msgstr "*sorting_animate*" #: ../Doc/library/turtle.rst:2359 msgid "visual demonstration of different sorting methods" -msgstr "" +msgstr "démonstration visuelle des différentes méthodes de classement" #: ../Doc/library/turtle.rst:2359 msgid "simple alignment, randomization" -msgstr "" +msgstr "alignement simple, répartition aléatoire" #: ../Doc/library/turtle.rst:2362 msgid "tree" -msgstr "" +msgstr "*tree* (arbre)" #: ../Doc/library/turtle.rst:2362 msgid "a (graphical) breadth first tree (using generators)" -msgstr "" +msgstr "un arbre (tracé) par un parcours en largeur (à l’aide de générateurs)" #: ../Doc/library/turtle.rst:2365 msgid "two_canvases" -msgstr "" +msgstr "*two_canvases* (deux toiles)" #: ../Doc/library/turtle.rst:2365 msgid "simple design" -msgstr "" +msgstr "design simple" #: ../Doc/library/turtle.rst:2365 msgid "turtles on two canvases" -msgstr "" +msgstr "tortues sur deux canevas" #: ../Doc/library/turtle.rst:2368 msgid "wikipedia" -msgstr "" +msgstr "*wikipedia*" #: ../Doc/library/turtle.rst:2368 msgid "a pattern from the wikipedia article on turtle graphics" -msgstr "" +msgstr "un motif issu de l'article de *wikipedia* sur la tortue graphique" #: ../Doc/library/turtle.rst:2368 msgid ":func:`clone`, :func:`undo`" -msgstr "" +msgstr ":func:`clone`, :func:`undo`" #: ../Doc/library/turtle.rst:2371 msgid "yingyang" @@ -2534,15 +3010,15 @@ msgstr "" #: ../Doc/library/turtle.rst:2371 msgid "another elementary example" -msgstr "" +msgstr "un autre exemple élémentaire" #: ../Doc/library/turtle.rst:2374 msgid "Have fun!" -msgstr "" +msgstr "Amusez-vous !" #: ../Doc/library/turtle.rst:2378 msgid "Changes since Python 2.6" -msgstr "" +msgstr "Modifications depuis Python 2.6" #: ../Doc/library/turtle.rst:2380 msgid "" @@ -2553,6 +3029,12 @@ msgid "" "2.6 these methods were merely duplications of the corresponding :class:" "`TurtleScreen`/:class:`Screen`-methods.)" msgstr "" +"Les méthodes :meth:`Turtle.tracer`, :meth:`Turtle.window_width` et :meth:" +"`Turtle.window_height` ont été supprimées. Seule :class:`Screen` définit " +"maintenant des méthodes avec ces noms et fonctionnalités. Les fonction " +"dérivées de ces méthodes restent disponibles. (En réalité, déjà en Python " +"2.6 ces méthodes n'étaient que de simples duplicatas des méthodes " +"correspondantes des classes :class:`TurtleScreen`/:class:`Screen`)" #: ../Doc/library/turtle.rst:2388 msgid "" @@ -2560,6 +3042,9 @@ msgid "" "`begin_fill` and :meth:`end_fill` have changed slightly: now every filling-" "process must be completed with an ``end_fill()`` call." msgstr "" +"La méthode :meth:`Turtle.fill` à été supprimée. Le fonctionnement de :meth:" +"`begin_fill` et :meth:`end_fill` a légèrement changé : chaque opération de " +"remplissage doit maintenant se terminer par un appel à ``end_fill()``." #: ../Doc/library/turtle.rst:2393 msgid "" @@ -2567,10 +3052,13 @@ msgid "" "``True`` if a filling process is under way, ``False`` otherwise. This " "behaviour corresponds to a ``fill()`` call without arguments in Python 2.6." msgstr "" +"La méthode :meth:`Turtle.filling` a été ajoutée. Elle renvoie le booléen " +"``True`` si une opération de remplissage est en cours,``False`` sinon. Ce " +"comportement correspond à un appel à ``fill()`` sans argument en Python 2.6." #: ../Doc/library/turtle.rst:2399 msgid "Changes since Python 3.0" -msgstr "" +msgstr "Modifications depuis Python 3.0" #: ../Doc/library/turtle.rst:2401 msgid "" @@ -2580,6 +3068,12 @@ msgid "" "`Turtle.tiltangle` has been enhanced in functionality: it now can be used to " "get or set the tiltangle. :meth:`Turtle.settiltangle` has been deprecated." msgstr "" +"Les méthodes :meth:`Turtle.shearfactor`, :meth:`Turtle.shapetransform` et :" +"meth:`Turtle.get_shapepoly` on été ajoutées. Ainsi, la gamme complète des " +"transformations linéaires habituelles est maintenant disponible pour " +"modifier les formes de la tortue. La méthode :meth:`Turtle.tiltangle` a été " +"améliorée : Elle peut maintenant récupérer ou définir l'angle " +"d'inclinaison. :meth:`Turtle.settiltangle` est désormais obsolète." #: ../Doc/library/turtle.rst:2408 msgid "" @@ -2587,6 +3081,10 @@ msgid "" "`Screen.onkey` which in fact binds actions to the keyrelease event. " "Accordingly the latter has got an alias: :meth:`Screen.onkeyrelease`." msgstr "" +"La méthode :meth:`Screen.onkeypress` a été ajoutée en complément à :meth:" +"`Screen.onkey` qui lie des actions à des relâchements de touches. En " +"conséquence, ce dernier s'est vu doté d'un alias : :meth:`Screen." +"onkeyrelease`." #: ../Doc/library/turtle.rst:2412 msgid "" @@ -2594,6 +3092,9 @@ msgid "" "with Screen and Turtle objects one must not additionally import :func:" "`mainloop` anymore." msgstr "" +"La méthode :meth:`Screen.mainloop` à été ajoutée. Ainsi, lorsque vous " +"travaillez uniquement avec des objets Screen et Turtle, vous n'avez plus " +"besoin d'importer :func:`mainloop`." #: ../Doc/library/turtle.rst:2416 msgid "" @@ -2601,9 +3102,14 @@ msgid "" "numinput`. These popup input dialogs and return strings and numbers " "respectively." msgstr "" +"Deux méthodes d'entrées ont été ajoutées : :meth:`Screen.textinput` et :meth:" +"`Screen.numinput`. Ces dialogues d'entrées renvoient des chaînes de " +"caractères et des nombres respectivement." #: ../Doc/library/turtle.rst:2420 msgid "" "Two example scripts :file:`tdemo_nim.py` and :file:`tdemo_round_dance.py` " "have been added to the :file:`Lib/turtledemo` directory." msgstr "" +"Deux exemples de scripts :file:`tdemo_nim.py` et :file:`tdemo_round_dance." +"py` ont été ajoutés au répertoire :file:`Lib/turtledemo`." diff --git a/library/typing.po b/library/typing.po index 3c8d425e..ae342e21 100644 --- a/library/typing.po +++ b/library/typing.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/typing.rst:2 msgid ":mod:`typing` --- Support for type hints" -msgstr "" +msgstr ":mod:`typing` — Prise en charge des annotations de type" #: ../Doc/library/typing.rst:9 msgid "**Source code:** :source:`Lib/typing.py`" @@ -37,6 +37,8 @@ msgstr "" msgid "" "The function below takes and returns a string and is annotated as follows::" msgstr "" +"La fonction ci-dessous prend et renvoie une chaîne de caractères, et est " +"annotée comme suit ::" #: ../Doc/library/typing.rst:25 msgid "" @@ -44,10 +46,13 @@ msgid "" "type :class:`str` and the return type :class:`str`. Subtypes are accepted as " "arguments." msgstr "" +"La fonction ``greeting`` s'attend à ce que l'argument ``name`` soit de type :" +"class:`str` et le type de retour :class:`str`. Les sous-types sont acceptés " +"comme arguments." #: ../Doc/library/typing.rst:30 msgid "Type aliases" -msgstr "" +msgstr "Alias de type" #: ../Doc/library/typing.rst:32 msgid "" @@ -60,26 +65,34 @@ msgid "" "Type aliases are useful for simplifying complex type signatures. For " "example::" msgstr "" +"Les alias de type sont utiles pour simplifier les signatures complexes. Par " +"exemple ::" #: ../Doc/library/typing.rst:62 msgid "" "Note that ``None`` as a type hint is a special case and is replaced by " "``type(None)``." msgstr "" +"Notez que ``None`` comme indication de type est un cas particulier et est " +"remplacé par ``type(None)``." #: ../Doc/library/typing.rst:68 msgid "NewType" -msgstr "" +msgstr "*NewType*" #: ../Doc/library/typing.rst:70 msgid "Use the :func:`NewType` helper function to create distinct types::" msgstr "" +"Aidez-vous de la fonction :func:`NewType` pour créer des types distincts ::" #: ../Doc/library/typing.rst:77 msgid "" "The static type checker will treat the new type as if it were a subclass of " "the original type. This is useful in helping catch logical errors::" msgstr "" +"Le vérificateur de type statique traite le nouveau type comme s'il " +"s'agissait d'une sous-classe du type original. C'est utile pour aider à " +"détecter les erreurs logiques ::" #: ../Doc/library/typing.rst:89 msgid "" @@ -88,6 +101,11 @@ msgid "" "pass in a ``UserId`` wherever an ``int`` might be expected, but will prevent " "you from accidentally creating a ``UserId`` in an invalid way::" msgstr "" +"Vous pouvez toujours effectuer toutes les opérations applicables à un entier " +"(type ``int``) sur une variable de type ``UserId``, mais le résultat sera " +"toujours de type ``int``. Ceci vous permet de passer un ``UserId`` partout " +"où un ``int`` est attendu, mais vous empêche de créer accidentellement un " +"``UserId`` d'une manière invalide ::" #: ../Doc/library/typing.rst:97 msgid "" @@ -103,6 +121,8 @@ msgid "" "More precisely, the expression ``some_value is Derived(some_value)`` is " "always true at runtime." msgstr "" +"Plus précisément, l'expression ``some_value is Derived(some_value)`` est " +"toujours vraie au moment de l'exécution." #: ../Doc/library/typing.rst:106 msgid "" @@ -114,7 +134,7 @@ msgstr "" #: ../Doc/library/typing.rst:120 msgid "See :pep:`484` for more details." -msgstr "" +msgstr "Voir la :pep:`484` pour plus de détails." #: ../Doc/library/typing.rst:124 msgid "" @@ -123,6 +143,11 @@ msgid "" "treat ``Alias`` as being *exactly equivalent* to ``Original`` in all cases. " "This is useful when you want to simplify complex type signatures." msgstr "" +"Rappelons que l'utilisation d'un alias de type déclare que deux types sont " +"*équivalents* l'un à l'autre. Écrire ``Alias = Original`` fait que le " +"vérificateur de type statique traite ``Alias`` comme étant *exactement " +"équivalent* à ``Original`` dans tous les cas. C'est utile lorsque vous " +"voulez simplifier des signatures complexes." #: ../Doc/library/typing.rst:129 msgid "" @@ -133,16 +158,26 @@ msgid "" "``Derived`` is expected. This is useful when you want to prevent logic " "errors with minimal runtime cost." msgstr "" +"En revanche, ``NewType`` déclare qu'un type est un *sous-type* d'un autre. " +"Écrire ``Derived = NewType('Derived', Original)`` fait en sorte que le " +"vérificateur de type statique traite ``Derived`` comme une *sous-classe* de " +"``Original``, ce qui signifie qu'une valeur de type ``Original`` ne peut " +"être utilisée dans les endroits où une valeur de type ``Derived`` est " +"prévue. C'est utile lorsque vous voulez éviter les erreurs logiques avec un " +"coût d'exécution minimal." #: ../Doc/library/typing.rst:137 msgid "Callable" -msgstr "" +msgstr "Appelable" #: ../Doc/library/typing.rst:139 msgid "" "Frameworks expecting callback functions of specific signatures might be type " "hinted using ``Callable[[Arg1Type, Arg2Type], ReturnType]``." msgstr "" +"Les cadriciels (*frameworks* en anglais) qui attendent des fonctions de " +"rappel ayant des signatures spécifiques peuvent être typés en utilisant " +"``Callable[[Arg1Type, Arg2Type], ReturnType]``." #: ../Doc/library/typing.rst:142 msgid "For example::" @@ -154,10 +189,13 @@ msgid "" "the call signature by substituting a literal ellipsis for the list of " "arguments in the type hint: ``Callable[..., ReturnType]``." msgstr "" +"Il est possible de déclarer le type de retour d'un appelable sans spécifier " +"la signature de l'appel en indiquant des points de suspension à la liste des " +"arguments dans l'indice de type : ``Callable[..., ReturnType]``." #: ../Doc/library/typing.rst:158 msgid "Generics" -msgstr "" +msgstr "Génériques" #: ../Doc/library/typing.rst:160 msgid "" @@ -165,6 +203,11 @@ msgid "" "inferred in a generic way, abstract base classes have been extended to " "support subscription to denote expected types for container elements." msgstr "" +"Comme les informations de type sur les objets conservés dans des conteneurs " +"ne peuvent pas être déduites statiquement de manière générique, les classes " +"de base abstraites ont été étendues pour prendre en charge la sélection " +"(*subscription* en anglais) et indiquer les types attendus pour les éléments " +"de conteneur." #: ../Doc/library/typing.rst:171 msgid "" @@ -174,11 +217,13 @@ msgstr "" #: ../Doc/library/typing.rst:185 msgid "User-defined generic types" -msgstr "" +msgstr "Types génériques définis par l'utilisateur" #: ../Doc/library/typing.rst:187 msgid "A user-defined class can be defined as a generic class." msgstr "" +"Une classe définie par l'utilisateur peut être définie comme une classe " +"générique." #: ../Doc/library/typing.rst:213 msgid "" @@ -186,6 +231,9 @@ msgid "" "single type parameter ``T`` . This also makes ``T`` valid as a type within " "the class body." msgstr "" +"``Generic[T]`` en tant que classe de base définit que la classe " +"``LoggedVar`` prend un paramètre de type unique ``T``. Ceci rend également " +"``T`` valide en tant que type dans le corps de la classe." #: ../Doc/library/typing.rst:217 msgid "" @@ -198,25 +246,31 @@ msgid "" "A generic type can have any number of type variables, and type variables may " "be constrained::" msgstr "" +"Un type générique peut avoir un nombre quelconque de variables de type et " +"vous pouvez fixer des contraintes sur les variables de type ::" #: ../Doc/library/typing.rst:238 msgid "" "Each type variable argument to :class:`Generic` must be distinct. This is " "thus invalid::" msgstr "" +"Chaque argument de variable de type :class:`Generic` doit être distinct. " +"Ceci n'est donc pas valable ::" #: ../Doc/library/typing.rst:249 msgid "You can use multiple inheritance with :class:`Generic`::" -msgstr "" +msgstr "Vous pouvez utiliser l'héritage multiple avec :class:`Generic` ::" #: ../Doc/library/typing.rst:258 msgid "" "When inheriting from generic classes, some type variables could be fixed::" msgstr "" +"Lors de l'héritage de classes génériques, certaines variables de type " +"peuvent être corrigées ::" #: ../Doc/library/typing.rst:267 msgid "In this case ``MyDict`` has a single parameter, ``T``." -msgstr "" +msgstr "Dans ce cas, ``MyDict`` a un seul paramètre, ``T``." #: ../Doc/library/typing.rst:269 msgid "" @@ -224,6 +278,10 @@ msgid "" "for each position. In the following example, ``MyIterable`` is not generic " "but implicitly inherits from ``Iterable[Any]``::" msgstr "" +"L'utilisation d'une classe générique sans spécifier de paramètres de type " +"suppose :data:`Any` pour chaque position. Dans l'exemple suivant, " +"``MyIterable`` n'est pas générique mais hérite implicitement de " +"``Iterable[Any]`` ::" #: ../Doc/library/typing.rst:277 msgid "" @@ -237,7 +295,7 @@ msgstr "" #: ../Doc/library/typing.rst:286 msgid "The :data:`Any` type" -msgstr "" +msgstr "Le type :data:`Any`" #: ../Doc/library/typing.rst:288 msgid "" @@ -245,6 +303,9 @@ msgid "" "every type as being compatible with :data:`Any` and :data:`Any` as being " "compatible with every type." msgstr "" +"Un type particulier est :data:`Any`. Un vérificateur de type statique traite " +"chaque type comme étant compatible avec :data:`Any` et :data:`Any` comme " +"étant compatible avec chaque type." #: ../Doc/library/typing.rst:292 msgid "" @@ -260,18 +321,27 @@ msgid "" "declared to be of type :class:`str` and receives an :class:`int` value at " "runtime!" msgstr "" +"Notez qu'aucun contrôle de typage n'est effectué lors de l'affectation d'une " +"valeur de type :data:`Any` à un type plus précis. Par exemple, le " +"vérificateur de type statique ne signale pas d'erreur lors de l'affectation " +"de ``a`` à ``s`` même si ``s`` était déclaré être de type :class:`str` et " +"reçoit une valeur :class:`int` au moment de son exécution !" #: ../Doc/library/typing.rst:316 msgid "" "Furthermore, all functions without a return type or parameter types will " "implicitly default to using :data:`Any`::" msgstr "" +"De plus, toutes les fonctions sans type de retour ni type de paramètre sont " +"considérées comme utilisant :data:`Any` implicitement par défaut ::" #: ../Doc/library/typing.rst:329 msgid "" "This behavior allows :data:`Any` to be used as an *escape hatch* when you " "need to mix dynamically and statically typed code." msgstr "" +"Ce comportement permet à :data:`Any` d'être utilisé comme succédané lorsque " +"vous avez besoin de mélanger du code typé dynamiquement et statiquement." #: ../Doc/library/typing.rst:332 msgid "" @@ -280,6 +350,10 @@ msgid "" "unlike :data:`Any`, the reverse is not true: :class:`object` is *not* a " "subtype of every other type." msgstr "" +"Comparons le comportement de :data:`Any` avec celui de :class:`object`. De " +"la même manière que pour :data:`Any`, chaque type est un sous-type de :class:" +"`object`. Cependant, contrairement à :data:`Any`, l'inverse n'est pas " +"vrai : :class:`object` n'est *pas* un sous-type de chaque autre type." #: ../Doc/library/typing.rst:337 msgid "" @@ -288,12 +362,19 @@ msgid "" "it as a return value) of a more specialized type is a type error. For " "example::" msgstr "" +"Cela signifie que lorsque le type d'une valeur est :class:`object`, un " +"vérificateur de type rejette presque toutes les opérations sur celle-ci, et " +"l'affecter à une variable (ou l'utiliser comme une valeur de retour) d'un " +"type plus spécialisé est une erreur de typage. Par exemple ::" #: ../Doc/library/typing.rst:359 msgid "" "Use :class:`object` to indicate that a value could be any type in a typesafe " "manner. Use :data:`Any` to indicate that a value is dynamically typed." msgstr "" +"Utilisez :class:`object` pour indiquer qu'une valeur peut être de n'importe " +"quel type de manière sûre. Utiliser :data:`Any` pour indiquer qu'une valeur " +"est typée dynamiquement." #: ../Doc/library/typing.rst:363 msgid "Classes, functions, and decorators" @@ -305,7 +386,7 @@ msgstr "" #: ../Doc/library/typing.rst:369 msgid "Type variable." -msgstr "" +msgstr "Variables de type." #: ../Doc/library/typing.rst:371 ../Doc/library/typing.rst:672 msgid "Usage::" @@ -326,12 +407,19 @@ msgid "" "arguments are instances of some subclass of :class:`str`, the return type is " "still plain :class:`str`." msgstr "" +"La signature de ce dernier exemple est essentiellement la surcharge de " +"``(str, str) -> str`` et ``(bytes, bytes) -> bytes``. Notez également que si " +"les arguments sont des instances d'une sous-classe de la classe :class:" +"`str`, le type de retour est toujours la classe :class:`str`." #: ../Doc/library/typing.rst:394 msgid "" "At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`. In general, :" "func:`isinstance` and :func:`issubclass` should not be used with types." msgstr "" +"Au moment de l'exécution, ``isinstance(x, T)`` va lever :exc:`TypeError`. En " +"général, :func:`isinstance` et :func:`issubclass` ne devraient pas être " +"utilisés avec les types." #: ../Doc/library/typing.rst:397 msgid "" @@ -342,10 +430,17 @@ msgid "" "an actual type substituted (explicitly or implicitly) for the type variable " "must be a subclass of the boundary type, see :pep:`484`." msgstr "" +"Les variables de type peuvent être marquées covariantes ou contravariantes " +"en passant ``covariant=True`` ou ``contravariant=True``. Voir la :pep:`484` " +"pour plus de détails. Par défaut, les variables de type sont invariantes. " +"Sinon, une variable de type peut spécifier une limite supérieure en " +"utilisant ``bound=``. Cela signifie qu'un type réel substitué " +"(explicitement ou implicitement) à la variable type doit être une sous-" +"classe du type frontière (*boundary* en anglais), voir la :pep:`484`." #: ../Doc/library/typing.rst:407 msgid "Abstract base class for generic types." -msgstr "" +msgstr "Classe de base abstraite pour les types génériques." #: ../Doc/library/typing.rst:409 msgid "" @@ -353,10 +448,13 @@ msgid "" "this class with one or more type variables. For example, a generic mapping " "type might be defined as::" msgstr "" +"Un type générique est généralement déclaré en héritant d'une instanciation " +"de cette classe avec une ou plusieurs variables de type. Par exemple, un " +"type de correspondance générique peut être défini comme suit ::" #: ../Doc/library/typing.rst:418 msgid "This class can then be used as follows::" -msgstr "" +msgstr "Cette classe peut alors être utilisée comme suit ::" #: ../Doc/library/typing.rst:431 msgid "" @@ -365,10 +463,14 @@ msgid "" "classes themselves -- specifically, it will accept the *class object* of " "``C``. For example::" msgstr "" +"Une variable annotée de ``C`` peut accepter une valeur de type ``C``. En " +"revanche, une variable annotée avec ``Type[C]`` peut accepter des valeurs " +"qui sont elles-mêmes des classes — plus précisément, elle accepte l'objet " +"*class* de ``C``. Par exemple ::" #: ../Doc/library/typing.rst:440 msgid "Note that ``Type[C]`` is covariant::" -msgstr "" +msgstr "Notez que ``Type[C]`` est covariant ::" #: ../Doc/library/typing.rst:452 msgid "" @@ -379,6 +481,14 @@ msgid "" "the indicated base class. How the type checker is required to handle this " "particular case may change in future revisions of :pep:`484`." msgstr "" +"Le fait que ``Type[C]`` soit covariant implique que toutes les sous-classes " +"de ``C`` doivent implémenter la même signature de constructeur et les " +"signatures de méthode de classe que ``C``. Le vérificateur de type doit " +"signaler les manquements à cette règle. Il doit également autoriser les " +"appels du constructeur dans les sous-classes qui correspondent aux appels du " +"constructeur dans la classe de base indiquée. La façon dont le vérificateur " +"de type est tenu de traiter ce cas particulier peut changer dans les futures " +"révisions de :pep:`484`." #: ../Doc/library/typing.rst:460 msgid "" @@ -391,58 +501,64 @@ msgid "" "``Type[Any]`` is equivalent to ``Type`` which in turn is equivalent to " "``type``, which is the root of Python's metaclass hierarchy." msgstr "" +"``Type[Any]`` est équivalent à ``Type`` qui à son tour est équivalent à " +"``type``, qui est la racine de la hiérarchie des métaclasses de Python." #: ../Doc/library/typing.rst:470 msgid "A generic version of :class:`collections.abc.Iterable`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.Iterable`." #: ../Doc/library/typing.rst:474 msgid "A generic version of :class:`collections.abc.Iterator`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.Iterator`." #: ../Doc/library/typing.rst:478 msgid "A generic version of :class:`collections.abc.Reversible`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.Reversible`." #: ../Doc/library/typing.rst:482 msgid "An ABC with one abstract method ``__int__``." -msgstr "" +msgstr "Une ABC avec une méthode abstraite ``__int__``." #: ../Doc/library/typing.rst:486 msgid "An ABC with one abstract method ``__float__``." -msgstr "" +msgstr "Une ABC avec une méthode abstraite ``__float__``." #: ../Doc/library/typing.rst:490 msgid "" "An ABC with one abstract method ``__abs__`` that is covariant in its return " "type." msgstr "" +"Une ABC avec une méthode abstraite ``__abs__`` qui est covariante dans son " +"type de retour." #: ../Doc/library/typing.rst:495 msgid "" "An ABC with one abstract method ``__round__`` that is covariant in its " "return type." msgstr "" +"Une ABC avec une méthode abstraite ``__round__`` qui est covariante dans son " +"type de retour." #: ../Doc/library/typing.rst:500 msgid "A generic version of :class:`collections.abc.Container`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.Container`." #: ../Doc/library/typing.rst:504 msgid "An alias to :class:`collections.abc.Hashable`" -msgstr "" +msgstr "Un alias pour :class:`collections.abc.Hashable`" #: ../Doc/library/typing.rst:508 msgid "An alias to :class:`collections.abc.Sized`" -msgstr "" +msgstr "Un alias pour :class:`collections.abc.Sized`" #: ../Doc/library/typing.rst:512 msgid "A generic version of :class:`collections.abc.Set`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.Set`." #: ../Doc/library/typing.rst:516 msgid "A generic version of :class:`collections.abc.MutableSet`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.MutableSet`." #: ../Doc/library/typing.rst:520 msgid "A generic version of :class:`collections.abc.Mapping`." @@ -450,19 +566,19 @@ msgstr "" #: ../Doc/library/typing.rst:524 msgid "A generic version of :class:`collections.abc.MutableMapping`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.MutableMapping`." #: ../Doc/library/typing.rst:528 msgid "A generic version of :class:`collections.abc.Sequence`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.Sequence`." #: ../Doc/library/typing.rst:532 msgid "A generic version of :class:`collections.abc.MutableSequence`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.MutableSequence`." #: ../Doc/library/typing.rst:536 msgid "A generic version of :class:`collections.abc.ByteString`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.ByteString`." #: ../Doc/library/typing.rst:538 msgid "" @@ -475,6 +591,8 @@ msgid "" "As a shorthand for this type, :class:`bytes` can be used to annotate " "arguments of any of the types mentioned above." msgstr "" +"Comme abréviation pour ce type, :class:`bytes` peut être utilisé pour " +"annoter des arguments de n'importe quel type mentionné ci-dessus." #: ../Doc/library/typing.rst:546 msgid "" @@ -485,7 +603,7 @@ msgstr "" #: ../Doc/library/typing.rst:551 msgid "This type may be used as follows::" -msgstr "" +msgstr "Ce type peut être utilisé comme suit ::" #: ../Doc/library/typing.rst:563 msgid "A generic version of :class:`builtins.set `." @@ -493,31 +611,31 @@ msgstr "" #: ../Doc/library/typing.rst:567 msgid "A generic version of :class:`collections.abc.MappingView`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.MappingView`." #: ../Doc/library/typing.rst:571 msgid "A generic version of :class:`collections.abc.KeysView`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.KeysView`." #: ../Doc/library/typing.rst:575 msgid "A generic version of :class:`collections.abc.ItemsView`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.ItemsView`." #: ../Doc/library/typing.rst:579 msgid "A generic version of :class:`collections.abc.ValuesView`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.ValuesView`." #: ../Doc/library/typing.rst:583 msgid "A generic version of :class:`collections.abc.Awaitable`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.Awaitable`." #: ../Doc/library/typing.rst:587 msgid "A generic version of :class:`collections.abc.AsyncIterable`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.AsyncIterable`." #: ../Doc/library/typing.rst:591 msgid "A generic version of :class:`collections.abc.AsyncIterator`." -msgstr "" +msgstr "Une version générique de :class:`collections.abc.AsyncIterator`." #: ../Doc/library/typing.rst:595 msgid "" @@ -533,6 +651,8 @@ msgid "" "A generator can be annotated by the generic type ``Generator[YieldType, " "SendType, ReturnType]``. For example::" msgstr "" +"Un générateur peut être annoté par le type générique ``Generator[YieldType, " +"SendType, ReturnType]``. Par exemple ::" #: ../Doc/library/typing.rst:616 msgid "" @@ -540,18 +660,25 @@ msgid "" "of :class:`Generator` behaves contravariantly, not covariantly or " "invariantly." msgstr "" +"Notez que contrairement à beaucoup d'autres génériques dans le module " +"*typing*, le ``SendType`` de :class:`Generator` se comporte de manière " +"contravariante, pas de manière covariante ou invariante." #: ../Doc/library/typing.rst:620 msgid "" "If your generator will only yield values, set the ``SendType`` and " "``ReturnType`` to ``None``::" msgstr "" +"Si votre générateur ne donne que des valeurs, réglez les paramètres " +"``SendType`` et ``ReturnType`` sur ``None`` ::" #: ../Doc/library/typing.rst:628 msgid "" "Alternatively, annotate your generator as having a return type of either " "``Iterable[YieldType]`` or ``Iterator[YieldType]``::" msgstr "" +"Alternativement, annotez votre générateur comme ayant un type de retour soit " +"``Iterable[YieldType]`` ou ``Iterator[YieldType]`` ::" #: ../Doc/library/typing.rst:638 msgid "" @@ -559,12 +686,17 @@ msgid "" "compatible path for Python 2 code: in Python 2, ``Text`` is an alias for " "``unicode``." msgstr "" +"``Text`` est un alias pour ``str``. Il est fourni pour obtenir une " +"compatibilité ascendante du code Python 2 : en Python 2, ``Text`` est un " +"alias pour ``unicode``." #: ../Doc/library/typing.rst:642 msgid "" "Use ``Text`` to indicate that a value must contain a unicode string in a " "manner that is compatible with both Python 2 and Python 3::" msgstr "" +"Utilisez ``Text`` pour indiquer qu'une valeur doit contenir une chaîne " +"Unicode d'une manière compatible avec Python 2 et Python 3 ::" #: ../Doc/library/typing.rst:650 msgid "Wrapper namespace for I/O stream types." @@ -614,7 +746,7 @@ msgstr "" #: ../Doc/library/typing.rst:696 msgid "Cast a value to a type." -msgstr "" +msgstr "Convertit une valeur en un type." #: ../Doc/library/typing.rst:698 msgid "" @@ -622,6 +754,10 @@ msgid "" "return value has the designated type, but at runtime we intentionally don't " "check anything (we want this to be as fast as possible)." msgstr "" +"Ceci renvoie la valeur inchangée. Pour le vérificateur de type, cela " +"signifie que la valeur de retour a le type désigné mais, à l'exécution, " +"intentionnellement, rien n'est vérifié (afin que cela soit aussi rapide que " +"possible)." #: ../Doc/library/typing.rst:705 msgid "Return type hints for a function or method object." @@ -652,10 +788,14 @@ msgstr "" #: ../Doc/library/typing.rst:737 msgid "See :pep:`484` for details and comparison with other typing semantics." msgstr "" +"Voir la :pep:`484` pour plus de détails et la comparaison avec d'autres " +"sémantiques de typage." #: ../Doc/library/typing.rst:741 msgid "Decorator to indicate that annotations are not type hints." msgstr "" +"Décorateur pour indiquer que les annotations ne sont pas des indications de " +"type." #: ../Doc/library/typing.rst:743 msgid "" @@ -666,57 +806,64 @@ msgstr "" #: ../Doc/library/typing.rst:747 msgid "This mutates the function(s) in place." -msgstr "" +msgstr "Cela fait muter la ou les fonctions en place." #: ../Doc/library/typing.rst:751 msgid "Decorator to give another decorator the :func:`no_type_check` effect." msgstr "" +"Décorateur pour donner à un autre décorateur l'effet :func:`no_type_check`." #: ../Doc/library/typing.rst:753 msgid "" "This wraps the decorator with something that wraps the decorated function " "in :func:`no_type_check`." msgstr "" +"Ceci enveloppe le décorateur avec quelque chose qui enveloppe la fonction " +"décorée dans :func:`no_type_check`." #: ../Doc/library/typing.rst:758 msgid "Special type indicating an unconstrained type." -msgstr "" +msgstr "Type spécial indiquant un type non contraint." #: ../Doc/library/typing.rst:760 msgid "Every type is compatible with :data:`Any`." -msgstr "" +msgstr "Chaque type est compatible avec :data:`Any`." #: ../Doc/library/typing.rst:761 msgid ":data:`Any` is compatible with every type." -msgstr "" +msgstr ":data:`Any` est compatible avec tous les types." #: ../Doc/library/typing.rst:765 msgid "Union type; ``Union[X, Y]`` means either X or Y." -msgstr "" +msgstr "Type « union » ; ``Union[X, Y]`` signifie X ou Y." #: ../Doc/library/typing.rst:767 msgid "To define a union, use e.g. ``Union[int, str]``. Details:" msgstr "" +"Pour définir une union, utilisez par exemple ``Union[int, str]``. Détail :" #: ../Doc/library/typing.rst:769 msgid "The arguments must be types and there must be at least one." msgstr "" +"Les arguments doivent être des types et il doit y en avoir au moins un." #: ../Doc/library/typing.rst:771 msgid "Unions of unions are flattened, e.g.::" -msgstr "" +msgstr "Les unions d'unions sont aplanies, par exemple ::" #: ../Doc/library/typing.rst:775 msgid "Unions of a single argument vanish, e.g.::" -msgstr "" +msgstr "Les unions d'un seul argument disparaissent, par exemple ::" #: ../Doc/library/typing.rst:779 msgid "Redundant arguments are skipped, e.g.::" -msgstr "" +msgstr "Les arguments redondants sont ignorés, par exemple ::" #: ../Doc/library/typing.rst:783 msgid "When comparing unions, the argument order is ignored, e.g.::" msgstr "" +"Lors de la comparaison d'unions, l'ordre des arguments est ignoré, par " +"exemple ::" #: ../Doc/library/typing.rst:787 msgid "" @@ -725,23 +872,24 @@ msgstr "" #: ../Doc/library/typing.rst:791 msgid "You cannot subclass or instantiate a union." -msgstr "" +msgstr "Vous ne pouvez pas sous-classer ou instancier une union." #: ../Doc/library/typing.rst:793 msgid "You cannot write ``Union[X][Y]``." -msgstr "" +msgstr "Vous ne pouvez pas écrire ``Union[X][Y]``." #: ../Doc/library/typing.rst:795 msgid "You can use ``Optional[X]`` as a shorthand for ``Union[X, None]``." msgstr "" +"Vous pouvez utiliser l'abréviation ``Optional[X]`` pour ``Union[X, None]``." #: ../Doc/library/typing.rst:799 msgid "Optional type." -msgstr "" +msgstr "Type « optionnel »." #: ../Doc/library/typing.rst:801 msgid "``Optional[X]`` is equivalent to ``Union[X, None]``." -msgstr "" +msgstr "``Optional[X]`` équivaut à ``Union[X, None]``." #: ../Doc/library/typing.rst:803 msgid "" @@ -764,6 +912,9 @@ msgid "" "variables T1 and T2. ``Tuple[int, float, str]`` is a tuple of an int, a " "float and a string." msgstr "" +"Exemple : ``Tuple[T1, T2]`` est une paire correspondant aux variables de " +"type ``T1`` et ``T2``. ``Tuple[int, float, str]`` est un triplet composé " +"d'un entier, d'un flottant et d'une chaîne de caractères." #: ../Doc/library/typing.rst:819 msgid "" @@ -775,6 +926,8 @@ msgstr "" #: ../Doc/library/typing.rst:825 msgid "Callable type; ``Callable[[int], str]`` is a function of (int) -> str." msgstr "" +"Type Appelable. ``Callable[[int], str]`` est une fonction de type ``(int) -> " +"str``." #: ../Doc/library/typing.rst:827 msgid "" @@ -792,10 +945,18 @@ msgid "" "equivalent to ``Callable[..., Any]``, and in turn to :class:`collections.abc." "Callable`." msgstr "" +"Il n'y a pas de syntaxe pour indiquer les arguments optionnels ou les " +"arguments par mots-clés ; de tels types de fonctions sont rarement utilisés " +"comme types de rappel. ``Callable[..., ReturnType]`` (ellipse) peut être " +"utilisé pour annoter le type d'un appelable, prenant un nombre quelconque " +"d'arguments et renvoyant ``ReturnType``. Un simple :data:`Callable` est " +"équivalent à ``Callable[..., Any]`` et, à son tour, à :class:`collections." +"abc.Callable`." #: ../Doc/library/typing.rst:841 msgid "Special type construct to mark class variables." msgstr "" +"Construction de type particulière pour indiquer les variables de classe." #: ../Doc/library/typing.rst:843 msgid "" @@ -803,10 +964,14 @@ msgid "" "indicates that a given attribute is intended to be used as a class variable " "and should not be set on instances of that class. Usage::" msgstr "" +"Telle qu'introduite dans la :pep:`526`, une annotation de variable " +"enveloppée dans ClassVar indique qu'un attribut donné est destiné à être " +"utilisé comme une variable de classe et ne doit pas être défini sur des " +"instances de cette classe. Utilisation ::" #: ../Doc/library/typing.rst:851 msgid ":data:`ClassVar` accepts only types and cannot be further subscribed." -msgstr "" +msgstr ":data:`ClassVar` n'accepte que les types et ne peut plus être dérivé." #: ../Doc/library/typing.rst:853 msgid "" @@ -821,15 +986,22 @@ msgid "" "``AnyStr`` is a type variable defined as ``AnyStr = TypeVar('AnyStr', str, " "bytes)``." msgstr "" +"``AnyStr`` est une variable de type définie comme ``AnyStr = " +"TypeVar('AnyStr', str, bytes)``." #: ../Doc/library/typing.rst:870 msgid "" "It is meant to be used for functions that may accept any kind of string " "without allowing different kinds of strings to mix. For example::" msgstr "" +"Cela est destiné à être utilisé pour des fonctions qui peuvent accepter " +"n'importe quel type de chaîne de caractères sans permettre à différents " +"types de chaînes de caractères de se mélanger. Par exemple ::" #: ../Doc/library/typing.rst:882 msgid "" "A special constant that is assumed to be ``True`` by 3rd party static type " "checkers. It is ``False`` at runtime. Usage::" msgstr "" +"Constante spéciale qui vaut ``True`` pour les vérificateurs de type " +"statiques tiers et ``False`` à l'exécution. Utilisation ::" diff --git a/library/uuid.po b/library/uuid.po index df18a7c7..2fc06b9c 100644 --- a/library/uuid.po +++ b/library/uuid.po @@ -22,7 +22,7 @@ msgstr "" #: ../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 "" @@ -31,6 +31,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 "" @@ -39,6 +43,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 "" @@ -63,28 +71,36 @@ msgstr "" #: ../Doc/library/uuid.rst:49 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:53 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:59 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:65 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:69 msgid "Field" -msgstr "" +msgstr "Champ" #: ../Doc/library/uuid.rst:69 msgid "Meaning" @@ -96,7 +112,7 @@ msgstr ":attr:`time_low`" #: ../Doc/library/uuid.rst:71 msgid "the first 32 bits of the UUID" -msgstr "" +msgstr "les 32 premiers bits de l'UUID" #: ../Doc/library/uuid.rst:73 msgid ":attr:`time_mid`" @@ -104,7 +120,7 @@ msgstr ":attr:`time_mid`" #: ../Doc/library/uuid.rst:73 ../Doc/library/uuid.rst:75 msgid "the next 16 bits of the UUID" -msgstr "" +msgstr "les 16 bits suivants de l'UUID" #: ../Doc/library/uuid.rst:75 msgid ":attr:`time_hi_version`" @@ -116,7 +132,7 @@ msgstr ":attr:`clock_seq_hi_variant`" #: ../Doc/library/uuid.rst:77 ../Doc/library/uuid.rst:79 msgid "the next 8 bits of the UUID" -msgstr "" +msgstr "les 8 bits suivants de l'UUID" #: ../Doc/library/uuid.rst:79 msgid ":attr:`clock_seq_low`" @@ -128,7 +144,7 @@ msgstr ":attr:`node`" #: ../Doc/library/uuid.rst:81 msgid "the last 48 bits of the UUID" -msgstr "" +msgstr "les derniers 48 bits de l'UUID" #: ../Doc/library/uuid.rst:83 msgid ":attr:`time`" @@ -136,7 +152,7 @@ msgstr ":attr:`time`" #: ../Doc/library/uuid.rst:83 msgid "the 60-bit timestamp" -msgstr "" +msgstr "l'horodatage sur 60 bits" #: ../Doc/library/uuid.rst:85 msgid ":attr:`clock_seq`" @@ -144,15 +160,16 @@ msgstr ":attr:`clock_seq`" #: ../Doc/library/uuid.rst:85 msgid "the 14-bit sequence number" -msgstr "" +msgstr "le numéro de séquence sur 14 bits" #: ../Doc/library/uuid.rst:91 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:96 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:101 msgid "The UUID as a URN as specified in RFC 4122." @@ -170,10 +187,12 @@ 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:116 msgid "The :mod:`uuid` module defines the following functions:" -msgstr "" +msgstr "Le module :mod:`uu` définit les fonctions suivantes :" #: ../Doc/library/uuid.rst:121 msgid "" @@ -193,80 +212,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:143 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:151 msgid "Generate a random UUID." -msgstr "" +msgstr "Génère un UUID aléatoire." #: ../Doc/library/uuid.rst:158 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:163 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:169 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:175 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:180 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:185 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:188 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:194 msgid "Reserved for NCS compatibility." -msgstr "" +msgstr "Réservé pour la compatibilité NCS." #: ../Doc/library/uuid.rst:199 msgid "Specifies the UUID layout given in :rfc:`4122`." -msgstr "" +msgstr "Utilise l'agencement des UUID de la :rfc:`4122`." #: ../Doc/library/uuid.rst:204 msgid "Reserved for Microsoft compatibility." -msgstr "" +msgstr "Réservé pour la compatibilité Microsoft." #: ../Doc/library/uuid.rst:209 msgid "Reserved for future definition." -msgstr "" +msgstr "Réservé pour un usage futur." #: ../Doc/library/uuid.rst:215 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:215 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:222 msgid "Example" @@ -275,3 +317,4 @@ msgstr "Exemple" #: ../Doc/library/uuid.rst:224 msgid "Here are some examples of typical usage of the :mod:`uuid` module::" msgstr "" +"Voici quelques exemples classiques d'utilisation du module :mod:`uuid` ::" diff --git a/library/wsgiref.po b/library/wsgiref.po index a70b8642..a8b8f8a0 100644 --- a/library/wsgiref.po +++ b/library/wsgiref.po @@ -18,7 +18,7 @@ msgstr "" #: ../Doc/library/wsgiref.rst:2 msgid ":mod:`wsgiref` --- WSGI Utilities and Reference Implementation" -msgstr "" +msgstr ":mod:`wsgiref` — Outils et implémentation de référence de WSGI" #: ../Doc/library/wsgiref.rst:12 msgid "" @@ -27,6 +27,10 @@ msgid "" "interface makes it easy to use an application that supports WSGI with a " "number of different web servers." msgstr "" +"WSGI (*Web Server Gateway Interface*) est une interface standard entre le " +"serveur web et une application web écrite en Python. Avoir une interface " +"standardisée permet de faciliter l'usage de ces applications avec un certain " +"nombre de serveurs web différents." #: ../Doc/library/wsgiref.rst:17 msgid "" @@ -35,6 +39,10 @@ msgid "" "every detail of WSGI just to install a WSGI application or to write a web " "application using an existing framework." msgstr "" +"Seules les personnes programmant des serveurs web et des cadriciels ont " +"besoin de connaître les détails d'implémentation et les cas particuliers de " +"l'architecture de WSGI. En tant qu'utilisateur WSGI vous avez uniquement " +"besoin d'installer WSGI ou d'utiliser un cadriciel existant." #: ../Doc/library/wsgiref.rst:22 msgid "" @@ -45,6 +53,13 @@ msgid "" "WSGI applications, and a validation tool that checks WSGI servers and " "applications for conformance to the WSGI specification (:pep:`3333`)." msgstr "" +":mod:`wsgiref` est une implémentation de référence de la spécification WSGI " +"qui peut être utilisée pour ajouter la prise en charge de WSGI par un " +"serveur web ou par un cadriciel. Elle fournit des outils pour manipuler les " +"variables d'environnement WSGI, les en-têtes de réponse, les classes de base " +"pour implémenter des serveurs WSGI, un serveur de démonstration " +"d'application WSGI et un outil de validation qui vérifie que les serveurs et " +"les applications WSGI sont conformes à la spécification WSGI (:pep:`3333`)." #: ../Doc/library/wsgiref.rst:29 msgid "" @@ -54,7 +69,7 @@ msgstr "" #: ../Doc/library/wsgiref.rst:36 msgid ":mod:`wsgiref.util` -- WSGI environment utilities" -msgstr "" +msgstr ":mod:`wsgiref.util` — outils pour les environnements WSGI" #: ../Doc/library/wsgiref.rst:42 msgid "" @@ -64,6 +79,12 @@ msgid "" "*environ* parameter expect a WSGI-compliant dictionary to be supplied; " "please see :pep:`3333` for a detailed specification." msgstr "" +"Ce module fournit un certain nombre de fonctions pour manipuler des " +"environnements WSGI. Un environnement WSGI est un dictionnaire contenant les " +"variables de la requête HTTP comme décrit dans la :pep:`3333`. Toutes les " +"fonctions ayant comme argument *environ* s'attendent à ce qu'un dictionnaire " +"compatible WSGI soit fourni ; voir la :pep:`3333` pour la spécification " +"détaillée." #: ../Doc/library/wsgiref.rst:51 msgid "" @@ -71,6 +92,9 @@ msgid "" "\", by checking for a ``HTTPS`` environment variable in the *environ* " "dictionary. The return value is a string." msgstr "" +"Tente de déterminer s'il faut assigner \"http\" ou \"https\" à ``wsgi." +"url_sheme``, en vérifiant si une variable d'environnement ``HTTPS`` est dans " +"le dictionnaire *environ*. La valeur renvoyée est une chaîne de caractères." #: ../Doc/library/wsgiref.rst:55 msgid "" @@ -136,6 +160,7 @@ msgstr "" #: ../Doc/library/wsgiref.rst:105 msgid "Update *environ* with trivial defaults for testing purposes." msgstr "" +"Met à jour *environ* avec des valeurs par défaut pour des cas de tests." #: ../Doc/library/wsgiref.rst:107 msgid "" @@ -145,6 +170,11 @@ msgid "" "*`` variables. It only supplies default values, and does not replace any " "existing settings for these variables." msgstr "" +"Cette fonction ajoute des paramètres requis pour WSGI, en particulier " +"``HTTP_HOST``, ``SERVER_NAME``, ``SERVER_PORT``, ``REQUEST_METHOD``, " +"``SCRIPT_NAME``, ``PATH_INFO`` et toutes les autres variables WSGI définies " +"dans la :pep:`3333`. Elle ne fournit que des valeurs par défaut sans toucher " +"aux valeurs déjà définies de ces variables." #: ../Doc/library/wsgiref.rst:113 msgid "" @@ -152,11 +182,15 @@ msgid "" "and applications to set up dummy environments. It should NOT be used by " "actual WSGI servers or applications, since the data is fake!" msgstr "" +"Cette fonction a pour but de faciliter les tests unitaires des serveurs et " +"des applications WSGI dans des environnements factices. Elle ne devrait pas " +"être utilisée dans une application ou un serveur WSGI, étant donné que les " +"données sont factices !" #: ../Doc/library/wsgiref.rst:117 ../Doc/library/wsgiref.rst:164 #: ../Doc/library/wsgiref.rst:284 ../Doc/library/wsgiref.rst:416 msgid "Example usage::" -msgstr "" +msgstr "Exemple d'utilisation ::" #: ../Doc/library/wsgiref.rst:141 msgid "" @@ -254,7 +288,7 @@ msgstr "" #: ../Doc/library/wsgiref.rst:229 msgid "Return a list of all the values for the named header." -msgstr "" +msgstr "Renvoie une liste de toutes les valeurs pour l'en-tête *name*." #: ../Doc/library/wsgiref.rst:231 msgid "" @@ -284,11 +318,11 @@ msgstr "" #: ../Doc/library/wsgiref.rst:252 msgid "The above will add a header that looks like this::" -msgstr "" +msgstr "Le code ci-dessus ajoute un en-tête qui ressemble à ceci ::" #: ../Doc/library/wsgiref.rst:257 msgid "*headers* parameter is optional." -msgstr "" +msgstr "Le paramètre *headers* est optionnel." #: ../Doc/library/wsgiref.rst:262 msgid ":mod:`wsgiref.simple_server` -- a simple WSGI HTTP server" diff --git a/library/xmlrpc.client.po b/library/xmlrpc.client.po index 446cf381..d2f5e2c8 100644 --- a/library/xmlrpc.client.po +++ b/library/xmlrpc.client.po @@ -133,7 +133,7 @@ msgstr "" #: ../Doc/library/xmlrpc.client.rst:93 msgid "``double``" -msgstr "" +msgstr "``double``" #: ../Doc/library/xmlrpc.client.rst:93 msgid ":class:`float`" diff --git a/whatsnew/2.0.po b/whatsnew/2.0.po index 215632c7..4ceeb147 100644 --- a/whatsnew/2.0.po +++ b/whatsnew/2.0.po @@ -122,6 +122,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 "" @@ -142,6 +150,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 "" @@ -157,6 +184,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 "" @@ -172,6 +212,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 "" @@ -194,6 +247,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 "" @@ -202,6 +260,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 "" @@ -224,6 +287,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 "" @@ -243,6 +310,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 "" @@ -257,12 +331,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 "" @@ -298,6 +387,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 "" @@ -307,6 +404,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 "" @@ -316,6 +419,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 "" @@ -324,6 +433,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 "" @@ -333,6 +447,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 "" @@ -341,6 +460,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 "" @@ -349,6 +473,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 "" @@ -357,6 +486,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 "" @@ -388,6 +522,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" @@ -402,6 +542,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 "" @@ -414,6 +561,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 "" @@ -459,6 +615,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 "" @@ -468,10 +628,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 "" @@ -481,6 +647,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 "" @@ -491,6 +662,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 "" @@ -499,6 +677,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 "" diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po index 8c614425..8eab94b9 100644 --- a/whatsnew/2.6.po +++ b/whatsnew/2.6.po @@ -878,7 +878,7 @@ msgstr "" #: ../Doc/whatsnew/2.6.rst:817 msgid "``e``" -msgstr "" +msgstr "``e``" #: ../Doc/whatsnew/2.6.rst:817 msgid "" diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po index d47de501..3dbec54f 100644 --- a/whatsnew/2.7.po +++ b/whatsnew/2.7.po @@ -1953,7 +1953,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 "" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index e3f37c65..d0aa22aa 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -2725,7 +2725,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`)." diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po index 1c202df1..0a9aad81 100644 --- a/whatsnew/3.3.po +++ b/whatsnew/3.3.po @@ -33,7 +33,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:" @@ -217,7 +217,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 "" diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index ab251f23..c94b894a 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -37,7 +37,7 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:57 msgid "Summary -- Release highlights" -msgstr "" +msgstr "Résumé – Points forts de la publication" #: ../Doc/whatsnew/3.5.rst:59 msgid "New syntax features:"