# Translation of sed-4.2.0 to Dutch.
# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
# This file is distributed under the same license as the sed package.
#
# Taco Witte <tcwitte@cs.uu.nl>, 2004, 2005.
# Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2008.
msgid ""
msgstr ""
"Project-Id-Version: sed-4.2.0\n"
"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
"POT-Creation-Date: 2009-06-27 15:08+0200\n"
"PO-Revision-Date: 2008-01-17 22:49+0100\n"
"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: KBabel 1.11.4\n"

#: sed/compile.c:161
msgid "multiple `!'s"
msgstr "meerdere '!'"

#: sed/compile.c:162
msgid "unexpected `,'"
msgstr "onverwachte ','"

#: sed/compile.c:163
msgid "invalid usage of +N or ~N as first address"
msgstr "ongeldig gebruik van +N of ~N als eerste adres"

#: sed/compile.c:164
msgid "unmatched `{'"
msgstr "ongepaarde '{'"

#: sed/compile.c:165
msgid "unexpected `}'"
msgstr "onverwachte '}'"

#: sed/compile.c:166
msgid "extra characters after command"
msgstr "extra tekens na opdracht"

#: sed/compile.c:167
msgid "expected \\ after `a', `c' or `i'"
msgstr "een '\\' werd verwacht na 'a', 'c' of 'i'"

#: sed/compile.c:168
msgid "`}' doesn't want any addresses"
msgstr "'}' accepteert geen adressen"

#: sed/compile.c:169
msgid ": doesn't want any addresses"
msgstr "':' accepteert geen adressen"

#: sed/compile.c:170
msgid "comments don't accept any addresses"
msgstr "opmerkingen accepteren geen adres"

#: sed/compile.c:171
msgid "missing command"
msgstr "ontbrekende opdracht"

#: sed/compile.c:172
msgid "command only uses one address"
msgstr "opdracht accepteert slechts één adres"

#: sed/compile.c:173
msgid "unterminated address regex"
msgstr "onafgemaakte reguliere expressie voor adres"

#: sed/compile.c:174
msgid "unterminated `s' command"
msgstr "onafgemaakte 's'-opdracht"

#: sed/compile.c:175
msgid "unterminated `y' command"
msgstr "onafgemaakte 'y'-opdracht"

#: sed/compile.c:176
msgid "unknown option to `s'"
msgstr "onbekende optie bij 's'-opdracht"

#: sed/compile.c:177
msgid "multiple `p' options to `s' command"
msgstr "meerdere 'p'-opties bij 's'-opdracht"

#: sed/compile.c:178
msgid "multiple `g' options to `s' command"
msgstr "meerdere 'g'-opties bij 's'-opdracht"

#: sed/compile.c:179
msgid "multiple number options to `s' command"
msgstr "meerdere getalopties bij 's'-opdracht"

#: sed/compile.c:180
msgid "number option to `s' command may not be zero"
msgstr "getaloptie bij 's'-opdracht mag niet nul zijn"

#: sed/compile.c:181
msgid "strings for `y' command are different lengths"
msgstr "tekenreeksen bij 'y'-opdracht zijn van verschillende lengte"

#: sed/compile.c:182
msgid "delimiter character is not a single-byte character"
msgstr "scheidingsteken is niet één enkele byte"

#: sed/compile.c:183
msgid "expected newer version of sed"
msgstr "een nieuwere versie van 'sed' werd verwacht"

#: sed/compile.c:184
msgid "invalid usage of line address 0"
msgstr "ongeldig gebruik van regeladres 0"

#: sed/compile.c:185
#, c-format
msgid "unknown command: `%c'"
msgstr "onbekende opdracht: '%c'"

#: sed/compile.c:208
#, c-format
msgid "%s: file %s line %lu: %s\n"
msgstr "%s: bestand %s, regel %lu: %s\n"

#: sed/compile.c:211
#, c-format
msgid "%s: -e expression #%lu, char %lu: %s\n"
msgstr "%s: expressie #%lu, teken %lu: %s\n"

