# Dutch tranlation of libiconv
# Copyright (C) 2003 Free Software Foundation, Inc.
# This file is distributed under the same license as the libiconv package.
# Taco Witte <T.C.Witte@phys.uu.nl>, 2003.
# Elros Cyriatan <cyriatan@fastmail.fm>, 2003.
#
msgid ""
msgstr ""
"Project-Id-Version: libiconv 1.9.1\n"
"Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n"
"POT-Creation-Date: 2004-01-22 11:54+0100\n"
"PO-Revision-Date: 2003-08-04 22:20+0100\n"
"Last-Translator: Elros Cyriatan <cyriatan@fastmail.fm>\n"
"Language-Team: Dutch <vertaling@nl.linux.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: src/iconv.c:54
msgid "Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]"
msgstr "Gebruik: iconv [-c] [-s] [-f vancode] [-t naarcode] [bestand ...]"

#: src/iconv.c:56
msgid "or:    iconv -l"
msgstr "of:    iconv -l"

#: src/iconv.c:66
#, c-format
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 ""
"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"

#: src/iconv.c:69
#, c-format
msgid "Written by %s.\n"
msgstr "Geschreven door %s.\n"

#: src/iconv.c:105 src/iconv.c:137 src/iconv.c:187
#, c-format
msgid "iconv: %s: incomplete character or shift sequence\n"
msgstr "iconv: %s: incompleet teken of verschuivingsreeks\n"

#: src/iconv.c:131 src/iconv.c:182
#, c-format
msgid "iconv: %s: cannot convert\n"
msgstr "iconv: %s: kan niet converteren\n"

#: src/iconv.c:153 src/iconv.c:192 src/iconv.c:310
#, c-format
msgid "iconv: %s: "
msgstr "iconv: %s: "

#: src/iconv.c:201
#, c-format
msgid "iconv: %s: I/O error\n"
msgstr "iconv: %s: I/O fout\n"

#: src/iconv.c:294
#, c-format
msgid "iconv: conversion from %s unsupported\n"
msgstr "iconv: conversie van %s niet ondersteund\n"

#: src/iconv.c:296
#, c-format
msgid "iconv: conversion to %s unsupported\n"
msgstr "iconv: conversie naar %s niet ondersteund\n"

#: src/iconv.c:298
#, c-format
msgid "iconv: conversion from %s to %s unsupported\n"
msgstr "iconv: conversie van %s naar %s niet ondersteund\n"

#: src/iconv.c:302
msgid "(stdin)"
msgstr "(stdin)"

#: src/iconv.c:323
#, c-format
msgid "iconv: I/O error\n"
msgstr "iconv: I/O fout\n"

#~ msgid ""
#~ "Usage: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] [file ...]"
#~ msgstr ""
#~ "Gebruik: iconv [--binary] [-c] [-s] [-f vancode] [-t naarcode] "
#~ "[bestand ...]"
