# Dutch messages for GNU bison.
# This file is distributed under the same license as the bison package.
# Copyright (C) 1996, 2002, 2003, 2004, 2005, 2006, 2008, 2010 Free Software Foundation, Inc.
# Tim Van Holder <tim.van.holder@telenet.be>, 2002, 2003, 2004, 2005, 2006, 2008, 2010.
# Erick Branderhorst <branderh@debian.org>, 1996.
#
msgid ""
msgstr ""
"Project-Id-Version: bison 2.4.3\n"
"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
"POT-Creation-Date: 2012-12-12 16:09+0100\n"
"PO-Revision-Date: 2010-11-04 16:36+0100\n"
"Last-Translator: Tim Van Holder <tim.van.holder@telenet.be>\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"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#: src/complain.c:120 src/complain.c:131 src/complain.c:140 src/complain.c:188
#: src/complain.c:198
msgid "warning"
msgstr "let op"

#: src/complain.c:151 src/complain.c:160 src/complain.c:167
#, fuzzy
msgid "error"
msgstr "I/O-fout"

#: src/complain.c:208 src/complain.c:215
msgid "fatal error"
msgstr "fatale fout"

#: src/conflicts.c:77
#, c-format
msgid "    Conflict between rule %d and token %s resolved as shift"
msgstr "    Conflict tussen regel %d en token %s opgelost als shift"

#: src/conflicts.c:86
#, c-format
msgid "    Conflict between rule %d and token %s resolved as reduce"
msgstr "    Conflict tussen regel %d en token %s opgelost als reductie"

#: src/conflicts.c:94
#, c-format
msgid "    Conflict between rule %d and token %s resolved as an error"
msgstr "    Conflict tussen regel %d en token %s opgelost als een fout"

#: src/conflicts.c:492
#, c-format
msgid "conflicts: %d shift/reduce, %d reduce/reduce\n"
msgstr "conflicten: %d shift/reductie, %d reductie/reductie\n"

#: src/conflicts.c:495
#, c-format
msgid "conflicts: %d shift/reduce\n"
msgstr "conflicten: %d shift/reductie\n"

#: src/conflicts.c:497
#, c-format
msgid "conflicts: %d reduce/reduce\n"
msgstr "conflicten: %d reductie/reductie\n"

#: src/conflicts.c:515
#, c-format
msgid "State %d "
msgstr "Staat %d"

#: src/conflicts.c:582
#, c-format
msgid "%%expect-rr applies only to GLR parsers"
msgstr "%%expect-rr is enkel van toepassing op GLR-parsers"

#: src/conflicts.c:616
#, c-format
msgid "expected %d shift/reduce conflict"
msgid_plural "expected %d shift/reduce conflicts"
msgstr[0] "er werd %d shift/reductie conflict verwacht"
msgstr[1] "er werden %d shift/reductie conflicten verwacht"

#: src/conflicts.c:621
#, c-format
msgid "expected %d reduce/reduce conflict"
msgid_plural "expected %d reduce/reduce conflicts"
msgstr[0] "er werd %d reductie/reductie conflict verwacht"
msgstr[1] "er werden %d reductie/reductie conflicten verwacht"

#: src/files.c:114
#, fuzzy, c-format
msgid "%s: cannot open"
msgstr "kan bestand `%s' niet openen"

#: src/files.c:130
#, c-format
msgid "input/output error"
msgstr ""

#: src/files.c:133
#, c-format
msgid "cannot close file"
msgstr "kan bestand niet sluiten"

# Betere formulering (ik-vorm vermijden)?
#: src/files.c:352
#, c-format
msgid "refusing to overwrite the input file %s"
msgstr "ik weiger om invoerbestand %s te overschrijven"

#: src/files.c:362
#, c-format
msgid "conflicting outputs to file %s"
msgstr "conflicterende uitvoer naar bestand %s"

