# Swedish messages for gprof.
# Copyright © 2001, 2002, 2004, 2006, 2007, 2009, 2015, 2017 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
# Christian Rose <menthos@menthos.com>, 2001, 2002, 2004.
# Daniel Nylander <po@danielnylander.se>, 2006, 2007, 2009.
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: gprof 2.28.90\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2017-07-03 16:56+0200\n"
"PO-Revision-Date: 2017-07-05 11:16+0200\n"
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\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"
"X-Generator: Poedit 2.0.2\n"

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

#: alpha.c:107 mips.c:59
#, c-format
msgid "[find_call] %s: 0x%lx to 0x%lx\n"
msgstr "[find_call] %s: 0x%lx till 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 <indirekt_barn>\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: oväntat filslut\n"

#: basic_blocks.c:196
#, c-format
msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n"
msgstr "%s: varning: ignorerar exekveringsräkning för grundblock (använd -l eller --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 exekveringar\n"

#: basic_blocks.c:290 basic_blocks.c:300
msgid "<unknown>"
msgstr "<okänd>"

#: basic_blocks.c:543
#, c-format
msgid ""
"\n"
"\n"
"Top %d Lines:\n"
"\n"
"     Line      Count\n"
"\n"
msgstr ""
"\n"
"\n"
"Översta %d raderna:\n"
"\n"
"     Rad       Antal\n"
"\n"

#: basic_blocks.c:567
#, c-format
msgid ""
"\n"
"Execution Summary:\n"
"\n"
msgstr ""
"\n"
"Exekveringssammanfattning:\n"
"\n"

#: basic_blocks.c:568
#, c-format
msgid "%9ld   Executable lines in this file\n"
msgstr "%9ld   Exekverbara rader i denna fil\n"

#: basic_blocks.c:570
#, c-format
msgid "%9ld   Lines executed\n"
msgstr "%9ld   Exekverade rader\n"

#: basic_blocks.c:571
#, c-format
msgid "%9.2f   Percent of the file executed\n"
msgstr "%9.2f   Procent av filen som exekverats\n"

#: basic_blocks.c:575
#, c-format
msgid ""
"\n"
"%9lu   Total number of line executions\n"
msgstr ""
"\n"
"%9lu   Totala antalet radexekveringar\n"

#: basic_blocks.c:577
#, c-format
msgid "%9.2f   Average executions per line\n"
msgstr "%9.2f   Medelexekveringar per rad\n"

#: call_graph.c:68
#, c-format
msgid "[cg_tally] arc from %s to %s traversed %lu times\n"
msgstr "[cg_tally] båge från %s till %s traverserad %lu gånger\n"

#: cg_print.c:74
#, c-format
msgid ""
"\t\t     Call graph (explanation follows)\n"
"\n"
msgstr ""
"\t\t     Angropsgraf (förklaring följer)\n"
"\n"

#: cg_print.c:76
#, c-format
msgid ""
"\t\t\tCall graph\n"
"\n"
msgstr ""
"\t\t\tAnropsgraf\n"
"\n"

#: cg_print.c:79 hist.c:470
#, c-format
msgid ""
"\n"
"granularity: each sample hit covers %ld byte(s)"
msgstr ""
"\n"
"upplösning: varje stickprov täcker %ld byte"

#: cg_print.c:83
#, c-format
msgid ""
" for %.2f%% of %.2f seconds\n"
"\n"
msgstr ""
" för %.2f%% på %.2f sekunder\n"
"\n"

#: cg_print.c:87
#, c-format
msgid ""
" no time propagated\n"
"\n"
msgstr ""
" ingen tid propagerad\n"
"\n"

#: cg_print.c:96 cg_print.c:101 cg_print.c:104
msgid "called"
msgstr "anropad"

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

#: cg_print.c:96
msgid "parents"
msgstr "föräldrar"

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

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

#: cg_print.c:101
msgid "self"
msgstr "själv"

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

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

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

#: cg_print.c:109
#, c-format
msgid "index %% time    self  children    called     name\n"
msgstr "index %% tid     själv barn        anropad    namn\n"

#: cg_print.c:132
#, c-format
msgid " <cycle %d as a whole> [%d]\n"
msgstr " <hela cykel %d> [%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     <spontant>\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     <spontant>\n"

#: cg_print.c:593
#, c-format
msgid ""
"Index by function name\n"
"\n"
msgstr ""
"Index efter funktionsnamn\n"
"\n"

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

