# Messages français pour gprof.
# Copyright © 1996, 2006, 2008, 2011 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
#
# Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
# Mohammed Adnène Trojette, 2006.
# François-Xavier Coudert <fxcoudert@gmail.com>, 2008.
# David Prévot <david@tilapin.org>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: gprof 2.20.90\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2010-11-05 11:34+0100\n"
"PO-Revision-Date: 2011-04-21 12:20-0400\n"
"Last-Translator: David Prévot <david@tilapin.org>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 1.0\n"

#: alpha.c:102 mips.c:54
msgid "<indirect child>"
msgstr "<rejeton indirect>"

#: alpha.c:107 mips.c:59
#, c-format
msgid "[find_call] %s: 0x%lx to 0x%lx\n"
msgstr "[find_call] %s : 0x%lx to 0x%lx\n"

#: alpha.c:129
#, c-format
msgid "[find_call] 0x%lx: jsr%s <indirect_child>\n"
msgstr "[find_call] 0x%lx : jsr%s <indirect_child>\n"

#: alpha.c:139
#, c-format
msgid "[find_call] 0x%lx: bsr"
msgstr "[find_call] 0x%lx : bsr"

#: basic_blocks.c:128 call_graph.c:89 hist.c:107
#, c-format
msgid "%s: %s: unexpected end of file\n"
msgstr "%s : %s : fin prématurée du fichier\n"

#: basic_blocks.c:196
#, c-format
msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n"
msgstr "%s : avertissement : décomptes des exécutions de blocs de base ignorés (utilisez -l ou --line)\n"

#. FIXME: This only works if bfd_vma is unsigned long.
#: basic_blocks.c:289 basic_blocks.c:299
#, c-format
msgid "%s:%d: (%s:0x%lx) %lu executions\n"
msgstr "%s:%d : (%s:0x%lx) %lu exécutions\n"

#: basic_blocks.c:290 basic_blocks.c:300
msgid "<unknown>"
msgstr "<inconnu>"

#: basic_blocks.c:543
#, c-format
msgid ""
"\n"
"\n"
"Top %d Lines:\n"
"\n"
"     Line      Count\n"
"\n"
msgstr ""
"\n"
"\n"
"%d premières lignes :\n"
"\n"
"     Ligne     Compte\n"
"\n"

#: basic_blocks.c:567
#, c-format
msgid ""
"\n"
"Execution Summary:\n"
"\n"
msgstr ""
"\n"
"Résumé de l'exécution :\n"
"\n"

#: basic_blocks.c:568
#, c-format
msgid "%9ld   Executable lines in this file\n"
msgstr "%9ld   Lignes exécutables dans ce fichier\n"

#: basic_blocks.c:570
#, c-format
msgid "%9ld   Lines executed\n"
msgstr "%9ld   Lignes exécutées\n"

#: basic_blocks.c:571
#, c-format
msgid "%9.2f   Percent of the file executed\n"
msgstr "%9.2f   Pourcentage de traitement du fichier\n"

#: basic_blocks.c:575
#, c-format
msgid ""
"\n"
"%9lu   Total number of line executions\n"
msgstr ""
"\n"
"%9lu   Nombre total d'exécutions de lignes\n"

#: basic_blocks.c:577
#, c-format
msgid "%9.2f   Average executions per line\n"
msgstr "%9.2f   Nombre moyen d'exécutions par ligne\n"

#: call_graph.c:68
#, c-format
msgid "[cg_tally] arc from %s to %s traversed %lu times\n"
msgstr "[cg_tally] arc à partir de %s jusqu'à %s traversé %lu fois\n"

#: cg_print.c:74
#, c-format
msgid ""
"\t\t     Call graph (explanation follows)\n"
"\n"
msgstr ""
"\t\t     Graphe d'appel (les explications suivent)\n"
"\n"

#: cg_print.c:76
#, c-format
msgid ""
"\t\t\tCall graph\n"
"\n"
msgstr ""
"\t\t\tGraphe d'appel\n"
"\n"

#: cg_print.c:79 hist.c:468
#, c-format
msgid ""
"\n"
"granularity: each sample hit covers %ld byte(s)"
msgstr ""
"\n"
"granularité : chaque échantillon recouvre %ld octet(s)"

#: cg_print.c:83
#, c-format
msgid ""
" for %.2f%% of %.2f seconds\n"
"\n"
msgstr ""
" pour %.2f%% secondes sur %.2f\n"
"\n"

#: cg_print.c:87
#, c-format
msgid ""
" no time propagated\n"
"\n"
msgstr ""
" pas de propagation de temps\n"
"\n"

#: cg_print.c:96 cg_print.c:99 cg_print.c:101
msgid "called"
msgstr "appelé"

