# Pesan bahasa indonesia untuk gettext-runtime.
# GNU gettext-runtime-0.14.1 (Indonesian)
# Copyright (C) 1999, 2003, 2004, 2006 Free Software Foundation, Inc.
#
# This file is distributed under the same license as the gettext package.
# Tedi Heriyanto <tedi_h@gmx.net>, 1999, 2003, 2004.
# Tedi Heriyanto <tedi_heriyanto@yahoo.com>, 2006.
# Arif E. Nugroho <arif_endro@yahoo.com>, 2008, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gettext-runtime 0.18\n"
"Report-Msgid-Bugs-To: bug-gettext@gnu.org\n"
"POT-Creation-Date: 2020-07-26 21:56+0200\n"
"PO-Revision-Date: 2010-05-24 13:00+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"

#: gnulib-lib/closeout.c:66
msgid "write error"
msgstr "kesalahan penulisan"

#: gnulib-lib/error.c:195
msgid "Unknown system error"
msgstr "Kesalahan sistem tak dikenal"

#: gnulib-lib/getopt.c:278
#, fuzzy, c-format
#| msgid "%s: option '%s' is ambiguous\n"
msgid "%s: option '%s%s' is ambiguous\n"
msgstr "%s: pilihan '%s' rancu\n"

#: gnulib-lib/getopt.c:284
#, fuzzy, c-format
#| msgid "%s: option '%s' is ambiguous\n"
msgid "%s: option '%s%s' is ambiguous; possibilities:"
msgstr "%s: pilihan '%s' rancu\n"

#: gnulib-lib/getopt.c:319
#, fuzzy, c-format
#| msgid "%s: unrecognized option '%c%s'\n"
msgid "%s: unrecognized option '%s%s'\n"
msgstr "%s: pilihan tak dikenal '%c%s'\n"

#: gnulib-lib/getopt.c:345
#, fuzzy, c-format
#| msgid "%s: option '%c%s' doesn't allow an argument\n"
msgid "%s: option '%s%s' doesn't allow an argument\n"
msgstr "%s: pilihan '%c%s' tidak membolehkan argumen\n"

#: gnulib-lib/getopt.c:360
#, fuzzy, c-format
#| msgid "%s: option '--%s' requires an argument\n"
msgid "%s: option '%s%s' requires an argument\n"
msgstr "%s: pilihan '--%s' memerlukan sebuah argumen\n"

#: gnulib-lib/getopt.c:621
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: pilihan tidak valid -- '%c'\n"

#: gnulib-lib/getopt.c:636 gnulib-lib/getopt.c:682
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: pilihan membutuhkan sebuah argumen -- '%c'\n"

#: gnulib-lib/xmalloc.c:38
#, c-format
msgid "memory exhausted"
msgstr "kehabisan memori"

#: src/envsubst.c:110 src/gettext.c:135 src/ngettext.c:124
#, fuzzy, c-format, no-wrap
#| msgid ""
#| "Copyright (C) %s Free Software Foundation, Inc.\n"
#| "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
#| "This is free software: you are free to change and redistribute it.\n"
#| "There is NO WARRANTY, to the extent permitted by law.\n"
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
"License GPLv3+: GNU GPL version 3 or later <%s>\n"
"This is free software: you are free to change and redistribute it.\n"
"There is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
"Hak Cipta (C) %s Free Software Foundation, Inc.\n"
"Lisensi GPLv3+: GNU GPL versi 3 atau selanjutnya <http://gnu.org/licenses/gpl.html>\n"
"Ini adalah piranti lunak bebas: anda bebas untuk mengubah dan meredistribusikannya.\n"
"TIDAK ADA GARANSI, sampai batas yang diijinkan oleh hukum yang berlaku.\n"

#: src/envsubst.c:116 src/gettext.c:141 src/ngettext.c:130
#, c-format
msgid "Written by %s.\n"
msgstr "Ditulis oleh %s.\n"

#. This is a proper name. See the gettext manual, section Names.
#: src/envsubst.c:116
msgid "Bruno Haible"
msgstr "Bruno Haible"

#: src/envsubst.c:125 src/gettext.c:159 src/ngettext.c:142
#, c-format
msgid "too many arguments"
msgstr "terlalu banyak argumen"

#: src/envsubst.c:136 src/gettext.c:169 src/ngettext.c:154
#, c-format
msgid "missing arguments"
msgstr "Argumen hilang"

