# Finnish messages for cpplib.
# Copyright © 2010, 2012, 2013, 2014, 2015, 2016, 2018, 2019 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
# Jorma Karvonen <karvonen.jorma@gmail.com>, 2010, 2012-2015.
# Lauri Nurmi <lanurmi@iki.fi>, 2016, 2018, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: cpplib 10.1-b20200209\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
"POT-Creation-Date: 2021-02-05 21:38+0000\n"
"PO-Revision-Date: 2020-02-11 17:27+0200\n"
"Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\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"
"X-Generator: Poedit 2.3\n"

#: charset.c:677
#, c-format
msgid "conversion from %s to %s not supported by iconv"
msgstr "iconv ei tue muunnosta %s -> %s"

#: charset.c:680
msgid "iconv_open"
msgstr "iconv_open"

#: charset.c:688
#, c-format
msgid "no iconv implementation, cannot convert from %s to %s"
msgstr "ei iconv-toteutusta, muunnosta %s -> %s ei voida suorittaa"

#: charset.c:784
#, c-format
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "merkki 0x%lx ei ole peruslähdemerkistössä\n"

#: charset.c:801 charset.c:1771
msgid "converting to execution character set"
msgstr "muunnetaan suoritusmerkistöön"

#: charset.c:807
#, c-format
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "merkki 0x%lx ei ole yksitavuinen suoritusmerkistössä"

#: charset.c:1057
msgid "universal character names are only valid in C++ and C99"
msgstr "universaalit merkkinimet ovat kelvollisia vai C++:ssa ja C99:ssä"

#: charset.c:1061
msgid "C99's universal character names are incompatible with C90"
msgstr "C99:n universaalit merkkinimet ovat epäyhteensopivia C90:n kanssa"

#: charset.c:1064
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "’\\%c’:lla on eri merkitys perinteisessä C:ssä"

#  UCN tarkoittaa Universal Character Names ja se sallii minkä tahansa kirjaimen käyttämisen C-lähdekielessä, ei vain englanninkielen kirjainten käytön. Merkki voidaan ilmaista joko kenoviivalla, sitä seuraavalla pienellä u-kirjaimella ja nelinumeroisella heksadesimaaliluvulla tai kenoviivaa seuraavalla suurella U-kirjaimella ja kahdeksannumeroisella heksadesimaaliluvulla.
#: charset.c:1073
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Funktiossa _cpp_valid_ucn mutta ei ole UCN"

#: charset.c:1106
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "vaillinainen universaali merkkinimi %.*s"

#: charset.c:1121
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s ei ole kelvollinen universaali merkki"

#: charset.c:1131 lex.c:1335
msgid "'$' in identifier or number"
msgstr "’$’ tunnisteessa tai lukuarvossa"

#: charset.c:1141
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universaali merkki %.*s ei ole kelvollinen tunniste"

#: charset.c:1145
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universaali merkki %.*s ei ole kelvollinen tunnisteen alussa"

#: charset.c:1152
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr "%.*s on UCS-koodiston ulkopuolella"

#: charset.c:1197 charset.c:2116
msgid "converting UCN to source character set"
msgstr "muunnetaan UCN lähdemerkistöön"

#: charset.c:1204
msgid "converting UCN to execution character set"
msgstr "muunnetaan UCN suoritusmerkistöön"

#: charset.c:1268
#, c-format
msgid "extended character %.*s is not valid in an identifier"
msgstr "laajennettu merkki %.*s ei ole kelvollinen tunniste"

#: charset.c:1285
#, c-format
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "laajennettu merkki %.*s ei ole kelvollinen tunnisteen alussa"

#: charset.c:1371
msgid "the meaning of '\\x' is different in traditional C"
msgstr "’\\%x’:lla on eri merkitys perinteisessä C:ssä"

#: charset.c:1396
msgid "\\x used with no following hex digits"
msgstr "\\x:ää käytetty ilman seuraavia heksanumeroita"

#: charset.c:1403
msgid "hex escape sequence out of range"
msgstr "heksadesimaalinen ohjaussarja sallitun välin ulkopuolella"

#: charset.c:1455
msgid "octal escape sequence out of range"
msgstr "oktaalinen ohjaussarja sallitun välin ulkopuolella"

