Backporting from 3.9.

This commit is contained in:
Julien Palard 2020-10-06 22:19:50 +02:00
parent 37cc13ea35
commit b62a286c93
35 changed files with 1176 additions and 80 deletions

View File

@ -488,7 +488,7 @@ msgstr ""
#: ../Doc/c-api/memory.rst:368 ../Doc/c-api/memory.rst:513
msgid "Field"
msgstr ""
msgstr "Champ"
#: ../Doc/c-api/memory.rst:368 ../Doc/c-api/memory.rst:513
msgid "Meaning"

View File

@ -24,6 +24,9 @@ msgid ""
"<bufferobjects>` as a Python object which can then be passed around like any "
"other object."
msgstr ""
"Un objet Python :class:`memoryview` expose le :ref:`protocole tampon "
"<bufferobjects>` du C. Cet objet peut ensuite être passé comme n'importe "
"quel objet."
#: ../Doc/c-api/memoryview.rst:18
msgid ""
@ -32,12 +35,18 @@ msgid ""
"will be read/write, otherwise it may be either read-only or read/write at "
"the discretion of the exporter."
msgstr ""
"Crée un objet *memoryview* à partir d'un objet implémentant le protocole "
"tampon. Si *obj* permet d'exporter des tampons modifiables, l'objet "
"*memoryview* crée acceptera la lecture et écriture, sinon l'objet crée est "
"soit en lecture seule ou lecture/écriture, à la discrétion de l'*exporteur*."
#: ../Doc/c-api/memoryview.rst:25
msgid ""
"Create a memoryview object using *mem* as the underlying buffer. *flags* can "
"be one of :c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE`."
msgstr ""
"Crée un objet *memoryview* utilisant *mem* comme un tampon sous-jacent. "
"*flags* peut être :c:macro:`PyBUF_READ` ou :c:macro:`PyBUF_WRITE`."
#: ../Doc/c-api/memoryview.rst:32
msgid ""
@ -45,6 +54,8 @@ msgid ""
"simple byte buffers, :c:func:`PyMemoryView_FromMemory` is the preferred "
"function."
msgstr ""
"Crée un objet *memoryview* à partir de la structure tampon *view*. Pour de "
"simples tampons d'octets, :c:func:`PyMemoryView_FromMemory` est préférée."
#: ../Doc/c-api/memoryview.rst:38
msgid ""
@ -54,12 +65,19 @@ msgid ""
"original memory. Otherwise, a copy is made and the memoryview points to a "
"new bytes object."
msgstr ""
"Crée un objet *memoryview* vers un segment de mémoire :term:`contiguous` "
"(organisé comme en ``'C'`` ou comme en ``'F'`` pour Fortran) à partir d'un "
"objet qui expose le protocole tampon. Si la mémoire est contiguë, l'objet "
"*memoryview* pointe vers la mémoire d'origine. Sinon une copie est faite et "
"la *memoryview* pointe vers un nouvel objet *bytes*."
#: ../Doc/c-api/memoryview.rst:47
msgid ""
"Return true if the object *obj* is a memoryview object. It is not currently "
"allowed to create subclasses of :class:`memoryview`."
msgstr ""
"Renvoie vrai si l'objet *obj* est un objet *memoryview*. Il n'est pas permis "
"de créer une sous-classe de :class:`memoryview`."
#: ../Doc/c-api/memoryview.rst:53
msgid ""
@ -67,6 +85,10 @@ msgid ""
"*mview* **must** be a memoryview instance; this macro doesn't check its "
"type, you must do it yourself or you will risk crashes."
msgstr ""
"Retourne un pointeur vers la copie privée du tampon de l'*exporteur* de "
"*memoryview*. *mview* **doit** être une instance de *memoryview*; cette "
"macro ne vérifie pas le type, vous devez le faire vous-même sinon vous "
"pourriez subir un crash."
#: ../Doc/c-api/memoryview.rst:59
msgid ""
@ -75,3 +97,7 @@ msgid ""
"func:`PyMemoryView_FromMemory` or :c:func:`PyMemoryView_FromBuffer`. *mview* "
"**must** be a memoryview instance."
msgstr ""
"Renvoie soit un pointeur vers l'objet exporté sur lequel est basé la "
"*memoryview* ou ``NULL`` si la *memoryview* a été crée par :c:func:"
"`PyMemoryView_FromMemory` ou :c:func:`PyMemoryView_FromBuffer`. *mview* "
"**doit** être une instance de *memoryview*."

View File

@ -143,7 +143,7 @@ msgstr ""
#: ../Doc/c-api/structures.rst:139 ../Doc/c-api/structures.rst:279
#: ../Doc/c-api/structures.rst:345
msgid "Field"
msgstr ""
msgstr "Champ"
#: ../Doc/c-api/structures.rst:139 ../Doc/c-api/structures.rst:279
#: ../Doc/c-api/structures.rst:345

View File

@ -165,7 +165,7 @@ msgstr ""
#: ../Doc/c-api/tuple.rst:151 ../Doc/c-api/tuple.rst:174
msgid "Field"
msgstr ""
msgstr "Champ"
#: ../Doc/c-api/tuple.rst:151 ../Doc/c-api/tuple.rst:174
msgid "C Type"

View File

