# Finnish messages for binutils.
# Copyright © 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
# Jorma Karvonen <karvjorm@users.sf.net>, 2005, 2007.
# Jorma Karvonen <karvonen.jorma@gmail.com>, 2009, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: binutils 2.20.1\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2010-03-03 14:57+0100\n"
"PO-Revision-Date: 2010-04-21 18:04+0200\n"
"Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\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-Poedit-Language: Finnish\n"
"X-Poedit-Country: FINLAND\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Generator: KBabel 1.11.2\n"

#  Käytetty option(s)-suomennoksessa monikkomuotoa. Samoin sanat addr(s) suomennettu monikon partitiivilla.
#: addr2line.c:76
#, c-format
msgid "Usage: %s [option(s)] [addr(s)]\n"
msgstr "Käyttö: %s [valitsimet] [osoitteita]\n"

#: addr2line.c:77
#, c-format
msgid " Convert addresses into line number/file name pairs.\n"
msgstr " Muunna osoitteet rivinumero-tiedostonimipareiksi.\n"

#: addr2line.c:78
#, c-format
msgid " If no addresses are specified on the command line, they will be read from stdin\n"
msgstr " Jos komentorivillä ei ole annettu osoitteita, ne luetaan vakiosyötteestä\n"

#: addr2line.c:79
#, c-format
msgid ""
" The options are:\n"
"  @<file>                Read options from <file>\n"
"  -b --target=<bfdname>  Set the binary file format\n"
"  -e --exe=<executable>  Set the input file name (default is a.out)\n"
"  -i --inlines           Unwind inlined functions\n"
"  -j --section=<name>    Read section-relative offsets instead of addresses\n"
"  -s --basenames         Strip directory names\n"
"  -f --functions         Show function names\n"
"  -C --demangle[=style]  Demangle function names\n"
"  -h --help              Display this information\n"
"  -v --version           Display the program's version\n"
"\n"
msgstr ""
" Valitsimet ovat:\n"
"  @<tiedosto>                 Lukee valitsimet tiedostosta <tiedosto>\n"
"  -b --target=<bfd-nimi>      Asettaa binaaritiedoston muodon\n"
"  -e --exe=<suoritustiedosto> Asettaa syötetiedoston nimen (oletus on a.out)\n"
"  -i --inlines                Palauta inline-funktiot\n"
"  -j --section=<nimi>         Lukee lohkosuhteellisia siirroksia eikä osoitteita\n"
"  -s --basenames              Riisuu hakemistonimet\n"
"  -f --functions              Näyttää funktionimet\n"
"  -C --demangle[=tyyli]       Eheyttää funktionimet\n"
"  -h --help                   Näyttää nämä tiedot\n"
"  -v --version                Näyttää ohjelman version\n"
"\n"

#: addr2line.c:94 ar.c:295 coffdump.c:469 dlltool.c:3838 dllwrap.c:510
#: nlmconv.c:1113 objcopy.c:563 objcopy.c:598 readelf.c:2935 size.c:99
#: srconv.c:1741 strings.c:676 sysdump.c:653 windmc.c:233 windres.c:698
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
"Ilmoita ohjelmistovioista englanniksi osoitteeseen %s\n"
"Suomennoksen virheistä voi ilmoittaa (suomeksi) osoitteeseen <mailto:translation-team-fi@lists.sourceforge.net>\n"

#: addr2line.c:292
#, c-format
msgid "%s: cannot get addresses from archive"
msgstr "%s: osoitteita ei saa arkistosta"

#: addr2line.c:309
#, c-format
msgid "%s: cannot find section %s"
msgstr "%s: lohkoa %s ei löydy"

#: addr2line.c:375 nm.c:1554 objdump.c:3234
#, c-format
msgid "unknown demangling style `%s'"
msgstr "tuntematon eheytystyyli ”%s”"

#: ar.c:218
#, c-format
msgid "no entry %s in archive\n"
msgstr "arkistossa ei ole alkiota %s\n"

#: ar.c:236
#, c-format
msgid "Usage: %s [emulation options] [--plugin <name>] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file...\n"
msgstr "Käyttö: %s [emulointivalitsimet] [--plugin <nimi>] [-]{dmpqrstx}[abcfilNoPsSuvV] [jäsennimi] [lukumäärä] arkistotiedosto tiedosto...\n"

#: ar.c:238
#, c-format
msgid "Usage: %s [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file...\n"
msgstr "Käyttö: %s [emulointivalitsimet] [-]{dmpqrstx}[abcfilNoPsSuvV] [jäsennimi] [lukumäärä] arkistotiedosto tiedosto...\n"

#: ar.c:243
#, c-format
msgid "       %s -M [<mri-script]\n"
msgstr "       %s -M [<mri-skripti]\n"

#: ar.c:244
#, c-format
msgid " commands:\n"
msgstr " komennot:\n"

#: ar.c:245
#, c-format
msgid "  d            - delete file(s) from the archive\n"
msgstr "  d            - poista tiedosto(t) arkistosta\n"

#: ar.c:246
#, c-format
msgid "  m[ab]        - move file(s) in the archive\n"
msgstr "  m[ab]        - siirrä tiedosto(t) arkistoon\n"

#: ar.c:247
#, c-format
msgid "  p            - print file(s) found in the archive\n"
msgstr "  p            - tulosta arkistosta löytyvät tiedosto(t)\n"

#: ar.c:248
#, c-format
msgid "  q[f]         - quick append file(s) to the archive\n"
msgstr "  q[f]         - liitä tiedosto(t) nopeasti arkiston loppuun\n"

#: ar.c:249
#, c-format
msgid "  r[ab][f][u]  - replace existing or insert new file(s) into the archive\n"
msgstr "  r[ab][f][u]  - korvaa olemassa oleva(t) tai lisää uudet tiedosto(t) arkistoon\n"

#: ar.c:250
#, c-format
msgid "  t            - display contents of archive\n"
msgstr "  t            - näytä arkiston sisältö\n"

#: ar.c:251
#, c-format
msgid "  x[o]         - extract file(s) from the archive\n"
msgstr "  x[o]         - pura tiedosto(t) arkistosta\n"

#  modifiers on tässä sama kuin options
#: ar.c:252
#, c-format
msgid " command specific modifiers:\n"
msgstr " komentokohtaiset valitsimet:\n"

#: ar.c:253
#, c-format
msgid "  [a]          - put file(s) after [member-name]\n"
msgstr "  [a]          - sijoita tiedosto(t) kohteen [jäsennimi] jälkeen\n"

#: ar.c:254
#, c-format
msgid "  [b]          - put file(s) before [member-name] (same as [i])\n"
msgstr "  [b]          - laita tiedosto(t) kohteen [jäsennimi] edelle (sama kuin [i])\n"

#: ar.c:255
#, c-format
msgid "  [D]          - use zero for timestamps and uids/gids\n"
msgstr "  [D]          - käytä nollaa aikaleimoille ja uid-käyttäjätunnisteisiin/gid-ryhmätunnisteisiin\n"

#  Otaksun, että kyse on jostain taulukkomuotoisesta oliosta, jossa on lukumäärän osoittama määrä alkioita. Ohjelmointikielissä se merkataan yleensä olio[5] tai nimi[5]. Valitsimella valitaan ilmeisesti tämän muotoinen ilmentymä.
#: ar.c:256
#, c-format
msgid "  [N]          - use instance [count] of name\n"
msgstr "  [N]          - käytä nimen[lukumäärä]-ilmentymää\n"

#: ar.c:257
#, c-format
msgid "  [f]          - truncate inserted file names\n"
msgstr "  [f]          - katkaise lisätyt tiedostonimet\n"

#: ar.c:258
#, c-format
msgid "  [P]          - use full path names when matching\n"
msgstr "  [P]          - käytä täyttä polkunimeä, kun se täsmää\n"

#: ar.c:259
#, c-format
msgid "  [o]          - preserve original dates\n"
msgstr "  [o]          - säilytä alkuperäiset päiväykset\n"

#: ar.c:260
#, c-format
msgid "  [u]          - only replace files that are newer than current archive contents\n"
msgstr "  [u]          - korvaa vain tiedostot, jotka ovat arkiston nykysisältöä uudempia\n"

#  modifiers on tässä sama kuin options
#: ar.c:261
#, c-format
msgid " generic modifiers:\n"
msgstr " yleiset valitsimet:\n"

#: ar.c:262
#, c-format
msgid "  [c]          - do not warn if the library had to be created\n"
msgstr "  [c]          - älä varoita, jos kirjasto pitää luoda\n"

#: ar.c:263
#, c-format
msgid "  [s]          - create an archive index (cf. ranlib)\n"
msgstr "  [s]          - luo arkiston sisältöhakemiston (vrt. ranlib)\n"

#: ar.c:264
#, c-format
msgid "  [S]          - do not build a symbol table\n"
msgstr "  [S]          - älä koosta symbolitaulua\n"

#: ar.c:265
#, c-format
msgid "  [T]          - make a thin archive\n"
msgstr "  [T]          - tee ohut arkisto\n"

#: ar.c:266
#, c-format
msgid "  [v]          - be verbose\n"
msgstr "  [v]          - laveasti\n"

#: ar.c:267
#, c-format
msgid "  [V]          - display the version number\n"
msgstr "  [V]          - näytä versionumero\n"

#: ar.c:268
#, c-format
msgid "  @<file>      - read options from <file>\n"
msgstr "  @<tiedosto>      - lue valitsimet tiedostosta <tiedosto>\n"

#: ar.c:270
#, c-format
msgid " optional:\n"
msgstr " vaihtoehtoinen:\n"

#: ar.c:271
#, c-format
msgid "  --plugin <p> - load the specified plugin\n"
msgstr "  --plugin <p> - lataa määritelty lisäosa\n"

#: ar.c:278
#, c-format
msgid "Usage: %s [options] archive\n"
msgstr "Käyttö: %s [valitsimet] arkisto\n"

#: ar.c:279
#, c-format
msgid " Generate an index to speed access to archives\n"
msgstr " Tuota sisältöhakemisto nopeuttamaan arkistohakua\n"

#: ar.c:280
#, c-format
msgid ""
" The options are:\n"
"  @<file>                      Read options from <file>\n"
msgstr ""
" Valitsimet ovat:\n"
"  @<tiedosto>                  Lukee valitsimet <tiedosto>sta\n"

#: ar.c:283
#, c-format
msgid "  --plugin <name>              Load the specified plugin\n"
msgstr "  --plugin <nimi>              Lataa määritelty lisäosa\n"

#: ar.c:286
#, c-format
msgid ""
"  -t                           Update the archive's symbol map timestamp\n"
"  -h --help                    Print this help message\n"
"  -v --version                 Print version information\n"
msgstr ""
"  -t                           Päivitä arkiston symbolikartan aikaleima\n"
"  -h --help                    Tulosta tämä opaste\n"
"  -V --version                 Tulosta versiotiedot\n"

#: ar.c:512 nm.c:1626
#, c-format
msgid "sorry - this program has been built without plugin support\n"
msgstr "Valitettavasti tämä ohjelma on rakennettu ilman lisäosatukea\n"

#: ar.c:539
msgid "two different operation options specified"
msgstr "kaksi erilaista toimintavalitsinta annettu"

#: ar.c:620
#, c-format
msgid "illegal option -- %c"
msgstr "virheellinen valitsin -- %c"

#: ar.c:663
msgid "no operation specified"
msgstr "mitään toimintaa ei ole annettu"

#: ar.c:666
msgid "`u' is only meaningful with the `r' option."
msgstr "”u” on merkityksellinen vain ”r”-valitsimen kanssa."

#: ar.c:669
msgid "`u' is not meaningful with the `D' option."
msgstr "”u” on merkityksellinen vain ”D”-valitsimen kanssa."

#: ar.c:677
msgid "`N' is only meaningful with the `x' and `d' options."
msgstr "”N” on merkityksellinen vain ”x”- ja ”d”-valitsimien kanssa."

#: ar.c:680
msgid "Value for `N' must be positive."
msgstr "Arvon ”N” on oltava positiivinen."

#: ar.c:692
msgid "`x' cannot be used on thin archives."
msgstr "”x” ei voida käyttää ohuissa arkistoissa."

#: ar.c:733
#, c-format
msgid "internal error -- this option not implemented"
msgstr "sisäinen virhe -- tätä valitsinta ei ole toteutettu"

#: ar.c:802
#, c-format
msgid "creating %s"
msgstr "luodaan %s"

#  stat on *nix-ympäristön vakiokomentoja (katso: man stat)
#: ar.c:851 ar.c:906 ar.c:1234 objcopy.c:2027
#, c-format
msgid "internal stat error on %s"
msgstr "sisäinen stat-kutsuvirhe kohteessa %s"

#: ar.c:855
#, c-format
msgid ""
"\n"
"<%s>\n"
"\n"
msgstr ""
"\n"
"<%s>\n"
"\n"

#: ar.c:871 ar.c:939
#, c-format
msgid "%s is not a valid archive"
msgstr "%s ei ole kelvollinen arkisto"

#: ar.c:1139
#, c-format
msgid "No member named `%s'\n"
msgstr "Millään jäsenellä ei ole nimeä ”%s”\n"

#: ar.c:1189
#, c-format
msgid "no entry %s in archive %s!"
msgstr "ei alkiota %s arkistossa %s!"

#  Ruotsinkielisessä käännöksessä todetaan, että archive map on lähdekoodissa sama kuin indeksi, tarkoittanee tässä sisältöhakemistoa?
#: ar.c:1328
#, c-format
msgid "%s: no archive map to update"
msgstr "%s: ei sisältöhakemistoa päivitettävänä"

#: arsup.c:89
#, c-format
msgid "No entry %s in archive.\n"
msgstr "Ei alkiota %s arkistossa.\n"

#: arsup.c:114
#, c-format
msgid "Can't open file %s\n"
msgstr "Tiedostoa %s ei voi avata\n"

#: arsup.c:164
#, c-format
msgid "%s: Can't open output archive %s\n"
msgstr "%s: Ei voi avata tulostearkistoa %s\n"

#: arsup.c:181
#, c-format
msgid "%s: Can't open input archive %s\n"
msgstr "%s: Ei voi avata syötearkistoa %s\n"

#: arsup.c:190
#, c-format
msgid "%s: file %s is not an archive\n"
msgstr "%s: tiedosto %s ei ole arkisto\n"

#: arsup.c:230
#, c-format
msgid "%s: no output archive specified yet\n"
msgstr "%s: tulostearkistoa ei ole vielä annettu\n"

#: arsup.c:250 arsup.c:288 arsup.c:330 arsup.c:350 arsup.c:416
#, c-format
msgid "%s: no open output archive\n"
msgstr "%s: ei avointa tulostearkistoa\n"

#: arsup.c:261 arsup.c:371 arsup.c:397
#, c-format
msgid "%s: can't open file %s\n"
msgstr "%s: ei voi avata tiedostoa %s\n"

#  Ruotsinkielisessä käännöksessä todetaan, että module file on sama kuin jäsen
#: arsup.c:315 arsup.c:393 arsup.c:474
#, c-format
msgid "%s: can't find module file %s\n"
msgstr "%s: ei voi löytää jäsentä %s\n"

#: arsup.c:425
#, c-format
msgid "Current open archive is %s\n"
msgstr "Nykyinen avoin arkisto on %s\n"

#: arsup.c:449
#, c-format
msgid "%s: no open archive\n"
msgstr "%s: ei avointa arkistoa\n"

#: bin2c.c:59
#, c-format
msgid "Usage: %s < input_file > output_file\n"
msgstr "Käyttö: %s <syötetiedosto> tulostetiedosto\n"

#: bin2c.c:60
#, c-format
msgid "Prints bytes from stdin in hex format.\n"
msgstr "Tulostaa tavut vakiosyötteestä heksadesimaalimuodossa.\n"

#: binemul.c:38
#, c-format
msgid "  No emulation specific options\n"
msgstr "  Ei emulointikohtaisia valitsimia\n"

#. Macros for common output.
#: binemul.h:43
#, c-format
msgid " emulation options: \n"
msgstr " emulointivalitsimet: \n"

#: bucomm.c:157
#, c-format
msgid "can't set BFD default target to `%s': %s"
msgstr "ei voi asettaa BFD-oletuskohteeksi ”%s”: %s"

#: bucomm.c:168
#, c-format
msgid "%s: Matching formats:"
msgstr "%s: Täsmäävät muodot:"

#: bucomm.c:183
#, c-format
msgid "Supported targets:"
msgstr "Tuetut kohteet:"

#: bucomm.c:185
#, c-format
msgid "%s: supported targets:"
msgstr "%s: tuetut kohteet:"

#: bucomm.c:202
#, c-format
msgid "Supported architectures:"
msgstr "Tuetut arkkitehtuurit:"

#: bucomm.c:204
#, c-format
msgid "%s: supported architectures:"
msgstr "%s: tuetut arkkitehtuurit:"

#: bucomm.c:399
#, c-format
msgid "BFD header file version %s\n"
msgstr "BFD-otsaketiedoston versio %s\n"

#: bucomm.c:548
#, c-format
msgid "%s: bad number: %s"
msgstr "%s: virheellinen numero: %s"

#: bucomm.c:565 strings.c:422
#, c-format
msgid "'%s': No such file"
msgstr "”%s”: Tiedostoa ei löydy"

#  stat-kutsu epäonnistui, ensimmäinen parametri on tiedostonimi
#: bucomm.c:567 strings.c:424
#, c-format
msgid "Warning: could not locate '%s'.  reason: %s"
msgstr "Varoitus: tiedostoa ”%s” ei löytynyt.  syy: %s"

#: bucomm.c:571
#, c-format
msgid "Warning: '%s' is not an ordinary file"
msgstr "Varoitus: ”%s” ei ole tavallinen tiedosto"

#: coffdump.c:106
#, c-format
msgid "#lines %d "
msgstr "#rivit %d "

#: coffdump.c:460 sysdump.c:646
#, c-format
msgid "Usage: %s [option(s)] in-file\n"
msgstr "Käyttö: %s [valitsimet] syötetiedosto\n"

#  Microsoft Portable Executable and CommonObject FileFormat Specification, Revision 6.0-dokumentin mukaan "object file" on tiedosto, joka annetaan syötteenä linkkerille. Linkkeri tuottaa "image file":n, jota vuorostaan käytetään syötteenä ohjelmalataajalle. Termi "object file" ei välttämättä sisällä mitään yhteyttä olioperustaiseen ohjelmointiin.
#: coffdump.c:461
#, c-format
msgid " Print a human readable interpretation of a SYSROFF object file\n"
msgstr " Tulosta luettavamerkkinen SYSROFF-objektitiedoston tulkinta\n"

#: coffdump.c:462
#, c-format
msgid ""
" The options are:\n"
"  @<file>                Read options from <file>\n"
"  -h --help              Display this information\n"
"  -v --version           Display the program's version\n"
"\n"
msgstr ""
" Valitsimet ovat:\n"
"  @<tiedosto>            Lue valitsimet tiedostosta <tiedosto>\n"
"  -h --help              Näytä nämä tiedot\n"
"  -v --version           Näytä ohjelman versio\n"
"\n"

#: coffdump.c:531 srconv.c:1831 sysdump.c:710
msgid "no input file specified"
msgstr "syötetiedostoa ei ole annettu"

#: cxxfilt.c:119 nm.c:264 objdump.c:251
#, c-format
msgid "Report bugs to %s.\n"
msgstr "Ilmoita ohjelmointivirheistä englanniksi osoitteeseen %s.\n"

#: debug.c:647
msgid "debug_add_to_current_namespace: no current file"
msgstr "debug_add_to_current_namespace: ei nykyistä tiedostoa"

#: debug.c:726
msgid "debug_start_source: no debug_set_filename call"
msgstr "debug_start_source: ei debug_set_filename-kutsua"

#: debug.c:782
msgid "debug_record_function: no debug_set_filename call"
msgstr "debug_record_function: ei debug_set_filename-kutsua"

#: debug.c:834
msgid "debug_record_parameter: no current function"
msgstr "debug_record_parameter: ei nykyistä funktiota"

#: debug.c:866
msgid "debug_end_function: no current function"
msgstr "debug_end_function: ei nykyistä funktiota"

#: debug.c:872
msgid "debug_end_function: some blocks were not closed"
msgstr "debug_end_function: joitakin lohkoja ei ollut suljettu"

#: debug.c:900
msgid "debug_start_block: no current block"
msgstr "debug_start_block: ei nykyistä lohkoa"

#: debug.c:936
msgid "debug_end_block: no current block"
msgstr "debug_end_block: ei nykyistä lohkoa"

#: debug.c:943
msgid "debug_end_block: attempt to close top level block"
msgstr "debug_end_block: yritettiin sulkea ylimmän tason lohko"

#: debug.c:966
msgid "debug_record_line: no current unit"
msgstr "debug_record_line: ei nykyistä yksikköä"

#. FIXME
#: debug.c:1019
msgid "debug_start_common_block: not implemented"
msgstr "debug_start_common_block: ei toteutettu"

#. FIXME
#: debug.c:1030
msgid "debug_end_common_block: not implemented"
msgstr "debug_end_common_block: ei toteutettu"

#. FIXME.
#: debug.c:1114
msgid "debug_record_label: not implemented"
msgstr "debug_record_label: ei toteutettu"

#: debug.c:1136
msgid "debug_record_variable: no current file"
msgstr "debug_record_variable: ei nykyistä tiedostoa"

#  Ratkaisin tämän kohdan samalla tavalla kuin ruotsinkielisessä käännöksessä: kind tulee DEBUG_KIND_UNION-tyyppisestä tyyppinimestä. Ennen tätä ilmoitusta lähdekoodissa tutkitaan, onko virheenjäljitystyyppi struct, union, class, union class vai enum ja jos mikään ei täsmää, palautetaan debug_type_null.
#: debug.c:1664
msgid "debug_make_undefined_type: unsupported kind"
msgstr "debug_make_undefined_type: lajittelua ei tueta"

#: debug.c:1841
msgid "debug_name_type: no current file"
msgstr "debug_name_type: ei nykyistä tiedostoa"

#: debug.c:1886
msgid "debug_tag_type: no current file"
msgstr "debug_tag_type: ei nykyistä tiedostoa"

#: debug.c:1894
msgid "debug_tag_type: extra tag attempted"
msgstr "debug_tag_type: yritetty asettaa ylimääräinen tunniste"

#: debug.c:1931
#, c-format
msgid "Warning: changing type size from %d to %d\n"
msgstr "Varoitus: tyyppikoko %d muutetaan kokoon %d\n"

#: debug.c:1953
msgid "debug_find_named_type: no current compilation unit"
msgstr "debug_find_named_type: ei nykyistä käännösyksikköä"

#  Ihan outo käsite
#: debug.c:2056
#, c-format
msgid "debug_get_real_type: circular debug information for %s\n"
msgstr "debug_get_real_type: kehä-virheenjäljitystietoa kohteella %s\n"

#: debug.c:2483
msgid "debug_write_type: illegal type encountered"
msgstr "debug_write_type: kohdattu virheellinen tyyppi"

#: dlltool.c:884 dlltool.c:910 dlltool.c:941
#, c-format
msgid "Internal error: Unknown machine type: %d"
msgstr "Sisäinen virhe: Tuntematon konetyyppi: %d"

#: dlltool.c:982
#, c-format
msgid "Can't open def file: %s"
msgstr "Ei voi avata def-tiedostoa: %s"

#: dlltool.c:987
#, c-format
msgid "Processing def file: %s"
msgstr "Käsitellään def-tiedostoa: %s"

#: dlltool.c:991
msgid "Processed def file"
msgstr "Käsiteltiin def-tiedostoa"

#: dlltool.c:1015
#, c-format
msgid "Syntax error in def file %s:%d"
msgstr "Syntaksivirhe def-tiedostossa %s:%d"

#  Microsoft Portable Executable and Common Object File Format Specification, Revision 6.0-dokumentin mukaan "image file" on suoritettava tiedosto joko .EXE- tai .DLL-muodossa. Sitä voidaan pitää "memory image":na. Termiä "image file" on tavallisesti käytetty termin "executable file" sijasta, koska jälkimmäisen joskus oletetaan tarkoittavan vain .EXE-tiedostoa.
#: dlltool.c:1050
#, c-format
msgid "%s: Path components stripped from image name, '%s'."
msgstr "%s: Polkukomponentit riisuttu tiedostovedosnimestä, ”%s”."

#  A DEF file contains any number of the following commands:
#  NAME <name> [ , <base> ]
#  The result is going to be <name>.EXE
#: dlltool.c:1068
#, c-format
msgid "NAME: %s base: %x"
msgstr "NAME-komento: %s kantaluku: %x"

#: dlltool.c:1071 dlltool.c:1087
msgid "Can't have LIBRARY and NAME"
msgstr "Määriteltynä ei voi olla sekä LIBRARY- että NAME-komento"

#  A DEF file contains any number of the following commands:
#  LIBRARY <name> [ , <base> ]
#  The result is going to be <name>.DLL
#: dlltool.c:1084
#, c-format
msgid "LIBRARY: %s base: %x"
msgstr "LIBRARY-komento: %s kantaluku: %x"

#  Lähdekoodissa tämä oli status error -tuloste
#: dlltool.c:1320 resrc.c:293
#, c-format
msgid "wait: %s"
msgstr "wait-tilavirhe: %s"

#: dlltool.c:1325 dllwrap.c:410 resrc.c:298
#, c-format
msgid "subprocess got fatal signal %d"
msgstr "aliprosessi sai tuhoisan signaalin %d"

#  Ensimmäinen parametri on ohjelma, josta poistutaan (esim. "ld").
#: dlltool.c:1331 dllwrap.c:417 resrc.c:305
#, c-format
msgid "%s exited with status %d"
msgstr "%s-ohjelmasta poistuttiin tilassa %d"

#  Microsoft Portable Executable and Common Object File Format Specification, Revision 6.0-dokumentin mukaan "section" on PE/COFF-tiedoston sisällä koodin ja datan perusyksikkö. Objektitiedostossa, esimerkiksi, kaikki koodi voidaan yhdistää yhdeksi lohkoksi, tai (riippuen kääntäjän toiminnasta) jokainen funktio voi varata oman lohkon. "Section" on hämärästi samanlainen kuin "section" Intel® 8086-arkkitehtuurissa.
#: dlltool.c:1362
#, c-format
msgid "Sucking in info from %s section in %s"
msgstr "Imetään tietoja lohkosta %s kohteessa %s"

#: dlltool.c:1487
#, c-format
msgid "Excluding symbol: %s"
msgstr "Poissulkeva symboli: %s"

#: dlltool.c:1576 dlltool.c:1587 nm.c:1001 nm.c:1012
#, c-format
msgid "%s: no symbols"
msgstr "%s: ei symboleja"

#. FIXME: we ought to read in and block out the base relocations.
#: dlltool.c:1613
#, c-format
msgid "Done reading %s"
msgstr "Luettu %s"

#: dlltool.c:1623
#, c-format
msgid "Unable to open object file: %s"
msgstr "Objektitiedostoa %s ei voi avata"

#: dlltool.c:1626
#, c-format
msgid "Scanning object file %s"
msgstr "Selataan objektitiedostoa %s"

#: dlltool.c:1641
#, c-format
msgid "Cannot produce mcore-elf dll from archive file: %s"
msgstr "Ei voi tuottaa mcore-elf-dll:ää arkistotiedostosta: %s"

#: dlltool.c:1741
msgid "Adding exports to output file"
msgstr "Viennit lisätään tulostetiedostoon"

#: dlltool.c:1789
msgid "Added exports to output file"
msgstr "Viennit lisätty tulostetiedostoon"

#: dlltool.c:1930
#, c-format
msgid "Generating export file: %s"
msgstr "Tuotetaan vientitiedosto: %s"

#: dlltool.c:1935
#, c-format
msgid "Unable to open temporary assembler file: %s"
msgstr "Ei voi avata tilapäistä assembler-tiedostoa: %s"

#: dlltool.c:1938
#, c-format
msgid "Opened temporary file: %s"
msgstr "Avattu tilapäinen tiedosto: %s"

#: dlltool.c:2113
msgid "failed to read the number of entries from base file"
msgstr "alkioiden lukumäärän lukeminen perustiedostosta epäonnistui"

#  exports file == export file ??
#: dlltool.c:2161
msgid "Generated exports file"
msgstr "Tuotettu vientitiedosto"

#  stub on PE-tiedostoon sisällytetty ohjelma, joka esimerkiksi MS-DOS-ikkunassa ilmoittaa "This program cannot be run in DOS mode"
#: dlltool.c:2370
#, c-format
msgid "bfd_open failed open stub file: %s"
msgstr "bfd_open ei onnistunut avaamaan stub-tiedostoa: %s"

#: dlltool.c:2373
#, c-format
msgid "Creating stub file: %s"
msgstr "Luodaan stub-tiedosto: %s"

#: dlltool.c:2837 dlltool.c:2906
#, c-format
msgid "failed to open temporary head file: %s"
msgstr "ei onnistuttu avaamaan tilapäistä head-tiedostoa: %s"

#: dlltool.c:2979
#, c-format
msgid "failed to open temporary tail file: %s"
msgstr "ei onnistuttu avamaan tilapäistä tail-tiedostoa: %s"

#: dlltool.c:3052
#, c-format
msgid "Can't open .lib file: %s"
msgstr "Ei voi avata .lib-tiedostoa: %s"

#: dlltool.c:3055
#, c-format
msgid "Creating library file: %s"
msgstr "Luodaan kirjastotiedosto: %s"

#: dlltool.c:3146 dlltool.c:3152
#, c-format
msgid "cannot delete %s: %s"
msgstr "ei voi poistaa kohdetta %s: %s"

#: dlltool.c:3157
msgid "Created lib file"
msgstr "Luotu lib-tiedosto"

#: dlltool.c:3375 dlltool.c:3397
#, c-format
msgid "%s is not a library"
msgstr "%s ei ole kirjasto"

#: dlltool.c:3415
#, c-format
msgid "Import library `%s' specifies two or more dlls"
msgstr "Tuontikirjasto ”%s” määrittelee kaksi tai useampia dll-komponentteja"

#: dlltool.c:3426
#, c-format
msgid "Unable to determine dll name for `%s' (not an import library?)"
msgstr "Ei voi määritellä dll-nimeä kohteelle ”%s” (ei tuontikirjasto?)"

#: dlltool.c:3647
#, c-format
msgid "Warning, ignoring duplicate EXPORT %s %d,%d"
msgstr "Varoitus, ei oteta huomioon EXPORT-kaksoiskappaletta %s %d,%d"

#: dlltool.c:3653
#, c-format
msgid "Error, duplicate EXPORT with ordinals: %s"
msgstr "Virhe, EXPORT-kaksoiskappale järjestysluvuilla: %s"

#: dlltool.c:3758
msgid "Processing definitions"
msgstr "Käsitellään määrittelyjä"

#: dlltool.c:3790
msgid "Processed definitions"
msgstr "Käsiteltiin määrittelyjä"

#. xgetext:c-format
#: dlltool.c:3797 dllwrap.c:471
#, c-format
msgid "Usage %s <option(s)> <object-file(s)>\n"
msgstr "Käyttö %s <valitsimet> <objektitiedosto(t)>\n"

#. xgetext:c-format
#: dlltool.c:3799
#, c-format
msgid "   -m --machine <machine>    Create as DLL for <machine>.  [default: %s]\n"
msgstr "   -m --machine <kone>       Luo DLL:nä kohteelle <kone>.  [oletus: %s]\n"

#: dlltool.c:3800
#, c-format
msgid "        possible <machine>: arm[_interwork], i386, mcore[-elf]{-le|-be}, ppc, thumb\n"
msgstr "        mahdolliset <koneet>: arm[_interwork], i386, mcore[-elf]{-le|-be}, ppc, thumb\n"