#: charset.c:1537
msgid "the meaning of '\\a' is different in traditional C"
msgstr "’\\a’:lla on eri merkitys perinteisessä C:ssä"

#: charset.c:1544
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "ISO-standardiin kuulumaton ohjaussarja ’\\%c’"

#: charset.c:1552
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "tuntematon ohjaussarja ’\\%c’"

#: charset.c:1560
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "tuntematon ohjaussarja ’\\%s’"

#: charset.c:1568
msgid "converting escape sequence to execution character set"
msgstr "muunnetaan ohjaussarja suoritusmerkistöön"

#: charset.c:1708
msgid "missing open quote"
msgstr "avautuva sulje puuttuu"

#: charset.c:1926 charset.c:2005
msgid "character constant too long for its type"
msgstr "merkkivakio on liian pitkä tyypilleen"

#: charset.c:1929
msgid "multi-character character constant"
msgstr "monimerkkinen merkkivakio"

#: charset.c:2045
msgid "empty character constant"
msgstr "tyhjä merkkivakio"

#: charset.c:2163
#, c-format
msgid "failure to convert %s to %s"
msgstr "muunnos %s -> %s epäonnistui"

#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "ylimääräisiä merkkejä #%s-direktiivin lopussa"

#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s on GCC-laajennos"

#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s on vanhentunut GCC-laajennos"

#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "ehdotetaan #elif:in käytön välttämistä perinteisessä C:ssä"

#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "#%s ohitetaan perinteisessä C:ssä kun # on sisennetty"

#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "ehdotetaan #%s:n piilottamista perinteiseltä C:ltä sisentämällä #"

#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "direktiivin upottaminen makroargumenttien sisälle ei ole siirrettävää"

#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "rividirektiivin tyyli on GCC-laajennos"

#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "virheellinen esikääntäjän direktiivi #%s"

#: directives.c:601
#, c-format
msgid "\"%s\" cannot be used as a macro name"
msgstr "”%s” ei ole kelvollinen makron nimi"

#: directives.c:608
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "”%s” ei ole kelvollinen makron nimi, sillä se on C++:n operaattori"

#: directives.c:611
#, c-format
msgid "no macro name given in #%s directive"
msgstr "makron nimeä ei ole annettu #%s-direktiivissä"

#: directives.c:614
msgid "macro names must be identifiers"
msgstr "makrojen nimien on oltava tunnisteita"

#: directives.c:663 directives.c:668
#, c-format
msgid "undefining \"%s\""
msgstr "kumotaan määrittely ”%s”"

#: directives.c:725
msgid "missing terminating > character"
msgstr "päättävä >-merkki puuttuu"

#: directives.c:784
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s odottaa argumenttia \"TIEDOSTONIMI\" tai <TIEDOSTONIMI>"

#: directives.c:830
#, c-format
msgid "empty filename in #%s"
msgstr "tyhjä tiedostonimi direktiivissä #%s"

#: directives.c:839
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr "#include-sisäkkäisyyssyvyys %u ylittää maksimin %u (valitsin -fmax-include-depth=SYVYYS suurentaa maksimia)"

#: directives.c:884
msgid "#include_next in primary source file"
msgstr "#include_next ensisijaisessa lähdetiedostossa"

#: directives.c:910
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "virheellinen lippu ”%s” rividirektiivissä"

#: directives.c:970
msgid "unexpected end of file after #line"
msgstr "odottamaton tiedoston loppu #line-direktiivin jälkeen"

#: directives.c:973
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "#line:n jälkeinen ”%s”  ei ole positiivinen kokonaisluku"

#: directives.c:979 directives.c:981
msgid "line number out of range"
msgstr "rivinumero sallitun välin ulkopuolella"

#: directives.c:994 directives.c:1075
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "”%s” ei ole kelvollinen tiedostonimi"

#: directives.c:1035
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "#:n jälkeinen ”%s” ei ole positiivinen kokonaisluku"

#: directives.c:1102
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "tiedoston ”%s” rivinmerkitsin jätetään huomiotta virheellisen sisäkkäisyyden vuoksi"

#: directives.c:1180 directives.c:1182 directives.c:1184 directives.c:1772
#, c-format
msgid "%s"
msgstr "%s"

