# Mesaĝoj por la biblioteko "libiconv".
# Copyright © 2002 Free Software Foundation, Inc.
# Edmund GRIMLEY EVANS <edmundo@rano.org>, 2002.
#
msgid ""
msgstr ""
"Project-Id-Version: libiconv 1.8\n"
"Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n"
"POT-Creation-Date: 2004-01-22 11:54+0100\n"
"PO-Revision-Date: 2002-05-30 09:00+0100\n"
"Last-Translator: Edmund GRIMLEY EVANS <edmundo@rano.org>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\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 "Uzado: iconv [-c] [-s] [-f fontkodo] [-t celkodo] [dosiero ...]"

#: src/iconv.c:56
msgid "or:    iconv -l"
msgstr "aŭ:    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 ""
"Ĉi tio estas libera programo; vidu la fonton por kopikondiĉoj. Estas NENIA\n"
"garantio; eĉ ne por KOMERCA KVALITO aŭ ADEKVATECO POR DIFINITA CELO.\n"

#: src/iconv.c:69
#, c-format
msgid "Written by %s.\n"
msgstr "Verkita de %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: malkompleta signo aŭ reĝimŝanĝa kodo\n"

#: src/iconv.c:131 src/iconv.c:182
#, c-format
msgid "iconv: %s: cannot convert\n"
msgstr "iconv: %s: ne povas konverti\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: leg/skrib-eraro\n"

#: src/iconv.c:294
#, c-format
msgid "iconv: conversion from %s unsupported\n"
msgstr "iconv: konvertado de %s ne disponata\n"

#: src/iconv.c:296
#, c-format
msgid "iconv: conversion to %s unsupported\n"
msgstr "iconv: konvertado al %s ne disponata\n"

#: src/iconv.c:298
#, c-format
msgid "iconv: conversion from %s to %s unsupported\n"
msgstr "iconv: konvertado de %s al %s ne disponata\n"

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

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

#~ msgid ""
#~ "Usage: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] [file ...]"
#~ msgstr ""
#~ "Uzado: iconv [--binary] [-c] [-s] [-f fontkodo] [-t celkodo] [dosiero ...]"