#: dlltool.c:3801
#, c-format
msgid "   -e --output-exp <outname> Generate an export file.\n"
msgstr "   -e --output-exp <tulostenimi>    Tuota vientitiedosto.\n"

#: dlltool.c:3802
#, c-format
msgid "   -l --output-lib <outname> Generate an interface library.\n"
msgstr "   -l --output-lib <tulostenimi>    Tuota rajapintakirjasto.\n"

#: dlltool.c:3803
#, c-format
msgid "   -y --output-delaylib <outname> Create a delay-import library.\n"
msgstr "   -y --output-delaylib <tulostenimi>  Luo viive-tuontikirjasto.\n"

#  Lisäsin lainausmerkit käsitteen selventämiseksi
#: dlltool.c:3804
#, c-format
msgid "   -a --add-indirect         Add dll indirects to export file.\n"
msgstr "   -a --add-indirect                Lisää ”dll indirects” vientitiedostoon.\n"

#: dlltool.c:3805
#, c-format
msgid "   -D --dllname <name>       Name of input dll to put into interface lib.\n"
msgstr "   -D --dllname <nimi>              Rajapintakirjastoon sijoitettavan syöte-dll:n nimi.\n"

#: dlltool.c:3806
#, c-format
msgid "   -d --input-def <deffile>  Name of .def file to be read in.\n"
msgstr "   -d --input-def <def-tiedosto>    Luettavan .def-syötetiedoston nimi.\n"

#: dlltool.c:3807
#, c-format
msgid "   -z --output-def <deffile> Name of .def file to be created.\n"
msgstr "   -z --output-def <def-tiedosto>   Luotavan .def-tiedoston nimi.\n"

#: dlltool.c:3808
#, c-format
msgid "      --export-all-symbols   Export all symbols to .def\n"
msgstr "      --export-all-symbols          Vie kaikki symbolit .def-tiedostoon\n"

#: dlltool.c:3809
#, c-format
msgid "      --no-export-all-symbols  Only export listed symbols\n"
msgstr "      --no-export-all-symbols       Vie vain luetellut symbolit\n"

#  Tässä "list" suomennettiin sanalla "lista", koska ohjetekstin jälkiosan tekstin alku ei osu samalle kohdalle eri riveillä, jos alkuosa on liian pitkä.
#: dlltool.c:3810
#, c-format
msgid "      --exclude-symbols <list> Don't export <list>\n"
msgstr "      --exclude-symbols <lista>     Älä vie <listan> symboleja\n"

#: dlltool.c:3811
#, c-format
msgid "      --no-default-excludes  Clear default exclude symbols\n"
msgstr "      --no-default-excludes         Nollaa oletuspoissulkevat symbolit\n"

#: dlltool.c:3812
#, c-format
msgid "   -b --base-file <basefile> Read linker generated base file.\n"
msgstr "   -b --base-file <kantatiedosto>   Lue linkkerin tuottama perustiedosto.\n"

#: dlltool.c:3813
#, c-format
msgid "   -x --no-idata4            Don't generate idata$4 section.\n"
msgstr "   -x --no-idata4                   Älä tuota idata$4-lohkoa.\n"

#: dlltool.c:3814
#, c-format
msgid "   -c --no-idata5            Don't generate idata$5 section.\n"
msgstr "   -c --no-idata5                   Älä tuota idata$5-lohkoa.\n"

#: dlltool.c:3815
#, c-format
msgid "      --use-nul-prefixed-import-tables Use zero prefixed idata$4 and idata$5.\n"
msgstr "      --use-nul-prefixed-import-tables Käytä nollaetuliitteistä idata$4 ja idata$5.\n"

#: dlltool.c:3816
#, c-format
msgid "   -U --add-underscore       Add underscores to all symbols in interface library.\n"
msgstr "   -U --add-underscore              Lisää alaviivat rajapintakirjaston kaikkiin symboleihin.\n"

#: dlltool.c:3817
#, c-format
msgid "      --add-stdcall-underscore Add underscores to stdcall symbols in interface library.\n"
msgstr "   -U --add-underscore              Lisää alaviivat rajapintakirjaston std-kutsusymboleihin.\n"

#: dlltool.c:3818
#, c-format
msgid "   -k --kill-at              Kill @<n> from exported names.\n"
msgstr "   -k --kill-at                     Tuhoa @<numeron> viedyistä nimistä.\n"

#: dlltool.c:3819
#, c-format
msgid "   -A --add-stdcall-alias    Add aliases without @<n>.\n"
msgstr "   -A --add-stdcall-alias           Lisää aliaksia ilman @<numeroa>.\n"

#: dlltool.c:3820
#, c-format
msgid "   -p --ext-prefix-alias <prefix> Add aliases with <prefix>.\n"
msgstr "   -p --ext-prefix-alias <prefiksi> Lisää aliaksiin <prefiksin>.\n"

#: dlltool.c:3821
#, c-format
msgid "   -S --as <name>            Use <name> for assembler.\n"
msgstr "   -S --as <nimi>                   Käytä <nimeä> assemblerina.\n"

#: dlltool.c:3822
#, c-format
msgid "   -f --as-flags <flags>     Pass <flags> to the assembler.\n"
msgstr "   -f --as-flags <liput>            Välitä <liput> assemblerille.\n"

#: dlltool.c:3823
#, c-format
msgid "   -C --compat-implib        Create backward compatible import library.\n"
msgstr "   -C --compat-implib               Luo taaksepäin yhteensopiva tuontikirjasto.\n"

#  Laskuria dontdeltemps kasvatetaan joka kerta kun -n esiintyy komentorivillä.
#: dlltool.c:3824
#, c-format
msgid "   -n --no-delete            Keep temp files (repeat for extra preservation).\n"
msgstr "   -n --no-delete                   Pidä tilapäistiedostot (toisto lisäsäilytykseksi).\n"

#: dlltool.c:3825
#, c-format
msgid "   -t --temp-prefix <prefix> Use <prefix> to construct temp file names.\n"
msgstr "   -t --temp-prefix <prefiksi>      Liitä <prefiksi> tilapäistiedostojen nimen eteen.\n"

#: dlltool.c:3826
#, c-format
msgid "   -I --identify <implib>    Report the name of the DLL associated with <implib>.\n"
msgstr "   -I --identify <implib>    Ilmoita DLL-nimi, joka liittyi <implib>-kirjastoon.\n"

#: dlltool.c:3827
#, c-format
msgid "      --identify-strict      Causes --identify to report error when multiple DLLs.\n"
msgstr "      --identify-strict      Saa valitsimen --identify ilmoittamaan virheestä kun DLL-moduleita on useita.\n"

#: dlltool.c:3828
#, c-format
msgid "   -v --verbose              Be verbose.\n"
msgstr "   -v --verbose                     Laveasti.\n"

#: dlltool.c:3829
#, c-format
msgid "   -V --version              Display the program version.\n"
msgstr "   -V --version                     Näytä ohjelman versio.\n"

#: dlltool.c:3830
#, c-format
msgid "   -h --help                 Display this information.\n"
msgstr "   -h --help                        Näytä nämä tiedot.\n"

#: dlltool.c:3831
#, c-format
msgid "   @<file>                   Read options from <file>.\n"
msgstr "   @<tiedosto>                      Lue valitsimet tiedostosta <tiedosto>.\n"

#: dlltool.c:3833
#, c-format
msgid "   -M --mcore-elf <outname>  Process mcore-elf object files into <outname>.\n"
msgstr "   -M --mcore-elf <tulostenimi>     Käsittele mcore-elf-objektitiedostot kohteeseen <tulostenimi>.\n"

#: dlltool.c:3834
#, c-format
msgid "   -L --linker <name>        Use <name> as the linker.\n"
msgstr "   -L --linker <nimi>               Käytä parametriä <nimi> linkkerinä.\n"

#: dlltool.c:3835
#, c-format
msgid "   -F --linker-flags <flags> Pass <flags> to the linker.\n"
msgstr "   -F --linker-flags <liput>        Välitä <liput> linkkerille.\n"

#: dlltool.c:3972
#, c-format
msgid "Path components stripped from dllname, '%s'."
msgstr "Polkukomponentit riisuttu dll-nimestä, ”%s”."

#: dlltool.c:4020
#, c-format
msgid "Unable to open base-file: %s"
msgstr "Ei voi avata perustiedostoa: %s"

#: dlltool.c:4055
#, c-format
msgid "Machine '%s' not supported"
msgstr "Konetta ”%s” ei tueta"

#: dlltool.c:4124
#, c-format
msgid "Warning, machine type (%d) not supported for delayimport."
msgstr "Varoitus, konetyyppi (%d) ei tue viivetuontia."

#: dlltool.c:4192 dllwrap.c:201
#, c-format
msgid "Tried file: %s"
msgstr "Yritettiin tiedostoa: %s"

#: dlltool.c:4199 dllwrap.c:208
#, c-format
msgid "Using file: %s"
msgstr "Käytetään tiedostoa: %s"

#: dllwrap.c:291
#, c-format
msgid "Keeping temporary base file %s"
msgstr "Tilapäinen perustiedosto %s pidetään"

#: dllwrap.c:293
#, c-format
msgid "Deleting temporary base file %s"
msgstr "Tilapäinen perustiedosto %s poistetaan"

#: dllwrap.c:307
#, c-format
msgid "Keeping temporary exp file %s"
msgstr "Tilapäinen vientitiedosto %s pidetään"

#: dllwrap.c:309
#, c-format
msgid "Deleting temporary exp file %s"
msgstr "Tilapäinen vientitiedosto %s poistetaan"

#: dllwrap.c:322
#, c-format
msgid "Keeping temporary def file %s"
msgstr "Tilapäinen def-tiedosto %s pidetään"

#: dllwrap.c:324
#, c-format
msgid "Deleting temporary def file %s"
msgstr "Tilapäinen def-tiedosto %s poistetaan"

#: dllwrap.c:472
#, c-format
msgid "  Generic options:\n"
msgstr "  Yleiset valitsimet:\n"

#: dllwrap.c:473
#, c-format
msgid "   @<file>                Read options from <file>\n"
msgstr "   @<tiedosto>            Lue valitsimet tiedostosta <tiedosto>\n"

#: dllwrap.c:474
#, c-format
msgid "   --quiet, -q            Work quietly\n"
msgstr "   --quiet, -q            Työskentele hiljaa\n"

#: dllwrap.c:475
#, c-format
msgid "   --verbose, -v          Verbose\n"
msgstr "   --verbose, -v          Laveasti\n"

#: dllwrap.c:476
#, c-format
msgid "   --version              Print dllwrap version\n"
msgstr "   --version              Tulosta dllwrap-versio\n"

#: dllwrap.c:477
#, c-format
msgid "   --implib <outname>     Synonym for --output-lib\n"
msgstr "   --implib <tulostenimi> Synonyymi valitsimelle --output-lib\n"

#: dllwrap.c:478
#, c-format
msgid "  Options for %s:\n"
msgstr "  Valitsimet kohteelle %s:\n"

#: dllwrap.c:479
#, c-format
msgid "   --driver-name <driver> Defaults to \"gcc\"\n"
msgstr "   --driver-name <driveri>  Oletukset kohteelle ”gcc”\n"

#: dllwrap.c:480
#, c-format
msgid "   --driver-flags <flags> Override default ld flags\n"
msgstr "   --driver-flags <liput>   Korvaa ld-oletusliput\n"

#: dllwrap.c:481
#, c-format
msgid "   --dlltool-name <dlltool> Defaults to \"dlltool\"\n"
msgstr "   --dlltool-name <dlltool> Oletukset kohteelle ”dlltool”\n"

#: dllwrap.c:482
#, c-format
msgid "   --entry <entry>        Specify alternate DLL entry point\n"
msgstr "   --entry <tulokohta>      Määrittele vaihtoehtoinen DLL-tulokohta\n"

#: dllwrap.c:483
#, c-format
msgid "   --image-base <base>    Specify image base address\n"
msgstr "   --image-base <base>      Määrittele tiedostovedoksen perusosoite\n"

#: dllwrap.c:484
#, c-format
msgid "   --target <machine>     i386-cygwin32 or i386-mingw32\n"
msgstr "   --target <kone>          i386-cygwin32 tai i386-mingw32\n"

#  Samalla tavalla kuin ruotsinnoksessa
#: dllwrap.c:485
#, c-format
msgid "   --dry-run              Show what needs to be run\n"
msgstr "   --dry-run                Näytä mitä pitää suorittaa, älä toteuta\n"

#: dllwrap.c:486
#, c-format
msgid "   --mno-cygwin           Create Mingw DLL\n"
msgstr "   --mno-cygwin             Luo Mingw DLL:n\n"

#: dllwrap.c:487
#, c-format
msgid "  Options passed to DLLTOOL:\n"
msgstr "  DLLTOOL:lle välitetyt valitsimet:\n"

#: dllwrap.c:488
#, c-format
msgid "   --machine <machine>\n"
msgstr "   --machine <kone>\n"

#: dllwrap.c:489
#, c-format
msgid "   --output-exp <outname> Generate export file.\n"
msgstr "   --output-exp <tulostenimi>  Tuota vientitiedosto.\n"

#: dllwrap.c:490
#, c-format
msgid "   --output-lib <outname> Generate input library.\n"
msgstr "   --output-lib <tulostenimi>  Tuota syötekirjasto.\n"

#  Lisäsin lainausmerkit selventämään käsitettä
#: dllwrap.c:491
#, c-format
msgid "   --add-indirect         Add dll indirects to export file.\n"
msgstr "   --add-indirect              Lisää ”dll indirects” vientitiedostoon.\n"

#: dllwrap.c:492
#, c-format
msgid "   --dllname <name>       Name of input dll to put into output lib.\n"
msgstr "   --dllname <nimi>            Tulostekirjastoon laitettavan syöte-dll:n nimi.\n"

#: dllwrap.c:493
#, c-format
msgid "   --def <deffile>        Name input .def file\n"
msgstr "   --def <def-tiedosto>        Aseta .def-syötetiedoston nimi\n"

#: dllwrap.c:494
#, c-format
msgid "   --output-def <deffile> Name output .def file\n"
msgstr "   --output-def <def-tiedosto> Aseta .def-tulostetiedoston nimi\n"

#: dllwrap.c:495
#, c-format
msgid "   --export-all-symbols     Export all symbols to .def\n"
msgstr "   --export-all-symbols        Vie kaikki symbolit kohteeseen .def\n"

#: dllwrap.c:496
#, c-format
msgid "   --no-export-all-symbols  Only export .drectve symbols\n"
msgstr "   --no-export-all-symbols     Vie vain .drectve-symbolit\n"

#: dllwrap.c:497
#, c-format
msgid "   --exclude-symbols <list> Exclude <list> from .def\n"
msgstr "   --exclude-symbols <lista>   Sulje pois symbolit <listasta> .def\n"

#: dllwrap.c:498
#, c-format
msgid "   --no-default-excludes    Zap default exclude symbols\n"
msgstr "   --no-default-excludes       Poista oletuspoissulkevat symbolit\n"

#: dllwrap.c:499
#, c-format
msgid "   --base-file <basefile> Read linker generated base file\n"
msgstr "   --base-file <kantatiedosto> Lue linkkerin luoma perustiedosto\n"

#: dllwrap.c:500
#, c-format
msgid "   --no-idata4           Don't generate idata$4 section\n"
msgstr "   --no-idata4                 Älä tuota idata$4-lohkoa\n"

#: dllwrap.c:501
#, c-format
msgid "   --no-idata5           Don't generate idata$5 section\n"
msgstr "   --no-idata5                 Älä tuota idata$5-lohkoa\n"

#: dllwrap.c:502
#, c-format
msgid "   -U                     Add underscores to .lib\n"
msgstr "   -U                          Lisää alaviivat kohteeseen .lib\n"

#: dllwrap.c:503
#, c-format
msgid "   -k                     Kill @<n> from exported names\n"
msgstr "   -k                          Tuhoa @<numero> viedyistä nimistä\n"

#: dllwrap.c:504
#, c-format
msgid "   --add-stdcall-alias    Add aliases without @<n>\n"
msgstr "   --add-stdcall-alias         Lisää aliakset ilman @<numeroa>\n"

#: dllwrap.c:505
#, c-format
msgid "   --as <name>            Use <name> for assembler\n"
msgstr "   --as <nimi>                 Käytä ohjelmaa <nimi> assemblerina\n"

#: dllwrap.c:506
#, c-format
msgid "   --nodelete             Keep temp files.\n"
msgstr "   --nodelete                  Pidä tilapäiset tiedostot.\n"

#  language driver tarkoittaa esimerkiksi gcc-kääntäjää
#: dllwrap.c:507
#, c-format
msgid "  Rest are passed unmodified to the language driver\n"
msgstr "  Loput on välitetty sellaisenaan ohjelmointikieliyksikölle\n"

#: dllwrap.c:781
msgid "Must provide at least one of -o or --dllname options"
msgstr "Valitsimista on annettava joko -o tai --dllname"

#: dllwrap.c:810
msgid ""
"no export definition file provided.\n"
"Creating one, but that may not be what you want"
msgstr ""
"vientimäärittelytiedostoa ei ole (erikseen) annettu.\n"
"Sen tilalle luotava ei ehkä ole sellainen kuin haluat"

#  Välilyöntejä lisätty ennen kaksoispistettä, jotta kaksoispiste olisi rivien 973 ja 975 kanssa samalla kohtaa
#: dllwrap.c:969
#, c-format
msgid "DLLTOOL name    : %s\n"
msgstr "DLLTOOL-nimi       : %s\n"

#: dllwrap.c:970
#, c-format
msgid "DLLTOOL options : %s\n"
msgstr "DLLTOOL-valitsimet : %s\n"

#  DRIVER on esimerkiksi gcc eli compilation unit eli käännösyksikkö. Välilyöntejä lisätty ennen kaksoispistettä, jotta kaksoispiste olisi rivien 973 ja 975 kanssa samalla kohtaa
#: dllwrap.c:971
#, c-format
msgid "DRIVER name     : %s\n"
msgstr "YKSIKKÖ-nimi       : %s\n"

#  DRIVER on esimerkiksi gcc eli compilation unit eli käännösyksikkö
#: dllwrap.c:972
#, c-format
msgid "DRIVER options  : %s\n"
msgstr "YKSIKKÖ-valitsimet : %s\n"

#: dwarf.c:106 dwarf.c:155 readelf.c:357 readelf.c:525
#, c-format
msgid "Unhandled data length: %d\n"
msgstr "Käsittelemätön data-pituus: %d\n"

#: dwarf.c:304 dwarf.c:2649
msgid "badly formed extended line op encountered!\n"
msgstr "virheellisesti muotoiltu laajennusrivin käskykoodi tavattu!\n"

#: dwarf.c:311
#, c-format
msgid "  Extended opcode %d: "
msgstr "  Laajennettu käskykoodi %d: "

#: dwarf.c:316
#, c-format
msgid ""
"End of Sequence\n"
"\n"
msgstr ""
"Sekvenssin loppu\n"
"\n"

#: dwarf.c:322
#, c-format
msgid "set Address to 0x%lx\n"
msgstr "aseta osoitteeksi 0x%lx\n"

#: dwarf.c:327
#, c-format
msgid "  define new File Table entry\n"
msgstr "  määrittele uusi tiedostotaulualkio\n"

#: dwarf.c:328 dwarf.c:2263
#, c-format
msgid "  Entry\tDir\tTime\tSize\tName\n"
msgstr "  Alkio\tHakemisto\tAika\tKoko\tNimi\n"

#: dwarf.c:330
#, c-format
msgid "   %d\t"
msgstr "   %d\t"

#: dwarf.c:333 dwarf.c:335 dwarf.c:337 dwarf.c:2275 dwarf.c:2277 dwarf.c:2279
#, c-format
msgid "%lu\t"
msgstr "%lu\t"

#: dwarf.c:338
#, c-format
msgid ""
"%s\n"
"\n"
msgstr ""
"%s\n"
"\n"

#: dwarf.c:342
#, c-format
msgid "set Discriminator to %lu\n"
msgstr "aseta Erottajan arvoksi %lu\n"

#. The test against DW_LNW_hi_user is redundant due to
#. the limited range of the unsigned char data type used
#. for op_code.
#. && op_code <= DW_LNE_hi_user
#: dwarf.c:384
#, c-format
msgid "user defined: length %d\n"
msgstr "käyttäjän määrittelemä: pituus %d\n"

#: dwarf.c:386 dwarf.c:2680
#, c-format
msgid "UNKNOWN: length %d\n"
msgstr "TUNTEMATON: pituus %d\n"

#: dwarf.c:399
msgid "<no .debug_str section>"
msgstr "<ei .debug_str-lohkoa>"

#: dwarf.c:405
#, c-format
msgid "DW_FORM_strp offset too big: %lx\n"
msgstr "DW_FORM_strp-siirros liian suuri: %lx\n"

#: dwarf.c:406
msgid "<offset is too big>"
msgstr "<siirros on liian suuri>"

#: dwarf.c:639
#, c-format
msgid "Unknown TAG value: %lx"
msgstr "Tuntematon tunnistearvo: %lx"

#: dwarf.c:675
#, c-format
msgid "Unknown FORM value: %lx"
msgstr "Tuntematon FORM-arvo: %lx"

#: dwarf.c:684
#, c-format
msgid " %lu byte block: "
msgstr " %lu:n tavun lohko: "

#: dwarf.c:1102
#, c-format
msgid "(User defined location op)"
msgstr "(Käyttäjän määrittelemä sijoituskäskykoodi)"

#: dwarf.c:1104
#, c-format
msgid "(Unknown location op)"
msgstr "(Tuntematon sijoituskäskykoodi)"

#: dwarf.c:1152
msgid "Internal error: DWARF version is not 2 or 3.\n"
msgstr "Sisäinen virhe: DWARF-versio ei ole 2 eikä 3.\n"

#: dwarf.c:1251
msgid "DW_FORM_data8 is unsupported when sizeof (unsigned long) != 8\n"
msgstr "DW_FORM_data8 ei ole tuettu, kun sizeof (unsigned long) != 8\n"

#: dwarf.c:1300
#, c-format
msgid " (indirect string, offset: 0x%lx): %s"
msgstr " (epäsuora merkkijono, siirros: 0x%lx): %s"

#: dwarf.c:1309
#, c-format
msgid "Unrecognized form: %lu\n"
msgstr "Tunnistamaton muoto: %lu\n"

#: dwarf.c:1393
#, c-format
msgid "(not inlined)"
msgstr "(ei inline-funktiona)"

#: dwarf.c:1396
#, c-format
msgid "(inlined)"
msgstr "(inline-funktiona)"

#: dwarf.c:1399
#, c-format
msgid "(declared as inline but ignored)"
msgstr "(esitelty inline-funktiona, mutta esittelyä ei ole otettu huomioon)"

#: dwarf.c:1402
#, c-format
msgid "(declared as inline and inlined)"
msgstr "(esitelty inline-funktiona ja toteutettu sellaisena)"

#: dwarf.c:1405
#, c-format
msgid "  (Unknown inline attribute value: %lx)"
msgstr "  (Tuntematon inline-funktion attribuuttiarvo: %lx)"

#: dwarf.c:1566
#, c-format
msgid "(location list)"
msgstr "(sijoitusluettelo)"

#: dwarf.c:1585 dwarf.c:3281
#, c-format
msgid " [without DW_AT_frame_base]"
msgstr " [DW_AT_frame_base puuttuu]"

#: dwarf.c:1597
#, c-format
msgid "Offset %lx used as value for DW_AT_import attribute of DIE at offset %lx is too big.\n"
msgstr "Siirros %lx, jota käytettiin DIE:n DW_AT_import-attribuutin arvona siirrososoitteessa %lx on liian suuri.\n"

#: dwarf.c:1771
#, c-format
msgid "Unknown AT value: %lx"
msgstr "Tuntematon AT-arvo: %lx"

#: dwarf.c:1838
#, c-format
msgid "Reserved length value (%lx) found in section %s\n"
msgstr "Varattu pituusarvo (%lx) löytyi lohkossa %s\n"

#: dwarf.c:1849
#, c-format
msgid "Corrupt unit length (%lx) found in section %s\n"
msgstr "Rikkinäinen yksikköpituus (%lx) löytyi lohkossa %s\n"

#  comp units tarkoittanee compilation unit eli käännösyksikköä?
#: dwarf.c:1856
#, c-format
msgid "No comp units in %s section ?"
msgstr "Ei käännösyksikköjä %s-lohkossa ?"

#: dwarf.c:1865
#, c-format
msgid "Not enough memory for a debug info array of %u entries"
msgstr "Muistia ei ole tarpeeksi %u:n alkion virheenjäljitystietotaulukolle"

#: dwarf.c:1873 dwarf.c:2882 dwarf.c:2976 dwarf.c:3050 dwarf.c:3167
#: dwarf.c:3316 dwarf.c:3374 dwarf.c:3571
#, c-format
msgid ""
"Contents of the %s section:\n"
"\n"
msgstr ""
"Lohkon %s sisältö:\n"
"\n"

#: dwarf.c:1881
#, c-format
msgid "Unable to locate %s section!\n"
msgstr "Ei voi paikantaa %s-lohkoa!\n"

#: dwarf.c:1944
#, c-format
msgid "  Compilation Unit @ offset 0x%lx:\n"
msgstr "  Käännösyksikkö @ siirros 0x%lx:\n"

#  Välilyöntilisäys
#: dwarf.c:1945
#, c-format
msgid "   Length:        0x%lx (%s)\n"
msgstr "   Pituus:        0x%lx (%s)\n"

#  Välilyöntilisäys
#: dwarf.c:1947
#, c-format
msgid "   Version:       %d\n"
msgstr "   Versio:         %d\n"

#  Välilyöntilisäys
#: dwarf.c:1948
#, c-format
msgid "   Abbrev Offset: %ld\n"
msgstr "   Lyhennesiirros: %ld\n"

#  Välilyöntilisäys
#: dwarf.c:1949
#, c-format
msgid "   Pointer Size:  %d\n"
msgstr "   Osoitinkoko:    %d\n"

#: dwarf.c:1955
#, c-format
msgid "Debug info is corrupted, length of CU at %lx extends beyond end of section (length = %lx)\n"
msgstr "Virheenjäljitystieto on rikkinäinen, keskusyksikön pituus osoitteessa %lx ulottuu lohkon lopun ylitse (pituus = %lx)\n"

#: dwarf.c:1964
#, c-format
msgid "CU at offset %lx contains corrupt or unsupported version number: %d.\n"
msgstr "Keskusyksikkö siirrososoitteessa %lx sisältää rikkinäisen tai tukemattoman versionumeron: %d.\n"

#: dwarf.c:1974
#, c-format
msgid "Debug info is corrupted, abbrev offset (%lx) is larger than abbrev section size (%lx)\n"
msgstr "Virheenjäljitystieto on rikkinäinen, lyhennyssiirros (%lx) on laajempi kuin lyhennyslohkon koko (%lx)\n"

#: dwarf.c:2021
#, c-format
msgid "Bogus end-of-siblings marker detected at offset %lx in .debug_info section\n"
msgstr "Valesisarusloppumerkitsijä havaittu siirrososoitteessa %lx lohkossa .debug_info\n"

#: dwarf.c:2025
msgid "Further warnings about bogus end-of-sibling markers suppressed\n"
msgstr "Lisävaroitukset valesisarusloppumerkitsijöistä on vaimennettu\n"

#: dwarf.c:2032
#, c-format
msgid " <%d><%lx>: Abbrev Number: %lu"
msgstr " <%d><%lx>: Lyhennenumero: %lu"

#: dwarf.c:2049
#, c-format
msgid "DIE at offset %lx refers to abbreviation number %lu which does not exist\n"
msgstr "DIE siirrososoitteessa %lx viittaa lyhennenumeroon %lu, jota ei ole olemassa\n"

#: dwarf.c:2055
#, c-format
msgid " (%s)\n"
msgstr " (%s)\n"

#: dwarf.c:2146
#, c-format
msgid ""
"Raw dump of debug contents of section %s:\n"
"\n"
msgstr ""
"Lohkon %s virheenjäljityssisällön raakavedos:\n"
"\n"

#: dwarf.c:2184
#, c-format
msgid "The information in section %s appears to be corrupt - the section is too small\n"
msgstr "Tiedot lohkossa %s näyttävät olevan rikkinäisiä - lohko on liian pieni\n"

#: dwarf.c:2194 dwarf.c:2482
msgid "Only DWARF version 2 and 3 line info is currently supported.\n"
msgstr "Vain DWARF-versioiden 2 ja 3 rivitiedot on nykyisin tuettu.\n"

#  DWARF2_Internal_LineInfo-lohkon pituus
#: dwarf.c:2215
#, c-format
msgid "  Offset:                      0x%lx\n"
msgstr "  Siirros:                     0x%lx\n"

#  DWARF2_Internal_LineInfo-lohkon pituus
#: dwarf.c:2216
#, c-format
msgid "  Length:                      %ld\n"
msgstr "  Pituus:                      %ld\n"

#: dwarf.c:2217
#, c-format
msgid "  DWARF Version:               %d\n"
msgstr "  DWARF-versio:                %d\n"

#: dwarf.c:2218
#, c-format
msgid "  Prologue Length:             %d\n"
msgstr "  Esitoimipituus:              %d\n"

#: dwarf.c:2219
#, c-format
msgid "  Minimum Instruction Length:  %d\n"
msgstr "  Minimikäskypituus:           %d\n"

#: dwarf.c:2220
#, c-format
msgid "  Initial value of 'is_stmt':  %d\n"
msgstr "  Kohteen ”is_stmt” alkuarvo: %d\n"

#  Välilyönti lisätty tarkoituksella.
#: dwarf.c:2221
#, c-format
msgid "  Line Base:                   %d\n"
msgstr "  Rivin kantaluku:             %d\n"

#  Välilyönti lisätty tarkoituksella.
#: dwarf.c:2222
#, c-format
msgid "  Line Range:                  %d\n"
msgstr "  Rivinumeroalue:              %d\n"

#  Välilyönti lisätty tarkoituksella.
#: dwarf.c:2223
#, c-format
msgid "  Opcode Base:                 %d\n"
msgstr "  Käskykoodin kantaluku:       %d\n"

#: dwarf.c:2232
#, c-format
msgid ""
"\n"
" Opcodes:\n"
msgstr ""
"\n"
" Käskykoodit:\n"

#: dwarf.c:2235
#, c-format
msgid "  Opcode %d has %d args\n"
msgstr "  Käskykoodilla %d on %d argumenttia\n"

#: dwarf.c:2241
#, c-format
msgid ""
"\n"
" The Directory Table is empty.\n"
msgstr ""
"\n"
" Hakemistotaulu on tyhjä.\n"

#: dwarf.c:2244
#, c-format
msgid ""
"\n"
" The Directory Table:\n"
msgstr ""
"\n"
" Hakemistotaulu:\n"

#: dwarf.c:2248
#, c-format
msgid "  %s\n"
msgstr "  %s\n"

#: dwarf.c:2259
#, c-format
msgid ""
"\n"
" The File Name Table is empty.\n"
msgstr ""
"\n"
" Tiedostonimitaulu on tyhjä.\n"

#: dwarf.c:2262
#, c-format
msgid ""
"\n"
" The File Name Table:\n"
msgstr ""
"\n"
" Tiedostonimitaulu:\n"

#: dwarf.c:2270
#, c-format
msgid "  %d\t"
msgstr "  %d\t"

#: dwarf.c:2281
#, c-format
msgid "%s\n"
msgstr "%s\n"

#. Now display the statements.
#: dwarf.c:2289
#, c-format
msgid ""
"\n"
" Line Number Statements:\n"
msgstr ""
"\n"
" Rivi Numero Lauseet:\n"