#: src/getargs.c:292
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Probeer `%s --help' voor meer informatie.\n"

#: src/getargs.c:301
#, c-format
msgid "Usage: %s [OPTION]... FILE\n"
msgstr "Gebruik: %s [OPTIE]... BESTAND\n"

#: src/getargs.c:302
msgid ""
"Generate a deterministic LR or generalized LR (GLR) parser employing\n"
"LALR(1), IELR(1), or canonical LR(1) parser tables.  IELR(1) and\n"
"canonical LR(1) support is experimental.\n"
"\n"
msgstr ""

#: src/getargs.c:309
msgid ""
"Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
"Wanneer een lange optie een argument als verplicht aanduidt, dan is dat\n"
"argument eveneens verplicht bij de overeenkomstige korte optie.\n"

#: src/getargs.c:312
msgid "The same is true for optional arguments.\n"
msgstr "Hetzelfde geldt voor optionele argumenten.\n"

# Misschien beter 'een POSIX-compatibele yacc'?
# En de tekst voor -W kan beter denk ik.
#: src/getargs.c:316
#, fuzzy
msgid ""
"\n"
"Operation modes:\n"
"  -h, --help                 display this help and exit\n"
"  -V, --version              output version information and exit\n"
"      --print-localedir      output directory containing locale-dependent "
"data\n"
"      --print-datadir        output directory containing skeletons and XSLT\n"
"  -y, --yacc                 emulate POSIX Yacc\n"
"  -W, --warnings[=CATEGORY]  report the warnings falling in CATEGORY\n"
"  -f, --feature[=FEATURE]    activate miscellaneous features\n"
"\n"
msgstr ""
"\n"
"Werkwijzes:\n"
"  -h, --help                 toon deze hulptekst en beëindig het programma\n"
"  -V, --version              toon versie-informatie en beëindig het "
"programma\n"
"      --print-localedir      toon de folder met regio-afhankelijke gegevens\n"
"      --print-datadir        toon de folder met skeletten en XSLT-bestanden\n"
"  -y, --yacc                 emuleer POSIX Yacc\n"
"  -W, --warnings[=SOORT]     waarschuw over problemen (van het type SOORT)\n"

# Correcte vervoeging van 'voorvoegen'?
# Betere vertaling voor 'directives'?
#: src/getargs.c:329
#, fuzzy, c-format
msgid ""
"Parser:\n"
"  -L, --language=LANGUAGE          specify the output programming language\n"
"  -S, --skeleton=FILE              specify the skeleton to use\n"
"  -t, --debug                      instrument the parser for debugging\n"
"      --locations                  enable location support\n"
"  -D, --define=NAME[=VALUE]        similar to '%define NAME \"VALUE\"'\n"
"  -F, --force-define=NAME[=VALUE]  override '%define NAME \"VALUE\"'\n"
"  -p, --name-prefix=PREFIX         prepend PREFIX to the external symbols\n"
"                                   deprecated by '-Dapi.prefix=PREFIX'\n"
"  -l, --no-lines                   don't generate '#line' directives\n"
"  -k, --token-table                include a table of token names\n"
msgstr ""
"Parser:\n"
"  -L, --language=TAAL        geef de te gebruiken programmeertaal op\n"
"  -S, --skeleton=BESTAND     geef het te gebruiken skeletbestand op\n"
"  -t, --debug                maak de parser geschikt voor debugging\n"
"      --locations            houd symboollokaties bij\n"
"  -p, --name-prefix=PREFIX   geef de externe symboolnamen deze PREFIX\n"
"  -l, --no-lines             genereer geen `#line' directieven\n"
"  -k, --token-table          genereer ook een tabel van tokennamen\n"

#: src/getargs.c:346
#, fuzzy
msgid ""
"Output:\n"
"      --defines[=FILE]       also produce a header file\n"
"  -d                         likewise but cannot specify FILE (for POSIX "
"Yacc)\n"
"  -r, --report=THINGS        also produce details on the automaton\n"
"      --report-file=FILE     write report to FILE\n"
"  -v, --verbose              same as `--report=state'\n"
"  -b, --file-prefix=PREFIX   specify a PREFIX for output files\n"
"  -o, --output=FILE          leave output to FILE\n"
"  -g, --graph[=FILE]         also output a graph of the automaton\n"
"  -x, --xml[=FILE]           also output an XML report of the automaton\n"
"                             (the XML schema is experimental)\n"
msgstr ""
"Uitvoer:\n"
"      --defines[=BESTAND]    genereer ook een header-bestand\n"
"  -d                         idem, maar bestand kan niet opegegeven worden\n"
"                             (voor POSIX Yacc)\n"
"  -r, --report=DINGEN        genereer ook details over de automaat\n"
"      --report-file=BESTAND  schrijf het rapport weg in BESTAND\n"
"  -v, --verbose              hetzelfde als `--report=state'\n"
"  -b, --file-prefix=PREFIX   geef de uitvoerbestandsnamen deze PREFIX\n"
"  -o, --output=BESTAND       schrijf uitvoer naar BESTAND\n"
"  -g, --graph[=BESTAND]      genereer ook een graaf van de automaat\n"
"  -x, --xml[=BESTAND]        genereer ook een XML-rapport over de automaat\n"
"                             (het XML schema is experimenteel)\n"
"\n"

#: src/getargs.c:361
#, fuzzy
msgid ""
"Warning categories include:\n"
"  `midrule-values'  unset or unused midrule values\n"
"  `yacc'            incompatibilities with POSIX Yacc\n"
"  `conflicts-sr'    S/R conflicts (enabled by default)\n"
"  `conflicts-rr'    R/R conflicts (enabled by default)\n"
"  `deprecated'      obsolete constructs\n"
"  `other'           all other warnings (enabled by default)\n"
"  `all'             all the warnings\n"
"  `no-CATEGORY'     turn off warnings in CATEGORY\n"
"  `none'            turn off all the warnings\n"
"  `error'           treat warnings as errors\n"
msgstr ""
"Soorten van waarschuwing zijn:\n"
"  `midrule-values'  midrule waarden die niet gezet of gebruikt worden\n"
"  `yacc'            dingen die niet compatibel zijn met POSIX Yacc\n"
"  `all'             alle waarschuwingen\n"
"  `no-SOORT'        geen waarschuwingen van type SOORT\n"
"  `none'            helemaal geen waarschuwingen\n"
"  `error'           beschouw waarschuwingen als fouten\n"
"\n"

