# Indonesian translations for popt package.
# This file is put in the public domain.
# Andhika Padmawan <andhika.padmawan@gmail.com>, 2008.
#
msgid ""
msgstr ""
"Project-Id-Version: popt 1.14\n"
"Report-Msgid-Bugs-To: <popt-devel@rpm5.org>\n"
"POT-Creation-Date: 2010-02-17 13:35-0500\n"
"PO-Revision-Date: 2008-08-26 14:18+0700\n"
"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\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"

#: popt.c:47
msgid "unknown errno"
msgstr "errno tak diketahui"

#: popt.c:1290
#, c-format
msgid "option type (%u) not implemented in popt\n"
msgstr "tipe opsi (%u) tak diimplementasikan di popt\n"

#: popt.c:1711
msgid "missing argument"
msgstr "kehilangan argumen"

#: popt.c:1713
msgid "unknown option"
msgstr "opsi tak diketahui"

#: popt.c:1715
msgid "mutually exclusive logical operations requested"
msgstr "permintaan operasi logika eksklusif secara mutual"

#: popt.c:1717
msgid "opt->arg should not be NULL"
msgstr "opt->arg tidak boleh NULL"

#: popt.c:1719
msgid "aliases nested too deeply"
msgstr "alias disarangkan terlalu dalam"

#: popt.c:1721
msgid "error in parameter quoting"
msgstr "galat di pencantuman parameter"

#: popt.c:1723
msgid "invalid numeric value"
msgstr "nilai numerik tidak sah"

#: popt.c:1725
msgid "number too large or too small"
msgstr "nomor terlalu besar atau terlalu kecil"

#: popt.c:1727
msgid "memory allocation failed"
msgstr "alokasi memori gagal"

#: popt.c:1729
msgid "config file failed sanity test"
msgstr ""

#: popt.c:1733
msgid "unknown error"
msgstr "galat tak diketahui"

#: popthelp.c:75 popthelp.c:86
msgid "Show this help message"
msgstr "Tampilkan pesan bantuan ini"

#: popthelp.c:76 popthelp.c:87
msgid "Display brief usage message"
msgstr "Tampilkan pesan penggunaan singkat"

#: popthelp.c:90
msgid "Display option defaults in message"
msgstr "Tampilkan opsi standar dalam pesan"

#: popthelp.c:92
msgid "Terminate options"
msgstr "Matikan opsi"

#: popthelp.c:191
msgid "Help options:"
msgstr "Opsi bantuan:"

#: popthelp.c:192
msgid "Options implemented via popt alias/exec:"
msgstr "Opsi diimplementasikan via popt alias/exec:"

#: popthelp.c:200
msgid "NONE"
msgstr "NONE"

#: popthelp.c:202
msgid "VAL"
msgstr "VAL"

#: popthelp.c:206
msgid "INT"
msgstr "INT"

#: popthelp.c:207
msgid "SHORT"
msgstr ""

#: popthelp.c:208
msgid "LONG"
msgstr "LONG"

#: popthelp.c:209
msgid "LONGLONG"
msgstr "LONGLONG"

#: popthelp.c:210
msgid "STRING"
msgstr "STRING"

#: popthelp.c:211
msgid "FLOAT"
msgstr "FLOAT"

#: popthelp.c:212
msgid "DOUBLE"
msgstr "DOUBLE"

#: popthelp.c:215
msgid "ARG"
msgstr "ARG"

#: popthelp.c:649
msgid "Usage:"
msgstr "Penggunaan:"

#: popthelp.c:672
msgid "[OPTION...]"
msgstr "[OPSI...]"