#: sed/compile.c:1665
#, c-format
msgid "can't find label for jump to `%s'"
msgstr "kan label voor sprong naar '%s' niet vinden"

#: sed/execute.c:709
#, c-format
msgid "%s: can't read %s: %s\n"
msgstr "%s: kan %s niet lezen: %s\n"

#: sed/execute.c:740
#, c-format
msgid "couldn't edit %s: is a terminal"
msgstr "kan %s niet bewerken: is een terminal"

#: sed/execute.c:745
#, c-format
msgid "couldn't edit %s: not a regular file"
msgstr "kan %s niet bewerken: is geen gewoon bestand"

#: sed/execute.c:757
#, c-format
msgid "%s: warning: failed to set default file creation context to %s: %s"
msgstr ""

#: sed/execute.c:764
#, c-format
msgid "%s: warning: failed to get security context of %s: %s"
msgstr ""

#: sed/execute.c:783 sed/utils.c:227
#, c-format
msgid "couldn't open temporary file %s: %s"
msgstr "kan tijdelijk bestand %s niet openen: %s"

#: sed/execute.c:1317 sed/execute.c:1497
msgid "error in subprocess"
msgstr "fout in subproces"

#: sed/execute.c:1319
msgid "option `e' not supported"
msgstr "'e'-opdracht is niet mogelijk"

#: sed/execute.c:1499
msgid "`e' command not supported"
msgstr "'e'-opdracht is niet mogelijk"

#: sed/execute.c:1843
msgid "no input files"
msgstr "geen invoerbestanden"

#: sed/regexp.c:41
msgid "no previous regular expression"
msgstr "geen eerdere reguliere expressie"

#: sed/regexp.c:42
msgid "cannot specify modifiers on empty regexp"
msgstr "bij een lege reguliere expressie passen geen veranderaars"

#: sed/regexp.c:131
#, c-format
msgid "invalid reference \\%d on `s' command's RHS"
msgstr "ongeldige verwijzing \\%d rechts van 's'-opdracht"

#: sed/sed.c:97
#, c-format
msgid ""
"GNU sed home page: <http://www.gnu.org/software/sed/>.\n"
"General help using GNU software: <http://www.gnu.org/gethelp/>.\n"
msgstr ""

#: sed/sed.c:104
#, fuzzy, c-format
msgid ""
"E-mail bug reports to: <%s>.\n"
"Be sure to include the word ``%s'' somewhere in the ``Subject:'' field.\n"
msgstr ""
"Rapporteer gebreken in het programma aan <%s>\n"
"met het woord \"%s\" ergens in de Onderwerp-regel;\n"
"meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"

#: sed/sed.c:117
msgid ""
"  -R, --regexp-perl\n"
"                 use Perl 5's regular expressions syntax in the script.\n"
msgstr ""
"  -R, --regexp-perl\n"
"             reguliere expressies van Perl-5 gebruiken in het script\n"

#: sed/sed.c:122
#, c-format
msgid ""
"Usage: %s [OPTION]... {script-only-if-no-other-script} [input-file]...\n"
"\n"
msgstr ""
"Gebruik:  %s [OPTIE]... {SCRIPT_als_verder_geen_script} [INVOERBESTAND]...\n"
"\n"

#: sed/sed.c:126
#, c-format
msgid ""
"  -n, --quiet, --silent\n"
"                 suppress automatic printing of pattern space\n"
msgstr ""
"  -n, --quiet, --silent\n"
"             automatische weergave van patroonruimte onderdrukken\n"

#: sed/sed.c:128
#, c-format
msgid ""
"  -e script, --expression=script\n"
"                 add the script to the commands to be executed\n"
msgstr ""
"  -e SCRIPT, --expression=SCRIPT\n"
"             dit SCRIPT toevoegen aan de uit te voeren opdrachten\n"

#: sed/sed.c:130
#, c-format
msgid ""
"  -f script-file, --file=script-file\n"
"                 add the contents of script-file to the commands to be "
"executed\n"
msgstr ""
"  -f SCRIPTBESTAND, --file=SCRIPTBESTAND\n"
"             inhoud van SCRIPTBESTAND toevoegen aan de uit te voeren "
"opdrachten\n"

