# translation of dselect to French
# Messages français pour dpkg (Linux-GNU Debian).
# Copyright (C) 1997 Christophe Le Bars <clebars@debian.org>.
# Copyright (C) 2000 Jérôme Marant <jerome.marant@free.fr>
# Copyright (C) 2000, 2001, 2002 Martin Quinson <Martin.Quinson@tuxfamily.org>
# Copyright (C) 2005-2009 Christian Perrier <bubulle@debian.org>
#
#
# #######################################"
# Notes de traduction
# maintainer: responsable
# package: paquet
# to divert: détourner
# to set: paramétrer
# status: état
# unable: impossible
# failure: échec
# warning: avertissement
# to scan: parcourir
# force: forçage
# pattern: motif?
# to overwrite: remplacer?
# to stat: analyser?
# to rewind: revenir? (rembobiner?)
# incorporated: incorporé?
# unable seek: déplacement impossible?
# padding: remplissage?
# out of memory: manque de mémoire?
# file details field: champ détail de fichier?
# matching: correspondance?
# epoch: époque ?
# on hold: à garder
# checksums?
# depot?
# has trailing garbage?
# resolves to degenerate filename?
# readlink?
# mess?
# timestamps?
# to seek?
# buffering?
# handler?
# garbage?
# junk?
# abréviation postint...
# to fsync (synchroniser?)
#
# Christian Perrier <bubulle@debian.org>, 2005, 2006, 2007, 2008, 2009, 2010.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
"POT-Creation-Date: 2011-10-14 07:11+0200\n"
"PO-Revision-Date: 2010-03-12 07:16+0100\n"
"Last-Translator: Christian Perrier <bubulle@debian.org>\n"
"Language-Team: fr <debian-l10n-french@lists.debian.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: Plural-Forms: nplurals=2; plural=n>1;\n"

#: dselect/basecmds.cc:125
msgid "Search for ? "
msgstr "Rechercher ?"

#: dselect/basecmds.cc:147
msgid "Error: "
msgstr "Erreur : "

#: dselect/basecmds.cc:178
msgid "Help: "
msgstr "Aide : "

#: dselect/basecmds.cc:184
msgid "Press ? for help menu, . for next topic, <space> to exit help."
msgstr ""
"Appuyez sur ? pour un menu d'aide, . pour le sujet suivant, <espace>\n"
"pour quitter l'aide."

#: dselect/basecmds.cc:191
msgid "Help information is available under the following topics:"
msgstr "L'information d'aide est accessible au travers des thèmes suivants :"

#: dselect/basecmds.cc:199
msgid ""
"Press a key from the list above, <space> or `q' to exit help,\n"
"  or `.' (full stop) to read each help page in turn. "
msgstr ""
"Appuyez sur une des touches listées ci-dessus,\n"
"  <espace> ou « q » pour sortir de l'aide,\n"
"  ou . pour lire chaque page tour à tour. "

#: dselect/basecmds.cc:205
msgid "error reading keyboard in help"
msgstr "erreur de lecture du clavier dans l'aide"

#: dselect/baselist.cc:57
msgid "ioctl(TIOCGWINSZ) failed"
msgstr "échec de « ioctl(TIOCGWINSZ) »"

#: dselect/baselist.cc:60
msgid "doupdate in SIGWINCH handler failed"
msgstr "échec de doupdate dans le gestionnaire de SIGWINCH"

#: dselect/baselist.cc:67
msgid "failed to restore old SIGWINCH sigact"
msgstr "impossible de réinstaller l'ancien sigact de SIGWINCH"

#: dselect/baselist.cc:69
msgid "failed to restore old signal mask"
msgstr "impossible de réinstaller l'ancien masque de signal"

#: dselect/baselist.cc:79
msgid "failed to get old signal mask"
msgstr "impossible de récupérer l'ancien masque de signal"

#: dselect/baselist.cc:80
msgid "failed to get old SIGWINCH sigact"
msgstr "impossible de récupérer l'ancien sigact de SIGWINCH"

#: dselect/baselist.cc:84
msgid "failed to block SIGWINCH"
msgstr "impossible de bloquer SIGWINCH"

#: dselect/baselist.cc:89
msgid "failed to set new SIGWINCH sigact"
msgstr "impossible de positionner le nouveau sigact de SIGWINCH"

#: dselect/baselist.cc:126
msgid "failed to allocate colour pair"
msgstr "impossible d'allouer une paire de couleurs"

#: dselect/baselist.cc:167
msgid "failed to create title window"
msgstr "impossible de créer la fenêtre de titre"

#: dselect/baselist.cc:171
msgid "failed to create whatinfo window"
msgstr "impossible de créer la fenêtre d'à propos"

#: dselect/baselist.cc:175
msgid "failed to create baselist pad"
msgstr "impossible de créer la zone de liste de base"

#: dselect/baselist.cc:178
msgid "failed to create heading pad"
msgstr "impossible de créer la zone d'en-tête"

#: dselect/baselist.cc:182
msgid "failed to create thisstate pad"
msgstr "impossible de créer la zone d'état"

#: dselect/baselist.cc:186
msgid "failed to create info pad"
msgstr "impossible de créer la zone d'info"

#: dselect/baselist.cc:191
msgid "failed to create query window"
msgstr "impossible de créer la fenêtre de requête"

#: dselect/baselist.cc:255
msgid "Keybindings"
msgstr "Affectations de touches"

#: dselect/baselist.cc:303
#, c-format
msgid "  -- %d%%, press "
msgstr "  -- %d%%, appuyez sur "

#: dselect/baselist.cc:306
#, c-format
msgid "%s for more"
msgstr "%s pour plus d'informations"

#: dselect/baselist.cc:310
#, c-format
msgid "%s to go back"
msgstr "%s pour revenir en arrière"

#: dselect/bindings.cc:78
msgid "[not bound]"
msgstr "[pas de correspondance]"

#: dselect/bindings.cc:82
#, c-format
msgid "[unk: %d]"
msgstr "[inconnu : %d]"

#: dselect/bindings.cc:139
msgid "Scroll onwards through help/information"
msgstr "Faire défiler l'aide/information en avant"

#: dselect/bindings.cc:140
msgid "Scroll backwards through help/information"
msgstr "Faire défiler l'aide/information en arrière"

#: dselect/bindings.cc:141
msgid "Move up"
msgstr "Se déplacer vers le haut"

#: dselect/bindings.cc:142
msgid "Move down"
msgstr "Se déplacer vers le bas"

#: dselect/bindings.cc:143
msgid "Go to top of list"
msgstr "Aller au début de la liste"

#: dselect/bindings.cc:144
msgid "Go to end of list"
msgstr "Aller à la fin de la liste"

#: dselect/bindings.cc:145
msgid "Request help (cycle through help screens)"
msgstr "Demander de l'aide (faire défiler les écrans d'information)"

#: dselect/bindings.cc:146
msgid "Cycle through information displays"
msgstr "Faire défiler les écrans d'information"

#: dselect/bindings.cc:147
msgid "Redraw display"
msgstr "Redessiner l'écran"

#: dselect/bindings.cc:148
msgid "Scroll onwards through list by 1 line"
msgstr "Faire défiler la liste en avant ligne par ligne"

#: dselect/bindings.cc:149
msgid "Scroll backwards through list by 1 line"
msgstr "Faire défiler la liste en arrière ligne par ligne"

#: dselect/bindings.cc:150
msgid "Scroll onwards through help/information by 1 line"
msgstr "Faire défiler l'aide/information en avant ligne par ligne"

#: dselect/bindings.cc:151
msgid "Scroll backwards through help/information by 1 line"
msgstr "Faire défiler l'aide/information en arrière ligne par ligne"

#: dselect/bindings.cc:152
msgid "Scroll onwards through list"
msgstr "Faire défiler la liste en avant"

#: dselect/bindings.cc:153
msgid "Scroll backwards through list"
msgstr "Faire défiler la liste en arrière"