#: cg_print.c:96 cg_print.c:101
msgid "total"
msgstr "total"

#: cg_print.c:96
msgid "parents"
msgstr "parents"

#: cg_print.c:98 cg_print.c:99
msgid "index"
msgstr "index"

#: cg_print.c:98
#, c-format
msgid "%time"
msgstr "%time"

#: cg_print.c:98 cg_print.c:99
msgid "self"
msgstr "auto"

#: cg_print.c:98
msgid "descendants"
msgstr "descendants"

#: cg_print.c:99 hist.c:494
msgid "name"
msgstr "nom"

#: cg_print.c:101
msgid "children"
msgstr "rejetons"

#: cg_print.c:106
#, c-format
msgid "index %% time    self  children    called     name\n"
msgstr "index %% temps   auto  rejetons    appelé     nom\n"

#: cg_print.c:129
#, c-format
msgid " <cycle %d as a whole> [%d]\n"
msgstr " <cycle %d en entier> [%d]\n"

#: cg_print.c:355
#, c-format
msgid "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s     <spontaneous>\n"
msgstr "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s     <spontanés>\n"

#: cg_print.c:356
#, c-format
msgid "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s     <spontaneous>\n"
msgstr "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s     <spontanés>\n"

#: cg_print.c:590
#, c-format
msgid ""
"Index by function name\n"
"\n"
msgstr ""
"Index par nom de fonction\n"
"\n"

#: cg_print.c:647 cg_print.c:656
#, c-format
msgid "<cycle %d>"
msgstr "<cycle %d>"

#: corefile.c:60
#, c-format
msgid "%s: unable to parse mapping file %s.\n"
msgstr "%s : impossible d'analyser le fichier de projection %s.\n"

#: corefile.c:84 corefile.c:504
#, c-format
msgid "%s: could not open %s.\n"
msgstr "%s :  impossible d'ouvrir %s.\n"

#: corefile.c:183
#, c-format
msgid "%s: %s: not in executable format\n"
msgstr "%s : %s : n'est pas dans un format exécutable\n"

#: corefile.c:194
#, c-format
msgid "%s: can't find .text section in %s\n"
msgstr "%s : impossible de repérer la section .text dans %s\n"

#: corefile.c:269
#, c-format
msgid "%s: ran out room for %lu bytes of text space\n"
msgstr "%s : espace insuffisant pour %lu octets dans l'espace de texte\n"

#: corefile.c:283
#, c-format
msgid "%s: can't do -c\n"
msgstr "%s : impossible d'appliquer l'option -c\n"

#: corefile.c:322
#, c-format
msgid "%s: -c not supported on architecture %s\n"
msgstr "%s : l'option -c n'est pas prise en charge par l'architecture %s\n"

#: corefile.c:513 corefile.c:598
#, c-format
msgid "%s: file `%s' has no symbols\n"
msgstr "%s : fichier « %s » n'a pas de symbole\n"

#: corefile.c:859
#, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr "%s: mauvais décompte : ltab.len=%d au lieu de %ld\n"

#: gmon_io.c:84
#, c-format
msgid "%s: address size has unexpected value of %u\n"
msgstr "%s : valeur inattendue de la taille de l'adresse : %u\n"

#: gmon_io.c:319 gmon_io.c:415
#, c-format
msgid "%s: file too short to be a gmon file\n"
msgstr "%s : fichier trop petit pour être un fichier gmon\n"

#: gmon_io.c:329 gmon_io.c:458
#, c-format
msgid "%s: file `%s' has bad magic cookie\n"
msgstr "%s : nombre magique du fichier « %s » erroné\n"

#: gmon_io.c:340
#, c-format
msgid "%s: file `%s' has unsupported version %d\n"
msgstr "%s : le fichier « %s » est à la version %d qui n'est pas prise en charge\n"

#: gmon_io.c:370
#, c-format
msgid "%s: %s: found bad tag %d (file corrupted?)\n"
msgstr "%s : %s : étiquette %d erronée (fichier corrompu ?)\n"

#: gmon_io.c:437
#, c-format
msgid "%s: profiling rate incompatible with first gmon file\n"
msgstr "%s: taux de profilage incompatible avec le premier fichier gmon\n"

#: gmon_io.c:488
#, c-format
msgid "%s: incompatible with first gmon file\n"
msgstr "%s : incompatible avec le premier fichier gmon\n"

#: gmon_io.c:518
#, c-format
msgid "%s: file '%s' does not appear to be in gmon.out format\n"
msgstr "%s : le fichier « %s » n'est apparemment pas au format gmon.out\n"

