# Dutch translations for GNU cpplib.
# Copyright (C) 2016 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
#
# « Vorsicht. Bissiger Mensch! »
#
# Tim Van Holder <tim.van.holder@telenet.be>, 2008, 2009, 2010.
# Benno Schulenberg <benno@vertaalt.nl>, 2014, 2015, 2016.
msgid ""
msgstr ""
"Project-Id-Version: cpplib 6.1.0\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
"POT-Creation-Date: 2020-02-07 22:33+0000\n"
"PO-Revision-Date: 2016-05-03 12:27+0200\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Lokalize 1.0\n"

#: charset.c:674
#, c-format
msgid "conversion from %s to %s not supported by iconv"
msgstr "iconv ondersteunt geen omzetting van %s naar %s"

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

#: charset.c:685
#, c-format
msgid "no iconv implementation, cannot convert from %s to %s"
msgstr "geen implementatie van iconv beschikbaar; kan niet omzetten van %s naar %s"

#: charset.c:781
#, c-format
msgid "character 0x%lx is not in the basic source character set\n"
msgstr "teken 0x%lx zit niet in de basis brontekenset\n"

#: charset.c:798 charset.c:1768
msgid "converting to execution character set"
msgstr "omzetting naar uitvoeringstekenset"

#: charset.c:804
#, c-format
msgid "character 0x%lx is not unibyte in execution character set"
msgstr "teken 0x%lx is niet enkelbyte in de uitvoeringstekenset"

#: charset.c:1054
msgid "universal character names are only valid in C++ and C99"
msgstr "universele tekennamen zijn alleen geldig in C++ en C99"

#: charset.c:1058
msgid "C99's universal character names are incompatible with C90"
msgstr "universele tekennamen van C99 zijn zijn incompatibel met C90"

#: charset.c:1061
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "de betekenis van '\\%c' is anders in traditioneel C"

#: charset.c:1070
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "In '_cpp_valid_ucn' maar het is geen UCN"

#: charset.c:1103
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "onvolledige universele tekennaam %.*s"

#: charset.c:1118
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s is geen geldige universele tekennaam"

#: charset.c:1128 lex.c:1335
msgid "'$' in identifier or number"
msgstr "'$' in naam of getal"

# "identifier" is een verdomd rottig woord om te vertalen...
#: charset.c:1138
#, c-format
msgid "universal character %.*s is not valid in an identifier"
msgstr "universeel teken %.*s is niet geldig in een naam"

#: charset.c:1142
#, c-format
msgid "universal character %.*s is not valid at the start of an identifier"
msgstr "universeel teken %.*s is niet geldig aan het begin van een naam"

#: charset.c:1149
#, c-format
msgid "%.*s is outside the UCS codespace"
msgstr ""

#: charset.c:1194 charset.c:2113
msgid "converting UCN to source character set"
msgstr "omzetting van UCN naar brontekenset"

#: charset.c:1201
msgid "converting UCN to execution character set"
msgstr "omzetting van UCN naar uitvoeringstekenset"

# "identifier" is een verdomd rottig woord om te vertalen...
#: charset.c:1265
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid in an identifier"
msgid "extended character %.*s is not valid in an identifier"
msgstr "universeel teken %.*s is niet geldig in een naam"

#: charset.c:1282
#, fuzzy, c-format
#| msgid "universal character %.*s is not valid at the start of an identifier"
msgid "extended character %.*s is not valid at the start of an identifier"
msgstr "universeel teken %.*s is niet geldig aan het begin van een naam"

#: charset.c:1368
msgid "the meaning of '\\x' is different in traditional C"
msgstr "de betekenis van '\\x' is anders in traditioneel C"

#: charset.c:1393
msgid "\\x used with no following hex digits"
msgstr "\\x gebruikt zonder daaropvolgende hexadecimale cijfers"

#: charset.c:1400
msgid "hex escape sequence out of range"
msgstr "hexadecimale escape sequence buiten bereik"

#: charset.c:1452
msgid "octal escape sequence out of range"
msgstr "octale escape sequence buiten bereik"

#: charset.c:1534
msgid "the meaning of '\\a' is different in traditional C"
msgstr "de betekenis van '\\a' is anders in traditioneel C"