#: directives.c:1208
#, c-format
msgid "invalid #%s directive"
msgstr "virheellinen #%s-direktiivi"

#: directives.c:1271
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "rekisteröidään pragmat nimiavaruudessa ”%s” epäsopivalla nimenlavennuksella"

#: directives.c:1280
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "rekisteröidään pragma ”%s” nimenlavennuksella ja ilman nimiavaruutta"

#: directives.c:1298
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "rekisteröidään ”%s” sekä pragmana että pragma-nimiavaruutena"

#: directives.c:1301
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s on jo rekisteröity"

#: directives.c:1304
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s on jo rekisteröity"

#: directives.c:1334
msgid "registering pragma with NULL handler"
msgstr "rekisteröidään pragma NULL-käsittelijällä"

#: directives.c:1551
msgid "#pragma once in main file"
msgstr "#pragma once päätiedostossa"

#: directives.c:1574
msgid "invalid #pragma push_macro directive"
msgstr "virheellinen #pragma push_macro -direktiivi"

#: directives.c:1631
msgid "invalid #pragma pop_macro directive"
msgstr "virheellinen #pragma pop_macro -direktiivi"

#  poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
#: directives.c:1686
msgid "invalid #pragma GCC poison directive"
msgstr "virheellinen #pragma GCC poison -direktiivi"

#: directives.c:1695
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "myrkytetään olemassa oleva makro ”%s”"

#: directives.c:1714
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ohitetaan otsaketiedoston ulkopuolella"

#: directives.c:1739
#, c-format
msgid "cannot find source file %s"
msgstr "lähdetiedostoa %s ei löydy"

#: directives.c:1743
#, c-format
msgid "current file is older than %s"
msgstr "nykyinen tiedosto on vanhempi kuin %s"

#: directives.c:1767
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "virheellinen ”#pragma GCC %s” -direktiivi"

#: directives.c:1968
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma ottaa sulkeilla ympäröidyn merkkijonoliteraalin"

#: directives.c:2051
msgid "#else without #if"
msgstr "#else ilman #if:iä"

#: directives.c:2056
msgid "#else after #else"
msgstr "#else #else:n jälkeen"

#: directives.c:2058 directives.c:2091
msgid "the conditional began here"
msgstr "ehtolause alkoi tästä"

#: directives.c:2084
msgid "#elif without #if"
msgstr "#elif ilman #if:iä"

#: directives.c:2089
msgid "#elif after #else"
msgstr "#elif #else:n jälkeen"

#: directives.c:2120
msgid "#endif without #if"
msgstr "#endif ilman #if:iä"

#: directives.c:2196
msgid "missing '(' after predicate"
msgstr "’(’ puuttuu predikaatin jäljestä"

#: directives.c:2214
msgid "missing ')' to complete answer"
msgstr "’)’ puuttuu vastauksen täydentämisestä"

#: directives.c:2226
msgid "predicate's answer is empty"
msgstr "predikaatin vastaus on tyhjä"

#: directives.c:2256
msgid "assertion without predicate"
msgstr "väite ilman predikaattia"

#: directives.c:2259
msgid "predicate must be an identifier"
msgstr "predikaatin on oltava tunniste"

#: directives.c:2341
#, c-format
msgid "\"%s\" re-asserted"
msgstr "”%s” väitetty uudelleen"

#: directives.c:2659
#, c-format
msgid "unterminated #%s"
msgstr "päättämätön #%s"

#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"

#: errors.c:304
msgid "stdout"
msgstr "vakiotuloste"

#: expr.c:636 expr.c:753
msgid "fixed-point constants are a GCC extension"
msgstr "kiintopistevakiot ovat GCC-laajennos"

#: expr.c:661
msgid "invalid prefix \"0b\" for floating constant"
msgstr "virheellinen etuliite ”0b” liukulukuvakiolle"

#: expr.c:674
msgid "use of C++17 hexadecimal floating constant"
msgstr "C++17:n heksadesimaaliliukulukuvakion käyttö"

#: expr.c:677
msgid "use of C99 hexadecimal floating constant"
msgstr "C99:n heksadesimaaliliukulukuvakion käyttö"

#: expr.c:721
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "virheellinen loppuliite ”%.*s” liukulukuvakiolla"