#: dwarf.c:2305
#, c-format
msgid "  Special opcode %d: advance Address by %lu to 0x%lx"
msgstr "  Erikoiskäskykoodi %d: kasvata %lu tavua osoitteeseen 0x%lx"

#: dwarf.c:2309
#, c-format
msgid " and Line by %d to %d\n"
msgstr " ja %d riviä riville %d\n"

#: dwarf.c:2319
#, c-format
msgid "  Copy\n"
msgstr "  Kopioi\n"

#: dwarf.c:2327
#, c-format
msgid "  Advance PC by %lu to 0x%lx\n"
msgstr "  Kasvata PC:tä arvolla %lu arvoon 0x%lx\n"

#: dwarf.c:2335
#, c-format
msgid "  Advance Line by %d to %d\n"
msgstr "  Kasvata riviä arvolla %d arvoon %d\n"

#: dwarf.c:2342
#, c-format
msgid "  Set File Name to entry %d in the File Name Table\n"
msgstr "  Aseta tiedostonimi tiedostonimitaulun alkioon %d\n"

#: dwarf.c:2350
#, c-format
msgid "  Set column to %lu\n"
msgstr "  Aseta sarakkeeksi %lu\n"

#: dwarf.c:2357
#, c-format
msgid "  Set is_stmt to %d\n"
msgstr "  Aseta is_stmt-arvoksi %d\n"

#: dwarf.c:2362
#, c-format
msgid "  Set basic block\n"
msgstr "  Aseta peruslohko\n"

#: dwarf.c:2370
#, c-format
msgid "  Advance PC by constant %lu to 0x%lx\n"
msgstr "  Kasvata PC:tä vakiolla %lu arvoon 0x%lx\n"

#: dwarf.c:2378
#, c-format
msgid "  Advance PC by fixed size amount %lu to 0x%lx\n"
msgstr "  Kasvata PC:tä kiinteäkokoisella summalla %lu arvoon 0x%lx\n"

#: dwarf.c:2383
#, c-format
msgid "  Set prologue_end to true\n"
msgstr "  Aseta prologue_end-arvoksi true\n"

#: dwarf.c:2387
#, c-format
msgid "  Set epilogue_begin to true\n"
msgstr "  Aseta epilogue_begin-arvoksi true\n"

#: dwarf.c:2393 dwarf.c:2758
#, c-format
msgid "  Set ISA to %lu\n"
msgstr "  Aseta ISA-arvoksi %lu\n"

#: dwarf.c:2397 dwarf.c:2762
#, c-format
msgid "  Unknown opcode %d with operands: "
msgstr "  Tuntematon käskykoodi %d, jonka operandit ovat: "

#: dwarf.c:2430
#, c-format
msgid ""
"Decoded dump of debug contents of section %s:\n"
"\n"
msgstr ""
"Lohkon %s virheenjäljityssisällön dekoodattu vedos:\n"
"\n"

#: dwarf.c:2472
msgid "The line info appears to be corrupt - the section is too small\n"
msgstr "Rivitiedot näyttävät olevan rikkinäisiä - lohko on liian pieni\n"

#: dwarf.c:2592
#, c-format
msgid "CU: %s:\n"
msgstr "Keskusyksikkö: %s:\n"

#: dwarf.c:2593 dwarf.c:2606
#, c-format
msgid "File name                            Line number    Starting address\n"
msgstr "Tiedostonimi                         Rivinumero     Aloitusosoite\n"

#: dwarf.c:2599
#, c-format
msgid "CU: %s/%s:\n"
msgstr "Keskusyksikkö: %s/%s:\n"

#: dwarf.c:2604 dwarf.c:2676
#, c-format
msgid "%s:\n"
msgstr "%s:\n"

#. If directory index is 0, that means current directory.
#: dwarf.c:2709
#, c-format
msgid ""
"\n"
"./%s:[++]\n"
msgstr ""
"\n"
"./%s:[++]\n"

#. The directory index starts counting at 1.
#: dwarf.c:2715
#, c-format
msgid ""
"\n"
"%s/%s:\n"
msgstr ""
"\n"
"%s/%s:\n"

#: dwarf.c:2800
#, c-format
msgid "%-35s  %11d  %#18lx\n"
msgstr "%-35s  %11d  %#18lx\n"

#: dwarf.c:2805
#, c-format
msgid "%s  %11d  %#18lx\n"
msgstr "%s  %11d  %#18lx\n"

#: dwarf.c:2835 dwarf.c:3112 dwarf.c:3534
#, c-format
msgid "Unable to load/parse the .debug_info section, so cannot interpret the %s section.\n"
msgstr "Ei kyetä lataamaan/jäsentämään .debug_info-lohkoa, joten ei voida tulkita %s-lohkoa.\n"

#: dwarf.c:2916 dwarf.c:3419
#, c-format
msgid ".debug_info offset of 0x%lx in %s section does not point to a CU header.\n"
msgstr ".debug_info-siirrososoite: 0x%lx lohkossa %s ei osoita keskusyksikköotsakkeeseen.\n"

#  tarkoittaako pubnames julkisia nimiä?
#: dwarf.c:2930
msgid "Only DWARF 2 and 3 pubnames are currently supported\n"
msgstr "Vain DWARF 2:n ja 3:n pub-nimet ovat nykyisin tuettuja\n"

#: dwarf.c:2937
#, c-format
msgid "  Length:                              %ld\n"
msgstr "  Pituus:                              %ld\n"

#: dwarf.c:2939
#, c-format
msgid "  Version:                             %d\n"
msgstr "  Versio:                              %d\n"

#: dwarf.c:2941
#, c-format
msgid "  Offset into .debug_info section:     0x%lx\n"
msgstr "  Siirros lohkoon .debug_info:         0x%lx\n"

#: dwarf.c:2943
#, c-format
msgid "  Size of area in .debug_info section: %ld\n"
msgstr "  Alueen koko .debug_info-lohkossa:    %ld\n"

#: dwarf.c:2946
#, c-format
msgid ""
"\n"
"    Offset\tName\n"
msgstr ""
"\n"
"    Siirros\tNimi\n"

#: dwarf.c:2997
#, c-format
msgid " DW_MACINFO_start_file - lineno: %d filenum: %d\n"
msgstr " DW_MACINFO_start_file - rivinro:%d tied.nro:%d\n"

#: dwarf.c:3003
#, c-format
msgid " DW_MACINFO_end_file\n"
msgstr " DW_MACINFO_end_file\n"

#  lineno tarkoittaa ilmeisesti rivinumeroa
#: dwarf.c:3011
#, c-format
msgid " DW_MACINFO_define - lineno : %d macro : %s\n"
msgstr " DW_MACINFO_define - rivinro: %d makro : %s\n"

#  lineno tarkoittaa ilmeisesti rivinumeroa
#: dwarf.c:3020
#, c-format
msgid " DW_MACINFO_undef - lineno : %d macro : %s\n"
msgstr " DW_MACINFO_undef - rivinro: %d makro : %s\n"

#: dwarf.c:3032
#, c-format
msgid " DW_MACINFO_vendor_ext - constant : %d string : %s\n"
msgstr " DW_MACINFO_vendor_ext - vakio : %d merkkijono : %s\n"

#  Seuraava on taulukon otsikko. Itse taulukko on leveydeltään: "   %ld      %s    [%s]". Viimeinen [%s] sisältää tekstin "has children" tai "no children".
#: dwarf.c:3061
#, c-format
msgid "  Number TAG\n"
msgstr "  Numero Tunniste\n"

#  Tämä pitäisi oikeastaan jättää pois käännettävistä teksteistä !!
#: dwarf.c:3067
#, c-format
msgid "   %ld      %s    [%s]\n"
msgstr "   %ld      %s    [%s]\n"

#: dwarf.c:3070
msgid "has children"
msgstr "on jälkeläisiä"

#: dwarf.c:3070
msgid "no children"
msgstr "ei jälkeläisiä"

#  Seuraava pitäisi oikeastaan jättää pois käännettävistä teksteistä.
#: dwarf.c:3073
#, c-format
msgid "    %-18s %s\n"
msgstr "    %-18s %s\n"

#: dwarf.c:3106 dwarf.c:3312 dwarf.c:3528
#, c-format
msgid ""
"\n"
"The %s section is empty.\n"
msgstr ""
"\n"
"Lohko %s on tyhjä.\n"

#. FIXME: Should we handle this case?
#: dwarf.c:3156
msgid "Location lists in .debug_info section aren't in ascending order!\n"
msgstr "Sijaintiluettelot .debug_info-lohkossa eivät ole nousevassa järjestyksessä!\n"

#: dwarf.c:3159
msgid "No location lists in .debug_info section!\n"
msgstr "Ei sijaintiluetteloja .debug_info-lohkossa!\n"

#: dwarf.c:3164
#, c-format
msgid "Location lists in %s section start at 0x%lx\n"
msgstr "Sijaintiluettelot %s-lohkossa alkavat osoitteesta 0x%lx\n"

#: dwarf.c:3168
#, c-format
msgid "    Offset   Begin    End      Expression\n"
msgstr "    Siirros  Alku     Loppu    Lauseke\n"

#: dwarf.c:3199
#, c-format
msgid "There is a hole [0x%lx - 0x%lx] in .debug_loc section.\n"
msgstr "Lohkossa .debug_loc on aukko [0x%lx - 0x%lx].\n"

#: dwarf.c:3203
#, c-format
msgid "There is an overlap [0x%lx - 0x%lx] in .debug_loc section.\n"
msgstr "Lohkossa .debug_loc on päällekkäisyys [0x%lx - 0x%lx].\n"

#: dwarf.c:3211
#, c-format
msgid "Offset 0x%lx is bigger than .debug_loc section size.\n"
msgstr "Siirros 0x%lx on suurempi kuin .debug_loc-lohkon koko.\n"

#: dwarf.c:3220 dwarf.c:3255 dwarf.c:3265
#, c-format
msgid "Location list starting at offset 0x%lx is not terminated.\n"
msgstr "Siirroksesta 0x%lx alkavaa sijaintiluetteloa ei ole päätetty.\n"

#: dwarf.c:3239 dwarf.c:3622
#, c-format
msgid "<End of list>\n"
msgstr "<Luettelon loppu>\n"

#: dwarf.c:3249
#, c-format
msgid "(base address)\n"
msgstr "(perusosoite)\n"

#: dwarf.c:3284
msgid " (start == end)"
msgstr " (alku == loppu)"

#: dwarf.c:3286
msgid " (start > end)"
msgstr " (alku > loppu)"

#: dwarf.c:3296
#, c-format
msgid "There are %ld unused bytes at the end of section %s\n"
msgstr "Käyttämättömiä tavuja on %ld lohkon %s lopussa\n"

#: dwarf.c:3430
msgid "Only DWARF 2 and 3 aranges are currently supported.\n"
msgstr "Vain DWARF 2- ja 3-aranges on nykyisin tuettu.\n"

#: dwarf.c:3434
#, c-format
msgid "  Length:                   %ld\n"
msgstr "  Pituus:                      %ld\n"

#: dwarf.c:3435
#, c-format
msgid "  Version:                  %d\n"
msgstr "  Versio:                      %d\n"

#: dwarf.c:3436
#, c-format
msgid "  Offset into .debug_info:  0x%lx\n"
msgstr "  Siirros lohkoon .debug_info: 0x%lx\n"

#: dwarf.c:3437
#, c-format
msgid "  Pointer Size:             %d\n"
msgstr "  Osoitinkoko:                 %d\n"

#: dwarf.c:3438
#, c-format
msgid "  Segment Size:             %d\n"
msgstr "  Segmenttikoko:               %d\n"

#: dwarf.c:3447
msgid "Pointer size + Segment size is not a power of two.\n"
msgstr "Osoitinkoko + segmenttikoko ei ole kahden potenssi.\n"

#: dwarf.c:3452
#, c-format
msgid ""
"\n"
"    Address            Length\n"
msgstr ""
"\n"
"    Osoite            Pituus\n"

#: dwarf.c:3454
#, c-format
msgid ""
"\n"
"    Address    Length\n"
msgstr ""
"\n"
"    Osoite    Pituus\n"

#: dwarf.c:3544
msgid "No range lists in .debug_info section!\n"
msgstr "Ei lukualueluetteloja .debug_info-lohkossa!\n"

#: dwarf.c:3568
#, c-format
msgid "Range lists in %s section start at 0x%lx\n"
msgstr "Lukualueluettelot %s-lohkossa alkavat osoitteesta 0x%lx\n"

#: dwarf.c:3572
#, c-format
msgid "    Offset   Begin    End\n"
msgstr "    Siirros  Alku     Loppu\n"

#: dwarf.c:3593
#, c-format
msgid "There is a hole [0x%lx - 0x%lx] in %s section.\n"
msgstr "Aukko [0x%lx - 0x%lx] lohkossa %s.\n"

#: dwarf.c:3597
#, c-format
msgid "There is an overlap [0x%lx - 0x%lx] in %s section.\n"
msgstr "Päällekkäisyys [0x%lx - 0x%lx] lohkossa %s.\n"

#: dwarf.c:3640
msgid "(start == end)"
msgstr "(alku == loppu)"

#: dwarf.c:3642
msgid "(start > end)"
msgstr "(alku > loppu)"

#: dwarf.c:3879
msgid "bad register: "
msgstr "virheellinen rekisteri: "

#: dwarf.c:3881
#, c-format
msgid "Contents of the %s section:\n"
msgstr "Lohkon %s sisältö:\n"

#: dwarf.c:4646
#, c-format
msgid "  DW_CFA_??? (User defined call frame op: %#x)\n"
msgstr "  DW_CFA_??? (Käyttäjämääritelty kutsukehyskäsky: %#x)\n"

#: dwarf.c:4648
#, c-format
msgid "unsupported or unknown Dwarf Call Frame Instruction number: %#x\n"
msgstr "tukematon tai tuntematon Dwarf-kutsukehyskäskynumero: %#x\n"

#: dwarf.c:4672
#, c-format
msgid "Displaying the debug contents of section %s is not yet supported.\n"
msgstr "Lohkon %s virheenjäljityssisällön näyttäminen ei ole vielä tuettu.\n"

#: dwarf.c:4714
#, c-format
msgid "%s: Error: "
msgstr "%s: Virhe: "

#: dwarf.c:4725
#, c-format
msgid "%s: Warning: "
msgstr "%s: Varoitus: "

#: dwarf.c:4823 dwarf.c:4889
#, c-format
msgid "Unrecognized debug option '%s'\n"
msgstr "Tunnistamaton virheenjäljitysvalitsin ”%s”\n"

#: emul_aix.c:43
#, c-format
msgid "  [-g]         - 32 bit small archive\n"
msgstr "  [-g]         - 32-bittinen pieni arkisto\n"

#: emul_aix.c:44
#, c-format
msgid "  [-X32]       - ignores 64 bit objects\n"
msgstr "  [-X32]       - ei oteta huomioon 64-bittisiä objekteja\n"

#: emul_aix.c:45
#, c-format
msgid "  [-X64]       - ignores 32 bit objects\n"
msgstr "  [-X64]       - ei oteta huomioon 32-bittisiä objekteja\n"

#: emul_aix.c:46
#, c-format
msgid "  [-X32_64]    - accepts 32 and 64 bit objects\n"
msgstr "  [-X32_64]    - hyväksyy 32- ja 64-bittiset objektit\n"

#  Lähdekoodin kommentti ennen tulostusta: Report an unexpected EOF in the IEEE debugging information.
#: ieee.c:311
msgid "unexpected end of debugging information"
msgstr "odottamaton IEEE-virheenjäljitystietojen loppu"

#: ieee.c:398
msgid "invalid number"
msgstr "virheellinen numero"

#: ieee.c:451
msgid "invalid string length"
msgstr "virheellinen merkkijonopituus"

#: ieee.c:506 ieee.c:547
msgid "expression stack overflow"
msgstr "lausekepinon ylivuoto"

#: ieee.c:526
msgid "unsupported IEEE expression operator"
msgstr "ei-tuettu IEEE-lausekeoperaattori"

#: ieee.c:541
msgid "unknown section"
msgstr "tuntematon lohko"

#: ieee.c:562
msgid "expression stack underflow"
msgstr "lausekepinon ehtyminen"

#: ieee.c:576
msgid "expression stack mismatch"
msgstr "lausekepinon täsmäämättömyys"

#: ieee.c:613
msgid "unknown builtin type"
msgstr "tuntematon rakenteeseen sisältyvä tyyppi"

#: ieee.c:758
msgid "BCD float type not supported"
msgstr "ei-tuettu binäärikoodattu desimaaliliukulukutyyppi"

#: ieee.c:895
msgid "unexpected number"
msgstr "odottamaton numero"

#: ieee.c:902
msgid "unexpected record type"
msgstr "odottamaton tietuetyyppi"

#: ieee.c:935
msgid "blocks left on stack at end"
msgstr "lohkoja jäi pinoon lopussa"

#  Handle an IEEE BB record.
#: ieee.c:1208
msgid "unknown BB type"
msgstr "tuntematon IEEE-BB-tietuetyyppi"

#: ieee.c:1217
msgid "stack overflow"
msgstr "pinon ylivuoto"

#: ieee.c:1240
msgid "stack underflow"
msgstr "pinon ehtyminen"

#: ieee.c:1352 ieee.c:1422 ieee.c:2120
msgid "illegal variable index"
msgstr "virheellinen muuttujaindeksi"

#: ieee.c:1400
msgid "illegal type index"
msgstr "virheellinen tyyppi-indeksi"

#: ieee.c:1410 ieee.c:1447
msgid "unknown TY code"
msgstr "tuntematon TY-koodi"

#: ieee.c:1429
msgid "undefined variable in TY"
msgstr "määrittelemätön muuttuja kohteessa TY"

#. Pascal file name.  FIXME.
#: ieee.c:1841
msgid "Pascal file name not supported"
msgstr "Pascal-tiedostonimeä ei tueta"

#: ieee.c:1889
msgid "unsupported qualifier"
msgstr "ei-tuettu tarkenne"

#: ieee.c:2158
msgid "undefined variable in ATN"
msgstr "määrittelemätön muuttuja kohteessa ATN"

#: ieee.c:2201
msgid "unknown ATN type"
msgstr "tuntematon ATN-tyyppi"

#. Reserved for FORTRAN common.
#: ieee.c:2323
msgid "unsupported ATN11"
msgstr "ei-tuettu ATN11"

#. We have no way to record this information.  FIXME.
#: ieee.c:2350
msgid "unsupported ATN12"
msgstr "ei-tuettu ATN12"

#  Kahdessa seuraavassa on kyse samasta tietueesta.
#: ieee.c:2410
msgid "unexpected string in C++ misc"
msgstr "odottamaton merkkijono C++-misc-tietueessa"

#: ieee.c:2423
msgid "bad misc record"
msgstr "virheellinen misc-tietue"

#: ieee.c:2464
msgid "unrecognized C++ misc record"
msgstr "tunnistamaton C++-misc-tietue"

#: ieee.c:2579
msgid "undefined C++ object"
msgstr "määrittelemätön C++-objekti"

#: ieee.c:2613
msgid "unrecognized C++ object spec"
msgstr "tunnistamaton C++-objektimäärittely"

#: ieee.c:2649
msgid "unsupported C++ object type"
msgstr "ei-tuettu C++-objektityyppi"

#: ieee.c:2659
msgid "C++ base class not defined"
msgstr "C++-kantaluokkaa ei ole määritelty"

#: ieee.c:2671 ieee.c:2776
msgid "C++ object has no fields"
msgstr "C++-objektissa ei ole kenttiä"

#: ieee.c:2690
msgid "C++ base class not found in container"
msgstr "C++-kantaluokkaa ei löytynyt containerista"

#: ieee.c:2797
msgid "C++ data member not found in container"
msgstr "C++-data-jäsentä ei löytynyt containerista"

#: ieee.c:2838 ieee.c:2988
msgid "unknown C++ visibility"
msgstr "tuntematon C++-näkyvyys"

#: ieee.c:2872
msgid "bad C++ field bit pos or size"
msgstr "virheellinen C++-kenttäbittisijainti tai koko"

#: ieee.c:2964
msgid "bad type for C++ method function"
msgstr "virheellinen C++-metodifunktion tyyppi"

#: ieee.c:2974
msgid "no type information for C++ method function"
msgstr "ei tyyppitietoa C++-metodifunktiossa"

#: ieee.c:3013
msgid "C++ static virtual method"
msgstr "C++ staattinen virtuaalimetodi"

#: ieee.c:3108
msgid "unrecognized C++ object overhead spec"
msgstr "tunnistamaton C++-objektin yleisrasitemääritys"

#: ieee.c:3147
msgid "undefined C++ vtable"
msgstr "määrittelemätön C++-vtable"

#: ieee.c:3216
msgid "C++ default values not in a function"
msgstr "funktiossa ei ole C++-oletusarvoja"

#: ieee.c:3256
msgid "unrecognized C++ default type"
msgstr "tunnistamaton C++-oletustyyppi"

#: ieee.c:3287
msgid "reference parameter is not a pointer"
msgstr "viiteparametri ei ole osoitin"

#: ieee.c:3370
msgid "unrecognized C++ reference type"
msgstr "tunnistamaton C++-viitetyyppi"

#: ieee.c:3452
msgid "C++ reference not found"
msgstr "C++-viite ei löytynyt"

#: ieee.c:3460
msgid "C++ reference is not pointer"
msgstr "C++-viite ei ole osoitin"

#: ieee.c:3486 ieee.c:3494
msgid "missing required ASN"
msgstr "vaadittu ASN puuttuu"

#: ieee.c:3521 ieee.c:3529
msgid "missing required ATN65"
msgstr "vaadittu ATN65 puuttuu"

#: ieee.c:3543
msgid "bad ATN65 record"
msgstr "virheellinen ATN65-tietue"

#: ieee.c:4171
#, c-format
msgid "IEEE numeric overflow: 0x"
msgstr "IEEE numeerinen ylivuoto: 0x"

#: ieee.c:4215
#, c-format
msgid "IEEE string length overflow: %u\n"
msgstr "IEEE merkkijonopituuden ylivuoto: %u\n"

#: ieee.c:5212
#, c-format
msgid "IEEE unsupported integer type size %u\n"
msgstr "ei-tuettu IEEE kokonaislukutyyppikoko %u\n"

#: ieee.c:5246
#, c-format
msgid "IEEE unsupported float type size %u\n"
msgstr "ei-tuettu IEEE liukulukutyyppikoko %u\n"

#: ieee.c:5280
#, c-format
msgid "IEEE unsupported complex type size %u\n"
msgstr "ei-tuettu IEEE kompleksilukutyyppikoko %u\n"

#: mclex.c:241
msgid "Duplicate symbol entered into keyword list."
msgstr "Symbolin kaksoiskappale kirjoitettu avainsanaluetteloon."

#: nlmconv.c:273 srconv.c:1822
msgid "input and output files must be different"
msgstr "syöte- ja tulostetiedosto ei saa olla sama tiedosto"

#: nlmconv.c:320
msgid "input file named both on command line and with INPUT"
msgstr "syötetiedosto nimetty sekä komentorivillä että INPUT-tiedostossa"

#: nlmconv.c:329
msgid "no input file"
msgstr "ei syötetiedostoa"

#: nlmconv.c:359
msgid "no name for output file"
msgstr "ei tulostetiedoston nimeä"

#: nlmconv.c:373
msgid "warning: input and output formats are not compatible"
msgstr "varoitus: syöte- ja tulostemuodot eivät ole yhteensopivia"

#: nlmconv.c:403
msgid "make .bss section"
msgstr "tee .bss-lohko"

#: nlmconv.c:413
msgid "make .nlmsections section"
msgstr "tee .nlmsections-lohko"

#  vma on Virtual Memory Address
#: nlmconv.c:441
msgid "set .bss vma"
msgstr "aseta .bss-virtuaalimuistiosoite"

#: nlmconv.c:448
msgid "set .data size"
msgstr "aseta .data-koko"

#: nlmconv.c:628
#, c-format
msgid "warning: symbol %s imported but not in import list"
msgstr "varoitus: symboli %s tuotu mutta ei ole tuontiluettelossa"

#: nlmconv.c:648
msgid "set start address"
msgstr "aseta alkuosoite"

#: nlmconv.c:697
#, c-format
msgid "warning: START procedure %s not defined"
msgstr "varoitus: START-proseduuria %s ei ole määritelty"

#: nlmconv.c:699
#, c-format
msgid "warning: EXIT procedure %s not defined"
msgstr "varoitus: EXIT-proseduuria %s ei ole määritelty"

#: nlmconv.c:701
#, c-format
msgid "warning: CHECK procedure %s not defined"
msgstr "varoitus: CHECK-proseduuria %s ei ole määritelty"

#: nlmconv.c:721 nlmconv.c:907
msgid "custom section"
msgstr "räätälöity lohko"

#: nlmconv.c:741 nlmconv.c:936
msgid "help section"
msgstr "ohje-lohko"

#: nlmconv.c:763 nlmconv.c:954
msgid "message section"
msgstr "sanoma-lohko"

#: nlmconv.c:778 nlmconv.c:987
msgid "module section"
msgstr "moduli-lohko"

#: nlmconv.c:797 nlmconv.c:1003
msgid "rpc section"
msgstr "rpc-lohko"

#. There is no place to record this information.
#: nlmconv.c:833
#, c-format
msgid "%s: warning: shared libraries can not have uninitialized data"
msgstr "%s: varoitus: jaetuissa kirjastoissa ei voi olla alustamatonta dataa"

#: nlmconv.c:854 nlmconv.c:1022
msgid "shared section"
msgstr "jaettu lohko"

#: nlmconv.c:862
msgid "warning: No version number given"
msgstr "varoitus: Mitään versionumeroa ei ole annettu"

#  Tämän suomensin kuten ruotsalaisessa käännöksessä
#: nlmconv.c:902 nlmconv.c:931 nlmconv.c:949 nlmconv.c:998 nlmconv.c:1017
#, c-format
msgid "%s: read: %s"
msgstr "%s: lukuvirhe: %s"

#: nlmconv.c:924
msgid "warning: FULLMAP is not supported; try ld -M"
msgstr "varoitus: FULLMAP ei ole tuettu; yritä ld -M"

#: nlmconv.c:1100
#, c-format
msgid "Usage: %s [option(s)] [in-file [out-file]]\n"
msgstr "Käyttö: %s [valitsimet] [syötetiedosto [tulostetiedosto]]\n"

#: nlmconv.c:1101
#, c-format
msgid " Convert an object file into a NetWare Loadable Module\n"
msgstr " Muunna objektitiedosto NetWare Loadable Module-muotoon\n"

#: nlmconv.c:1102
#, c-format
msgid ""
" The options are:\n"
"  -I --input-target=<bfdname>   Set the input binary file format\n"
"  -O --output-target=<bfdname>  Set the output binary file format\n"
"  -T --header-file=<file>       Read <file> for NLM header information\n"
"  -l --linker=<linker>          Use <linker> for any linking\n"
"  -d --debug                    Display on stderr the linker command line\n"
"  @<file>                       Read options from <file>.\n"
"  -h --help                     Display this information\n"
"  -v --version                  Display the program's version\n"
msgstr ""
" The options are:\n"
"  -I --input-target=<bfd-nimi>  Aseta binaarin syötetiedoston muoto\n"
"  -O --output-target=<bfd-nimi> Aseta binaarin tulostetiedoston muoto\n"
"  -T --header-file=<tiedosto>   Lue tiedosto <tiedosto> NLM-otsaketiedoille\n"
"  -l --linker=<linkkeri>        Käytä parametriä <linkkeri> linkittämiseen\n"
"  -d --debug                    Näytä vakiovirhetulosteessa linkkerin komentorivi\n"
"  @<tiedosto>                   Lue valitsimet tiedostosta <tiedosto>.\n"
"  -h --help                     Näytä nämä tiedot\n"
"  -v --version                  Näytä ohjelman versio\n"

#: nlmconv.c:1143
#, c-format
msgid "support not compiled in for %s"
msgstr "tukea ei ole käännetty kohteeseen %s"

#: nlmconv.c:1180
msgid "make section"
msgstr "tee lohko"

#: nlmconv.c:1194
msgid "set section size"
msgstr "aseta lohkokoko"

#: nlmconv.c:1200
msgid "set section alignment"
msgstr "aseta lohkotasaus"

#: nlmconv.c:1204
msgid "set section flags"
msgstr "aseta lohkoliput"

#: nlmconv.c:1215
msgid "set .nlmsections size"
msgstr "aseta .nlmsections-koko"

#: nlmconv.c:1296 nlmconv.c:1304 nlmconv.c:1313 nlmconv.c:1318
msgid "set .nlmsection contents"
msgstr "aseta .nlmsection-sisältö"

#: nlmconv.c:1795
msgid "stub section sizes"
msgstr "stub-lohkokoot"

#: nlmconv.c:1842
msgid "writing stub"
msgstr "kirjoitetaan stub"

#  Selvensin tekstiä ylimääräisillä lainausmerkeillä
#: nlmconv.c:1926
#, c-format
msgid "unresolved PC relative reloc against %s"
msgstr "ratkaisematon ”PC relative reloc” symbolille %s"

#: nlmconv.c:1990
#, c-format
msgid "overflow when adjusting relocation against %s"
msgstr "ylivuoto säädettäessä uudelleensijoitusta symbolille %s"

#: nlmconv.c:2117
#, c-format
msgid "%s: execution of %s failed: "
msgstr "%s: kohteen %s suoritus epäonnistui: "

#: nlmconv.c:2132
#, c-format
msgid "Execution of %s failed"
msgstr "Kohteen %s suoritus epäonnistui"

#: nm.c:220 size.c:78 strings.c:659
#, c-format
msgid "Usage: %s [option(s)] [file(s)]\n"
msgstr "Käyttö: %s [valitsimet] [tiedosto(t)]\n"

#: nm.c:221
#, c-format
msgid " List symbols in [file(s)] (a.out by default).\n"
msgstr " Luettele symbolit kohteessa [tiedosto(t)] (oletus: a.out).\n"

#: nm.c:222
#, c-format
msgid ""
" The options are:\n"
"  -a, --debug-syms       Display debugger-only symbols\n"
"  -A, --print-file-name  Print name of the input file before every symbol\n"
"  -B                     Same as --format=bsd\n"
"  -C, --demangle[=STYLE] Decode low-level symbol names into user-level names\n"
"                          The STYLE, if specified, can be `auto' (the default),\n"
"                          `gnu', `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n"
"                          or `gnat'\n"
"      --no-demangle      Do not demangle low-level symbol names\n"
"  -D, --dynamic          Display dynamic symbols instead of normal symbols\n"
"      --defined-only     Display only defined symbols\n"
"  -e                     (ignored)\n"
"  -f, --format=FORMAT    Use the output format FORMAT.  FORMAT can be `bsd',\n"
"                           `sysv' or `posix'.  The default is `bsd'\n"
"  -g, --extern-only      Display only external symbols\n"
"  -l, --line-numbers     Use debugging information to find a filename and\n"
"                           line number for each symbol\n"
"  -n, --numeric-sort     Sort symbols numerically by address\n"
"  -o                     Same as -A\n"
"  -p, --no-sort          Do not sort the symbols\n"
"  -P, --portability      Same as --format=posix\n"
"  -r, --reverse-sort     Reverse the sense of the sort\n"
msgstr ""
" Valitsimet ovat:\n"
"  -a, --debug-syms       Näytä vain virheenjäljityssymbolit\n"
"  -A, --print-file-name  Tulosta syötetiedoston nimi ennen jokaista symbolia\n"
"  -B                     Sama kuin --format=bsd\n"
"  -C, --demangle[=TYYLI] Eheytä alemman tason symbolinimet käyttäjätason nimiksi\n"
"                          TYYLI, jos annettu, voi olla ”auto” (oletus),\n"
"                          ”gnu”, ”lucid”, ”arm”, ”hp”, ”edg”, ”gnu-v3”, ”java”\n"
"                          tai ”gnat”\n"
"      --no-demangle      Älä eheytä alemman tason symbolinimiä\n"
"  -D, --dynamic          Näytä dynaamiset symbolit normaalien symbolien sijasta\n"
"      --defined-only     Näytä vain määritellyt symbolit\n"
"  -e                     (ei oteta huomioon)\n"
"  -f, --format=MUOTO     Käytä tulostemuotoa MUOTO.  MUOTO voi olla ”bsd”,\n"
"                          ”sysv” tai ”posix”.  Oletus on ”bsd”\n"
"  -g, --extern-only      Näytä vain ulkoiset symbolit\n"
"  -l, --line-numbers     Käytä virheenjäljitystietoja tiedostonimen löytämiseen ja\n"
"                          rivinumeroa jokaiselle symbolille\n"
"  -n, --numeric-sort     Lajittele symbolit numeerisesti osoitteen mukaan\n"
"  -o                     Sama kuin -A\n"
"  -p, --no-sort          Älä lajittele symboleja\n"
"  -P, --portability      Sama kuin --format=posix\n"
"  -r, --reverse-sort     Käännä lajittelu käänteiseksi\n"