# Verschillende dingen die beter zouden moeten kunnen - zeker de 'itemset' tekst
#: src/getargs.c:376
msgid ""
"THINGS is a list of comma separated words that can include:\n"
"  `state'        describe the states\n"
"  `itemset'      complete the core item sets with their closure\n"
"  `lookahead'    explicitly associate lookahead tokens to items\n"
"  `solved'       describe shift/reduce conflicts solving\n"
"  `all'          include all the above information\n"
"  `none'         disable the report\n"
msgstr ""
"DINGEN is een door komma's gescheiden lijst van woorden; geldige woorden "
"zijn:\n"
"  `state'        beschrijf de toestanden van de automaat\n"
"  `itemset'      vervolledig de verzamelingen van kern-items met hun "
"closures\n"
"  `look-ahead'   verbind look-ahead tokens expliciet met items\n"
"  `solved'       beschrijf het oplossen van shift/reductie conflicten\n"
"  `all'          produceer alle bovengenoemde informatie\n"
"  `none'         schakel de rapportering uit\n"

#: src/getargs.c:387
msgid ""
"FEATURE is a list of comma separated words that can include:\n"
"  `caret'        show errors with carets\n"
"  `all'          all of the above\n"
"  `none'         disable all of the above\n"
"  "
msgstr ""

#: src/getargs.c:395
#, fuzzy, c-format
msgid "Report bugs to <%s>.\n"
msgstr ""
"\n"
"Meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
"Meld bugs aan <%s>.\n"

#: src/getargs.c:396
#, c-format
msgid "%s home page: <%s>.\n"
msgstr ""

#: src/getargs.c:397
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
msgstr ""

#. TRANSLATORS: Replace LANG_CODE in this URL with your language
#. code <http://translationproject.org/team/LANG_CODE.html> to
#. form one of the URLs at http://translationproject.org/team/.
#. Otherwise, replace the entire URL with your translation team's
#. email address.
#: src/getargs.c:410
msgid "Report translation bugs to <http://translationproject.org/team/>.\n"
msgstr ""

#: src/getargs.c:412
msgid "For complete documentation, run: info bison.\n"
msgstr ""

#: src/getargs.c:428
#, c-format
msgid "bison (GNU Bison) %s"
msgstr "bison (GNU Bison) %s"

#: src/getargs.c:430
msgid "Written by Robert Corbett and Richard Stallman.\n"
msgstr "Geschreven door Robert Corbett en Richard Stallman.\n"

#: src/getargs.c:434
#, c-format
msgid "Copyright (C) %d Free Software Foundation, Inc.\n"
msgstr "Copyright (C) %d Free Software Foundation, Inc.\n"

#: src/getargs.c:437
msgid ""
"This is free software; see the source for copying conditions.  There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
"Dit is vrije software; zie de broncode voor kopieercondities.  Er is GEEN\n"
"garantie; zelfs niet voor VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD\n"
"DOEL.\n"

#: src/getargs.c:458
#, c-format
msgid "multiple skeleton declarations are invalid"
msgstr "meerdere skeletten opgeven is niet toegestaan"

#: src/getargs.c:476
#, fuzzy, c-format
msgid "%s: invalid language"
msgstr "ongeldige taal `%s'"

#: src/getargs.c:479
msgid "multiple language declarations are invalid"
msgstr "meerdere talen opgeven is niet toegestaan"

#: src/getargs.c:747
#, fuzzy, c-format
msgid "%s: missing operand"
msgstr "operand ontbreekt na `%s'"

#: src/getargs.c:749
#, fuzzy, c-format
msgid "extra operand %s"
msgstr "overtollige operand `%s'"

#: src/gram.c:112
msgid "empty"
msgstr "leeg"

#: src/gram.c:201
msgid "Grammar"
msgstr "Grammatica"

#: src/graphviz.c:45
#, c-format
msgid ""
"// Generated by %s.\n"
"// Report bugs to <%s>.\n"
"// Home page: <%s>.\n"
"\n"
msgstr ""

#: src/location.c:93 src/scan-gram.l:859
#, c-format
msgid "line number overflow"
msgstr "overflow van lijnnummers"

#: src/location.c:95
#, c-format
msgid "column number overflow"
msgstr "overflow van kolomnummers"

#: src/main.c:146
msgid "rule useless in parser due to conflicts"
msgstr "regel is nutteloos in de grammatica omwille van conflicten"

#: src/muscle-tab.c:450
#, fuzzy, c-format
msgid "%%define variable %s redefined"
msgstr "%s `%s' opnieuw gedefinieerd"

#: src/muscle-tab.c:453
msgid "previous definition"
msgstr "eerdere definitie"

#: src/muscle-tab.c:490 src/muscle-tab.c:504 src/muscle-tab.c:556
#: src/muscle-tab.c:624
#, fuzzy, c-format
msgid "%s: undefined %%define variable %s"
msgstr "ongeldige waarde voor %%define variabele `%s': `%s'"