#: dselect/bindings.cc:156
msgid "Mark package(s) for installation"
msgstr "Sélectionner le(s) paquet(s) à installer"

#: dselect/bindings.cc:157
msgid "Mark package(s) for deinstallation"
msgstr "Sélectionner le(s) paquet(s) à désinstaller"

#: dselect/bindings.cc:158
msgid "Mark package(s) for deinstall and purge"
msgstr "Sélectionner le(s) paquet(s) à désinstaller et purger"

#: dselect/bindings.cc:159
msgid "Make highlight more specific"
msgstr "Rendre le surlignage plus explicite"

#: dselect/bindings.cc:160
msgid "Make highlight less specific"
msgstr "Rendre le surlignage moins explicite"

#: dselect/bindings.cc:161
msgid "Search for a package whose name contains a string"
msgstr "Rechercher un paquet dont le nom contient une chaîne particulière"

#: dselect/bindings.cc:162
msgid "Repeat last search."
msgstr "Répéter la dernière recherche."

#: dselect/bindings.cc:163
msgid "Swap sort order priority/section"
msgstr "Échanger l'ordre du tri priorité/section"

#: dselect/bindings.cc:164
msgid "Quit, confirming, and checking dependencies"
msgstr "Quitter, confirmer et vérifier les dépendances"

#: dselect/bindings.cc:165
msgid "Quit, confirming without check"
msgstr "Quitter et confirmer sans vérification"

#: dselect/bindings.cc:166
msgid "Quit, rejecting conflict/dependency suggestions"
msgstr "Quitter et refuser les suggestions de conflit/dépendance"

#: dselect/bindings.cc:167
msgid "Abort - quit without making changes"
msgstr "Annuler - quitter sans effectuer de changements"

#: dselect/bindings.cc:168
msgid "Revert to old state for all packages"
msgstr "Retour à l'ancien état pour tous les paquets"

#: dselect/bindings.cc:169
msgid "Revert to suggested state for all packages"
msgstr "Retour à l'état suggéré pour tous les paquets"

#: dselect/bindings.cc:170
msgid "Revert to directly requested state for all packages"
msgstr "Retour à l'état directement demandé pour tous les paquets"

#: dselect/bindings.cc:171
msgid "Revert to currently installed state for all packages"
msgstr "Retour à l'état actuellement installé pour tous les paquets"

#: dselect/bindings.cc:174
msgid "Select currently-highlighted access method"
msgstr "Sélectionner la méthode d'accès actuellement surlignée"

#: dselect/bindings.cc:175
msgid "Quit without changing selected access method"
msgstr "Quitter sans changer la méthode d'accès précédemment sélectionnée"

#: dselect/helpmsgs.cc:29
msgid "Keystrokes"
msgstr "Combinaisons de touches"

#: dselect/helpmsgs.cc:29
msgid ""
"Motion keys: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
"  j, Down-arrow         k, Up-arrow             move highlight\n"
"  N, Page-down, Space   P, Page-up, Backspace   scroll list by 1 page\n"
"  ^n                    ^p                      scroll list by 1 line\n"
"  t, Home               e, End                  jump to top/end of list\n"
"  u                     d                       scroll info by 1 page\n"
"  ^u                    ^d                      scroll info by 1 line\n"
"  B, Left-arrow         F, Right-arrow          pan display by 1/3 screen\n"
"  ^b                    ^f                      pan display by 1 character\n"
"\n"
"Mark packages for later processing:\n"
" +, Insert  install or upgrade      =, H  hold in present state\n"
" -, Delete  remove                  :, G  unhold: upgrade or leave "
"uninstalled\n"
" _          remove & purge config\n"
"                                             Miscellaneous:\n"
"Quit, exit, overwrite (note capitals!):       ?, F1 request help (also "
"Help)\n"
" Return  Confirm, quit (check dependencies)   i, I  toggle/cycle info "
"displays\n"
"   Q     Confirm, quit (override dep.s)       o, O  cycle through sort "
"options\n"
" X, Esc  eXit, abandoning any changes made    v, V  change status display "
"opts\n"
"   R     Revert to state before this list      ^l   redraw display\n"
"   U     set all to sUggested state             /   search (Return to "
"cancel)\n"
"   D     set all to Directly requested state  n, \\  repeat last search\n"
msgstr ""
"Touches de déplacement : Suivant/Précédent, Début/Fin, Haut/Bas, Arrière/"
"Avant :\n"
" Flèche bas, j         Flèche haut, k       déplacement du surlignage\n"
" N, Page haut, Espace  P, Page bas, Efface  défilement liste d'une page\n"
" ^n                    ^p                   défilement liste d'une ligne\n"
" t, Début              e, Fin               aller au début/fin de la liste\n"
" u                     d                    faire défiler info d'une page\n"
" ^u                    ^d                   faire défiler info d'une ligne\n"
" B, Flèche gauche      F, Flèche droite     déplacer horiz. affichage de 1/3 "
"d'écran\n"
" ^b                    ^f                   déplacer horiz. affichage d'un "
"caractère\n"
"\n"
"Marquer les paquets à traiter ultérieurement :\n"
" +, Inser  installer ou mettre à niveau  =, H  marquer « à garder » (on "
"hold)\n"
" -, Suppr  supprimer                     :, G  mettre à niveau ou laisser "
"non installé\n"
" _         supprimer et purger config\n"
"                                             Divers :\n"
"Quitter, sortir, surcharger (! majuscules):   ?, F1 demander de l'aide (Aide "
"de même)\n"
" Return  Confirm. et quitte. (vérif depend.)    i, I  faire défiler écrans "
"d'info\n"
"   Q     Confirm. et quitte. (outrepass. dep.s) o, O  faire défiler les "
"options de tri\n"
" X, Esc  sortie, abandon des changements      v, V  change les options "
"d'affichage\n"
"   R     Retour. à l'état précèd cette liste  ^l   redessiner l'affichage\n"
"   U     tout positionner aux états suggérés    /   rechercher (Entrée pour "
"annuler)\n"
"   D     tout posit. à l'état directem. requis  \\  répéter la dernière "
"recherche\n"

#: dselect/helpmsgs.cc:55
msgid "Introduction to package selections"
msgstr "Introduction à la sélection des paquets"

#: dselect/helpmsgs.cc:55
msgid ""
"Welcome to dselect's main package listing.\n"
"\n"
"You will be presented with a list of packages which are installed or "
"available\n"
"for installation.  You can navigate around the list using the cursor keys,\n"
"mark packages for installation (using `+') or deinstallation (using `-').\n"
"Packages can be marked either singly or in groups; initially you will see "
"that\n"
"the line `All packages' is selected.  `+', `-' and so on will affect all "
"the\n"
"packages described by the highlighted line.\n"
"\n"
"Some of your choices will cause conflicts or dependency problems; you will "
"be\n"
"given a sub-list of the relevant packages, so that you can solve the "
"problems.\n"
"\n"
"You should read the list of keys and the explanations of the display.\n"
"Much on-line help is available, please make use of it - press `?' at\n"
"any time for help.\n"
"\n"
"When you have finished selecting packages, press <enter> to confirm "
"changes,\n"
"or `X' to quit without saving changes. A final check on conflicts and\n"
"dependencies will be done - here too you may see a sublist.\n"
"\n"
"Press <space> to leave help and enter the list now.\n"
msgstr ""
"Bienvenue dans la liste principale des paquets.\n"
"\n"
"Il va vous être présenté une liste des paquets qui sont installés ou qui\n"
"peuvent être installés. Vous pouvez naviguer au sein de la liste avec les\n"
"touches du curseur, marquer les paquets à installer (avec « + ») ou\n"
"désinstaller (avec « - »).\n"
"Les paquets peuvent être marqués soit individuellement soit par groupe ;\n"
"initialement vous noterez que la ligne « Tous les paquets » est\n"
"sélectionnée.  « + », « - » et autres affecteront alors tous les paquets\n"
"décrits par la ligne surlignée.\n"
"\n"
"Certains de vos choix entraîneront des problèmes de conflit ou de\n"
"dépendance ; il vous sera proposé une sous-liste de paquets pertinents, de\n"
"manière à ce que vous puissiez résoudre ces problèmes.\n"
"\n"
"Vous devriez lire la liste des touches disponibles et les explications sur\n"
"l'affichage. Une grande quantité d'aide en ligne est disponible, veuillez\n"
"l'utiliser. Appuyez sur « ? » à n'importe quel moment pour obtenir de\n"
"l'aide.\n"
"\n"
"Lorsque vous serez satisfaits de vos choix vous n'aurez qu'à appuyer sur\n"
"Entrée pour confirmer vos changements et quitter la liste des paquets, ou\n"
"sur « X » pour quitter la liste sans enregistrer vos changements. Une\n"
"vérification finale des conflits et des dépendances sera effectuée - ici\n"
"aussi vous verrez peut-être une sous-liste.\n"
"\n"
"Appuyez sur <espace> pour quitter l'aide et voir la liste.\n"