#: charset.c:1541
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "escape sequence '\\%c' is niet ISO-standaard"

#: charset.c:1549
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "onbekende escape sequence: '\\%c'"

#: charset.c:1557
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "onbekende escape sequence: '\\%s'"

#: charset.c:1565
msgid "converting escape sequence to execution character set"
msgstr "omzetting van escape sequence naar uitvoeringstekenset"

#: charset.c:1705
msgid "missing open quote"
msgstr ""

#: charset.c:1923 charset.c:2002
msgid "character constant too long for its type"
msgstr "tekenconstante is te lang voor zijn type"

#: charset.c:1926
msgid "multi-character character constant"
msgstr "tekenconstante bevat meerdere tekens"

#: charset.c:2042
msgid "empty character constant"
msgstr "lege tekenconstante"

#: charset.c:2160
#, c-format
msgid "failure to convert %s to %s"
msgstr "fout bij omzetten van %s naar %s"

#: directives.c:229 directives.c:272
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "overbodige tokens aan einde van #%s commando"

#: directives.c:379
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s is een uitbreiding van GCC"

#: directives.c:384
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s is een afgekeurde uitbreiding van GCC"

#: directives.c:397
msgid "suggest not using #elif in traditional C"
msgstr "gebruik liefst geen #elif in traditioneel C"

#: directives.c:400
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "traditioneel C negeert #%s wanneer het # geïndenteerd is"

#: directives.c:404
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "verberg #%s liefst van traditioneel C via een geïndenteerd #"

#: directives.c:430
msgid "embedding a directive within macro arguments is not portable"
msgstr "het plaatsen van een commando binnen macro-argumenten is niet overdraagbaar"

#: directives.c:450
msgid "style of line directive is a GCC extension"
msgstr "dit soort #line commando is een uitbreiding van GCC"

#: directives.c:531
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "ongeldig preprocessing-commando #%s"

#: directives.c:601
#, fuzzy, c-format
#| msgid "\"defined\" cannot be used as a macro name"
msgid "\"%s\" cannot be used as a macro name"
msgstr "\"defined\" kan niet als macronaam gebruikt worden"

#: directives.c:608
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "\"%s\" kan niet als macronaam gebruikt worden omdat het een operator is in C++"

#: directives.c:611
#, c-format
msgid "no macro name given in #%s directive"
msgstr "geen macronaam opgegeven in #%s commando"

# lap! hier heb ik het zitten... wat is verdorie een betere vertaling voor identifier?
# Dit is wel langer maar zegt denk ik wel waar het om gaat.
#: directives.c:614
msgid "macro names must be identifiers"
msgstr "macronamen moeten voldoen aan de regels voor namen in C/C++"

# niet perfect, maar beter dan "wordt ongedefinieerd", "wordt geondefinieerd" of iets dergelijks...
#: directives.c:663 directives.c:668
#, c-format
msgid "undefining \"%s\""
msgstr "definitie van \"%s\" wordt ongedaan gemaakt"

#: directives.c:724
msgid "missing terminating > character"
msgstr "afsluitend '>'-teken ontbreekt"

#: directives.c:783
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s verwacht \"BESTAND\" of <BESTAND>"

#: directives.c:829
#, c-format
msgid "empty filename in #%s"
msgstr "lege bestandsnaam in #%s"

#: directives.c:838
#, c-format
msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
msgstr ""

#: directives.c:883
msgid "#include_next in primary source file"
msgstr "#include_next in primair bronbestand"

#: directives.c:909
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "ongeldige vlag \"%s\" in #line commando"

#: directives.c:969
msgid "unexpected end of file after #line"
msgstr "onverwacht einde van bestand na #line"

#: directives.c:972
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "\"%s\" (na #line) is geen positieve integer"

#: directives.c:978 directives.c:980
msgid "line number out of range"
msgstr "regelnummer buiten bereik"

#: directives.c:993 directives.c:1074
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "\"%s\" is geen geldige bestandsnaam"

#: directives.c:1034
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "\"%s\" (na #) is geen positieve integer"

#: directives.c:1101
#, c-format
msgid "file \"%s\" linemarker ignored due to incorrect nesting"
msgstr "regelmarkering voor bestand \"%s\" is genegeerd wegens incorrecte nesting"