@ -16,7 +16,7 @@ msgstr ""
#: ../Doc/howto/curses.rst:5
msgid "Curses Programming with Python"
msgstr ""
msgstr "Programmation *Curses* avec Python"
#: ../Doc/howto/curses.rst:0
msgid "Author"
@ -24,7 +24,7 @@ msgstr "Auteur"
#: ../Doc/howto/curses.rst:7
msgid "A.M. Kuchling, Eric S. Raymond"
msgstr ""
msgstr "A.M. Kuchling, Eric S. Raymond"
#: ../Doc/howto/curses.rst:0
msgid "Release"
@ -32,7 +32,7 @@ msgstr "Version"
#: ../Doc/howto/curses.rst:8
msgid "2.04"
msgstr ""
msgstr "2.04"
#: ../Doc/howto/curses.rst:None
msgid "Abstract"
@ -43,10 +43,12 @@ msgid ""
"This document describes how to use the :mod:`curses` extension module to "
"control text-mode displays."
msgstr ""
"Ce document décrit comment utiliser le module d'extension :mod:`curses` pour "
"contrôler l'affichage en mode texte."
#: ../Doc/howto/curses.rst:18
msgid "What is curses?"
msgstr ""
msgstr "Qu'est-ce que *curses* ?"
#: ../Doc/howto/curses.rst:20
msgid ""
@ -58,6 +60,14 @@ msgid ""
"areas. Different terminals use widely differing codes, and often have their "
"own minor quirks."
msgstr ""
"La bibliothèque *curses* fournit une capacité de dessin à l'écran et de "
"gestion du clavier indépendante du terminal pour les terminaux textuels ; "
"ces terminaux comprennent les *VT100*, la console Linux et le terminal "
"simulé fourni par divers programmes. Les terminaux d'affichage prennent en "
"charge divers codes de commande pour effectuer des opérations courantes "
"telles que déplacer le curseur, faire défiler l'écran et effacer des zones. "
"Différents terminaux utilisent des codes très différents et ont souvent "
"leurs propres bizarreries mineures."
#: ../Doc/howto/curses.rst:28
msgid ""
@ -68,6 +78,15 @@ msgid ""
"an X server. Another is tools such as OS installers and kernel "
"configurators that may have to run before any graphical support is available."
msgstr ""
"Dans un monde d'affichages graphiques, on pourrait se demander « pourquoi "
"s'embêter ? ». Il est vrai que les terminaux d'affichage caractère par "
"caractère sont une technologie obsolète, mais il existe des niches pour "
"lesquelles la possibilité de faire des choses fantaisistes est encore "
"précieuse. En exemple de niche, on peut citer les systèmes de type Unix de "
"petite taille ou embarqués qui n'utilisent pas de serveur X. Il y a aussi "
"les outils tels que les installateurs d'OS et les outils de configuration du "
"noyau qui doivent être exécutés avant qu'un support graphique ne soit "
"disponible."
#: ../Doc/howto/curses.rst:36
msgid ""
@ -81,6 +100,16 @@ msgid ""
"features, consider a user interface library such as `Urwid <https://pypi.org/"
"project/urwid/>`_."
msgstr ""
"La bibliothèque *curses* propose des fonctionnalités assez basiques, "
"fournissant au programmeur une abstraction d'affichage contenant plusieurs "
"fenêtres de texte qui ne se chevauchent pas. Le contenu d'une fenêtre peut "
"être modifié de différentes manières — en ajoutant du texte, en l'effaçant "
"ou en changeant son apparence — et la bibliothèque *curses* trouve quels "
"codes de contrôle doivent être envoyés au terminal pour produire le bon "
"résultat. *curses* ne fournit pas beaucoup de concepts d'interface "
"utilisateur tels que boutons, cases à cocher ou dialogues ; si vous avez "
"besoin de telles fonctionnalités, pensez à une bibliothèque d'interface "
"utilisateur comme `Urwid <https://pypi.org/project/urwid/>`_."
#: ../Doc/howto/curses.rst:46
msgid ""
@ -94,6 +123,16 @@ msgid ""
"older versions of curses carried by some proprietary Unixes may not support "
"everything, though."
msgstr ""
"La bibliothèque *curses* a été écrite à l'origine pour BSD Unix ; les "
"dernières versions *System V* d'Unix d'AT&T ont ajouté de nombreuses "
"améliorations et de nouvelles fonctions. BSD *curses* n'est plus maintenu, "
"ayant été remplacé par *ncurses*, qui est une implémentation open-source de "
"l'interface AT&T. Si vous utilisez un Unix open-source comme Linux ou "
"FreeBSD, votre système utilise presque certainement *ncurses*. Comme la "
"plupart des versions commerciales actuelles d'Unix sont basées sur le code "
"*System V*, toutes les fonctions décrites ici seront probablement "
"disponibles. Les anciennes versions de *curses* portées par certains Unix "
"propriétaires pourraient ne pas gérer toutes les fonctions."
#: ../Doc/howto/curses.rst:56
msgid ""
@ -104,10 +143,16 @@ msgid ""
"API as curses but provides cursor-addressable text output and full support "
"for mouse and keyboard input."
msgstr ""
"La version Windows de Python n'inclut pas le module :mod:`curses`. Une "
"version portée appelée `UniCurses <https://pypi.org/project/UniCurses>`_ est "
"disponible. Vous pouvez également essayer le `Windows console driver <http://"
"effbot.org/zone/console-index.htm>`_ écrit par Fredrik Lundh, qui n'utilise "
"pas la même API que *curses*, mais fournit une sortie texte avec gestion du "
"curseur et une prise en charge complète de la souris et du clavier."
#: ../Doc/howto/curses.rst:66
msgid "The Python curses module"
msgstr ""
msgstr "Le module *curses* de Python"
#: ../Doc/howto/curses.rst:68
msgid ""
@ -119,6 +164,13 @@ msgid ""
"`mvwaddstr` into a single :meth:`~curses.window.addstr` method. You'll see "
"this covered in more detail later."
msgstr ""
"Le module Python est une surcouche assez simple enrobant les fonctions C "
"fournies par *curses* ; si vous êtes déjà familier avec la programmation "
"*curses* en C, il est très facile de transférer cette connaissance à Python. "
"La plus grande différence est que l'interface Python simplifie les choses en "
"fusionnant différentes fonctions C telles que :c:func:`addstr`, :c:func:"
"`mvaddstr` et :c:func:`mvwaddstr` en une seule méthode :meth:`~curses.window."
"addstr`. Nous voyons cela plus en détail ci-après."
#: ../Doc/howto/curses.rst:76
msgid ""
@ -127,10 +179,15 @@ msgid ""
"that, see the Python library guide's section on ncurses, and the C manual "
"pages for ncurses. It will, however, give you the basic ideas."
msgstr ""
"Ce guide pratique est une introduction à l'écriture de programmes en mode "
"texte avec *curses* et Python. Il n'essaie pas d'être un guide complet de "
"l'API *curses* ; pour cela, consultez la section du guide de la bibliothèque "
"Python sur *ncurses* et les pages du manuel C pour *ncurses*. Il vous donne "
"cependant les idées de base."
#: ../Doc/howto/curses.rst:83
msgid "Starting and ending a curses application"
msgstr ""
msgstr "Lancement et arrêt une application *curses*"
#: ../Doc/howto/curses.rst:85
msgid ""
@ -141,6 +198,12 @@ msgid ""
"object representing the entire screen; this is usually called ``stdscr`` "
"after the name of the corresponding C variable. ::"
msgstr ""
"Avant de faire quoi que ce soit, *curses* doit être initialisé. Appelez pour "
"cela la fonction :func:`~curses.initscr`, elle détermine le type de "
"terminal, envoie tous les codes de configuration requis au terminal et crée "
"diverses structures de données internes. En cas de succès, :func:`initscr` "
"renvoie un objet fenêtre représentant l'écran entier ; il est généralement "
"appelé ``stdscr`` d'après le nom de la variable C correspondante. ::"
#: ../Doc/howto/curses.rst:96
msgid ""
@ -148,6 +211,10 @@ msgid ""
"screen, in order to be able to read keys and only display them under certain "
"circumstances. This requires calling the :func:`~curses.noecho` function. ::"
msgstr ""
"Habituellement, les applications *curses* désactivent l'écho automatique des "
"touches à l'écran, afin de pouvoir lire les touches et ne les afficher que "
"dans certaines circonstances. Cela nécessite d'appeler la fonction :func:"
"`~curses.noecho`. ::"
#: ../Doc/howto/curses.rst:103
msgid ""
@ -155,6 +222,10 @@ msgid ""
"requiring the Enter key to be pressed; this is called cbreak mode, as "
"opposed to the usual buffered input mode. ::"
msgstr ""
"Également, les applications réagissent généralement instantanément aux "
"touches sans qu'il soit nécessaire d'appuyer sur la touche Entrée ; c'est ce "
"qu'on appelle le mode *cbreak*, par opposition au mode d'entrée habituel "
"avec un tampon. ::"
#: ../Doc/howto/curses.rst:109
msgid ""
@ -165,12 +236,21 @@ msgid ""
"const:`curses.KEY_LEFT`. To get curses to do the job, you'll have to enable "
"keypad mode. ::"
msgstr ""
"Les terminaux renvoient généralement les touches spéciales, telles que les "
"touches de curseur ou les touches de navigation (Page précédente et Accueil "
"par exemple), comme une séquence d'échappement sur plusieurs octets. Bien "
"que vous puissiez écrire votre application pour vous attendre à de telles "
"séquences et les traiter en conséquence, *curses* peut le faire pour vous, "
"renvoyant une valeur spéciale telle que :const:`curses.KEY_LEFT`. Pour que "
"*curses* fasse le travail, vous devez activer le mode *keypad*. ::"
#: ../Doc/howto/curses.rst:118
msgid ""
"Terminating a curses application is much easier than starting one. You'll "
"need to call::"
msgstr ""
"Arrêter une application *curses* est beaucoup plus facile que d'en démarrer "
"une. Appelez ::"
#: ../Doc/howto/curses.rst:125
msgid ""
@ -178,6 +258,9 @@ msgid ""
"`~curses.endwin` function to restore the terminal to its original operating "
"mode. ::"
msgstr ""
"pour inverser les réglages du terminal mis en place pour *curses*. Ensuite, "
"appelez la fonction :func:`~curses.enddwin` pour restaurer le terminal dans "
"son mode de fonctionnement original. ::"
#: ../Doc/howto/curses.rst:131
msgid ""
@ -187,12 +270,21 @@ msgid ""
"raises an uncaught exception. Keys are no longer echoed to the screen when "
"you type them, for example, which makes using the shell difficult."
msgstr ""
"Un problème courant lors du débogage d'une application *curses* est de se "
"retrouver avec un terminal sans queue ni tête lorsque l'application meurt "
"sans restaurer le terminal à son état précédent. Avec Python, cela arrive "
"souvent lorsque votre code est bogué et lève une exception non interceptée. "
"Les touches ne sont plus répétées à l'écran lorsque vous les tapez, par "
"exemple, ce qui rend l'utilisation de l'interface de commande du *shell* "
"difficile."
#: ../Doc/howto/curses.rst:137
msgid ""
"In Python you can avoid these complications and make debugging much easier "
"by importing the :func:`curses.wrapper` function and using it like this::"
msgstr ""
"En Python, vous pouvez éviter ces complications et faciliter le débogage en "
"important la fonction :func:`curses.wrapper` et en l'utilisant comme suit ::"
#: ../Doc/howto/curses.rst:156
msgid ""
@ -206,10 +298,19 @@ msgid ""
"funny state on exception and you'll be able to read the exception's message "
"and traceback."
msgstr ""
"La fonction :func:`~curses.wrapper` prend un objet appelable et fait les "
"initialisations décrites ci-dessus, initialisant également les couleurs si "
"la gestion des couleurs est possible. :func:`wrapper` lance l'appelable "
"fourni. Une fois que l'appelable termine, :func:`wrapper` restaure l'état "
"d'origine du terminal. L'appelable est appelé à l'intérieur d'un :keyword:"
"`try`...\\ :keyword:`except` qui capture les exceptions, restaure l'état du "
"terminal, puis relève l'exception. Par conséquent, votre terminal ne reste "
"pas dans un drôle d'état au moment de l'exception et vous pourrez lire le "
"message de l'exception et la trace de la pile d'appels."
#: ../Doc/howto/curses.rst:168
msgid "Windows and Pads"
msgstr ""
msgstr "Fenêtres et tampons (*pads* en anglais)"
#: ../Doc/howto/curses.rst:170
msgid ""
@ -217,6 +318,10 @@ msgid ""
"rectangular area of the screen, and supports methods to display text, erase "
"it, allow the user to input strings, and so forth."
msgstr ""
"Les fenêtres sont l'abstraction de base de *curses*. Un objet fenêtre "
"représente une zone rectangulaire de l'écran qui gère des méthodes pour "
"afficher du texte, l'effacer, permettre à l'utilisateur de saisir des "
"chaînes, etc."
#: ../Doc/howto/curses.rst:174
msgid ""
@ -227,6 +332,12 @@ msgid ""
"newwin` function creates a new window of a given size, returning the new "
"window object. ::"
msgstr ""
"L'objet ``stdscr`` renvoyé par la fonction :func:`~curses.initscr` est un "
"objet fenêtre qui couvre l'écran entier. De nombreux programmes peuvent "
"n'avoir besoin que de cette fenêtre unique, mais vous pouvez diviser l'écran "
"en fenêtres plus petites, afin de les redessiner ou de les effacer "
"séparément. La fonction :func:`~curses.newwin` crée une nouvelle fenêtre "
"d'une taille donnée, renvoyant le nouvel objet fenêtre. ::"
#: ../Doc/howto/curses.rst:185
msgid ""
@ -237,6 +348,13 @@ msgid ""
"difference from most other computer applications, but it's been part of "
"curses since it was first written, and it's too late to change things now."
msgstr ""
"Notez que le système de coordonnées utilisé dans *curses* est inhabituel. "
"Les coordonnées sont toujours passées dans l'ordre *y,x* et le coin "
"supérieur gauche d'une fenêtre a pour coordonnées (0,0). Ceci rompt la "
"convention normale des coordonnées où la coordonnée *x* vient en premier. "
"C'est une différence malheureuse par rapport à la plupart des autres "
"applications informatiques, mais elle fait partie de *curses* depuis qu'il a "
"été écrit et il est trop tard pour changer les choses maintenant."
#: ../Doc/howto/curses.rst:193
msgid ""
@ -245,6 +363,10 @@ msgid ""
"sizes. Legal coordinates will then extend from ``(0,0)`` to ``(curses.LINES "
"- 1, curses.COLS - 1)``."
msgstr ""
"Votre application peut déterminer la taille de l'écran en utilisant les "
"variables :data:`curses.LINES` et :data:`curses.COLS` pour obtenir les "
"tailles *y* et *x*. Les coordonnées licites s'étendent alors de ``(0,0)`` à "
"``(curses.LINES - 1, curses.COLS - 1)``."
#: ../Doc/howto/curses.rst:198
msgid ""
@ -252,6 +374,9 @@ msgid ""
"immediately show up on the display. Instead you must call the :meth:"
"`~curses.window.refresh` method of window objects to update the screen."
msgstr ""
"Quand vous appelez une méthode pour afficher ou effacer du texte, "
"l'affichage ne le reflète pas immédiatement. Vous devez appeler la méthode :"
"meth:`~curses.window.refresh` des objets fenêtre pour mettre à jour l'écran."
#: ../Doc/howto/curses.rst:203
msgid ""
@ -263,6 +388,14 @@ msgid ""
"and then clears the window, there's no need to send the original text "
"because they're never visible."
msgstr ""
"C'est parce que *curses* a été écrit du temps des terminaux avec une "
"connexion à 300 bauds seulement ; avec ces terminaux, il était important de "
"minimiser le temps passé à redessiner l'écran. *curses* calcule donc les "
"modifications à apporter à l'écran pour les afficher de la manière la plus "
"efficace au moment où la méthode :meth:`refresh` est appelée. Par exemple, "
"si votre programme affiche du texte dans une fenêtre puis efface cette "
"fenêtre, il n'est pas nécessaire de l'afficher puisqu'il ne sera jamais "
"visible."
#: ../Doc/howto/curses.rst:212
msgid ""
@ -273,6 +406,14 @@ msgid ""
"redrawn before pausing to wait for user input, by first calling ``stdscr."
"refresh()`` or the :meth:`refresh` method of some other relevant window."
msgstr ""
"Pratiquement, le fait de devoir indiquer explicitement à *curses* de "
"redessiner une fenêtre ne rend pas la programmation plus compliquée. La "
"plupart des programmes effectuent une rafale de traitements puis attendent "
"qu'une touche soit pressée ou toute autre action de la part de "
"l'utilisateur. Tout ce que vous avez à faire consiste à vous assurer que "
"l'écran a bien été redessiné avant d'attendre une entrée utilisateur, en "
"appelant d'abord ``stdscr.refresh()`` ou la méthode :meth:`refresh` de la "
"fenêtre adéquate."
#: ../Doc/howto/curses.rst:220
msgid ""
@ -282,6 +423,12 @@ msgid ""
"giving the coordinates of the on-screen area where a subsection of the pad "
"will be displayed. ::"
msgstr ""
"Un tampon (*pad* en anglais) est une forme spéciale de fenêtre ; il peut "
"être plus grand que l'écran effectif et il est possible de n'afficher qu'une "
"partie du tampon à la fois. La création d'un tampon nécessite de fournir sa "
"hauteur et sa largeur, tandis que pour le rafraîchissement du tampon, vous "
"devez fournir les coordonnées de la zone de l'écran où une partie du tampon "
"sera affichée."
#: ../Doc/howto/curses.rst:241
msgid ""
@ -291,6 +438,11 @@ msgid ""
"Beyond that difference, pads are exactly like ordinary windows and support "
"the same methods."
msgstr ""
"L'appel à :meth:`refresh` affiche une partie du tampon dans le rectangle "
"formé par les coins de coordonnées (5,5) et (20,75) de l'écran ; le coin "
"supérieur gauche de la partie affichée a pour coordonnées (0,0) dans le "
"tampon. À part cette différence, les tampons sont exactement comme les "
"fenêtres ordinaires et gèrent les mêmes méthodes."
#: ../Doc/howto/curses.rst:247
msgid ""
@ -298,28 +450,39 @@ msgid ""
"way to update the screen and prevent annoying screen flicker as each part of "
"the screen gets updated. :meth:`refresh` actually does two things:"
msgstr ""
"Si vous avez plusieurs fenêtres et tampons sur l'écran, il existe un moyen "
"plus efficace pour rafraîchir l'écran et éviter des scintillements agaçants "
"à chaque mise à jour. :meth:`refresh` effectue en fait deux choses :"
#: ../Doc/howto/curses.rst:252
msgid ""
"Calls the :meth:`~curses.window.noutrefresh` method of each window to update "
"an underlying data structure representing the desired state of the screen."
msgstr ""
"elle appelle la méthode :meth:`~curses.window.noutrefresh` de chaque fenêtre "
"pour mettre à jour les données sous-jacentes qui permettent d'obtenir "
"l'affichage voulu ;"
#: ../Doc/howto/curses.rst:255
msgid ""
"Calls the function :func:`~curses.doupdate` function to change the physical "
"screen to match the desired state recorded in the data structure."
msgstr ""
"elle appelle la fonction :func:`~curses.doupdate` pour modifier l'écran "
"physique afin de correspondre à l'état défini par les données sous-jacentes."
#: ../Doc/howto/curses.rst:258
msgid ""
"Instead you can call :meth:`noutrefresh` on a number of windows to update "
"the data structure, and then call :func:`doupdate` to update the screen."
msgstr ""
"Vous pouvez ainsi appeler :meth:`noutrefresh` sur les fenêtres dont vous "
"voulez mettre à jour des données, puis :func:`doupdate` pour mettre à jour "
"l'écran."
#: ../Doc/howto/curses.rst:264
msgid "Displaying Text"
msgstr ""
msgstr "Affichage de texte"
#: ../Doc/howto/curses.rst:266
msgid ""
@ -331,6 +494,14 @@ msgid ""
"allows specifying a window to use instead of using ``stdscr`` by default. :c:"
"func:`mvwaddstr` allows specifying both a window and a coordinate."
msgstr ""
"D'un point de vue de programmeur C, *curses* peut parfois ressembler à un "
"enchevêtrement de fonctions, chacune ayant sa subtilité. Par exemple, :c:"
"func:`addstr` affiche une chaîne à la position actuelle du curseur de la "
"fenêtre ``stdscr``, alors que :c:func:`mvaddstr` se déplace d'abord "
"jusqu'aux coordonnées (y,x) avant d'afficher la chaîne. :c:func:`waddstr` "
"est comme :c:func:`addstr`, mais permet de spécifier la fenêtre au lieu "
"d'utiliser ``stdscr`` par défaut. :c:func:`mvwaddstr` permet de spécifier à "
"la fois les coordonnées et la fenêtre."
#: ../Doc/howto/curses.rst:275
msgid ""
@ -339,10 +510,14 @@ msgid ""
"addstr` accept multiple argument forms. Usually there are four different "
"forms."
msgstr ""
"Heureusement, l'interface Python masque tous ces détails. ``stdscr`` est un "
"objet fenêtre comme les autres et les méthodes telles que :meth:`~curses."
"window.addstr` acceptent leurs arguments sous de multiples formes, "
"habituellement quatre."
#: ../Doc/howto/curses.rst:281
msgid "Form"
msgstr ""
msgstr "Forme"
#: ../Doc/howto/curses.rst:281 ../Doc/howto/curses.rst:350
msgid "Description"
@ -350,39 +525,45 @@ msgstr "Description"
#: ../Doc/howto/curses.rst:283
msgid "*str* or *ch*"
msgstr ""
msgstr "*str* ou *ch*"
#: ../Doc/howto/curses.rst:283
msgid "Display the string *str* or character *ch* at the current position"
msgstr ""
msgstr "Affiche la chaîne *str* ou le caractère *ch* à la position actuelle"
#: ../Doc/howto/curses.rst:286
msgid "*str* or *ch*, *attr*"
msgstr ""
msgstr "*str* ou *ch*, *attr*"
#: ../Doc/howto/curses.rst:286
msgid ""
"Display the string *str* or character *ch*, using attribute *attr* at the "
"current position"
msgstr ""
"Affiche la chaîne *str* ou le caractère *ch*, en utilisant l'attribut *attr* "
"à la position actuelle"
#: ../Doc/howto/curses.rst:290
msgid "*y*, *x*, *str* or *ch*"
msgstr ""
msgstr "*y*, *x*, *str* ou *ch*"
#: ../Doc/howto/curses.rst:290
msgid "Move to position *y,x* within the window, and display *str* or *ch*"
msgstr ""
"Se déplace à la position *y,x* dans la fenêtre et affiche la chaîne *str* ou "
"le caractère *ch*"
#: ../Doc/howto/curses.rst:293
msgid "*y*, *x*, *str* or *ch*, *attr*"
msgstr ""
msgstr "*y*, *x*, *str* ou *ch*, *attr*"
#: ../Doc/howto/curses.rst:293
msgid ""
"Move to position *y,x* within the window, and display *str* or *ch*, using "
"attribute *attr*"
msgstr ""
"Se déplace à la position *y,x* dans la fenêtre et affiche la chaîne *str* ou "
"le caractère *ch* en utilisant l'attribut *attr*"
#: ../Doc/howto/curses.rst:297
msgid ""
@ -390,6 +571,9 @@ msgid ""
"underline, reverse code, or in color. They'll be explained in more detail "
"in the next subsection."
msgstr ""
"Les attributs permettent de mettre en valeur du texte : gras, souligné, mode "
"vidéo inversé ou en couleur. Nous les voyons plus en détail dans la section "
"suivante."
#: ../Doc/howto/curses.rst:302
msgid ""
@ -399,12 +583,21 @@ msgid ""
"window's :attr:`encoding` attribute; this defaults to the default system "
"encoding as returned by :func:`locale.getpreferredencoding`."
msgstr ""
"La méthode :meth:`~curses.window.addstr` prend en argument une chaîne ou une "
"suite d'octets Python. Le contenu des chaînes d'octets est envoyé vers le "
"terminal tel quel. Les chaînes sont encodées en octets en utilisant la "
"valeur de l'attribut :attr:`encoding` de la fenêtre ; c'est par défaut "
"l'encodage du système tel que renvoyé par :func:`locale."
"getpreferredencoding`."
#: ../Doc/howto/curses.rst:309
msgid ""
"The :meth:`~curses.window.addch` methods take a character, which can be "
"either a string of length 1, a bytestring of length 1, or an integer."
msgstr ""
"Les méthodes :meth:`~curses.window.addch` prennent un caractère, soit sous "
"la forme d'une chaîne de longueur 1, d'une chaîne d'octets de longueur 1 ou "
"d'un entier."
#: ../Doc/howto/curses.rst:312
msgid ""
@ -413,6 +606,11 @@ msgid ""
"symbol, and :const:`ACS_ULCORNER` is the upper left corner of a box (handy "
"for drawing borders). You can also use the appropriate Unicode character."
msgstr ""
"Des constantes sont disponibles pour étendre les caractères ; ces constantes "
"sont des entiers supérieurs à 255. Par exemple, :const:`ACS_PLMINUS` "
"correspond au symbole +/- et :const:`ACS_ULCORNER` correspond au coin en "
"haut et à gauche d'une boîte (utile pour dessiner des encadrements). Vous "
"pouvez aussi utiliser les caractères Unicode adéquats."
#: ../Doc/howto/curses.rst:318
msgid ""
@ -424,6 +622,14 @@ msgid ""
"some location where it won't be distracting; it can be confusing to have the "
"cursor blinking at some apparently random location."
msgstr ""
"Windows se souvient de l'endroit où le curseur était positionné lors de la "
"dernière opération, de manière à ce que si vous n'utilisez pas les "
"coordonnées *y,x*, l'affichage se produit au dernier endroit utilisé. Vous "
"pouvez aussi déplacer le curseur avec la méthode ``move(y,x)``. Comme "
"certains terminaux affichent un curseur clignotant, vous pouvez ainsi vous "
"assurer que celui-ci est positionné à un endroit où il ne distrait pas "
"l'utilisateur (il peut être déroutant d'avoir un curseur qui clignote à des "
"endroits apparemment aléatoires)."
#: ../Doc/howto/curses.rst:326
msgid ""
@ -434,10 +640,17 @@ msgid ""
"attempt to suppress the flashing cursor, and you won't need to worry about "
"leaving it in odd locations."
msgstr ""
"Si votre application n'a pas besoin d'un curseur clignotant, vous pouvez "
"appeler ``curs_set(False)`` pour le rendre invisible. Par souci de "
"compatibilité avec les anciennes versions de *curses*, il existe la fonction "
"``leaveok(bool)`` qui est un synonyme de :func:`~curses.curs_set`. Quand "
"*bool* vaut ``True``, la bibliothèque *curses* essaie de supprimer le "
"curseur clignotant et vous n'avez plus besoin de vous soucier de le laisser "
"trainer à des endroits bizarres."
#: ../Doc/howto/curses.rst:335
msgid "Attributes and Color"
msgstr ""
msgstr "Attributs et couleurs"
#: ../Doc/howto/curses.rst:337
msgid ""
@ -446,6 +659,11 @@ msgid ""
"to highlight certain words. curses supports this by allowing you to specify "
"an attribute for each cell on the screen."
msgstr ""
"Les caractères peuvent être affichés de différentes façons. Les lignes de "
"statut des applications en mode texte sont généralement affichées en mode "
"vidéo inversé ; vous pouvez avoir besoin de mettre en valeur certains mots. "
"À ces fins, *curses* vous permet de spécifier un attribut pour chaque "
"caractère à l'écran."
#: ../Doc/howto/curses.rst:342
msgid ""
@ -456,6 +674,13 @@ msgid ""
"being used, so it's safest to stick to the most commonly available "
"attributes, listed here."
msgstr ""
"Un attribut est un entier dont chaque bit représente un attribut différent. "
"Vous pouvez essayer d'afficher du texte avec plusieurs attributs définis "
"simultanément mais *curses* ne garantit pas que toutes les combinaisons "
"soient prises en compte ou que le résultat soit visuellement différent. Cela "
"dépend de la capacité de chaque terminal utilisé, il est donc plus sage de "
"se cantonner aux attributs les plus communément utilisés, dont la liste est "
"fournie ci-dessous."
#: ../Doc/howto/curses.rst:350
msgid "Attribute"
@ -463,57 +688,59 @@ msgstr "Attribut"
#: ../Doc/howto/curses.rst:352
msgid ":const:`A_BLINK`"
msgstr ""
msgstr ":const:`A_BLINK`"
#: ../Doc/howto/curses.rst:352
msgid "Blinking text"
msgstr ""
msgstr "Texte clignotant"
#: ../Doc/howto/curses.rst:354
msgid ":const:`A_BOLD`"
msgstr ""
msgstr ":const:`A_BOLD`"
#: ../Doc/howto/curses.rst:354
msgid "Extra bright or bold text"
msgstr ""
msgstr "Texte en surbrillance ou en gras"
#: ../Doc/howto/curses.rst:356
msgid ":const:`A_DIM`"
msgstr ""
msgstr ":const:`A_DIM`"
#: ../Doc/howto/curses.rst:356
msgid "Half bright text"
msgstr ""
msgstr "Texte en demi-ton"
#: ../Doc/howto/curses.rst:358
msgid ":const:`A_REVERSE`"
msgstr ""
msgstr ":const:`A_REVERSE`"
#: ../Doc/howto/curses.rst:358
msgid "Reverse-video text"
msgstr ""
msgstr "Texte en mode vidéo inversé"
#: ../Doc/howto/curses.rst:360
msgid ":const:`A_STANDOUT`"
msgstr ""
msgstr ":const:`A_STANDOUT`"
#: ../Doc/howto/curses.rst:360
msgid "The best highlighting mode available"
msgstr ""
msgstr "Le meilleur mode de mis en valeur pour le texte"
#: ../Doc/howto/curses.rst:362
msgid ":const:`A_UNDERLINE`"
msgstr ""
msgstr ":const:`A_UNDERLINE`"
#: ../Doc/howto/curses.rst:362
msgid "Underlined text"
msgstr ""
msgstr "Texte souligné"
#: ../Doc/howto/curses.rst:365
msgid ""
"So, to display a reverse-video status line on the top line of the screen, "
"you could code::"
msgstr ""
"Ainsi, pour mettre la ligne de statut située en haut de l'écran en mode "
"vidéo inversé, vous pouvez coder ::"
#: ../Doc/howto/curses.rst:372
msgid ""
@ -521,6 +748,9 @@ msgid ""
"The most common such terminal is probably the Linux console, followed by "
"color xterms."
msgstr ""
"La bibliothèque *curses* gère également les couleurs pour les terminaux "
"compatibles. Le plus répandu de ces terminaux est sûrement la console Linux, "
"suivie par *xterm* en couleurs."
#: ../Doc/howto/curses.rst:376
msgid ""
@ -533,6 +763,14 @@ msgid ""
"to the British spelling, you'll have to resign yourself to misspelling it "
"for the sake of these functions.)"
msgstr ""
"Pour utiliser les couleurs, vous devez d'abord appeler la fonction :func:"
"`~curses.start_color` juste après avoir appelé :func:`~curses.initscr` afin "
"d'initialiser (la fonction :func:`curses.wrapper` le fait automatiquement). "
"Ensuite, la fonction :func:`~curses.has_colors` renvoie ``True`` si le "
"terminal utilisé gère les couleurs (note : *curses* utilise l'orthographe "
"américaine *color* et non pas l'orthographe britannique ou canadienne "
"*colour* ; si vous êtes habitué à l'orthographe britannique, vous devrez "
"vous résigner à mal l'orthographier tant que vous utilisez *curses*)."
#: ../Doc/howto/curses.rst:386
msgid ""
@ -543,10 +781,19 @@ msgid ""
"as :const:`A_REVERSE`, but again, such combinations are not guaranteed to "
"work on all terminals."
msgstr ""
"La bibliothèque *curses* maintient un nombre restreint de paires de "
"couleurs, constituées d'une couleur de texte (*foreground*) et de fond "
"(*background*). Vous pouvez obtenir la valeur des attributs correspondant à "
"une paire de couleur avec la fonction :func:`~curses.color_pair` ; cette "
"valeur peut être combinée bit par bit (avec la fonction *OR*) avec les "
"autres attributs tels que :const:`A_REVERSE`,mais là encore, de telles "
"combinaisons risquent de ne pas fonctionner sur tous les terminaux."
#: ../Doc/howto/curses.rst:393
msgid "An example, which displays a line of text using color pair 1::"
msgstr ""
"Un exemple d'affichage d'une ligne de texte en utilisant la paire de couleur "
"1 ::"
#: ../Doc/howto/curses.rst:398
msgid ""
@ -555,6 +802,11 @@ msgid ""
"pair *n*, to foreground color f and background color b. Color pair 0 is "
"hard-wired to white on black, and cannot be changed."
msgstr ""
"Comme indiqué auparavant, une paire de couleurs est constituée d'une couleur "
"de texte et d'une couleur de fond. La fonction ``init_pair(n, f, b)`` change "
"la définition de la paire de couleurs *n*, en définissant la couleur de "
"texte à *f* et la couleur de fond à *b*. La paire de couleurs 0 est codée en "
"dur à blanc sur noir et ne peut être modifiée."
#: ../Doc/howto/curses.rst:403
msgid ""
@ -564,12 +816,20 @@ msgid ""
"named constants for each of these colors: :const:`curses.COLOR_BLACK`, :"
"const:`curses.COLOR_RED`, and so forth."
msgstr ""
"Les couleurs sont numérotées et :func:`start_color` initialise 8 couleurs "
"basiques lors de l'activation du mode en couleurs. Ce sont : 0 pour noir "
"(*black*), 1 pour rouge (*red*), 2 pour vert (*green*), 3 pour jaune "
"(*yellow*), 4 pour bleu *(blue*), 5 pour magenta, 6 pour cyan et 7 pour "
"blanc (*white*). Le module :mod:`curses` définit des constantes nommées pour "
"chacune de ces couleurs : :const:`curses.COLOR_BLACK`, :const:`curses."
"COLOR_RED` et ainsi de suite."
#: ../Doc/howto/curses.rst:409
msgid ""
"Let's put all this together. To change color 1 to red text on a white "
"background, you would call::"
msgstr ""
"Testons tout ça. Pour changer la couleur 1 à rouge sur fond blanc, appelez ::"
#: ../Doc/howto/curses.rst:414
msgid ""
@ -577,6 +837,9 @@ msgid ""
"pair will change to the new colors. You can also display new text in this "
"color with::"
msgstr ""
"Quand vous modifiez une paire de couleurs, tout le texte déjà affiché qui "
"utilise cette paire de couleur voit les nouvelles couleurs s'appliquer à "
"lui. Vous pouvez aussi afficher du nouveau texte dans cette couleur avec ::"
#: ../Doc/howto/curses.rst:420
msgid ""
@ -589,10 +852,19 @@ msgid ""
"there. If you're lucky enough to have such a talented terminal, consult "
"your system's man pages for more information."
msgstr ""
"Les terminaux « de luxe » peuvent définir les couleurs avec des valeurs "
"*RGB*. Cela vous permet de modifier la couleur 1, habituellement rouge, en "
"violet ou bleu voire toute autre couleur selon votre goût. Malheureusement, "
"la console Linux ne gère pas cette fonctionnalité, je suis donc bien "
"incapable de la tester et de vous en fournir un exemple. Vous pouvez "
"vérifier si votre terminal la prend en charge en appelant :func:`~curses."
"can_change_color`, qui renvoie ``True`` en cas de succès. Si vous avez la "
"chance d'avoir un terminal aussi perfectionné, consultez les pages du manuel "
"de votre système pour obtenir plus d'informations."
#: ../Doc/howto/curses.rst:431
msgid "User Input"
msgstr ""
msgstr "Entrées de l'utilisateur"
#: ../Doc/howto/curses.rst:433
msgid ""
@ -601,10 +873,14 @@ msgid ""
"`Urwid <https://pypi.org/project/urwid/>`_ have more extensive collections "
"of widgets.)"
msgstr ""
"La bibliothèque C *curses* ne propose que quelques mécanismes très simples "
"pour les entrées. Le module :mod:`curses` y ajoute un *widget* basique "
"d'entrée de texte (d'autres bibliothèques telles que `Urwid <https://pypi."
"org/project/urwid/>`_ ont un ensemble de *widgets* plus conséquent)."
#: ../Doc/howto/curses.rst:438
msgid "There are two methods for getting input from a window:"
msgstr ""
msgstr "Il y a deux méthodes pour obtenir des entrées dans une fenêtre :"
#: ../Doc/howto/curses.rst:440
msgid ""
@ -613,6 +889,10 @@ msgid ""
"called earlier. You can optionally specify a coordinate to which the cursor "
"should be moved before pausing."
msgstr ""
":meth:`~curses.window.getch` rafraîchit l'écran et attend que l'utilisateur "
"appuie sur une touche, affichant cette touche si :func:`~curses.echo` a été "
"appelé auparavant. Vous pouvez en option spécifier des coordonnées où "
"positionner le curseur avant la mise en pause ;"
#: ../Doc/howto/curses.rst:445
msgid ""
@ -621,6 +901,11 @@ msgid ""
"special keys such as function keys return longer strings containing a key "
"name such as ``KEY_UP`` or ``^G``."
msgstr ""
":meth:`~curses.window.getkey` effectue la même chose mais convertit l'entier "
"en chaîne. Les caractères individuels sont renvoyés en chaînes de longueur 1 "
"alors que les touches spéciales (telles que les touches de fonction) "
"renvoient des chaînes plus longues contenant le nom de la touche (tel que "
"``KEY_UP`` ou ``^G``)."
#: ../Doc/howto/curses.rst:450
msgid ""
@ -633,6 +918,15 @@ msgid ""
"`getch`; if no input becomes available within a specified delay (measured in "
"tenths of a second), curses raises an exception."
msgstr ""
"Il est possible de ne pas attendre l'utilisateur en utilisant la méthode de "
"fenêtre :meth:`~curses.window.nodelay`. Après ``nodelay(True)``, les "
"méthodes de fenêtre :meth:`getch` et :meth:`getkey` deviennent non "
"bloquantes. Pour indiquer qu'aucune entrée n'a eu lieu, :meth:`getch` "
"renvoie ``curses.ERR`` (ayant pour valeur 1) et :meth:`getkey` lève une "
"exception. Il existe aussi la fonction :func:`~curses.halfdelay`, qui peut "
"être utilisée pour définir un délai maximal pour chaque :meth:`getch` ; si "
"aucune entrée n'est disponible dans le délai spécifié (mesuré en dixièmes de "
"seconde), *curses* lève une exception."
#: ../Doc/howto/curses.rst:460
msgid ""
@ -643,6 +937,13 @@ msgid ""
"`curses.KEY_HOME`, or :const:`curses.KEY_LEFT`. The main loop of your "
"program may look something like this::"
msgstr ""
"La méthode :meth:`getch` renvoie un entier ; s'il est entre 0 et 255, c'est "
"le code ASCII de la touche pressée. Les valeurs supérieures à 255 sont des "
"touches spéciales telles que Page Précédente, Accueil ou les touches du "
"curseur. Vous pouvez comparer la valeur renvoyée aux constantes :const:"
"`curses.KEY_PPAGE`, :const:`curses.KEY_HOME`, :const:`curses.KEY_LEFT`, etc. "
"La boucle principale de votre programme pourrait ressembler à quelque chose "
"comme ::"
#: ../Doc/howto/curses.rst:476
msgid ""
@ -653,6 +954,13 @@ msgid ""
"arguments and return the same type. For example, :func:`curses.ascii.ctrl` "
"returns the control character corresponding to its argument."
msgstr ""
"Le module :mod:`curses.ascii` fournit des fonctions pour déterminer si "
"l'entier ou la chaîne de longueur 1 passés en arguments font partie de la "
"classe ASCII ; elles peuvent s'avérer utile pour écrire du code plus lisible "
"dans ce genre de boucles. Il fournit également des fonctions de conversion "
"qui prennent un entier ou une chaîne de longueur 1 en entrée et renvoient le "
"type correspondant au nom de la fonction. Par exemple, :func:`curses.ascii."
"ctrl` renvoie le caractère de contrôle correspondant à son paramètre."
#: ../Doc/howto/curses.rst:483
msgid ""
@ -662,6 +970,11 @@ msgid ""
"key, which terminates the string. It can optionally be limited to a fixed "
"number of characters. ::"
msgstr ""
"Il existe aussi une méthode pour récupérer une chaîne entière, :meth:"
"`~curses.window.getstr`. Elle n'est pas beaucoup utilisée car son utilité "
"est limitée : les seules touches d'édition disponibles sont le retour "
"arrière et la touche Entrée, qui termine la chaîne. Elle peut, en option, "
"être limitée à un nombre fixé de caractères. ::"
#: ../Doc/howto/curses.rst:494
msgid ""
@ -670,15 +983,22 @@ msgid ""
"Textbox` class support editing with input validation and gathering the edit "
"results either with or without trailing spaces. Here's an example::"
msgstr ""
"Le module :mod:`curses.textpad` fournit un type de boîte texte qui gère des "
"touches de fonctions à la façon d'\\ *Emacs*. Plusieurs méthodes de la "
"classe :class:`~curses.textpad.Textbox` gèrent l'édition avec la validation "
"des entrées et le regroupement de l'entrée avec ou sans les espaces de début "
"et de fin. Par exemple ::"
#: ../Doc/howto/curses.rst:518
msgid ""
"See the library documentation on :mod:`curses.textpad` for more details."
msgstr ""
"Consultez la documentation de la bibliothèque pour plus de détails sur :mod:"
"`curses.textpad`."
#: ../Doc/howto/curses.rst:522
msgid "For More Information"
msgstr ""
msgstr "Pour aller plus loin"
#: ../Doc/howto/curses.rst:524
msgid ""
@ -687,6 +1007,11 @@ msgid ""
"Python library page for the :mod:`curses` module is now reasonably "
"complete. You should browse it next."
msgstr ""
"Ce guide pratique ne couvre pas certains sujets avancés, tels que la lecture "
"du contenu de l'écran ou la capture des événements relatifs à la souris dans "
"une instance *xterm*, mais la page de la bibliothèque Python du module :mod:"
"`curses` est maintenant suffisamment complète. Nous vous encourageons à la "
"parcourir."
#: ../Doc/howto/curses.rst:529
msgid ""
@ -696,6 +1021,12 @@ msgid ""
"quirks, and provide complete lists of all the functions, attributes, and :"
"const:`ACS_\\*` characters available to you."
msgstr ""
"Si vous vous posez des questions sur le fonctionnement précis de fonctions "
"*curses*, consultez les pages de manuel de l'implémentation *curses* de "
"votre système, que ce soit *ncurses* ou une version propriétaire Unix. Les "
"pages de manuel documentent toutes les bizarreries et vous donneront les "
"listes complètes des fonctions, attributs et codes :const:`ACS_\\*` des "
"caractères disponibles."
#: ../Doc/howto/curses.rst:536
msgid ""
@ -706,21 +1037,34 @@ msgid ""
"would be welcome; see `the Python Developer's Guide <https://devguide.python."
"org/>`_ to learn more about submitting patches to Python."
msgstr ""
"Étant donné que l'API *curses* est si volumineuse, certaines fonctions ne "
"sont pas prises en charge dans l'interface Python. Souvent, ce n'est pas "
"parce qu'elles sont difficiles à implémenter, mais parce que personne n'en a "
"eu encore besoin. De plus, Python ne prend pas encore en charge la "
"bibliothèque de gestion des menus associée à *ncurses*. Les correctifs "
"ajoutant cette prise en charge seraient bienvenus ; reportez-vous au `guide "
"du développeur Python <https://devguide.python.org/>`_ pour apprendre "
"comment soumettre des améliorations à Python."
#: ../Doc/howto/curses.rst:544
msgid ""
"`Writing Programs with NCURSES <http://invisible-island.net/ncurses/ncurses-"
"intro.html>`_: a lengthy tutorial for C programmers."
msgstr ""
"`Writing Programs with NCURSES <http://invisible-island.net/ncurses/ncurses-"
"intro.html>`_ : un long tutoriel pour les programmeurs C (ressource en "
"anglais)."
#: ../Doc/howto/curses.rst:546
msgid "`The ncurses man page <https://linux.die.net/man/3/ncurses>`_"
msgstr ""
msgstr "`La page de manuel ncurses <https://linux.die.net/man/3/ncurses>`_"
#: ../Doc/howto/curses.rst:547
msgid ""
"`The ncurses FAQ <http://invisible-island.net/ncurses/ncurses.faq.html>`_"
msgstr ""
"`La FAQ ncurses <http://invisible-island.net/ncurses/ncurses.faq.html>`_ "
"(ressource en anglais)"
#: ../Doc/howto/curses.rst:548
msgid ""
@ -728,6 +1072,9 @@ msgid ""
"v=eN1eZtjLEnU>`_: video of a PyCon 2013 talk on controlling terminals using "
"curses or Urwid."
msgstr ""
"`\"Use curses... don't swear\" <https://www.youtube.com/watch?"
"v=eN1eZtjLEnU>`_ : vidéo d'une conférence lors de la PyCon 2013 sur la "
"gestion des terminaux à l'aide de *curses* et *Urwid* (vidéo en anglais)."
#: ../Doc/howto/curses.rst:550
msgid ""
@ -735,3 +1082,6 @@ msgid ""
"console-applications-with-urwid>`_: video of a PyCon CA 2012 talk "
"demonstrating some applications written using Urwid."
msgstr ""
"`\"Console Applications with Urwid\" <http://www.pyvideo.org/video/1568/"
"console-applications-with-urwid>`_ : vidéo d'une conférence lors de PyCon CA "
"2012 montrant quelques applications utilisant *Urwid*."