#: gmon_io.c:531
#, c-format
msgid "%s: unexpected EOF after reading %d/%d bins\n"
msgstr "%s : fin de fichier inattendue après la lecture de %d/%d bins\n"

#: gmon_io.c:563
#, c-format
msgid "time is in ticks, not seconds\n"
msgstr "mesure du temps en sauts d'horloge et non en secondes\n"

#: gmon_io.c:569 gmon_io.c:749
#, c-format
msgid "%s: don't know how to deal with file format %d\n"
msgstr "%s : impossible de gérer le format de fichier %d\n"

#: gmon_io.c:579
#, c-format
msgid "File `%s' (version %d) contains:\n"
msgstr "Le fichier « %s » (version %d) contient :\n"

#: gmon_io.c:582
#, c-format
msgid "\t%d histogram record\n"
msgstr "\t%d enregistrement de type histogramme\n"

#: gmon_io.c:583
#, c-format
msgid "\t%d histogram records\n"
msgstr "\t%d enregistrements de type histogramme\n"

#: gmon_io.c:585
#, c-format
msgid "\t%d call-graph record\n"
msgstr "\t%d enregistrement de type call-graph\n"

#: gmon_io.c:586
#, c-format
msgid "\t%d call-graph records\n"
msgstr "\t%d enregistrements de type call-graph\n"

#: gmon_io.c:588
#, c-format
msgid "\t%d basic-block count record\n"
msgstr "\t%d enregistrement de décomptes de blocs de base\n"

#: gmon_io.c:589
#, c-format
msgid "\t%d basic-block count records\n"
msgstr "\t%d enregistrements de décomptes de blocs de base\n"

#: gprof.c:159
#, c-format
msgid ""
"Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqSQZ][name]] [-I dirs]\n"
"\t[-d[num]] [-k from/to] [-m min-count] [-t table-length]\n"
"\t[--[no-]annotated-source[=name]] [--[no-]exec-counts[=name]]\n"
"\t[--[no-]flat-profile[=name]] [--[no-]graph[=name]]\n"
"\t[--[no-]time=name] [--all-lines] [--brief] [--debug[=level]]\n"
"\t[--function-ordering] [--file-ordering]\n"
"\t[--directory-path=dirs] [--display-unused-functions]\n"
"\t[--file-format=name] [--file-info] [--help] [--line] [--min-count=n]\n"
"\t[--no-static] [--print-path] [--separate-files]\n"
"\t[--static-call-graph] [--sum] [--table-length=len] [--traditional]\n"
"\t[--version] [--width=n] [--ignore-non-functions]\n"
"\t[--demangle[=STYLE]] [--no-demangle] [--external-symbol-table=name] [@FILE]\n"
"\t[image-file] [profile-file...]\n"
msgstr ""
"Usage : %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqSQZ][nom]] [-I répertoires]\n"
"\t[-d[nombre]] [-k de/à] [-m minimum] [-t longueur-de-la-table]\n"
"\t[--[no-]annotated-source[=nom]] [--[no-]exec-counts[=nom]]\n"
"\t[--[no-]flat-profile[=nom]] [--[no-]graph[=nom]]\n"
"\t[--[no-]time=nom] [--all-lines] [--brief] [--debug[=niveau]]\n"
"\t[--function-ordering] [--file-ordering]\n"
"\t[--directory-path=répertoires] [--display-unused-functions]\n"
"\t[--file-format=nom] [--file-info] [--help] [--line] [--min-count=n]\n"
"\t[--no-static] [--print-path] [--separate-files]\n"
"\t[--static-call-graph] [--sum] [--table-length=longueur] [--traditional]\n"
"\t[--version] [--width=n] [--ignore-non-functions]\n"
"\t[--demangle[=STYLE]] [--no-demangle] [--external-symbol-table=name] [@FICHIER]\n"
"\t[fichier-image] [fichier-profil...]\n"

#: gprof.c:175
#, c-format
msgid "Report bugs to %s\n"
msgstr "Signaler toutes anomalies à %s\n"

#: gprof.c:251
#, c-format
msgid "%s: debugging not supported; -d ignored\n"
msgstr "%s : débogage non pris en charge ; -d ignorée\n"

#: gprof.c:331
#, c-format
msgid "%s: unknown file format %s\n"
msgstr "%s : format de fichier %s inconnu\n"

#. This output is intended to follow the GNU standards document.
#: gprof.c:419
#, c-format
msgid "GNU gprof %s\n"
msgstr "GNU gprof %s\n"

#: gprof.c:420
#, c-format
msgid "Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr "Basé sur BSD gprof, copyright 1983 Regents de l'Université de Californie.\n"

#: gprof.c:421
#, c-format
msgid "This program is free software.  This program has absolutely no warranty.\n"
msgstr "Ce logiciel est libre. AUCUNE garantie ne lui est apportée.\n"