#: expr.c:732 expr.c:799
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "perinteinen C ei salli ”%.*s”-loppuliitettä"

#: expr.c:740
msgid "suffix for double constant is a GCC extension"
msgstr "loppuliite double-vakiolle on GCC-laajennos"

#: expr.c:746
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "virheellinen loppuliite ”%.*s” heksadesimaalisella liukulukuvakiolla"

#: expr.c:759 expr.c:763
msgid "decimal float constants are a C2X feature"
msgstr "desimaali-float-vakiot ovat C2X-ominaisuus"

#: expr.c:782
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "virheellinen loppuliite ”%.*s” kokonaislukuvakiolla"

#: expr.c:807
msgid "use of C++11 long long integer constant"
msgstr "C++11:n long long -kokonaislukuvakion käyttö"

#: expr.c:808
msgid "use of C99 long long integer constant"
msgstr "C99:n long long -kokonaislukuvakion käyttö"

#: expr.c:822
#, fuzzy
#| msgid "use of C++11 long long integer constant"
msgid "use of C++23 %<size_t%> integer constant"
msgstr "C++11:n long long -kokonaislukuvakion käyttö"

#: expr.c:823
#, fuzzy
#| msgid "use of C++11 long long integer constant"
msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
msgstr "C++11:n long long -kokonaislukuvakion käyttö"

#: expr.c:834
msgid "imaginary constants are a GCC extension"
msgstr "imaginäärivakiot ovat GCC-laajennos"

#: expr.c:841
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binäärivakiot ovat C++14:n ominaisuus tai GCC-laajennos"

#: expr.c:843
#, fuzzy
#| msgid "binary constants are a C++14 feature or GCC extension"
msgid "binary constants are a C2X feature or GCC extension"
msgstr "binäärivakiot ovat C++14:n ominaisuus tai GCC-laajennos"

#: expr.c:848
#, fuzzy
#| msgid "decimal float constants are a C2X feature"
msgid "binary constants are a C2X feature"
msgstr "desimaali-float-vakiot ovat C2X-ominaisuus"

#: expr.c:944
msgid "integer constant is too large for its type"
msgstr "kokonaislukuvakio on liian suuri tyypilleen"

#: expr.c:975
msgid "integer constant is so large that it is unsigned"
msgstr "kokonaislukuvakio on niin suuri, että se on etumerkitön"

#: expr.c:1070
msgid "missing ')' after \"defined\""
msgstr "’)’ puuttuu ”defined”-sanan jäljestä"

#: expr.c:1077
msgid "operator \"defined\" requires an identifier"
msgstr "operaattori ”defined” vaatii tunnisteen"

#: expr.c:1085
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(”%s” on vaihtoehtoinen symboli ”%s”:lle C++:ssa)"

#: expr.c:1098
msgid "this use of \"defined\" may not be portable"
msgstr "tämä ”defined”-sanan käyttö ei ehkä ole siirrettävää"

#: expr.c:1143
msgid "user-defined literal in preprocessor expression"
msgstr "käyttäjän määrittelemä literaali esikääntäjän lausekkeessa"

#: expr.c:1148
msgid "floating constant in preprocessor expression"
msgstr "liukulukuvakio esikääntäjän lausekkeessa"

#: expr.c:1154
msgid "imaginary number in preprocessor expression"
msgstr "imaginääriluku esikääntäjän lausekkeessa"

#: expr.c:1203
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "”%s” on määrittelemättä, evaluoituu 0:ksi"

#: expr.c:1216
msgid "assertions are a GCC extension"
msgstr "väitteet ovat GCC-laajennos"

#: expr.c:1219
msgid "assertions are a deprecated extension"
msgstr "väitteet ovat vanhentunut laajennos"

# %s on #if tai #elif
#: expr.c:1465
#, c-format
msgid "unbalanced stack in %s"
msgstr "tasapainoton pino %s:ssä"

#: expr.c:1485
#, c-format
msgid "impossible operator '%u'"
msgstr "mahdoton operaattori ’%u’"

#: expr.c:1586
msgid "missing ')' in expression"
msgstr "’)’ puuttuu lausekkeesta"

#: expr.c:1615
msgid "'?' without following ':'"
msgstr "’?’ ilman sitä seuraavaa ’:’-merkkiä"