#: src/envsubst.c:174 src/gettext.c:246 src/ngettext.c:211
#, fuzzy, c-format
#| msgid "Try `%s --help' for more information.\n"
msgid "Try '%s --help' for more information.\n"
msgstr "Coba `%s --help' untuk informasi lebih jauh.\n"

#: src/envsubst.c:179
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [SHELL-FORMAT]\n"
msgstr "Penggunaan: %s [PILIHAN] [SHELL-FORMAT]\n"

#: src/envsubst.c:184
#, c-format, no-wrap
msgid "Substitutes the values of environment variables.\n"
msgstr "Gantilah nilai variabel lingkungan.\n"

#: src/envsubst.c:188
#, c-format, no-wrap
msgid "Operation mode:\n"
msgstr "Mode operasi:\n"

#: src/envsubst.c:191
#, c-format, no-wrap
msgid "  -v, --variables             output the variables occurring in SHELL-FORMAT\n"
msgstr "  -v, --variables             hasilkan variabel yang muncul dalam SHELL-FORMAT\n"

#: src/envsubst.c:195 src/gettext.c:275 src/ngettext.c:241
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Output informatif:\n"

#: src/envsubst.c:198
#, c-format, no-wrap
msgid "  -h, --help                  display this help and exit\n"
msgstr "  -h, --help                  tampilkan bantuan ini dan keluar\n"

#: src/envsubst.c:201
#, c-format, no-wrap
msgid "  -V, --version               output version information and exit\n"
msgstr "  -V, --version               informasi versi dan keluar\n"

#: src/envsubst.c:205
#, c-format, no-wrap
msgid ""
"In normal operation mode, standard input is copied to standard output,\n"
"with references to environment variables of the form $VARIABLE or ${VARIABLE}\n"
"being replaced with the corresponding values.  If a SHELL-FORMAT is given,\n"
"only those environment variables that are referenced in SHELL-FORMAT are\n"
"substituted; otherwise all environment variables references occurring in\n"
"standard input are substituted.\n"
msgstr ""
"Dalam mode operasi normal, input standar disalinkan ke output standar,\n"
"dengan referensi ke variabel lingkungan dalam bentuk $VARIABLE atau \n"
"${VARIABLE} digantikan dengan nilai yang bersesuaian.  Jika sebuah \n"
"SHELL-FORMAT diberikan,\n"
"hanya variabel lingkungan yang direfer dalam SHELL-FORMAT yang diganti\n"
"; bila tidak semua variabel lingkungan yang diacu yang muncul dalam \n"
"input standar akan diganti.\n"

#: src/envsubst.c:214
#, c-format, no-wrap
msgid ""
"When --variables is used, standard input is ignored, and the output consists\n"
"of the environment variables that are referenced in SHELL-FORMAT, one per line.\n"
msgstr ""
"Ketika digunakan --variables, input standar diabaikan, dan hasilnya\n"
"terdiri dari variabel lingkungan yang direfer dalam SHELL FORMAT, satu perbaris.\n"

#. TRANSLATORS: The first placeholder is the web address of the Savannah
#. project of this package.  The second placeholder is the bug-reporting
#. email address for this package.  Please add _another line_ saying
#. "Report translation bugs to <...>\n" with the address for translation
#. bugs (typically your translation team's web or email address).
#: src/envsubst.c:223 src/gettext.c:299 src/ngettext.c:262
#, c-format
msgid ""
"Report bugs in the bug tracker at <%s>\n"
"or by email to <%s>.\n"
msgstr ""

#: src/envsubst.c:451
#, c-format
msgid "error while reading \"%s\""
msgstr "kesalahan ketika membaca \"%s\""

#: src/envsubst.c:451
msgid "standard input"
msgstr "standard input"

#. This is a proper name. See the gettext manual, section Names.
#: src/gettext.c:141 src/ngettext.c:130
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"

#: src/gettext.c:251
#, c-format, no-wrap
msgid ""
"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
"or:    %s [OPTION] -s [MSGID]...\n"
msgstr ""
"Pemakaian: %s [PILIHAN] [[TEXTDOMAIN] ID-PESAN]\n"
"atau:    %s [PILIHAN] -s [ID-PESAN]...\n"

#: src/gettext.c:257
#, c-format, no-wrap
msgid "Display native language translation of a textual message.\n"
msgstr "Tampilkan terjemahan bahasa asli pesan tekstual.\n"