#: nm.c:245
#, c-format
msgid "      --plugin NAME      Load the specified plugin\n"
msgstr "      --plugin NIMI      Lataa määritelty lisäosa\n"

#: nm.c:248
#, c-format
msgid ""
"  -S, --print-size       Print size of defined symbols\n"
"\t\t  -s, --print-armap      Include index for symbols from archive members\n"
"      --size-sort        Sort symbols by size\n"
"      --special-syms     Include special symbols in the output\n"
"      --synthetic        Display synthetic symbols as well\n"
"  -t, --radix=RADIX      Use RADIX for printing symbol values\n"
"      --target=BFDNAME   Specify the target object format as BFDNAME\n"
"  -u, --undefined-only   Display only undefined symbols\n"
"  -X 32_64               (ignored)\n"
"  @FILE                  Read options from FILE\n"
"  -h, --help             Display this information\n"
"  -V, --version          Display this program's version number\n"
"\n"
msgstr ""
"  -S, --print-size       Tulosta määriteltyjen symbolien koko\n"
"\t\t  -s, --print-armap      Sisällytä indeksi arkistojäsensymboleille\n"
"      --size-sort        Lajittele symbolit koon mukaan\n"
"      --special-syms     Sisällytä erityissymbolit tulosteeseen\n"
"      --synthetic        Näytä myös synteettiset symbolit\n"
"  -t, --radix=KANTALUKU  Käytä KANTALUKUa symboliarvojen tulosteeseen\n"
"      --target=BFD-NIMI  Määrittele kohdeobjektin muodoksi BFD-NIMI\n"
"  -u, --undefined-only   Näytä vain määrittelemättömät symbolit\n"
"  -X 32_64               (ei oteta huomioon)\n"
"  @TIEDOSTO              Lue valitsimet TIEDOSTOsta\n"
"  -h, --help             Näytä nämä tiedot\n"
"  -V, --version          Näytä ohjelman versionumero\n"
"\n"

#: nm.c:292
#, c-format
msgid "%s: invalid radix"
msgstr "%s: virheellinen kantaluku"

#: nm.c:316
#, c-format
msgid "%s: invalid output format"
msgstr "%s: virheellinen tulostemuoto"

#: nm.c:337 readelf.c:7016 readelf.c:7061
#, c-format
msgid "<processor specific>: %d"
msgstr "<suoritinkohtainen>: %d"

#: nm.c:339 readelf.c:7025 readelf.c:7079
#, c-format
msgid "<OS specific>: %d"
msgstr "<Käyttöjärjestelmäkohtainen>: %d"

#: nm.c:341 readelf.c:7028 readelf.c:7082
#, c-format
msgid "<unknown>: %d"
msgstr "<tuntematon>: %d"

#: nm.c:381
#, c-format
msgid ""
"\n"
"Archive index:\n"
msgstr ""
"\n"
"Arkistoindeksi:\n"

#: nm.c:1242
#, c-format
msgid ""
"\n"
"\n"
"Undefined symbols from %s:\n"
"\n"
msgstr ""
"\n"
"\n"
"Määrittelemättömiä symboleja kohteesta %s:\n"
"\n"

#: nm.c:1244
#, c-format
msgid ""
"\n"
"\n"
"Symbols from %s:\n"
"\n"
msgstr ""
"\n"
"\n"
"Symboleja kohteesta %s:\n"
"\n"

#: nm.c:1246 nm.c:1297
#, c-format
msgid ""
"Name                  Value   Class        Type         Size     Line  Section\n"
"\n"
msgstr ""
"Nimi                  Arvo    Luokka       Tyyppi       Koko    Rivi  Lohko\n"
"\n"

#: nm.c:1249 nm.c:1300
#, c-format
msgid ""
"Name                  Value           Class        Type         Size             Line  Section\n"
"\n"
msgstr ""
"Nimi                  Arvo            Luokka       Tyyppi       Koko             Rivi  Lohko\n"
"\n"

#: nm.c:1293
#, c-format
msgid ""
"\n"
"\n"
"Undefined symbols from %s[%s]:\n"
"\n"
msgstr ""
"\n"
"\n"
"Määrittelemättömiä symboleja kohteesta %s[%s]:\n"
"\n"

#: nm.c:1295
#, c-format
msgid ""
"\n"
"\n"
"Symbols from %s[%s]:\n"
"\n"
msgstr ""
"\n"
"\n"
"Symbolit kohteesta %s[%s]:\n"
"\n"

#: nm.c:1387
#, c-format
msgid "Print width has not been initialized (%d)"
msgstr "Tulostusleveyttä ei ole alustettu (%d)"

#: nm.c:1615
msgid "Only -X 32_64 is supported"
msgstr "Vain -X 32_64 on tuettuna"

#  Lisäsin ylimääräisiä lainausmerkkejä väliviivojen ja valitsimien erottamiseksi
#: nm.c:1643
msgid "Using the --size-sort and --undefined-only options together"
msgstr "Käytetään ”--size-sort”- ja ”--undefined-only”-valitsimia yhdessä"

#: nm.c:1644
msgid "will produce no output, since undefined symbols have no size."
msgstr "ei tuota mitään tulostetta, koska määrittelemättömissä symboleissa ei ole kokoa."

#: nm.c:1672
#, c-format
msgid "data size %ld"
msgstr "data-koko %ld"

#: objcopy.c:463 srconv.c:1730
#, c-format
msgid "Usage: %s [option(s)] in-file [out-file]\n"
msgstr "Käyttö: %s [valitsimet] syötetiedosto [tulostetiedosto]\n"

#: objcopy.c:464
#, c-format
msgid " Copies a binary file, possibly transforming it in the process\n"
msgstr " Kopioi binaaritiedoston, mahdollisesti muuntaen sitä käsittelyssä\n"

#: objcopy.c:465 objcopy.c:572
#, c-format
msgid " The options are:\n"
msgstr " Valitsimet ovat:\n"

#  demand paged ?? (demand = kysyntä, page = kuuluttaa, kutsua)  Only bring a page from the backing store  into memory when the page is needed (demanded). Pure demand paging is where no pages are initially brought into memory - a process begins execution by demand paging the first instructions.
#  "--pure" ja "--impure"-valitsimet? Kun muistia varataan sivuina, osa viimeisestä sivusta voi jäädä käyttämättä. Jos tämä käyttämätön osa täytetään nollilla, se on pure. Jos käyttämättömässä osassa on roskaa, se on impure. Tarkoitetaanko sitä tässä?
#  weak symbol on symboli, jonka arvo voidaan korvata toisella objektitiedostossa tai dynaamisessa kirjastossa.
#: objcopy.c:466
#, c-format
msgid ""
"  -I --input-target <bfdname>      Assume input file is in format <bfdname>\n"
"  -O --output-target <bfdname>     Create an output file in format <bfdname>\n"
"  -B --binary-architecture <arch>  Set arch of output file, when input is binary\n"
"  -F --target <bfdname>            Set both input and output format to <bfdname>\n"
"     --debugging                   Convert debugging information, if possible\n"
"  -p --preserve-dates              Copy modified/access timestamps to the output\n"
"  -j --only-section <name>         Only copy section <name> into the output\n"
"     --add-gnu-debuglink=<file>    Add section .gnu_debuglink linking to <file>\n"
"  -R --remove-section <name>       Remove section <name> from the output\n"
"  -S --strip-all                   Remove all symbol and relocation information\n"
"  -g --strip-debug                 Remove all debugging symbols & sections\n"
"     --strip-unneeded              Remove all symbols not needed by relocations\n"
"  -N --strip-symbol <name>         Do not copy symbol <name>\n"
"     --strip-unneeded-symbol <name>\n"
"                                   Do not copy symbol <name> unless needed by\n"
"                                     relocations\n"
"     --only-keep-debug             Strip everything but the debug information\n"
"     --extract-symbol              Remove section contents but keep symbols\n"
"  -K --keep-symbol <name>          Do not strip symbol <name>\n"
"     --keep-file-symbols           Do not strip file symbol(s)\n"
"     --localize-hidden             Turn all ELF hidden symbols into locals\n"
"  -L --localize-symbol <name>      Force symbol <name> to be marked as a local\n"
"     --globalize-symbol <name>     Force symbol <name> to be marked as a global\n"
"  -G --keep-global-symbol <name>   Localize all symbols except <name>\n"
"  -W --weaken-symbol <name>        Force symbol <name> to be marked as a weak\n"
"     --weaken                      Force all global symbols to be marked as weak\n"
"  -w --wildcard                    Permit wildcard in symbol comparison\n"
"  -x --discard-all                 Remove all non-global symbols\n"
"  -X --discard-locals              Remove any compiler-generated symbols\n"
"  -i --interleave <number>         Only copy one out of every <number> bytes\n"
"  -b --byte <num>                  Select byte <num> in every interleaved block\n"
"     --gap-fill <val>              Fill gaps between sections with <val>\n"
"     --pad-to <addr>               Pad the last section up to address <addr>\n"
"     --set-start <addr>            Set the start address to <addr>\n"
"    {--change-start|--adjust-start} <incr>\n"
"                                   Add <incr> to the start address\n"
"    {--change-addresses|--adjust-vma} <incr>\n"
"                                   Add <incr> to LMA, VMA and start addresses\n"
"    {--change-section-address|--adjust-section-vma} <name>{=|+|-}<val>\n"
"                                   Change LMA and VMA of section <name> by <val>\n"
"     --change-section-lma <name>{=|+|-}<val>\n"
"                                   Change the LMA of section <name> by <val>\n"
"     --change-section-vma <name>{=|+|-}<val>\n"
"                                   Change the VMA of section <name> by <val>\n"
"    {--[no-]change-warnings|--[no-]adjust-warnings}\n"
"                                   Warn if a named section does not exist\n"
"     --set-section-flags <name>=<flags>\n"
"                                   Set section <name>'s properties to <flags>\n"
"     --add-section <name>=<file>   Add section <name> found in <file> to output\n"
"     --rename-section <old>=<new>[,<flags>] Rename section <old> to <new>\n"
"     --long-section-names {enable|disable|keep}\n"
"                                   Handle long section names in Coff objects.\n"
"     --change-leading-char         Force output format's leading character style\n"
"     --remove-leading-char         Remove leading character from global symbols\n"
"     --reverse-bytes=<num>         Reverse <num> bytes at a time, in output sections with content\n"
"     --redefine-sym <old>=<new>    Redefine symbol name <old> to <new>\n"
"     --redefine-syms <file>        --redefine-sym for all symbol pairs \n"
"                                     listed in <file>\n"
"     --srec-len <number>           Restrict the length of generated Srecords\n"
"     --srec-forceS3                Restrict the type of generated Srecords to S3\n"
"     --strip-symbols <file>        -N for all symbols listed in <file>\n"
"     --strip-unneeded-symbols <file>\n"
"                                   --strip-unneeded-symbol for all symbols listed\n"
"                                     in <file>\n"
"     --keep-symbols <file>         -K for all symbols listed in <file>\n"
"     --localize-symbols <file>     -L for all symbols listed in <file>\n"
"     --globalize-symbols <file>    --globalize-symbol for all in <file>\n"
"     --keep-global-symbols <file>  -G for all symbols listed in <file>\n"
"     --weaken-symbols <file>       -W for all symbols listed in <file>\n"
"     --alt-machine-code <index>    Use the target's <index>'th alternative machine\n"
"     --writable-text               Mark the output text as writable\n"
"     --readonly-text               Make the output text write protected\n"
"     --pure                        Mark the output file as demand paged\n"
"     --impure                      Mark the output file as impure\n"
"     --prefix-symbols <prefix>     Add <prefix> to start of every symbol name\n"
"     --prefix-sections <prefix>    Add <prefix> to start of every section name\n"
"     --prefix-alloc-sections <prefix>\n"
"                                   Add <prefix> to start of every allocatable\n"
"                                     section name\n"
"     --file-alignment <num>        Set PE file alignment to <num>\n"
"     --heap <reserve>[,<commit>]   Set PE reserve/commit heap to <reserve>/\n"
"                                   <commit>\n"
"     --image-base <address>        Set PE image base to <address>\n"
"     --section-alignment <num>     Set PE section alignment to <num>\n"
"     --stack <reserve>[,<commit>]  Set PE reserve/commit stack to <reserve>/\n"
"                                   <commit>\n"
"     --subsystem <name>[:<version>]\n"
"                                   Set PE subsystem to <name> [& <version>]\n"
"]  -v --verbose                     List all object files modified\n"
"  @<file>                          Read options from <file>\n"
"  -V --version                     Display this program's version number\n"
"  -h --help                        Display this output\n"
"     --info                        List object formats & architectures supported\n"
msgstr ""
"  -I --input-target <bfd-nimi>      Otaksu, että syötetiedosto on muodossa <bfd-nimi>\n"
"  -O --output-target <bfd-nimi>     Luo tulostetiedosto muodossa <bfd-nimi>\n"
"  -B --binary-architecture <arkk>  Aseta tulostetiedostoarkisto, kun syöte on binääri\n"
"  -F --target <bfd-nimi>            Aseta sekä syöte- että tulostemuodoksi <bfd-nimi>\n"
"     --debugging                   Muunna virheenjäljitystiedot, mikäli mahdollista\n"
"  -p --preserve-dates              Kopioi muutettu/saantiaikaleimat tulosteeseen\n"
"  -j --only-section <nimi>         Kopioi vain lohko <nimi> tulosteeseen\n"
"     --add-gnu-debuglink=<tiedosto> Lisää lohkon  .gnu_debuglink linkitys <tiedostoon>\n"
"  -R --remove-section <nimi>       Poista lohko <nimi> tulosteesta\n"
"  -S --strip-all                   Poista kaikki symbolit ja uudelleensijoitustiedot\n"
"  -g --strip-debug                 Poista kaikki virheenjäljityssymbolit & -lohkot\n"
"     --strip-unneeded              Poista kaikki symbolit, joita ei tarvita uudelleensijoituksissa\n"
"  -N --strip-symbol <nimi>         Älä kopioi symbolia <nimi>\n"
"     --strip-unneeded-symbol <nimi>\n"
"                                   Älä kopioi symbolia <nimi>, jollei sitä tarvita\n"
"                                     uudelleensijoituksissa\n"
"     --only-keep-debug             Riisu kaikki paitsi virheenjäljitystiedot\n"
"     --extract-symbol              Poista lohkon sisältö, mutta pidä symbolit\n"
"  -K --keep-symbol <nimi>          Älä riisu symbolia <nimi>\n"
"     --keep-file-symbols           Älä riisu tiedostosymboleja\n"
"     --localize-hidden             Muunna kaikki ELF-piilosymbolit paikallisiksi\n"
"  -L --localize-symbol <nimi>      Pakota symboli <nimi> merkityksi paikallisena\n"
"     --globalize-symbol <nimi>     Pakota symboli <nimi> merkityksi yleisenä\n"
"  -G --keep-global-symbol <nimi>   Paikallista kaikki symbolit paitsi <nimi>\n"
"  -W --weaken-symbol <nimi>        Pakota symboli <nimi> merkatuksi heikkona symbolina\n"
"     --weaken                      Pakota kaikki yleissymbolit merkityiksi heikkona symboleina\n"
"  -w --wildcard                    Salli jokerimerkit symbolivertailussa\n"
"  -x --discard-all                 Poista kaikki ei-yleissymbolit\n"
"  -X --discard-locals              Poista kaikki kääntäjän tuottamat symbolit\n"
"  -i --interleave <numero>         Kopioi vain yksi joka <numero>:stä tavusta\n"
"  -b --byte <numero>                  Valitse tavu <numero> jokaisessa lomittuvassa lohkossa\n"
"     --gap-fill <arvo>              Täytä aukot lohkojen välillä <arvo>lla\n"
"     --pad-to <osoite>               Täytä viimeinen lohko aina <osoitteeseen> saakka\n"
"     --set-start <osoite>            Aseta aloitusosoitteeksi <osoite>\n"
"    {--change-start|--adjust-start} <kasvatusarvo>\n"
"                                   Lisää <kasvatusarvo> alkuosoitteeseen\n"
"    {--change-addresses|--adjust-vma} <kasvatusarvo>\n"
"                                   Lisää <kasvatusarvo> LMA-, VMA- ja alkuosoitteisiin\n"
"    {--change-section-address|--adjust-section-vma} <nimi>{=|+|-}<arvo>\n"
"                                   Vaihda LMA- ja VMA-lohkon <nimi> arvolla <arvo>\n"
"     --change-section-lma <nimi>{=|+|-}<arvo>\n"
"                                   Vaihda LMA-lohkon <nimi> arvolla <arvo>\n"
"     --change-section-vma <nimi>{=|+|-}<arvo>\n"
"                                   Vaihda VMA-lohkon <nimi> arvolla <arvo>\n"
"    {--[no-]change-warnings|--[no-]adjust-warnings}\n"
"                                   Varoita, jos nimettyä lohkoa ei ole olemassa\n"
"     --set-section-flags <nimi>=<liput>\n"
"                                   Aseta lohko<nimen> ominaisuudet <lipuilla>\n"
"     --add-section <nimi>=<tiedosto> Lisää tulosteeseen lohko <nimi>, joka löytyi <tiedostosta>\n"
"     --rename-section <vanha>=<uusi>[,<liput>] Nimeä lohko <vanha> nimellä <uusi>\n"
"     --long-section-names {enable|disable|keep}\n"
"                                   Käsittele Coff-objektien pitkiä lohkonimiä.\n"
"     --change-leading-char         Pakota tulostemuodon alkukirjaintyyli\n"
"     --remove-leading-char         Poista alkukirjain yleissymboleista\n"
"     --reverse-bytes=<numero>         Käännä <numero> tavua kerrallaan päinvastoin, tulostelohkossa sisällöllä\n"
"     --redefine-sym <vanha>=<uusi>    Määrittele <vanha> symbolinimi <uudeksi>\n"
"     --redefine-syms <tiedosto>        --redefine-sym kaikille symbolipaireille, \n"
"                                     jotka on lueteltu <tiedostossa>\n"
"     --srec-len <number>           Rajoita tuotettujen Srecords-tietueiden pituus\n"
"     --srec-forceS3                Rajoita tuotettujen Srecords-tietueiden tyypiksi S3\n"
"     --strip-symbols <tiedosto>        -N kaikille <tiedostossa> luetelluille symboleille\n"
"     --strip-unneeded-symbols <tiedosto>\n"
"                                   --strip-unneeded-symbol kaikille <tiedostossa>\n"
"                                     luetelluille symboleille\n"
"     --keep-symbols <tiedosto>         -K kaikille <tiedostossa> luetelluille symboleille\n"
"     --localize-symbols <tiedosto>     -L kaikille <tiedostossa> luetelluille symboleille\n"
"     --globalize-symbols <tiedosto>    --globalize-symbol kaikille <tiedostossa> luetelluille symboleille\n"
"     --keep-global-symbols <tiedosto>  -G kaikille <tiedostossa> luetelluille symboleille\n"
"     --weaken-symbols <tiedosto>       -W kaikille <tiedostossa> luetelluille symboleille\n"
"     --alt-machine-code <indeksi>    Käytä kohteen vaihtoehtoista konetta numero <indeksi>\n"
"     --writable-text               Merkitse tulosteteksti kirjoitettavaksi\n"
"     --readonly-text               Tee tulosteteksti kirjoitussuojatuksi\n"
"     --pure                        Merkitse tulosteteksti pyyntösivutetuksi\n"
"     --impure                      Merkitse tulosteteksti epäpuhtaaksi\n"
"     --prefix-symbols <prefiksi>   Lisää <prefiksi> jokaisen symbolinimen alkuun\n"
"     --prefix-sections <prefiksi>  Lisää <prefiksi> jokaisen lohkonimen alkuun\n"
"     --prefix-alloc-sections <prefiksi>\n"
"                                   Lisää <prefiksi> jokaisen varattavan lohkonimen\n"
"                                     alkuun\n"
"     --file-alignment <numero>        Aseta PE-tiedostotasaukseksi <numero>\n"
"     --heap <reserve>[,<commit>]   Aseta PE-reserve/commit-keoksi <reserve>/\n"
"                                   <commit>\n"
"     --image-base <osoite>        Aseta PE-vedosperustaksi <osoite>\n"
"     --section-alignment <numero>     Aseta PE-lohkotasaukseksi <numero>\n"
"     --stack <reserve>[,<commit>]  Aseta PE-reserve/commit-pinoksi <reserve>/\n"
"                                   <commit>\n"
"     --subsystem <nimi>[:<versio>]\n"
"                                   Aseta PE-alijärjestelmäksi <nimi> [& <versio>]\n"
"]  -v --verbose                     Luettele kaikki muokatut objektitiedostot\n"
"  @<file>                          Read options from <file>\n"
"  -V --version                     Näytä tämän ohjelman versionumero\n"
"  -h --help                        Näytä tämä tuloste\n"
"     --info                        Luettele tuetut objektimuodot & arkkitehtuurit\n"

#: objcopy.c:570
#, c-format
msgid "Usage: %s <option(s)> in-file(s)\n"
msgstr "Käyttö: %s <valitsimet> syötetiedosto(t)\n"

#: objcopy.c:571
#, c-format
msgid " Removes symbols and sections from files\n"
msgstr " Poistaa symbolit ja lohkot tiedostoista\n"

#: objcopy.c:573
#, c-format
msgid ""
"  -I --input-target=<bfdname>      Assume input file is in format <bfdname>\n"
"  -O --output-target=<bfdname>     Create an output file in format <bfdname>\n"
"  -F --target=<bfdname>            Set both input and output format to <bfdname>\n"
"  -p --preserve-dates              Copy modified/access timestamps to the output\n"
"  -R --remove-section=<name>       Remove section <name> from the output\n"
"  -s --strip-all                   Remove all symbol and relocation information\n"
"  -g -S -d --strip-debug           Remove all debugging symbols & sections\n"
"     --strip-unneeded              Remove all symbols not needed by relocations\n"
"     --only-keep-debug             Strip everything but the debug information\n"
"  -N --strip-symbol=<name>         Do not copy symbol <name>\n"
"  -K --keep-symbol=<name>          Do not strip symbol <name>\n"
"     --keep-file-symbols           Do not strip file symbol(s)\n"
"  -w --wildcard                    Permit wildcard in symbol comparison\n"
"  -x --discard-all                 Remove all non-global symbols\n"
"  -X --discard-locals              Remove any compiler-generated symbols\n"
"  -v --verbose                     List all object files modified\n"
"  -V --version                     Display this program's version number\n"
"  -h --help                        Display this output\n"
"     --info                        List object formats & architectures supported\n"
"  -o <file>                        Place stripped output into <file>\n"
msgstr ""
"  -I --input-target=<bfd-nimi>     Otaksu, että syötetiedosto on <bfd-nimi>-muodossa\n"
"  -O --output-target=<bfd-nimi>    Luo tulostetiedosto <bfd-nimi>-muodossa\n"
"  -F --target=<bfd-nimi>           Aseta sekä syöte- että tulostetiedostomuodoksi <bfd-nimi>\n"
"  -p --preserve-dates              Kopioi muutettu/saantiaikaleimat tulosteeseen\n"
"  -R --remove-section=<nimi>       Poista <nimi>-lohkon tulosteesta\n"
"  -s --strip-all                   Poista kaikki symbolit ja uudelleensijoitustiedot\n"
"  -g -S -d --strip-debug           Poista kaikki virheenjäljityssymbolit & -lohkot\n"
"     --strip-unneeded              Poista kaikki symbolit, joita ei tarvita uudelleensijoituksessa\n"
"     --only-keep-debug             Riisu kaikki paitsi virheenjäljitystiedot\n"
"  -N --strip-symbol=<nimi>         Älä kopioi symbolia <nimi>\n"
"  -K --keep-symbol=<nimi>          Älä riisu symbolia <nimi>\n"
"     --keep-file-symbols           Älä riisu tiedostosymboleja\n"
"  -w --wildcard                    Salli jokerimerkit symbolien vertailussa\n"
"  -x --discard-all                 Poista kaikki ei-yleiset symbolit\n"
"  -X --discard-locals              Poista kaikki kääntäjän luomat symbolit\n"
"  -v --verbose                     Luettele kaikki muutetut objektitiedostot\n"
"  -V --version                     Näytä tämän ohjelman versionumero\n"
"  -h --help                        Näytä tämä tuloste\n"
"     --info                        Luettele tuetut objektimuodot & arkkitehtuurit\n"
"  -o <tiedosto>                    Sijoita riisuttu tuloste kohteeseen <tiedosto>\n"

#: objcopy.c:646
#, c-format
msgid "unrecognized section flag `%s'"
msgstr "tunnistamaton lohkolippu ”%s”"

#: objcopy.c:647
#, c-format
msgid "supported flags: %s"
msgstr "tuetut liput: %s"

#: objcopy.c:748
#, c-format
msgid "cannot open '%s': %s"
msgstr "ei voi avata kohdetta ”%s”: %s"

#: objcopy.c:751 objcopy.c:3336
#, c-format
msgid "%s: fread failed"
msgstr "%s: fread-kutsu epäonnistui"

#: objcopy.c:824
#, c-format
msgid "%s:%d: Ignoring rubbish found on this line"
msgstr "%s:%d: Ei oteta huomioon tältä riviltä löydettyä roskaa"

#: objcopy.c:1121
#, c-format
msgid "not stripping symbol `%s' because it is named in a relocation"
msgstr "ei riisuta symbolia ”%s” koska se on nimetty uudelleensijoituksessa"

#: objcopy.c:1204
#, c-format
msgid "%s: Multiple redefinition of symbol \"%s\""
msgstr "%s: Useita symbolin ”%s” uudelleenmäärittelyjä"

#: objcopy.c:1208
#, c-format
msgid "%s: Symbol \"%s\" is target of more than one redefinition"
msgstr "%s: Symboli ”%s” on kohteena useammalle kuin yhdelle uudelleenmäärittelylle"

#: objcopy.c:1236
#, c-format
msgid "couldn't open symbol redefinition file %s (error: %s)"
msgstr "ei voitu avata symbolien uudelleenmäärittelytiedostoa %s (virhe: %s)"

#: objcopy.c:1314
#, c-format
msgid "%s:%d: garbage found at end of line"
msgstr "%s:%d: rivin lopusta löytyi roskaa"

#: objcopy.c:1317
#, c-format
msgid "%s:%d: missing new symbol name"
msgstr "%s:%d: uusi symbolinimi puuttuu"

#: objcopy.c:1327
#, c-format
msgid "%s:%d: premature end of file"
msgstr "%s:%d: ennenaikainen tiedoston loppu"

#  stat on *nix-ympäristön vakiokomentoja (katso: man stat)
#: objcopy.c:1353
#, c-format
msgid "stat returns negative size for `%s'"
msgstr "stat-kutsu palauttaa negatiivisen koon kohteelle ”%s”"

#: objcopy.c:1365
#, c-format
msgid "copy from `%s' [unknown] to `%s' [unknown]\n"
msgstr "kopioidaan arvosta ”%s” [tuntematon] arvoon ”%s” [tuntematon]\n"

#: objcopy.c:1420
msgid "Unable to change endianness of input file(s)"
msgstr "Ei voi muuttaa syötetiedosto(je)n tavujärjestystyyppiä"

#: objcopy.c:1429
#, c-format
msgid "copy from `%s' [%s] to `%s' [%s]\n"
msgstr "kopioidaan kohteesta ”%s” [%s] kohteeseen ”%s” [%s]\n"

#: objcopy.c:1474
#, c-format
msgid "Unable to recognise the format of the input file `%s'"
msgstr "Syötetiedoston ”%s” muotoa ei voi tunnistaa"

#: objcopy.c:1477
#, c-format
msgid "Warning: Output file cannot represent architecture `%s'"
msgstr "Varoitus: Tulostetiedosto ei voi edustaa arkkitehtuuria ”%s”"

#: objcopy.c:1540
#, c-format
msgid "warning: file alignment (0x%s) > section alignment (0x%s)"
msgstr "varoitus: tiedostotasaus (0x%s) > lohkotasaus (0x%s)"

#: objcopy.c:1599
#, c-format
msgid "can't add section '%s'"
msgstr "ei voi lisätä lohkoa ”%s”"

#: objcopy.c:1608
#, c-format
msgid "can't create section `%s'"
msgstr "ei voi luoda lohkoa ”%s”"

#: objcopy.c:1654
#, c-format
msgid "cannot create debug link section `%s'"
msgstr "ei voi luoda virheenjäljityslinkkilohkoa ”%s”"

#: objcopy.c:1747
msgid "Can't fill gap after section"
msgstr "Ei voi täyttää väliä lohkon jälkeen"

#: objcopy.c:1771
msgid "can't add padding"
msgstr "ei voi lisätä täytettä"

#: objcopy.c:1862
#, c-format
msgid "cannot fill debug link section `%s'"
msgstr "ei voi täyttää virheenjäljityslinkkilohkoa ”%s”"

#: objcopy.c:1925
msgid "error copying private BFD data"
msgstr "virhe kopioitaessa yksityistä BFD-dataa"

#: objcopy.c:1936
#, c-format
msgid "this target does not support %lu alternative machine codes"
msgstr "tämä kohde ei tue %lu vaihtoehtoisia konekoodeja"

#: objcopy.c:1940
msgid "treating that number as an absolute e_machine value instead"
msgstr "käsitellään tuota numeroa absoluuttisena e_machine-arvona eikä"

#: objcopy.c:1944
msgid "ignoring the alternative value"
msgstr "ei oteta huomioon vaihtoehtoista arvoa"

#: objcopy.c:1975 objcopy.c:2010
#, c-format
msgid "cannot create tempdir for archive copying (error: %s)"
msgstr "ei voi luoda tempdir-hakemistoa arkiston kopiointiin (virhe: %s)"

#: objcopy.c:2071
msgid "Unable to recognise the format of file"
msgstr "Tiedoston muotoa ei voi tunnistaa"

#: objcopy.c:2168
#, c-format
msgid "error: the input file '%s' is empty"
msgstr "virhe: syötetiedosto ”%s” on tyhjä"

#: objcopy.c:2300
#, c-format
msgid "Multiple renames of section %s"
msgstr "Useita lohkon %s uudelleennimeämisiä"

#: objcopy.c:2351
msgid "error in private header data"
msgstr "virhe yksityisessä otsakedatassa"

#: objcopy.c:2429
msgid "failed to create output section"
msgstr "tulostelohkon luominen epäonnistui"

#: objcopy.c:2443
msgid "failed to set size"
msgstr "koon asettaminen epäonnistui"

#: objcopy.c:2457
msgid "failed to set vma"
msgstr "virtuaalisen muistiosoitteen asettaminen epäonnistui"