# FIXME: most likely shouldn't have been marked as translatable
#: directives.c:1162 directives.c:1164 directives.c:1166 directives.c:1754
#, c-format
msgid "%s"
msgstr "%s"

#: directives.c:1190
#, c-format
msgid "invalid #%s directive"
msgstr "ongeldig #%s commando"

# goede vertaling voor 'mismatched'?
#: directives.c:1253
#, c-format
msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
msgstr "registratie van pragma's in naamsruimte \"%s\" met niet-overeenkomstige naamsexpansie"

# moet namespace hier ook vertaald worden?
#: directives.c:1262
#, c-format
msgid "registering pragma \"%s\" with name expansion and no namespace"
msgstr "registratie van pragma \"%s\" met naamsexpansie maar geen naamsruimte"

# moet namespace hier ook vertaald worden?
#: directives.c:1280
#, c-format
msgid "registering \"%s\" as both a pragma and a pragma namespace"
msgstr "registratie van \"%s\" zowel als pragma en als pragma-naamsruimte"

#: directives.c:1283
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "#pragma %s %s is reeds geregistreerd"

#: directives.c:1286
#, c-format
msgid "#pragma %s is already registered"
msgstr "#pragma %s is reeds geregistreerd"

# betere vertaling voor 'handler'?
#: directives.c:1316
msgid "registering pragma with NULL handler"
msgstr "registratie van pragma met NULL als afhandelingsroutine"

#: directives.c:1533
msgid "#pragma once in main file"
msgstr "#pragma once in hoofdbestand"

#: directives.c:1556
msgid "invalid #pragma push_macro directive"
msgstr "ongeldig #pragma push_macro commando"

#: directives.c:1613
msgid "invalid #pragma pop_macro directive"
msgstr "ongeldig #pragma pop_macro commando"

#: directives.c:1668
msgid "invalid #pragma GCC poison directive"
msgstr "ongeldig #pragma GCC poison commando"

#: directives.c:1677
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "bestaande macro \"%s\" wordt 'vergiftigd'"

#: directives.c:1696
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header wordt genegeerd buiten een invoegbestand"

#: directives.c:1721
#, c-format
msgid "cannot find source file %s"
msgstr "kan bronbestand %s niet vinden"

#: directives.c:1725
#, c-format
msgid "current file is older than %s"
msgstr "huidig bestand is ouder dan %s"

#: directives.c:1749
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "ongeldig \"#pragma GCC %s\"-commando"

#: directives.c:1950
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma verwacht als argument een stringconstante tussen haakjes"

#: directives.c:2033
msgid "#else without #if"
msgstr "#else zonder #if"

#: directives.c:2038
msgid "#else after #else"
msgstr "#else na #else"

# of gewoon "de conditie"?
#: directives.c:2040 directives.c:2073
msgid "the conditional began here"
msgstr "het conditionele blok begon hier"

#: directives.c:2066
msgid "#elif without #if"
msgstr "#elif zonder #if"

#: directives.c:2071
msgid "#elif after #else"
msgstr "#elif na #else"

#: directives.c:2102
msgid "#endif without #if"
msgstr "#endif zonder #if"

#: directives.c:2178
msgid "missing '(' after predicate"
msgstr "'(' ontbreekt na predicaat"

#: directives.c:2196
msgid "missing ')' to complete answer"
msgstr "')' ontbreekt als afronding van het antwoord"

#: directives.c:2208
msgid "predicate's answer is empty"
msgstr "antwoord van het predicaat is leeg"

# dit moet beter kunnen...
#: directives.c:2238
msgid "assertion without predicate"
msgstr "assertie zonder predicaat"

# ... dit klinkt echt niet - maar wat is hier een beter vertaling voor identifier?
#: directives.c:2241
msgid "predicate must be an identifier"
msgstr "predicaat moet een naam zijn"

# is "asserteren" wel een echt woord?
#: directives.c:2323
#, c-format
msgid "\"%s\" re-asserted"
msgstr "\"%s\" opnieuw geasserteerd"

#: directives.c:2604
#, c-format
msgid "unterminated #%s"
msgstr "niet-beëindigde #%s"

