# libiconv 1.8 (Indonesian)
# Copyright (C) 2002 Free Software Foundation, Inc.
# Tedi Heriyanto <tedi_h@gmx.net>, 2002
# This file is distributed under the same license as the PACKAGE package.
# Tedi Heriyanto <tedi_h@gmx.net>, 2002
#
msgid ""
msgstr ""
"Project-Id-Version: libiconv 1.8\n"
"Report-Msgid-Bugs-To: bug-gnu-libiconv@gnu.org\n"
"POT-Creation-Date: 2003-05-06 13:32+0200\n"
"PO-Revision-Date: 2002-10-15 15:22GMT+0700\n"
"Last-Translator: Tedi Heriyanto <tedi_h@gmx.net>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 0.9.5\n"

#: src/iconv.c:59
msgid "Usage: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] [file ...]"
msgstr ""
"Penggunaan: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] [file ...]"

#: src/iconv.c:61
msgid "Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]"
msgstr "Penggunaan: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]"

#: src/iconv.c:64
msgid "or:    iconv -l"
msgstr "atau:    iconv -l"

#: src/iconv.c:74
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:77
#, c-format
msgid "Written by %s.\n"
msgstr "Ditulis oleh %s.\n"

#: src/iconv.c:114 src/iconv.c:146 src/iconv.c:196
#, c-format
msgid "iconv: %s: incomplete character or shift sequence\n"
msgstr "iconv: %s: karakter atau urutan shift tidak lengkap\n"

#: src/iconv.c:140 src/iconv.c:191
#, c-format
msgid "iconv: %s: cannot convert\n"
msgstr "iconv: %s: tidak dapat mengkonversi\n"

#: src/iconv.c:162 src/iconv.c:201 src/iconv.c:320
#, c-format
msgid "iconv: %s: "
msgstr "iconv: %s: "

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

#: src/iconv.c:304
#, c-format
msgid "iconv: conversion from %s unsupported\n"
msgstr "iconv: konversi dari %s tidak didukung\n"

#: src/iconv.c:306
#, c-format
msgid "iconv: conversion to %s unsupported\n"
msgstr "iconv: konversi ke %s tidak didukung\n"

#: src/iconv.c:308
#, c-format
msgid "iconv: conversion from %s to %s unsupported\n"
msgstr "iconv: konversi dari %s to %s tidak didukung\n"

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

#: src/iconv.c:333
msgid "iconv: I/O error\n"
msgstr "iconv: kesalahan I/O\n"