#: objcopy.c:2482
msgid "failed to set alignment"
msgstr "tasauksen asettaminen epäonnistui"

#: objcopy.c:2516
msgid "failed to copy private data"
msgstr "yksityisen datan kopioiminen epäonnistui"

#: objcopy.c:2598
msgid "relocation count is negative"
msgstr "uudelleensijoituslaskuri on negatiivinen"

#. User must pad the section up in order to do this.
#: objcopy.c:2659
#, c-format
msgid "cannot reverse bytes: length of section %s must be evenly divisible by %d"
msgstr "ei voi kääntää tavujen järjestystä päinvastaiseksi: lohkon %s pituuden on oltava parillisesti jaollinen %d:lla"

#: objcopy.c:2843
msgid "can't create debugging section"
msgstr "ei voi luoda virheenjäljityslohkoa"

#: objcopy.c:2856
msgid "can't set debugging section contents"
msgstr "ei voi asettaa virheenjäljityslohkon sisältöä"

#: objcopy.c:2864
#, c-format
msgid "don't know how to write debugging information for %s"
msgstr "ei tiedetä kuinka kirjoittaa virheenjäljitystietoja kohteelle %s"

#: objcopy.c:3006
msgid "could not create temporary file to hold stripped copy"
msgstr "ei voi luoda tilapäistä tiedostoa tallentamaan riisuttua kopiota"

#: objcopy.c:3078
#, c-format
msgid "%s: bad version in PE subsystem"
msgstr "%s: virheellinen versio PE-alijärjestelmässä"

#: objcopy.c:3108
#, c-format
msgid "unknown PE subsystem: %s"
msgstr "tuntematon PE-alijärjestelmä: %s"

#: objcopy.c:3168
msgid "byte number must be non-negative"
msgstr "tavunumeron on oltava ei-negatiivinen"

#: objcopy.c:3178
msgid "interleave must be positive"
msgstr "lomituksen täytyy olla positiivinen"

#: objcopy.c:3198 objcopy.c:3206
#, c-format
msgid "%s both copied and removed"
msgstr "%s sekä kopioitu että poistettu"

#: objcopy.c:3307 objcopy.c:3381 objcopy.c:3481 objcopy.c:3512 objcopy.c:3536
#: objcopy.c:3540 objcopy.c:3560
#, c-format
msgid "bad format for %s"
msgstr "virheellinen muoto kohteelle %s"

#: objcopy.c:3331
#, c-format
msgid "cannot open: %s: %s"
msgstr "ei voi avata: %s: %s"

#: objcopy.c:3450
#, c-format
msgid "Warning: truncating gap-fill from 0x%s to 0x%x"
msgstr "Varoitus: katkaistaan välitäyte 0x%s tavumuodoksi 0x%x"

#: objcopy.c:3611
#, c-format
msgid "unknown long section names option '%s'"
msgstr "tuntematon pitkä lohkonimien valitsin ”%s”"

#: objcopy.c:3629
msgid "unable to parse alternative machine code"
msgstr "ei voida jäsentää vaihtoehtoista konekoodia"

#: objcopy.c:3674
msgid "number of bytes to reverse must be positive and even"
msgstr "päinvastaiseen järjestykseen asetettujen tavujen lukumäärän on oltava positiivinen ja parillinen"

#: objcopy.c:3677
#, c-format
msgid "Warning: ignoring previous --reverse-bytes value of %d"
msgstr "Varoitus: ei oteta huomioon edellistä %d:n ”--reverse-bytes”-arvoa"

#: objcopy.c:3692
#, c-format
msgid "%s: invalid reserve value for --heap"
msgstr "%s: virheellinen reserve-arvo valitsimelle --heap"

#: objcopy.c:3698
#, c-format
msgid "%s: invalid commit value for --heap"
msgstr "%s: virheellinen commit-arvo valitsimelle --heap"

#: objcopy.c:3723
#, c-format
msgid "%s: invalid reserve value for --stack"
msgstr "%s: virheellinen reserve-arvo valitsimelle --stack"

#: objcopy.c:3729
#, c-format
msgid "%s: invalid commit value for --stack"
msgstr "%s: virheellinen commit-arvo valitsimelle --stack"

#: objcopy.c:3758
msgid "byte number must be less than interleave"
msgstr "tavunumeron on oltava lomitusta pienempi"

#: objcopy.c:3785
#, c-format
msgid "unknown input EFI target: %s"
msgstr "tuntematon syöte-EFI-kohde: %s"

#: objcopy.c:3816
#, c-format
msgid "unknown output EFI target: %s"
msgstr "tuntematon tuloste-EFI-kohde: ”%s”"

#: objcopy.c:3841
#, c-format
msgid "architecture %s unknown"
msgstr "arkkitehtuuri %s tuntematon"

#: objcopy.c:3845
msgid "Warning: input target 'binary' required for binary architecture parameter."
msgstr "Varoitus: syötekohde ”binary” vaatii binaariarkkitehtuuriparametrin."

#: objcopy.c:3846
#, c-format
msgid " Argument %s ignored"
msgstr " Argumenttia %s ei oteta huomioon"

#: objcopy.c:3852
#, c-format
msgid "warning: could not locate '%s'.  System error message: %s"
msgstr "varoitus: kohdetta ”%s” ei voitu sijoittaa.  Järjestelmävirhesanoma: %s"

#: objcopy.c:3863
#, c-format
msgid "warning: could not create temporary file whilst copying '%s', (error: %s)"
msgstr "varoitus: ei voitu luoda tilapäistä tiedostoa kopioitaessa kohdetta ”%s”, (virhe: %s)"

#  Ensimmäinen %s sisältää tekstin "--change-section-vma", toinen %s sisältää jonkin nimen, %c sisältää joko '=' tai '+' -merkin, viimeinen %s sisältää jonkun korkeintaan 20-merkkisen puskurin sisällön.
#: objcopy.c:3891 objcopy.c:3905
#, c-format
msgid "%s %s%c0x%s never used"
msgstr "%s %s%c0x%s ei käytetty koskaan"

#: objdump.c:187
#, c-format
msgid "Usage: %s <option(s)> <file(s)>\n"
msgstr "Käyttö: %s <valitsimet> <tiedosto(t)>\n"

#: objdump.c:188
#, c-format
msgid " Display information from object <file(s)>.\n"
msgstr " Näyttää tietoja objekti<tiedosto(i)sta>.\n"

#  Ohjenäytöllä puhutaan riviä ylempänä valitsimista. Siksi alla käytetään samaa termiä suomennoksessa.
#: objdump.c:189
#, c-format
msgid " At least one of the following switches must be given:\n"
msgstr " Seuraavista valitsimista on valittava vähintään yksi:\n"

#: objdump.c:190
#, c-format
msgid ""
"  -a, --archive-headers    Display archive header information\n"
"  -f, --file-headers       Display the contents of the overall file header\n"
"  -p, --private-headers    Display object format specific file header contents\n"
"  -h, --[section-]headers  Display the contents of the section headers\n"
"  -x, --all-headers        Display the contents of all headers\n"
"  -d, --disassemble        Display assembler contents of executable sections\n"
"  -D, --disassemble-all    Display assembler contents of all sections\n"
"  -S, --source             Intermix source code with disassembly\n"
"  -s, --full-contents      Display the full contents of all sections requested\n"
"  -g, --debugging          Display debug information in object file\n"
"  -e, --debugging-tags     Display debug information using ctags style\n"
"  -G, --stabs              Display (in raw form) any STABS info in the file\n"
"  -W[lLiaprmfFsoR] or\n"
"  --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n"
"                           Display DWARF info in the file\n"
"  -t, --syms               Display the contents of the symbol table(s)\n"
"  -T, --dynamic-syms       Display the contents of the dynamic symbol table\n"
"  -r, --reloc              Display the relocation entries in the file\n"
"  -R, --dynamic-reloc      Display the dynamic relocation entries in the file\n"
"  @<file>                  Read options from <file>\n"
"  -v, --version            Display this program's version number\n"
"  -i, --info               List object formats and architectures supported\n"
"  -H, --help               Display this information\n"
msgstr ""
"  -a, --archive-headers    Näytä arkisto-otsaketiedot\n"
"  -f, --file-headers       Näytä ylimmän tiedosto-otsakkeen sisältö\n"
"  -p, --private-headers    Näytä objektimuotokohtaisen tiedosto-otsakkeen sisältö\n"
"  -h, --[section-]headers  Näytä lohko-otsakkeiden sisältö\n"
"  -x, --all-headers        Näytä kaikkien otsakkeiden sisältö\n"
"  -d, --disassemble        Näytä suoritettavien lohkojen assembler-sisältö\n"
"  -D, --disassemble-all    Näytä kaikkien lohkojen assembler-sisältö\n"
"  -S, --source             Sekoita lähdekoodi disassembly:n kanssa\n"
"  -s, --full-contents      Näytä kaikkien vaadittujen lohkojen koko sisältö\n"
"  -g, --debugging          Näytä virheenjäljitystiedot objektitiedostossa\n"
"  -e, --debugging-tags     Näytä virheenjäljitystiedot käyttäen ctags-tyyliä\n"
"  -G, --stabs              Näytä (raakamuodossa) kaikki tiedoston STABS-tiedot\n"
"  -W[lLiaprmfFsoR] tai\n"
"  --dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n"
"                           Näytä DWARF-tiedot tiedostossa\n"
"  -t, --syms               Näytä symbolitaulujen sisältö\n"
"  -T, --dynamic-syms       Näytä dynaamisen symbolitaulun sisältö\n"
"  -r, --reloc              Näytä uudelleensijoitusalkiot tiedostossa\n"
"  -R, --dynamic-reloc      Näytä dynaamisen uudelleensijoitusalkiot tiedostossa\n"
"  @<tiedosto>              Lue valitsimet <tiedostosta>\n"
"  -v, --version            Näytä tämän ohjelman versionumero\n"
"  -i, --info               Luettele tuetut objektimuodot ja arkkitehtuurit\n"
"  -H, --help               Näytä nämä tiedot\n"

#  Ohjenäytöllä puhutaan ylempänä valitsimista. Siksi alla käytetään samaa termiä suomennoksessa.
#: objdump.c:217
#, c-format
msgid ""
"\n"
" The following switches are optional:\n"
msgstr ""
"\n"
" Seuraavat valitsimet ovat valinnaisia:\n"

#: objdump.c:218
#, c-format
msgid ""
"  -b, --target=BFDNAME           Specify the target object format as BFDNAME\n"
"  -m, --architecture=MACHINE     Specify the target architecture as MACHINE\n"
"  -j, --section=NAME             Only display information for section NAME\n"
"  -M, --disassembler-options=OPT Pass text OPT on to the disassembler\n"
"  -EB --endian=big               Assume big endian format when disassembling\n"
"  -EL --endian=little            Assume little endian format when disassembling\n"
"      --file-start-context       Include context from start of file (with -S)\n"
"  -I, --include=DIR              Add DIR to search list for source files\n"
"  -l, --line-numbers             Include line numbers and filenames in output\n"
"  -F, --file-offsets             Include file offsets when displaying information\n"
"  -C, --demangle[=STYLE]         Decode mangled/processed symbol names\n"
"                                  The STYLE, if specified, can be `auto', `gnu',\n"
"                                  `lucid', `arm', `hp', `edg', `gnu-v3', `java'\n"
"                                  or `gnat'\n"
"  -w, --wide                     Format output for more than 80 columns\n"
"  -z, --disassemble-zeroes       Do not skip blocks of zeroes when disassembling\n"
"      --start-address=ADDR       Only process data whose address is >= ADDR\n"
"      --stop-address=ADDR        Only process data whose address is <= ADDR\n"
"      --prefix-addresses         Print complete address alongside disassembly\n"
"      --[no-]show-raw-insn       Display hex alongside symbolic disassembly\n"
"      --insn-width=WIDTH         Display WIDTH bytes on a signle line for -d\n"
"      --adjust-vma=OFFSET        Add OFFSET to all displayed section addresses\n"
"      --special-syms             Include special symbols in symbol dumps\n"
"      --prefix=PREFIX            Add PREFIX to absolute paths for -S\n"
"      --prefix-strip=LEVEL       Strip initial directory names for -S\n"
"\n"
msgstr ""
"  -b, --target=BFD-NIMI          Määrittele kohdeobjektimuodoksi BFD-NIMI\n"
"  -m, --architecture=KONE        Määrittele kohdearkkitehtuuriksi KONE\n"
"  -j, --section=NIMI             Näytä tiedot vain lohkosta NIMI\n"
"  -M, --disassembler-options=OPT Välitä teksti OPT disassemblerille\n"
"  -EB --endian=big               Otaksu, että big-endian-tavujärjestystä käytetään disassembloinnissa\n"
"  -EL --endian=little            Otaksu, että little-endian-tavujärjestystä käytetään disassembloinnissa\n"
"      --file-start-context       Sisällytä asiayhteys tiedoston alusta (yhdessä -S:n kanssa)\n"
"  -I, --include=HAKEMISTO        Lisää HAKEMISTO lähdetiedostojen etsintäluetteloon\n"
"  -l, --line-numbers             Sisällytä rivinumerot ja tiedostonimet tulosteeseen\n"
"  -F, --file-offsets             Sisällytä tiedostosiirrokset kun näytetään tietoja\n"
"  -C, --demangle[=TYYLI]         Eheytä runnellut/käsitellyt symbolinimet\n"
"                                  TYYLI, jos annettu, voi olla ”auto”, ”gnu”,\n"
"                                  ”lucid”, ”arm”, ”hp”, ”edg”, ”gnu-v3”, ”java”\n"
"                                  tai ”gnat”\n"
"  -w, --wide                     Muotoile tuloste yli 80 sarakkeen levyiseksi\n"
"  -z, --disassemble-zeroes       Älä hyppää nollalohkojen yli disassembloinnissa\n"
"      --start-address=OSOITE     Käsittele vain dataa, jonka osoite on >= OSOITE\n"
"      --stop-address=OSOITE      Käsittele vain dataa, jonka osoite on <= OSOITE\n"
"      --prefix-addresses         Tulosta disassemblyn mukana täydellinen osoite\n"
"      --[no-]show-raw-insn       Näytä heksadesimaaliluvut symbolisen disassemblyn mukana\n"
"      --adjust-vma=SIIRROS       Lisää arvo SIIRROS kaikkiin näytettyihin lohko-osoitteisiin\n"
"      --insn-width=LEVEYS        Näytä LEVEYS tavua yhdellä rivillä valitsimella -d\n"
"      --special-syms             Sisällyttä erikoissymbolit symbolivedoksiin\n"
"      --prefix=ETULIITE          Lisää ETULIITE absoluuttisiin polkuihin valitsimelle -S\n"
"      --prefix-strip=TASO        Riisu alustavat hakemistonimet valitsimelle -S\n"
"\n"

#: objdump.c:433
#, c-format
msgid "Sections:\n"
msgstr "Lohkot:\n"

#  Rivin saa näkyviin esimerkiksi komennolla "objdump -x main.o"
#: objdump.c:436 objdump.c:440
#, c-format
msgid "Idx Name          Size      VMA       LMA       File off  Algn"
msgstr "Ind Nimi          Koko      VirMuisOs LatMuisOs TiedSiir  Tasaus"

#  Idx on ilmeisesti index. VMA on ilmeisesti Virtual Memory Address. LMA on ilmeisesti Load Memory Address: This is the address at which a section will be loaded.
#: objdump.c:442
#, c-format
msgid "Idx Name          Size      VMA               LMA               File off  Algn"
msgstr "Ind Nimi          Koko      VirtMuistiOsoite  LatausMuistOsoite TiedSiir  Tasaus"

#: objdump.c:446
#, c-format
msgid "  Flags"
msgstr "  Liput"

#: objdump.c:448
#, c-format
msgid "  Pg"
msgstr "  Sv"

#: objdump.c:491
#, c-format
msgid "%s: not a dynamic object"
msgstr "%s: ei ole dynaaminen objekti"

#: objdump.c:916 objdump.c:940
#, c-format
msgid " (File Offset: 0x%lx)"
msgstr " (Tiedostosiirros: 0x%lx)"

#: objdump.c:1886
#, c-format
msgid ""
"\n"
"Disassembly of section %s:\n"
msgstr ""
"\n"
"Lohkon %s disassembly:\n"

#: objdump.c:2062
#, c-format
msgid "Can't use supplied machine %s"
msgstr "Ei voi käyttää annettua konetta %s"

#: objdump.c:2081
#, c-format
msgid "Can't disassemble for architecture %s\n"
msgstr "Ei voi disassembloida arkkitehtuuria %s\n"

#: objdump.c:2172
#, c-format
msgid ""
"\n"
"Can't get contents for section '%s'.\n"
msgstr ""
"\n"
"Lohkon ”%s” sisältöjä ei saada.\n"

#: objdump.c:2183
#, c-format
msgid ""
"\n"
"Can't uncompress section '%s'.\n"
msgstr ""
"\n"
"Ei voida poistaa lohkon ”%s” tiivistystä.\n"

#: objdump.c:2312
#, c-format
msgid ""
"No %s section present\n"
"\n"
msgstr ""
"Ei ole %s-lohkoa\n"
"\n"

#: objdump.c:2321
#, c-format
msgid "Reading %s section of %s failed: %s"
msgstr "Lohkon %s lukeminen kohteesta %s epäonnistui: %s"

#: objdump.c:2365
#, c-format
msgid ""
"Contents of %s section:\n"
"\n"
msgstr ""
"Lohkon %s sisältö:\n"
"\n"

#: objdump.c:2496
#, c-format
msgid "architecture: %s, "
msgstr "arkkitehtuuri: %s, "

#: objdump.c:2499
#, c-format
msgid "flags 0x%08x:\n"
msgstr "liput 0x%08x:\n"

#: objdump.c:2513
#, c-format
msgid ""
"\n"
"start address 0x"
msgstr ""
"\n"
"aloitusosoite 0x"

#: objdump.c:2576
#, c-format
msgid "Contents of section %s:"
msgstr "Lohkon %s sisältö:"

#: objdump.c:2578
#, c-format
msgid "  (Starting at file offset: 0x%lx)"
msgstr "  (Aloitus tiedostosiirroksessa: 0x%lx)"

#: objdump.c:2685
#, c-format
msgid "no symbols\n"
msgstr "ei symboleja\n"

#: objdump.c:2692
#, c-format
msgid "no information for symbol number %ld\n"
msgstr "ei tietoja symbolinumerolla %ld\n"

#: objdump.c:2695
#, c-format
msgid "could not determine the type of symbol number %ld\n"
msgstr "ei voitu määritellä symbolinumeron %ld tyyppiä\n"

#: objdump.c:2975
#, c-format
msgid ""
"\n"
"%s:     file format %s\n"
msgstr ""
"\n"
"%s:     tiedostomuoto %s\n"

#: objdump.c:3033
#, c-format
msgid "%s: printing debugging information failed"
msgstr "%s: virheenjäljitystietojen tulostaminen epäonnistui"

#: objdump.c:3133
#, c-format
msgid "In archive %s:\n"
msgstr "Arkistossa %s:\n"

#: objdump.c:3249
msgid "error: the start address should be before the end address"
msgstr "virhe: aloitusosoitteen pitäisi olla ennen loppuosoitetta"

#: objdump.c:3254
msgid "error: the stop address should be after the start address"
msgstr "virhe: pysähtymisosoitteen tulisi olla alkuosoitteen jälkeen"

#: objdump.c:3266
msgid "error: prefix strip must be non-negative"
msgstr "virhe: etuliitenauhan on oltava ei-negatiivinen"

#: objdump.c:3271
msgid "error: instruction width must be positive"
msgstr "virhe: käskyleveyden täytyy olla positiivinen"

#  Lisäsin lainausmerkit väliviivan ja valitsinmerkin erottamiseksi
#: objdump.c:3280
msgid "unrecognized -E option"
msgstr "tunnistamaton ”-E”-valitsin"

#  Middle-Endian ? --endian-tavujärjestystyyppi lyhennetty tavujärjestystyypiksi, joka kertoo jo kaiken.
#: objdump.c:3291
#, c-format
msgid "unrecognized --endian type `%s'"
msgstr "tunnistamaton tavujärjestystyyppi ”%s”"

#: rclex.c:197
msgid "invalid value specified for pragma code_page.\n"
msgstr "virheellinen arvo annettu code_page-pragmalle.\n"

#: rdcoff.c:198
#, c-format
msgid "parse_coff_type: Bad type code 0x%x"
msgstr "parse_coff_type: Virheellinen tyyppikoodi 0x%x"

#: rdcoff.c:406 rdcoff.c:511 rdcoff.c:699
#, c-format
msgid "bfd_coff_get_syment failed: %s"
msgstr "bfd_coff_get_syment epäonnistui: %s"

#: rdcoff.c:422 rdcoff.c:719
#, c-format
msgid "bfd_coff_get_auxent failed: %s"
msgstr "bfd_coff_get_auxent epäonnistui: %s"

#: rdcoff.c:786
#, c-format
msgid "%ld: .bf without preceding function"
msgstr "%ld: .bf ilman edeltävää funktiota"

#: rdcoff.c:836
#, c-format
msgid "%ld: unexpected .ef\n"
msgstr "%ld: odottamaton .ef\n"

#: rddbg.c:88
#, c-format
msgid "%s: no recognized debugging information"
msgstr "%s: ei tunnistettavia virheenjäljitystietoja"

#: rddbg.c:402
#, c-format
msgid "Last stabs entries before error:\n"
msgstr "Viimeiset stabs-alkiot ennen virhettä:\n"

#: readelf.c:297
#, c-format
msgid "Unable to seek to 0x%lx for %s\n"
msgstr "Ei voida hakea arvoa 0x%lx kohteelle %s\n"

#: readelf.c:312
#, c-format
msgid "Out of memory allocating 0x%lx bytes for %s\n"
msgstr "Muisti loppui varattaessa 0x%lx tavua kohteelle %s\n"

#: readelf.c:322
#, c-format
msgid "Unable to read in 0x%lx bytes of %s\n"
msgstr "Ei voi lukea 0x%lx tavua kohteesta %s\n"

#: readelf.c:645
msgid "Don't know about relocations on this machine architecture\n"
msgstr "Tämän konearkkitehtuurin uudelleensijoituksia ei tunneta\n"

#  Viimeinen %s-parametri virheilmoitukseen: Unable to seek to 0x%x for %s\n
#  Määritelty ainakin <linux/elf.h> -tiedostossa.
#: readelf.c:666 readelf.c:696 readelf.c:764 readelf.c:793
msgid "relocs"
msgstr "relocs"

#: readelf.c:678 readelf.c:708 readelf.c:775 readelf.c:804
msgid "out of memory parsing relocs\n"
msgstr "muisti loppui jäsenneltäessä relocs-alkioita\n"

#: readelf.c:909
#, c-format
msgid " Offset     Info    Type                Sym. Value  Symbol's Name + Addend\n"
msgstr " Siirros    Tiedot  Tyyppi              Sym. arvo   Symbolin nimi + Lisättävä\n"

#: readelf.c:911
#, c-format
msgid " Offset     Info    Type            Sym.Value  Sym. Name + Addend\n"
msgstr " Siirros    Tiedot  Tyyppi          Sym.arvo   Sym. nimi + Lisättävä\n"

#: readelf.c:916
#, c-format
msgid " Offset     Info    Type                Sym. Value  Symbol's Name\n"
msgstr " Siirros    Tiedot  Tyyppi              Sym. arvo   Symbolin nimi\n"

#: readelf.c:918
#, c-format
msgid " Offset     Info    Type            Sym.Value  Sym. Name\n"
msgstr " Siirros  Tiedot   Tyyppi           Sym.arvo   Sym. nimi\n"

#: readelf.c:926
#, c-format
msgid "    Offset             Info             Type               Symbol's Value  Symbol's Name + Addend\n"
msgstr "    Siirros            Tiedot           Tyyppi             Symbolin arvo   Symbolin nimi + Lisättävä\n"

#: readelf.c:928
#, c-format
msgid "  Offset          Info           Type           Sym. Value    Sym. Name + Addend\n"
msgstr "  Siirros         Tiedot         Tyyppi         Sym. arvo     Sym. nimi + Lisättävä\n"

#: readelf.c:933
#, c-format
msgid "    Offset             Info             Type               Symbol's Value  Symbol's Name\n"
msgstr "    Siirros            Tiedot           Tyyppi             Symbolin arvo   Symbolin nimi\n"

#: readelf.c:935
#, c-format
msgid "  Offset          Info           Type           Sym. Value    Sym. Name\n"
msgstr "  Siirros         Tiedot         Tyyppi         Sym. arvo     Symbolinimi\n"

#: readelf.c:1222 readelf.c:1381 readelf.c:1389
#, c-format
msgid "unrecognized: %-7lx"
msgstr "tunnistamaton: %-7lx"

#: readelf.c:1247
#, c-format
msgid "<unknown addend: %lx>"
msgstr "<tuntematon lisättävä: %lx>"

#: readelf.c:1339
#, c-format
msgid "<string table index: %3ld>"
msgstr "<merkkijonotaulun indeksi: %3ld>"

#: readelf.c:1341
#, c-format
msgid "<corrupt string table index: %3ld>"
msgstr "<rikkinäinen merkkijonotauluindeksi: %3ld>"

#: readelf.c:1716
#, c-format
msgid "Processor Specific: %lx"
msgstr "Suoritinkohtainen: %lx"

#: readelf.c:1740
#, c-format
msgid "Operating System specific: %lx"
msgstr "Käyttöjärjestelmäkohtainen: %lx"

#: readelf.c:1744 readelf.c:2626
#, c-format
msgid "<unknown>: %lx"
msgstr "<tuntematon>: %lx"

#: readelf.c:1757
msgid "NONE (None)"
msgstr "NONE (Ei mitään)"

#: readelf.c:1758
msgid "REL (Relocatable file)"
msgstr "REL (Uudelleensijoitettava tiedosto)"

#: readelf.c:1759
msgid "EXEC (Executable file)"
msgstr "EXEC (Suoritettava tiedosto)"

#: readelf.c:1760
msgid "DYN (Shared object file)"
msgstr "DYN (Jaettu objektitiedosto)"

#: readelf.c:1761
msgid "CORE (Core file)"
msgstr "CORE (Muistivedos)"

#: readelf.c:1765
#, c-format
msgid "Processor Specific: (%x)"
msgstr "Suoritinkohtainen: (%x)"

#: readelf.c:1767
#, c-format
msgid "OS Specific: (%x)"
msgstr "Käyttöjärjestelmäkohtainen: (%x)"

#: readelf.c:1769 readelf.c:2843
#, c-format
msgid "<unknown>: %x"
msgstr "<tuntematon>: %x"

#: readelf.c:1781
msgid "None"
msgstr "Ei mitään"

#: readelf.c:1892
#, c-format
msgid "<unknown>: 0x%x"
msgstr "<tuntematon>: 0x%x"

#: readelf.c:2149
msgid "unknown"
msgstr "tuntematon"

#: readelf.c:2150
msgid "unknown mac"
msgstr "tuntematon mac"

#: readelf.c:2463
msgid "Standalone App"
msgstr "Erillinen sovellus"

#: readelf.c:2466 readelf.c:3174 readelf.c:3190
#, c-format
msgid "<unknown: %x>"
msgstr "<tuntematon: %x>"

#: readelf.c:2891
#, c-format
msgid "Usage: readelf <option(s)> elf-file(s)\n"
msgstr "Käyttö: readelf <valitsimet> elf-tiedosto(t)\n"

#: readelf.c:2892
#, c-format
msgid " Display information about the contents of ELF format files\n"
msgstr " Näytä tietoja ELF-muotoisten tiedostojen sisällöstä\n"

#  Alla "core notes" on hiukan hankala suomentaa. Notes viittaan note-lohkoihin, joita valmistaja käyttää lisätietojen sisällyttämiseksi tiedostoon. Lisätiedot olisi ehkä merkitykseltään paras suomennos. Tiedostossa saattaa esiintyä yksi tai useampi maaginen .note-lohko, jota käytetään lisätietojen tallentamiseen. Ohjelmoijille .note-lohko voi olla tuttu, mutta he eivät välttämättä osaa yhdistää sanaa "lisätiedot" lohkoon .note.
#: readelf.c:2893
#, c-format
msgid ""
" Options are:\n"
"  -a --all               Equivalent to: -h -l -S -s -r -d -V -A -I\n"
"  -h --file-header       Display the ELF file header\n"
"  -l --program-headers   Display the program headers\n"
"     --segments          An alias for --program-headers\n"
"  -S --section-headers   Display the sections' header\n"
"     --sections          An alias for --section-headers\n"
"  -g --section-groups    Display the section groups\n"
"  -t --section-details   Display the section details\n"
"  -e --headers           Equivalent to: -h -l -S\n"
"  -s --syms              Display the symbol table\n"
"      --symbols          An alias for --syms\n"
"  -n --notes             Display the core notes (if present)\n"
"  -r --relocs            Display the relocations (if present)\n"
"  -u --unwind            Display the unwind info (if present)\n"
"  -d --dynamic           Display the dynamic section (if present)\n"
"  -V --version-info      Display the version sections (if present)\n"
"  -A --arch-specific     Display architecture specific information (if any).\n"
"  -c --archive-index     Display the symbol/file index in an archive\n"
"  -D --use-dynamic       Use the dynamic section info when displaying symbols\n"
"  -x --hex-dump=<number|name>\n"
"                         Dump the contents of section <number|name> as bytes\n"
"  -p --string-dump=<number|name>\n"
"                         Dump the contents of section <number|name> as strings\n"
"  -R --relocated-dump=<number|name>\n"
"                         Dump the contents of section <number|name> as relocated bytes\n"
"  -w[lLiaprmfFsoR] or\n"
"  --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n"
"                         Display the contents of DWARF2 debug sections\n"
msgstr ""
" Valitsimet ovat:\n"
"  -a --all               Sama kuin: -h -l -S -s -r -d -V -A -I\n"
"  -h --file-header       Näytä ELF-tiedosto-otsake\n"
"  -l --program-headers   Näytä ohjelmaotsakkeet\n"
"     --segments          Alias valitsimelle --program-headers\n"
"  -S --section-headers   Näytä lohkojen otsake\n"
"     --sections          Alias valitsimelle --section-headers\n"
"  -g --section-groups    Näytä lohkoryhmät\n"
"  -t --section-details   Näytä lohkon yksityiskohdat\n"
"  -e --headers           Sama kuin: -h -l -S\n"
"  -s --syms              Näytä symbolitaulu\n"
"     --symbols           Alias valitsimelle --syms\n"
"  -n --notes             Näytä ydin notes (jos on olemassa)\n"
"  -r --relocs            Näytä uudelleensijoitukset (jos on olemassa)\n"
"  -u --unwind            Näytä palautustiedot (jos on olemassa)\n"
"  -d --dynamic           Näytä dynaaminen lohko (jos on olemassa)\n"
"  -V --version-info      Näytä versiolohkot (jos on olemassa)\n"
"  -A --arch-specific     Näytä arkkitehtuurikohtaiset tiedot (jos niitä on).\n"
"  -D --use-dynamic       Käytä dynaamisia lohkotietoja, kun näytetään symboleja\n"
"  -x --hex-dump=<numero|nimi>\n"
"                         Vedosta lohkon <numero|nimi> sisältö tavuina\n"
" -p --string-dump=<numero|nimi>\n"
"                         Vedosta lohkon <numero|nimi> sisältö merkkijonoina\n"
" -R --relocated-dump=<numero|nimi>\n"
"                         Vedosta lohkon <numero|nimi> sisältö merkkijonoina\n"
"  -w[liaprmfFsoR] tai\n"
"  --debug-dump[=line,=info,=abbrev,=pubnames,=aranges,=macro,=frames,=str,=loc,=Ranges]\n"
"                         Näytä DWARF2-virheenjäljityslohkojen sisältö\n"