#: directives-only.c:221 lex.c:2879 traditional.c:174
msgid "unterminated comment"
msgstr "niet-beëindigd commentaar"

# FIXME: hoort niet echt een vertaalbare string te zijn :-)
#: errors.c:291
#, c-format
msgid "%s: %s"
msgstr "%s: %s"

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

#: expr.c:626 expr.c:743
msgid "fixed-point constants are a GCC extension"
msgstr "fixed-point constantes zijn een uitbreiding van GCC"

#: expr.c:651
msgid "invalid prefix \"0b\" for floating constant"
msgstr "ongeldige prefix \"0b\" voor floating-point constante"

#: expr.c:664
#, fuzzy
#| msgid "use of C++1z hexadecimal floating constant"
msgid "use of C++17 hexadecimal floating constant"
msgstr "gebruik van een C++1z hexadecimale floating-point constante"

#: expr.c:667
msgid "use of C99 hexadecimal floating constant"
msgstr "gebruik van een C99 hexadecimale floating-point constante"

#: expr.c:711
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "ongeldige suffix \"%.*s\" aan floating-point constante"

#: expr.c:722 expr.c:789
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "traditioneel C aanvaardt de \"%.*s\" suffix niet"

#: expr.c:730
msgid "suffix for double constant is a GCC extension"
msgstr "het gebruik van een suffix voor double constantes is een uitbreiding van GCC"

#: expr.c:736
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "ongeldige suffix \"%.*s\" bij hexadecimale floating-point constante"

#: expr.c:749 expr.c:753
#, fuzzy
#| msgid "decimal float constants are a GCC extension"
msgid "decimal float constants are a C2X feature"
msgstr "decimale floating-point constantes zijn een uitbreiding van GCC"

#: expr.c:772
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "ongeldige suffix \"%.*s\" aan integerconstante"

#: expr.c:797
msgid "use of C++11 long long integer constant"
msgstr "gebruik van een C++11 long long integerconstante"

#: expr.c:798
msgid "use of C99 long long integer constant"
msgstr "gebruik van een C99 long long integerconstante"

#: expr.c:814
msgid "imaginary constants are a GCC extension"
msgstr "imaginaire constantes zijn een uitbreiding van GCC"

#: expr.c:820
msgid "binary constants are a C++14 feature or GCC extension"
msgstr "binaire constantes zijn een C++14-functie of een uitbreiding van GCC"

#: expr.c:822
msgid "binary constants are a GCC extension"
msgstr "binaire constantes zijn een uitbreiding van GCC"

#: expr.c:917
msgid "integer constant is too large for its type"
msgstr "integerconstante is te groot voor zijn type"

#: expr.c:948
msgid "integer constant is so large that it is unsigned"
msgstr "integerconstante is zo groot dat hij tekenloos is"

#: expr.c:1043
msgid "missing ')' after \"defined\""
msgstr "')' ontbreekt na \"defined\""

#: expr.c:1050
msgid "operator \"defined\" requires an identifier"
msgstr "de \"defined\" operator vereist een naam als argument"

#: expr.c:1058
#, c-format
msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
msgstr "(\"%s\" is een alternatieve schrijfwijze voor \"%s\" in C++)"

#: expr.c:1070
msgid "this use of \"defined\" may not be portable"
msgstr "dit gebruik van \"define\" is mogelijk niet overdraagbaar"

#: expr.c:1113
msgid "user-defined literal in preprocessor expression"
msgstr "gebruikergedefinieerde constante in preprocessor-expressie"

#: expr.c:1118
msgid "floating constant in preprocessor expression"
msgstr "floating-point constante in preprocessor-expressie"

#: expr.c:1124
msgid "imaginary number in preprocessor expression"
msgstr "imaginair getal in preprocessor-expressie"

#: expr.c:1173
#, fuzzy, c-format
#| msgid "\"%s\" is not defined"
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "\"%s\" is niet gedefinieerd"

#: expr.c:1186
msgid "assertions are a GCC extension"
msgstr "assertions zijn een uitbreiding van GCC"

#: expr.c:1189
msgid "assertions are a deprecated extension"
msgstr "assertions zijn een afgekeurde uitbreiding"

