Reprise de howto/curses (#1406)

This commit is contained in:
Christophe Nanteuil 2020-09-30 16:41:16 +02:00 committed by GitHub
parent 98137cf892
commit 475c32644b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n" "Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n" "POT-Creation-Date: 2020-08-24 09:01+0200\n"
"PO-Revision-Date: 2019-10-31 17:43+0100\n" "PO-Revision-Date: 2020-09-04 23:34+0200\n"
"Last-Translator: Khaïs COLIN <kh.col@orange.fr>\n" "Last-Translator: Khaïs COLIN <kh.col@orange.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n" "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n" "Language: fr\n"
@ -49,7 +49,7 @@ msgstr ""
#: howto/curses.rst:18 #: howto/curses.rst:18
msgid "What is curses?" msgid "What is curses?"
msgstr "Qu'est-ce que *curses* ?" msgstr "Qu'est-ce que *curses* ?"
#: howto/curses.rst:20 #: howto/curses.rst:20
msgid "" msgid ""
@ -61,14 +61,14 @@ msgid ""
"areas. Different terminals use widely differing codes, and often have their " "areas. Different terminals use widely differing codes, and often have their "
"own minor quirks." "own minor quirks."
msgstr "" msgstr ""
"La bibliothèque *curses* fournit une fonction de dessin d'écran et de " "La bibliothèque *curses* fournit une capacité de dessin à l'écran et de "
"traitement de clavier indépendante du terminal pour les terminaux textuels ; " "gestion du clavier indépendante du terminal pour les terminaux textuels ; "
"ces terminaux comprennent les VT100, la console Linux et le terminal simulé " "ces terminaux comprennent les *VT100*, la console Linux et le terminal "
"fourni par divers programmes. Les terminaux d'affichage prennent en charge " "simulé fourni par divers programmes. Les terminaux d'affichage prennent en "
"divers codes de commande pour effectuer des opérations courantes telles que " "charge divers codes de commande pour effectuer des opérations courantes "
"déplacer le curseur, faire défiler l'écran et effacer des zones. Différents " "telles que déplacer le curseur, faire défiler l'écran et effacer des zones. "
"terminaux utilisent des codes très différents, et ont souvent leurs propres " "Différents terminaux utilisent des codes très différents et ont souvent "
"bizarreries mineures." "leurs propres bizarreries mineures."
#: howto/curses.rst:28 #: howto/curses.rst:28
msgid "" msgid ""
@ -79,14 +79,15 @@ msgid ""
"an X server. Another is tools such as OS installers and kernel " "an X server. Another is tools such as OS installers and kernel "
"configurators that may have to run before any graphical support is available." "configurators that may have to run before any graphical support is available."
msgstr "" msgstr ""
"Dans un monde d'affichages graphiques, on pourrait se demander \"pourquoi " "Dans un monde d'affichages graphiques, on pourrait se demander « pourquoi "
"s'embêter\" ? Il est vrai que les terminaux d'affichage à cellules de " "s'embêter ? ». Il est vrai que les terminaux d'affichage caractère par "
"caractères sont une technologie obsolète, mais il existe des niches dans " "caractère sont une technologie obsolète, mais il existe des niches pour "
"lesquelles la possibilité de faire des choses de fantaisie avec eux est " "lesquelles la possibilité de faire des choses fantaisistes est encore "
"encore précieuse. Une niche est sur les Unixes de petite taille ou " "précieuse. En exemple de niche, on peut citer les systèmes de type Unix de "
"embarqués qui n'utilisent pas de serveur X. Il y a aussi les outils tels " "petite taille ou embarqués qui n'utilisent pas de serveur X. Il y a aussi "
"que les installateurs d'OS et les configurateurs de noyau qui doivent être " "les outils tels que les installateurs d'OS et les outils de configuration du "
"exécutés avant qu'un support graphique ne soit disponible." "noyau qui doivent être exécutés avant qu'un support graphique ne soit "
"disponible."
#: howto/curses.rst:36 #: howto/curses.rst:36
msgid "" msgid ""
@ -100,17 +101,16 @@ msgid ""
"features, consider a user interface library such as `Urwid <https://pypi.org/" "features, consider a user interface library such as `Urwid <https://pypi.org/"
"project/urwid/>`_." "project/urwid/>`_."
msgstr "" msgstr ""
"La bibliothèque *curses* fournit des fonctionnalités assez basiques, " "La bibliothèque *curses* propose des fonctionnalités assez basiques, "
"fournissant au programmeur une abstraction d'un affichage contenant " "fournissant au programmeur une abstraction d'affichage contenant plusieurs "
"plusieurs fenêtres de texte qui ne se chevauchent pas. Le contenu d'une " "fenêtres de texte qui ne se chevauchent pas. Le contenu d'une fenêtre peut "
"fenêtre peut être modifié de différentes manières --- en ajoutant du texte, " "être modifié de différentes manières — en ajoutant du texte, en l'effaçant "
"en l'effaçant, en changeant son apparence --- et la bibliothèque de " "ou en changeant son apparence — et la bibliothèque *curses* trouve quels "
"malédictions trouvera quels codes de contrôle doivent être envoyés au " "codes de contrôle doivent être envoyés au terminal pour produire le bon "
"terminal pour produire le bon résultat. *curses* ne fournit pas beaucoup de " "résultat. *curses* ne fournit pas beaucoup de concepts d'interface "
"concepts d'interface utilisateur tels que boutons, cases à cocher ou " "utilisateur tels que boutons, cases à cocher ou dialogues ; si vous avez "
"dialogues ; si vous avez besoin de telles fonctionnalités, pensez à une " "besoin de telles fonctionnalités, pensez à une bibliothèque d'interface "
"bibliothèque d'interface utilisateur comme `Urwid <https://pypi.org/project/" "utilisateur comme `Urwid <https://pypi.org/project/urwid/>`_."
"urwid/>`_."
#: howto/curses.rst:46 #: howto/curses.rst:46
msgid "" msgid ""
@ -124,16 +124,16 @@ msgid ""
"older versions of curses carried by some proprietary Unixes may not support " "older versions of curses carried by some proprietary Unixes may not support "
"everything, though." "everything, though."
msgstr "" msgstr ""
"La librairie *curses* a été écrite à l'origine pour BSD Unix ; les dernières " "La bibliothèque *curses* a été écrite à l'origine pour BSD Unix ; les "
"versions System V d'Unix d'AT&T ont ajouté de nombreuses améliorations et de " "dernières versions *System V* d'Unix d'AT&T ont ajouté de nombreuses "
"nouvelles fonctions. BSD *curses* n'est plus maintenu, ayant été remplacé " "améliorations et de nouvelles fonctions. BSD *curses* n'est plus maintenu, "
"par *ncurses*, qui est une implémentation open-source de l'interface AT&T. " "ayant été remplacé par *ncurses*, qui est une implémentation open-source de "
"Si vous utilisez un Unix open-source comme Linux ou FreeBSD, votre système " "l'interface AT&T. Si vous utilisez un Unix open-source comme Linux ou "
"utilise presque certainement *ncurses*. Comme la plupart des versions " "FreeBSD, votre système utilise presque certainement *ncurses*. Comme la "
"commerciales actuelles d'Unix sont basées sur le code System V, toutes les " "plupart des versions commerciales actuelles d'Unix sont basées sur le code "
"fonctions décrites ici seront probablement disponibles. Les anciennes " "*System V*, toutes les fonctions décrites ici seront probablement "
"versions de *curses* portées par certains Unixes propriétaires pourraient ne " "disponibles. Les anciennes versions de *curses* portées par certains Unix "
"pas tout supporter." "propriétaires pourraient ne pas gérer toutes les fonctions."
#: howto/curses.rst:56 #: howto/curses.rst:56
msgid "" msgid ""
@ -144,11 +144,11 @@ msgid ""
"API as curses but provides cursor-addressable text output and full support " "API as curses but provides cursor-addressable text output and full support "
"for mouse and keyboard input." "for mouse and keyboard input."
msgstr "" msgstr ""
"La version Windows de Python n'inclut pas le module :mod:`curses`. Une " "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 " "version portée appelée `UniCurses <https://pypi.org/project/UniCurses>`_ est "
"disponible. Vous pouvez également essayer le module de console <http://" "disponible. Vous pouvez également essayer le `Windows console driver <http://"
"effbot.org/zone/console-index.htm>`_ écrit par Fredrik Lundh, qui n'utilise " "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 adressable par " "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." "curseur et une prise en charge complète de la souris et du clavier."
#: howto/curses.rst:66 #: howto/curses.rst:66
@ -165,13 +165,13 @@ msgid ""
"`mvwaddstr` into a single :meth:`~curses.window.addstr` method. You'll see " "`mvwaddstr` into a single :meth:`~curses.window.addstr` method. You'll see "
"this covered in more detail later." "this covered in more detail later."
msgstr "" msgstr ""
"Le module Python est une encapsulation assez simple sur les fonctions C " "Le module Python est une surcouche assez simple enrobant les fonctions C "
"fournies par *curses*; si vous êtes déjà familier avec la programmation " "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 à " "*curses* en C, il est très facile de transférer cette connaissance à Python. "
"Python. La plus grande différence est que l'interface Python simplifie les " "La plus grande différence est que l'interface Python simplifie les choses en "
"choses en fusionnant différentes fonctions C telles que :c:func:`addstr`, :c:" "fusionnant différentes fonctions C telles que :c:func:`addstr`, :c:func:"
"func:`mvaddstr`, et :c:func:`mvwaddstr` en une seule méthode :meth:`~curses." "`mvaddstr` et :c:func:`mvwaddstr` en une seule méthode :meth:`~curses.window."
"window.addstr`. Vous verrez cela plus en détail ci-après." "addstr`. Nous voyons cela plus en détail ci-après."
#: howto/curses.rst:76 #: howto/curses.rst:76
msgid "" msgid ""
@ -180,15 +180,15 @@ msgid ""
"that, see the Python library guide's section on ncurses, and the C manual " "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." "pages for ncurses. It will, however, give you the basic ideas."
msgstr "" msgstr ""
"Ce HOWTO est une introduction à l'écriture de programmes en mode texte avec " "Ce guide pratique est une introduction à l'écriture de programmes en mode "
"*curses* et Python. Il n'essaie pas d'être un guide complet de l'API " "texte avec *curses* et Python. Il n'essaie pas d'être un guide complet de "
"*curses*; pour cela, consultez la section du guide de la bibliothèque Python " "l'API *curses* ; pour cela, consultez la section du guide de la bibliothèque "
"sur *ncurses*, et les pages du manuel C pour *ncurses*. Il vous donnera " "Python sur *ncurses* et les pages du manuel C pour *ncurses*. Il vous donne "
"cependant les idées de base." "cependant les idées de base."
#: howto/curses.rst:83 #: howto/curses.rst:83
msgid "Starting and ending a curses application" msgid "Starting and ending a curses application"
msgstr "Lancer et fermer une application *curses*" msgstr "Lancement et arrêt une application *curses*"
#: howto/curses.rst:85 #: howto/curses.rst:85
msgid "" msgid ""
@ -199,13 +199,12 @@ msgid ""
"object representing the entire screen; this is usually called ``stdscr`` " "object representing the entire screen; this is usually called ``stdscr`` "
"after the name of the corresponding C variable. ::" "after the name of the corresponding C variable. ::"
msgstr "" msgstr ""
"Avant de faire quoi que ce soit, *curses* doit être initialisé. Cela se " "Avant de faire quoi que ce soit, *curses* doit être initialisé. Appelez pour "
"fait en appelant la fonction :func:`~curses.initscr`, qui déterminera le " "cela la fonction :func:`~curses.initscr`, elle détermine le type de "
"type de terminal, enverra tous les codes de configuration requis au " "terminal, envoie tous les codes de configuration requis au terminal et crée "
"terminal, et créera diverses structures de données internes. En cas de " "diverses structures de données internes. En cas de succès, :func:`initscr` "
"succès, :func:`initscr` retourne un objet fenêtre représentant l'écran " "renvoie un objet fenêtre représentant l'écran entier ; il est généralement "
"entier ; ceci est généralement appelé ``stdscr`` d'après le nom de la " "appelé ``stdscr`` d'après le nom de la variable C correspondante. ::"
"variable C correspondante. : :"
#: howto/curses.rst:96 #: howto/curses.rst:96
msgid "" msgid ""
@ -215,7 +214,7 @@ msgid ""
msgstr "" msgstr ""
"Habituellement, les applications *curses* désactivent l'écho automatique des " "Habituellement, les applications *curses* désactivent l'écho automatique des "
"touches à l'écran, afin de pouvoir lire les touches et ne les afficher que " "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:" "dans certaines circonstances. Cela nécessite d'appeler la fonction :func:"
"`~curses.noecho`. ::" "`~curses.noecho`. ::"
#: howto/curses.rst:103 #: howto/curses.rst:103
@ -224,10 +223,10 @@ msgid ""
"requiring the Enter key to be pressed; this is called cbreak mode, as " "requiring the Enter key to be pressed; this is called cbreak mode, as "
"opposed to the usual buffered input mode. ::" "opposed to the usual buffered input mode. ::"
msgstr "" msgstr ""
"Les applications devront également réagir instantanément aux touches, sans " "Également, les applications réagissent généralement instantanément aux "
"qu'il soit nécessaire d'appuyer sur la touche Entrée ; c'est ce qu'on " "touches sans qu'il soit nécessaire d'appuyer sur la touche Entrée ; c'est ce "
"appelle le mode *cbreak*, par opposition au mode d'entrée tamponné " "qu'on appelle le mode *cbreak*, par opposition au mode d'entrée habituel "
"habituel. ::" "avec un tampon. ::"
#: howto/curses.rst:109 #: howto/curses.rst:109
msgid "" msgid ""
@ -239,21 +238,20 @@ msgid ""
"keypad mode. ::" "keypad mode. ::"
msgstr "" msgstr ""
"Les terminaux renvoient généralement les touches spéciales, telles que les " "Les terminaux renvoient généralement les touches spéciales, telles que les "
"touches de curseur ou les touches de navigation telles que Page précédente " "touches de curseur ou les touches de navigation (Page précédente et Accueil "
"et Accueil, comme une séquence d'échappement à plusieurs octets. Bien que " "par exemple), comme une séquence d'échappement sur plusieurs octets. Bien "
"vous puissiez écrire votre application pour vous attendre à de telles " "que vous puissiez écrire votre application pour vous attendre à de telles "
"séquences et les traiter en conséquence, les malédictions peuvent le faire " "séquences et les traiter en conséquence, *curses* peut le faire pour vous, "
"pour vous, retournant une valeur spéciale telle que :const:`curses." "renvoyant une valeur spéciale telle que :const:`curses.KEY_LEFT`. Pour que "
"KEY_LEFT`. Pour que *curses* fassent le travail, vous devez activer le mode " "*curses* fasse le travail, vous devez activer le mode *keypad*. ::"
"clavier. ::"
#: howto/curses.rst:118 #: howto/curses.rst:118
msgid "" msgid ""
"Terminating a curses application is much easier than starting one. You'll " "Terminating a curses application is much easier than starting one. You'll "
"need to call::" "need to call::"
msgstr "" msgstr ""
"Fermer une application *curses* est beaucoup plus facile que d'en démarrer " "Arrêter une application *curses* est beaucoup plus facile que d'en démarrer "
"une. Vous devrez appeler : ::" "une. Appelez ::"
#: howto/curses.rst:125 #: howto/curses.rst:125
msgid "" msgid ""
@ -261,9 +259,9 @@ msgid ""
"`~curses.endwin` function to restore the terminal to its original operating " "`~curses.endwin` function to restore the terminal to its original operating "
"mode. ::" "mode. ::"
msgstr "" msgstr ""
"pour inverser les réglages du terminal qui sont favorables à *curses*. " "pour inverser les réglages du terminal mis en place pour *curses*. Ensuite, "
"Ensuite, appelez la fonction :func:`~curses.enddwin` pour restaurer le " "appelez la fonction :func:`~curses.enddwin` pour restaurer le terminal dans "
"terminal dans son mode de fonctionnement original. ::" "son mode de fonctionnement original. ::"
#: howto/curses.rst:131 #: howto/curses.rst:131
msgid "" msgid ""
@ -273,12 +271,13 @@ msgid ""
"raises an uncaught exception. Keys are no longer echoed to the screen when " "raises an uncaught exception. Keys are no longer echoed to the screen when "
"you type them, for example, which makes using the shell difficult." "you type them, for example, which makes using the shell difficult."
msgstr "" msgstr ""
"Un problème courant lors du débogage d'une application *curses* est de " "Un problème courant lors du débogage d'une application *curses* est de se "
"perturber votre terminal lorsque l'application meurt sans restaurer le " "retrouver avec un terminal sans queue ni tête lorsque l'application meurt "
"terminal à son état précédent. Avec Python, cela arrive souvent lorsque " "sans restaurer le terminal à son état précédent. Avec Python, cela arrive "
"votre code est bogué et soulève une exception non interceptée. Les touches " "souvent lorsque votre code est bogué et lève une exception non interceptée. "
"ne sont plus répétées à l'écran lorsque vous les tapez, par exemple, ce qui " "Les touches ne sont plus répétées à l'écran lorsque vous les tapez, par "
"rend l'utilisation du shell difficile." "exemple, ce qui rend l'utilisation de l'interface de commande du *shell* "
"difficile."
#: howto/curses.rst:137 #: howto/curses.rst:137
msgid "" msgid ""
@ -286,8 +285,7 @@ msgid ""
"by importing the :func:`curses.wrapper` function and using it like this::" "by importing the :func:`curses.wrapper` function and using it like this::"
msgstr "" msgstr ""
"En Python, vous pouvez éviter ces complications et faciliter le débogage en " "En Python, vous pouvez éviter ces complications et faciliter le débogage en "
"important la fonction :func:`curses.wrapper` et en l'utilisant comme " "important la fonction :func:`curses.wrapper` et en l'utilisant comme suit ::"
"suit : ::"
#: howto/curses.rst:156 #: howto/curses.rst:156
msgid "" msgid ""
@ -303,17 +301,17 @@ msgid ""
msgstr "" msgstr ""
"La fonction :func:`~curses.wrapper` prend un objet appelable et fait les " "La fonction :func:`~curses.wrapper` prend un objet appelable et fait les "
"initialisations décrites ci-dessus, initialisant également les couleurs si " "initialisations décrites ci-dessus, initialisant également les couleurs si "
"le support de couleur est présent. :func:`wrapper` lance votre appelable " "la gestion des couleurs est possible. :func:`wrapper` lance l'appelable "
"fourni. Une fois que l'appelable renvoie, :func:`wrapper` restaure l'état " "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:" "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 " "`try`...\\ :keyword:`except` qui capture les exceptions, restaure l'état du "
"terminal, puis relance l'exception. Par conséquent, votre terminal ne sera " "terminal, puis relève l'exception. Par conséquent, votre terminal ne reste "
"pas laissé dans un drôle d'état sur l'exception et vous pourrez lire le " "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'appel." "message de l'exception et la trace de la pile d'appels."
#: howto/curses.rst:168 #: howto/curses.rst:168
msgid "Windows and Pads" msgid "Windows and Pads"
msgstr "Fenêtres et *Pads*" msgstr "Fenêtres et tampons (*pads* en anglais)"
#: howto/curses.rst:170 #: howto/curses.rst:170
msgid "" msgid ""
@ -321,8 +319,8 @@ msgid ""
"rectangular area of the screen, and supports methods to display text, erase " "rectangular area of the screen, and supports methods to display text, erase "
"it, allow the user to input strings, and so forth." "it, allow the user to input strings, and so forth."
msgstr "" msgstr ""
"Les fenêtres sont l'abstraction de base de *curses*. Un objet de fenêtre " "Les fenêtres sont l'abstraction de base de *curses*. Un objet fenêtre "
"représente une zone rectangulaire de l'écran et supporte des méthodes pour " "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 " "afficher du texte, l'effacer, permettre à l'utilisateur de saisir des "
"chaînes, etc." "chaînes, etc."
@ -336,11 +334,11 @@ msgid ""
"window object. ::" "window object. ::"
msgstr "" msgstr ""
"L'objet ``stdscr`` renvoyé par la fonction :func:`~curses.initscr` est un " "L'objet ``stdscr`` renvoyé par la fonction :func:`~curses.initscr` est un "
"objet de fenêtre qui couvre l'écran entier. De nombreux programmes peuvent " "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 " "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 " "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 " "séparément. La fonction :func:`~curses.newwin` crée une nouvelle fenêtre "
"d'une taille donnée, retournant le nouvel objet fenêtre. : ::" "d'une taille donnée, renvoyant le nouvel objet fenêtre. ::"
#: howto/curses.rst:185 #: howto/curses.rst:185
msgid "" msgid ""
@ -352,12 +350,12 @@ msgid ""
"curses since it was first written, and it's too late to change things now." "curses since it was first written, and it's too late to change things now."
msgstr "" msgstr ""
"Notez que le système de coordonnées utilisé dans *curses* est inhabituel. " "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 " "Les coordonnées sont toujours passées dans l'ordre *y,x* et le coin "
"supérieur gauche d'une fenêtre est la coordonnée (0,0). Ceci rompt la " "supérieur gauche d'une fenêtre a pour coordonnées (0,0). Ceci rompt la "
"convention normale de traitement des coordonnées où la coordonnée *x* vient " "convention normale des coordonnées où la coordonnée *x* vient en premier. "
"en premier. C'est une différence malheureuse par rapport à la plupart des " "C'est une différence malheureuse par rapport à la plupart des autres "
"autres applications informatiques, mais elle fait partie de *curses* depuis " "applications informatiques, mais elle fait partie de *curses* depuis qu'il a "
"qu'il a été écrit, et il est trop tard pour changer les choses maintenant." "été écrit et il est trop tard pour changer les choses maintenant."
#: howto/curses.rst:193 #: howto/curses.rst:193
msgid "" msgid ""
@ -368,8 +366,8 @@ msgid ""
msgstr "" msgstr ""
"Votre application peut déterminer la taille de l'écran en utilisant les " "Votre application peut déterminer la taille de l'écran en utilisant les "
"variables :data:`curses.LINES` et :data:`curses.COLS` pour obtenir les " "variables :data:`curses.LINES` et :data:`curses.COLS` pour obtenir les "
"tailles *y* et *x*. Les coordonnées légales s'étendront alors de ``(0,0)`` " "tailles *y* et *x*. Les coordonnées licites s'étendent alors de ``(0,0)`` à "
"à ``(*curses*.LINES - 1, *curses*.COLS - 1)``." "``(curses.LINES - 1, curses.COLS - 1)``."
#: howto/curses.rst:198 #: howto/curses.rst:198
msgid "" msgid ""
@ -377,6 +375,9 @@ msgid ""
"immediately show up on the display. Instead you must call the :meth:" "immediately show up on the display. Instead you must call the :meth:"
"`~curses.window.refresh` method of window objects to update the screen." "`~curses.window.refresh` method of window objects to update the screen."
msgstr "" 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."
#: howto/curses.rst:203 #: howto/curses.rst:203
msgid "" msgid ""
@ -388,6 +389,14 @@ msgid ""
"and then clears the window, there's no need to send the original text " "and then clears the window, there's no need to send the original text "
"because they're never visible." "because they're never visible."
msgstr "" 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."
#: howto/curses.rst:212 #: howto/curses.rst:212
msgid "" msgid ""
@ -398,6 +407,14 @@ msgid ""
"redrawn before pausing to wait for user input, by first calling ``stdscr." "redrawn before pausing to wait for user input, by first calling ``stdscr."
"refresh()`` or the :meth:`refresh` method of some other relevant window." "refresh()`` or the :meth:`refresh` method of some other relevant window."
msgstr "" 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."
#: howto/curses.rst:220 #: howto/curses.rst:220
msgid "" msgid ""
@ -407,6 +424,12 @@ msgid ""
"giving the coordinates of the on-screen area where a subsection of the pad " "giving the coordinates of the on-screen area where a subsection of the pad "
"will be displayed. ::" "will be displayed. ::"
msgstr "" 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."
#: howto/curses.rst:241 #: howto/curses.rst:241
msgid "" msgid ""
@ -416,6 +439,11 @@ msgid ""
"Beyond that difference, pads are exactly like ordinary windows and support " "Beyond that difference, pads are exactly like ordinary windows and support "
"the same methods." "the same methods."
msgstr "" 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."
#: howto/curses.rst:247 #: howto/curses.rst:247
msgid "" msgid ""
@ -423,28 +451,39 @@ msgid ""
"way to update the screen and prevent annoying screen flicker as each part of " "way to update the screen and prevent annoying screen flicker as each part of "
"the screen gets updated. :meth:`refresh` actually does two things:" "the screen gets updated. :meth:`refresh` actually does two things:"
msgstr "" 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 :"
#: howto/curses.rst:252 #: howto/curses.rst:252
msgid "" msgid ""
"Calls the :meth:`~curses.window.noutrefresh` method of each window to update " "Calls the :meth:`~curses.window.noutrefresh` method of each window to update "
"an underlying data structure representing the desired state of the screen." "an underlying data structure representing the desired state of the screen."
msgstr "" 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 ;"
#: howto/curses.rst:255 #: howto/curses.rst:255
msgid "" msgid ""
"Calls the function :func:`~curses.doupdate` function to change the physical " "Calls the function :func:`~curses.doupdate` function to change the physical "
"screen to match the desired state recorded in the data structure." "screen to match the desired state recorded in the data structure."
msgstr "" 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."
#: howto/curses.rst:258 #: howto/curses.rst:258
msgid "" msgid ""
"Instead you can call :meth:`noutrefresh` on a number of windows to update " "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." "the data structure, and then call :func:`doupdate` to update the screen."
msgstr "" 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."
#: howto/curses.rst:264 #: howto/curses.rst:264
msgid "Displaying Text" msgid "Displaying Text"
msgstr "" msgstr "Affichage de texte"
#: howto/curses.rst:266 #: howto/curses.rst:266
msgid "" msgid ""
@ -456,6 +495,14 @@ msgid ""
"allows specifying a window to use instead of using ``stdscr`` by default. :c:" "allows specifying a window to use instead of using ``stdscr`` by default. :c:"
"func:`mvwaddstr` allows specifying both a window and a coordinate." "func:`mvwaddstr` allows specifying both a window and a coordinate."
msgstr "" 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."
#: howto/curses.rst:275 #: howto/curses.rst:275
msgid "" msgid ""
@ -464,10 +511,14 @@ msgid ""
"addstr` accept multiple argument forms. Usually there are four different " "addstr` accept multiple argument forms. Usually there are four different "
"forms." "forms."
msgstr "" 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."
#: howto/curses.rst:281 #: howto/curses.rst:281
msgid "Form" msgid "Form"
msgstr "" msgstr "Forme"
#: howto/curses.rst:281 howto/curses.rst:350 #: howto/curses.rst:281 howto/curses.rst:350
msgid "Description" msgid "Description"
@ -475,39 +526,45 @@ msgstr "Description"
#: howto/curses.rst:283 #: howto/curses.rst:283
msgid "*str* or *ch*" msgid "*str* or *ch*"
msgstr "" msgstr "*str* ou *ch*"
#: howto/curses.rst:283 #: howto/curses.rst:283
msgid "Display the string *str* or character *ch* at the current position" 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"
#: howto/curses.rst:286 #: howto/curses.rst:286
msgid "*str* or *ch*, *attr*" msgid "*str* or *ch*, *attr*"
msgstr "" msgstr "*str* ou *ch*, *attr*"
#: howto/curses.rst:286 #: howto/curses.rst:286
msgid "" msgid ""
"Display the string *str* or character *ch*, using attribute *attr* at the " "Display the string *str* or character *ch*, using attribute *attr* at the "
"current position" "current position"
msgstr "" msgstr ""
"Affiche la chaîne *str* ou le caractère *ch*, en utilisant l'attribut *attr* "
"à la position actuelle"
#: howto/curses.rst:290 #: howto/curses.rst:290
msgid "*y*, *x*, *str* or *ch*" msgid "*y*, *x*, *str* or *ch*"
msgstr "" msgstr "*y*, *x*, *str* ou *ch*"
#: howto/curses.rst:290 #: howto/curses.rst:290
msgid "Move to position *y,x* within the window, and display *str* or *ch*" msgid "Move to position *y,x* within the window, and display *str* or *ch*"
msgstr "" msgstr ""
"Se déplace à la position *y,x* dans la fenêtre et affiche la chaîne *str* ou "
"le caractère *ch*"
#: howto/curses.rst:293 #: howto/curses.rst:293
msgid "*y*, *x*, *str* or *ch*, *attr*" msgid "*y*, *x*, *str* or *ch*, *attr*"
msgstr "" msgstr "*y*, *x*, *str* ou *ch*, *attr*"
#: howto/curses.rst:293 #: howto/curses.rst:293
msgid "" msgid ""
"Move to position *y,x* within the window, and display *str* or *ch*, using " "Move to position *y,x* within the window, and display *str* or *ch*, using "
"attribute *attr*" "attribute *attr*"
msgstr "" 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*"
#: howto/curses.rst:297 #: howto/curses.rst:297
msgid "" msgid ""
@ -515,6 +572,9 @@ msgid ""
"underline, reverse code, or in color. They'll be explained in more detail " "underline, reverse code, or in color. They'll be explained in more detail "
"in the next subsection." "in the next subsection."
msgstr "" 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."
#: howto/curses.rst:302 #: howto/curses.rst:302
msgid "" msgid ""
@ -524,12 +584,21 @@ msgid ""
"window's :attr:`encoding` attribute; this defaults to the default system " "window's :attr:`encoding` attribute; this defaults to the default system "
"encoding as returned by :func:`locale.getpreferredencoding`." "encoding as returned by :func:`locale.getpreferredencoding`."
msgstr "" 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`."
#: howto/curses.rst:309 #: howto/curses.rst:309
msgid "" msgid ""
"The :meth:`~curses.window.addch` methods take a character, which can be " "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." "either a string of length 1, a bytestring of length 1, or an integer."
msgstr "" 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."
#: howto/curses.rst:312 #: howto/curses.rst:312
msgid "" msgid ""
@ -538,6 +607,11 @@ msgid ""
"symbol, and :const:`ACS_ULCORNER` is the upper left corner of a box (handy " "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." "for drawing borders). You can also use the appropriate Unicode character."
msgstr "" 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."
#: howto/curses.rst:318 #: howto/curses.rst:318
msgid "" msgid ""
@ -549,6 +623,14 @@ msgid ""
"some location where it won't be distracting; it can be confusing to have the " "some location where it won't be distracting; it can be confusing to have the "
"cursor blinking at some apparently random location." "cursor blinking at some apparently random location."
msgstr "" 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)."
#: howto/curses.rst:326 #: howto/curses.rst:326
msgid "" msgid ""
@ -559,10 +641,17 @@ msgid ""
"attempt to suppress the flashing cursor, and you won't need to worry about " "attempt to suppress the flashing cursor, and you won't need to worry about "
"leaving it in odd locations." "leaving it in odd locations."
msgstr "" 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."
#: howto/curses.rst:335 #: howto/curses.rst:335
msgid "Attributes and Color" msgid "Attributes and Color"
msgstr "" msgstr "Attributs et couleurs"
#: howto/curses.rst:337 #: howto/curses.rst:337
msgid "" msgid ""
@ -571,6 +660,11 @@ msgid ""
"to highlight certain words. curses supports this by allowing you to specify " "to highlight certain words. curses supports this by allowing you to specify "
"an attribute for each cell on the screen." "an attribute for each cell on the screen."
msgstr "" 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."
#: howto/curses.rst:342 #: howto/curses.rst:342
msgid "" msgid ""
@ -581,6 +675,13 @@ msgid ""
"being used, so it's safest to stick to the most commonly available " "being used, so it's safest to stick to the most commonly available "
"attributes, listed here." "attributes, listed here."
msgstr "" 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."
#: howto/curses.rst:350 #: howto/curses.rst:350
msgid "Attribute" msgid "Attribute"
@ -588,57 +689,59 @@ msgstr "Attribut"
#: howto/curses.rst:352 #: howto/curses.rst:352
msgid ":const:`A_BLINK`" msgid ":const:`A_BLINK`"
msgstr "" msgstr ":const:`A_BLINK`"
#: howto/curses.rst:352 #: howto/curses.rst:352
msgid "Blinking text" msgid "Blinking text"
msgstr "" msgstr "Texte clignotant"
#: howto/curses.rst:354 #: howto/curses.rst:354
msgid ":const:`A_BOLD`" msgid ":const:`A_BOLD`"
msgstr "" msgstr ":const:`A_BOLD`"
#: howto/curses.rst:354 #: howto/curses.rst:354
msgid "Extra bright or bold text" msgid "Extra bright or bold text"
msgstr "" msgstr "Texte en surbrillance ou en gras"
#: howto/curses.rst:356 #: howto/curses.rst:356
msgid ":const:`A_DIM`" msgid ":const:`A_DIM`"
msgstr "" msgstr ":const:`A_DIM`"
#: howto/curses.rst:356 #: howto/curses.rst:356
msgid "Half bright text" msgid "Half bright text"
msgstr "" msgstr "Texte en demi-ton"
#: howto/curses.rst:358 #: howto/curses.rst:358
msgid ":const:`A_REVERSE`" msgid ":const:`A_REVERSE`"
msgstr "" msgstr ":const:`A_REVERSE`"
#: howto/curses.rst:358 #: howto/curses.rst:358
msgid "Reverse-video text" msgid "Reverse-video text"
msgstr "" msgstr "Texte en mode vidéo inversé"
#: howto/curses.rst:360 #: howto/curses.rst:360
msgid ":const:`A_STANDOUT`" msgid ":const:`A_STANDOUT`"
msgstr "" msgstr ":const:`A_STANDOUT`"
#: howto/curses.rst:360 #: howto/curses.rst:360
msgid "The best highlighting mode available" msgid "The best highlighting mode available"
msgstr "" msgstr "Le meilleur mode de mis en valeur pour le texte"
#: howto/curses.rst:362 #: howto/curses.rst:362
msgid ":const:`A_UNDERLINE`" msgid ":const:`A_UNDERLINE`"
msgstr "" msgstr ":const:`A_UNDERLINE`"
#: howto/curses.rst:362 #: howto/curses.rst:362
msgid "Underlined text" msgid "Underlined text"
msgstr "" msgstr "Texte souligné"
#: howto/curses.rst:365 #: howto/curses.rst:365
msgid "" msgid ""
"So, to display a reverse-video status line on the top line of the screen, " "So, to display a reverse-video status line on the top line of the screen, "
"you could code::" "you could code::"
msgstr "" msgstr ""
"Ainsi, pour mettre la ligne de statut située en haut de l'écran en mode "
"vidéo inversé, vous pouvez coder ::"
#: howto/curses.rst:372 #: howto/curses.rst:372
msgid "" msgid ""
@ -646,6 +749,9 @@ msgid ""
"The most common such terminal is probably the Linux console, followed by " "The most common such terminal is probably the Linux console, followed by "
"color xterms." "color xterms."
msgstr "" 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."
#: howto/curses.rst:376 #: howto/curses.rst:376
msgid "" msgid ""
@ -658,6 +764,14 @@ msgid ""
"to the British spelling, you'll have to resign yourself to misspelling it " "to the British spelling, you'll have to resign yourself to misspelling it "
"for the sake of these functions.)" "for the sake of these functions.)"
msgstr "" 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*)."
#: howto/curses.rst:386 #: howto/curses.rst:386
msgid "" msgid ""
@ -668,10 +782,19 @@ msgid ""
"as :const:`A_REVERSE`, but again, such combinations are not guaranteed to " "as :const:`A_REVERSE`, but again, such combinations are not guaranteed to "
"work on all terminals." "work on all terminals."
msgstr "" 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."
#: howto/curses.rst:393 #: howto/curses.rst:393
msgid "An example, which displays a line of text using color pair 1::" msgid "An example, which displays a line of text using color pair 1::"
msgstr "" msgstr ""
"Un exemple d'affichage d'une ligne de texte en utilisant la paire de couleur "
"1 ::"
#: howto/curses.rst:398 #: howto/curses.rst:398
msgid "" msgid ""
@ -680,6 +803,11 @@ msgid ""
"pair *n*, to foreground color f and background color b. Color pair 0 is " "pair *n*, to foreground color f and background color b. Color pair 0 is "
"hard-wired to white on black, and cannot be changed." "hard-wired to white on black, and cannot be changed."
msgstr "" 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."
#: howto/curses.rst:403 #: howto/curses.rst:403
msgid "" msgid ""
@ -689,12 +817,20 @@ msgid ""
"named constants for each of these colors: :const:`curses.COLOR_BLACK`, :" "named constants for each of these colors: :const:`curses.COLOR_BLACK`, :"
"const:`curses.COLOR_RED`, and so forth." "const:`curses.COLOR_RED`, and so forth."
msgstr "" 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."
#: howto/curses.rst:409 #: howto/curses.rst:409
msgid "" msgid ""
"Let's put all this together. To change color 1 to red text on a white " "Let's put all this together. To change color 1 to red text on a white "
"background, you would call::" "background, you would call::"
msgstr "" msgstr ""
"Testons tout ça. Pour changer la couleur 1 à rouge sur fond blanc, appelez ::"
#: howto/curses.rst:414 #: howto/curses.rst:414
msgid "" msgid ""
@ -702,6 +838,9 @@ msgid ""
"pair will change to the new colors. You can also display new text in this " "pair will change to the new colors. You can also display new text in this "
"color with::" "color with::"
msgstr "" 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 ::"
#: howto/curses.rst:420 #: howto/curses.rst:420
msgid "" msgid ""
@ -714,10 +853,19 @@ msgid ""
"there. If you're lucky enough to have such a talented terminal, consult " "there. If you're lucky enough to have such a talented terminal, consult "
"your system's man pages for more information." "your system's man pages for more information."
msgstr "" 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."
#: howto/curses.rst:431 #: howto/curses.rst:431
msgid "User Input" msgid "User Input"
msgstr "" msgstr "Entrées de l'utilisateur"
#: howto/curses.rst:433 #: howto/curses.rst:433
msgid "" msgid ""
@ -726,10 +874,14 @@ msgid ""
"`Urwid <https://pypi.org/project/urwid/>`_ have more extensive collections " "`Urwid <https://pypi.org/project/urwid/>`_ have more extensive collections "
"of widgets.)" "of widgets.)"
msgstr "" 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)."
#: howto/curses.rst:438 #: howto/curses.rst:438
msgid "There are two methods for getting input from a window:" 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 :"
#: howto/curses.rst:440 #: howto/curses.rst:440
msgid "" msgid ""
@ -738,6 +890,10 @@ msgid ""
"called earlier. You can optionally specify a coordinate to which the cursor " "called earlier. You can optionally specify a coordinate to which the cursor "
"should be moved before pausing." "should be moved before pausing."
msgstr "" 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 ;"
#: howto/curses.rst:445 #: howto/curses.rst:445
msgid "" msgid ""
@ -746,6 +902,11 @@ msgid ""
"special keys such as function keys return longer strings containing a key " "special keys such as function keys return longer strings containing a key "
"name such as ``KEY_UP`` or ``^G``." "name such as ``KEY_UP`` or ``^G``."
msgstr "" 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``)."
#: howto/curses.rst:450 #: howto/curses.rst:450
msgid "" msgid ""
@ -758,6 +919,15 @@ msgid ""
"`getch`; if no input becomes available within a specified delay (measured in " "`getch`; if no input becomes available within a specified delay (measured in "
"tenths of a second), curses raises an exception." "tenths of a second), curses raises an exception."
msgstr "" 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."
#: howto/curses.rst:460 #: howto/curses.rst:460
msgid "" msgid ""
@ -768,6 +938,13 @@ msgid ""
"`curses.KEY_HOME`, or :const:`curses.KEY_LEFT`. The main loop of your " "`curses.KEY_HOME`, or :const:`curses.KEY_LEFT`. The main loop of your "
"program may look something like this::" "program may look something like this::"
msgstr "" 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 ::"
#: howto/curses.rst:476 #: howto/curses.rst:476
msgid "" msgid ""
@ -778,6 +955,13 @@ msgid ""
"arguments and return the same type. For example, :func:`curses.ascii.ctrl` " "arguments and return the same type. For example, :func:`curses.ascii.ctrl` "
"returns the control character corresponding to its argument." "returns the control character corresponding to its argument."
msgstr "" 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."
#: howto/curses.rst:483 #: howto/curses.rst:483
msgid "" msgid ""
@ -787,6 +971,11 @@ msgid ""
"key, which terminates the string. It can optionally be limited to a fixed " "key, which terminates the string. It can optionally be limited to a fixed "
"number of characters. ::" "number of characters. ::"
msgstr "" 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. ::"
#: howto/curses.rst:494 #: howto/curses.rst:494
msgid "" msgid ""
@ -795,15 +984,22 @@ msgid ""
"Textbox` class support editing with input validation and gathering the edit " "Textbox` class support editing with input validation and gathering the edit "
"results either with or without trailing spaces. Here's an example::" "results either with or without trailing spaces. Here's an example::"
msgstr "" 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 ::"
#: howto/curses.rst:518 #: howto/curses.rst:518
msgid "" msgid ""
"See the library documentation on :mod:`curses.textpad` for more details." "See the library documentation on :mod:`curses.textpad` for more details."
msgstr "" msgstr ""
"Consultez la documentation de la bibliothèque pour plus de détails sur :mod:"
"`curses.textpad`."
#: howto/curses.rst:522 #: howto/curses.rst:522
msgid "For More Information" msgid "For More Information"
msgstr "" msgstr "Pour aller plus loin"
#: howto/curses.rst:524 #: howto/curses.rst:524
msgid "" msgid ""
@ -812,6 +1008,11 @@ msgid ""
"Python library page for the :mod:`curses` module is now reasonably " "Python library page for the :mod:`curses` module is now reasonably "
"complete. You should browse it next." "complete. You should browse it next."
msgstr "" 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."
#: howto/curses.rst:529 #: howto/curses.rst:529
msgid "" msgid ""
@ -821,6 +1022,12 @@ msgid ""
"quirks, and provide complete lists of all the functions, attributes, and :" "quirks, and provide complete lists of all the functions, attributes, and :"
"const:`ACS_\\*` characters available to you." "const:`ACS_\\*` characters available to you."
msgstr "" 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."
#: howto/curses.rst:536 #: howto/curses.rst:536
msgid "" msgid ""
@ -831,21 +1038,34 @@ msgid ""
"would be welcome; see `the Python Developer's Guide <https://devguide.python." "would be welcome; see `the Python Developer's Guide <https://devguide.python."
"org/>`_ to learn more about submitting patches to Python." "org/>`_ to learn more about submitting patches to Python."
msgstr "" 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."
#: howto/curses.rst:544 #: howto/curses.rst:544
msgid "" msgid ""
"`Writing Programs with NCURSES <http://invisible-island.net/ncurses/ncurses-" "`Writing Programs with NCURSES <http://invisible-island.net/ncurses/ncurses-"
"intro.html>`_: a lengthy tutorial for C programmers." "intro.html>`_: a lengthy tutorial for C programmers."
msgstr "" msgstr ""
"`Writing Programs with NCURSES <http://invisible-island.net/ncurses/ncurses-"
"intro.html>`_ : un long tutoriel pour les programmeurs C (ressource en "
"anglais)."
#: howto/curses.rst:546 #: howto/curses.rst:546
msgid "`The ncurses man page <https://linux.die.net/man/3/ncurses>`_" 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>`_"
#: howto/curses.rst:547 #: howto/curses.rst:547
msgid "" msgid ""
"`The ncurses FAQ <http://invisible-island.net/ncurses/ncurses.faq.html>`_" "`The ncurses FAQ <http://invisible-island.net/ncurses/ncurses.faq.html>`_"
msgstr "" msgstr ""
"`La FAQ ncurses <http://invisible-island.net/ncurses/ncurses.faq.html>`_ "
"(ressource en anglais)"
#: howto/curses.rst:548 #: howto/curses.rst:548
msgid "" msgid ""
@ -853,6 +1073,9 @@ msgid ""
"v=eN1eZtjLEnU>`_: video of a PyCon 2013 talk on controlling terminals using " "v=eN1eZtjLEnU>`_: video of a PyCon 2013 talk on controlling terminals using "
"curses or Urwid." "curses or Urwid."
msgstr "" 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)."
#: howto/curses.rst:550 #: howto/curses.rst:550
msgid "" msgid ""
@ -860,3 +1083,6 @@ msgid ""
"console-applications-with-urwid>`_: video of a PyCon CA 2012 talk " "console-applications-with-urwid>`_: video of a PyCon CA 2012 talk "
"demonstrating some applications written using Urwid." "demonstrating some applications written using Urwid."
msgstr "" 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*."