#: readelf.c:2923
#, c-format
msgid ""
"  -i --instruction-dump=<number|name>\n"
"                         Disassemble the contents of section <number|name>\n"
msgstr ""
"  -i --instruction-dump=<numero|nimi>\n"
"                         Disassembloi lohkon <numero|nimi> sisältö\n"

#: readelf.c:2927
#, c-format
msgid ""
"  -I --histogram         Display histogram of bucket list lengths\n"
"  -W --wide              Allow output width to exceed 80 characters\n"
"  @<file>                Read options from <file>\n"
"  -H --help              Display this information\n"
"  -v --version           Display the version number of readelf\n"
msgstr ""
"  -I --histogram         Näytä bucket-luettelopituuksien histogrammi\n"
"  -W --wide              Salli yli 80 merkin levyinen tuloste\n"
"  @<tiedosto>            Lue valitsimet tiedostosta <tiedosto>\n"
"  -H --help              Näytä nämä tiedot\n"
"  -v --version           Näytä readelf-ohjelman versionumero\n"

#: readelf.c:2956 readelf.c:2985 readelf.c:2989 readelf.c:11591
msgid "Out of memory allocating dump request table.\n"
msgstr "Muisti loppui varattaessa tiedostovedospyyntötaulua.\n"

#: readelf.c:3144
#, c-format
msgid "Invalid option '-%c'\n"
msgstr "Virheellinen valitsin ”-%c”\n"

#: readelf.c:3158
msgid "Nothing to do.\n"
msgstr "Ei mitään tehtävää.\n"

#: readelf.c:3170 readelf.c:3186 readelf.c:6536
msgid "none"
msgstr "ei mitään"

#  Selvennetty ylimääräisillä lainausmerkeillä
#: readelf.c:3187
msgid "2's complement, little endian"
msgstr "kahden komplementti, ”little endian”-tavujärjestys"

#  Selvennetty ylimääräisillä lainausmerkeillä
#: readelf.c:3188
msgid "2's complement, big endian"
msgstr "kahden komplementti, ”big endian”-tavujärjestys"

#  Valinnaisessa COFF-otsakkeessa on magic-kenttä, joka kertoo tiedoston tyypin.
#: readelf.c:3206
msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
msgstr "Ei ELF-tiedosto - siinä on väärät maagiset tavut alussa\n"

#: readelf.c:3216
#, c-format
msgid "ELF Header:\n"
msgstr "ELF-otsake:\n"

#  Valinnaisessa COFF-otsakkeessa on magic-kenttä, joka kertoo tiedoston tyypin. Joillakin COFF-lohkoilla voi olla magic-nimi, joka kertoo lohkon erikoistarkoituksesta.
#: readelf.c:3217
#, c-format
msgid "  Magic:   "
msgstr "  Maaginen numero:   "

#  Levennetty tarkoituksella
#: readelf.c:3221
#, c-format
msgid "  Class:                             %s\n"
msgstr "  Luokka:                               %s\n"

#  Levennetty tarkoituksella
#: readelf.c:3223
#, c-format
msgid "  Data:                              %s\n"
msgstr "  Data:                                 %s\n"

#  Levennetty tarkoituksella
#: readelf.c:3225
#, c-format
msgid "  Version:                           %d %s\n"
msgstr "  Versio:                               %d %s\n"

#  Levennetty tarkoituksella. ABI on lyhennys sanoista Application Binary Interface
#: readelf.c:3232
#, c-format
msgid "  OS/ABI:                            %s\n"
msgstr "  Käyttöjärjestelmä/ABI:                %s\n"

#  Levennetty tarkoituksella
#: readelf.c:3234
#, c-format
msgid "  ABI Version:                       %d\n"
msgstr "  ABI-versio:                           %d\n"

#  Levennetty tarkoituksella
#: readelf.c:3236
#, c-format
msgid "  Type:                              %s\n"
msgstr "  Tyyppi:                               %s\n"

#  Levennetty tarkoituksella
#: readelf.c:3238
#, c-format
msgid "  Machine:                           %s\n"
msgstr "  Kone:                                 %s\n"

#  Levennetty tarkoituksella
#: readelf.c:3240
#, c-format
msgid "  Version:                           0x%lx\n"
msgstr "  Versio:                               0x%lx\n"

#  Levennetty tarkoituksella
#: readelf.c:3243
#, c-format
msgid "  Entry point address:               "
msgstr "  Tulokohtaosoite:                      "

#  Levennetty tarkoituksella
#: readelf.c:3245
#, c-format
msgid ""
"\n"
"  Start of program headers:          "
msgstr ""
"\n"
"  Ohjelmaotsakkeiden alku:              "

#  Levennetty tarkoituksella
#: readelf.c:3247
#, c-format
msgid ""
" (bytes into file)\n"
"  Start of section headers:          "
msgstr ""
" (tavua tiedostoon)\n"
"  Lohko-otsakkeiden alku:               "

#: readelf.c:3249
#, c-format
msgid " (bytes into file)\n"
msgstr " (tavua tiedostoon)\n"

#  Levennetty tarkoituksella
#: readelf.c:3251
#, c-format
msgid "  Flags:                             0x%lx%s\n"
msgstr "  Liput:                                0x%lx%s\n"

#  Levennetty tarkoituksella
#: readelf.c:3254
#, c-format
msgid "  Size of this header:               %ld (bytes)\n"
msgstr "  Tämän otsakkeen koko:                 %ld (tavua)\n"

#  Levennetty tarkoituksella
#: readelf.c:3256
#, c-format
msgid "  Size of program headers:           %ld (bytes)\n"
msgstr "  Ohjelmaotsakkeiden koko:              %ld (tavua)\n"

#  Levennetty tarkoituksella
#: readelf.c:3258
#, c-format
msgid "  Number of program headers:         %ld\n"
msgstr "  Ohjelmaotsakkeiden lukumäärä:         %ld\n"

#  Levennetty tarkoituksella
#: readelf.c:3260
#, c-format
msgid "  Size of section headers:           %ld (bytes)\n"
msgstr "  Lohko-otsakkeiden koko:               %ld (tavua)\n"

#  Levennetty tarkoituksella
#: readelf.c:3262
#, c-format
msgid "  Number of section headers:         %ld"
msgstr "  Lohko-otsakkeiden lukumäärä:          %ld"

#  Yläpuolella olevat on levennetty tarkoituksella tämän levyisiksi
#: readelf.c:3267
#, c-format
msgid "  Section header string table index: %ld"
msgstr "  Lohko-otsakemerkkijonotaulun indeksi: %ld"

#: readelf.c:3305 readelf.c:3339
msgid "program headers"
msgstr "ohjelmaotsakkeet"

#: readelf.c:3378 readelf.c:3678 readelf.c:3721 readelf.c:3782 readelf.c:3849
#: readelf.c:4575 readelf.c:4599 readelf.c:5863 readelf.c:5909 readelf.c:6110
#: readelf.c:7186 readelf.c:7200 readelf.c:7711 readelf.c:7727 readelf.c:7770
#: readelf.c:7795 readelf.c:9780 readelf.c:9972 readelf.c:10507
#: readelf.c:10881 readelf.c:10895 readelf.c:11256
msgid "Out of memory\n"
msgstr "Muisti loppui\n"

#: readelf.c:3405
#, c-format
msgid ""
"\n"
"There are no program headers in this file.\n"
msgstr ""
"\n"
"Tässä tiedostossa ei ole ohjelmaotsakkeita.\n"

#: readelf.c:3411
#, c-format
msgid ""
"\n"
"Elf file type is %s\n"
msgstr ""
"\n"
"Elf-tiedostotyyppi on %s\n"

#: readelf.c:3412
#, c-format
msgid "Entry point "
msgstr "Tulokohta "

#: readelf.c:3414
#, c-format
msgid ""
"\n"
"There are %d program headers, starting at offset "
msgstr ""
"\n"
"Ohjelmaotsakkeita on %d kpl, alkaen siirroksesta "

#: readelf.c:3426 readelf.c:3428
#, c-format
msgid ""
"\n"
"Program Headers:\n"
msgstr ""
"\n"
"Ohjelmaotsakkeet:\n"

#: readelf.c:3432
#, c-format
msgid "  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align\n"
msgstr "  Tyyppi         Siirros  VirtOsoite FyysOsoite TiedKok MuisKok Lip Tasaus\n"

#: readelf.c:3435
#, c-format
msgid "  Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align\n"
msgstr "  Tyyppi         Siirros  VirtuaaliOsoite    FyysinenOsoite     TiedKoko MuisKoko Lip Tasaus\n"

#: readelf.c:3439
#, c-format
msgid "  Type           Offset             VirtAddr           PhysAddr\n"
msgstr "  Tyyppi         Siirros            VirtuaaliOsoite    FyysinenOsoite\n"

#: readelf.c:3441
#, c-format
msgid "                 FileSiz            MemSiz              Flags  Align\n"
msgstr "                 TiedostoKoko       MuistiKoko          Liput  Tasaus\n"

#: readelf.c:3534
msgid "more than one dynamic segment\n"
msgstr "useampi kuin yksi dynaaminen segmentti\n"

#: readelf.c:3550
msgid "no .dynamic section in the dynamic segment\n"
msgstr "ei .dynamic-lohkoa dynaamisessa segmentissä\n"

#: readelf.c:3565
msgid "the .dynamic section is not contained within the dynamic segment\n"
msgstr ".dynamic-lohko ei ole dynaamisen segmentin sisällä\n"

#: readelf.c:3568
msgid "the .dynamic section is not the first section in the dynamic segment.\n"
msgstr ".dynamic-lohko ei ole dynaamisen segmentin ensimmäinen lohko.\n"

#: readelf.c:3576
msgid "Unable to find program interpreter name\n"
msgstr "Ohjelmatulkin nimeä ei löydy\n"

#: readelf.c:3583
msgid "Internal error: failed to create format string to display program interpreter\n"
msgstr "Sisäinen virhe: ei voitu luoda muotomerkkijonoa ohjelmatulkin näyttämiseksi\n"

#: readelf.c:3587
msgid "Unable to read program interpreter name\n"
msgstr "Ohjelmatulkin nimeä ei voitu lukea\n"

#: readelf.c:3590
#, c-format
msgid ""
"\n"
"      [Requesting program interpreter: %s]"
msgstr ""
"\n"
"      [Pyydetään ohjelmatulkkia: %s]"

#  Kartassa kohteet sijoitetaan kartalle toistensa suhteen eri paikkoihin.
#: readelf.c:3602
#, c-format
msgid ""
"\n"
" Section to Segment mapping:\n"
msgstr ""
"\n"
" Lohkosta Segmenttiin sijoittelu:\n"

#: readelf.c:3603
#, c-format
msgid "  Segment Sections...\n"
msgstr "  Segmenttilohkot...\n"

#: readelf.c:3638
msgid "Cannot interpret virtual addresses without program headers.\n"
msgstr "Virtuaalisia osoitteita ei voi tulkata ilman ohjelmaotsakkeita.\n"

#: readelf.c:3654
#, c-format
msgid "Virtual address 0x%lx not located in any PT_LOAD segment.\n"
msgstr "Virtuaaliosoite 0x%lx ei sijaitse missään PT_LOAD-segmentissä.\n"

#: readelf.c:3669 readelf.c:3712
msgid "section headers"
msgstr "lohko-otsakkeet"

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n
#: readelf.c:3757 readelf.c:3824
msgid "symbols"
msgstr "symbolit"

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n
#: readelf.c:3769 readelf.c:3836
msgid "symtab shndx"
msgstr "”symtab shndx”-taululle"

#: readelf.c:4112 readelf.c:4559
#, c-format
msgid ""
"\n"
"There are no sections in this file.\n"
msgstr ""
"\n"
"Tässä tiedostossa ei ole lohkoja.\n"

#: readelf.c:4118
#, c-format
msgid "There are %d section headers, starting at offset 0x%lx:\n"
msgstr "Lohko-otsakkeita on %d kpl, alkaen siirroksesta 0x%lx:\n"

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n
#: readelf.c:4139 readelf.c:4676 readelf.c:4903 readelf.c:5203 readelf.c:5616
#: readelf.c:7521
msgid "string table"
msgstr "merkkijonotaulu"

#: readelf.c:4206
#, c-format
msgid "Section %d has invalid sh_entsize %lx (expected %lx)\n"
msgstr "Lohkossa %d on virheellinen sh_entsize %lx (odotettiin %lx)\n"

#: readelf.c:4226
msgid "File contains multiple dynamic symbol tables\n"
msgstr "Tiedosto sisältää useita dynaamisia symbolitauluja\n"

#: readelf.c:4239
msgid "File contains multiple dynamic string tables\n"
msgstr "Tiedosto sisältää useita dynaamisia merkkijonotauluja\n"

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n
#: readelf.c:4245
msgid "dynamic strings"
msgstr "dynaamiset merkkijonot"

#  Lisäsin lainausmerkit selventämään lausetta.
#: readelf.c:4252
msgid "File contains multiple symtab shndx tables\n"
msgstr "Tiedosto sisältää useita ”symtab shndx”-tauluja\n"

#  monikkomuoto seuraavasta msgid:stä
#: readelf.c:4303
#, c-format
msgid ""
"\n"
"Section Headers:\n"
msgstr ""
"\n"
"Lohko-otsakkeet:\n"

#  yksikkömuoto edellisestä msgid:stä
#: readelf.c:4305
#, c-format
msgid ""
"\n"
"Section Header:\n"
msgstr ""
"\n"
"Lohko-otsake:\n"

#: readelf.c:4311 readelf.c:4322 readelf.c:4333
#, c-format
msgid "  [Nr] Name\n"
msgstr "  [Numero] Nimi\n"

#  ES on kokonaiskoko, Flg on liput, Lk on Linkki, Inf on Tiedot
#: readelf.c:4312
#, c-format
msgid "       Type            Addr     Off    Size   ES   Lk Inf Al\n"
msgstr "       Tyyppi          Osoite   Siirr. Koko   Yht  LnkTdt Tasaus\n"

#  ES on kokonaiskoko, Flg on liput, Lk on Linkki, Inf on Tiedot
#: readelf.c:4316
#, c-format
msgid "  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al\n"
msgstr "  [Nr] Nimi              Tyyppi          Osoite   Siirr. Koko  Yht Lip Lk Tdt Tasaus\n"

#  ES on kokonaiskoko, Flg on liput, Lk on Linkki, Inf on Tiedot
#: readelf.c:4323
#, c-format
msgid "       Type            Address          Off    Size   ES   Lk Inf Al\n"
msgstr "       Tyyppi          Osoite          Siirros Koko   Yht  Lk Tdt Tasaus\n"

#  ES on kokonaiskoko, Flg on liput, Lk on Linkki, Inf on Tiedot
#: readelf.c:4327
#, c-format
msgid "  [Nr] Name              Type            Address          Off    Size   ES Flg Lk Inf Al\n"
msgstr "  [Nr] Nimi              Tyyppi          Osoite           Siirr. Koko  Yht Lip Lk Tdt Tasaus\n"

#: readelf.c:4334
#, c-format
msgid "       Type              Address          Offset            Link\n"
msgstr "       Tyyppi           Osoite            Siirros           Linkki\n"

#  EntSize voi tarkoittaa Entire Size tai Entity Size
#: readelf.c:4335
#, c-format
msgid "       Size              EntSize          Info              Align\n"
msgstr "       Koko              KokonaisKoko     Tiedot            Tasaus\n"

#: readelf.c:4339
#, c-format
msgid "  [Nr] Name              Type             Address           Offset\n"
msgstr "  [Nr] Nimi              Tyyppi           Osoite            Siirros\n"

#  EntSize voi tarkoittaa Entire Size tai Entity Size
#: readelf.c:4340
#, c-format
msgid "       Size              EntSize          Flags  Link  Info  Align\n"
msgstr "       Koko              KokonaisKoko     Liput  Link  Tied. Tasaus\n"

#: readelf.c:4345
#, c-format
msgid "       Flags\n"
msgstr "       Liput\n"

#: readelf.c:4420
#, c-format
msgid "section %u: sh_link value of %u is larger than the number of sections\n"
msgstr "lohko %u: %u-linkkiarvo sh_link on suurempi kuin lohkojen lukumäärä\n"

#: readelf.c:4516
#, c-format
msgid ""
"Key to Flags:\n"
"  W (write), A (alloc), X (execute), M (merge), S (strings)\n"
"  I (info), L (link order), G (group), x (unknown)\n"
"  O (extra OS processing required) o (OS specific), p (processor specific)\n"
msgstr ""
"Lippuavaimet:\n"
"  W (kirjoita), A (varaa), X (suorita), M (lomita), S (merkkijonot)\n"
"  I (tiedot), L (linkitysjärjestys), G (ryhmä), x (tuntematon)\n"
"  O (vaatii käyttöjärjestelmäkohtaista lisäkäsittelyä) o (Käyttöjärjestelmäkohtainen),\n"
"  p (suoritinkohtainen)\n"

#: readelf.c:4534
#, c-format
msgid "[<unknown>: 0x%x]"
msgstr "[<tuntematon>: 0x%x]"

#: readelf.c:4566
msgid "Section headers are not available!\n"
msgstr "Lohko-otsakkeita ei ole saatavilla!\n"

#: readelf.c:4590
#, c-format
msgid ""
"\n"
"There are no section groups in this file.\n"
msgstr ""
"\n"
"Tässä tiedostossa ei ole lohkoryhmiä.\n"

#  The sh_link field of this section contains the index of the associated SHT_SYMTAB
#: readelf.c:4627
#, c-format
msgid "Bad sh_link in group section `%s'\n"
msgstr "Virheellinen sh_link-kenttä ryhmälohkossa ”%s”\n"

#  The sh_info field holds the section header index, which is displayed in decimal.
#: readelf.c:4646
#, c-format
msgid "Bad sh_info in group section `%s'\n"
msgstr "Virheellinen sh_info-kenttä ryhmälohkossa ”%s”\n"

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n
#: readelf.c:4685
msgid "section data"
msgstr "lohkodata"

#: readelf.c:4697
#, c-format
msgid "   [Index]    Name\n"
msgstr "   [Indeksi]  Nimi\n"

#: readelf.c:4711
#, c-format
msgid "section [%5u] in group section [%5u] > maximum section [%5u]\n"
msgstr "lohko [%5u] ryhmälohkossa [%5u] > maksimilohko [%5u]\n"

#: readelf.c:4720
#, c-format
msgid "section [%5u] in group section [%5u] already in group section [%5u]\n"
msgstr "lohko [%5u] ryhmälohkossa [%5u] on jo ryhmälohkossa [%5u]\n"

#: readelf.c:4733
#, c-format
msgid "section 0 in group section [%5u]\n"
msgstr "lohko 0 ryhmälohkossa [%5u]\n"

#: readelf.c:4828
#, c-format
msgid ""
"\n"
"'%s' relocation section at offset 0x%lx contains %ld bytes:\n"
msgstr ""
"\n"
"”%s” uudelleensijoituslohko siirroksessa 0x%lx sisältää %ld tavua:\n"

#: readelf.c:4840
#, c-format
msgid ""
"\n"
"There are no dynamic relocations in this file.\n"
msgstr ""
"\n"
"Tässä tiedostossa ei ole dynaamisia uudelleensijoituksia.\n"

#  Kolme seuraava kuuluu yhteen. Siksi ensimmäinen genetiivimuodossa.
#: readelf.c:4864
#, c-format
msgid ""
"\n"
"Relocation section "
msgstr ""
"\n"
"Uudelleensijoituslohkon "

#  Kuuluu yhteen edellisen ja seuraavan kanssa.
#: readelf.c:4869 readelf.c:5279 readelf.c:5294 readelf.c:5631
#, c-format
msgid "'%s'"
msgstr "”%s”"

#  Kuuluu yhteen kahden edellisen kanssa.
#: readelf.c:4871 readelf.c:5296 readelf.c:5633
#, c-format
msgid " at offset 0x%lx contains %lu entries:\n"
msgstr " siirroksessa 0x%lx on %lu alkiota:\n"

#: readelf.c:4922
#, c-format
msgid ""
"\n"
"There are no relocations in this file.\n"
msgstr ""
"\n"
"Tässä tiedostossa ei ole uudelleensijoituksia.\n"

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n
#: readelf.c:5107 readelf.c:5480
msgid "unwind table"
msgstr "palautustaulu"

#: readelf.c:5149 readelf.c:5562
#, c-format
msgid "Skipping unexpected relocation type %s\n"
msgstr "Ohittaa odottamattoman uudelleensijoitustyypin %s\n"

#  Unwind tarkoittaa ilmeisesti jonkun aikaisemman tilanteen palautusta esimerkiksi virhetilanteessa.
#: readelf.c:5211 readelf.c:5624 readelf.c:5677
#, c-format
msgid ""
"\n"
"There are no unwind sections in this file.\n"
msgstr ""
"\n"
"Tässä tiedostossa ei ole palautuslohkoja.\n"

#  Unwind tarkoittaa ilmeisesti jonkun aikaisemman tilanteen palautusta esimerkiksi virhetilanteessa.
#: readelf.c:5274
#, c-format
msgid ""
"\n"
"Could not find unwind info section for "
msgstr ""
"\n"
"Ei voitu löytää palautustietolohkoja kohteelle "

#  Unwind tarkoittaa ilmeisesti jonkun aikaisemman tilanteen palautusta esimerkiksi virhetilanteessa.
#: readelf.c:5287
msgid "unwind info"
msgstr "palautustiedot"

#  Unwind on maaginen lohkonimi ja siksi sitä ei voi kääntää.
#: readelf.c:5289 readelf.c:5630
#, c-format
msgid ""
"\n"
"Unwind section "
msgstr ""
"\n"
"Unwind-lohko "

#: readelf.c:5843 readelf.c:5889
msgid "dynamic section"
msgstr "dynaaminen lohko"

#: readelf.c:5967
#, c-format
msgid ""
"\n"
"There is no dynamic section in this file.\n"
msgstr ""
"\n"
"Tässä tiedostossa ei ole dynaamista lohkoa.\n"

#: readelf.c:6005
msgid "Unable to seek to end of file!\n"
msgstr "Hakua ei voi suorittaa tiedoston loppuun!\n"

#: readelf.c:6018
msgid "Unable to determine the number of symbols to load\n"
msgstr "Ei voi määritellä ladattavien symbolien lukumäärää\n"

#: readelf.c:6053
msgid "Unable to seek to end of file\n"
msgstr "Hakua ei voi suorittaa tiedoston loppuun\n"

#: readelf.c:6060
msgid "Unable to determine the length of the dynamic string table\n"
msgstr "Dynaamisen merkkijonotaulun pituutta ei voi määritellä\n"

#: readelf.c:6066
msgid "dynamic string table"
msgstr "dynaaminen merkkijonotaulu"

#: readelf.c:6103
msgid "symbol information"
msgstr "symbolitiedot"

#: readelf.c:6128
#, c-format
msgid ""
"\n"
"Dynamic section at offset 0x%lx contains %u entries:\n"
msgstr ""
"\n"
"Dynaaminen lohko siirroksessa 0x%lx sisältää %u alkiota:\n"

#: readelf.c:6131
#, c-format
msgid "  Tag        Type                         Name/Value\n"
msgstr "  Tunniste   Tyyppi                       Nimi/Arvo\n"

#: readelf.c:6167
#, c-format
msgid "Auxiliary library"
msgstr "Apukirjasto"

#: readelf.c:6171
#, c-format
msgid "Filter library"
msgstr "Suodatinkirjasto"

#: readelf.c:6175
#, c-format
msgid "Configuration file"
msgstr "Alustustiedosto"

#: readelf.c:6179
#, c-format
msgid "Dependency audit library"
msgstr "Riippuvuustarkastuskirjasto"

#: readelf.c:6183
#, c-format
msgid "Audit library"
msgstr "Tarkastuskirjasto"

#: readelf.c:6201 readelf.c:6229 readelf.c:6257
#, c-format
msgid "Flags:"
msgstr "Liput:"

#: readelf.c:6204 readelf.c:6232 readelf.c:6259
#, c-format
msgid " None\n"
msgstr "Ei mitään\n"

#: readelf.c:6380
#, c-format
msgid "Shared library: [%s]"
msgstr "Jaettu kirjasto: [%s]"

#: readelf.c:6383
#, c-format
msgid " program interpreter"
msgstr " ohjelmatulkki"

#  soname tarkoittanee *nix-ympäristössä dynaamisen kirjaston libxml.so.6.0.1 -tyyppistä nimeä
#: readelf.c:6387
#, c-format
msgid "Library soname: [%s]"
msgstr "Kirjaston so-nimi: [%s]"

#  rpath tarkoittanee samaa kuin run-path
#: readelf.c:6391
#, c-format
msgid "Library rpath: [%s]"
msgstr "Kirjaston rpath: [%s]"

#: readelf.c:6395
#, c-format
msgid "Library runpath: [%s]"
msgstr "Kirjaston run-polku: [%s]"

#: readelf.c:6458
#, c-format
msgid "Not needed object: [%s]\n"
msgstr "Tarpeeton objekti: [%s]\n"

#: readelf.c:6583
#, c-format
msgid ""
"\n"
"Version definition section '%s' contains %u entries:\n"
msgstr ""
"\n"
"Versiomäärittelylohko ”%s” sisältää %u alkiota:\n"

#: readelf.c:6586
#, c-format
msgid "  Addr: 0x"
msgstr "  Osoite: 0x"

#: readelf.c:6588 readelf.c:6690 readelf.c:6813
#, c-format
msgid "  Offset: %#08lx  Link: %u (%s)\n"
msgstr "  Siirros: %#08lx Linkki: %u (%s)\n"

#: readelf.c:6596
msgid "version definition section"
msgstr "versiomäärittelylohko"

#  Rev on ilmeisesti revision.
#: readelf.c:6625
#, c-format
msgid "  %#06x: Rev: %d  Flags: %s"
msgstr "  %#06x: Rev: %d  Liput: %s"

#: readelf.c:6628
#, c-format
msgid "  Index: %d  Cnt: %d  "
msgstr "  Indeksi: %d  Lkm: %d  "

#: readelf.c:6639
#, c-format
msgid "Name: %s\n"
msgstr "Nimi: %s\n"

#: readelf.c:6641
#, c-format
msgid "Name index: %ld\n"
msgstr "Nimi-indeksi: %ld\n"

#: readelf.c:6658
#, c-format
msgid "  %#06x: Parent %d: %s\n"
msgstr "  %#06x: Lähde %d: %s\n"

#: readelf.c:6661
#, c-format
msgid "  %#06x: Parent %d, name index: %ld\n"
msgstr "  %#06x: Lähde %d, nimi-indeksi: %ld\n"

#: readelf.c:6665
#, c-format
msgid "  Version def aux past end of section\n"
msgstr "  Versiomäärittely lohkon lopun ohitse\n"

#: readelf.c:6670
#, c-format
msgid "  Version definition past end of section\n"
msgstr "  Versiomäärittely lohkon lopun ohitse\n"

#: readelf.c:6685
#, c-format
msgid ""
"\n"
"Version needs section '%s' contains %u entries:\n"
msgstr ""
"\n"
"Versiotarpeet-lohko ”%s” sisältää %u alkiota:\n"

#: readelf.c:6688
#, c-format
msgid " Addr: 0x"
msgstr " Osoite: 0x"

#  kolme msgid ylempänä on Version needs section. Ilmeisesti tässä pitäisi olla sama
#: readelf.c:6699
msgid "version need section"
msgstr "versiotarve-lohko"

#: readelf.c:6724
#, c-format
msgid "  %#06x: Version: %d"
msgstr "  %#06x: Versio:  %d"

#: readelf.c:6727
#, c-format
msgid "  File: %s"
msgstr "  Tiedosto: %s"

#: readelf.c:6729
#, c-format
msgid "  File: %lx"
msgstr "  Tiedosto: %lx"

#: readelf.c:6731
#, c-format
msgid "  Cnt: %d\n"
msgstr "  Lkm: %d\n"

#: readelf.c:6751
#, c-format
msgid "  %#06x:   Name: %s"
msgstr "  %#06x:   Nimi: %s"

#: readelf.c:6754
#, c-format
msgid "  %#06x:   Name index: %lx"
msgstr "  %#06x:   Nimi-indeksi: %lx"

#: readelf.c:6757
#, c-format
msgid "  Flags: %s  Version: %d\n"
msgstr "  Liput: %s  Versio: %d\n"

#  hiukan ylempänä on Version needs section. Ilmeisesti tässä pitäisi olla sama
#: readelf.c:6764
#, c-format
msgid "  Version need aux past end of section\n"
msgstr "  Versiotarve lohkon lopun ohitse\n"

#  hiukan ylempänä on Version needs section. Ilmeisesti tässä pitäisi olla sama
#: readelf.c:6769
#, c-format
msgid "  Version need past end of section\n"
msgstr "  Versiotarve lohkon lopun ohitse\n"

#: readelf.c:6804
msgid "version string table"
msgstr "versiomerkkijonotaulu"

#: readelf.c:6808
#, c-format
msgid ""
"\n"
"Version symbols section '%s' contains %d entries:\n"
msgstr ""
"\n"
"Versiosymbolilohko ”%s” sisältää %d alkiota:\n"

#: readelf.c:6811
#, c-format
msgid " Addr: "
msgstr " Osoite: "

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n
#: readelf.c:6822
msgid "version symbol data"
msgstr "versiosymbolidata"

#  Pituus maksimissaan 9 merkkiä, "*yleinen*" on tasan 9-merkkiä. Suomennos on hiukan slanginen
#: readelf.c:6849
msgid "   0 (*local*)    "
msgstr "   0 (*lokaali*)  "

#  Pituus maksimissaan 9 merkkiä, (*globaali*) on liian pitkä
#: readelf.c:6853
msgid "   1 (*global*)   "
msgstr "   1 (*yleinen*)  "

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n
#  Viittaa Elf_External_Verneed-rakenteeseen
#: readelf.c:6890 readelf.c:7588
msgid "version need"
msgstr "versiotarve"

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n.
#  Viittaa Elf_External_Vernaux -rakenteeseen.
#: readelf.c:6900
msgid "version need aux (2)"
msgstr "ulkoinen versiotarve (2)"

#: readelf.c:6915 readelf.c:6970
msgid "*invalid*"
msgstr "*virheellinen*"

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n.
#  Viittaa Elf_External_Verdef-rakenteeseen.
#: readelf.c:6945 readelf.c:7653
msgid "version def"
msgstr "versiomäärittely"

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n.
#  Viittaa Elf_External_Verdaux-rakenteeseen.
#: readelf.c:6965 readelf.c:7668
msgid "version def aux"
msgstr "ulkoinen versiomäärittely"

#: readelf.c:6999
#, c-format
msgid ""
"\n"
"No version information found in this file.\n"
msgstr ""
"\n"
"Tästä tiedostosta ei löytynyt versiotietoja.\n"

#: readelf.c:7133
#, c-format
msgid "<other>: %x"
msgstr "<toinen>: %x"

#: readelf.c:7192
msgid "Unable to read in dynamic data\n"
msgstr "Ei voi lukea dynaamista dataa\n"

#: readelf.c:7283 readelf.c:7333 readelf.c:7357 readelf.c:7387 readelf.c:7411
msgid "Unable to seek to start of dynamic information\n"
msgstr "Ei voi hakea dynaamisten tietojen alkua\n"

#: readelf.c:7289 readelf.c:7339
msgid "Failed to read in number of buckets\n"
msgstr "Buckets-lukumäärän lukeminen epäonnistui\n"

#: readelf.c:7295
msgid "Failed to read in number of chains\n"
msgstr "Ketjujen lukumäärän lukeminen epäonnistui\n"