#: expr.c:1435
#, c-format
msgid "unbalanced stack in %s"
msgstr "niet-gebalanceerde stack in %s"

#: expr.c:1455
#, c-format
msgid "impossible operator '%u'"
msgstr "operator '%u' is onmogelijk"

#: expr.c:1556
msgid "missing ')' in expression"
msgstr "')' ontbreekt in expressie"

#: expr.c:1585
msgid "'?' without following ':'"
msgstr "'?' zonder daaropvolgende ':'"

#: expr.c:1595
msgid "integer overflow in preprocessor expression"
msgstr "integer-overflow in preprocessor-expressie"

#: expr.c:1600
msgid "missing '(' in expression"
msgstr "'(' ontbreekt in expressie"

#: expr.c:1632
#, c-format
msgid "the left operand of \"%s\" changes sign when promoted"
msgstr "de linker operand van \"%s\" verandert van teken indien hij gepromoveerd wordt"

#: expr.c:1637
#, c-format
msgid "the right operand of \"%s\" changes sign when promoted"
msgstr "de rechter operand van \"%s\" verandert van teken indien hij gepromoveerd wordt"

#: expr.c:1896
msgid "traditional C rejects the unary plus operator"
msgstr "traditioneel C verwerpt de unaire plus-operator"

#: expr.c:1994
msgid "comma operator in operand of #if"
msgstr "komma-operator in operand van '#if'"

#: expr.c:2130
msgid "division by zero in #if"
msgstr "deling door nul in '#if'"

#: files.c:576
msgid "one or more PCH files were found, but they were invalid"
msgstr "een of meer PCH-bestanden werden gevonden, maar ze waren ongeldig"

#: files.c:580
msgid "use -Winvalid-pch for more information"
msgstr "gebruik -Winvalid-pch voor meer informatie"

#: files.c:1004
#, c-format
msgid "no include path in which to search for %s"
msgstr "geen invoegpad waarin naar %s gezocht kan worden"

# goede vertaling voor "include guard"?
#: files.c:1439
msgid "Multiple include guards may be useful for:\n"
msgstr "Meerdere invoegbeschermingen zouden nuttig kunnen zijn voor:\n"

#: init.c:598
msgid "cppchar_t must be an unsigned type"
msgstr "'cppchar_t' moet een tekenloos type zijn"

#: init.c:602
#, c-format
msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
msgstr "preprocessor-rekensommen hebben een maximale precisie van %lu bits; de doelomgeving vereist %lu bits"

#: init.c:609
msgid "CPP arithmetic must be at least as precise as a target int"
msgstr "CPP-rekensommen moet minstens even precies zijn als een int in de doelomgeving"

#: init.c:612
msgid "target char is less than 8 bits wide"
msgstr "char is minder dan 8 bits breed in de doelomgeving"

#: init.c:616
msgid "target wchar_t is narrower than target char"
msgstr "'wchar_t' is smaller dan char in de doelomgeving"

#: init.c:620
msgid "target int is narrower than target char"
msgstr "int is smaller dan char in de doelomgeving"

#: init.c:625
msgid "CPP half-integer narrower than CPP character"
msgstr "CPP half-integer is smaller dan een CPP char"

#: init.c:629
#, c-format
msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
msgstr "CPP kan op deze host geen brede tekenconstantes aan van meer dan %lu bits, maar de doelomgeving vereist %lu bits"

#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "backslash en newline gescheiden door spatie(s)"

#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "backslash-newline aan einde van bestand"

#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraph ??%c is omgezet naar %c"

#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigraph ??%c is genegeerd; gebruik -trigraphs om ondersteuning in te schakelen"

#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "\"/*\" binnen commentaar"

#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s binnen preprocessor-commando"

#: lex.c:1271
msgid "null character(s) ignored"
msgstr "nulteken(s) worden genegeerd"

#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "'%.*s' zit niet in NFKC"

#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "'%.*s' zit niet in NFC"

#: lex.c:1375
msgid "__VA_OPT__ is not available until C++2a"
msgstr ""

#: lex.c:1382
#, fuzzy
#| msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgid "__VA_OPT__ can only appear in the expansion of a C++2a variadic macro"
msgstr "__VA_ARGS__ mag enkel voorkomen in de expansie van een C++11 variadische macro"