#: expr.c:1625
msgid "integer overflow in preprocessor expression"
msgstr "kokonaislukuylivuoto esikääntäjän lausekkeessa"

#: expr.c:1630
msgid "missing '(' in expression"
msgstr "’(’ puuttuu lausekkeesta"

#: expr.c:1662
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "”%s”:n vasen operandi vaihtaa ylennettäessä etumerkkiään"

#: expr.c:1667
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "”%s”:n oikea operandi vaihtaa ylennettäessä etumerkkiään"

#: expr.c:1926
msgid "traditional C rejects the unary plus operator"
msgstr "perinteinen C ei salli unaarista plus-operaattoria"

#: expr.c:2024
msgid "comma operator in operand of #if"
msgstr "pilkkuoperaattori #if:in operandissa"

#: expr.c:2160
msgid "division by zero in #if"
msgstr "jako nollalla #if-ehdossa"

#: files.c:571
msgid "one or more PCH files were found, but they were invalid"
msgstr "yksi tai useampia PCH-tiedostoja löytyi, mutta ne olivat virheellisiä"

#: files.c:575
msgid "use -Winvalid-pch for more information"
msgstr "käytä valitsinta -Winvalid-pch lisätietojen saamiseksi"

#: files.c:1051
#, c-format
msgid "no include path in which to search for %s"
msgstr "ei include-polkua, josta etsiä tiedostoa %s"

#: files.c:1546
msgid "Multiple include guards may be useful for:\n"
msgstr "Monen includen estimet voivat olla hyödyllisiä tiedostoille:\n"

#: init.c:614
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t:n on oltava etumerkitön tyyppi"

#: init.c:618
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "esikääntäjäaritmetiikan enimmäistarkkuus on %lu bittiä; kohde vaatii %lu bittiä"

#: init.c:625
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-aritmetiikan on oltava vähintään yhtä tarkka kuin kohteen int-tyypin"

#: init.c:628
msgid "target char is less than 8 bits wide"
msgstr "kohteen char-tyyppi on alle 8 bittiä leveä"

#: init.c:632
msgid "target wchar_t is narrower than target char"
msgstr "kohteen wchar_t-tyyppi on kapeampi kuin kohteen char-tyyppi"

#: init.c:636
msgid "target int is narrower than target char"
msgstr "kohteen int-tyyppi on kapeampi kuin kohteen char-tyyppi"

#: init.c:641
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP-puolikokonaisluku on kapeampi kuin CPP-merkki"

#: init.c:645
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "tämän koneen CPP ei pysty käsittelemään yli %lu-bittisiä leveämerkkivakioita, mutta kohde vaatii %lu bittiä"

#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "kenoviiva ja rivinvaihto erotettu välilyönnillä"

#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "kenoviiva-rivinvaihto tiedoston lopussa"

#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "kolmoismerkki ??%c muunnettu merkiksi %c"

#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "kolmoismerkki ??%c ohitettiin, ota käyttöön valitsimella -trigraphs"

#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "”/*” kommentin sisällä"

# Mahdolliset arvot: "form feed", "vertical tab", eivät käännettäviä.
#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s esikääntäjän direktiivissä"

#: lex.c:1271
msgid "null character(s) ignored"
msgstr "null-merkit ohitetaan"

#  NFKC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "”%.*s” ei ole NFKC-muodossa"

#  NFC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "”%.*s” ei ole NFC-muodossa"

#: lex.c:1375
#, fuzzy
#| msgid "__VA_OPT__ is not available until C++2a"
msgid "__VA_OPT__ is not available until C++20"
msgstr "__VA_OPT__ ei ole saatavilla ennen C++2a:ta"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: lex.c:1382
#, fuzzy
#| msgid "__VA_OPT__ can only appear in the expansion of a C++2a variadic macro"
msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
msgstr "__VA_OPT__ voi esiintyä vain C++2a:n variadisen makron lavennoksessa"

#  poison tarkoittaa, että makroa tai direktiiviä ei koskaan määritellä tai käytetä
#: lex.c:1413 lex.c:1506
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "myrkytetyn makron ”%s” käyttöyritys"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: lex.c:1423 lex.c:1516
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ voi esiintyä vain C++11:n variadisen makron lavennoksessa"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: lex.c:1427 lex.c:1520
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ voi esiintyä vain C99:n variadisen makron lavennoksessa"