#: readelf.c:7395
msgid "Failed to determine last chain length\n"
msgstr "Viimeisen ketjupituuden määritteleminen epäonnistui\n"

#: readelf.c:7439
#, c-format
msgid ""
"\n"
"Symbol table for image:\n"
msgstr ""
"\n"
"Symbolitaulu tiedostovedokselle:\n"

#: readelf.c:7441 readelf.c:7459
#, c-format
msgid "  Num Buc:    Value  Size   Type   Bind Vis      Ndx Name\n"
msgstr "  Buc-lkm:    Arvo   Koko   Tyyppi Sidnta Näkyvyys Ind Nimi\n"

#  Num tarkoittaa ilmeisesti number-sanaa. Bind tarkoittaa ehkä samaa kuin jossain muussa taulukossa BoundTo ?
#: readelf.c:7443 readelf.c:7461
#, c-format
msgid "  Num Buc:    Value          Size   Type   Bind Vis      Ndx Name\n"
msgstr "  Buc-lkm:    Arvo           Koko   Tyyppi Sidnta Näkyvyys Ind Nimi\n"

#: readelf.c:7457
#, c-format
msgid ""
"\n"
"Symbol table of `.gnu.hash' for image:\n"
msgstr ""
"\n"
"Symbolitaulu ”.gnu.hash” tiedostovedokselle:\n"

#: readelf.c:7496
#, c-format
msgid ""
"\n"
"Symbol table '%s' contains %lu entries:\n"
msgstr ""
"\n"
"Symbolitaulu ”%s” sisältää %lu alkiota:\n"

#: readelf.c:7500
#, c-format
msgid "   Num:    Value  Size Type    Bind   Vis      Ndx Name\n"
msgstr "   Num:    Arvo   Koko Tyyppi  Sidnta Näkyvyys Ind Nimi\n"

#: readelf.c:7502
#, c-format
msgid "   Num:    Value          Size Type    Bind   Vis      Ndx Name\n"
msgstr "   Num:    Arvo           Koko Tyyppi  Sidnta Näkyvyys Ind Nimi\n"

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n
#: readelf.c:7559
msgid "version data"
msgstr "versiodata"

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n
#  Viittaa Elf_External_Vernaux-rakenteeseen
#: readelf.c:7601
msgid "version need aux (3)"
msgstr "ulkoinen versiotarve (3)"

#: readelf.c:7628
msgid "bad dynamic symbol\n"
msgstr "virheellinen dynaaminen symboli\n"

#: readelf.c:7692
#, c-format
msgid ""
"\n"
"Dynamic symbol information is not available for displaying symbols.\n"
msgstr ""
"\n"
"Dynaamisia symbolitietoja ei ole näytettäville symboleille.\n"

#: readelf.c:7704
#, c-format
msgid ""
"\n"
"Histogram for bucket list length (total of %lu buckets):\n"
msgstr ""
"\n"
"Bucket-luettelopituuden histogrammi (yhteensä %lu bucketista):\n"

#: readelf.c:7706 readelf.c:7776
#, c-format
msgid " Length  Number     %% of total  Coverage\n"
msgstr " Pituus  Numero     %% kaikesta  Yhteensä\n"

#: readelf.c:7774
#, c-format
msgid ""
"\n"
"Histogram for `.gnu.hash' bucket list length (total of %lu buckets):\n"
msgstr ""
"\n"
"”.gnu.hash”-bucket-luettelopituuden histogrammi (yhteensä %lu bucketista):\n"

#: readelf.c:7840
#, c-format
msgid ""
"\n"
"Dynamic info segment at offset 0x%lx contains %d entries:\n"
msgstr ""
"\n"
"Dynaaminen info-segmentti siirroksessa 0x%lx sisältää %d alkiota:\n"

#: readelf.c:7843
#, c-format
msgid " Num: Name                           BoundTo     Flags\n"
msgstr " Num: Nimi                           Sidotaan    Liput\n"

#: readelf.c:7934
msgid "Unhandled MN10300 reloc type found after SYM_DIFF reloc"
msgstr "Käsittelemätön MN10300 reloc-tyyppi löytyi SYM_DIFF reloc-tyypin jäljestä"

#: readelf.c:8082
#, c-format
msgid "Missing knowledge of 32-bit reloc types used in DWARF sections of machine number %d\n"
msgstr "Kolmekymmentäkaksibittisten reloc-tyyppien puuttuvaa tietoa käytetään konenumeron %d DWARF-lohkoissa\n"

#: readelf.c:8375
#, c-format
msgid "unable to apply unsupported reloc type %d to section %s\n"
msgstr "ei kyetä soveltamaan tukematonta reloc-tyyppiä %d lohkoon %s\n"

#: readelf.c:8383
#, c-format
msgid "skipping invalid relocation offset 0x%lx in section %s\n"
msgstr "hypättiin virheellisen uudelleensijoitussiirroksen 0x%lx yli lohkossa %s\n"

#: readelf.c:8407
#, c-format
msgid "skipping unexpected symbol type %s in %ld'th relocation in section %s\n"
msgstr "hypättiin odottamattoman symbolityypin %s yli %ld:ssa uudelleensijoituksessa lohkossa %s\n"

#: readelf.c:8449
#, c-format
msgid ""
"\n"
"Assembly dump of section %s\n"
msgstr ""
"\n"
"Lohkon %s assembly-vedos\n"

#: readelf.c:8470
#, c-format
msgid ""
"\n"
"Section '%s' has no data to dump.\n"
msgstr ""
"\n"
"Lohkossa ”%s” ei ole vedostettavaa dataa.\n"

#: readelf.c:8476
msgid "section contents"
msgstr "lohkosisältö"

#: readelf.c:8496
#, c-format
msgid ""
"\n"
"String dump of section '%s':\n"
msgstr ""
"\n"
"Lohkon ”%s” merkkijonovedos:\n"

#: readelf.c:8514
#, c-format
msgid "  Note: This section has relocations against it, but these have NOT been applied to this dump.\n"
msgstr " Huomaa: Tässä lohkossa on uudelleensijoituksia sitä vastaan, mutta niitä EI ole liitetty tähän vedokseen.\n"

#: readelf.c:8543
#, c-format
msgid "  No strings found in this section."
msgstr "  Tästä lohkosta ei löytynyt merkkijonoja."

#: readelf.c:8565
#, c-format
msgid ""
"\n"
"Hex dump of section '%s':\n"
msgstr ""
"\n"
"Lohkon ”%s” heksadesimaalilukuvedos:\n"

#: readelf.c:8589
#, c-format
msgid " NOTE: This section has relocations against it, but these have NOT been applied to this dump.\n"
msgstr " HUOMAA: Tässä lohkossa on uudelleensijoituksia sitä vastaan, mutta niitä EI ole liitetty tähän vedokseen.\n"

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n
#: readelf.c:8727
#, c-format
msgid "%s section data"
msgstr "%s lohkodata"

#: readelf.c:8793
#, c-format
msgid ""
"\n"
"Section '%s' has no debugging data.\n"
msgstr ""
"\n"
"Lohkossa ”%s” ei ole virheenjäljitysdataa.\n"

#. There is no point in dumping the contents of a debugging section
#. which has the NOBITS type - the bits in the file will be random.
#. This can happen when a file containing a .eh_frame section is
#. stripped with the --only-keep-debug command line option.
#: readelf.c:8802
#, c-format
msgid "section '%s' has the NOBITS type - its contents are unreliable.\n"
msgstr "lohkossa ”%s” on NOBITS-tyyppi - sen sisältö on epäluotettava.\n"

#: readelf.c:8838
#, c-format
msgid "Unrecognized debug section: %s\n"
msgstr "Tunnistamaton virheenjäljityslohko: %s\n"

#: readelf.c:8866
#, c-format
msgid "Section '%s' was not dumped because it does not exist!\n"
msgstr "Lohkoa ”%s” ei voitu vedostaa, koska sitä ei ole olemassa!\n"

#: readelf.c:8907
#, c-format
msgid "Section %d was not dumped because it does not exist!\n"
msgstr "Lohkoa %d ei voitu vedostaa, koska sitä ei ole olemassa!\n"

#: readelf.c:9421
msgid "attributes"
msgstr "attribuutit"

#: readelf.c:9442
#, c-format
msgid "ERROR: Bad section length (%d > %d)\n"
msgstr "VIRHE: Virheellinen lohkopituus (%d > %d)\n"

#: readelf.c:9473
#, c-format
msgid "ERROR: Bad subsection length (%d > %d)\n"
msgstr "VIRHE: Virheellinen alilohkopituus (%d > %d)\n"

#: readelf.c:9532
#, c-format
msgid "Unknown format '%c'\n"
msgstr "Tuntematon muototyyppi ”%c”\n"

#  liblist-merkkijonotaulu ?
#: readelf.c:9686 readelf.c:10208
msgid "liblist"
msgstr "liblist"

#: readelf.c:9773
msgid "options"
msgstr "valitsimet"

#: readelf.c:9804
#, c-format
msgid ""
"\n"
"Section '%s' contains %d entries:\n"
msgstr ""
"\n"
"Lohko ”%s” sisältää %d alkiota:\n"

#  Virheilmoitus ennen maagisen .conflict-lohkon luontia (.conflict-lohkoa ei luoda).
#: readelf.c:9965
msgid "conflict list found without a dynamic symbol table\n"
msgstr "ristiriitaluettelo löydetty ilman dynaamista symbolitaulua\n"

#  conflict-lohko ?
#: readelf.c:9982 readelf.c:9997
msgid "conflict"
msgstr "ristiriita"

#: readelf.c:10007
#, c-format
msgid ""
"\n"
"Section '.conflict' contains %lu entries:\n"
msgstr ""
"\n"
"Lohko ”.conflict” sisältää %lu alkiota:\n"

#  Num on ehkä numero?
#: readelf.c:10009
msgid "  Num:    Index       Value  Name"
msgstr "  Num:    Indeksi     Arvo   Nimi"

#: readelf.c:10042
msgid "GOT"
msgstr "GOT"

#: readelf.c:10043
#, c-format
msgid ""
"\n"
"Primary GOT:\n"
msgstr ""
"\n"
"Ensisijainen GOT:\n"

#: readelf.c:10044
#, c-format
msgid " Canonical gp value: "
msgstr " Sääntöjenmukainen yleiskäyttöarvo: "

#: readelf.c:10048 readelf.c:10140
#, c-format
msgid " Reserved entries:\n"
msgstr " Varatut alkiot:\n"

#: readelf.c:10049
#, c-format
msgid "  %*s %10s %*s Purpose\n"
msgstr "  %*s %10s %*s Tarkoitus\n"

#: readelf.c:10065
#, c-format
msgid " Local entries:\n"
msgstr " Paikallisalkiot:\n"

#  Seuraava pitäisi oikeastaan jättää pois käännettävistä teksteistä.
#: readelf.c:10066
#, c-format
msgid "  %*s %10s %*s\n"
msgstr "  %*s %10s %*s\n"

#: readelf.c:10081
#, c-format
msgid " Global entries:\n"
msgstr " Yleisalkiot:\n"

#: readelf.c:10082
#, c-format
msgid "  %*s %10s %*s %*s %-7s %3s %s\n"
msgstr "  %*s %10s %*s %*s %-7s %3s %s\n"

#  the Global Offset Table (GOT) ja the Procedure Linkage Table (PLT)
#: readelf.c:10138
msgid "PLT GOT"
msgstr "PLT GOT"

#: readelf.c:10139
#, c-format
msgid ""
"\n"
"PLT GOT:\n"
"\n"
msgstr ""
"\n"
"PLT GOT:\n"
"\n"

#: readelf.c:10141
#, c-format
msgid "  %*s %*s Purpose\n"
msgstr "  %*s %*s Tarkoitus\n"

#: readelf.c:10149
#, c-format
msgid " Entries:\n"
msgstr " Alkiot:\n"

#: readelf.c:10150
#, c-format
msgid "  %*s %*s %*s %-7s %3s %s\n"
msgstr "  %*s %*s %*s %-7s %3s %s\n"

#: readelf.c:10216
msgid "liblist string table"
msgstr "liblist-merkkijonotaulu"

#: readelf.c:10226
#, c-format
msgid ""
"\n"
"Library list section '%s' contains %lu entries:\n"
msgstr ""
"\n"
"Kirjastoluettelolohko ”%s” sisältää %lu alkiota:\n"

#: readelf.c:10279
msgid "NT_AUXV (auxiliary vector)"
msgstr "NT_AUXV (apuvektori)"

#: readelf.c:10281
msgid "NT_PRSTATUS (prstatus structure)"
msgstr "NT_PRSTATUS (prstatus-rakenne)"

#: readelf.c:10283
msgid "NT_FPREGSET (floating point registers)"
msgstr "NT_FPREGSET (liukulukurekistereitä)"

#: readelf.c:10285
msgid "NT_PRPSINFO (prpsinfo structure)"
msgstr "NT_PRPSINFO (prpsinfo-rakenne)"

#  task on suomeksi tehtävä, mutta tässä tarkoitetaan ilmeisesti task (struct)-rakennetta
#: readelf.c:10287
msgid "NT_TASKSTRUCT (task structure)"
msgstr "NT_TASKSTRUCT (task-rakenne)"

#: readelf.c:10289
msgid "NT_PRXFPREG (user_xfpregs structure)"
msgstr "NT_PRXFPREG (user_xfpregs-rakenne)"

#: readelf.c:10291
msgid "NT_PPC_VMX (ppc Altivec registers)"
msgstr "NT_PPC_VMX (ppc Altivec-rekisterit)"

#: readelf.c:10293
msgid "NT_PPC_VSX (ppc VSX registers)"
msgstr "NT_PPC_VSX (ppc VSX-rekisterit)"

#: readelf.c:10295
msgid "NT_PSTATUS (pstatus structure)"
msgstr "NT_PSTATUS (pstatus-rakenne)"

#: readelf.c:10297
msgid "NT_FPREGS (floating point registers)"
msgstr "NT_FPREGS (liukulukurekistereitä)"

#: readelf.c:10299
msgid "NT_PSINFO (psinfo structure)"
msgstr "NT_PSINFO (psinfo-rakenne)"

#: readelf.c:10301
msgid "NT_LWPSTATUS (lwpstatus_t structure)"
msgstr "NT_LWPSTATUS (lwpstatus_t-rakenne)"

#: readelf.c:10303
msgid "NT_LWPSINFO (lwpsinfo_t structure)"
msgstr "NT_LWPSINFO (lwpsinfo_t-rakenne)"

#: readelf.c:10305
msgid "NT_WIN32PSTATUS (win32_pstatus structure)"
msgstr "NT_WIN32PSTATUS (win32_pstatus-rakenne)"

#: readelf.c:10313
msgid "NT_VERSION (version)"
msgstr "NT_VERSION (versio)"

#: readelf.c:10315
msgid "NT_ARCH (architecture)"
msgstr "NT_ARCH (arkkitehtuuri)"

#: readelf.c:10320 readelf.c:10343 readelf.c:10365
#, c-format
msgid "Unknown note type: (0x%08x)"
msgstr "Tuntematon note-segmenttityyppi: (0x%08x)"

#: readelf.c:10332
msgid "NT_GNU_ABI_TAG (ABI version tag)"
msgstr "NT_GNU_ABI_TAG (ABI-versiotunniste)"

#: readelf.c:10334
msgid "NT_GNU_HWCAP (DSO-supplied software HWCAP info)"
msgstr "NT_GNU_HWCAP (DSO-tuettu ohjelmisto-HWCAP-tiedot)"

#: readelf.c:10336
msgid "NT_GNU_BUILD_ID (unique build ID bitstring)"
msgstr "NT_GNU_BUILD_ID (uniikki rakentamistunnistebittimerkkijono)"

#: readelf.c:10338
msgid "NT_GNU_GOLD_VERSION (gold version)"
msgstr "NT_GNU_GOLD_VERSION (kultaversio)"

#. NetBSD core "procinfo" structure.
#: readelf.c:10355
msgid "NetBSD procinfo structure"
msgstr "NetBSD procinfo-rakenne"

#  reg on ehkä rekisteri
#: readelf.c:10382 readelf.c:10396
msgid "PT_GETREGS (reg structure)"
msgstr "PT_GETREGS (reg-rakenne)"

#  fpreg viittaa ilmeisesti floating point registers eli liukulukurekistereihin
#: readelf.c:10384 readelf.c:10398
msgid "PT_GETFPREGS (fpreg structure)"
msgstr "PT_GETFPREGS (fpreg-rakenne)"

#: readelf.c:10404
#, c-format
msgid "PT_FIRSTMACH+%d"
msgstr "PT_FIRSTMACH+%d"

#  Viimeinen %s-parametri virheilmoituksessa: Unable to seek to 0x%x for %s\n
#: readelf.c:10461
msgid "notes"
msgstr "notes"

#: readelf.c:10467
#, c-format
msgid ""
"\n"
"Notes at offset 0x%08lx with length 0x%08lx:\n"
msgstr ""
"\n"
"Notes-segmenttejä siirroksessa 0x%08lx pituudella 0x%08lx:\n"

#  Toinen sarkain pois ensimmäisestä väliköstä, koska Omistajat on pitempi kuin Owner
#: readelf.c:10469
#, c-format
msgid "  Owner\t\tData size\tDescription\n"
msgstr "  Omistajat\tData-koko\tKuvaus\n"

#: readelf.c:10488
#, c-format
msgid "corrupt note found at offset %lx into core notes\n"
msgstr "rikkoutunut note-segmentti löytyi siirroksesta %lx kohteeseen ydin notes\n"

#  Tarkoittaako descsize samaa kuin description size?
#: readelf.c:10490
#, c-format
msgid " type: %lx, namesize: %08lx, descsize: %08lx\n"
msgstr " tyyppi:%lx, nimikoko:%08lx, kuvauskoko: %08lx\n"

#: readelf.c:10588
#, c-format
msgid "No note segments present in the core file.\n"
msgstr "Ydintiedostossa ei ole note-segmenttejä.\n"

#: readelf.c:10672
msgid ""
"This instance of readelf has been built without support for a\n"
"64 bit data type and so it cannot read 64 bit ELF files.\n"
msgstr ""
"Tähän readelf-binaariin ei ole käännetty tukea 64-bittiselle\n"
"datatyypille, joten 64-bittisiä ELF-tiedostoja ei voida lukea.\n"

#: readelf.c:10719
#, c-format
msgid "%s: Failed to read file header\n"
msgstr "%s: Tiedosto-otsakkeen lukeminen epäonnistui\n"

#: readelf.c:10732
#, c-format
msgid ""
"\n"
"File: %s\n"
msgstr ""
"\n"
"Tiedosto: %s\n"

#: readelf.c:10947
#, c-format
msgid "%s: failed to seek to first archive header\n"
msgstr "%s: ensimmäisen arkisto-otsakkeen haku epäonnistui\n"

#: readelf.c:10956 readelf.c:11223 readelf.c:11393
#, c-format
msgid "%s: failed to read archive header\n"
msgstr "%s: ei voi lukea arkisto-otsaketta\n"

#: readelf.c:10981
#, c-format
msgid "%s: the archive index is empty\n"
msgstr "%s: arkistoindeksi on tyhjä\n"

#: readelf.c:10989 readelf.c:11013
#, c-format
msgid "%s: failed to read archive index\n"
msgstr "%s: arkistoindeksin lukeminen epäonnistui\n"

#: readelf.c:10998
#, c-format
msgid "%s: the archive index is supposed to have %ld entries, but the size in the header is too small\n"
msgstr "%s: arkistoindeksissä otaksutaan olevan %ld alkiota, mutta otsakkeen koko on liian pieni\n"

#: readelf.c:11006
msgid "Out of memory whilst trying to read archive symbol index\n"
msgstr "Muisti loppui kun yritettiin lukea arkiston symboli-indeksiä\n"

#: readelf.c:11024
msgid "Out of memory whilst trying to convert the archive symbol index\n"
msgstr "Muisti loppui kun yritettiin muuntaa arkiston symboli-indeksiä\n"

#: readelf.c:11036
#, c-format
msgid "%s: the archive has an index but no symbols\n"
msgstr "%s: arkistossa on indeksi, mutta ei symboleja\n"

#: readelf.c:11043
msgid "Out of memory whilst trying to read archive index symbol table\n"
msgstr "Muisti loppui yritettäessä lukea arkistoindeksisymbolitaulua\n"

#: readelf.c:11049
#, c-format
msgid "%s: failed to read archive index symbol table\n"
msgstr "%s: arkistoindekstisymbolitaulun lukeminen epäonnistui\n"

#: readelf.c:11057
#, c-format
msgid "%s: failed to skip archive symbol table\n"
msgstr "%s: ei voi hypätä arkistosymbolitaulun yli\n"

#: readelf.c:11068
#, c-format
msgid "%s: failed to read archive header following archive index\n"
msgstr "%s: arkisto-otsaketta seuraavan arkistoindeksin lukeminen epäonnistui\n"

#: readelf.c:11073
#, c-format
msgid "%s has no archive index\n"
msgstr "%s ei ole arkistoindeksiä\n"

#: readelf.c:11084
msgid "Out of memory reading long symbol names in archive\n"
msgstr "Muisti loppui luettaessa pitkiä symbolinimiä arkistossa\n"

#: readelf.c:11092
#, c-format
msgid "%s: failed to read long symbol name string table\n"
msgstr "%s: pitkän symbolinimimerkkijonotaulun lukeminen epäonnistui\n"

#: readelf.c:11217
#, c-format
msgid "%s: failed to seek to next file name\n"
msgstr "%s: seuraavan tiedostonimen haku epäonnistui\n"

#: readelf.c:11228 readelf.c:11399
#, c-format
msgid "%s: did not find a valid archive header\n"
msgstr "%s: kelvollista arkisto-otsaketta ei löytynyt\n"

#: readelf.c:11309
#, c-format
msgid "%s: unable to dump the index as none was found\n"
msgstr "%s: ei kyetä vedostamaan indeksiä, koska mitään ei löytynyt\n"

#: readelf.c:11315
#, c-format
msgid "Index of archive %s: (%ld entries, 0x%lx bytes in the symbol table)\n"
msgstr "Arkiston %s indeksi: (%ld alkiota, 0x%lx tavua symbolitaulussa)\n"

#: readelf.c:11333
#, c-format
msgid "Binary %s contains:\n"
msgstr "Binaari %s sisältää:\n"

#: readelf.c:11341
#, c-format
msgid "%s: end of the symbol table reached before the end of the index\n"
msgstr "%s: symbolitaulun loppu tavoitettiin ennen indeksin loppua\n"

#: readelf.c:11352
#, c-format
msgid "%s: symbols remain in the index symbol table, but without corresponding entries in the index table\n"
msgstr "%s: symbolit jäävät indeksisymbolitauluun, mutta ilman vastaavia alkioita indeksitaulussa\n"

#: readelf.c:11357
#, c-format
msgid "%s: failed to seek back to start of object files in the archive\n"
msgstr "%s: objektitiedostojen alkuunpaluun haku arkistossa epäonnistui\n"

#: readelf.c:11385
#, c-format
msgid "%s: failed to seek to next archive header\n"
msgstr "%s: seuraavan arkisto-otsakkeen haku epäonnistui\n"

#: readelf.c:11413 readelf.c:11422
#, c-format
msgid "%s: bad archive file name\n"
msgstr "%s: virheellinen arkistotiedostonimi\n"

#: readelf.c:11441 readelf.c:11517
#, c-format
msgid "Input file '%s' is not readable.\n"
msgstr "Syötetiedosto ”%s” ei ole luettava.\n"

#: readelf.c:11463
#, c-format
msgid "%s: failed to seek to archive member.\n"
msgstr "%s: arkistojäsenen haku epäonnistui.\n"

#: readelf.c:11501
#, c-format
msgid "'%s': No such file\n"
msgstr "”%s”: Tiedostoa ei löydy\n"

#  stat-kutsu tiedostonimellä %s epäonnistui, seurauksena tämä sanoma
#: readelf.c:11503
#, c-format
msgid "Could not locate '%s'.  System error message: %s\n"
msgstr "Tiedostoa ”%s” ei löytynyt. Järjestelmävirhesanoma: %s\n"

#: readelf.c:11510
#, c-format
msgid "'%s' is not an ordinary file\n"
msgstr "”%s” ei ole tavallinen tiedosto\n"

#: readelf.c:11523
#, c-format
msgid "%s: Failed to read file's magic number\n"
msgstr "%s: Tiedoston maagisen numeron lukeminen epäonnistui\n"

#: readelf.c:11535
#, c-format
msgid "File %s is not an archive so its index cannot be displayed.\n"
msgstr "Tiedosto %s ei ole arkisto, joten sen indeksiä ei voi näyttää.\n"

#: rename.c:124
#, c-format
msgid "%s: cannot set time: %s"
msgstr "%s: ei voi asettaa aikaa: %s"

#. We have to clean up here.
#: rename.c:159 rename.c:197
#, c-format
msgid "unable to rename '%s'; reason: %s"
msgstr "tiedoston ”%s” nimeä ei onnistuttu muuttamaan; syy: %s"

#: rename.c:205
#, c-format
msgid "unable to copy file '%s'; reason: %s"
msgstr "tiedostoa ”%s” ei voitu kopioida; syy: %s "

#: resbin.c:120
#, c-format
msgid "%s: not enough binary data"
msgstr "%s: binaaridataa ei ole tarpeeksi"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:136
msgid "null terminated unicode string"
msgstr "null-päätteinen unicode-merkkijono"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:163 resbin.c:169
msgid "resource ID"
msgstr "resurssi-ID"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:208
msgid "cursor"
msgstr "kohdistin"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:239 resbin.c:246
msgid "menu header"
msgstr "valikko-otsake"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:255
msgid "menuex header"
msgstr "menuex-valikko-otsake"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:259
msgid "menuex offset"
msgstr "menuex-valikkosiirros"

#  parametri fatal-tulostukseen
#: resbin.c:264
#, c-format
msgid "unsupported menu version %d"
msgstr "ei-tuettu valikkoversio %d"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:289 resbin.c:304 resbin.c:366
msgid "menuitem header"
msgstr "menuitem-valikkoalkio-otsake"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:396
msgid "menuitem"
msgstr "menuitem-valikkoalkio"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:433 resbin.c:461
msgid "dialog header"
msgstr "valintaikkunaotsake"

#  parametri fatal-tulostukseen
#: resbin.c:451
#, c-format
msgid "unexpected DIALOGEX version %d"
msgstr "odottamaton DIALOGEX-versio %d"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:496
msgid "dialog font point size"
msgstr "valintaikkunan kirjainlajin pistekoko"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:504
msgid "dialogex font information"
msgstr "dialogex-valintaikkunan kirjainlajitietoja"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:530 resbin.c:548
msgid "dialog control"
msgstr "valintaikkunaohjain"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:540
msgid "dialogex control"
msgstr "dialogex-valintaikkunaohjain"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:569
msgid "dialog control end"
msgstr "valintaikkunaohjainloppu"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:581
msgid "dialog control data"
msgstr "valintaikkunaohjaindataa"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:621
msgid "stringtable string length"
msgstr "stringtable-merkkijonopituus"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:631
msgid "stringtable string"
msgstr "stringtable-merkkijono"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:661
msgid "fontdir header"
msgstr "fontdir-otsake"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:675
msgid "fontdir"
msgstr "fontdir"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:692
msgid "fontdir device name"
msgstr "fontdir-laitenimi"

#  alkuosa tulostukseen "%s: not enough binary data". Lainausmerkit lisätty.
#: resbin.c:698
msgid "fontdir face name"
msgstr "”fontdir face”-nimi"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:738
msgid "accelerator"
msgstr "accelerator-rakenne"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:797
msgid "group cursor header"
msgstr "ryhmäkohdistinotsake"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:801 resrc.c:1355
#, c-format
msgid "unexpected group cursor type %d"
msgstr "odottamaton ryhmäkohdistintyyppi %d"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:816
msgid "group cursor"
msgstr "ryhmäkohdistin"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:852
msgid "group icon header"
msgstr "ryhmäkuvakeotsake"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:856 resrc.c:1302
#, c-format
msgid "unexpected group icon type %d"
msgstr "odottamaton ryhmäkuvaketyyppi %d"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:871
msgid "group icon"
msgstr "ryhmäkuvake"

#  parametri fatal-tulostukseen
#: resbin.c:935 resbin.c:1151
msgid "unexpected version string"
msgstr "odottamaton versiomerkkijono"

#  parametri fatal-tulostukseen
#: resbin.c:966
#, c-format
msgid "version length %d does not match resource length %lu"
msgstr "versiopituus %d ei täsmää resurssipituuden %lu kanssa"

#  parametri fatal-tulostukseen
#: resbin.c:970
#, c-format
msgid "unexpected version type %d"
msgstr "odottamaton versiotyyppi %d"

#  parametri fatal-tulostukseen
#: resbin.c:982
#, c-format
msgid "unexpected fixed version information length %ld"
msgstr "odottamaton kiinteä versiotietopituus %ld"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:985
msgid "fixed version info"
msgstr "kiinteä versiotieto"

#  parametri fatal-tulostukseen
#: resbin.c:989
#, c-format
msgid "unexpected fixed version signature %lu"
msgstr "odottamaton kiinteä versioallekirjoitus %lu"

#  parametri fatal-tulostukseen, versiotietoversio on hiukan tautofoninen?
#: resbin.c:993
#, c-format
msgid "unexpected fixed version info version %lu"
msgstr "odottamaton kiinteä versiotietoversio %lu"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:1022
msgid "version var info"
msgstr "version var-tiedot"

#  parametri fatal-tulostukseen
#: resbin.c:1039
#, c-format
msgid "unexpected stringfileinfo value length %ld"
msgstr "odottamaton stringfileinfo-arvopituus %ld"

#  parametri fatal-tulostukseen
#: resbin.c:1049
#, c-format
msgid "unexpected version stringtable value length %ld"
msgstr "odottamaton versio-stringtable-arvopituus %ld"

#  parametri fatal-tulostukseen
#: resbin.c:1083
#, c-format
msgid "unexpected version string length %ld != %ld + %ld"
msgstr "odottamaton versiomerkkijonopituus %ld != %ld + %ld"

#  parametri fatal-tulostukseen
#: resbin.c:1094
#, c-format
msgid "unexpected version string length %ld < %ld"
msgstr "odottamaton versiomerkkijonopituus %ld < %ld"

#  parametri fatal-tulostukseen
#: resbin.c:1111
#, c-format
msgid "unexpected varfileinfo value length %ld"
msgstr "odottamaton varfileinfo-arvopituus %ld"

#  alkuosa tulostukseen "%s: not enough binary data"
#: resbin.c:1130
msgid "version varfileinfo"
msgstr "versio varfileinfo"

#  parametri fatal-tulostukseen
#: resbin.c:1145
#, c-format
msgid "unexpected version value length %ld"
msgstr "odottamaton versioarvopituus %ld"

#: rescoff.c:124
msgid "filename required for COFF input"
msgstr "COFF-syötteeseen vaaditaan tiedostonimi"

#  %s -parametri sisältää COFF-syötetiedoston nimen, resource section-nimi COFF-tiedostossa on aina .rsrc
#: rescoff.c:141
#, c-format
msgid "%s: no resource section"
msgstr "%s: ei resurssilohkoa"

#  ensimmäinen parametri tiedostonimi, toinen parametri virhesanoma
#: rescoff.c:173
#, c-format
msgid "%s: %s: address out of bounds"
msgstr "%s: %s: osoite ei ole lukualueen sisällä"

#  toinen parametri viestissä "%s: %s: osoite ei ole lukualueen sisällä"
#: rescoff.c:190
msgid "directory"
msgstr "hakemisto"

#  toinen parametri viestissä "%s: %s: osoite ei ole lukualueen sisällä"
#: rescoff.c:218
msgid "named directory entry"
msgstr "nimetty hakemistoalkio"