#: lex.c:1413 lex.c:1506
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "poging tot gebruik van 'vergiftigde' \"%s\""

#: lex.c:1423 lex.c:1516
msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
msgstr "__VA_ARGS__ mag enkel voorkomen in de expansie van een C++11 variadische macro"

#: lex.c:1427 lex.c:1520
msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
msgstr "__VA_ARGS__ mag enkel voorkomen in de expansie van een C99 variadische macro"

# "identifier" is lastig te vertalen; ik neem meestal 'naam', maar hier klinkt dat niet...
#: lex.c:1437 lex.c:1532
#, c-format
msgid "identifier \"%s\" is a special operator name in C++"
msgstr "de aanduiding \"%s\" is een speciale operatornaam in C++"

# betere vertaling voor "raw string delimiter"?
#: lex.c:1837
msgid "raw string delimiter longer than 16 characters"
msgstr "rauwe stringscheiding is langer dan 16 tekens"

#: lex.c:1841
msgid "invalid new-line in raw string delimiter"
msgstr "ongeldige newline in rauwe stringscheiding"

#: lex.c:1845
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "ongeldig teken '%c' in rauwe stringscheiding"

#: lex.c:1894 lex.c:1916
msgid "unterminated raw string"
msgstr "niet-beëindigde rauwe string"

#: lex.c:1936 lex.c:2065
msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
msgstr "ongeldige suffix aan constante; C++11 vereist een spatie tussen constante en stringmacro"

#: lex.c:2048
msgid "null character(s) preserved in literal"
msgstr "nulteken(s) in een constante worden behouden"

#: lex.c:2051
#, c-format
msgid "missing terminating %c character"
msgstr "afsluitend %c-teken ontbreekt"

#: lex.c:2083
msgid "C++11 requires a space between string literal and macro"
msgstr "C++11 vereist een spatie tussen stringconstante en macro"

#: lex.c:2893 lex.c:2927
msgid "C++ style comments are not allowed in ISO C90"
msgstr "commentaar in C++-stijl is niet toegestaan in ISO C90"

#: lex.c:2895 lex.c:2906 lex.c:2930
msgid "(this will be reported only once per input file)"
msgstr "(dit wordt per invoerbestand maar één keer gemeld)"

#: lex.c:2904
msgid "C++ style comments are incompatible with C90"
msgstr "commentaar in C++-stijl is incompatibel met C90"

#: lex.c:2936
msgid "multi-line comment"
msgstr "commentaar gespreid over meerdere regels"

# lijkt een vreemde boodschap...
#: lex.c:3330
#, c-format
msgid "unspellable token %s"
msgstr "kan token %s niet spellen"

#: macro.c:94
#, fuzzy
#| msgid "'##' cannot appear at either end of a macro expansion"
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "'##' mag niet voorkomen aan het begin of einde van een macro-expansie"

#: macro.c:364
#, fuzzy, c-format
#| msgid "%s in preprocessing directive"
msgid "\"%s\" used outside of preprocessing directive"
msgstr "%s binnen preprocessor-commando"

#: macro.c:374
#, fuzzy, c-format
#| msgid "missing '(' in expression"
msgid "missing '(' before \"%s\" operand"
msgstr "'(' ontbreekt in expressie"

#: macro.c:389
#, fuzzy, c-format
#| msgid "operator \"__has_include__\" requires a header string"
msgid "operator \"%s\" requires a header-name"
msgstr "de \"__has_include__\" operator vereist een headerstring"

#: macro.c:406
#, fuzzy, c-format
#| msgid "missing ')' after \"defined\""
msgid "missing ')' after \"%s\" operand"
msgstr "')' ontbreekt na \"defined\""

#: macro.c:426
#, c-format
msgid "macro \"%s\" is not used"
msgstr "macro \"%s\" wordt nergens gebruikt"

#: macro.c:465 macro.c:723
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "ongeldige ingebouwde macro \"%s\""

#: macro.c:472 macro.c:574
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "macro \"%s\" kan reproduceerbare compilaties verhinderen"

#: macro.c:503
msgid "could not determine file timestamp"
msgstr "kan tijdsstempel van bestand niet achterhalen"

