# Finnish messages for m4. # Copyright © 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the m4 package. # Jorma Karvonen , 2010. # msgid "" msgstr "" "Project-Id-Version: m4 1.4o\n" "Report-Msgid-Bugs-To: bug-m4@gnu.org\n" "POT-Creation-Date: 2026-02-06 13:55-0600\n" "PO-Revision-Date: 2010-03-02 22:05+0200\n" "Last-Translator: Jorma Karvonen \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/clean-temp.c:230 #, fuzzy, c-format msgid "cannot find a temporary directory, try setting $TMPDIR" msgstr "tilapäistiedostoa ei voi luoda: %s" #: lib/clean-temp.c:245 #, fuzzy, c-format msgid "cannot create a temporary directory using template \"%s\"" msgstr "tilapäistiedostoa ei voi luoda: %s" #: lib/clean-temp.c:364 #, fuzzy, c-format msgid "cannot remove temporary directory %s" msgstr "tilapäistiedostoa ei voi luoda: %s" #: lib/closein.c:99 #, fuzzy msgid "error closing file" msgstr "virhe suljettaessa tulostiedostoa" #: lib/closeout.c:121 msgid "write error" msgstr "kirjoitusvirhe" #: lib/c-stack.c:190 msgid "program error" msgstr "ohjelmavirhe" #: lib/c-stack.c:191 msgid "stack overflow" msgstr "pinon ylivuoto" #: lib/clean-temp-simple.c:266 #, fuzzy, c-format msgid "cannot remove temporary file %s" msgstr "tilapäistiedostoa ei voi luoda: %s" #: lib/error.c:208 msgid "Unknown system error" msgstr "Tuntematon järjestelmävirhe" #: lib/execute.c:378 lib/spawn-pipe.c:597 lib/wait-process.c:325 #: lib/wait-process.c:396 #, fuzzy, c-format msgid "%s subprocess failed" msgstr "cap_set_proc epäonnistui" #: lib/getopt.c:283 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: valitsin ”%s%s” on moniselitteinen\n" #: lib/getopt.c:289 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: valitsin ”%s%s” on moniselitteinen; vaihtoehdot:" #: lib/getopt.c:323 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: tunnistamaton valitsin ”%s%s”\n" #: lib/getopt.c:349 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: valitsin ”%s%s” ei salli argumenttia\n" #: lib/getopt.c:364 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: valitsin ”%s%s” vaatii argumentin\n" #: lib/getopt.c:624 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: virheellinen valitsin -- ”%c”\n" #: lib/getopt.c:639 lib/getopt.c:685 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: valitsin vaatii argumentin -- ”%c”\n" #: lib/obstack.c:351 lib/obstack.c:353 lib/xalloc-die.c:34 msgid "memory exhausted" msgstr "muisti loppui" #: lib/openat-die.c:38 #, c-format msgid "unable to record current working directory" msgstr "nykyisen työhakemiston kirjaaminen ei onnistu" #: lib/openat-die.c:57 #, c-format msgid "failed to return to initial working directory" msgstr "palaaminen alkuperäiseen työhakemistoon epäonnistui" #: lib/os2-spawn.c:51 #, fuzzy, c-format msgid "_open_osfhandle failed" msgstr "ELF-otsakkeen lukeminen epäonnistui" #: lib/os2-spawn.c:88 #, c-format msgid "cannot restore fd %d: dup2 failed" msgstr "" #. TRANSLATORS: #. Get translations for open and closing quotation marks. #. The message catalog should translate "`" to a left #. quotation mark suitable for the locale, and similarly for #. "'". For example, a French Unicode local should translate #. these to U+00AB (LEFT-POINTING DOUBLE ANGLE #. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE #. QUOTATION MARK), respectively. #. #. If the catalog has no translation, we will try to #. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and #. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the #. current locale is not Unicode, locale_quoting_style #. will quote 'like this', and clocale_quoting_style will #. quote "like this". You should always include translations #. for "`" and "'" even if U+2018 and U+2019 are appropriate #. for your locale. #. #. If you don't know what to put here, please see #. #. and use glyphs suitable for your language. #: lib/quotearg.c:357 msgid "`" msgstr "”" #: lib/quotearg.c:358 msgid "'" msgstr "”" #: lib/regcomp.c:122 msgid "Success" msgstr "Onnistui" #: lib/regcomp.c:125 msgid "No match" msgstr "Ei täsmäystä" #: lib/regcomp.c:128 msgid "Invalid regular expression" msgstr "Virheellinen säännöllinen lauseke" #: lib/regcomp.c:131 msgid "Invalid collation character" msgstr "Virheellinen tietojenkeräysmerkki" #: lib/regcomp.c:134 msgid "Invalid character class name" msgstr "Virheellinen merkkiluokkanimi" #: lib/regcomp.c:137 msgid "Trailing backslash" msgstr "Jälkikenoviiva" #: lib/regcomp.c:140 msgid "Invalid back reference" msgstr "Virheellinen paluuviite" #: lib/regcomp.c:143 msgid "Unmatched [, [^, [:, [., or [=" msgstr "Pariton [, [^, [:, [. tai [=" #: lib/regcomp.c:146 msgid "Unmatched ( or \\(" msgstr "Pariton ( tai \\(" #: lib/regcomp.c:149 msgid "Unmatched \\{" msgstr "Pariton \\{" #: lib/regcomp.c:152 msgid "Invalid content of \\{\\}" msgstr "Virheellinen \\{\\}-sisältö" #: lib/regcomp.c:155 msgid "Invalid range end" msgstr "Virheellinen alueen loppu" #: lib/regcomp.c:158 msgid "Memory exhausted" msgstr "Muisti loppui" #: lib/regcomp.c:161 msgid "Invalid preceding regular expression" msgstr "Virheellinen edeltävä säännöllinen lauseke" #: lib/regcomp.c:164 msgid "Premature end of regular expression" msgstr "Säännöllisen lausekkeen ennenaikainen loppu" #: lib/regcomp.c:167 msgid "Regular expression too big" msgstr "Säännöllinen lauseke on liian suuri" #: lib/regcomp.c:170 msgid "Unmatched ) or \\)" msgstr "Pariton ) tai \\)" #: lib/regcomp.c:650 msgid "No previous regular expression" msgstr "Ei edellistä säännöllistä lauseketta" #: lib/siglist.h:31 msgid "Hangup" msgstr "Linjankatkaisu" #: lib/siglist.h:34 msgid "Interrupt" msgstr "Keskeytys" #: lib/siglist.h:37 msgid "Quit" msgstr "Lopetettu" #: lib/siglist.h:40 msgid "Illegal instruction" msgstr "Virheellinen käsky" #: lib/siglist.h:43 msgid "Trace/breakpoint trap" msgstr "Jäljitys/katkaisupisteansa" #: lib/siglist.h:46 msgid "Aborted" msgstr "Keskeytetty" #: lib/siglist.h:49 msgid "Floating point exception" msgstr "Liukulukupoikkeus" #: lib/siglist.h:52 msgid "Killed" msgstr "Tapettu" #: lib/siglist.h:55 msgid "Bus error" msgstr "Väylävirhe" #: lib/siglist.h:58 msgid "Segmentation fault" msgstr "Muistialueen ylitys" #: lib/siglist.h:61 msgid "Broken pipe" msgstr "Katkennut putki" #: lib/siglist.h:64 msgid "Alarm clock" msgstr "Herätyskello" #: lib/siglist.h:67 msgid "Terminated" msgstr "Päätetty" #: lib/siglist.h:70 msgid "Urgent I/O condition" msgstr "Kiireellinen I/O-ehto" #: lib/siglist.h:73 msgid "Stopped (signal)" msgstr "Pysäytetty (signaali)" #: lib/siglist.h:76 msgid "Stopped" msgstr "Pysäytetty" #: lib/siglist.h:79 msgid "Continued" msgstr "Jatkettu" #: lib/siglist.h:82 msgid "Child exited" msgstr "Lapsi lopetti" #: lib/siglist.h:85 msgid "Stopped (tty input)" msgstr "Pysäytetty (päätteen syöte)" #: lib/siglist.h:88 msgid "Stopped (tty output)" msgstr "Pysäytetty (päätteen tuloste)" #: lib/siglist.h:91 msgid "I/O possible" msgstr "I/O mahdollista" #: lib/siglist.h:94 msgid "CPU time limit exceeded" msgstr "Suoritinaikaraja ylittynyt" #: lib/siglist.h:97 msgid "File size limit exceeded" msgstr "Tiedoston kokoraja ylitetty" #: lib/siglist.h:100 msgid "Virtual timer expired" msgstr "Virtuaaliajastin vanhentunut" #: lib/siglist.h:103 msgid "Profiling timer expired" msgstr "Profilointiajastin vanhentunut" #: lib/siglist.h:106 msgid "Window changed" msgstr "Ikkuna vaihtunut" #: lib/siglist.h:109 msgid "User defined signal 1" msgstr "Käyttäjän määrittelemä signaali 1" #: lib/siglist.h:112 msgid "User defined signal 2" msgstr "Käyttäjän määrittelemä signaali 2" #: lib/siglist.h:117 msgid "EMT trap" msgstr "EMT-ansa" #: lib/siglist.h:120 msgid "Bad system call" msgstr "Virheellinen järjestelmäkutsu" #: lib/siglist.h:123 msgid "Stack fault" msgstr "Pinovirhe" #: lib/siglist.h:126 msgid "Information request" msgstr "Tietopyyntö" #: lib/siglist.h:128 msgid "Power failure" msgstr "Sähkökatko" #: lib/siglist.h:131 msgid "Resource lost" msgstr "Resurssi menetetty" #: lib/spawn-pipe.c:218 lib/spawn-pipe.c:221 #, fuzzy, c-format msgid "cannot create pipe" msgstr "aluelistaa ei voi luoda" #: lib/strsignal.c:114 #, c-format msgid "Real-time signal %d" msgstr "Reaaliaikasignaali %d" #: lib/strsignal.c:118 #, c-format msgid "Unknown signal %d" msgstr "Tuntematon signaali %d" #: lib/version-etc.c:73 #, c-format msgid "Packaged by %s (%s)\n" msgstr "Paketoinut %s (%s)\n" #: lib/version-etc.c:76 #, c-format msgid "Packaged by %s\n" msgstr "Paketoinut %s\n" #. TRANSLATORS: Translate "(C)" to the copyright symbol #. (C-in-a-circle), if this symbol is available in the user's #. locale. Otherwise, do not translate "(C)"; leave it as-is. #: lib/version-etc.c:83 msgid "(C)" msgstr "©" #. TRANSLATORS: The %s placeholder is the web address of the GPL license. #: lib/version-etc.c:88 #, c-format msgid "" "License GPLv3+: GNU GPL version 3 or later <%s>.\n" "This is free software: you are free to change and redistribute it.\n" "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" "Lisenssi GPLv3+: GNU GPL versio 3 tai myöhäisempi <%s>.\n" "Tämä on vapaa ohjelma: voit vapaasti muuttaa ja jakaa sitä edelleen.\n" "Ohjelmalla EI OLE TAKUUTA siinä laajuudessa kuin laki sen sallii.\n" #. TRANSLATORS: %s denotes an author name. #: lib/version-etc.c:105 #, c-format msgid "Written by %s.\n" msgstr "Kirjoittanut %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:109 #, c-format msgid "Written by %s and %s.\n" msgstr "Kirjoittaneet %s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #: lib/version-etc.c:113 #, c-format msgid "Written by %s, %s, and %s.\n" msgstr "Kirjoittaneet %s, %s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:120 #, c-format msgid "" "Written by %s, %s, %s,\n" "and %s.\n" msgstr "" "Kirjoittaneet %s, %s,\n" "%s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:127 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Kirjoittaneet %s, %s, %s,\n" "%s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:134 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, and %s.\n" msgstr "" "Kirjoittaneet %s, %s, %s,\n" "%s, %s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:142 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, and %s.\n" msgstr "" "Kirjoittaneet %s, %s, %s,\n" "%s, %s, %s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:150 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "and %s.\n" msgstr "" "Kirjoittaneet %s, %s,\n" "%s, %s, %s, %s,\n" "%s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:159 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, and %s.\n" msgstr "" "Kirjoittaneet %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s ja %s.\n" #. TRANSLATORS: Each %s denotes an author name. #. You can use line breaks, estimating that each author name occupies #. ca. 16 screen columns and that a screen line has ca. 80 columns. #: lib/version-etc.c:170 #, c-format msgid "" "Written by %s, %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, and others.\n" msgstr "" "Kirjoittaneet %s, %s,\n" "%s, %s, %s, %s,\n" "%s, %s, %s ja muut.\n" #. TRANSLATORS: The placeholder indicates the bug-reporting address #. for this package. Please add _another line_ saying #. "Report translation bugs to <...>\n" with the address for translation #. bugs (typically your translation team's web or email address). #: lib/version-etc.c:248 #, c-format msgid "Report bugs to: %s\n" msgstr "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen: %s\n" #: lib/version-etc.c:250 #, c-format msgid "Report %s bugs to: %s\n" msgstr "Ilmoita %s ohjelmistovioista (englanniksi) osoitteeseen %s\n" #: lib/version-etc.c:254 lib/version-etc.c:256 #, c-format msgid "%s home page: <%s>\n" msgstr "%s -kotisivu: <%s>\n" #: lib/version-etc.c:259 #, c-format msgid "General help using GNU software: <%s>\n" msgstr "Yleisohjeita GNU-ohjelmistojen käyttöön: <%s>\n" #: lib/wait-process.c:266 lib/wait-process.c:298 lib/wait-process.c:357 #, fuzzy, c-format msgid "%s subprocess" msgstr "Prosessia ei ole" #: lib/wait-process.c:317 lib/wait-process.c:386 #, fuzzy, c-format msgid "%s subprocess got fatal signal %d" msgstr "%s: C-esikääntäjä epäonnistui signaalilla %d\n" #: lib/xprintf.c:47 lib/xprintf.c:68 #, fuzzy, c-format msgid "cannot perform formatted output" msgstr "tulostiedostoa ei voi luoda" #: src/builtin.c:264 #, fuzzy, c-format msgid "--warn-macro-sequence: bad regular expression `%s': %s" msgstr "Virheellinen säännöllinen lauseke ”%s”: %s" #: src/builtin.c:298 #, c-format msgid "truncating macro `%s' definition to INT_MAX bytes" msgstr "" #: src/builtin.c:333 #, c-format msgid "Warning: definition of `%s' contains sequence `%s'" msgstr "" #: src/builtin.c:340 #, c-format msgid "error checking --warn-macro-sequence for macro `%s'" msgstr "" #: src/builtin.c:401 #, fuzzy, c-format msgid "Warning: too few arguments to builtin `%s'" msgstr "Varoitus: Liian harvoja argumenttia sisäänrakennetulle ”%s”" #: src/builtin.c:407 #, fuzzy, c-format msgid "Warning: excess arguments to builtin `%s' ignored" msgstr "Varoitus: Ei välitetä lisäargumenteista sisäänrakennetulle ”%s”" #: src/builtin.c:428 src/builtin.c:1155 #, fuzzy, c-format msgid "empty string treated as 0 in builtin `%s'" msgstr "Ei-numeerinen argumentti sisäänrakennettuun ”%s”" #: src/builtin.c:438 src/builtin.c:1285 #, fuzzy, c-format msgid "non-numeric argument to builtin `%s'" msgstr "Ei-numeerinen argumentti sisäänrakennettuun ”%s”" #: src/builtin.c:444 #, fuzzy, c-format msgid "leading whitespace ignored in builtin `%s'" msgstr "Ei-numeerinen argumentti sisäänrakennettuun ”%s”" #: src/builtin.c:448 #, fuzzy, c-format msgid "numeric overflow detected in builtin `%s'" msgstr "Ei-numeerinen argumentti sisäänrakennettuun ”%s”" #: src/builtin.c:566 src/builtin.c:829 src/builtin.c:870 #, fuzzy, c-format msgid "Warning: %s: invalid macro name ignored" msgstr "virheellinen merkki: viestiä ei huomioida" #: src/builtin.c:765 src/builtin.c:877 #, fuzzy, c-format msgid "undefined macro `%s'" msgstr "Määrittelemätön nimi ”%s”" #: src/builtin.c:836 #, fuzzy, c-format msgid "undefined builtin `%s'" msgstr "Määrittelemätön nimi ”%s”" #: src/builtin.c:928 src/builtin.c:2260 #, fuzzy, c-format msgid "builtin `%s' requested by frozen file is not supported" msgstr "muunnos merkistöstä ”%s” ei ole tuettu" #: src/builtin.c:932 #, fuzzy, c-format msgid "Warning: cannot concatenate builtin `%s'" msgstr "Varoitus: Liian harvoja argumenttia sisäänrakennetulle ”%s”" #: src/builtin.c:1003 src/builtin.c:1053 src/builtin.c:1066 src/builtin.c:1101 #, fuzzy, c-format msgid "cannot run command `%s'" msgstr "Ei voi avata putkea komentoon ”%s”" #: src/builtin.c:1089 #, fuzzy msgid "cannot read pipe" msgstr "symbolista linkkiä %s ei voi lukea" #: src/builtin.c:1140 #, c-format msgid "radix %d in builtin `%s' out of range" msgstr "" #: src/builtin.c:1149 #, fuzzy, c-format msgid "negative width to builtin `%s'" msgstr "Negatiivinen leveys kohteeseen eval" #: src/builtin.c:1294 #, fuzzy, c-format msgid "error undiverting `%s'" msgstr "Ei voida kääntää takaisin %s" #: src/builtin.c:1298 #, fuzzy, c-format msgid "cannot undivert `%s'" msgstr "Ei voida kääntää takaisin %s" #: src/builtin.c:1408 src/freeze.c:115 src/m4.c:382 #, c-format msgid "cannot open `%s'" msgstr "tiedostoa ”%s” ei voi avata" #: src/builtin.c:1471 #, fuzzy, c-format msgid "%s: cannot create tempfile `%s'" msgstr "tilapäistiedostoa ei voi luoda: %s" #: src/builtin.c:1507 msgid "recommend using mkstemp instead" msgstr "" #: src/builtin.c:1600 #, fuzzy, c-format msgid "exit status out of range: `%d'" msgstr "UT-siirtymä sallitun välin ulkopuolella" #: src/builtin.c:1726 #, c-format msgid "Debugmode: bad debug flags: `%s'" msgstr "Vianjäljitystila: väärät vianjäljitysliput: ”%s”" #: src/builtin.c:1767 src/m4.c:633 src/m4.c:700 #, fuzzy, c-format msgid "cannot set debug file `%s'" msgstr "syötetiedostoa ”%s” ei voi avata" #: src/builtin.c:2034 #, fuzzy msgid "Warning: \\0 will disappear, use \\& instead in replacements" msgstr "VAROITUS: \\0 häviää, käytä sen sijaan merkintää \\& korvauksissa" #: src/builtin.c:2057 #, c-format msgid "Warning: sub-expression %d not present" msgstr "" #: src/builtin.c:2066 msgid "Warning: trailing \\ ignored in replacement" msgstr "" #: src/builtin.c:2132 #, fuzzy, c-format msgid "bad regular expression: `%s': %s" msgstr "Virheellinen säännöllinen lauseke ”%s”: %s" #: src/builtin.c:2144 src/builtin.c:2214 #, fuzzy, c-format msgid "error matching regular expression `%s'" msgstr "Virhe täsmättäessä säännöllistä lauseketta ”%s”" #: src/builtin.c:2192 src/input.c:795 #, fuzzy, c-format msgid "bad regular expression `%s': %s" msgstr "Virheellinen säännöllinen lauseke ”%s”: %s" #: src/debug.c:136 src/debug.c:157 #, fuzzy msgid "error writing to debug stream" msgstr "Virhe kirjoitettaessa vakiotulosteeseen" #: src/eval.c:485 msgid "Warning: recommend ==, not =, for equality operator" msgstr "" #: src/eval.c:569 #, fuzzy, c-format msgid "bad expression in eval (missing right parenthesis): %s" msgstr "Virheellinen lauseke kohteessa eval (oikea sulje puuttuu): %s" #: src/eval.c:574 #, fuzzy, c-format msgid "bad expression in eval: %s" msgstr "Virheellinen lauseke kohteessa eval: %s" #: src/eval.c:579 #, fuzzy, c-format msgid "bad expression in eval (bad input): %s" msgstr "Virheellinen lauseke kohteessa eval (virheellinen syöte): %s" #: src/eval.c:584 #, fuzzy, c-format msgid "bad expression in eval (excess input): %s" msgstr "Virheellinen lauseke kohteessa eval (lisäsyöte): %s" #: src/eval.c:588 #, fuzzy, c-format msgid "invalid number in eval: %s" msgstr "Jaa nollalla kohteessa eval: %s" #: src/eval.c:592 #, fuzzy, c-format msgid "invalid operator in eval: %s" msgstr "Jaa nollalla kohteessa eval: %s" #: src/eval.c:597 #, fuzzy, c-format msgid "divide by zero in eval: %s" msgstr "Jaa nollalla kohteessa eval: %s" #: src/eval.c:601 #, fuzzy, c-format msgid "modulo by zero in eval: %s" msgstr "Modulo nollalla kohteessa eval: %s" #: src/eval.c:605 #, fuzzy, c-format msgid "negative exponent in eval: %s" msgstr "Virheellinen lauseke kohteessa eval: %s" #: src/format.c:39 src/format.c:63 src/format.c:87 msgid "empty string treated as 0" msgstr "" #: src/format.c:45 src/format.c:69 src/format.c:93 #, fuzzy, c-format msgid "non-numeric argument %s" msgstr "Ei-numeerinen argumentti kohteeseen %s" #: src/format.c:47 src/format.c:71 src/format.c:95 msgid "leading whitespace ignored" msgstr "" #: src/format.c:49 src/format.c:73 src/format.c:97 #, fuzzy msgid "numeric overflow detected" msgstr "Ei-numeerinen argumentti sisäänrakennettuun ”%s”" #: src/format.c:309 #, fuzzy, c-format msgid "Warning: unrecognized specifier in `%s'" msgstr "%s: tunnistamaton valitsin ”%c%s”\n" #: src/freeze.c:157 #, fuzzy msgid "unable to create frozen state" msgstr "Palvelimelle ei voi luoda prosessia" #: src/freeze.c:168 #, fuzzy msgid "expecting line feed in frozen file" msgstr "Odotetaan rivinvaihtoa jäätyneessä tiedostossa" #: src/freeze.c:170 #, fuzzy, c-format msgid "expecting character `%c' in frozen file" msgstr "Odotetaan merkkiä ”%c” jäätyneessä tiedostossa" #: src/freeze.c:216 #, fuzzy msgid "integer overflow in frozen file" msgstr "kokonaisluvun ylivuoto" #: src/freeze.c:258 #, fuzzy msgid "premature end of frozen file" msgstr "Jäätyneen tiedoston ennenaikainen loppu" #: src/freeze.c:271 #, c-format msgid "cannot open %s" msgstr "tiedostoa %s ei voi avata" #: src/freeze.c:286 #, c-format msgid "frozen file version %d greater than max supported of 1" msgstr "" #: src/freeze.c:289 msgid "ill-formed frozen file, version directive expected" msgstr "" #: src/freeze.c:298 #, fuzzy msgid "ill-formed frozen file" msgstr "Vääränmuotoinen jäätynyt tiedosto" #: src/freeze.c:387 #, fuzzy msgid "unable to read frozen state" msgstr "argumentteja ei voi vapauttaa" #: src/input.c:359 #, fuzzy msgid "read error" msgstr "kirjoitusvirhe" #: src/input.c:366 #, fuzzy msgid "error reading file" msgstr "%s: Virhe luettaessa %s\n" #: src/input.c:590 msgid "Warning: end of file treated as newline" msgstr "" #: src/input.c:899 msgid "ERROR: end of file in comment" msgstr "" #: src/input.c:1023 #, fuzzy msgid "ERROR: end of file in string" msgstr "VIRHE: tiedoston loppumerkki EOF merkkijonossa" #. TRANSLATORS: This is a non-ASCII name: The first name is (with #. Unicode escapes) "Ren\u00e9" or (with HTML entities) "René". #. This is a proper name. See the gettext manual, section Names. #: src/m4.c:41 msgid "Rene' Seindal" msgstr "" #: src/m4.c:207 #, fuzzy, c-format msgid "Try `%s --help' for more information." msgstr "Lisätietoja komennolla ”%s --help”.\n" #: src/m4.c:213 #, c-format msgid "Usage: %s [OPTION]... [FILE]...\n" msgstr "Käyttö: %s [VALITSIN]... [TIEDOSTO]...\n" #: src/m4.c:214 #, fuzzy msgid "" "Process macros in FILEs. If no FILE or if FILE is `-', standard input\n" "is read.\n" msgstr "" "\n" "Jos ei ole TIEDOSTOa tai TIEDOSTO on ”-”, luetaan vakiosyötteestä.\n" #: src/m4.c:219 #, fuzzy msgid "" "Mandatory or optional arguments to long options are mandatory or optional\n" "for short options too.\n" msgstr "" "Pakolliset tai valinnaiset argumentit pitkille valitsimille ovat pakollisia " "tai valinnaisia kaikille vastaaville lyhyille valitsimille." #: src/m4.c:224 msgid "" "Operation modes:\n" " --help display this help and exit\n" " --version output version information and exit\n" msgstr "" #: src/m4.c:229 msgid "" " -E, --fatal-warnings once: warnings become errors, twice: stop\n" " execution at first error\n" " -i, --interactive unbuffer output, ignore interrupts\n" " -P, --prefix-builtins force a `m4_' prefix to all builtins\n" " -Q, --quiet, --silent suppress some warnings for builtins\n" msgstr "" #: src/m4.c:236 #, c-format msgid "" " --warn-macro-sequence[=REGEXP]\n" " warn if macro definition matches REGEXP,\n" " default %s\n" msgstr "" #: src/m4.c:242 msgid " -W, --word-regexp=REGEXP use REGEXP for macro name syntax\n" msgstr " -W, --word-regexp=REGEXP käytä REGEXP makronimisyntaksille\n" #: src/m4.c:247 #, fuzzy msgid "" "Preprocessor features:\n" " -D, --define=NAME[=VALUE] define NAME as having VALUE, or empty\n" " -I, --include=DIRECTORY append DIRECTORY to include path\n" " -s, --synclines generate `#line NUM \"FILE\"' lines\n" " -U, --undefine=NAME undefine NAME\n" msgstr "" "\n" "Esiprosessoriominaisuudet:\n" " -I, --include=DIRECTORY hae tämä hakemisto toisen kerran include-" "määrittelyjä varten\n" " -D, --define=NIMI[=ARVO] kirjoita NIMI, jolla on ARVO tai tyhjä\n" " -U, --undefine=NIMI poista builtin-NIMI\n" " -s, --synclines tuota ”#line NO \"FILE\"” rivit\n" #: src/m4.c:255 #, fuzzy, c-format msgid "" "Limits control:\n" " -g, --gnu override -G to re-enable GNU extensions\n" " -G, --traditional suppress all GNU extensions\n" " -H, --hashsize=PRIME set symbol lookup hash table size [%d]\n" " -L, --nesting-limit=NUMBER change nesting limit, 0 for unlimited [%d]\n" msgstr "" "\n" "Rajoitusten valvonta:\n" " -G, --traditional estä kaikki GNU-laajennukset\n" " -H, --hashsize=PRIME aseta symbolin lookup hash-taulun koko\n" " -L, --nesting-limit=NUMERO vaihda keinotekoinen sisennysraja\n" #: src/m4.c:263 #, fuzzy msgid "" "Frozen state files:\n" " -F, --freeze-state=FILE produce a frozen state on FILE at end\n" " -R, --reload-state=FILE reload a frozen state from FILE at start\n" msgstr "" "\n" "Jäädytetyn tilan tiedostot:\n" " -F, --freeze-state=TIEDOSTO tuota jäädytetty tila TIEDOSTOon lopussa\n" " -R, --reload-state=TIEDOSTO hae uudelleen jäädytetty tila TIEDOSTOsta " "alussa\n" #: src/m4.c:269 #, fuzzy msgid "" "Debugging:\n" " -d, --debug[=FLAGS] set debug level (no FLAGS implies `aeq')\n" " --debugfile[=FILE] redirect debug and trace output to FILE\n" " (default stderr, discard if empty string)\n" " -l, --arglength=NUM restrict macro tracing size\n" " -t, --trace=NAME trace NAME when it is defined\n" msgstr "" "\n" "Vianjäljitys:\n" " -d, --debug=[LIPUT] aseta vianjäljitystaso (ilman LIPUT-" "määritystä\n" " sisältää ”aeq”)\n" " -t, --trace=NIMI jäljitä NIMI kun se määritellään\n" " -l, --arglength=NUM rajoita makrojäljityksen kokoa\n" " -o, --error-output=TIEDOSTO ohjaa edelleen vianjäljitys- ja " "jäljitystuloste\n" #: src/m4.c:278 msgid "" "FLAGS is any of:\n" " a show actual arguments\n" " c show before collect, after collect and after call\n" " e show expansion\n" " f say current input file name\n" " i show changes in input files\n" msgstr "" #: src/m4.c:286 msgid "" " l say current input line number\n" " p show results of path searches\n" " q quote values as necessary, with a or e flag\n" " t trace for all macro calls, not only traceon'ed\n" " x add a unique macro call id, useful with c flag\n" " V shorthand for all of the above flags\n" msgstr "" #: src/m4.c:295 msgid "" "If defined, the environment variable `M4PATH' is a colon-separated list\n" "of directories included after any specified by `-I'.\n" msgstr "" #: src/m4.c:300 msgid "" "Exit status is 0 for success, 1 for failure, 63 for frozen file version\n" "mismatch, or whatever value was passed to the m4exit macro.\n" msgstr "" #: src/m4.c:443 #, c-format msgid "internal error detected; please report this bug to <%s>" msgstr "" #: src/m4.c:497 #, c-format msgid "warning: `m4 -%c' may be removed in a future release" msgstr "" #: src/m4.c:504 #, fuzzy, c-format msgid "warning: `m4 %s' is deprecated" msgstr "" "Kutsuminen ’egrep’ käskyllä ei ole enää suositeltavaa, käytä sen sijaan " "käskyä ’grep -E’.\n" #: src/m4.c:580 #, fuzzy, c-format msgid "bad debug flags: `%s'" msgstr "Virheelliset vianjäljitysliput: ”%s”" #: src/m4.c:586 #, fuzzy, c-format msgid "warning: `m4 -e' is deprecated, use `-i' instead" msgstr "" "Kutsuminen ’egrep’ käskyllä ei ole enää suositeltavaa, käytä sen sijaan " "käskyä ’grep -E’.\n" #: src/m4.c:701 msgid "stderr" msgstr "" #: src/macro.c:178 src/macro.c:225 #, fuzzy msgid "Warning: cannot concatenate builtin tokens" msgstr "Varoitus: Liian harvoja argumenttia sisäänrakennetulle ”%s”" #: src/macro.c:205 #, fuzzy msgid "ERROR: end of file in argument list" msgstr "VIRHE: Tiedostonloppumerkki EOF argumenttiluettelossa" #: src/macro.c:348 #, fuzzy, c-format msgid "recursion limit of %d exceeded, use -L to change it" msgstr "VIRHE: Ylitettiin rekursioraja %d, käytä -L sen muuttamiseen" #: src/output.c:178 src/output.c:933 src/output.c:936 #, fuzzy msgid "cannot clean temporary file for diversion" msgstr "VIRHE: Ei voida luoda tilapäistä tiedostoa diversiota varten" #: src/output.c:230 src/output.c:239 src/output.c:273 src/output.c:370 #, fuzzy msgid "cannot create temporary file for diversion" msgstr "VIRHE: Ei voida luoda tilapäistä tiedostoa diversiota varten" #: src/output.c:258 src/output.c:265 src/output.c:277 #, fuzzy msgid "cannot seek within diversion" msgstr "Ei voi suorittaa stat-diversiota" #: src/output.c:350 src/output.c:363 src/output.c:512 src/output.c:768 #, fuzzy msgid "cannot close temporary file for diversion" msgstr "VIRHE: Ei voida luoda tilapäistä tiedostoa diversiota varten" #: src/output.c:484 #, fuzzy msgid "ERROR: cannot flush diversion to temporary file" msgstr "VIRHE: Ei voida flush diversion tilapäiseen tiedostoon" #: src/output.c:579 #, fuzzy msgid "ERROR: copying inserted file" msgstr "VIRHE: Kopioidaan lisättyä tiedostoa" #: src/output.c:851 #, fuzzy msgid "error reading inserted file" msgstr "VIRHE: Luetaan lisättyä tiedostoa" #: src/output.c:1018 #, fuzzy msgid "cannot stat diversion" msgstr "Ei voi suorittaa stat-diversiota" #: src/output.c:1022 #, fuzzy msgid "diversion too large" msgstr "Diversio on liian suuri" #, fuzzy, c-format #~ msgid "unable to display error message" #~ msgstr "argumentteja ei voi vapauttaa" #~ msgid "%s: option `%s' is ambiguous\n" #~ msgstr "%s: valitsin ”%s” ei ole yksiselitteinen\n" #~ msgid "%s: option `--%s' doesn't allow an argument\n" #~ msgstr "%s: valitsin ”--%s” ei salli argumenttia\n" #~ msgid "%s: option `%c%s' doesn't allow an argument\n" #~ msgstr "%s: valitsin ”%c%s” ei salli argumenttia\n" #~ msgid "%s: option `%s' requires an argument\n" #~ msgstr "%s: valitsin ”%s” vaatii argumentin\n" #~ msgid "%s: unrecognized option `--%s'\n" #~ msgstr "%s: tunnistamaton valitsin ”--%s”\n" #, fuzzy #~ msgid "%s: unrecognized option `%c%s'\n" #~ msgstr "%s: tunnistamaton valitsin ”--%s”\n" #~ msgid "%s: illegal option -- %c\n" #~ msgstr "%s: virheellinen valitsin -- %c\n" #~ msgid "%s: invalid option -- %c\n" #~ msgstr "%s: virheellinen valitsin -- %c\n" #~ msgid "%s: option requires an argument -- %c\n" #~ msgstr "%s: valitsin vaatii argumentin -- %c\n" #~ msgid "%s: option `-W %s' is ambiguous\n" #~ msgstr "%s: valitsin ”-W %s” ei ole yksiselitteinen\n" #~ msgid "%s: option `-W %s' doesn't allow an argument\n" #~ msgstr "%s: valitsin ”-W %s” ei salli argumenttia\n" #~ msgid "Unmatched [ or [^" #~ msgstr "Pariton [ tai [^" #~ msgid "INTERNAL ERROR: Bad token data type in define_macro ()" #~ msgstr "SISÄINEN VIRHE: Väärä merkkijonodatatyyppi makrossa define_macro ()" #~ msgid "Undefined name %s" #~ msgstr "Määrittelemätön nimi %s" #~ msgid "INTERNAL ERROR: Builtin not found in builtin table!" #~ msgstr "SISÄINEN VIRHE: Builtin ei löytynyt builtin-taulussa!" #~ msgid "INTERNAL ERROR: Bad token data type in m4_dumpdef ()" #~ msgstr "SISÄINEN VIRHE: Väärä merkkijonodatatyyppi funktiossa m4_dumpdef ()" #, fuzzy #~ msgid "Undefined name `%s'" #~ msgstr "Määrittelemätön nimi %s" #~ msgid "INTERNAL ERROR: Bad symbol type in m4_defn ()" #~ msgstr "SISÄINEN VIRHE: Väärä symbolityyppi funktiossa m4_defn ()" #~ msgid "Radix in eval out of range (radix = %d)" #~ msgstr "Kantaluku kohteessa eval alueen ulkopuolella (kantaluku = %d)" #~ msgid "Undefined syntax code %c" #~ msgstr "Määrittelemätön syntaksikoodi %c" #~ msgid "Cannot open %s" #~ msgstr "Ei voi avata %s" #~ msgid "Cannot set error file: %s" #~ msgstr "Ei voi asettaa virhetiedostoa: %s" #, fuzzy #~ msgid "Bad regular expression `%s': %s" #~ msgstr "Virheellinen säännöllinen lauseke ”%s”: %s" #~ msgid "INTERNAL ERROR: Builtin not found in builtin table! (trace_pre ())" #~ msgstr "" #~ "SISÄINEN VIRHE: Builtin ei löytynyt builtin-taulussa! (trace_pre ())" #~ msgid "INTERNAL ERROR: Bad token data type (trace_pre ())" #~ msgstr "SISÄINEN VIRHE: Väärä merkkijonodatatyyppi (trace_pre ())" #~ msgid "INTERNAL ERROR: Bad error code in evaluate ()" #~ msgstr "SISÄINEN VIRHE: Virheellinen koodi funktiossa evaluate ()" #~ msgid "INTERNAL ERROR: Bad comparison operator in cmp_term ()" #~ msgstr "" #~ "SISÄINEN VIRHE: Virheellinen vertailuoperaattori funktiossa cmp_term ()" #~ msgid "INTERNAL ERROR: Bad shift operator in shift_term ()" #~ msgstr "" #~ "SISÄINEN VIRHE: Virheellinen siirto-operaattori funktiossa shift_term ()" #~ msgid "INTERNAL ERROR: Bad operator in mult_term ()" #~ msgstr "SISÄINEN VIRHE: Virheellinen operaattori funktiossa mult_term ()" #~ msgid "INTERNAL ERROR: Built-in not found in builtin table!" #~ msgstr "SISÄINEN VIRHE: Built-in ei löytynyt builtin-taulussa!" #~ msgid "INTERNAL ERROR: Bad token data type in freeze_one_symbol ()" #~ msgstr "" #~ "SISÄINEN VIRHE: Virheellinen merkkijonodatatyyppi funktiossa " #~ "freeze_one_symbol ()" #~ msgid "`%s' from frozen file not found in builtin table!" #~ msgstr "”%s” jäätyneestä tiedostosta ei löytynyt builtin-taulua!" #~ msgid "Input reverted to %s, line %d" #~ msgstr "Syöte käänteisesti kohteeseen %s, rivi %d" #~ msgid "Input read from %s" #~ msgstr "Syöte luettiin kohteesta %s" #~ msgid "INTERNAL ERROR: Recursive push_string!" #~ msgstr "SISÄINEN VIRHE: Rekursiivinen push_string!" #~ msgid "INTERNAL ERROR: Bad call to init_macro_token ()" #~ msgstr "SISÄINEN VIRHE: Virheellinen kutsu funktioon init_macro_token ()" #~ msgid "INTERNAL ERROR: Input stack botch in next_char ()" #~ msgstr "SISÄINEN VIRHE: Syötepino botch funktiossa next_char ()" #~ msgid "INTERNAL ERROR: Input stack botch in peek_input ()" #~ msgstr "SISÄINEN VIRHE: Syötepino botch funktiossa peek_input ()" #~ msgid "NONE" #~ msgstr "EI MITÄÄN" #~ msgid "ERROR: Stack overflow. (Infinite define recursion?)" #~ msgstr "VIRHE: Pinon ylivuoto. (Päättymätön define-rekursio?)" #~ msgid "" #~ "Mandatory or optional arguments to long options are mandatory or " #~ "optional\n" #~ "for short options too.\n" #~ "\n" #~ "Operation modes:\n" #~ " --help display this help and exit\n" #~ " --version output version information and exit\n" #~ " -e, --interactive unbuffer output, ignore interrupts\n" #~ " -E, --fatal-warnings stop execution after first warning\n" #~ " -Q, --quiet, --silent suppress some warnings for builtins\n" #~ " -P, --prefix-builtins force a `m4_' prefix to all builtins\n" #~ msgstr "" #~ "Pakolliset tai valinnaiset argumentit pitkille valitsimille ovat " #~ "pakollisia\n" #~ "tai valinnaisia myös lyhyille valitsimille.\n" #~ "\n" #~ "Toimintotilat:\n" #~ " --help näytä tämä ohje ja poistu\n" #~ " --version tulosta versiotiedot ja poistu\n" #~ " -e, --interactive puskuroimaton tuloste, älä välitä " #~ "keskeytyksistä\n" #~ " -E, --fatal-warnings pysäytä suoritus ensimmäisen varoituksen " #~ "jälkeen\n" #~ " -Q, --quiet, --silent estä jotkut varoitukset kohteelle " #~ "builtins\n" #~ " -P, --prefix-builtins pakota ”m4_”-etuliite kaikkiin builtins-" #~ "kohteisiin\n" #~ msgid "" #~ "\n" #~ "Dynamic loading features:\n" #~ " -m, --module-directory=DIRECTORY add DIRECTORY to the module search " #~ "path\n" #~ " -M, --load-module=MODULE load dynamic MODULE from M4MODPATH\n" #~ msgstr "" #~ "\n" #~ "Dynaamiset latausominaisuudet:\n" #~ " -m, --module-directory=DIRECTORY lisää DIRECTORY-hakemisto moduulin " #~ "etsintäpolkuun\n" #~ " -M, --load-module=MODULE lataa dynaaminen MODULE-moduuli " #~ "kohteesta M4MODPATH\n" #~ msgid "" #~ "\n" #~ "FLAGS is any of:\n" #~ " t trace for all macro calls, not only traceon'ed\n" #~ " a show actual arguments\n" #~ " e show expansion\n" #~ " q quote values as necessary, with a or e flag\n" #~ " c show before collect, after collect and after call\n" #~ " x add a unique macro call id, useful with c flag\n" #~ " f say current input file name\n" #~ " l say current input line number\n" #~ " p show results of path searches\n" #~ " i show changes in input files\n" #~ " V shorthand for all of the above flags\n" #~ msgstr "" #~ "\n" #~ "LIPUT on mikä tahansa seuraavista:\n" #~ " t jäljitä kaikki makrokutsut, ei vain silloin kun jäljitys on päällä\n" #~ " a näytä todelliset argumentit\n" #~ " e näytä laajennus\n" #~ " q lainaa arvot milloin välttämätöntä, ”a”- tai ”e”-lipulla\n" #~ " c näytä ennen collect-toimintoa, sen jälkeen ja kutsun jälkeenl\n" #~ " x lisää uniikki makrokutsutunniste, hyödyllinen c-lipun kanssa\n" #~ " f sano nykyinen syötetiedostonimi\n" #~ " l sano nykyinen syöterivinumero\n" #~ " p näytä polkuetsinnän tulokset\n" #~ " i näytä muutokset syötetiedostoissa\n" #~ " V lyhenne kaikille yllä oleville lipuille\n" #~ msgid "" #~ "\n" #~ "Report bugs to .\n" #~ msgstr "" #~ "\n" #~ "Ilmoita virheistä (englanniksi) osoitteeseen .\n" #~ "Ilmoita suomennoksen virheistä osoitteeseen .\n" #~ msgid "ERROR: failed to add search directory `%s'" #~ msgstr "VIRHE: etsintähakemiston ”%s” lisäys epäonnistui" #~ msgid "ERROR: failed to add search directory `%s': %s" #~ msgstr "VIRHE: etsintähakemiston lisäys epäonnistui ”%s”: %s" #~ msgid " (options:" #~ msgstr " (valitsimet:" #~ msgid "INTERNAL ERROR: Bad code in deferred arguments" #~ msgstr "" #~ "SISÄINEN VIRHE: Virheellinen koodi uudelleenviitatuissa argumenteissa" #~ msgid "INTERNAL ERROR: Bad token type in expand_token ()" #~ msgstr "" #~ "SISÄINEN VIRHE: Virheellinen merkkijonotyyppi funktiossa expand_token ()" #~ msgid "INTERNAL ERROR: Bad token type in expand_argument ()" #~ msgstr "" #~ "SISÄINEN VIRHE: Virheellinen merkkijonotyyppi funktiossa expand_argument " #~ "()" #~ msgid "INTERNAL ERROR: Bad symbol type in call_macro ()" #~ msgstr "SISÄINEN VIRHE: Virheellinen symbolityyppi funktiossa call_macro ()" #~ msgid "ERROR: failed to initialise modules: %s" #~ msgstr "VIRHE: moduulien alustus epäonnistui: %s" #~ msgid "ERROR: cannot find module: `%s'" #~ msgstr "VIRHE: ei löydy moduulia: ”%s”" #~ msgid "ERROR: cannot find module: `%s': %s" #~ msgstr "VIRHE: ei löydy moduuleja: ”%s”: %s" #~ msgid "ERROR: cannot close modules" #~ msgstr "VIRHE: ei voi sulkea moduuleja" #~ msgid "ERROR: cannot cannot close modules: %s" #~ msgstr "VIRHE: ei voida sulkea moduuleja: %s" #~ msgid "ERROR: cannot close module: `%s'" #~ msgstr "VIRHE: ei voida sulkea moduulia: ”%s”" #~ msgid "ERROR: cannot cannot close module: `%s': %s" #~ msgstr "VIRHE: ei voida sulkea moduulia: ”%s”: %s" #, fuzzy #~ msgid "ERROR: Cannot create temporary file for diversion" #~ msgstr "VIRHE: Ei voida luoda tilapäistä tiedostoa diversiota varten" #, fuzzy #~ msgid "ERROR: Reading inserted file" #~ msgstr "VIRHE: Kopioidaan lisättyä tiedostoa" #~ msgid "Path search for `%s' found `%s'" #~ msgstr "Polkuetsintä kohteelle ”%s” löysi ”%s”" #~ msgid "VMEM limit exceeded?\n" #~ msgstr "VMEM-raja ylitetty?\n" #~ msgid "" #~ "Memory bounds violation detected (SIGSEGV). Either a stack overflow\n" #~ "occurred, or there is a bug in " #~ msgstr "" #~ "Muistirajojen ylittäminen havaittu (SIGSEGV). Tapahtui joko pinon " #~ "ylivuoto\n" #~ "tai sitten on virhe kohteessa " #~ msgid ". Check for possible infinite recursion.\n" #~ msgstr ". Tarkista mahdollinen päättymätön rekursiivisuus.\n" #~ msgid "INTERNAL ERROR: Illegal mode to symbol_lookup ()" #~ msgstr "SISÄINEN VIRHE: Virheellinen tila funktiolle symbol_lookup ()" #~ msgid "Name `%s' is unknown\n" #~ msgstr "Nimi ”%s” on tuntematon\n"