#: dselect/helpmsgs.cc:80
msgid "Introduction to read-only package list browser"
msgstr ""
"Introduction à la navigation dans la liste des paquets (mode lecture "
"seulement)"

#: dselect/helpmsgs.cc:80
msgid ""
"Welcome to dselect's main package listing.\n"
"\n"
"You will be presented with a list of packages which are installed or "
"available\n"
"for installation.  Since you do not have the privilege necessary to update\n"
"package states, you are in a read-only mode.  You can navigate around the\n"
"list using the cursor keys (please see the `Keystrokes' help screen), "
"observe\n"
"the status of the packages and read information about them.\n"
"\n"
"You should read the list of keys and the explanations of the display.\n"
"Much on-line help is available, please make use of it - press `?' at\n"
"any time for help.\n"
"\n"
"When you have finished browsing, press `Q' or <enter> to quit.\n"
"\n"
"Press <space> to leave help and enter the list now.\n"
msgstr ""
"Bienvenue dans la liste principale des paquets.\n"
"\n"
"Il va vous être présenté une liste des paquets qui sont installés ou qui\n"
"peuvent être installés. Étant donné que vous ne disposez pas du privilège\n"
"nécessaire à la mise à jour de l'état des paquets, la liste est en lecture\n"
"seule. Pour pouvez naviguer au sein de la liste au moyen des touches de\n"
"curseur (voir l'écran d'aide sur les combinaisons de touches), et consulter\n"
"les informations les concernant.\n"
"\n"
"Nous vous conseillons de prendre connaissance de la liste des touches et\n"
"des explications quant à l'affichage. Une grande quantité d'aide en ligne\n"
"est disponible, n'hésitez pas à vous en servir ! Appuyez sur « ? » à tout\n"
"moment pour obtenir de l'aide.\n"
"\n"
"Quand vous avez fini de parcourir la liste, appuyez sur « Q » ou <entrée> "
"pour\n"
"quitter.\n"
"\n"
"Appuyez sur <espace> pour quitter l'aide et accéder à la liste.\n"

#: dselect/helpmsgs.cc:99
msgid "Introduction to conflict/dependency resolution sub-list"
msgstr "Introduction à la sous-liste de résolution de conflits/dépendances"

#: dselect/helpmsgs.cc:99
msgid ""
"Dependency/conflict resolution - introduction.\n"
"\n"
"One or more of your choices have raised a conflict or dependency problem -\n"
"some packages should only be installed in conjunction with certain others, "
"and\n"
"some combinations of packages may not be installed together.\n"
"\n"
"You will see a sub-list containing the packages involved.  The bottom half "
"of\n"
"the display shows relevant conflicts and dependencies; use `i' to cycle "
"between\n"
"that, the package descriptions and the internal control information.\n"
"\n"
"A set of `suggested' packages has been calculated, and the initial markings "
"in\n"
"this sub-list have been set to match those, so you can just hit Return to\n"
"accept the suggestions if you wish.  You may abort the change(s) which "
"caused\n"
"the problem(s), and go back to the main list, by pressing capital `X'.\n"
"\n"
"You can also move around the list and change the markings so that they are "
"more\n"
"like what you want, and you can `reject' my suggestions by using the "
"capital\n"
"`D' or `R' keys (see the keybindings help screen).  You can use capital `Q' "
"to\n"
"force me to accept the situation currently displayed, in case you want to\n"
"override a recommendation or think that the program is mistaken.\n"
"\n"
"Press <space> to leave help and enter the sub-list; remember: press `?' for "
"help.\n"
msgstr ""
"Résolution de dépendance/conflit - introduction.\n"
"\n"
"Un ou plusieurs de vos choix ont abouti à un conflit ou un problème de\n"
"dépendance - certains paquets ne doivent être installés qu'en conjonction\n"
"avec certains autres, et certaines combinaisons de paquets ne doivent pas\n"
"être installés ensemble.\n"
"\n"
"Il vous sera présenté une sous-liste présentant les paquets impliqués. La\n"
"partie inférieure de l'écran affiche les conflits et dépendances\n"
"pertinentes ; utilisez la touche « i » pour vous déplacer entre ces "
"dernières,\n"
"la description des paquets et les informations internes de contrôle.\n"
"\n"
"Un ensemble de paquets « suggérés » a été calculé, et les marquages "
"initiaux\n"
"de cette sous-liste ont été positionnés pour correspondre à ces derniers,\n"
"donc il ne vous reste plus qu'à appuyer sur Entrée pour accepter ces\n"
"suggestions selon votre bon vouloir. Vous pouvez annuler la(les)\n"
"modification(s) qui a(ont) causée(s) ces problèmes, et retourner à la liste\n"
"principale, en appuyant sur « X » majuscule.\n"
"\n"
"Vous pouvez aussi vous déplacer dans la liste et changer les marquages de\n"
"manière à ce qu'ils soient plus à votre convenance, et vous pouvez rejeter\n"
"les suggestions en utilisant les touches « D » ou « R » majuscules (voir\n"
"l'écran d'aide sur les combinaisons de touches). Vous pouvez utiliser la\n"
"touche « Q » majuscule pour forcer dselect à accepter la situation\n"
"présentement affichée, dans le cas où vous voudriez outrepasser une\n"
"recommandation ou vous pensez que le programme est dans l'erreur.\n"
"\n"
"Appuyez sur <espace> pour quitter l'aide et accéder à la sous-liste ;\n"
"rappel : appuyez sur « ? » pour obtenir de l'aide.\n"

#: dselect/helpmsgs.cc:125
msgid "Display, part 1: package listing and status chars"
msgstr "Affichage, 1re partie : liste des paquets et caractères d'état"