#: src/gettext.c:261
#, c-format, no-wrap
msgid "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
msgstr ""

#: src/gettext.c:263 src/ngettext.c:228
#, c-format
msgid "  -c, --context=CONTEXT     specify context for MSGID\n"
msgstr ""

#: src/gettext.c:265 src/ngettext.c:230
#, c-format
msgid "  -e                        enable expansion of some escape sequences\n"
msgstr ""

#: src/gettext.c:267
#, c-format
msgid "  -n                        suppress trailing newline\n"
msgstr ""

#: src/gettext.c:269 src/ngettext.c:232
#, c-format
msgid "  -E                        (ignored for compatibility)\n"
msgstr ""

#: src/gettext.c:271
#, c-format
msgid ""
"  [TEXTDOMAIN] MSGID        retrieve translated message corresponding\n"
"                            to MSGID from TEXTDOMAIN\n"
msgstr ""

#: src/gettext.c:277 src/ngettext.c:243
#, fuzzy, c-format
#| msgid "  -h, --help                  display this help and exit\n"
msgid "  -h, --help                display this help and exit\n"
msgstr "  -h, --help                  tampilkan bantuan ini dan keluar\n"

#: src/gettext.c:279 src/ngettext.c:245
#, fuzzy, c-format
#| msgid "  -V, --version               output version information and exit\n"
msgid "  -V, --version             display version information and exit\n"
msgstr "  -V, --version               informasi versi dan keluar\n"

#: src/gettext.c:283
#, fuzzy, c-format, no-wrap
#| msgid ""
#| "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
#| "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
#| "regular directory, another location can be specified with the environment\n"
#| "variable TEXTDOMAINDIR.\n"
#| "When used with the -s option the program behaves like the `echo' command.\n"
#| "But it does not simply copy its arguments to stdout.  Instead those messages\n"
#| "found in the selected catalog are translated.\n"
#| "Standard search directory: %s\n"
msgid ""
"If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
"environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
"regular directory, another location can be specified with the environment\n"
"variable TEXTDOMAINDIR.\n"
"When used with the -s option the program behaves like the 'echo' command.\n"
"But it does not simply copy its arguments to stdout.  Instead those messages\n"
"found in the selected catalog are translated.\n"
"Standard search directory: %s\n"
msgstr ""
"Jika parameter TEXTDOMAIN tidak diberikan, domain ditentukan dari\n"
"variabel lingkungan TEXTDOMAIN. Jika katalog pesan tidak ditemukan dalam\n"
"direktori reguler, lokasi lain dapat dispesifikasikan dengan variabel \n"
"lingkungan TEXTDOMAINDIR.\n"
"Bila digunakan dengan pilihan -s program berlaku seperti perintah `echo'.\n"
"Tetapi ia tidak hanya menyalin argumennya ke stdout. Namun pesan tersebut\n"
"diterjemahkan.\n"
"Direktori pencarian standar: %s\n"

#: src/ngettext.c:216
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
msgstr "Pemakaian: %s [PILIHAN] [TEXTDOMAIN] ID-PESAN ID-PESAN-PLURAL JUMLAH\n"

#: src/ngettext.c:221
#, c-format, no-wrap
msgid ""
"Display native language translation of a textual message whose grammatical\n"
"form depends on a number.\n"
msgstr ""
"Tampilkan terjemahan bahasa asli pesan tekstual yang bentuk gramatikalnya\n"
"tergantung pada suatu angka.\n"

#: src/ngettext.c:226
#, c-format, no-wrap
msgid "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
msgstr ""

#: src/ngettext.c:234
#, c-format
msgid ""
"  [TEXTDOMAIN]              retrieve translated message from TEXTDOMAIN\n"
msgstr ""

#: src/ngettext.c:236
#, c-format
msgid ""
"  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL "
"(plural)\n"
msgstr ""

#: src/ngettext.c:238
#, c-format
msgid ""
"  COUNT                     choose singular/plural form based on this value\n"
msgstr ""

#: src/ngettext.c:249
#, c-format, no-wrap
msgid ""
"If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
"environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
"regular directory, another location can be specified with the environment\n"
"variable TEXTDOMAINDIR.\n"
"Standard search directory: %s\n"
msgstr ""
"Jika parameter TEXTDOMAIN tidak diberikan, domain ditentukan dari\n"
"variabel lingkungan TEXTDOMAIN. Jika katalog pesan tidak ditemukan dalam\n"
"direktori reguler, lokasi lain dapat dispesifikasikan dengan variabel \n"
"lingkungan TEXTDOMAINDIR.\n"
"Direktori pencarian standar: %s\n"