File diff suppressed because it is too large Load Diff

View File

@ -424,7 +424,7 @@ msgstr ""
#: ../Doc/library/asyncio-eventloop.rst:324
msgid "Added the ``name`` parameter."
msgstr ""
msgstr "ajout du paramètre ``name``."
#: ../Doc/library/asyncio-eventloop.rst:329
msgid "Set a task factory that will be used by :meth:`loop.create_task`."

View File

@ -63,7 +63,7 @@ msgstr ""
#: ../Doc/library/asyncio-queue.rst:42
msgid "The *loop* parameter."
msgstr ""
msgstr "Le paramètre *loop*."
#: ../Doc/library/asyncio-queue.rst:43
msgid "This class is :ref:`not thread safe <asyncio-multithreading>`."

View File

@ -93,7 +93,7 @@ msgstr ""
#: ../Doc/library/asyncio-sync.rst:190 ../Doc/library/asyncio-sync.rst:290
#: ../Doc/library/asyncio-sync.rst:345
msgid "The *loop* parameter."
msgstr ""
msgstr "Le paramètre *loop*."
#: ../Doc/library/asyncio-sync.rst:71
msgid "Acquire the lock."

View File

@ -422,6 +422,11 @@ msgid ""
"encountered in the left operand and then by the order encountered in the "
"right operand."
msgstr ""
"Puisqu'elle est une sous-classe de :class:`dict`, :class:`Counter` conserve "
"aussi l'ordre d'insertion. Les opérations mathématiques sur les objets "
"*Counter* préservent aussi l'ordre des insertions. Les résultats sont "
"ordonnés d'abord en fonction de la recherche d'apparition pour l'opérande de "
"gauche, puis dans l'ordre d'apparition de l'opérande de droite."
#: ../Doc/library/collections.rst:277
msgid ""
@ -1279,6 +1284,11 @@ msgid ""
"features of :class:`OrderedDict` are required, the suggested remediation is "
"to cast the result to the desired type: ``OrderedDict(nt._asdict())``."
msgstr ""
"renvoie un :class:`dict` natif plutôt qu'un :class:`OrderedDict`. À partir "
"de Python 3.7, les dictionnaires natifs garantissent la préservation de "
"l'ordre. Si les autres fonctionnalités d':class:`OrderedDict` sont "
"nécessaires, la solution préconisée est de convertir le résultat vers le "
"type souhaité : ``OrderedDict(nt._asdict())``."
#: ../Doc/library/collections.rst:931
msgid ""