#: dselect/helpmsgs.cc:125
msgid ""
"The top half of the screen shows a list of packages.  For each package you "
"see\n"
"four columns for its current status on the system and mark.  In terse mode "
"(use\n"
"`v' to toggle verbose display) these are single characters, from left to "
"right:\n"
"\n"
" Error flag: Space - no error (but package may be in broken state - see "
"below)\n"
"              `R'  - serious error during installation, needs "
"reinstallation;\n"
" Installed state:     Space    - not installed;\n"
"                       `*'     - installed;\n"
"                       `-'     - not installed but config files remain;\n"
"   packages in these { `U'     - unpacked but not yet configured;\n"
"   states are not    { `C'     - half-configured (an error happened);\n"
"   (quite) properly  { `I'     - half-installed (an error happened);\n"
"   installed         { `W',`t' - triggers are awaited resp. pending.\n"
" Old mark: what was requested for this package before presenting this list;\n"
" Mark: what is requested for this package:\n"
"  `*': marked for installation or upgrade;\n"
"  `-': marked for removal, but any configuration files will remain;\n"
"  `=': on hold: package will not be processed at all;\n"
"  `_': marked for purge completely - even remove configuration;\n"
"  `n': package is new and has yet to be marked for install/remove/&c.\n"
"\n"
"Also displayed are each package's Priority, Section, name, installed and\n"
"available version numbers (shift-V to display/hide) and summary "
"description.\n"
msgstr ""
"La moitié supérieure de l'écran affiche la liste des paquets. Chaque paquet\n"
"est présenté suivant 4 colonnes pour exprimer son état actuel sur le\n"
"système et son marquage. En mode concis (utilisez « v » pour passer en mode\n"
"d'affichage verbeux) des caractères simples sont affichés, de gauche à\n"
"droite :\n"
"\n"
" Drapeau d'erreur :     Espace   - aucune erreur (mais le paquet peut être\n"
"                                   dans un état endommagé - voir ci-"
"dessous)\n"
"                        « R »    - sérieux problèmes lors de "
"l'installation,\n"
"                                   nécessite une réinstallation ;\n"
" État d'installation :  Espace   - non installé ;\n"
"                        « * »    - installé ;\n"
"                        « - »    - non installé mais les fichiers de config "
"restent ;\n"
"      les paquets dans { « U »   - dépaqueté mais pas encore configuré ;\n"
"          ces états    { « C »   - partiellement configuré (une erreur est "
"survenue) ;\n"
"      sont endommagés  { « I »   - partiellement installé (une erreur est "
"survenue).\n"
" Ancien marquage : ce qui était désiré concernant le paquet avant de "
"présenter cette liste ;\n"
" Marquage : ce que l'on désire faire de ce paquet :\n"
"  « * » : marqué pour une installation ou une mise à niveau ;\n"
"  « - » : marqué pour une suppression, mais tous les fichiers de "
"configuration vont rester ;\n"
"  « = » : à garder (on hold) : le paquet ne sera pas du tout traité ;\n"
"  « _ » : marqué pour une purge totale - même la configuration sera "
"supprimée ;\n"
"  « n » : le paquet est nouveau et n'a pas encore été marqué pour être "
"installé/supprimé/etc.\n"
"\n"
"Sont aussi affichés pour chaque paquet la Priorité, la Section, le nom, les\n"
"numéros de versions installée et disponible (shift-V pour afficher/cacher)\n"
"et une description résumée.\n"

#: dselect/helpmsgs.cc:152
msgid "Display, part 2: list highlight; information display"
msgstr ""
"Affichage, 2e partie : surlignage de la liste ; affichage d'informations"

#: dselect/helpmsgs.cc:152
msgid ""
"* Highlight: One line in the package list will be highlighted.  It "
"indicates\n"
"  which package(s) will be affected by presses of `+', `-' and `_'.\n"
"\n"
"* The dividing line in the middle of the screen shows a brief explanation "
"of\n"
"  the status of the currently-highlighted package, or a description of "
"which\n"
"  group is highlighted if a group line is.  If you don't understand the\n"
"  meaning of some of the status characters displayed, go to the relevant\n"
"  package and look at this divider line, or use the `v' key for a verbose\n"
"  display (press `v' again to go back to the terse display).\n"
"\n"
"* The bottom of the screen shows more information about the\n"
"  currently-highlighted package (if there is only one).\n"
"\n"
"  It can show an extended description of the package, the internal package\n"
"  control details (either for the installed or available version of the\n"
"  package), or information about conflicts and dependencies involving the\n"
"  current package (in conflict/dependency resolution sublists).\n"
"\n"
"  Use the `i' key to cycle through the displays, and `I' to hide the\n"
"  information display or expand it to use almost all of the screen.\n"
msgstr ""
"* Surlignage : une ligne de la liste des paquets sera surlignée. Elle\n"
"  indique quel(s) paquet(s) sera affecté par un appui sur « + », « - » et "
"« _ ».\n"
"\n"
"* La ligne divisant l'écran en deux parties affiche une explication\n"
"  succincte sur l'état du paquet présentement surligné, ou une description\n"
"  de l'éventuel groupe surligné. Si vous ne comprenez pas le sens de\n"
"  certains caractères d'état affichés, déplacez-vous sur le paquet adéquat\n"
"  et regardez la ligne de division, ou utilisez la touche « v » pour "
"obtenir\n"
"  un affichage verbeux (appuyez encore sur « v » pour revenir à l'affichage\n"
"  laconique).\n"
"\n"
"* Le bas de l'écran affiche de plus amples informations sur le paquet\n"
"  présentement surligné (s'il n'y en a qu'un).\n"
"\n"
"  Il peut montrer une description étendue du paquet, les détails de\n"
"  contrôle internes au paquet (aussi bien pour les versions installées que\n"
"  les versions disponibles d'un paquet), ou les informations concernant les\n"
"  conflits et les dépendances impliquant le présent paquet (dans une\n"
"  sous-liste de résolution de conflit/dépendance).\n"
"\n"
"  Utilisez les touches « i » pour circuler à travers les écrans, et « I » "
"pour\n"
"  masquer l'affichage d'informations ou l'étendre jusqu'à lui faire prendre\n"
"  la quasi-totalité de l'écran.\n"

#: dselect/helpmsgs.cc:176
msgid "Introduction to method selection display"
msgstr "Introduction à la sélection des méthodes"

#: dselect/helpmsgs.cc:176
msgid ""
"dselect and dpkg can do automatic installation, loading the package files to "
"be\n"
"installed from one of a number of different possible places.\n"
"\n"
"This list allows you to select one of these installation methods.\n"
"\n"
"Move the highlight to the method you wish to use, and hit Enter.  You will "
"then\n"
"be prompted for the information required to do the installation.\n"
"\n"
"As you move the highlight a description of each method, where available, is\n"
"displayed in the bottom half of the screen.\n"
"\n"
"If you wish to quit without changing anything use the `x' key while in the "
"list\n"
"of installation methods.\n"
"\n"
"A full list of keystrokes is available by pressing `k' now, or from the "
"help\n"
"menu reachable by pressing `?'.\n"
msgstr ""
"dselect et dpkg peuvent effectuer une installation automatique, charger les\n"
"paquets à installer depuis l'un des nombreux endroits possibles.\n"
"\n"
"Cette liste vous permet de choisir l'une de ces méthodes d'installation.\n"
"\n"
"Déplacez le surlignage sur la méthode que vous souhaitez utiliser, et\n"
"appuyez sur Entrée. Il vous sera ensuite demandé des informations\n"
"nécessaires à l'installation.\n"
"\n"
"Quand vous déplacez le surlignage, une description de chaque méthode, si\n"
"disponible, est affichée sur la partie inférieure de l'écran.\n"
"\n"
"Si vous souhaitez quitter sans rien changer, utilisez la touche « x » quand\n"
"vous êtes positionné sur la liste des méthodes d'installation.\n"
"\n"
"Une liste complète des combinaisons de touches est disponible en appuyant\n"
"ici sur « k », ou depuis le menu d'aide accessible en appuyant sur « ? ».\n"

#: dselect/helpmsgs.cc:196
msgid "Keystrokes for method selection"
msgstr "Combinaisons de touches pour la sélection de méthodes"