#: macro.c:620
msgid "could not determine date and time"
msgstr "kan datum en tijd niet achterhalen"

#: macro.c:636
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "expansie van __COUNTER__ binnenin commando terwijl -fdirectives-only opgegeven is"

#: macro.c:842
msgid "invalid string literal, ignoring final '\\'"
msgstr "ongeldige stringconstante; laatste '\\' wordt genegeerd"

#: macro.c:904
#, c-format
msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
msgstr "het plakken van \"%s\" en \"%s\" levert geen geldig preprocessing token op"

#: macro.c:1030
msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C++11 vereist minstens één argument voor de \"...\" in een variadische macro"

#: macro.c:1034
msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
msgstr "ISO C99 vereist minstens één argument voor de \"...\" in een variadische macro"

#: macro.c:1041
#, c-format
msgid "macro \"%s\" requires %u arguments, but only %u given"
msgstr "macro \"%s\" vereist %u argumenten, maar er werden er slechts %u opgegeven"

#: macro.c:1046
#, c-format
msgid "macro \"%s\" passed %u arguments, but takes just %u"
msgstr "macro \"%s\" kreeg %u argumenten, maar heeft er slechts %u nodig"

#: macro.c:1244 traditional.c:815
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "niet-beëindigde argumentenlijst bij aanroep van macro \"%s\""

#: macro.c:1386
#, c-format
msgid "function-like macro \"%s\" must be used with arguments in traditional C"
msgstr "functie-achtige macro \"%s\" moet in traditioneel C altijd met argumenten gebruikt worden"

#: macro.c:2165
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
msgstr "aanroep van macro %s argument %d: lege macro-argumenten zijn ongedefinieerd in ISO C++98"

#: macro.c:2173 macro.c:2182
#, c-format
msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
msgstr "aanroep van macro %s argument %d: lege macro-argumenten zijn ongedefinieerd in ISO C90"

#: macro.c:3141
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "herhaalde macro-parameter \"%s\""

#: macro.c:3223
#, c-format
msgid "expected parameter name, found \"%s\""
msgstr ""

#: macro.c:3224
#, c-format
msgid "expected ',' or ')', found \"%s\""
msgstr ""

#: macro.c:3225
msgid "expected parameter name before end of line"
msgstr ""

#: macro.c:3226
#, fuzzy
#| msgid "unexpected end of file after #line"
msgid "expected ')' before end of line"
msgstr "onverwacht einde van bestand na #line"

#: macro.c:3227
msgid "expected ')' after \"...\""
msgstr ""

#: macro.c:3284
msgid "anonymous variadic macros were introduced in C++11"
msgstr "anonieme variadische macro's werden geïntroduceerd in C++11"

#: macro.c:3285 macro.c:3289
msgid "anonymous variadic macros were introduced in C99"
msgstr "anonieme variadische macro's werden geïntroduceerd in C99"

# variadic? " met variabele argumentenlijst" is nogal lang...
#: macro.c:3295
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ staat geen benoemde variadische macro's toe"

# variadic? " met variabele argumentenlijst" is nogal lang...
#: macro.c:3296
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C staat geen benoemde variadische macro's toe"

#: macro.c:3342
msgid "'##' cannot appear at either end of a macro expansion"
msgstr "'##' mag niet voorkomen aan het begin of einde van een macro-expansie"

#: macro.c:3380
msgid "ISO C++11 requires whitespace after the macro name"
msgstr "ISO C++11 vereist witruimte na de macronaam"

#: macro.c:3381
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 vereist witruimte na de macronaam"

#: macro.c:3405
msgid "missing whitespace after the macro name"
msgstr "witruimte ontbreekt na de macronaam"

#: macro.c:3455
msgid "'#' is not followed by a macro parameter"
msgstr "'#' wordt niet gevolgd door de naam van een macro-parameter"

#: macro.c:3606
#, c-format
msgid "\"%s\" redefined"
msgstr "\"%s\" opnieuw gedefinieerd"

#: macro.c:3611
msgid "this is the location of the previous definition"
msgstr "dit is de plaats van de eerdere definitie"