#: src/muscle-tab.c:550
#, fuzzy, c-format
msgid "invalid value for %%define Boolean variable %s"
msgstr "ongeldige waarde voor Booleaanse %%define variabele `%s'"

#: src/muscle-tab.c:609
#, fuzzy, c-format
msgid "invalid value for %%define variable %s: %s"
msgstr "ongeldige waarde voor %%define variabele `%s': `%s'"

#: src/muscle-tab.c:613
#, fuzzy, c-format
msgid "accepted value: %s"
msgstr "waarde niet gebruikt: $%d"

#: src/parse-gram.y:747
#, c-format
msgid "missing identifier in parameter declaration"
msgstr "naam ontbreekt in parameterdeclaratie"

#: src/print.c:47
#, c-format
msgid " type %d is %s\n"
msgstr " type %d is %s\n"

#: src/print.c:164
#, c-format
msgid "shift, and go to state %d\n"
msgstr "shift, en ga naar toestand %d\n"

#: src/print.c:166
#, c-format
msgid "go to state %d\n"
msgstr "ga naar toestand %d\n"

#: src/print.c:203
msgid "error (nonassociative)\n"
msgstr "fout (niet associatief)\n"

#: src/print.c:226
#, c-format
msgid "reduce using rule %d (%s)"
msgstr "reduceren via regel %d (%s)"

#: src/print.c:228
#, c-format
msgid "accept"
msgstr "accepteer"

#: src/print.c:264 src/print.c:338
msgid "$default"
msgstr "$standaard"

#: src/print.c:373 src/print_graph.c:78
#, fuzzy, c-format
msgid "State %d"
msgstr "Staat %d"

#: src/print.c:409
msgid "Terminals, with rules where they appear"
msgstr "Eindsymbolen, met de regels waarin ze voorkomen"

# Betere vertaling voor non-terminals? 'tussensymbolen'?
#: src/print.c:436
msgid "Nonterminals, with rules where they appear"
msgstr "Niet-eindsymbolen, met de regels waarin ze voorkomen"

#: src/print.c:465
#, c-format
msgid " on left:"
msgstr " links:"

#: src/print.c:482
#, c-format
msgid " on right:"
msgstr " rechts:"

#: src/print.c:510
msgid "Rules useless in parser due to conflicts"
msgstr "Regels die, omwille van conflicten, nutteloos zijn in de grammatica"

#: src/reader.c:62
#, c-format
msgid "multiple %s declarations"
msgstr "meerdere %s declaraties"

#: src/reader.c:133
#, fuzzy, c-format
msgid "result type clash on merge function %s: <%s> != <%s>"
msgstr "conflict tussen resultaattypes bij merge-functie `%s': <%s> != <%s>"

#: src/reader.c:139 src/symtab.c:156 src/symtab.c:166 src/symtab.c:938
#: src/symtab.c:953 src/symtab.c:968 src/symtab.c:983
msgid "previous declaration"
msgstr "eerdere declaratie"

#: src/reader.c:205
#, c-format
msgid "duplicated symbol name for %s ignored"
msgstr ""

#: src/reader.c:249
#, c-format
msgid "rule given for %s, which is a token"
msgstr "regel opgegeven voor token (%s)"

#: src/reader.c:304
#, c-format
msgid "type clash on default action: <%s> != <%s>"
msgstr "type-conflict bij standaardaktie: <%s> != <%s>"

#: src/reader.c:310
#, c-format
msgid "empty rule for typed nonterminal, and no action"
msgstr "lege regel voor niet-eindsymbool met type, en geen actie"

#: src/reader.c:328
#, c-format
msgid "unused value: $%d"
msgstr "waarde niet gebruikt: $%d"

#: src/reader.c:330
msgid "unset value: $$"
msgstr "waarde niet gezet: $$"

#: src/reader.c:341
#, c-format
msgid "token for %%prec is not defined: %s"
msgstr "token voor %%prec is niet gedefinieerd: %s"

#: src/reader.c:431 src/reader.c:445 src/reader.c:458
#, c-format
msgid "only one %s allowed per rule"
msgstr "slechts één %s toegestaan per regel"

#: src/reader.c:441 src/reader.c:456
#, c-format
msgid "%s affects only GLR parsers"
msgstr "%s is enkel van toepassing op GLR-parsers"

#: src/reader.c:443
#, c-format
msgid "%s must be followed by positive number"
msgstr "%s moet gevolgd worden door een positief getal"

#: src/reader.c:554
#, c-format
msgid "rule is too long"
msgstr "regel is te lang"

#: src/reader.c:672
#, c-format
msgid "no rules in the input grammar"
msgstr "invoergrammatica bevat geen regels"

#: src/reduce.c:241
msgid "rule useless in grammar"
msgstr "regel is nutteloos in de grammatica"

#: src/reduce.c:302
#, c-format
msgid "nonterminal useless in grammar: %s"
msgstr "niet-eindsymbool is nutteloos in de grammatica: %s"