View File

@ -1836,18 +1836,25 @@ 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:1416
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:1423
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:1426
msgid ""
@ -1857,12 +1864,19 @@ msgid ""
"therefore accessing it repeatedly returns the same object each time. On the "
"other hand, accessing it through an index returns a new object each time::"
msgstr ""
"Les instances de ces classes n'ont pas de méthodes publiques ; on accède aux "
"fonctions de la bibliothèque partagée par attribut ou par indiçage. Notez "
"que les résultats des accès par attribut sont mis en cache, et donc des "
"accès consécutifs renvoient à chaque fois le même objet. Accéder à une "
"fonction par indice renvoie cependant chaque fois un nouvel objet :"
#: ../Doc/library/ctypes.rst:1439
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:1445
msgid "The system handle used to access the library."
@ -1870,7 +1884,7 @@ msgstr ""
#: ../Doc/library/ctypes.rst:1450
msgid "The name of the library passed in the constructor."
msgstr ""
msgstr "Nom de la bibliothèque donné au constructeur."
#: ../Doc/library/ctypes.rst:1452
msgid ""
@ -1889,6 +1903,8 @@ 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:1463
msgid ""
@ -1896,6 +1912,10 @@ 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:1469
msgid ""
@ -2010,28 +2030,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:1542
msgid "Base class for C callable foreign functions."
msgstr ""
msgstr "Classe de base pour les fonctions externes C."
#: ../Doc/library/ctypes.rst:1544
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:1547
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:1552
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:1555
msgid ""
@ -2042,6 +2075,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:1564
msgid ""
@ -2051,6 +2092,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:1570
msgid ""
@ -2061,6 +2107,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:1577
msgid ""
@ -2069,30 +2122,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:1584
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:1591
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:1594
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:1598
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:1602
msgid ""
@ -2100,12 +2170,17 @@ msgid ""
"function call, but it can also check the result value and raise an exception "
"if the foreign function call failed."
msgstr ""
"L'objet renvoyé par cette fonction est celui renvoyé par l'appel de la "
"fonction externe, mais il peut aussi vérifier la valeur du résultat et lever "
"une exception si l'appel a échoué."
#: ../Doc/library/ctypes.rst:1609
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:None
msgid ""
@ -2121,6 +2196,12 @@ msgid ""
"seh_exception`` with argument ``code`` will be raised, allowing an audit "
"hook to replace the exception with its own."
msgstr ""
"En Windows, quand un appel à une fonction externe lève une exception système "
"(par exemple, une erreur de segmentation), celle-ci est interceptée pour "
"être remplacée par l'exception Python correspondante. De plus, un évènement "
"d'audit ``ctypes.seh_exception`` est levé avec ``code`` en argument, ce qui "
"permet à un point d'entrée (*hook* en anglais) d'audit de remplacer "
"l'exception par une des siennes."
#: ../Doc/library/ctypes.rst:None
msgid ""
@ -2134,6 +2215,9 @@ msgid ""
"``ctypes.call_function`` with arguments ``function pointer`` and "
"``arguments``."
msgstr ""
"Certaines manières d'appeler des fonction externes peuvent lever des "
"évènements d'audit ``ctypes.call_function`` avec ``function pointer`` et "
"``arguments`` comme arguments."
#: ../Doc/library/ctypes.rst:1629
msgid "Function prototypes"