#: corefile.c:62
#, c-format
msgid "%s: unable to parse mapping file %s.\n"
msgstr "%s: kan inte tolka mappningsfilen %s.\n"

#: corefile.c:90 corefile.c:527
#, c-format
msgid "%s: could not open %s.\n"
msgstr "%s: kunde inte öppna %s.\n"

#: corefile.c:192
#, c-format
msgid "%s: %s: not in executable format\n"
msgstr "%s: %s: inte i ett körbart format\n"

#: corefile.c:203
#, c-format
msgid "%s: can't find .text section in %s\n"
msgstr "%s: kan inte hitta .text-sektion i %s\n"

#: corefile.c:278
#, c-format
msgid "%s: ran out room for %lu bytes of text space\n"
msgstr "%s: slut på utrymme för %lu byte textutrymme\n"

#: corefile.c:292
#, c-format
msgid "%s: can't do -c\n"
msgstr "%s: kan inte göra -c\n"

#: corefile.c:335
#, c-format
msgid "%s: -c not supported on architecture %s\n"
msgstr "%s: -c stöds inte på arkitekturen %s\n"

#: corefile.c:536 corefile.c:642
#, c-format
msgid "%s: file `%s' has no symbols\n"
msgstr "%s: filen ”%s” har inga symboler\n"

#: corefile.c:541
#, c-format
msgid "%s: file `%s' has too many symbols\n"
msgstr "%s: filen ”%s” har för många symboler\n"

#: corefile.c:909
#, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr "%s: någon räknade fel: ltab.len=%d istället för %ld\n"

#: gmon_io.c:83
#, c-format
msgid "%s: address size has unexpected value of %u\n"
msgstr "%s: adresstorleken har ett oväntat värde på %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: filen är för kort för att vara en gmon-fil\n"

#: gmon_io.c:328 gmon_io.c:457
#, c-format
msgid "%s: file `%s' has bad magic cookie\n"
msgstr "%s: filen ”%s” har felaktigt magiskt tal\n"

#: gmon_io.c:339
#, c-format
msgid "%s: file `%s' has unsupported version %d\n"
msgstr "%s: filen ”%s” har version %d som inte stöds\n"

#: gmon_io.c:369
#, c-format
msgid "%s: %s: found bad tag %d (file corrupted?)\n"
msgstr "%s: %s: hittade felaktig tagg %d (är filen skadad?)\n"

#: gmon_io.c:436
#, c-format
msgid "%s: profiling rate incompatible with first gmon file\n"
msgstr "%s: profileringshastighet är inkompatibel med första gmon-filen\n"

#: gmon_io.c:487
#, c-format
msgid "%s: incompatible with first gmon file\n"
msgstr "%s: inkompatibel med första gmon-filen\n"

#: gmon_io.c:517
#, c-format
msgid "%s: file '%s' does not appear to be in gmon.out format\n"
msgstr "%s: filen ”%s” verkar inte vara i gmon.out-format\n"

# Man brukar tala om "bins" i hashtabeller
#
#: gmon_io.c:530
#, c-format
msgid "%s: unexpected EOF after reading %d/%d bins\n"
msgstr "%s: oväntat filslut efter läsning av %d/%d poster\n"

#: gmon_io.c:562
#, c-format
msgid "time is in ticks, not seconds\n"
msgstr "tiden är i tick, inte sekunder\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: vet inte hur filformat %d ska hanteras\n"

#: gmon_io.c:578
#, c-format
msgid "File `%s' (version %d) contains:\n"
msgstr "Filen ”%s” (version %d) innehåller:\n"

#: gmon_io.c:581
#, c-format
msgid "\t%d histogram record\n"
msgstr "\t%d histogrampost\n"

#: gmon_io.c:582
#, c-format
msgid "\t%d histogram records\n"
msgstr "\t%d histogramposter\n"

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

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

#: gmon_io.c:587
#, c-format
msgid "\t%d basic-block count record\n"
msgstr "\t%d grundblocksräkningspost\n"

#: gmon_io.c:588
#, c-format
msgid "\t%d basic-block count records\n"
msgstr "\t%d grundblocksräkningsposter\n"

