# Messages français pour gprof.
# Copyright © 2008 Free Software Foundation, Inc.
# Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
#
msgid ""
msgstr ""
"Project-Id-Version: gprof 2.17.90\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-05-15 16:49+0930\n"
"PO-Revision-Date: 2008-03-30 13:45+0000\n"
"Last-Translator: François-Xavier Coudert <fxcoudert@gmail.com>\n"
"Language-Team: French <traduc@traduc.org>\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"

#: 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:105
#, 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: a ignoré les compteurs d'exécution des blocs de base(utiliser -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 Lignes du haut:\n"
"\n"
"     Ligne     Compteur\n"
"\n"

#: basic_blocks.c:567
#, c-format
msgid ""
"\n"
"Execution Summary:\n"
"\n"
msgstr ""
"\n"
"Sommaire d'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   Percent du fichier exécuté\n"

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

#: basic_blocks.c:577
#, c-format
msgid "%9.2f   Average executions per line\n"
msgstr "%9.2f   Exécutions moyennes 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 à %s traversés %lu fois\n"

#: cg_print.c:73
#, c-format
msgid ""
"\t\t     Call graph (explanation follows)\n"
"\n"
msgstr ""
"\t\t     Appel de graphe (les explications suivent)\n"
"\n"

#: cg_print.c:75
#, c-format
msgid ""
"\t\t\tCall graph\n"
"\n"
msgstr ""
"\t\t\tAppel de graphe\n"
"\n"

#: cg_print.c:78 hist.c:466
#, c-format
msgid ""
"\n"
"granularity: each sample hit covers %ld byte(s)"
msgstr ""
"\n"
"granularité: chaque échantillonnage couvre %ld octet(s)"

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

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

#: cg_print.c:95 cg_print.c:98 cg_print.c:100
msgid "called"
msgstr "appelé"

#: cg_print.c:95 cg_print.c:100
msgid "total"
msgstr "total"

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

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

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

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

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

#: cg_print.c:98 hist.c:492
msgid "name"
msgstr "nom"

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

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

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

#: cg_print.c:354
#, 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:355
#, 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:589
#, c-format
msgid ""
"Index by function name\n"
"\n"
msgstr ""
"Index par nom de fonction\n"
"\n"

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

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

#: corefile.c:72
#, c-format
msgid "%s: could not open %s.\n"
msgstr "%s: ne peut ouvrir %s.\n"

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

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

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

#: corefile.c:266
#, c-format
msgid "%s: can't do -c\n"
msgstr "%s: ne peut appliquer l'option -c\n"

#: corefile.c:305
#, c-format
msgid "%s: -c not supported on architecture %s\n"
msgstr "%s: l'option -c n'est pas supporté l'architecture %s\n"

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

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

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

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

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

#: gmon_io.c:341
#, c-format
msgid "%s: file `%s' has unsupported version %d\n"
msgstr "%s: fichier « %s » est d'une version non supportée %d\n"

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

#: gmon_io.c:438
#, 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:489
#, c-format
msgid "%s: incompatible with first gmon file\n"
msgstr "%s: incompatible avec le premier fichier gmon\n"

#: gmon_io.c:516
#, c-format
msgid "%s: file '%s' does not appear to be in gmon.out format\n"
msgstr "%s: fichier « %s » ne semble pas être dans le format gmon.out\n"

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

#: gmon_io.c:563
#, c-format
msgid "time is in ticks, not seconds\n"
msgstr "temps est en tics et non pas en secondes\n"

#: gmon_io.c:569 gmon_io.c:746
#, c-format
msgid "%s: don't know how to deal with file format %d\n"
msgstr "%s: ne sait pas comment gérer le format %d du fichier\n"

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

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

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

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

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

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

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

#: gprof.c:158
#, c-format
msgid ""
"Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][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] [@FILE]\n"
"\t[image-file] [profile-file...]\n"
msgstr ""
"Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][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] [@FICHIER]\n"
"\t[fichier-image] [fichier-profile...]\n"

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

#: gprof.c:250
#, c-format
msgid "%s: debugging not supported; -d ignored\n"
msgstr "%s: mise au point n'est pas supportée; -d ignorée\n"

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

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

#: gprof.c:415
#, c-format
msgid "Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr "Basé à partir de BSD gprof, copyright 1983 Regents of the University of California.\n"

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

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

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

#: gprof.c:527
#, c-format
msgid "%s: sorry, file format `prof' is not yet supported\n"
msgstr "%s: désolé, le format de fichier « prof » n'est pas encore supporté\n"

#: gprof.c:581
#, 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:588
#, 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:133
#, 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 d'histogrammes\n"
"%s: de '%s'\n"
"%s: à '%s'\n"

#: hist.c:143
#, 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 d'histogrammes\n"
"%s: de '%c'\n"
"%s: à '%c'\n"

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

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

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

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

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

#: hist.c:476
#, c-format
msgid ""
"\n"
"Each sample counts as %g %s.\n"
msgstr ""
"\n"
"Chaque échantillon dénombre %g %s.\n"

#: hist.c:481
#, c-format
msgid ""
" no time accumulated\n"
"\n"
msgstr ""
" pas d'accumulation de temps\n"
"\n"

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

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

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

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

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

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

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

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

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

#: mips.c:96
#, 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: n'a pu localiser « %s »\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"