View File

@ -2988,7 +2988,7 @@ msgstr ""
#: ../Doc/library/curses.rst:1788
msgid "Action"
msgstr ""
msgstr "Action"
#: ../Doc/library/curses.rst:1790
msgid ":kbd:`Control-A`"

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Gtranslator 3.36.0\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"X-Generator: Gtranslator 3.36.0\n"
#: ../Doc/library/datetime.rst:2
msgid ":mod:`datetime` --- Basic date and time types"

View File

@ -16,7 +16,7 @@ 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
#, fuzzy
@ -28,6 +28,8 @@ 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 ""
@ -35,6 +37,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 ""
@ -42,6 +47,9 @@ msgid ""
"Parser` class. It is derived from :exc:`MessageError`. This class is also "
"used internally by the parser used by :mod:`~email.headerregistry`."
msgstr ""
"Exception de base pour les exceptions levées par la classe :class:`~email."
"parser.Parser`. Elle hérite de :exc:`MessageError`. Cette classe est aussi "
"utilisée en interne par l'analyseur de :mod:`~email.headerregistry`."
#: ../Doc/library/email.errors.rst:31
msgid ""
@ -54,10 +62,19 @@ msgid ""
"header (that is, there is what is supposed to be a continuation line that "
"has no leading whitespace and looks like a header)."
msgstr ""
"Cette exception, dérivée de :exc:`MessageParseError`, est levée sous "
"différentes conditions lors de l'analyse des en-têtes :rfc:`5322` du "
"message. Lorsque la méthode :meth:`~email.message.EmailMessage."
"set_boundary` est invoquée, elle lève cette erreur si le type du contenu est "
"inconnu. La classe :class:`~email.header.Header` lève cette exception pour "
"certains types d'erreurs provenant du décodage base64. Elle la lève aussi "
"quand un en-tête est créé et qu'il semble contenir un en-tête imbriqué, "
"c'est-à-dire que la ligne qui suit ressemble à un en-tête et ne commence pas "
"par des caractères d'espacement."
#: ../Doc/library/email.errors.rst:43
msgid "Deprecated and no longer used."
msgstr ""
msgstr "Obsolète, n'est plus utilisé."
#: ../Doc/library/email.errors.rst:48
msgid ""
@ -67,6 +84,12 @@ msgid ""
"`multipart` or missing. :exc:`MultipartConversionError` multiply inherits "
"from :exc:`MessageError` and the built-in :exc:`TypeError`."
msgstr ""
"Cette exception est levée quand le contenu, que la méthode :meth:"
"`add_payload` essaie d'ajouter à l'objet :class:`~email.message.Message`, "
"est déjà un scalaire et que le type principal du message :mailheader:"
"`Content-Type` est manquant ou différent de :mimetype:`multipart`. :exc:"
"`MultipartConversionError` hérite à la fois de :exc:`MessageError` et de :"
"exc:`TypeError`."
#: ../Doc/library/email.errors.rst:54
msgid ""
@ -76,6 +99,11 @@ msgid ""
"derived from :class:`~email.mime.nonmultipart.MIMENonMultipart` (e.g. :class:"
"`~email.mime.image.MIMEImage`)."
msgstr ""
"Comme la méthode :meth:`Message.add_payload` est obsolète, cette exception "
"est rarement utilisée. Néanmoins, elle peut être levée si la méthode :meth:"
"`~email.message.Message.attach` est invoquée sur une instance de classe "
"dérivée de :class:`~email.mime.nonmultipart.MIMENonMultipart` (p. ex. :class:"
"`~email.mime.image.MIMEImage`)."
#: ../Doc/library/email.errors.rst:62
msgid ""
@ -86,41 +114,60 @@ msgid ""
"nested message object would have a defect, but the containing messages would "
"not."
msgstr ""
"Voici la liste des anomalies que peut identifier :class:`~email.parser."
"FeedParser` pendant l'analyse des messages. Notez que les anomalies sont "
"signalées à l'endroit où elles sont détectées : par exemple, dans le cas "
"d'une malformation de l'en-tête d'un message imbriqué dans un message de "
"type :mimetype:`multipart/alternative`, l'anomalie est signalée sur le "
"message imbriqué seulement."
#: ../Doc/library/email.errors.rst:68
msgid ""
"All defect classes are subclassed from :class:`email.errors.MessageDefect`."
msgstr ""
"Toutes les anomalies sont des sous-classes de :class:`email.errors."
"MessageDefect`."
#: ../Doc/library/email.errors.rst:70
msgid ""
":class:`NoBoundaryInMultipartDefect` -- A message claimed to be a multipart, "
"but had no :mimetype:`boundary` parameter."
msgstr ""
":class:`NoBoundaryInMultipartDefect` — Un message qui prétend être composite "
"(*multipart* en anglais), mais qui ne contient pas de séparateur :mimetype:"
"`boundary`."
#: ../Doc/library/email.errors.rst:73
msgid ""
":class:`StartBoundaryNotFoundDefect` -- The start boundary claimed in the :"
"mailheader:`Content-Type` header was never found."
msgstr ""
":class:`StartBoundaryNotFoundDefect` — Le message ne contient pas le "
"séparateur de départ indiqué dans le :mailheader:`Content-Type`."
#: ../Doc/library/email.errors.rst:76
msgid ""
":class:`CloseBoundaryNotFoundDefect` -- A start boundary was found, but no "
"corresponding close boundary was ever found."
msgstr ""
":class:`CloseBoundaryNotFoundDefect` — Le séparateur de départ a été trouvé, "
"mais pas le séparateur de fin correspondant."
#: ../Doc/library/email.errors.rst:81
msgid ""
":class:`FirstHeaderLineIsContinuationDefect` -- The message had a "
"continuation line as its first header line."
msgstr ""
":class:`FirstHeaderLineIsContinuationDefect` — La première ligne de l'en-"
"tête du message est une ligne de continuation."
#: ../Doc/library/email.errors.rst:84
msgid ""
":class:`MisplacedEnvelopeHeaderDefect` - A \"Unix From\" header was found in "
"the middle of a header block."
msgstr ""
":class:`MisplacedEnvelopeHeaderDefect` — Un en-tête *Unix From* est présent "
"à l'intérieur d'un bloc d'en-tête."
#: ../Doc/library/email.errors.rst:87
msgid ""
@ -128,16 +175,21 @@ msgid ""
"headers that had no leading white space but contained no ':'. Parsing "
"continues assuming that the line represents the first line of the body."
msgstr ""
":class:`MissingHeaderBodySeparatorDefect` — Une ligne d'en-tête ne contient "
"pas de caractères d'espacement au début et aucun « : ». L'analyse continue "
"en supposant qu'il s'agit donc de la première ligne du corps du message."
#: ../Doc/library/email.errors.rst:93
msgid ""
":class:`MalformedHeaderDefect` -- A header was found that was missing a "
"colon, or was otherwise malformed."
msgstr ""
":class:`MalformedHeaderDefect` -- Un en-tête est mal formé ou il manque un "
"« : »."
#: ../Doc/library/email.errors.rst:96
msgid "This defect has not been used for several Python versions."
msgstr ""
msgstr "Cette anomalie est obsolète depuis plusieurs versions de Python."
#: ../Doc/library/email.errors.rst:99
msgid ""
@ -147,6 +199,10 @@ msgid ""
"return ``False`` even though its content type claims to be :mimetype:"
"`multipart`."
msgstr ""
":class:`MultipartInvariantViolationDefect` — Le message indique être de "
"type :mimetype:`multipart`, mais aucune pièce jointe n'a été trouvée. Notez "
"que, dans ce cas, la méthode :meth:`~email.message.Message.is_multipart` "
"peut renvoyer ``False`` même si le type de contenu est :mimetype:`multipart`."
#: ../Doc/library/email.errors.rst:104
msgid ""
@ -154,6 +210,9 @@ msgid ""
"encoded bytes, the padding was not correct. Enough padding is added to "
"perform the decode, but the resulting decoded bytes may be invalid."
msgstr ""
":class:`InvalidBase64PaddingDefect` — Remplissage incorrect d'un bloc "
"d'octets encodés en base64. Des caractères de remplissage ont été ajoutés "
"pour permettre le décodage, mais le résultat du décodage peut être invalide."
#: ../Doc/library/email.errors.rst:108
msgid ""
@ -161,6 +220,10 @@ msgid ""
"encoded bytes, characters outside the base64 alphabet were encountered. The "
"characters are ignored, but the resulting decoded bytes may be invalid."
msgstr ""
":class:`InvalidBase64CharactersDefect` — Des caractères n'appartenant pas à "
"l'alphabet base64 ont été rencontrés lors du décodage d'un bloc d'octets "
"encodés en base64. Les caractères ont été ignorés, mais le résultat du "
"décodage peut être invalide."
#: ../Doc/library/email.errors.rst:112
msgid ""
@ -168,3 +231,6 @@ msgid ""
"encoded bytes, the number of non-padding base64 characters was invalid (1 "
"more than a multiple of 4). The encoded block was kept as-is."
msgstr ""
":class:`InvalidBase64LengthDefect` — Le nombre de caractères (autres que de "
"remplissage) d'un bloc d'octets encodés en base64 est invalide (1 de plus "
"qu'un multiple de 4). Le bloc encodé n'a pas été modifié."

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Gtranslator 3.36.0\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"X-Generator: Gtranslator 3.36.0\n"
#: ../Doc/library/functions.rst:5 ../Doc/library/functions.rst:11
msgid "Built-in Functions"