#: src/reduce.c:350
msgid "Nonterminals useless in grammar"
msgstr "Niet-eindsymbolen die nutteloos zijn in de grammatica"

#: src/reduce.c:363
msgid "Terminals unused in grammar"
msgstr "Eindsymbolen die niet gebruikt worden in de grammatica"

#: src/reduce.c:372
msgid "Rules useless in grammar"
msgstr "Regels die nutteloos zijn in de grammatica"

#: src/reduce.c:385
#, c-format
msgid "%d nonterminal useless in grammar"
msgid_plural "%d nonterminals useless in grammar"
msgstr[0] "%d niet-eindsymbool is nutteloos in de grammatica"
msgstr[1] "%d niet-eindsymbolen zijn nutteloos in de grammatica"

#: src/reduce.c:390
#, c-format
msgid "%d rule useless in grammar"
msgid_plural "%d rules useless in grammar"
msgstr[0] "%d regel is nutteloos in de grammatica"
msgstr[1] "%d regels zijn nutteloos in de grammatica"

# Ik _denk_ dat dit correct weergeeft wat er bedoeld wordt (m.a.w. er is geen regel voor het startsymbool)
#: src/reduce.c:419
#, c-format
msgid "start symbol %s does not derive any sentence"
msgstr "uit startsymbool %s kan geen enkele zin afgeleid worden"

#: src/scan-code.l:188
#, fuzzy, c-format
msgid "stray '%s'"
msgstr "losse `$'"

#: src/scan-code.l:229
msgid "a ';' might be needed at the end of action code"
msgstr ""

#: src/scan-code.l:232
msgid "future versions of Bison will not add the ';'"
msgstr ""

#: src/scan-code.l:254
#, c-format
msgid "use of YYFAIL, which is deprecated and will be removed"
msgstr ""

#: src/scan-code.l:431 src/scan-code.l:434
#, c-format
msgid "refers to: %c%s at %s"
msgstr ""

#: src/scan-code.l:450
#, c-format
msgid "possibly meant: %c"
msgstr ""

#: src/scan-code.l:459
#, c-format
msgid ", hiding %c"
msgstr ""

#: src/scan-code.l:467
#, c-format
msgid " at %s"
msgstr ""

#: src/scan-code.l:472
#, c-format
msgid ", cannot be accessed from mid-rule action at $%d"
msgstr ""

# Hier zou wel het bereik bij vermeld mogen worden...
#: src/scan-code.l:521 src/scan-gram.l:783
#, c-format
msgid "integer out of range: %s"
msgstr "integer buiten bereik: %s"

#: src/scan-code.l:610
#, fuzzy, c-format
msgid "invalid reference: %s"
msgstr "ongeldig commando: %s"

#: src/scan-code.l:619
#, c-format
msgid "syntax error after '%c', expecting integer, letter, '_', '[', or '$'"
msgstr ""

#: src/scan-code.l:626
#, c-format
msgid "symbol not found in production before $%d: %.*s"
msgstr ""

#: src/scan-code.l:633
#, c-format
msgid "symbol not found in production: %.*s"
msgstr ""

#: src/scan-code.l:648
#, c-format
msgid "misleading reference: %s"
msgstr ""

#: src/scan-code.l:663
#, fuzzy, c-format
msgid "ambiguous reference: %s"
msgstr "argument %s voor %s is niet eenduidig"

# betere vertaling voor 'untyped'?
#: src/scan-code.l:700
#, c-format
msgid "explicit type given in untyped grammar"
msgstr "expliciet type opgegeven in een typeloze grammatica"

#: src/scan-code.l:759
#, fuzzy, c-format
msgid "$$ for the midrule at $%d of %s has no declared type"
msgstr "$$ voor de midrule op $%d van `%s' heeft geen gedeclareerd type"

#: src/scan-code.l:764
#, fuzzy, c-format
msgid "$$ of %s has no declared type"
msgstr "$$ van `%s' heeft geen gedeclareerd type"

#: src/scan-code.l:786
#, fuzzy, c-format
msgid "$%s of %s has no declared type"
msgstr "$%d van `%s' heeft geen gedeclareerd type"

#: src/scan-gram.l:149
#, fuzzy, c-format
msgid "stray ',' treated as white space"
msgstr "losse `,' behandeld als witruimte"

#: src/scan-gram.l:222
#, c-format
msgid "invalid directive: %s"
msgstr "ongeldig commando: %s"

#: src/scan-gram.l:250
#, fuzzy, c-format
msgid "invalid identifier: %s"
msgstr "ongeldig commando: %s"

#: src/scan-gram.l:295
#, fuzzy
msgid "invalid character"
msgid_plural "invalid characters"
msgstr[0] "ongeldig teken: %s"
msgstr[1] "ongeldig teken: %s"

#: src/scan-gram.l:354
#, c-format
msgid "unexpected identifier in bracketed name: %s"
msgstr ""

#: src/scan-gram.l:376
#, c-format
msgid "an identifier expected"
msgstr ""