#, c-format
#~ msgid "%s: option '--%s' doesn't allow an argument\n"
#~ msgstr "%s: pilihan '--%s' tidak membolehkan argumen\n"

#, c-format
#~ msgid "%s: unrecognized option '--%s'\n"
#~ msgstr "%s: pilihan tak dikenal '--%s'\n"

#, c-format
#~ msgid "%s: option '-W %s' is ambiguous\n"
#~ msgstr "%s: pilihan '-W %s' rancu\n"

#, c-format
#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
#~ msgstr "%s: pilihan '-W %s' tidak membolehkan sebuah argumen\n"

#, c-format
#~ msgid "%s: option '-W %s' requires an argument\n"
#~ msgstr "%s: pilihan '-W %s' memerlukan sebuah argumen\n"

#~ msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
#~ msgstr "Laporkan kesalahan ke <bug-gnu-gettext@gnu.org>.\n"

#, c-format, no-wrap
#~ msgid ""
#~ "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
#~ "  -e                        enable expansion of some escape sequences\n"
#~ "  -E                        (ignored for compatibility)\n"
#~ "  -h, --help                display this help and exit\n"
#~ "  -n                        suppress trailing newline\n"
#~ "  -V, --version             display version information and exit\n"
#~ "  [TEXTDOMAIN] MSGID        retrieve translated message corresponding\n"
#~ "                            to MSGID from TEXTDOMAIN\n"
#~ msgstr ""
#~ "  -d, --domain=TEXTDOMAIN   mengambil pesan terjemahan dari TEXTDOMAIN\n"
#~ "  -e                        memungkinkan ekspansi beberapa escape sequence\n"
#~ "  -E                        (abaikan kompatibilitas)\n"
#~ "  -h, --help                tampilkan bantuan ini dan keluar\n"
#~ "  -n                        hilangkan newline yang mengekor\n"
#~ "  -V, --version             tampilkan informasi versi dan keluar\n"
#~ "  [TEXTDOMAIN] ID-PESAN     mengambil pesan terjemahan yang sesuai\n"
#~ "                            untuk ID-PESAN dari TEXTDOMAIN\n"

#, c-format, no-wrap
#~ msgid ""
#~ "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
#~ "  -e                        enable expansion of some escape sequences\n"
#~ "  -E                        (ignored for compatibility)\n"
#~ "  -h, --help                display this help and exit\n"
#~ "  -V, --version             display version information and exit\n"
#~ "  [TEXTDOMAIN]              retrieve translated message from TEXTDOMAIN\n"
#~ "  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL (plural)\n"
#~ "  COUNT                     choose singular/plural form based on this value\n"
#~ msgstr ""
#~ "  -d, --domain=TEXTDOMAIN   mengambil pesan terjemahan dari TEXTDOMAIN\n"
#~ "  -e                        memungkinkan ekspansi beberapa escape sequence\n"
#~ "  -E                        (abaikan kompatibilitas)\n"
#~ "  -h, --help                tampilkan bantuan ini dan keluar\n"
#~ "  -n                        hilangkan newline yang mengekor\n"
#~ "  -V, --version             tampilkan informasi versi dan keluar\n"
#~ "  [TEXTDOMAIN]              mengambil pesan terjemahan dari TEXTDOMAIN\n"
#~ "  ID-PESAN ID-PESAN-PLURAL  terjemahkan ID-PESAN (tunggal) / ID-PESAN-PLURAL (plural)\n"
#~ "  JUMLAH                    pilih bentuk tunggal/plural berdasarkan nilai ini\n"

#~ msgid "%s: illegal option -- %c\n"
#~ msgstr "%s: pilihan ilegal -- %c\n"

# )
#~ msgid ""
#~ "Copyright (C) %s 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"
#~ msgstr ""
#~ "Hak Cipta (C) %s Free Software Foundation, Inc.\n"
#~ "Ini adalah free software; lihat source untuk kondisi penyalinan. Tidak "
#~ "ada\n"
#~ "jaminan; bahkan untuk PENJUALAN atau KESESUAIAN UNTUK TUJUAN TERTENTU.\n"