View File

@ -260,7 +260,7 @@ msgstr "``httponly``"
#: ../Doc/library/http.cookies.rst:142
msgid "``samesite``"
msgstr ""
msgstr "``samesite``"
#: ../Doc/library/http.cookies.rst:144
msgid ""
@ -278,6 +278,10 @@ msgid ""
"send the cookie along with cross-site requests. This helps to mitigate CSRF "
"attacks. Valid values for this attribute are \"Strict\" and \"Lax\"."
msgstr ""
"L'attribut :attr:`samesite` spécifie que le navigateur n'est pas autorisé à "
"envoyer le témoin de connexion avec les requêtes inter-sites. Cela vise à "
"contrer les attaques *CSRF*. Les valeurs valides pour cet attribut sont "
 Strict » et « Lax »."
#: ../Doc/library/http.cookies.rst:152
msgid "The keys are case-insensitive and their default value is ``''``."
@ -303,7 +307,7 @@ msgstr ""
#: ../Doc/library/http.cookies.rst:163
msgid "Added support for the :attr:`samesite` attribute."
msgstr ""
msgstr "ajout de la prise en charge de l'attribut :attr:`samesite`."
#: ../Doc/library/http.cookies.rst:169
msgid "The value of the cookie."

View File

@ -29,11 +29,11 @@ msgstr ""
#: ../Doc/library/logging.config.rst:17
msgid ":ref:`Basic Tutorial <logging-basic-tutorial>`"
msgstr ""
msgstr ":ref:`Tutoriel basique <logging-basic-tutorial>`"
#: ../Doc/library/logging.config.rst:18
msgid ":ref:`Advanced Tutorial <logging-advanced-tutorial>`"
msgstr ""
msgstr ":ref:`Tutoriel avancé <logging-advanced-tutorial>`"
#: ../Doc/library/logging.config.rst:19
#, fuzzy