#  toinen parametri viestissä "%s: %s: osoite ei ole lukualueen sisällä"
#: rescoff.c:227
msgid "directory entry name"
msgstr "hakemistoalkion nimi"

#  toinen parametri viestissä "%s: %s: osoite ei ole lukualueen sisällä"
#: rescoff.c:247
msgid "named subdirectory"
msgstr "nimetty alihakemisto"

#  toinen parametri viestissä "%s: %s: osoite ei ole lukualueen sisällä"
#: rescoff.c:255
msgid "named resource"
msgstr "nimetty resurssi"

#  toinen parametri viestissä "%s: %s: osoite ei ole lukualueen sisällä"
#: rescoff.c:270
msgid "ID directory entry"
msgstr "ID-hakemiston alkio"

#  toinen parametri viestissä "%s: %s: osoite ei ole lukualueen sisällä"
#: rescoff.c:287
msgid "ID subdirectory"
msgstr "ID-alihakemisto"

#  toinen parametri viestissä "%s: %s: osoite ei ole lukualueen sisällä"
#: rescoff.c:295
msgid "ID resource"
msgstr "ID-resurssi"

#  fatal-tulosteen parametri
#: rescoff.c:320
msgid "resource type unknown"
msgstr "resurssityyppi tuntematon"

#  toinen parametri viestissä "%s: %s: osoite ei ole lukualueen sisällä"
#: rescoff.c:323
msgid "data entry"
msgstr "data-alkio"

#  toinen parametri viestissä "%s: %s: osoite ei ole lukualueen sisällä"
#: rescoff.c:331
msgid "resource data"
msgstr "resurssidataa"

#  toinen parametri viestissä "%s: %s: osoite ei ole lukualueen sisällä"
#: rescoff.c:336
msgid "resource data size"
msgstr "resurssidatakoko"

#  fatal-tulosteen parametri
#: rescoff.c:431
msgid "filename required for COFF output"
msgstr "COFF-tulosteeseen vaaditaan tiedostonimi"

#  bfd_fatal-tulosteen parametri
#: rescoff.c:715
msgid "can't get BFD_RELOC_RVA relocation type"
msgstr "ei voi saada BFD_RELOC_RVA-uudelleensijoitustyyppiä"

#: resrc.c:262 resrc.c:333
#, c-format
msgid "can't open temporary file `%s': %s"
msgstr "tilapäistä tiedostoa ”%s” ei voi avata: %s"

#: resrc.c:268
#, c-format
msgid "can't redirect stdout: `%s': %s"
msgstr "vakiotulostetta: ”%s” ei voi uudelleenohjata: %s"

#: resrc.c:284
#, c-format
msgid "%s %s: %s"
msgstr "%s %s: %s"

#: resrc.c:329
#, c-format
msgid "can't execute `%s': %s"
msgstr "kohdetta ”%s”: %s ei voi suorittaa"

#: resrc.c:338
#, c-format
msgid "Using temporary file `%s' to read preprocessor output\n"
msgstr "Käytetään tilapäistä tiedostoa ”%s” lukemaan esikääntäjätuloste\n"

#: resrc.c:345
#, c-format
msgid "can't popen `%s': %s"
msgstr "ei voi kutsua popen:ia ”%s”: %s"

#: resrc.c:347
#, c-format
msgid "Using popen to read preprocessor output\n"
msgstr "Käytetään popen:ia lukemaan esikääntäjätuloste\n"

#: resrc.c:413
#, c-format
msgid "Tried `%s'\n"
msgstr "Yritettiin ”%s”\n"

#: resrc.c:424
#, c-format
msgid "Using `%s'\n"
msgstr "Käytetään ”%s”\n"

#: resrc.c:608
msgid "preprocessing failed."
msgstr "esikäsittely epäonnistui."

#  Ensimmäinen parametri errmsg_fmt, toinen parametrit errmsg_arg, kolmas parametri virhenumero muutettuna merkkijonoselitykseksi
#: resrc.c:631
#, c-format
msgid "%s:%d: %s\n"
msgstr "%s:%d: %s\n"

#: resrc.c:639
#, c-format
msgid "%s: unexpected EOF"
msgstr "%s: odottamaton tiedostonloppumerkki"

#  fread-kutsu palautti vähemmän kuin odotettiin
#: resrc.c:688
#, c-format
msgid "%s: read of %lu returned %lu"
msgstr "%s: lukeminen palautti %lu merkistä (vain) %lu"

#  stat on *nix-ympäristön vakiokomentoja (katso: man stat)
#: resrc.c:727 resrc.c:1502
#, c-format
msgid "stat failed on bitmap file `%s': %s"
msgstr "stat-kutsu ei onnistunut bittikarttatiedostossa ”%s”: %s"

#: resrc.c:778
#, c-format
msgid "cursor file `%s' does not contain cursor data"
msgstr "kohdistintiedosto ”%s” ei sisällä kohdistindataa"

#  Ensimmäinen parametri %s sisältää tiedostonimen, parametri %lu sisältää offsetin ja viimeinen %s sisältää stderror(errno)-tyyppisen virheilmoituksen.
#: resrc.c:810 resrc.c:1210
#, c-format
msgid "%s: fseek to %lu failed: %s"
msgstr "%s: fseek-kutsu kohtaan %lu epäonnistui: %s"

#: resrc.c:936
msgid "help ID requires DIALOGEX"
msgstr "ohje-ID vaatii DIALOGEX:n"

#: resrc.c:938
msgid "control data requires DIALOGEX"
msgstr "ohjaindata vaatii DIALOGEX:n"

#  stat on *nix-ympäristön vakiokomentoja (katso: man stat)
#: resrc.c:966
#, c-format
msgid "stat failed on font file `%s': %s"
msgstr "stat-kutsu ei onnistunut kirjasintiedostossa ”%s”: %s"

#: resrc.c:1179
#, c-format
msgid "icon file `%s' does not contain icon data"
msgstr "kuvaketiedosto ”%s” ei sisällä kuvakedataa"

#  stat on *nix-ympäristön vakiokomentoja (katso: man stat)
#: resrc.c:1724 resrc.c:1759
#, c-format
msgid "stat failed on file `%s': %s"
msgstr "stat-kutsu ei onnistunut tiedostossa ”%s”: %s"

#: resrc.c:1940
#, c-format
msgid "can't open `%s' for output: %s"
msgstr "ei voi avata kohdetta ”%s” tulosteeseen: %s"

#: size.c:79
#, c-format
msgid " Displays the sizes of sections inside binary files\n"
msgstr " Näyttää binaaritiedostojen sisäisten lohkojen koot\n"

#: size.c:80
#, c-format
msgid " If no input file(s) are specified, a.out is assumed\n"
msgstr " Jos syötetiedosto(j)a ei ole annettu, a.out on oletussyötetiedostona\n"

#: size.c:81
#, c-format
msgid ""
" The options are:\n"
"  -A|-B     --format={sysv|berkeley}  Select output style (default is %s)\n"
"  -o|-d|-x  --radix={8|10|16}         Display numbers in octal, decimal or hex\n"
"  -t        --totals                  Display the total sizes (Berkeley only)\n"
"            --common                  Display total size for *COM* syms\n"
"            --target=<bfdname>        Set the binary file format\n"
"            @<file>                   Read options from <file>\n"
"  -h        --help                    Display this information\n"
"  -v        --version                 Display the program's version\n"
"\n"
msgstr ""
" Valitsimet ovat:\n"
"  -A|-B     --format={sysv|berkeley}  Valitse tulostetyyli (oletus on %s)\n"
"  -o|-d|-x  --radix={8|10|16}         Näytä numerot oktaali-, desimaali- tai heksadesimaalilukuna\n"
"  -t        --totals                  Näytä kokonaiskoko (vain Berkeley)\n"
"            --common                  Näytä kokonaiskoot kohteille *COM* syms\n"
"            --target=<bfd-nimi>       Aseta binaaritiedoston muoto\n"
"            @<tiedosto>               Lue valitsimet tiedostosta <tiedosto>\n"
"  -h        --help                    Näytä nämä tiedot\n"
"  -v        --version                 Näytä ohjelman versio\n"
"\n"

#: size.c:160
#, c-format
msgid "invalid argument to --format: %s"
msgstr "virheellinen argumentti valitsimelle --format: %s"

#: size.c:187
#, c-format
msgid "Invalid radix: %s\n"
msgstr "Virheellinen kantaluku: %s\n"

#: srconv.c:1731
#, c-format
msgid "Convert a COFF object file into a SYSROFF object file\n"
msgstr "Muuntaa COFF-objektitiedoston SYSROFF-objektitiedostoksi\n"

#  COMMON on lohko,joka sisältää yleisiä symboleja, joille ei ole vielä varattu muistia.
#: srconv.c:1732
#, c-format
msgid ""
" The options are:\n"
"  -q --quick       (Obsolete - ignored)\n"
"  -n --noprescan   Do not perform a scan to convert commons into defs\n"
"  -d --debug       Display information about what is being done\n"
"  @<file>          Read options from <file>\n"
"  -h --help        Display this information\n"
"  -v --version     Print the program's version number\n"
msgstr ""
" Valitsimet ovat:\n"
"  -q --quick       (Vanhentunut - ei oteta huomioon)\n"
"  -n --noprescan   Älä suorita selausta common-lohkojen muuntamiseksi defs-lohkoiksi\n"
"  -d --debug       Näytä tietoja siitä mitä ollaan tekemässä\n"
"  @<tiedosto>      Lue valitsimet tiedostosta <tiedosto>\n"
"  -h --help        Näytä nämä tiedot\n"
"  -v --version     Tulosta ohjelman versionumero\n"

#: srconv.c:1878
#, c-format
msgid "unable to open output file %s"
msgstr "ei voi avata tulostetiedostoa %s"

#: stabs.c:328 stabs.c:1726
msgid "numeric overflow"
msgstr "numeerinen ylivuoto"

#: stabs.c:338
#, c-format
msgid "Bad stab: %s\n"
msgstr "Virheellinen stab: %s\n"

#: stabs.c:346
#, c-format
msgid "Warning: %s: %s\n"
msgstr "Varoitus: %s: %s\n"

#: stabs.c:456
#, c-format
msgid "N_LBRAC not within function\n"
msgstr "N_LBRAC-symboli ei ole funktiossa\n"

#: stabs.c:495
#, c-format
msgid "Too many N_RBRACs\n"
msgstr "Liian monta N_RBRAC-symbolia\n"

#: stabs.c:736
msgid "unknown C++ encoded name"
msgstr "tuntematon C++-koodattu nimi"

#. Complain and keep going, so compilers can invent new
#. cross-reference types.
#: stabs.c:1271
msgid "unrecognized cross reference type"
msgstr "tunnistamaton ristiviitetyyppi"

#. Does this actually ever happen?  Is that why we are worrying
#. about dealing with it rather than just calling error_type?
#: stabs.c:1818
msgid "missing index type"
msgstr "indeksityyppi puuttuu"

#: stabs.c:2134
msgid "unknown virtual character for baseclass"
msgstr "tuntematon virtuaalimerkki kantaluokalle"

#: stabs.c:2152
msgid "unknown visibility character for baseclass"
msgstr "tuntematon näkyvyysmerkki kantaluokalle"

#: stabs.c:2338
msgid "unnamed $vb type"
msgstr "nimeämätön $vb-tyyppi"

#: stabs.c:2344
msgid "unrecognized C++ abbreviation"
msgstr "tunnistamaton C++-lyhenne"

#: stabs.c:2420
msgid "unknown visibility character for field"
msgstr "tuntematon näkyvyysmerkki kentälle"

#: stabs.c:2672
msgid "const/volatile indicator missing"
msgstr "const/volatile-indikaattori puuttuu"

#: stabs.c:2908
#, c-format
msgid "No mangling for \"%s\"\n"
msgstr "Kohdetta ”%s” ei eheytetä\n"

#  N_EXCL tarkoittaa include-tiedostoa, jonka linkkeri on poistanut tarpeettomana (duplikaattina), koska se on jo määritelty kerran jossain toisessa käännösyksikössä. Se on nyt siis exclude-tiedosto, ei include-tiedosto ;-)
#: stabs.c:3208
msgid "Undefined N_EXCL"
msgstr "Määrittelemätön linkkerin poistama include-tiedosto"

#: stabs.c:3288
#, c-format
msgid "Type file number %d out of range\n"
msgstr "Tyyppitiedoston numero %d numeroalueen ulkopuolella\n"

#: stabs.c:3293
#, c-format
msgid "Type index number %d out of range\n"
msgstr "Tyyppi-indeksinumero %d numeroalueen ulkopuolella\n"

#: stabs.c:3372
#, c-format
msgid "Unrecognized XCOFF type %d\n"
msgstr "Tunnistamaton XCOFF-tyyppi %d\n"

#: stabs.c:3664
#, c-format
msgid "bad mangled name `%s'\n"
msgstr "virheellinen runneltu nimi ”%s”\n"

#: stabs.c:3759
#, c-format
msgid "no argument types in mangled string\n"
msgstr "runnellussa merkkijonossa ei ole argumenttityyppejä\n"

#: stabs.c:5113
#, c-format
msgid "Demangled name is not a function\n"
msgstr "Eheytetty nimi ei ole funktio\n"

#  v3 arglist viittaa stabs.c -funktioon stab_demangle_v3_arglist(...). Funktion nimessä v3 tarkoittaa ilmeisesti, että funktion struct demangle_component *arglist -argumentti järjestetään v-muotoiseksi puuksi (three -> tree). Yhden argumentin tyyppi on ei-odotettu, jolloin tulostetaan tämä tuloste.
#: stabs.c:5155
#, c-format
msgid "Unexpected type in v3 arglist demangling\n"
msgstr "Tuntematon tyyppi eheytettäessä puumuotoista argumenttiluetteloa\n"

#: stabs.c:5222
#, c-format
msgid "Unrecognized demangle component %d\n"
msgstr "Tunnistamaton eheytyskomponentti %d\n"

#: stabs.c:5274
#, c-format
msgid "Failed to print demangled template\n"
msgstr "Runnellun mallinteen tulostaminen epäonnistui\n"

#: stabs.c:5354
#, c-format
msgid "Couldn't get demangled builtin type\n"
msgstr "Ei saatu eheytettyä rakenteeseen sisältyvää tyyppiä\n"

#  Lähdekoodissa tutkitaan bfd_boolean -tyyppistä *pvarargs-parametriä ja jos se on NULL, niin tulostetaan alla oleva ilmoitus. Muussa tapauksessa palautetaan parametrin kautta TRUE. Boolean arvo kertoo, ottaako eheytetty metodi vaihtelevan määrän parametrejä vai ei.
#: stabs.c:5403
#, c-format
msgid "Unexpected demangled varargs\n"
msgstr "Odottamaton eheytetty totuusarvo\n"

#: stabs.c:5410
#, c-format
msgid "Unrecognized demangled builtin type\n"
msgstr "Tunnistamaton eheytetty rakenteeseen sisältyvä tyyppi\n"

#: strings.c:201 strings.c:260
#, c-format
msgid "invalid integer argument %s"
msgstr "virheellinen kokonaislukuargumentti %s"

#: strings.c:263
#, c-format
msgid "invalid minimum string length %d"
msgstr "virheellinen minimimerkkijonopituus %d"

#: strings.c:660
#, c-format
msgid " Display printable strings in [file(s)] (stdin by default)\n"
msgstr " Näyttää tulostettavat merkkijonot kohteesta [tiedosto(t)] (oletuksena vakiosyöte)\n"

#  Tämä mahdollistaa vain Big-Endian ja Little-Endian-tavujärjestyksen määrittelyn. Middle-Endian on tuntematon.
#: strings.c:661
#, c-format
msgid ""
" The options are:\n"
"  -a - --all                Scan the entire file, not just the data section\n"
"  -f --print-file-name      Print the name of the file before each string\n"
"  -n --bytes=[number]       Locate & print any NUL-terminated sequence of at\n"
"  -<number>                   least [number] characters (default 4).\n"
"  -t --radix={o,d,x}        Print the location of the string in base 8, 10 or 16\n"
"  -o                        An alias for --radix=o\n"
"  -T --target=<BFDNAME>     Specify the binary file format\n"
"  -e --encoding={s,S,b,l,B,L} Select character size and endianness:\n"
"                            s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit\n"
"  @<file>                   Read options from <file>\n"
"  -h --help                 Display this information\n"
"  -v -V --version           Print the program's version number\n"
msgstr ""
" Valitsimet ovat:\n"
"  -a - --all                  Selaa koko tiedosto, ei vain datalohkoa\n"
"  -f --print-file-name        Tulosta tiedostonimi ennen jokaista merkkijonoa\n"
"  -n --bytes=[numero]         Paikanna & tulosta jokainen NUL-päätteinen\n"
"  -<numero>                     vähintään [numero] merkin sekvenssin (oletuksena 4).\n"
"  -t --radix={o,d,x}          Tulosta merkkijonon paikka kantaluvulla 8, 10 tai 16\n"
"  -o                          Alias kohteelle --radix=o\n"
"  -T --target=<BFD-NIMI>      Määrittele binaaritiedostomuoto\n"
"  -e --encoding={s,S,b,l,B,L} Valitse merkin koko ja tavujärjestystyyppi:\n"
"                              s = 7-bittiä, S = 8-bittiä, {b,l} = 16-bittiä, {B,L} = 32-bitttiä\n"
"  @<tiedosto>                 Lue valitsimet tiedostosta <tiedosto>\n"
"  -h --help                   Näytä nämä tiedot\n"
"  -v -V --version             Tulosta ohjelman versionumero\n"

#: sysdump.c:647
#, c-format
msgid "Print a human readable interpretation of a SYSROFF object file\n"
msgstr "Tulosta luettava tulkinta SYSROFF-objektitiedostosta\n"

#: sysdump.c:648
#, c-format
msgid ""
" The options are:\n"
"  -h --help        Display this information\n"
"  -v --version     Print the program's version number\n"
msgstr ""
" Valitsimet ovat:\n"
"  -h --help        Näytä nämä tiedot\n"
"  -v --version     Tulosta ohjelman versionumero\n"

#: sysdump.c:715
#, c-format
msgid "cannot open input file %s"
msgstr "syötetiedostoa %s ei voi avata"

#: version.c:35
#, c-format
msgid "Copyright 2009 Free Software Foundation, Inc.\n"
msgstr "Copyright 2009 Free Software Foundation, Inc.\n"

#: version.c:36
#, c-format
msgid ""
"This program is free software; you may redistribute it under the terms of\n"
"the GNU General Public License version 3 or (at your option) any later version.\n"
"This program has absolutely no warranty.\n"
msgstr ""
"Tämä ohjelma on vapaa ohjelmisto; voit jakaa sitä edelleen GNU General Public License\n"
"version 3 tai (valintasi mukaan) millä tahansa myöhäisemmän version ehtojen mukaan.\n"
"Tällä ohjelmalla ei ehdottomasti ole mitään takuuta.\n"

#: windmc.c:195
#, c-format
msgid "can't create %s file ,%s' for output.\n"
msgstr "ei voi luoda tiedostoa %s tulosteeseen ”%s”.\n"

#: windmc.c:203
#, c-format
msgid "Usage: %s [option(s)] [input-file]\n"
msgstr "Käyttö: %s [valitsimet] [syötetiedosto]\n"

#: windmc.c:205
#, c-format
msgid ""
" The options are:\n"
"  -a --ascii_in                Read input file as ASCII file\n"
"  -A --ascii_out               Write binary messages as ASCII\n"
"  -b --binprefix               .bin filename is prefixed by .mc filename_ for uniqueness.\n"
"  -c --customflag              Set custom flags for messages\n"
"  -C --codepage_in=<val>       Set codepage when reading mc text file\n"
"  -d --decimal_values          Print values to text files decimal\n"
"  -e --extension=<extension>   Set header extension used on export header file\n"
"  -F --target <target>         Specify output target for endianess.\n"
"  -h --headerdir=<directory>   Set the export directory for headers\n"
"  -u --unicode_in              Read input file as UTF16 file\n"
"  -U --unicode_out             Write binary messages as UFT16\n"
"  -m --maxlength=<val>         Set the maximal allowed message length\n"
"  -n --nullterminate           Automatic add a zero termination to strings\n"
"  -o --hresult_use             Use HRESULT definition instead of status code definition\n"
"  -O --codepage_out=<val>      Set codepage used for writing text file\n"
"  -r --rcdir=<directory>       Set the export directory for rc files\n"
"  -x --xdbg=<directory>        Where to create the .dbg C include file\n"
"                               that maps message ID's to their symbolic name.\n"
msgstr ""
" Valitsimet ovat:\n"
"  -a --ascii_in                Lue syötetiedosto ASCII-tiedostona\n"
"  -A --ascii_out               Kirjoita binaarisanomat ASCII-muodossa\n"
"  -b --binprefix               ”.bin”-tiedostonimillä on ”.mc tiedostonimi_” -prefiksi ainutlaatuisuuden takaamiseksi\n"
"  -c --customflag              Aseta räätälöintiliput sanomille\n"
"  -C --codepage_in=<arvo>      Aseta koodisivu luettaessa mc-tekstitiedostoa\n"
"  -d --decimal_values          Tulosta arvoja tekstitiedostoon desimaalina\n"
"  -e --extension=<extension>   Aseta vientiotsaketiedostossa käytetty otsakelaajennus\n"
"  -F --target <kohde>          Määrittele tulostekohteen tavujärjestystyyppi.\n"
"  -h --headerdir=<hakemisto>   Aseta vientihakemisto otsakkeille\n"
"  -u --unicode_in              Lue syötetiedosto UTF16-tiedostona\n"
"  -U --unicode_out             Kirjoita binaarisanomat UFT16-muodossa\n"
"  -m --maxlength=<arvo>        Aseta sanomapituuden maksimiarvo\n"
"  -n --nullterminate           Lisää automaatisesti nolla merkkijonojen päätemerkiksi\n"
"  -o --hresult_use             Käytä HRESULT-määrittelyä eikä tilakoodimäärittelyä\n"
"  -O --codepage_out=<arvo>     Aseta kirjoitustekstitiedoston koodisivu\n"
"  -r --rcdir=<hakemisto>       Aseta vientihakemisto rc-tiedostoille\n"
"  -x --xdbg=<hakemisto>        Missä luoda .dbg C include-tiedosto,\n"
"                               joka mappaa sanomatunnukset niiden symbolinimeen.\n"

#: windmc.c:225
#, c-format
msgid ""
"  -H --help                    Print this help message\n"
"  -v --verbose                 Verbose - tells you what it's doing\n"
"  -V --version                 Print version information\n"
msgstr ""
"  -H --help                    Tulosta tämä ohje\n"
"  -v --verbose                 Kerro laveasti, mitä olet tekemässä\n"
"  -V --version                 Tulosta versiotiedot\n"

#: windmc.c:296 windres.c:415
#, c-format
msgid "%s: warning: "
msgstr "%s: varoitus: "

#  %s on ilmeisesti tarkoitettu lainausmerkin sisään, ei pilkun ja lainausmerkin
#: windmc.c:297
#, c-format
msgid "A codepage was specified switch ,%s' and UTF16.\n"
msgstr "Koodisivu oli annettu kytkin ”%s” ja UTF16.\n"

#: windmc.c:298
#, c-format
msgid "\tcodepage settings are ignored.\n"
msgstr "\tkoodisivuasetuksia ei oteta huomioon.\n"

#: windmc.c:342
msgid "try to add a ill language."
msgstr "yritä lisätä sairas kieli."

#: windmc.c:1151
#, c-format
msgid "unable to open file ,%s' for input.\n"
msgstr "ei voi avata syötetiedostoa ”%s”.\n"

#: windmc.c:1159
#, c-format
msgid "unable to read contents of %s"
msgstr "kohteen %s sisältöä ei kyetä lukemaan"

#: windmc.c:1171
msgid "input file does not seems to be UFT16.\n"
msgstr "syötetiedosto ei tunnu olevan UFT16-muotoinen.\n"

#: windres.c:220
#, c-format
msgid "can't open %s `%s': %s"
msgstr "ei voi avata kohdetta %s ”%s”: %s"

#: windres.c:394
#, c-format
msgid ": expected to be a directory\n"
msgstr ": otaksuttiin olevan hakemisto\n"

#: windres.c:406
#, c-format
msgid ": expected to be a leaf\n"
msgstr ": otaksuttiin olevan lehti\n"

#: windres.c:417
#, c-format
msgid ": duplicate value\n"
msgstr ": kaksoiskappalearvo\n"

#: windres.c:567
#, c-format
msgid "unknown format type `%s'"
msgstr "tuntematon muototyyppi ”%s”"

#: windres.c:568
#, c-format
msgid "%s: supported formats:"
msgstr "%s: tuetut muodot:"

#  Laitoin ylimääräiset lainausmerkit, jotta väliviiva erottuu selvemmin valitsinmerkistä.
#. Otherwise, we give up.
#: windres.c:651
#, c-format
msgid "can not determine type of file `%s'; use the -J option"
msgstr "tiedoston ”%s” tyyppiä ei voitu määritellä; käytä ”-J”-valitsinta"

#: windres.c:663
#, c-format
msgid "Usage: %s [option(s)] [input-file] [output-file]\n"
msgstr "Käyttö: %s [valitsimet] [syötetiedosto] [tulostetiedosto]\n"

#: windres.c:665
#, c-format
msgid ""
" The options are:\n"
"  -i --input=<file>            Name input file\n"
"  -o --output=<file>           Name output file\n"
"  -J --input-format=<format>   Specify input format\n"
"  -O --output-format=<format>  Specify output format\n"
"  -F --target=<target>         Specify COFF target\n"
"     --preprocessor=<program>  Program to use to preprocess rc file\n"
"  -I --include-dir=<dir>       Include directory when preprocessing rc file\n"
"  -D --define <sym>[=<val>]    Define SYM when preprocessing rc file\n"
"  -U --undefine <sym>          Undefine SYM when preprocessing rc file\n"
"  -v --verbose                 Verbose - tells you what it's doing\n"
"  -c --codepage=<codepage>     Specify default codepage\n"
"  -l --language=<val>          Set language when reading rc file\n"
"     --use-temp-file           Use a temporary file instead of popen to read\n"
"                               the preprocessor output\n"
"     --no-use-temp-file        Use popen (default)\n"
msgstr ""
" Valitsimet ovat:\n"
"  -i --input=<tiedosto>        Nimeä syötetiedosto\n"
"  -o --output=<tiedosto>       Nimeä tulostetiedosto\n"
"  -J --input-format=<muoto>    Määrittele syötemuoto\n"
"  -O --output-format=<muoto>   Määrittele tulostemuoto\n"
"  -F --target=<kohde>          Määrittele COFF-kohde\n"
"     --preprocessor=<ohjelma>  Ohjelma, jota käytetään rc-tiedoston esikäsittelyyn\n"
"  -I --include-dir=<hakemisto> Include-hakemisto rc-tiedoston esikäsittelyssä\n"
"  -D --define <sym>[=<arvo>]   Määrittele symboli SYM, kun rc-tiedostoa esikäsitellään\n"
"  -U --undefine <sym>          Poista SYM-määrittely, kun rc-tiedostoa esikäsitellään\n"
"  -v --verbose                 Laveasti - kertoo mitä se olet tekemässä\n"
"  -c --codepage=<koodisivu>    Määrittele oletuskoodisivu\n"
"  -l --language=<arvo>         Aseta kieli, kun rc-tiedostoa luetaan\n"
"     --use-temp-file           Käytä tilapäistä tiedostoa, ei popen:ia lukemaan\n"
"                               esikääntäjätulostetta\n"
"     --no-use-temp-file        Käytä popen:ia (oletus)\n"

#: windres.c:682
#, c-format
msgid "     --yydebug                 Turn on parser debugging\n"
msgstr "     --yydebug                 Käännä jäsenninvirheenjäljitys päälle\n"

#: windres.c:685
#, c-format
msgid ""
"  -r                           Ignored for compatibility with rc\n"
"  @<file>                      Read options from <file>\n"
"  -h --help                    Print this help message\n"
"  -V --version                 Print version information\n"
msgstr ""
"  -r                           Älä ota huomioon rc-yhteensopivuutta\n"
"  @<tiedosto>                  Lue valitsimet tiedostosta <tiedosto>\n"
"  -h --help                    Tulosta tämä ohje\n"
"  -V --version                 Tulosta versiotiedot\n"

#: windres.c:690
#, c-format
msgid ""
"FORMAT is one of rc, res, or coff, and is deduced from the file name\n"
"extension if not specified.  A single file name is an input file.\n"
"No input-file is stdin, default rc.  No output-file is stdout, default rc.\n"
msgstr ""
"MUOTO on yksi muodoista rc, res tai coff ja päätellään tiedostonimi-\n"
"tarkentimesta, jos muotoa ei ole annettu. Yksi tiedostonimi on\n"
"syötetiedosto, ei syötetiedostoa on vakiosyöte, oletusmuoto on rc.\n"
"Ei tulostetiedostoa on vakiotuloste, oletusmuoto rc.\n"

#: windres.c:848
msgid "invalid codepage specified.\n"
msgstr "annettu virheellinen koodisivu.\n"

#: windres.c:863
msgid "invalid option -f\n"
msgstr "virheellinen valitsin -f\n"

#: windres.c:868
msgid "No filename following the -fo option.\n"
msgstr "Mikään tiedostonimi ei seuraa valitsinta -fo.\n"

#: windres.c:927
#, c-format
msgid "Option -I is deprecated for setting the input format, please use -J instead.\n"
msgstr "Valitsin -I on vanhentunut syötemuodon asetukseen, käytä sen sijaan valitsinta -J.\n"

#: windres.c:1037
msgid "no resources"
msgstr "ei resursseja"

#: wrstabs.c:353 wrstabs.c:1916
#, c-format
msgid "string_hash_lookup failed: %s"
msgstr "string_hash_lookup epäonnistui: %s"

#: wrstabs.c:636
#, c-format
msgid "stab_int_type: bad size %u"
msgstr "stab_int_type: virheellinen koko %u"

#: wrstabs.c:1394
#, c-format
msgid "%s: warning: unknown size for field `%s' in struct"
msgstr "%s: varoitus: kentän ”%s” koko tuntematon struct-rakenteessa"

#~ msgid ""
#~ "The section %s contains:\n"
#~ "\n"
#~ msgstr ""
#~ "Lohko %s sisältää:\n"
#~ "\n"

#~ msgid "Only version 2 and 3 DWARF debug information is currently supported.\n"
#~ msgstr "Vain version 2 ja 3 DWARF-virheenjäljitystietoja tuetaan nykyään.\n"

#~ msgid "Unable to locate entry %lu in the abbreviation table\n"
#~ msgstr "Lyhennetaulusta ei voi paikantaa alkiota %lu\n"

#~ msgid "    %8.8lx %8.8lx %8.8lx (base address)\n"
#~ msgstr "    %8.8lx %8.8lx %8.8lx (perusosoite)\n"

#~ msgid "Range lists in .debug_info section aren't in ascending order!\n"
#~ msgstr "Lukualueluettelot .debug_info-lohkossa eivät ole nousevassa järjestyksessä!\n"

#~ msgid "set .nlmsections flags"
#~ msgstr "aseta .nlmsections-liput"

#~ msgid "can't add section '%s' - it already exists!"
#~ msgstr "lohkoa ”%s” ei voi lisätä - se on jo olemassa!"

#~ msgid "%s: error in %s: %s"
#~ msgstr "%s: virhe kohteessa %s: %s"

#~ msgid "making"
#~ msgstr "tehdään"

#~ msgid "size"
#~ msgstr "koko"

#~ msgid "Copyright 2010 Free Software Foundation, Inc.\n"
#~ msgstr "Copyright 2010 Free Software Foundation, Inc.\n"