#: src/scan-gram.l:381
#, fuzzy
msgid "invalid character in bracketed name"
msgid_plural "invalid characters in bracketed name"
msgstr[0] "ongeldig teken na \\-escape: %s"
msgstr[1] "ongeldig teken na \\-escape: %s"

#: src/scan-gram.l:481 src/scan-gram.l:502
#, c-format
msgid "empty character literal"
msgstr ""

#: src/scan-gram.l:486 src/scan-gram.l:507
#, c-format
msgid "extra characters in character literal"
msgstr ""

#: src/scan-gram.l:518
#, c-format
msgid "invalid null character"
msgstr "ongeldig null-teken"

#: src/scan-gram.l:531 src/scan-gram.l:541 src/scan-gram.l:561
#, c-format
msgid "invalid number after \\-escape: %s"
msgstr "ongeldig getal na \\-escape: %s"

#: src/scan-gram.l:573
#, c-format
msgid "invalid character after \\-escape: %s"
msgstr "ongeldig teken na \\-escape: %s"

#: src/scan-gram.l:901
#, fuzzy, c-format
msgid "missing %s at end of file"
msgstr "`%s' ontbreekt aan einde van bestand"

#: src/scan-gram.l:912
#, fuzzy, c-format
msgid "missing %s at end of line"
msgstr "`%s' ontbreekt aan einde van regel"

#: src/scan-skel.l:146
#, c-format
msgid "unclosed %s directive in skeleton"
msgstr "onbeëindigd %s commando in skelet"

#: src/scan-skel.l:291
#, c-format
msgid "too few arguments for %s directive in skeleton"
msgstr "te weinig argumenten voor %s commando in skelet"

#: src/scan-skel.l:298
#, c-format
msgid "too many arguments for %s directive in skeleton"
msgstr "teveel argumenten voor %s commando in skelet"

#: src/symlist.c:211
#, c-format
msgid "invalid $ value: $%d"
msgstr "ongeldige $-waarde: $%d"

#: src/symtab.c:71
#, c-format
msgid "POSIX Yacc forbids dashes in symbol names: %s"
msgstr ""

#: src/symtab.c:91
#, c-format
msgid "too many symbols in input grammar (limit is %d)"
msgstr "te veel symbolen in de invoergrammatica (de limiet is %d)"

# Dit ziet er als een potentieel slechte originele string uit - wat kan er in die eerste '%s' staan?
#: src/symtab.c:154
#, c-format
msgid "%s redeclaration for %s"
msgstr "%s herdeclaratie voor %s"

# Dit ziet er als een potentieel slechte originele string uit - wat kan er in die eerste '%s' staan?
#: src/symtab.c:164
#, c-format
msgid "%s redeclaration for <%s>"
msgstr "%s herdeclaratie voor <%s>"

#: src/symtab.c:332
#, c-format
msgid "symbol %s redefined"
msgstr "symbool %s opnieuw gedefinieerd"

#: src/symtab.c:346
#, c-format
msgid "symbol %s redeclared"
msgstr "symbool %s opnieuw gedeclareerd"

#: src/symtab.c:367
#, c-format
msgid "redefining user token number of %s"
msgstr "herdefinitie van het door de gebruiker gekozen tokennummer van %s"

#: src/symtab.c:395
#, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr ""
"symbool %s wordt gebruikt, maar is niet gedefinieerd als een token en heeft "
"geen regels"

#: src/symtab.c:415
#, fuzzy, c-format
msgid "symbol %s used more than once as a literal string"
msgstr "symbool `%s' meer dan eens gebruikt als een letterlijke string"

#: src/symtab.c:418
#, fuzzy, c-format
msgid "symbol %s given more than one literal string"
msgstr "symbool `%s' krijgt meer dan één letterlijke string toegewezen"

# Dit ziet er als een potentieel slechte originele string uit - wat kan er in die eerste '%s' staan?
#: src/symtab.c:535
#, fuzzy, c-format
msgid "user token number %d redeclaration for %s"
msgstr "%s herdeclaratie voor %s"

#: src/symtab.c:539
#, fuzzy, c-format
msgid "previous declaration for %s"
msgstr "eerdere declaratie"

#: src/symtab.c:915
#, c-format
msgid "the start symbol %s is undefined"
msgstr "het startsymbool %s is niet gedefinieerd"

#: src/symtab.c:919
#, c-format
msgid "the start symbol %s is a token"
msgstr "het startsymbool %s is een token"

# tagged en tagless? wasdavooriet?
#: src/symtab.c:935
#, c-format
msgid "redeclaration for default tagged %%destructor"
msgstr "herdeclaratie van standaard \"tagged\" %%destructor"

#: src/symtab.c:950
#, c-format
msgid "redeclaration for default tagless %%destructor"
msgstr "herdeclaratie van standaard \"tagless\" %%destructor"

#: src/symtab.c:965
#, c-format
msgid "redeclaration for default tagged %%printer"
msgstr "herdeclaratie van standaard \"tagged\" %%printer"

#: src/symtab.c:980
#, c-format
msgid "redeclaration for default tagless %%printer"
msgstr "herdeclaratie van standaard \"tagless\" %%printer"