#: gprof.c:462
#, c-format
msgid "%s: unknown demangling style `%s'\n"
msgstr "%s : style d'encodage par mutilation inconnu « %s »\n"

#: gprof.c:482
#, c-format
msgid "%s: Only one of --function-ordering and --file-ordering may be specified.\n"
msgstr "%s : seule l'une des options --function-ordering et --file-ordering peut être indiquée.\n"

#: gprof.c:534
#, c-format
msgid "%s: sorry, file format `prof' is not yet supported\n"
msgstr "%s : le format de fichier « prof » n'est pas encore pris en charge\n"

#: gprof.c:588
#, c-format
msgid "%s: gmon.out file is missing histogram\n"
msgstr "%s : le fichier gmon.out n'a pas d'histogramme\n"

#: gprof.c:595
#, c-format
msgid "%s: gmon.out file is missing call-graph data\n"
msgstr "%s : le fichier gmon.out n'a pas de données de type call-graph\n"

#: hist.c:135
#, c-format
msgid ""
"%s: dimension unit changed between histogram records\n"
"%s: from '%s'\n"
"%s: to '%s'\n"
msgstr ""
"%s : l'unité de dimension a changé entre les enregistrements de type histogramme\n"
"%s : de « %s »\n"
"%s : à « %s »\n"

#: hist.c:145
#, c-format
msgid ""
"%s: dimension abbreviation changed between histogram records\n"
"%s: from '%c'\n"
"%s: to '%c'\n"
msgstr ""
"%s : l'abréviation de dimension à changé entre les enregistrements de type histogrammes\n"
"%s : de « %c »\n"
"%s : à « %c »\n"

#: hist.c:159
#, c-format
msgid "%s: different scales in histogram records"
msgstr "%s : différentes échelles entre enregistrements de type histogramme"

#: hist.c:196
#, c-format
msgid "%s: overlapping histogram records\n"
msgstr "%s : recouvrement entre enregistrements de type histogramme\n"

#: hist.c:230
#, c-format
msgid "%s: %s: unexpected EOF after reading %u of %u samples\n"
msgstr "%s : %s : fin de fichier inattendue après la lecture de %u échantillons sur %u\n"

#: hist.c:464
#, c-format
msgid "%c%c/call"
msgstr "%c%c/appel"

#: hist.c:472
#, c-format
msgid ""
" for %.2f%% of %.2f %s\n"
"\n"
msgstr ""
" pour %.2f%% sur %.2f %s\n"
"\n"

#: hist.c:478
#, c-format
msgid ""
"\n"
"Each sample counts as %g %s.\n"
msgstr ""
"\n"
"Chaque échantillon compte pour %g %s.\n"

#: hist.c:483
#, c-format
msgid ""
" no time accumulated\n"
"\n"
msgstr ""
" pas de temps accumulé\n"
"\n"

#: hist.c:490
msgid "cumulative"
msgstr "cumulatif"

#: hist.c:490
msgid "self  "
msgstr "auto  "

#: hist.c:490
msgid "total "
msgstr "total "

#: hist.c:493
msgid "time"
msgstr "temps"

#: hist.c:493
msgid "calls"
msgstr "appels"

#: hist.c:582
#, c-format
msgid ""
"\n"
"\n"
"\n"
"flat profile:\n"
msgstr ""
"\n"
"\n"
"\n"
"profil plat :\n"

#: hist.c:588
#, c-format
msgid "Flat profile:\n"
msgstr "Profil plat :\n"

#: hist.c:709
#, c-format
msgid "%s: found a symbol that covers several histogram records"
msgstr "%s : symbole couvrant plusieurs enregistrements de type histogramme"

#: mips.c:71
#, c-format
msgid "[find_call] 0x%lx: jal"
msgstr "[find_call] 0x%lx : jal"

#: mips.c:99
#, c-format
msgid "[find_call] 0x%lx: jalr\n"
msgstr "[find_call] 0x%lx : jalr\n"

#: source.c:162
#, c-format
msgid "%s: could not locate `%s'\n"
msgstr "%s : « %s » non localisé\n"

#: source.c:237
#, c-format
msgid "*** File %s:\n"
msgstr "*** Fichier %s :\n"

#: utils.c:99
#, c-format
msgid " <cycle %d>"
msgstr " <cycle %d>"

#~ msgid "%s: `%s' is incompatible with first gmon file\n"
#~ msgstr "%s : « %s » est incompatible avec le premier fichier gmon\n"

#~ msgid "%s: bfd_vma has unexpected size of %ld bytes\n"
#~ msgstr "%s: bfd_vma a une taille inattendue de %ld octetst\n"