#: lex.c:1437 lex.c:1532
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "tunniste ”%s” on operaattorin nimi C++:ssa"

#: lex.c:1879
msgid "raw string delimiter longer than 16 characters"
msgstr "raa’an merkkijonon erotin pitempi kuin 16 merkkiä"

#: lex.c:1883
msgid "invalid new-line in raw string delimiter"
msgstr "virheellinen rivinvaihto raa’an merkkijonon erottimessa"

#: lex.c:1887 lex.c:4639
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "virheellinen merkki ’%c’ raa’an merkkijonon erottimessa"

#: lex.c:1926 lex.c:1949
msgid "unterminated raw string"
msgstr "päättämätön raaka merkkijono"

#: lex.c:1971 lex.c:2100
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "literaalissa virheellinen jälkiliite; C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin"

#: lex.c:2083
msgid "null character(s) preserved in literal"
msgstr "null-merkit säilytetään literaalissa"

#: lex.c:2086
#, c-format
msgid "missing terminating %c character"
msgstr "päättävä merkki %c puuttuu"

#: lex.c:2118
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 vaatii välilyönnin literaalin ja merkkijonomakron väliin"

#: lex.c:2711
msgid "module control-line cannot be in included file"
msgstr ""

#: lex.c:2725
#, c-format
msgid "module control-line \"%s\" cannot be an object-like macro"
msgstr ""

#: lex.c:3099 lex.c:4472 traditional.c:174
msgid "unterminated comment"
msgstr "päättämätön kommentti"

#: lex.c:3113 lex.c:3147
msgid "C++ style comments are not allowed in ISO C90"
msgstr "C++-tyyliset kommentit eivät ole sallittuja ISO C90:ssä"

#: lex.c:3115 lex.c:3126 lex.c:3150
msgid "(this will be reported only once per input file)"
msgstr "(tästä ilmoitetaan vain kerran syötetiedostoa kohden)"

#: lex.c:3124
msgid "C++ style comments are incompatible with C90"
msgstr "C++-tyyliset kommentit ovat epäyhteensopivia C90:n kanssa"

#: lex.c:3156
msgid "multi-line comment"
msgstr "monirivinen kommentti"

#: lex.c:3550
#, c-format
msgid "unspellable token %s"
msgstr "kirjoitusasuton symboli %s"

#: lex.c:4627
#, fuzzy, c-format
#| msgid "raw string delimiter longer than 16 characters"
msgid "raw string delimiter longer than %d characters"
msgstr "raa’an merkkijonon erotin pitempi kuin 16 merkkiä"

#: lex.c:4697
#, fuzzy
#| msgid "unterminated #%s"
msgid "unterminated literal"
msgstr "päättämätön #%s"

#: macro.c:94
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "”##” ei voi esiintyä __VA_OPT__-makron kummassakaan päässä"

# Mahdolliset arvot: "form feed", "vertical tab", eivät käännettäviä.
#: macro.c:386
#, c-format
msgid "\"%s\" used outside of preprocessing directive"
msgstr "”%s” käytössä esikääntäjän direktiivin ulkopuolella"

#: macro.c:396
#, c-format
msgid "missing '(' before \"%s\" operand"
msgstr "’(’ puuttuu ”%s”-operandin edeltä"

#: macro.c:411
#, c-format
msgid "operator \"%s\" requires a header-name"
msgstr "operaattori ”%s” vaatii otsakemerkkijonon"

#: macro.c:428
#, c-format
msgid "missing ')' after \"%s\" operand"
msgstr "’)’ puuttuu ”%s”-operandin jäljestä"

#: macro.c:448
#, c-format
msgid "macro \"%s\" is not used"
msgstr "makroa ”%s” ei käytetä"

#: macro.c:487 macro.c:778
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "virheellinen sisäinen makro ”%s”"

#: macro.c:494 macro.c:596
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "makro ”%s” saattaa estää toistettavat käännökset"

#: macro.c:525
msgid "could not determine file timestamp"
msgstr "ei voitu selvittää tiedoston aikaleimaa"