#: dselect/helpmsgs.cc:196
msgid ""
"Motion keys: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
"  j, Down-arrow         k, Up-arrow             move highlight\n"
"  N, Page-down, Space   P, Page-up, Backspace   scroll list by 1 page\n"
"  ^n                    ^p                      scroll list by 1 line\n"
"  t, Home               e, End                  jump to top/end of list\n"
"  u                     d                       scroll info by 1 page\n"
"  ^u                    ^d                      scroll info by 1 line\n"
"  B, Left-arrow         F, Right-arrow          pan display by 1/3 screen\n"
"  ^b                    ^f                      pan display by 1 character\n"
"(These are the same motion keys as in the package list display.)\n"
"\n"
"Quit:\n"
" Return, Enter    select this method and go to its configuration dialogue\n"
" x, X             exit without changing or setting up the installation "
"method\n"
"\n"
"Miscellaneous:\n"
"  ?, Help, F1      request help\n"
" ^l                redraw display\n"
"  /                search (just return to cancel)\n"
"  \\                repeat last search\n"
msgstr ""
"Touches de déplacement : Suivant/Précédent, Début/Fin, Haut/Bas, Arrière/"
"Avant :\n"
"  n, Flèche bas, j      p, Flèche haut, k    déplacement du surlignage\n"
"  N, Page bas, Espace   P, Page bas, Efface  défilement liste d'une page\n"
"  ^n                    ^p                   défilement liste d'une ligne\n"
"  t, Début              e, Fin               aller au début/fin de la liste\n"
"  u                     d                    faire défiler info d'une page\n"
"  ^u                    ^d                   faire défiler info d'une ligne\n"
"  B, Flèche gauche      F, Flèche droite     déplacer horiz. affichage de "
"1/3 d'écran\n"
"  ^b                    ^f                   déplacer horiz. affichage d'un "
"caractère\n"
"(Ce sont les mêmes touches de déplacement que pour l'affichage de la liste "
"des paquets.)\n"
"\n"
"Quitter :\n"
" Entrée, Entr  sélectionner cette méthode et configurer celle-ci de manière "
"interactive\n"
" x, X          sortir sans changer ou configurer la méthode d'installation\n"
"\n"
"Divers :\n"
"  ?, Help, F1     demander de l'aide\n"
" ^l               redessiner l'affichage\n"
"  /               rechercher (appuyer sur entrée pour annuler)\n"
"  \\               répéter la dernière recherche\n"

#: dselect/main.cc:60
msgid "Type dselect --help for help."
msgstr "Taper dselect --help pour obtenir une aide."

#: dselect/main.cc:143
msgid "a"
msgstr "a"

#: dselect/main.cc:143
msgid "[A]ccess"
msgstr "[A]ccéder"

#: dselect/main.cc:143
msgid "Choose the access method to use."
msgstr "Choisir la méthode d'accès à utiliser"

#: dselect/main.cc:144
msgid "u"
msgstr "m"

#: dselect/main.cc:144
msgid "[U]pdate"
msgstr "[M]ise à jour"

#: dselect/main.cc:144
msgid "Update list of available packages, if possible."
msgstr "Mise à jour de l'information sur les paquets disponibles, si possible."

#: dselect/main.cc:145
msgid "s"
msgstr "s"

#: dselect/main.cc:145
msgid "[S]elect"
msgstr "[S]électionner"

#: dselect/main.cc:145
msgid "Request which packages you want on your system."
msgstr "Sélection des paquets que vous désirez avoir sur votre système."

#: dselect/main.cc:146
msgid "i"
msgstr "i"

#: dselect/main.cc:146
msgid "[I]nstall"
msgstr "[I]nstaller"

#: dselect/main.cc:146
msgid "Install and upgrade wanted packages."
msgstr "Installation et mise à niveau des paquets désirés."

#: dselect/main.cc:147
msgid "c"
msgstr "c"

#: dselect/main.cc:147
msgid "[C]onfig"
msgstr "[C]onfigurer"

#: dselect/main.cc:147
msgid "Configure any packages that are unconfigured."
msgstr "Configuration de tout paquet non configuré."

#: dselect/main.cc:148
msgid "r"
msgstr "r"

#: dselect/main.cc:148
msgid "[R]emove"
msgstr "[R]etirer"

#: dselect/main.cc:148
msgid "Remove unwanted software."
msgstr "Suppression des applications non désirées."

#: dselect/main.cc:149
msgid "q"
msgstr "q"

#: dselect/main.cc:149
msgid "[Q]uit"
msgstr "[Q]uitter"

#: dselect/main.cc:149
msgid "Quit dselect."
msgstr "Quitter dselect."

#: dselect/main.cc:150
msgid "menu"
msgstr "menu"

#: dselect/main.cc:155
#, c-format
msgid "Debian `%s' package handling frontend version %s.\n"
msgstr "Interface de gestion de paquets Debian « %s » version %s.\n"

#: dselect/main.cc:158
msgid ""
"Copyright (C) 1994-1996 Ian Jackson.\n"
"Copyright (C) 2000,2001 Wichert Akkerman.\n"
msgstr ""
"Copyright (C) 1994-1996 Ian Jackson.\n"
"Copyright (C) 2000,2001 Wichert Akkerman.\n"

#: dselect/main.cc:162
msgid ""
"This is free software; see the GNU General Public License version 2 or\n"
"later for copying conditions. There is NO warranty.\n"
msgstr ""
"Ce programme est un logiciel libre ; prière de consulter la « GNU General\n"
"Public  License » version 2 ou supérieure pour prendre connaissance des\n"
"conditions de reproduction. AUCUNE garantie n'est offerte.\n"

#: dselect/main.cc:172 dselect/main.cc:220
msgid "<standard output>"
msgstr "<sortie standard>"

#: dselect/main.cc:183
#, c-format
msgid ""
"Usage: %s [<option> ...] [<action> ...]\n"
"\n"
msgstr ""
"Syntaxe : %s [<option> ...] [<action> ...]\n"
"\n"

#: dselect/main.cc:187
#, c-format
msgid ""
"Options:\n"
"  --admindir <directory>     Use <directory> instead of %s.\n"
"  --expert                   Turn on expert mode.\n"
"  --debug <file> | -D<file>  Turn on debugging, sending output to <file>.\n"
"  --colour | --color screenpart:[foreground],[background][:attr[+attr+..]]\n"
"                             Configure screen colours.\n"
"\n"
msgstr ""
"Options:\n"
"  --admindir <répertoire>    Utiliser <répertoire> au lieu de %s ;\n"
"  --expert                   Activer le mode expert ;\n"
"  --debug <fichier> | -D<fichier>\n"
"                             Activer le mode débogage et rediriger\n"
"                             l'affichage dans <fichier> ;\n"
"  --colour | --color screenpart:[avant_plan],[arrière_plan][:attr[+attr"
"+..]]\n"
"                             Configurer les couleurs d'affichage ;\n"
"\n"

#: dselect/main.cc:196
#, c-format
msgid ""
"  --help                     Show this help message.\n"
"  --version                  Show the version.\n"
"\n"
msgstr ""
"  --help                     Afficher ce message d'aide ;\n"
"  --version                  Afficher la version ;\n"
"\n"

#: dselect/main.cc:201
#, c-format
msgid ""
"Actions:\n"
"  access update select install config remove quit\n"
"\n"
msgstr ""
"Actions:\n"
"  access update select install config remove quit\n"
"\n"

#: dselect/main.cc:205
#, c-format
msgid "Screenparts:\n"
msgstr "Parties de l'écran :\n"

#: dselect/main.cc:210
#, c-format
msgid "Colours:\n"
msgstr "Couleurs :\n"

#: dselect/main.cc:215
#, c-format
msgid "Attributes:\n"
msgstr "Attributs :\n"

#: dselect/main.cc:233
#, c-format
msgid "couldn't open debug file `%.255s'\n"
msgstr "impossible d'ouvrir le fichier de débogage « %.255s »\n"

#: dselect/main.cc:253
#, c-format
msgid "Invalid %s `%s'\n"
msgstr "Invalide %s « %s »\n"

#: dselect/main.cc:270
msgid "screen part"
msgstr "Partie de l'écran"

#: dselect/main.cc:276
msgid "Null colour specification\n"
msgstr "Spécification de couleur nulle\n"

#: dselect/main.cc:284 dselect/main.cc:289
msgid "colour"
msgstr "couleur"

#: dselect/main.cc:297
msgid "colour attribute"
msgstr "attribut de couleur"

#: dselect/main.cc:329
msgid "Terminal does not appear to support cursor addressing.\n"
msgstr "Il semble que votre terminal ne supporte pas la gestion du curseur\n"

#: dselect/main.cc:331
msgid "Terminal does not appear to support highlighting.\n"
msgstr "Il semble que votre terminal ne supporte pas le surlignage\n"