#: macro.c:3715
#, c-format
msgid "macro argument \"%s\" would be stringified in traditional C"
msgstr "macro-argument \"%s\" zou string gemaakt worden in traditioneel C"

#: 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 "bij het schrijven van een voorgecompileerde header"

#: pch.c:616
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: niet gebruikt omdat \"%.*s\" vergiftigd is"

#: pch.c:638
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: niet gebruikt omdat \"%.*s\" niet gedefinieerd werd"

#: pch.c:650
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: niet gebruikt omdat \"%.*s\" als \"%s\" (en niet als \"%.*s\") gedefinieerd werd"

#: pch.c:691
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: niet gebruikt omdat \"%s\" gedefinieerd is"

#: pch.c:711
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: niet gebruikt omdat \"__COUNTER__\" ongeldig is"

#: pch.c:720 pch.c:876
msgid "while reading precompiled header"
msgstr "bij het lezen van een voorgecompileerde header"

#: traditional.c:884
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "recursie gedetecteerd bij uitwerken van macro \"%s\""

#: traditional.c:1107
msgid "syntax error in macro parameter list"
msgstr "syntaxfout in lijst van macro-parameters"

#~ msgid "\"__has_include__\" cannot be used as a macro name"
#~ msgstr "\"__has_include__\" kan niet als macronaam gebruikt worden"

#~ msgid "#include nested too deeply"
#~ msgstr "#include is te diep genest"

#~ msgid "missing ')' after \"__has_include__\""
#~ msgstr "')' ontbreekt na \"__has_include__\""

#~ msgid "NULL directory in find_file"
#~ msgstr "directory is NULL in 'find_file'"

#~ msgid "%s is a block device"
#~ msgstr "%s is een blok-apparaat"

#~ msgid "%s is too large"
#~ msgstr "%s is te groot"

#~ msgid "%s is shorter than expected"
#~ msgstr "%s is korter dan verwacht"

#~ msgid "\"%s\" may not appear in macro parameter list"
#~ msgstr "\"%s\" mag niet voorkomen in lijst van macro-parameters"

#~ msgid "macro parameters must be comma-separated"
#~ msgstr "macro-parameters moet door komma's gescheiden worden"

#~ msgid "parameter name missing"
#~ msgstr "parameternaam ontbreekt"

#~ msgid "missing ')' in macro parameter list"
#~ msgstr "')' ontbreekt in lijst van macro-parameters"

#~ msgid "invalid hash type %d in cpp_macro_definition"
#~ msgstr "ongeldig hash-type %d in 'cpp_macro_definition'"

#~ msgid "Character %x might not be NFKC"
#~ msgstr "Teken %x is misschien niet NFKC"

# betere vertaling voor decimal point?
#~ msgid "too many decimal points in number"
#~ msgstr "te veel komma's in getal"

#~ msgid "invalid digit \"%c\" in binary constant"
#~ msgstr "ongeldig cijfer \"%c\" in binaire constante"

#~ msgid "invalid digit \"%c\" in octal constant"
#~ msgstr "ongeldig cijfer \"%c\" in octale constante"

#~ msgid "no digits in hexadecimal floating constant"
#~ msgstr "geen cijfers in hexadecimale floating-point constante"

#~ msgid "exponent has no digits"
#~ msgstr "exponent heeft geen cijfers"

#~ msgid "hexadecimal floating constants require an exponent"
#~ msgstr "hexadecimale floating-point constante vereist een exponent"

#~ msgid "missing binary operator before token \"%s\""
#~ msgstr "binaire operator ontbreekt voor het \"%s\"-token"

#~ msgid "token \"%s\" is not valid in preprocessor expressions"
#~ msgstr "token \"%s\" is niet geldig in preprocessor-expressies"

#~ msgid "missing expression between '(' and ')'"
#~ msgstr "expressie ontbreekt tussen '(' en ')'"

#~ msgid "%s with no expression"
#~ msgstr "%s zonder expressie"

#~ msgid "operator '%s' has no right operand"
#~ msgstr "operator '%s' heeft geen rechter operand"

#~ msgid "operator '%s' has no left operand"
#~ msgstr "operator '%s' heeft geen linker operand"

#~ msgid " ':' without preceding '?'"
#~ msgstr " ':' zonder voorafgaande '?'"