#: djgpp/subpipe.c:63 djgpp/subpipe.c:286 djgpp/subpipe.c:288
#, c-format
msgid "removing of '%s' failed"
msgstr ""

#: djgpp/subpipe.c:85 djgpp/subpipe.c:92
#, c-format
msgid "creation of a temporary file failed"
msgstr ""

#: djgpp/subpipe.c:127
#, c-format
msgid "saving stdin failed"
msgstr ""

#: djgpp/subpipe.c:131
#, c-format
msgid "saving stdout failed"
msgstr ""

#: djgpp/subpipe.c:153 djgpp/subpipe.c:197 djgpp/subpipe.c:258
#, fuzzy, c-format
msgid "opening of tmpfile failed"
msgstr "_open_osfhandle mislukt"

#: djgpp/subpipe.c:157
#, c-format
msgid "redirecting bison's stdout to the temporary file failed"
msgstr ""

#: djgpp/subpipe.c:201
#, c-format
msgid "redirecting m4's stdin from the temporary file failed"
msgstr ""

#: djgpp/subpipe.c:212
#, c-format
msgid "opening of a temporary file failed"
msgstr ""

#: djgpp/subpipe.c:218
#, c-format
msgid "redirecting m4's stdout to a temporary file failed"
msgstr ""

#: djgpp/subpipe.c:234
#, c-format
msgid "subsidiary program '%s' interrupted"
msgstr ""

#: djgpp/subpipe.c:241
#, c-format
msgid "subsidiary program '%s' not found"
msgstr ""

#: djgpp/subpipe.c:265
#, c-format
msgid "redirecting bison's stdin from the temporary file failed"
msgstr ""

#: lib/argmatch.c:133
#, c-format
msgid "invalid argument %s for %s"
msgstr "ongeldig argument %s voor %s"

#: lib/argmatch.c:134
#, c-format
msgid "ambiguous argument %s for %s"
msgstr "argument %s voor %s is niet eenduidig"

#: lib/argmatch.c:153
msgid "Valid arguments are:"
msgstr "Geldige argumenten zijn:"

#: lib/bitset_stats.c:177
#, c-format
msgid "%u bitset_allocs, %u freed (%.2f%%).\n"
msgstr "%u bitset_allocs, %u vrijgegeven (%.2f%%).\n"

#: lib/bitset_stats.c:180
#, c-format
msgid "%u bitset_sets, %u cached (%.2f%%)\n"
msgstr "%u bitset_sets, %u gecached (%.2f%%)\n"

#: lib/bitset_stats.c:183
#, c-format
msgid "%u bitset_resets, %u cached (%.2f%%)\n"
msgstr "%u bitset_resets, %u gecached (%.2f%%)\n"

#: lib/bitset_stats.c:186
#, c-format
msgid "%u bitset_tests, %u cached (%.2f%%)\n"
msgstr "%u bitset_tests, %u gecached (%.2f%%)\n"

#: lib/bitset_stats.c:190
#, c-format
msgid "%u bitset_lists\n"
msgstr "%u bitset_lists\n"

#: lib/bitset_stats.c:192
msgid "count log histogram\n"
msgstr "histogram van aantal gezette bits\n"

#: lib/bitset_stats.c:195
msgid "size log histogram\n"
msgstr "histogram van bitset-groottes\n"

#: lib/bitset_stats.c:198
msgid "density histogram\n"
msgstr "histogram van dichtheid aan gezette bits\n"

#: lib/bitset_stats.c:212
#, c-format
msgid ""
"Bitset statistics:\n"
"\n"
msgstr ""
"Bitset-statistieken:\n"
"\n"

#: lib/bitset_stats.c:215
#, c-format
msgid "Accumulated runs = %u\n"
msgstr "Aantal uitvoeringen = %u\n"

#: lib/bitset_stats.c:259 lib/bitset_stats.c:264
#, fuzzy
msgid "cannot read stats file"
msgstr "Kon het statistiekenbestand niet lezen."

#: lib/bitset_stats.c:261
#, fuzzy, c-format
msgid "bad stats file size\n"
msgstr "Het statistiekenbestand heeft een verkeerde grootte.\n"

#: lib/bitset_stats.c:287 lib/bitset_stats.c:289
#, fuzzy
msgid "cannot write stats file"
msgstr "Kon niet schrijven naar het statistiekenbestand."

#: lib/bitset_stats.c:292
#, fuzzy
msgid "cannot open stats file for writing"
msgstr "Kon het statistiekenbestand niet openen voor schrijven."

#: lib/closeout.c:112
#, fuzzy
msgid "write error"
msgstr "fatale fout"

#: lib/error.c:188
msgid "Unknown system error"
msgstr "Onbekende systeemfout"

#: lib/getopt.c:547 lib/getopt.c:576
#, fuzzy, c-format
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: optie '%s' is niet eenduidig\n"

#: lib/getopt.c:624 lib/getopt.c:628
#, c-format
msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: optie '--%s' staat geen argument toe\n"

#: lib/getopt.c:637 lib/getopt.c:642
#, c-format
msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: optie '%c%s' staat geen argument toe\n"

