# 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.
# Stéphane Aulery <lkppo@free.fr>, 2015, 2017, 2020
msgid ""
msgstr ""
"Project-Id-Version: gprof 2.33.90\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2020-01-18 14:04+0000\n"
"PO-Revision-Date: 2020-05-06 20:30+0200\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\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"
"X-Bugs: Report translation errors to the Language-Team address.\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:106
#, 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:470
#, 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:101 cg_print.c:104
msgid "called"
msgstr "appelé"

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

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

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

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

#: cg_print.c:101
msgid "self"
msgstr "auto"

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

#: cg_print.c:102 hist.c:496
msgid "name"
msgstr "nom"

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

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

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

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

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

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

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

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

#: corefile.c:204
#, 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:278
#, 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:292
#, c-format
msgid "%s: can't do -c\n"
msgstr "%s : impossible d'appliquer l'option -c\n"

#: corefile.c:331
#, 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:532 corefile.c:637
#, c-format
msgid "%s: file `%s' has no symbols\n"
msgstr "%s : fichier « %s » sans symbole\n"

#: corefile.c:537
#, c-format
msgid "%s: file `%s' has too many symbols\n"
msgstr "%s : le fichier « %s » a trop de symboles\n"

#: corefile.c:904
#, 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:83
#, c-format
msgid "%s: address size has unexpected value of %u\n"
msgstr "%s : taille de l'adresse de valeur inattendue : %u\n"

#: gmon_io.c:318 gmon_io.c:414
#, 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:328 gmon_io.c:457
#, c-format
msgid "%s: file `%s' has bad magic cookie\n"
msgstr "%s : nombre magique du fichier « %s » erroné\n"

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

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

#: gmon_io.c:517
#, 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:530
#, 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:562
#, 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:568 gmon_io.c:748
#, 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:578
#, c-format
msgid "File `%s' (version %d) contains:\n"
msgstr "Le fichier « %s » (version %d) contient :\n"

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

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

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

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

#: gmon_io.c:587
#, 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:588
#, c-format
msgid "\t%d basic-block count records\n"
msgstr "\t%d enregistrements de décomptes de blocs de base\n"

#: gprof.c:162
#, c-format
msgid ""
"Usage: %s [-[abcDhilLrsTvwxyz]] [-[ACeEfFJnNOpPqQRStZ][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] [--inline-file-names]\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 [-[abcDhilLrsTvwxyz]] [-[ACeEfFJnNOpPqQRStZ][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] [--inline-file-names]\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=nom] [@FICHIER]\n"
"\t[fichier-image] [fichier-profil…]\n"

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

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

#: gprof.c:340
#, 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:428
#, c-format
msgid "GNU gprof %s\n"
msgstr "GNU gprof %s\n"

#: gprof.c:429
#, 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:430
#, 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:471
#, c-format
msgid "%s: unknown demangling style `%s'\n"
msgstr "%s : style d'encodage par mutilation inconnu « %s »\n"

#: gprof.c:494
#, 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:546
#, 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:600
#, 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:607
#, 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:134
#, 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:144
#, 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:158
#, c-format
msgid "%s: different scales in histogram records"
msgstr "%s : différentes échelles entre enregistrements de type histogramme"

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

#: hist.c:229
#, 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:466
#, c-format
msgid "%c%c/call"
msgstr "%c%c/appel"

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

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

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

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

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

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

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

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

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

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

#: hist.c:711
#, 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:106
#, c-format
msgid " <cycle %d>"
msgstr " <cycle %d>"