#: macro.c:610
msgid "could not determine date and time"
msgstr "ei voitu selvittää päivämäärää ja aikaa"

#: macro.c:642
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "__COUNTER__ lavennettu direktiivin sisällä valitsimella -fdirectives-only"

#: macro.c:897
msgid "invalid string literal, ignoring final '\\'"
msgstr "virheellinen merkijonoliteraali, ohitetaan viimeinen ’\\’"

#: macro.c:959
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "liittämällä ”%s” ja ”%s” ei saada kelvollista esikääntäjän symbolia"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: macro.c:1085
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 vaatii vähintään yhden argumentin variadisen makron ”...”:lle"

#  Variadic-makro on sellainen makro, jonka argumenttien lukumäärä voi vaihdella.
#: macro.c:1089
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 vaatii vähintään yhden argumentin variadisen makron ”...”:lle"

#: macro.c:1096
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "makro ”%s” vaatii %u argumenttia, mutta vain %u on annettu"

#: macro.c:1101
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "makrolle ”%s” annettu %u argumenttia, mutta se ottaa vain %u"

#: macro.c:1299 traditional.c:822
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "päättämätön argumenttiluettelo ”%s”-makron kutsussa"

#: macro.c:1442
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "funktion kaltaista makroa ”%s” on käytettävä argumenttien kanssa perinteisessä C:ssä"

#: macro.c:2220
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "%s-makron argumentin %d kutsu: tyhjät makroargumentit ovat määrittelemättömiä ISO C++98:ssa"

#: macro.c:2228 macro.c:2237
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "%s-makron argumentin %d kutsu: tyhjät makroargumentit ovat määrittelemättömiä ISO C90:ssä"

#: macro.c:3279
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "kahdenkertainen makroparametri ”%s”"

#: macro.c:3361
#, c-format
msgid "expected parameter name, found \"%s\""
msgstr "odotettiin parametrin nimeä, löytyi ”%s”"

#: macro.c:3362
#, c-format
msgid "expected ',' or ')', found \"%s\""
msgstr "odotettiin ”,” tai ”)”, löytyi ”%s”"

#: macro.c:3363
msgid "expected parameter name before end of line"
msgstr "odotettiin parametrin nimeä ennen rivin loppua"

#: macro.c:3364
msgid "expected ')' before end of line"
msgstr "odotettiin tulevan ”)” ennen rivin loppua"

#: macro.c:3365
msgid "expected ')' after \"...\""
msgstr "odotettiin ”...”:n jälkeen tulevan ”)”"

#: macro.c:3422
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonyymit variadiset makrot esiteltiin C++11:ssä"

#: macro.c:3423 macro.c:3427
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonyymit variadiset makrot esiteltiin C99:ssä"

#: macro.c:3433
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ ei salli nimettyjä variadisia makroja"

#: macro.c:3434
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C ei salli nimettyjä variadisia makroja"

#: macro.c:3480
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "”##” ei voi esiintyä makrolavennuksen kummassakaan päässä"

#: macro.c:3518
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 vaatii tyhjemerkin makron nimen jälkeen"

#: macro.c:3519
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 vaatii tyhjemerkin makron nimen jälkeen"

#: macro.c:3543
msgid "missing whitespace after the macro name"
msgstr "tyhjemerkki puuttuu makron nimen jäljestä"

#: macro.c:3593
msgid "'#' is not followed by a macro parameter"
msgstr "”#” ilman sitä seuraavaa makroparametria"

#: macro.c:3749
#, c-format
msgid "\"%s\" redefined"
msgstr "”%s” määritelty uudelleen"

#: macro.c:3754
msgid "this is the location of the previous definition"
msgstr "tämä on edellisen määrittelyn sijainti"

#: macro.c:3891
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "makron argumentti ”%s” merkkijonostettaisiin perinteisessä C:ssä"

#: pch.c:90 pch.c:342 pch.c:356 pch.c:374 pch.c:380 pch.c:389 pch.c:396
msgid "while writing precompiled header"
msgstr "kirjoitettaessa esikäännettyä otsaketta"

#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: ei käytetä, koska ”%.*s” on myrkytetty"

#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: ei käytetä, koska ”%.*s” on määrittelemättä"