#: dselect/main.cc:333
#, c-format
msgid ""
"Set your TERM variable correctly, use a better terminal,\n"
"or make do with the per-package management tool %s.\n"
msgstr ""
"Positionnez correctement votre variable TERM, utilisez\n"
"un meilleur terminal ou contentez-vous d'une installation\n"
"paquet par paquet avec l'outil de gestion de paquets %s.\n"

#: dselect/main.cc:336
msgid "terminal lacks necessary features, giving up"
msgstr "Il manque d'importantes fonctionnalités au terminal, abandon"

#: dselect/main.cc:417
msgid ""
"\n"
"\n"
"Move around with ^P and ^N, cursor keys, initial letters, or digits;\n"
"Press <enter> to confirm selection.   ^L redraws screen.\n"
"\n"
msgstr ""
"\n"
"\n"
"Utilisez ^P et ^N, les touches fléchées, les lettres initiales ou les "
"chiffres pour vous déplacer ;\n"
"Appuyez sur <Entrée> pour confirmer la sélection. ^L pour redessiner "
"l'écran.\n"

#: dselect/main.cc:428
msgid ""
"\n"
"\n"
"Read-only access: only preview of selections is available!"
msgstr ""
"\n"
"\n"
"Accès en lecture seule : seul un aperçu des sélections est disponible !"

#: dselect/main.cc:448
msgid "failed to getch in main menu"
msgstr "échec de « getch » dans le menu principal"

#: dselect/main.cc:531
#, c-format
msgid "unknown action string `%.50s'"
msgstr "chaîne d'action inconnue « %.50s »"

#: dselect/methlist.cc:77
msgid "dselect - list of access methods"
msgstr "dselect - liste des méthodes d'accès"

#: dselect/methlist.cc:86
#, c-format
msgid "Access method `%s'."
msgstr "Méthode d'accès « %s »."

#: dselect/methlist.cc:120
msgid "Abbrev."
msgstr "Abrév."

#: dselect/methlist.cc:121 dselect/pkginfo.cc:105 dselect/pkgtop.cc:291
msgid "Description"
msgstr "Description"

#: dselect/methlist.cc:164 dselect/pkglist.cc:572
msgid "doupdate failed"
msgstr "échec de doupdate"

#: dselect/methlist.cc:166 dselect/pkglist.cc:575
msgid "failed to unblock SIGWINCH"
msgstr "échec du déblocage de SIGWINCH"

#: dselect/methlist.cc:170 dselect/pkglist.cc:580
msgid "failed to re-block SIGWINCH"
msgstr "échec du reblocage de SIGWINCH"

#: dselect/methlist.cc:171 dselect/pkglist.cc:582
msgid "getch failed"
msgstr "échec de « getch »"

#: dselect/methlist.cc:188
msgid "Explanation"
msgstr "Explication"

#: dselect/methlist.cc:197
msgid "No explanation available."
msgstr "Aucune explication n'est disponible."

#: dselect/method.cc:67
#, c-format
msgid ""
"\n"
"\n"
"%s: %s\n"
msgstr ""
"\n"
"\n"
"%s : %s\n"

#: dselect/method.cc:70
msgid ""
"\n"
"Press <enter> to continue."
msgstr ""
"\n"
"Appuyez sur <Entrée> pour continuer."

#: dselect/method.cc:161
#, c-format
msgid "Press <enter> to continue.\n"
msgstr "Appuyez sur <Entrée> pour continuer.\n"

#: dselect/method.cc:162
msgid "<standard error>"
msgstr "<sortie d'erreur standard>"

#: dselect/method.cc:165
msgid "error reading acknowledgement of program failure message"
msgstr ""
"erreur rencontrée lors de la lecture du message d'acquittement produit par "
"l'échec du programme"

#: dselect/method.cc:196
msgid "update available list script"
msgstr "mise à jour du script de liste disponible"

#: dselect/method.cc:200
msgid "installation script"
msgstr "script d'installation"

#: dselect/method.cc:246
msgid "query/setup script"
msgstr "script de requête/configuration"

#: dselect/methparse.cc:53
#, c-format
msgid "syntax error in method options file `%.250s' -- %s"
msgstr ""
"erreur de syntaxe dans le fichier des options de méthode « %.250s » -- %s"

#: dselect/methparse.cc:59
#, c-format
msgid "error reading options file `%.250s'"
msgstr "erreur de lecture sur le fichier des options « %.250s »"

#: dselect/methparse.cc:90
#, c-format
msgid "unable to read `%.250s' directory for reading methods"
msgstr ""
"impossible de lire le répertoire « %.250s » pour récupérer les méthodes"

#: dselect/methparse.cc:106
#, c-format
msgid "method `%.250s' has name that is too long (%d > %d characters)"
msgstr "le nom de la méthode « %.250s » est trop long ( %d > %d caractères)"

#: dselect/methparse.cc:117
#, c-format
msgid "unable to access method script `%.250s'"
msgstr "impossible d'accéder au script de méthode « %.250s »"

#: dselect/methparse.cc:123
#, c-format
msgid "unable to read method options file `%.250s'"
msgstr "impossible de lire le fichier des options de méthode « %.250s »"

#: dselect/methparse.cc:147
msgid "non-digit where digit wanted"
msgstr ""
"caractère non numérique rencontré alors qu'un caractère numérique est attendu"

#: dselect/methparse.cc:150
msgid "EOF in index string"
msgstr "EOF dans la chaîne d'index"

#: dselect/methparse.cc:153
msgid "index string too long"
msgstr "chaîne d'index trop longue"

#: dselect/methparse.cc:156
msgid "newline before option name start"
msgstr "saut de ligne précédent le début du nom de l'option"

#: dselect/methparse.cc:158
msgid "EOF before option name start"
msgstr "EOF précédant le début du nom de l'option"

#: dselect/methparse.cc:162
msgid "nonalpha where option name start wanted"
msgstr ""
"caractère non alphanumérique rencontré à l'endroit où le nom d'option "
"devrait commencer"

#: dselect/methparse.cc:164
msgid "non-alphanum in option name"
msgstr "caractère non alphanumérique dans le nom d'option"

#: dselect/methparse.cc:167
msgid "EOF in option name"
msgstr "EOF dans le nom de l'option"

#: dselect/methparse.cc:172
msgid "newline before summary"
msgstr "saut de ligne précédant le résumé"

#: dselect/methparse.cc:174
msgid "EOF before summary"
msgstr "EOF précédant le résumé"

#: dselect/methparse.cc:180
msgid "EOF in summary - missing newline"
msgstr "EOF dans le résumé - saut de ligne manquant"

#: dselect/methparse.cc:190
#, c-format
msgid "unable to open option description file `%.250s'"
msgstr "impossible d'ouvrir le fichier de description d'option « %.250s »"

#: dselect/methparse.cc:194
#, c-format
msgid "unable to stat option description file `%.250s'"
msgstr ""
"impossible d'analyser le nouveau fichier de description d'option « %.250s »"

#: dselect/methparse.cc:198
#, c-format
msgid "failed to read option description file `%.250s'"
msgstr "échec de la lecture du fichier de description d'option « %.250s »"

#: dselect/methparse.cc:201
#, c-format
msgid "error during read of option description file `%.250s'"
msgstr ""
"erreur survenue pendant la lecture du fichier de description d'option `"
"%.250s »"

#: dselect/methparse.cc:224
#, c-format
msgid "error during read of method options file `%.250s'"
msgstr ""
"erreur survenue pendant l'écriture du fichier des options de méthode "
"« %.250s »"

#: dselect/methparse.cc:247
#, c-format
msgid "unable to open current option file `%.250s'"
msgstr "impossible d'ouvrir le fichier d'option courant « %.250s »"

#: dselect/methparse.cc:289
#, c-format
msgid "unable to open new option file `%.250s'"
msgstr "impossible d'ouvrir un nouveau fichier d'option « %.250s »"