#: lib/getopt.c:685 lib/getopt.c:704
#, c-format
msgid "%s: option '--%s' requires an argument\n"
msgstr "%s: optie '--%s' vereist een argument\n"

#: lib/getopt.c:742 lib/getopt.c:745
#, c-format
msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: onbekende optie '--%s'\n"

#: lib/getopt.c:753 lib/getopt.c:756
#, c-format
msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: onbekende optie '%c%s'\n"

#: lib/getopt.c:805 lib/getopt.c:808
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ongeldige optie -- '%c'\n"

#: lib/getopt.c:861 lib/getopt.c:878 lib/getopt.c:1088 lib/getopt.c:1106
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: optie vereist een argument -- '%c'\n"

#: lib/getopt.c:934 lib/getopt.c:950
#, c-format
msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: optie '-W %s' is niet eenduidig\n"

#: lib/getopt.c:974 lib/getopt.c:992
#, c-format
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: optie '-W %s' staat geen argument toe\n"

#: lib/getopt.c:1013 lib/getopt.c:1031
#, c-format
msgid "%s: option '-W %s' requires an argument\n"
msgstr "%s: optie '-W %s' vereist een argument\n"

#: lib/obstack.c:413 lib/obstack.c:415 lib/xalloc-die.c:34
msgid "memory exhausted"
msgstr "geen geheugen meer beschikbaar"

# Is hier een Nederlandse term voor? "Datapijp"? "Sluis" (via "doorsluizen" als vertaling voor "pipe" als werkwoord)?
#: lib/spawn-pipe.c:140 lib/spawn-pipe.c:143 lib/spawn-pipe.c:264
#: lib/spawn-pipe.c:267
#, c-format
msgid "cannot create pipe"
msgstr "kan geen pipe aanmaken"

#: lib/spawn-pipe.c:234 lib/spawn-pipe.c:348 lib/wait-process.c:282
#: lib/wait-process.c:356
#, c-format
msgid "%s subprocess failed"
msgstr "%s subproces mislukt"

#. 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
#. <http://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
#. and use glyphs suitable for your language.
#: lib/quotearg.c:312
msgid "`"
msgstr "`"

#: lib/quotearg.c:313
msgid "'"
msgstr "'"

#: lib/timevar.c:475
msgid ""
"\n"
"Execution times (seconds)\n"
msgstr ""
"\n"
"Uitvoeringstijden (in seconden)\n"

#: lib/timevar.c:525
msgid " TOTAL                 :"
msgstr " TOTAAL                :"

#: lib/timevar.c:561
#, c-format
msgid "time in %s: %ld.%06ld (%ld%%)\n"
msgstr "tijd in %s: %ld.%06ld (%ld%%)\n"

#: lib/w32spawn.h:43
#, c-format
msgid "_open_osfhandle failed"
msgstr "_open_osfhandle mislukt"

#: lib/w32spawn.h:84
#, c-format
msgid "cannot restore fd %d: dup2 failed"
msgstr "kan fd %d niet herstellen: dup2 mislukt"

#: lib/wait-process.c:223 lib/wait-process.c:255 lib/wait-process.c:317
#, c-format
msgid "%s subprocess"
msgstr "%s subproces"

#: lib/wait-process.c:274 lib/wait-process.c:346
#, c-format
msgid "%s subprocess got fatal signal %d"
msgstr "%s subproces kreeg fataal signaal %d"

#~ msgid "state %d"
#~ msgstr "toestand %d"

#, fuzzy
#~ msgid "stray '@'"
#~ msgstr "losse `@'"

#~ msgid ""
#~ "undefined %%define variable `%s' passed to muscle_percent_define_get_loc"
#~ msgstr ""
#~ "niet-gedefinieerde %%define variabele `%s' doorgegeven aan "
#~ "muscle_percent_define_get_loc"

#~ msgid ""
#~ "undefined %%define variable `%s' passed to "
#~ "muscle_percent_define_get_syncline"
#~ msgstr ""
#~ "niet-gedefinieerde %%define variabele `%s' doorgegeven aan "
#~ "muscle_percent_define_get_syncline"

#~ msgid ""
#~ "undefined %%define variable `%s' passed to muscle_percent_define_flag_if"
#~ msgstr ""
#~ "niet-gedefinieerde %%define variabele `%s' doorgegeven aan "
#~ "muscle_percent_define_flag_if"

#~ msgid ""
#~ "undefined %%define variable `%s' passed to "
#~ "muscle_percent_define_check_values"
#~ msgstr ""
#~ "niet-gedefinieerde %%define variabele `%s' doorgegeven aan "
#~ "muscle_percent_define_check_values"

#~ msgid ""
#~ "Generate LALR(1) and GLR parsers.\n"
#~ "\n"
#~ msgstr ""
#~ "Genereer LALR(1) en GLR parsers.\n"
#~ "\n"

#~ msgid "tokens %s and %s both assigned number %d"
#~ msgstr "tokens %s en %s hebben beide nummer %d toegewezen gekregen"