#: sed/sed.c:133
#, c-format
msgid ""
"  --follow-symlinks\n"
"                 follow symlinks when processing in place\n"
msgstr ""
"  --follow-symlinks\n"
"             symbolische koppelingen volgen (bij bewerking ter plekke)\n"

#: sed/sed.c:136
#, c-format
msgid ""
"  -i[SUFFIX], --in-place[=SUFFIX]\n"
"                 edit files in place (makes backup if extension supplied)\n"
msgstr ""
"  -i[ACHTERVOEGSEL], --in-place[=ACHTERVOEGSEL]\n"
"             bestanden ter plekke bewerken\n"
"             (en een reservekopie maken als een ACHTERVOEGSEL gegeven is)\n"

#: sed/sed.c:139
#, c-format
msgid ""
"  -b, --binary\n"
"                 open files in binary mode (CR+LFs are not processed "
"specially)\n"
msgstr ""
"  -b, --binary\n"
"             bestanden openen in binaire modus (regeleinden zijn niet "
"speciaal)\n"

#: sed/sed.c:142
#, c-format
msgid ""
"  -l N, --line-length=N\n"
"                 specify the desired line-wrap length for the `l' command\n"
msgstr ""
"  -l AANTAL, --line-length=AANTAL\n"
"             de gewenste regelafbreeklengte voor de 'l'-opdracht\n"

#: sed/sed.c:144
#, c-format
msgid ""
"  --posix\n"
"                 disable all GNU extensions.\n"
msgstr ""
"  --posix\n"
"             alle GNU-uitbreidingen uitschakelen\n"

#: sed/sed.c:146
#, c-format
msgid ""
"  -r, --regexp-extended\n"
"                 use extended regular expressions in the script.\n"
msgstr ""
"  -r, --regexp-extended\n"
"             uitgebreide reguliere expressies gebruiken in het script\n"

#: sed/sed.c:151
#, c-format
msgid ""
"  -s, --separate\n"
"                 consider files as separate rather than as a single "
"continuous\n"
"                 long stream.\n"
msgstr ""
"  -s, --separate\n"
"             bestanden als losstaand beschouwen, niet als één enkele stroom\n"

#: sed/sed.c:154
#, c-format
msgid ""
"  -u, --unbuffered\n"
"                 load minimal amounts of data from the input files and "
"flush\n"
"                 the output buffers more often\n"
msgstr ""
"  -u, --unbuffered\n"
"             minimale hoeveelheden gegevens laden uit de invoerbestanden,\n"
"             en de uitvoerbuffers vaker leegmaken\n"
"\n"

#: sed/sed.c:157
#, c-format
msgid "      --help     display this help and exit\n"
msgstr "  --help     deze hulptekst tonen en stoppen\n"

#: sed/sed.c:158
#, c-format
msgid "      --version  output version information and exit\n"
msgstr "  --version  versie-informatie tonen en stoppen\n"

#: sed/sed.c:159
#, c-format
msgid ""
"\n"
"If no -e, --expression, -f, or --file option is given, then the first\n"
"non-option argument is taken as the sed script to interpret.  All\n"
"remaining arguments are names of input files; if no input files are\n"
"specified, then the standard input is read.\n"
"\n"
msgstr ""
"\n"
"Als er geen '-e', '--expression', '-f' of '--file' gegeven is, wordt het\n"
"eerste niet-optie argument als het te interpreteren 'sed'-script genomen.\n"
"Alle overblijvende argumenten zijn namen van invoerbestanden; als er geen\n"
"invoerbestanden gegeven zijn, wordt standaardinvoer gelezen.\n"
"\n"

#: sed/sed.c:315
#, c-format
msgid "super-sed version %s\n"
msgstr "super-sed versie %s\n"

#: sed/sed.c:316
#, c-format
msgid ""
"based on GNU sed version %s\n"
"\n"
msgstr ""
"gebaseerd op GNU sed versie %s\n"
"\n"

#: sed/sed.c:318
#, c-format
msgid "GNU sed version %s\n"
msgstr "GNU sed versie %s\n"