#: dselect/methparse.cc:292
#, c-format
msgid "unable to write new option to `%.250s'"
msgstr "impossible d'écrire une nouvelle option dans « %.250s »"

#: dselect/methparse.cc:295
#, c-format
msgid "unable to close new option file `%.250s'"
msgstr "impossible de fermer un nouveau fichier d'option « %.250s »"

#: dselect/methparse.cc:297
#, c-format
msgid "unable to install new option as `%.250s'"
msgstr "impossible d'installer une nouvelle option comme « %.250s »"

#: dselect/pkgdisplay.cc:36
msgid "new package"
msgstr "nouveau paquet"

#: dselect/pkgdisplay.cc:37
msgid "install"
msgstr "installer"

#: dselect/pkgdisplay.cc:38
msgid "hold"
msgstr "garder"

#: dselect/pkgdisplay.cc:39
msgid "remove"
msgstr "supprimer"

#: dselect/pkgdisplay.cc:40
msgid "purge"
msgstr "purger"

#. TRANSLATORS: The space is a trick to work around gettext which uses
#. * the empty string to store information about the translation. DO NOT
#. * CHANGE THAT IN A TRANSLATION! The code really relies on that being
#. * a single space.
#: dselect/pkgdisplay.cc:47
msgid " "
msgstr " "

#: dselect/pkgdisplay.cc:48
msgid "REINSTALL"
msgstr "RÉINSTALLE"

#: dselect/pkgdisplay.cc:51
msgid "not installed"
msgstr "non installé"

#: dselect/pkgdisplay.cc:52
msgid "removed (configs remain)"
msgstr "supprimé (la configuration reste)"

#: dselect/pkgdisplay.cc:53
msgid "half installed"
msgstr "partiellement installé"

#: dselect/pkgdisplay.cc:54
msgid "unpacked (not set up)"
msgstr "décompacté (non configuré)"

#: dselect/pkgdisplay.cc:55
msgid "half configured (config failed)"
msgstr "semi-configuré (échec de la configuration)"

#: dselect/pkgdisplay.cc:56
msgid "awaiting trigger processing"
msgstr "attente du traitement du déclencheur (« trigger »)"

#: dselect/pkgdisplay.cc:57
msgid "triggered"
msgstr "déclenché"

#: dselect/pkgdisplay.cc:58
msgid "installed"
msgstr "installé"

#: dselect/pkgdisplay.cc:61
msgid "Required"
msgstr "nécessaires"

#: dselect/pkgdisplay.cc:62
msgid "Important"
msgstr "importants"

#: dselect/pkgdisplay.cc:63
msgid "Standard"
msgstr "standard"

#: dselect/pkgdisplay.cc:64
msgid "Optional"
msgstr "optionnels"

#: dselect/pkgdisplay.cc:65
msgid "Extra"
msgstr "supplémentaires"

#: dselect/pkgdisplay.cc:66
msgid "!Bug!"
msgstr "!Bogue!"

#: dselect/pkgdisplay.cc:67
msgid "Unclassified"
msgstr "Non classé"

#: dselect/pkgdisplay.cc:70
msgid "suggests"
msgstr "suggère"

#: dselect/pkgdisplay.cc:71
msgid "recommends"
msgstr "recommande"

#: dselect/pkgdisplay.cc:72
msgid "depends on"
msgstr "dépend de"

#: dselect/pkgdisplay.cc:73
msgid "pre-depends on"
msgstr "pré-dépend de"

#: dselect/pkgdisplay.cc:74
msgid "breaks"
msgstr "casse"

#: dselect/pkgdisplay.cc:75
msgid "conflicts with"
msgstr "entre en conflit avec"

#: dselect/pkgdisplay.cc:76
msgid "provides"
msgstr "fournit"

#: dselect/pkgdisplay.cc:77
msgid "replaces"
msgstr "remplace"

#: dselect/pkgdisplay.cc:78
msgid "enhances"
msgstr "améliore"

#: dselect/pkgdisplay.cc:81
msgid "Req"
msgstr "Néc"

#: dselect/pkgdisplay.cc:82
msgid "Imp"
msgstr "Imp"

#: dselect/pkgdisplay.cc:83
msgid "Std"
msgstr "Std"

#: dselect/pkgdisplay.cc:84
msgid "Opt"
msgstr "Opt"

#: dselect/pkgdisplay.cc:85
msgid "Xtr"
msgstr "Sup"

#: dselect/pkgdisplay.cc:86
msgid "bUG"
msgstr "Bog"

#: dselect/pkgdisplay.cc:87
msgid "?"
msgstr "?"

#: dselect/pkgdisplay.cc:95 dselect/pkgdisplay.cc:115
msgid "Broken"
msgstr "défectueux"

#: dselect/pkgdisplay.cc:96
msgid "New"
msgstr "nouveaux"

#: dselect/pkgdisplay.cc:97
msgid "Updated"
msgstr "mis à jour"

#: dselect/pkgdisplay.cc:98
msgid "Obsolete/local"
msgstr "obsolètes/locaux"

#: dselect/pkgdisplay.cc:99
msgid "Up-to-date"
msgstr "à jour"

#: dselect/pkgdisplay.cc:100
msgid "Available"
msgstr "disponibles"

#: dselect/pkgdisplay.cc:101 dselect/pkgdisplay.cc:117
msgid "Removed"
msgstr "supprimés"

#: dselect/pkgdisplay.cc:102 dselect/pkgdisplay.cc:111
msgid "Brokenly installed packages"
msgstr "Paquets incorrectement installés"

#: dselect/pkgdisplay.cc:103
msgid "Newly available packages"
msgstr "Paquets nouvellement disponibles"

#: dselect/pkgdisplay.cc:104
msgid "Updated packages (newer version is available)"
msgstr "Paquets mis à jour (une version plus récente est disponible)"

#: dselect/pkgdisplay.cc:105
msgid "Obsolete and local packages present on system"
msgstr "Paquets obsolètes et locaux présents sur le système"

#: dselect/pkgdisplay.cc:106
msgid "Up to date installed packages"
msgstr "Paquets à jour installés"

#: dselect/pkgdisplay.cc:107
msgid "Available packages (not currently installed)"
msgstr "Paquets disponibles (pas installés pour l'instant)"

#: dselect/pkgdisplay.cc:108
msgid "Removed and no longer available packages"
msgstr "Paquets supprimés et désormais indisponibles"

#: dselect/pkgdisplay.cc:112
msgid "Installed packages"
msgstr "Paquets installés"

#: dselect/pkgdisplay.cc:113
msgid "Removed packages (configuration still present)"
msgstr "Paquets supprimés (configuration encore présente)"

#: dselect/pkgdisplay.cc:114
msgid "Purged packages and those never installed"
msgstr "Paquets purgés et ceux qui n'ont jamais été installés"

#: dselect/pkgdisplay.cc:116
msgid "Installed"
msgstr "Installé"

#: dselect/pkgdisplay.cc:118
msgid "Purged"
msgstr "Purgé"

#: dselect/pkgdisplay.cc:198
msgid "dselect - recursive package listing"
msgstr "dselect - liste des paquets récursive"

#: dselect/pkgdisplay.cc:199
msgid "dselect - inspection of package states"
msgstr "dselect - inspection de l'état des paquets"

#: dselect/pkgdisplay.cc:200
msgid "dselect - main package listing"
msgstr "dselect - liste principale des paquets"

#: dselect/pkgdisplay.cc:208
msgid " (by section)"
msgstr " (par section)"

#: dselect/pkgdisplay.cc:211
msgid " (avail., section)"
msgstr " (dispo., section)"

#: dselect/pkgdisplay.cc:214
msgid " (status, section)"
msgstr " (état, section)"

#: dselect/pkgdisplay.cc:223
msgid " (by priority)"
msgstr " (par priorité)"

#: dselect/pkgdisplay.cc:226
msgid " (avail., priority)"
msgstr " (dispo., priorité)"