View File

@ -29,11 +29,11 @@ msgstr ""
#: ../Doc/library/logging.handlers.rst:17
msgid ":ref:`Basic Tutorial <logging-basic-tutorial>`"
msgstr ""
msgstr ":ref:`Tutoriel basique <logging-basic-tutorial>`"
#: ../Doc/library/logging.handlers.rst:18
msgid ":ref:`Advanced Tutorial <logging-advanced-tutorial>`"
msgstr ""
msgstr ":ref:`Tutoriel avancé <logging-advanced-tutorial>`"
#: ../Doc/library/logging.handlers.rst:19
#, fuzzy

View File

@ -267,6 +267,8 @@ msgid ""
"The behavior of :meth:`__iter__` is unlike that of dictionaries, which "
"iterate over keys."
msgstr ""
"Le comportement de :meth:`__iter__` diffère de celui d'un dictionnaire, pour "
"lequel l'itération se fait sur ses clés."
#: ../Doc/library/mailbox.rst:156
msgid ""
@ -277,6 +279,13 @@ msgid ""
"subclass unless a custom message factory was specified when the :class:"
"`Mailbox` instance was initialized."
msgstr ""
"Renvoie un itérateur sur les paires (*key*, *message*), où *key* est une clé "
"et *message* est la représentation d'un message, si appelée en tant que :"
"meth:`iteritems` ; ou renvoie une liste de paires semblables si appelée en "
"tant que :meth:`items`. Les messages sont représentés comme instances au "
"format approprié et spécifique d'une sous-classe de :class:`Message` à moins "
"qu'une moulinette personnalisée de message ait été spécifiée lors de "
"l'initialisation de l'instance :class:`Mailbox`."
#: ../Doc/library/mailbox.rst:167
msgid ""
@ -344,7 +353,7 @@ msgstr ""
#: ../Doc/library/mailbox.rst:232
msgid "Delete all messages from the mailbox."
msgstr ""
msgstr "Supprime tous les messages de la boîte de courriel."
#: ../Doc/library/mailbox.rst:237
msgid ""
@ -1738,16 +1747,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:1340
msgid ":class:`MMDFMessage`"
msgstr ""
msgstr ":class:`MMDFMessage`"
#: ../Doc/library/mailbox.rst:1345
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:1348
msgid ""
@ -1756,18 +1769,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:1353
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:1374
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:1423
msgid ""
@ -1776,18 +1798,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:1442
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:1457
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:1472
msgid ""
@ -1795,10 +1825,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:1477
msgid ":class:`mboxMessage` state"
msgstr ""
msgstr "état de :class:`mboxMessage`"
#: ../Doc/library/mailbox.rst:1492
msgid "Exceptions"
@ -1808,10 +1841,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:1499
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:1504
msgid ""
@ -1820,12 +1856,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:1511
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:1517
msgid ""
@ -1834,12 +1876,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:1525
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:1532
msgid "Examples"
@ -1850,12 +1899,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:1543
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:1554
msgid ""
@ -1864,3 +1919,8 @@ msgid ""
"other programs, mail loss due to interruption of the program, or premature "
"termination due to malformed messages in the mailbox::"
msgstr ""
"Cet exemple trie le courriel en provenance de plusieurs listes de diffusion "
"vers différentes boîtes de courriel, tout en évitant une corruption à cause "
"de modifications concurrentielles par d'autres programmes, une perte due à "
"une interruption du programme ou un arrêt prématuré causé par des messages "
"mal structurés ::"