#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: ei käytetä, koska ”%.*s” on määritelty arvoon ”%s” eikä ”%.*s”"

#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: ei käytetä, koska ”%s” on määritelty"

#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: ei käytetä, koska ”__COUNTER__” on virheellinen"

#: pch.c:720 pch.c:876
msgid "while reading precompiled header"
msgstr "luettaessa esikäännettyä otsaketta"

#: traditional.c:891
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "havaittiin rekursio lavennettaessa makroa ”%s”"

#: traditional.c:1114
msgid "syntax error in macro parameter list"
msgstr "syntaksivirhe makron parameteriluettelossa"

#~ msgid "binary constants are a GCC extension"
#~ msgstr "binäärivakiot ovat GCC-laajennos"

#~ msgid "\"__has_include__\" cannot be used as a macro name"
#~ msgstr "”__has_include__” ei ole kelvollinen makron nimi"

#~ msgid "#include nested too deeply"
#~ msgstr "liikaa sisäkkäisiä #include:ja"

#~ msgid "missing ')' after \"__has_include__\""
#~ msgstr "’)’ puuttuu ”__has_include__”-sanan jäljestä"

#~ msgid "\"%s\" may not appear in macro parameter list"
#~ msgstr "”%s” ei saa esiintyä makron parametriluettelossa"

#~ msgid "macro parameters must be comma-separated"
#~ msgstr "makron parametrien on oltava pilkuin eroteltuja"

#~ msgid "parameter name missing"
#~ msgstr "parametrin nimi puuttuu"

#~ msgid "missing ')' in macro parameter list"
#~ msgstr "’)’ puuttuu makron parametriluettelosta"

#~ msgid "invalid hash type %d in cpp_macro_definition"
#~ msgstr "virheellinen hash-tyyppi %d funktiossa cpp_macro_definition"

#~ msgid "NULL directory in find_file"
#~ msgstr "NULL-hakemisto funktiossa find_file"

#~ msgid "%s is a block device"
#~ msgstr "%s on lohkolaite"

#~ msgid "%s is too large"
#~ msgstr "%s on liian suuri"

#~ msgid "%s is shorter than expected"
#~ msgstr "%s on odotettua lyhyempi"

#  NFKC-muodossa Unicode-merkki ilmaistaan nelinumeroisella heksadesimaaliluvulla
#~ msgid "Character %x might not be NFKC"
#~ msgstr "Merkki %x ei saattaisi olla Unicode-normalisointimerkkijonomuotoa NFKC"

#~ msgid "too many decimal points in number"
#~ msgstr "liian monta desimaalipistettä numerossa"

#~ msgid "invalid digit \"%c\" in binary constant"
#~ msgstr "virheellinen numero ”%c” binäärivakiossa"

#~ msgid "invalid digit \"%c\" in octal constant"
#~ msgstr "virheellinen numero ”%c” oktaalivakiossa"

#~ msgid "no digits in hexadecimal floating constant"
#~ msgstr "ei lukuja heksadesimaalisessa liukulukuvakiossa"

#~ msgid "exponent has no digits"
#~ msgstr "eksponentilla ei ole numeoita"

#~ msgid "hexadecimal floating constants require an exponent"
#~ msgstr "heksadesimaalinen liukulukuvakio vaatii eksponentin"

#~ msgid "missing binary operator before token \"%s\""
#~ msgstr "puuttua binäärioperaattori ennen merkkijonoa ”%s”"

#~ msgid "token \"%s\" is not valid in preprocessor expressions"
#~ msgstr "merkkijono ”%s” ei ole kelvollinen esikäsittelijälausekkeissa"

#~ msgid "missing expression between '(' and ')'"
#~ msgstr "puuttuva lauseke merkkien ’(’ ja ’)’ välillä"

#~ msgid "%s with no expression"
#~ msgstr "%s ilman lauseketta"

#~ msgid "operator '%s' has no right operand"
#~ msgstr "operaattorilla ’%s’ ei ole oikeaa operandia"

#~ msgid "operator '%s' has no left operand"
#~ msgstr "operaattorilla ’%s’ ei ole vasenta operandia"

#~ msgid " ':' without preceding '?'"
#~ msgstr " ’:’ ilman edeltävää ’?’"