#: dselect/pkgdisplay.cc:229
msgid " (status, priority)"
msgstr " (état, priorité)"

#: dselect/pkgdisplay.cc:238 dselect/pkgdisplay.cc:250
msgid " (alphabetically)"
msgstr " (alphabétiquement)"

#: dselect/pkgdisplay.cc:241
msgid " (by availability)"
msgstr " (par disponibilité)"

#: dselect/pkgdisplay.cc:244
msgid " (by status)"
msgstr " (par état)"

#: dselect/pkgdisplay.cc:258
msgid " mark:+/=/- terse:v help:?"
msgstr " marq:+/=/- concis:v aide:?"

#: dselect/pkgdisplay.cc:259
msgid " mark:+/=/- verbose:v help:?"
msgstr " marq:+/=/- verbeux:v aide:?"

#: dselect/pkgdisplay.cc:260
msgid " terse:v help:?"
msgstr " concis:v aide:?"

#: dselect/pkgdisplay.cc:261
msgid " verbose:v help:?"
msgstr " verbeux:v aide:?"

#: dselect/pkginfo.cc:80
msgid ""
"The line you have highlighted represents many packages; if you ask to "
"install, remove, hold, etc. it you will affect all the packages which match "
"the criterion shown.\n"
"\n"
"If you move the highlight to a line for a particular package you will see "
"information about that package displayed here.\n"
"You can use `o' and `O' to change the sort order and give yourself the "
"opportunity to mark packages in different kinds of groups."
msgstr ""
"La ligne que vous avez surlignée représente plusieurs paquets ; si vous "
"demandez une installation, une suppression ou une préservation, cela "
"affectera tous les paquets qui correspondent au critère affiché.\n"
"\n"
"Si vous déplacez le surlignage sur la ligne d'un paquet particulier, vous "
"verrez s'afficher ici les informations qui concernent ce paquet.\n"
"Vous pouvez utiliser « o » et « O » pour changer le critère de tri ce qui "
"vous permet de marquer des paquets appartenant à des groupes de types "
"différents."

#: dselect/pkginfo.cc:93
msgid "Interrelationships"
msgstr "Relations d'inter-dépendances"

#: dselect/pkginfo.cc:112
msgid "No description available."
msgstr "Aucune description disponible."

#: dselect/pkginfo.cc:130
msgid "Installed control file information"
msgstr "information de contrôle installée"

#: dselect/pkginfo.cc:146
msgid "Available control file information"
msgstr "Informations disponibles du fichier de contrôle"

#: dselect/pkglist.cc:416
msgid "There are no packages."
msgstr "Il n'existe pas de paquets."

#: dselect/pkglist.cc:507
msgid "invalid search option given"
msgstr "Option de recherche donnée invalide"

#: dselect/pkglist.cc:521
msgid "error in regular expression"
msgstr "Erreur dans l'expression rationnelle"

#: dselect/pkgsublist.cc:107
msgid " does not appear to be available\n"
msgstr " semble ne pas être disponible\n"

#: dselect/pkgsublist.cc:127
msgid " or "
msgstr " ou "

#: dselect/pkgtop.cc:57
msgid "All"
msgstr "Tous"

#: dselect/pkgtop.cc:79
msgid "All packages"
msgstr "Tous les paquets"

#: dselect/pkgtop.cc:83
#, c-format
msgid "%s packages without a section"
msgstr "Paquets %s sans section"

#: dselect/pkgtop.cc:85
#, c-format
msgid "%s packages in section %s"
msgstr "Paquets %s dans la section %s"

#: dselect/pkgtop.cc:91
#, c-format
msgid "%s %s packages"
msgstr "Paquets %s %s"

#: dselect/pkgtop.cc:95
#, c-format
msgid "%s %s packages without a section"
msgstr "Paquets %s %s sans section"

#: dselect/pkgtop.cc:97
#, c-format
msgid "%s %s packages in section %s"
msgstr "Paquets %s %s dans la section %s"

#: dselect/pkgtop.cc:118
#, c-format
msgid "%-*s %s%s%s;  %s (was: %s).  %s"
msgstr "%-*s %s%s%s ;  %s (précédemment : %s).  %s"

#: dselect/pkgtop.cc:263
msgid "Error"
msgstr "Erreur"

#: dselect/pkgtop.cc:267
msgid "Installed?"
msgstr "Installé ?"

#: dselect/pkgtop.cc:271
msgid "Old mark"
msgstr "Ancienne marque"

#: dselect/pkgtop.cc:275
msgid "Marked for"
msgstr "Marqué pour"

#: dselect/pkgtop.cc:278
msgid "EIOM"
msgstr "EIAM"

#: dselect/pkgtop.cc:280
msgid "Section"
msgstr "Section"

#: dselect/pkgtop.cc:281
msgid "Priority"
msgstr "Priorité"

#: dselect/pkgtop.cc:282
msgid "Package"
msgstr "Paquet"

#: dselect/pkgtop.cc:286
msgid "Inst.ver"
msgstr "Vers. inst"

#: dselect/pkgtop.cc:289
msgid "Avail.ver"
msgstr "Vers. dispo."

#~ msgid "returned error exit status %d.\n"
#~ msgstr "a retourné un code de sortie d'erreur %d.\n"

#~ msgid "was interrupted.\n"
#~ msgstr "a été interrompu.\n"

#~ msgid "was terminated by a signal: %s.\n"
#~ msgstr "a été stoppé par un signal : %s.\n"

#~ msgid "(It left a coredump.)\n"
#~ msgstr "(un coredump a été produit.)\n"

#~ msgid "failed with an unknown wait return code %d.\n"
#~ msgstr "a échoué avec le code d'attente inconnu %d.\n"

#~ msgid "unable to run %.250s process `%.250s'"
#~ msgstr "impossible d'exécuter le processus %.250s « %.250s »"

#~ msgid "failed config"
#~ msgstr "échec de la configuration"

#~ msgid "unable to wait for %.250s"
#~ msgstr "impossible d'attendre %.250s"

#~ msgid "got wrong child's status - asked for %ld, got %ld"
#~ msgstr "a récupéré un état de fils erroné - %ld demandé, %ld obtenu"

#~ msgid "Recommended"
#~ msgstr "recommandés"

#~ msgid "Contrib"
#~ msgstr "Contrib"

#~ msgid "Rec"
#~ msgstr "Rec"

#~ msgid "Ctb"
#~ msgstr "Ctb"

#~ msgid ""
#~ "baselist::startdisplay() done ...\n"
#~ "\n"
#~ " xmax=%d, ymax=%d;\n"
#~ "\n"
#~ " title_height=%d, colheads_height=%d, list_height=%d;\n"
#~ " thisstate_height=%d, info_height=%d, whatinfo_height=%d;\n"
#~ "\n"
#~ " colheads_row=%d, thisstate_row=%d, info_row=%d;\n"
#~ " whatinfo_row=%d, list_row=%d;\n"
#~ "\n"
#~ msgstr ""
#~ "baselist::startdisplay() terminé ...\n"
#~ "\n"
#~ " xmax=%d, ymax=%d ;\n"
#~ "\n"
#~ " title_height=%d, colheads_height=%d, list_height=%d ;\n"
#~ " thisstate_height=%d, info_height=%d, whatinfo_height=%d ;\n"
#~ "\n"
#~ " colheads_row=%d, thisstate_row=%d, info_row=%d ;\n"
#~ " whatinfo_row=%d, list_row=%d ;\n"
#~ "\n"

#~ msgid "[none]"
#~ msgstr "[néant]"

#~ msgid "error un-catching signal %d: %s\n"
#~ msgstr "erreur signal %d non-capturé : %s\n"

#~ msgid "unable to ignore signal %d before running %.250s"
#~ msgstr "impossible d'ignorer le signal %d avant le lancement du %.250s"

#~ msgid "(no clientdata)"
#~ msgstr "(pas d'information client)"

#~ msgid "<null>"
#~ msgstr "<rien>"