View File

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

View File

@ -3225,6 +3225,9 @@ msgid ""
"pool as CPython does not assure that the finalizer of the pool will be "
"called (see :meth:`object.__del__` for more information)."
msgstr ""
"Notez qu'il n'est **pas correct** de compter sur le ramasse-miette pour "
"détruire le pool car CPython n'assure pas que le *finalizer* du pool sera "
"appelé (voir :meth:`object.__del__` pour plus d'informations)."
#: ../Doc/library/multiprocessing.rst:2141
msgid "*maxtasksperchild*"

View File

@ -7,12 +7,12 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-04 11:33+0200\n"
"PO-Revision-Date: 2020-06-01 11:56+0200\n"
"Last-Translator: Antoine Wecxsteen\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: Antoine Wecxsteen\n"
"X-Generator: Poedit 2.3\n"
#: ../Doc/library/multiprocessing.shared_memory.rst:2

View File

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

View File

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

View File

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

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.1\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 2.2.1\n"
#: ../Doc/library/tarfile.rst:2
msgid ":mod:`tarfile` --- Read and write tar archive files"

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Gtranslator 3.36.0\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"X-Generator: Gtranslator 3.36.0\n"
#: ../Doc/library/textwrap.rst:2
msgid ":mod:`textwrap` --- Text wrapping and filling"

View File

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

View File

@ -484,7 +484,7 @@ msgstr ""
#: ../Doc/license.rst:919
msgid "W3C C14N test suite"
msgstr ""
msgstr "Ensemble de tests C14N du W3C"
#: ../Doc/license.rst:921
msgid ""
@ -492,23 +492,31 @@ msgid ""
"c14n-20/``) was retrieved from the W3C website at https://www.w3.org/TR/xml-"
"c14n2-testcases/ and is distributed under the 3-clause BSD license:"
msgstr ""
"Les tests de C14N version 2.0 du module :mod:`test` (``Lib/test/xmltestdata/"
"c14n-20/``) proviennent du site du W3C à l'adresse https://www.w3.org/TR/xml-"
"c14n2-testcases/ et sont distribués sous licence BSD modifiée :"
#: ../Doc/license.rst:926
msgid ""
"Copyright (c) 2013 W3C(R) (MIT, ERCIM, Keio, Beihang), All Rights Reserved."
msgstr ""
"Copyright (c) 2013 W3C(R) (MIT, ERCIM, Keio, Beihang), All Rights Reserved."
#: ../Doc/license.rst:929
msgid ""
"Redistribution and use in source and binary forms, with or without "
"modification, are permitted provided that the following conditions are met:"
msgstr ""
"Redistribution and use in source and binary forms, with or without "
"modification, are permitted provided that the following conditions are met:"
#: ../Doc/license.rst:933
msgid ""
"Redistributions of works must retain the original copyright notice, this "
"list of conditions and the following disclaimer."
msgstr ""
"Redistributions of works must retain the original copyright notice, this "
"list of conditions and the following disclaimer."
#: ../Doc/license.rst:935
msgid ""
@ -516,6 +524,9 @@ msgid ""
"this list of conditions and the following disclaimer in the documentation "
"and/or other materials provided with the distribution."
msgstr ""
"Redistributions in binary form must reproduce the original copyright notice, "
"this list of conditions and the following disclaimer in the documentation "
"and/or other materials provided with the distribution."
#: ../Doc/license.rst:938
msgid ""
@ -523,6 +534,9 @@ msgid ""
"endorse or promote products derived from this work without specific prior "
"written permission."
msgstr ""
"Neither the name of the W3C nor the names of its contributors may be used to "
"endorse or promote products derived from this work without specific prior "
"written permission."
#: ../Doc/license.rst:942
msgid ""
@ -538,6 +552,17 @@ msgid ""
"ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE "
"POSSIBILITY OF SUCH DAMAGE."
msgstr ""
"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS"
"\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE "
"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE "
"ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE "
"LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR "
"CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF "
"SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS "
"INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN "
"CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) "
"ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE "
"POSSIBILITY OF SUCH DAMAGE."
#~ msgid "Floating point exception control"
#~ msgstr "Virgule flottante et contrôle d'exception"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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