#: sed/sed.c:320
#, fuzzy, c-format
msgid ""
"Copyright (C) %d Free Software Foundation, Inc.\n"
"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"
"to the extent permitted by law.\n"
msgstr ""
"%s\n"
"Dit is vrije software; zie de programmatekst voor de kopieervoorwaarden.\n"
"Er is GEEN ENKELE garantie, zelfs niet voor VERHANDELBAARHEID of\n"
"GESCHIKTHEID VOOR EEN BEPAALD DOEL, voorzover de wet dit toestaat.\n"

#: sed/utils.c:93 sed/utils.c:438
#, c-format
msgid "cannot remove %s: %s"
msgstr "kan %s niet verwijderen: %s"

#: sed/utils.c:163
#, c-format
msgid "couldn't open file %s: %s"
msgstr "kan bestand %s niet openen: %s"

#: sed/utils.c:186
#, c-format
msgid "couldn't attach to %s: %s"
msgstr "kan niet aan %s aanhechten: %s"

#: sed/utils.c:245
#, c-format
msgid "couldn't write %d item to %s: %s"
msgid_plural "couldn't write %d items to %s: %s"
msgstr[0] "kan %d item niet naar %s schrijven: %s"
msgstr[1] "kan %d items niet naar %s schrijven: %s"

#: sed/utils.c:260 sed/utils.c:276
#, c-format
msgid "read error on %s: %s"
msgstr "leesfout op %s: %s"

#: sed/utils.c:378
#, c-format
msgid "couldn't follow symlink %s: %s"
msgstr "kan symbolische koppeling %s niet volgen: %s"

#: sed/utils.c:412
#, c-format
msgid "cannot stat %s: %s"
msgstr "kan de status van %s niet opvragen: %s"

#: sed/utils.c:443
#, c-format
msgid "cannot rename %s: %s"
msgstr "kan %s niet hernoemen: %s"

#: lib/regcomp.c:134
msgid "Success"
msgstr "Gelukt"

#: lib/regcomp.c:137
msgid "No match"
msgstr "Geen overeenkomsten"

#: lib/regcomp.c:140
msgid "Invalid regular expression"
msgstr "Ongeldige reguliere expressie"

#: lib/regcomp.c:143
msgid "Invalid collation character"
msgstr "Ongeldig samengesteld teken"

#: lib/regcomp.c:146
msgid "Invalid character class name"
msgstr "Ongeldige tekenklassenaam"

#: lib/regcomp.c:149
msgid "Trailing backslash"
msgstr "Backslash aan het eind"

#: lib/regcomp.c:152
msgid "Invalid back reference"
msgstr "Ongeldige terugverwijzing"

#: lib/regcomp.c:155
msgid "Unmatched [ or [^"
msgstr "Ongepaarde [ of [^"

#: lib/regcomp.c:158
msgid "Unmatched ( or \\("
msgstr "Ongepaarde ( of \\("

#: lib/regcomp.c:161
msgid "Unmatched \\{"
msgstr "Ongepaarde \\{"

#: lib/regcomp.c:164
msgid "Invalid content of \\{\\}"
msgstr "Ongeldige inhoud van \\{\\}"

#: lib/regcomp.c:167
msgid "Invalid range end"
msgstr "Ongeldig bereikeinde"

#: lib/regcomp.c:170
msgid "Memory exhausted"
msgstr "Onvoldoende geheugen beschikbaar"

#: lib/regcomp.c:173
msgid "Invalid preceding regular expression"
msgstr "Ongeldige voorafgaande reguliere expressie"

#: lib/regcomp.c:176
msgid "Premature end of regular expression"
msgstr "Voortijdig einde van reguliere expressie"

#: lib/regcomp.c:179
msgid "Regular expression too big"
msgstr "Reguliere expressie is te groot"

#: lib/regcomp.c:182
msgid "Unmatched ) or \\)"
msgstr "Ongepaarde ) of \\)"

#: lib/regcomp.c:703
msgid "No previous regular expression"
msgstr "Geen eerdere reguliere expressie"