#: gprof.c:162
#, 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] [--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 ""
"Användning: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqSQZ][name]] [-I kataloger]\n"
"\t[-d[num]] [-k från/till] [-m min_antal] [-t tabell_längd]\n"
"\t[--[no-]annotated-source[=namn]] [--[no-]exec-counts[=namn]]\n"
"\t[--[no-]flat-profile[=namn]] [--[no-]graph[=namn]]\n"
"\t[--[no-]time=namn] [--all-lines] [--brief] [--debug[=nivå]]\n"
"\t[--function-ordering] [--file-ordering] [--inline-file-names]\n"
"\t[--directory-path=kataloger] [--display-unused-functions]\n"
"\t[--file-format=namn] [--file-info] [--help] [--line] [--min-count=n]\n"
"\t[--no-static] [--print-path] [--separate-files]\n"
"\t[--static-call-graph] [--sum] [--table-length=längd] [--traditional]\n"
"\t[--version] [--width=n] [--ignore-non-functions]\n"
"\t[--demangle[=STIL]] [--no-demangle] [--external-symbol-table=name] [@FILE]\n"
"\t[bildfil] [profilfil...]\n"

#: gprof.c:178
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
"Rapportera fel till %s,\n"
"Rapportera synpunkter på översättningen till tp-sv@listor.tp-sv.se\n"

#: gprof.c:254
#, c-format
msgid "%s: debugging not supported; -d ignored\n"
msgstr "%s: felsökning stöds inte; -d ignorerades\n"

#: gprof.c:336
#, c-format
msgid "%s: unknown file format %s\n"
msgstr "%s: okänt filformat %s\n"

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

#: gprof.c:425
#, c-format
msgid "Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr "Baserat på BSD gprof, copyright 1983 Regents of the University of California.\n"

#: gprof.c:426
#, c-format
msgid "This program is free software.  This program has absolutely no warranty.\n"
msgstr "Detta program är fri programvara. Detta program har ingen som helst garanti.\n"

#: gprof.c:467
#, c-format
msgid "%s: unknown demangling style `%s'\n"
msgstr "%s: okänd avmanglingsstil ”%s”\n"

#: gprof.c:490
#, c-format
msgid "%s: Only one of --function-ordering and --file-ordering may be specified.\n"
msgstr "%s: Endast en av --function-ordering och --file-ordering kan anges.\n"

#: gprof.c:542
#, c-format
msgid "%s: sorry, file format `prof' is not yet supported\n"
msgstr "%s: tyvärr, filformatet ”prof” stöds inte än\n"

#: gprof.c:596
#, c-format
msgid "%s: gmon.out file is missing histogram\n"
msgstr "%s: gmon.out-filen saknar histogram\n"

#: gprof.c:603
#, c-format
msgid "%s: gmon.out file is missing call-graph data\n"
msgstr "%s: gmon.out-filen saknar anropsgrafdata\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: dimensionsenhet ändrades mellan histogramposter\n"
"%s: från ”%s”\n"
"%s: till ”%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: dimensionsförkortning ändrades mellan histogramposter\n"
"%s: från ”%c”\n"
"%s: till ”%c”\n"

#: hist.c:158
#, c-format
msgid "%s: different scales in histogram records"
msgstr "%s: olika skalor i histogramposter"

#: hist.c:195
#, c-format
msgid "%s: overlapping histogram records\n"
msgstr "%s: överlappande histogramposter\n"

#: hist.c:229
#, c-format
msgid "%s: %s: unexpected EOF after reading %u of %u samples\n"
msgstr "%s: %s: oväntat filslut efter läsning av %u av %u stickprov\n"

#: hist.c:466
#, c-format
msgid "%c%c/call"
msgstr "%c%c/anrop"

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

#: hist.c:480
#, c-format
msgid ""
"\n"
"Each sample counts as %g %s.\n"
msgstr ""
"\n"
"Varje stickprov räknas som %g %s.\n"

#: hist.c:485
#, c-format
msgid ""
" no time accumulated\n"
"\n"
msgstr ""
" ingen ackumulerad tid\n"
"\n"

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

#: hist.c:492
msgid "self  "
msgstr "själv "

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

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

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

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

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

#: hist.c:711
#, c-format
msgid "%s: found a symbol that covers several histogram records"
msgstr "%s: hittade en symbol som täcker in flera histogramposter"

#: 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: kunde inte hitta ”%s”\n"

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

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

#~ msgid "%s: `%s' is incompatible with first gmon file\n"
#~ msgstr "%s: \"%s\" är inkompatibel med första gmon-filen\n"

#~ msgid "%s: bfd_vma has unexpected size of %ld bytes\n"
#~ msgstr "%s: bfd_vma har en oväntad storlek på %ld byte\n"
