# Pesan Bahasa Indonesia untuk GNU make
# Copyright (C) 2005 Free Software Foundation, Inc.
# This file is distributed under the same license as the GNU make package.
# Arif E. Nugroho <arif_endro@yahoo.com>, 2005.
#
msgid ""
msgstr ""
"Project-Id-Version: GNU make 3.79\n"
"Report-Msgid-Bugs-To: bug-make@gnu.org\n"
"POT-Creation-Date: 2006-04-01 01:40-0500\n"
"PO-Revision-Date: 2005-07-17 22:00+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"

#: ar.c:53
#, c-format
msgid "attempt to use unsupported feature: `%s'"
msgstr "usaha untuk menggunakan feature yang tidak disupport: `%s'"

#: ar.c:137
msgid "touch archive member is not available on VMS"
msgstr "tidak dapat memodifikasi tanggal pada anggota archive pada VMS"

#: ar.c:168
#, c-format
msgid "touch: Archive `%s' does not exist"
msgstr "touch: Archive `%s' tidak ada"

#: ar.c:171
#, c-format
msgid "touch: `%s' is not a valid archive"
msgstr "touch: `%s' bukan archive yang valid"

#: ar.c:178
#, c-format
msgid "touch: Member `%s' does not exist in `%s'"
msgstr "touch: Anggota `%s' tidak terdapat dalam `%s'"

#: ar.c:185
#, c-format
msgid "touch: Bad return code from ar_member_touch on `%s'"
msgstr "touch: Kode balik tidak baik dari ar_member_touch pada `%s'"

#: arscan.c:69
#, c-format
msgid "lbr$set_module failed to extract module info, status = %d"
msgstr "lbr$set_module gagal untuk mengekstrak info module, status = %d"

#: arscan.c:154
#, c-format
msgid "lbr$ini_control failed with status = %d"
msgstr "lbr$ini_control gagal dengan status = %d"

#: arscan.c:165
#, c-format
msgid "unable to open library `%s' to lookup member `%s'"
msgstr "tidak dapat membuka library `%s' untuk melihat anggota `%s'"

#: arscan.c:825
#, c-format
msgid "Member `%s'%s: %ld bytes at %ld (%ld).\n"
msgstr "Anggota `%s'%s: %ld bytes pada %ld (%ld).\n"

#: arscan.c:826
msgid " (name might be truncated)"
msgstr " (nama mungkin akan di potong)"

#: arscan.c:828
#, c-format
msgid "  Date %s"
msgstr " Tanggal %s"

#: arscan.c:829
#, c-format
msgid "  uid = %d, gid = %d, mode = 0%o.\n"
msgstr " uid = %d, gid = %d, mode = 0%o.\n"

#: commands.c:422
msgid "*** Break.\n"
msgstr "*** Berhenti.\n"

#: commands.c:545
#, c-format
msgid "*** [%s] Archive member `%s' may be bogus; not deleted"
msgstr "*** [%s] Anggota archive `%s' mungkin berupa bogus: tidak dihapus"

#: commands.c:548
#, c-format
msgid "*** Archive member `%s' may be bogus; not deleted"
msgstr "*** Anggota archive `%s' mungkin berupa bogus; tidak dihapus"

#: commands.c:561
#, c-format
msgid "*** [%s] Deleting file `%s'"
msgstr "*** [%s] Menghapus file `%s'"

#: commands.c:563
#, c-format
msgid "*** Deleting file `%s'"
msgstr "*** Menghapus file `%s'"

#: commands.c:599
msgid "#  commands to execute"
msgstr "# perintah dijalankan"

#: commands.c:602
msgid " (built-in):"
msgstr " (built-in):"

#: commands.c:604
#, c-format
msgid " (from `%s', line %lu):\n"
msgstr " (dari `%s', baris %lu):\n"

#: dir.c:983
msgid ""
"\n"
"# Directories\n"
msgstr ""
"\n"
"# Direktori\n"

#: dir.c:995
#, c-format
msgid "# %s: could not be stat'd.\n"
msgstr "# %s: tidak dapat melihat statistik.\n"

#: dir.c:999
#, c-format
msgid "# %s (key %s, mtime %d): could not be opened.\n"
msgstr "# %s (key %s, mtime %d): tidak dapat dibuka.\n"

#: dir.c:1003
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"
msgstr "# %s (device %d, inode [%d,%d,%d]): tidak dapat dibuka.\n"

#: dir.c:1008
#, c-format
msgid "# %s (device %ld, inode %ld): could not be opened.\n"
msgstr "# %s (device %ld, inode %ld): tidak dapat dibuka.\n"

#: dir.c:1035
#, c-format
msgid "# %s (key %s, mtime %d): "
msgstr "# %s (key %s, mtime %d): "

#: dir.c:1039
#, c-format
msgid "# %s (device %d, inode [%d,%d,%d]): "
msgstr "# %s (device %d, inode [%d,%d,%d]): "

#: dir.c:1044
#, c-format
msgid "# %s (device %ld, inode %ld): "
msgstr "# %s (device %ld, inode %ld): "

#: dir.c:1050 dir.c:1071
msgid "No"
msgstr "Tidak"

#: dir.c:1053 dir.c:1074
msgid " files, "
msgstr " files, "

#: dir.c:1055 dir.c:1076
msgid "no"
msgstr "tidak"

#: dir.c:1058
msgid " impossibilities"
msgstr " tidak mungkin"

#: dir.c:1062
msgid " so far."
msgstr " sejauh ini."

#: dir.c:1079
#, fuzzy, c-format
msgid " impossibilities in %lu directories.\n"
msgstr " tidak mungkin dalam direktori %u.\n"

#: expand.c:128
#, c-format
msgid "Recursive variable `%s' references itself (eventually)"
msgstr "Variabel rekursif `%s' menunjuk pada dirinya sendiri"

#: expand.c:266
msgid "unterminated variable reference"
msgstr "referensi variabel tidak diselesaikan"

#: file.c:270
#, c-format
msgid "Commands were specified for file `%s' at %s:%lu,"
msgstr "Perintah di spesifikasikan untuk file `%s' pada %s:%lu,"

#: file.c:275
#, c-format
msgid "Commands for file `%s' were found by implicit rule search,"
msgstr "Perintah untuk file `%s' ditemukan dalam pencarian aturan implisit,"

#: file.c:278
#, c-format
msgid "but `%s' is now considered the same file as `%s'."
msgstr ""
"tetapi `%s' sekarang dipertimbangkan sebagai file yang sama dengan `%s'."

#: file.c:281
#, c-format
msgid "Commands for `%s' will be ignored in favor of those for `%s'."
msgstr "Perintah untuk `%s' akan diabaikan untuk menghargai `%s'."

#: file.c:301
#, c-format
msgid "can't rename single-colon `%s' to double-colon `%s'"
msgstr "tidak dapat mengubah nama dari satu-colon `%s' ke double-colon `%s'"

#: file.c:306
#, c-format
msgid "can't rename double-colon `%s' to single-colon `%s'"
msgstr "tidak dapat mengubah nama dua-colon `%s' menjadi satu-colon `%s'"

#: file.c:381
#, c-format
msgid "*** Deleting intermediate file `%s'"
msgstr "*** Menghapus file intermediate `%s'"

#: file.c:385
#, fuzzy
msgid "Removing intermediate files...\n"
msgstr "*** Menghapus file intermediate `%s'"

#: file.c:781
#, c-format
msgid "%s: Timestamp out of range; substituting %s"
msgstr ""

#: file.c:782
msgid "Current time"
msgstr ""

#: file.c:881
msgid "# Not a target:"
msgstr "# Bukan sebuah target:"

#: file.c:903
msgid "#  Precious file (prerequisite of .PRECIOUS)."
msgstr "#  File sebelumnya (dibutuhkan oleh .PRECIOUS)."

#: file.c:905
msgid "#  Phony target (prerequisite of .PHONY)."
msgstr "#  Phony target (dibutuhkan oleh .PHONY)."

#: file.c:907
msgid "#  Command-line target."
msgstr "#  Command-line target."

#: file.c:909
#, fuzzy
msgid "#  A default, MAKEFILES, or -include/sinclude makefile."
msgstr "# merupakan sebuah default atau MAKEFILES makefile."

#: file.c:911
msgid "#  Implicit rule search has been done."
msgstr "#  Pencarian aturan implisit sudah selesai."

#: file.c:912
msgid "#  Implicit rule search has not been done."
msgstr "#  Pencarian aturan implisit belum selesai."

#: file.c:914
#, c-format
msgid "#  Implicit/static pattern stem: `%s'\n"
msgstr "#  Pola implisit atau statis stem: `%s'\n"

#: file.c:916
msgid "#  File is an intermediate prerequisite."
msgstr "#  File merupakan persyaratan perantara (intermediate)."

#: file.c:919
msgid "#  Also makes:"
msgstr "#  Juga membuat:"

#: file.c:925
msgid "#  Modification time never checked."
msgstr "#  Waktu ubah sudah di check."

#: file.c:927
msgid "#  File does not exist."
msgstr "#  File tidak ada."

#: file.c:929
#, fuzzy
msgid "#  File is very old."
msgstr "#  File sudah diupdate."

#: file.c:934
#, c-format
msgid "#  Last modified %s\n"
msgstr "#  Terakhir dimodifikasi pada %s\n"

#: file.c:937
msgid "#  File has been updated."
msgstr "#  File sudah diupdate."

#: file.c:937
msgid "#  File has not been updated."
msgstr "#  File belum di-update."

#: file.c:941
msgid "#  Commands currently running (THIS IS A BUG)."
msgstr "#  Perintah sedang berjalan (INI MERUPAKAN SEBUAH BUG)."

#: file.c:944
msgid "#  Dependencies commands running (THIS IS A BUG)."
msgstr "#  Perintah dependensi sedang berjalan (INI MERUPAKAN SEBUAH BUG)."

#: file.c:953
msgid "#  Successfully updated."
msgstr "#  Sukses mengupdate."

#: file.c:957
msgid "#  Needs to be updated (-q is set)."
msgstr "#  Perlu untuk diupdate (-q diset)."

#: file.c:960
msgid "#  Failed to be updated."
msgstr "#  Gagal untuk mengupdate."

#: file.c:963
msgid "#  Invalid value in `update_status' member!"
msgstr "#  Nilai yang salah dalam anggota `update_status' !"

#: file.c:970
msgid "#  Invalid value in `command_state' member!"
msgstr "#  Nilai yang salah dalam anggota `command_state' !"

#: file.c:989
msgid ""
"\n"
"# Files"
msgstr ""
"\n"
"# Files"

#: file.c:993
msgid ""
"\n"
"# files hash-table stats:\n"
"# "
msgstr ""

#: function.c:759
msgid "non-numeric first argument to `word' function"
msgstr "argumen pertama untuk fungsi `word' bukan numerik"

#: function.c:764
#, fuzzy
msgid "first argument to `word' function must be greater than 0"
msgstr "argumen pertama untuk fungsi `word' bukan numerik"

#: function.c:785
msgid "non-numeric first argument to `wordlist' function"
msgstr "argumen pertama untuk fungsi `wordlist' bukan numerik"

#: function.c:787
msgid "non-numeric second argument to `wordlist' function"
msgstr "argumen kedua dari fungsi `wordlist' bukan numerik"

#: function.c:1453
#, fuzzy, c-format
msgid "create_child_process: DuplicateHandle(In) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(In) gagal (e=%d)\n"

#: function.c:1464
#, fuzzy, c-format
msgid "create_child_process: DuplicateHandle(Err) failed (e=%ld)\n"
msgstr "create_child_process: DuplicateHandle(Err) gagal (e=%d)\n"

#: function.c:1469
#, fuzzy, c-format
msgid "CreatePipe() failed (e=%ld)\n"
msgstr "CreatePipe() gagal (e=%d)\n"

#: function.c:1474
msgid "windows32_openpipe (): process_init_fd() failed\n"
msgstr "windows32_openpipe (): process_init_fd() gagal\n"

#: function.c:1725
#, c-format
msgid "Cleaning up temporary batch file %s\n"
msgstr "Membersihkan file batch sementara %s\n"

#: function.c:2101
#, fuzzy, c-format
msgid "insufficient number of arguments (%d) to function `%s'"
msgstr "Argumen kurang (%d) untuk fungsi `%s'"

#: function.c:2113
#, fuzzy, c-format
msgid "unimplemented on this platform: function `%s'"
msgstr "Tidak terimplementasi dalam platform ini: fungsi `%s'"

#: function.c:2163
#, c-format
msgid "unterminated call to function `%s': missing `%c'"
msgstr "fungsi `%s' tidak diselesaikan: hilang `%c'"

#: getopt.c:663
#, c-format
msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: opsi `%s' merupakan ambigu\n"

#: getopt.c:687
#, c-format
msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: opsi `--%s' tidak memperbolehkan argumen\n"

#: getopt.c:692
#, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: opsi `%c%s' tidak memperbolehkan argumen\n"

#: getopt.c:709 getopt.c:882
#, c-format
msgid "%s: option `%s' requires an argument\n"
msgstr "%s: opsi `%s' membutuhkan sebuah argumen\n"

#: getopt.c:738
#, c-format
msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: opsi tidak dikenali `--%s'\n"

#: getopt.c:742
#, c-format
msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: opsi tidak dikenali `%c%s'\n"

#: getopt.c:768
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: opsi illegal -- %c\n"

#: getopt.c:771
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: opsi tidak valid -- %c\n"

#: getopt.c:801 getopt.c:931
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: opsi membutuhkan sebuah argumen -- %c\n"

#: getopt.c:848
#, c-format
msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: opsi `-W %s' merupakan opsi ambigu\n"

#: getopt.c:866
#, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: opsi `-W %s' tidak memperbolehkan sebuah argumen\n"

#: hash.c:51
#, c-format
msgid "can't allocate %ld bytes for hash table: memory exhausted"
msgstr ""

#: hash.c:282
#, c-format
msgid "Load=%ld/%ld=%.0f%%, "
msgstr ""

#: hash.c:284
#, c-format
msgid "Rehash=%d, "
msgstr ""

#: hash.c:285
#, c-format
msgid "Collisions=%ld/%ld=%.0f%%"
msgstr ""

#: implicit.c:41
#, c-format
msgid "Looking for an implicit rule for `%s'.\n"
msgstr "Mencari aturan implisit untuk `%s'.\n"

#: implicit.c:57
#, c-format
msgid "Looking for archive-member implicit rule for `%s'.\n"
msgstr "Mencari aturan implisit untuk anggota-archive pada `%s'.\n"

#: implicit.c:319
msgid "Avoiding implicit rule recursion.\n"
msgstr "Menghindari aturan implisit rekursi.\n"

#: implicit.c:476
#, c-format
msgid "Trying pattern rule with stem `%.*s'.\n"
msgstr "Mencoba aturan pola dengan stem `%.*s'.\n"

#: implicit.c:667
#, c-format
msgid "Rejecting impossible implicit prerequisite `%s'.\n"
msgstr "Menolak persyaratan implisit yang tidak mungkin `%s'.\n"

#: implicit.c:668
#, c-format
msgid "Rejecting impossible rule prerequisite `%s'.\n"
msgstr "Menolak persyaratan aturan yang tidak mungkin `%s'.\n"

#: implicit.c:678
#, c-format
msgid "Trying implicit prerequisite `%s'.\n"
msgstr "Mencoba persyaratan implisit `%s'.\n"

#: implicit.c:679
#, c-format
msgid "Trying rule prerequisite `%s'.\n"
msgstr "Mencoba persyaratan dari aturan `%s'.\n"

#: implicit.c:710
#, c-format
msgid "Found prerequisite `%s' as VPATH `%s'\n"
msgstr "Menemukan persyaratan `%s' sebagai VPATH `%s'\n"

#: implicit.c:730
#, c-format
msgid "Looking for a rule with intermediate file `%s'.\n"
msgstr "Mencari aturan dengan file antara `%s'.\n"

#: job.c:321
#, fuzzy
msgid "Cannot create a temporary file\n"
msgstr "fwrite (file sementara)"

#: job.c:388
#, c-format
msgid "*** [%s] Error 0x%x (ignored)"
msgstr "*** [%s] Error 0x%x (diabaikan)"

#: job.c:389
#, c-format
msgid "*** [%s] Error 0x%x"
msgstr "*** [%s] Error 0x%x"

#: job.c:393
#, c-format
msgid "[%s] Error %d (ignored)"
msgstr "[%s] Error %d (diabaikan)"

#: job.c:394
#, c-format
msgid "*** [%s] Error %d"
msgstr "*** [%s] Error %d"

#: job.c:399
msgid " (core dumped)"
msgstr " (core di-dump)"

#: job.c:488
msgid "*** Waiting for unfinished jobs...."
msgstr "*** Menunggu jobs yang belum selesai...."

#: job.c:518
#, c-format
msgid "Live child 0x%08lx (%s) PID %ld %s\n"
msgstr "Proses anak yang masih berjalan 0x%08lx (%s) PID %ld %s\n"

#: job.c:520 job.c:701 job.c:804 job.c:1457
msgid " (remote)"
msgstr " (remote)"

#: job.c:698
#, c-format
msgid "Reaping losing child 0x%08lx PID %ld %s\n"
msgstr "Reaping losing child 0x%08lx PID %ld %s\n"

#: job.c:699
#, c-format
msgid "Reaping winning child 0x%08lx PID %ld %s\n"
msgstr "Reaping winning child 0x%08lx PID %ld %s\n"

#: job.c:704
#, c-format
msgid "Cleaning up temp batch file %s\n"
msgstr "Membersihkan file batch sementara %s\n"

#: job.c:802
#, fuzzy, c-format
msgid "Removing child 0x%08lx PID %ld%s from chain.\n"
msgstr "Menghilangkan proses anak 0x%08lx PID %ld%s dari rantai.\n"

#: job.c:862
msgid "write jobserver"
msgstr "menulis jobserver"

#: job.c:864
#, c-format
msgid "Released token for child 0x%08lx (%s).\n"
msgstr "Melepaskan token dari proses anak 0x%08lx (%s).\n"

#: job.c:1383
#, fuzzy, c-format
msgid "process_easy() failed to launch process (e=%ld)\n"
msgstr "process_easy() gagal untuk menjalankan proses (e=%d)\n"

#: job.c:1387 job.c:2020
#, c-format
msgid ""
"\n"
"Counted %d args in failed launch\n"
msgstr ""
"\n"
"Terhitung %d argumen gagal untuk dijalankan\n"

#: job.c:1455
#, c-format
msgid "Putting child 0x%08lx (%s) PID %ld%s on the chain.\n"
msgstr "Meletakkan proses anak 0x%08lx (%s) PID %ld%s pada rantai proses.\n"

#: job.c:1709
#, c-format
msgid "Obtained token for child 0x%08lx (%s).\n"
msgstr "Memperoleh token untuk proses anak 0x%08lx (%s).\n"

#: job.c:1718
msgid "read jobs pipe"
msgstr "membaca jobs pipe"

#: job.c:1832
msgid "cannot enforce load limits on this operating system"
msgstr "tidak dapat memaksa mencapai batas beban pada sistem operasi ini"

#: job.c:1834
msgid "cannot enforce load limit: "
msgstr "tidak dapat memaksa mencapai batas beban: "

#: job.c:1907
msgid "no more file handles: could not duplicate stdin\n"
msgstr ""

#: job.c:1909
msgid "no more file handles: could not duplicate stdout\n"
msgstr ""

#: job.c:1937
msgid "Could not restore stdin\n"
msgstr ""

#: job.c:1945
msgid "Could not restore stdout\n"
msgstr ""

#: job.c:2016
#, fuzzy, c-format
msgid "process_easy() failed failed to launch process (e=%ld)\n"
msgstr "process_easy() gagal untuk menjalankan proses (e=%d)\n"

#: job.c:2046
#, fuzzy, c-format
msgid "make reaped child pid %ld, still waiting for pid %ld\n"
msgstr "make reaped child pid %d, tetap menunggu untuk pid %d\n"

#: job.c:2085
#, c-format
msgid "%s: Command not found"
msgstr "%s: Perintah tidak ada"

#: job.c:2145
#, c-format
msgid "%s: Shell program not found"
msgstr "%s: Shell program tidak ditemukan"

#: job.c:2154
msgid "spawnvpe: environment space might be exhausted"
msgstr ""

#: job.c:2363
#, fuzzy, c-format
msgid "$SHELL changed (was `%s', now `%s')\n"
msgstr "$SHELL berubah (sebelumnya `%s', sekarang `%s')"

#: job.c:2789
#, c-format
msgid "Creating temporary batch file %s\n"
msgstr "Membuat file batch sementara %s\n"

#: job.c:2902
#, c-format
msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n"
msgstr "%s (baris %d) shell context tidak baik (!unixy && !batch_mode_shell)\n"

#: main.c:291
msgid "Options:\n"
msgstr "Opsi:\n"

#: main.c:292
#, fuzzy
msgid "  -b, -m                      Ignored for compatibility.\n"
msgstr "Diabaikan untuk kompatibilitas."

#: main.c:294
msgid "  -B, --always-make           Unconditionally make all targets.\n"
msgstr ""

#: main.c:296
msgid ""
"  -C DIRECTORY, --directory=DIRECTORY\n"
"                              Change to DIRECTORY before doing anything.\n"
msgstr ""

#: main.c:299
#, fuzzy
msgid "  -d                          Print lots of debugging information.\n"
msgstr "Menampilkan banyak informasi debug"

#: main.c:301
#, fuzzy
msgid ""
"  --debug[=FLAGS]             Print various types of debugging information.\n"
msgstr "Menampilkan berbagai tipe informasi debug."

#: main.c:303
msgid ""
"  -e, --environment-overrides\n"
"                              Environment variables override makefiles.\n"
msgstr ""

#: main.c:306
msgid ""
"  -f FILE, --file=FILE, --makefile=FILE\n"
"                              Read FILE as a makefile.\n"
msgstr ""

#: main.c:309
#, fuzzy
msgid "  -h, --help                  Print this message and exit.\n"
msgstr "Tampilkan pesan ini dan keluar"

#: main.c:311
#, fuzzy
msgid "  -i, --ignore-errors         Ignore errors from commands.\n"
msgstr "Abaikan kesalahan dari perintah yang dijalankan"

#: main.c:313
msgid ""
"  -I DIRECTORY, --include-dir=DIRECTORY\n"
"                              Search DIRECTORY for included makefiles.\n"
msgstr ""

#: main.c:316
#, fuzzy
msgid ""
"  -j [N], --jobs[=N]          Allow N jobs at once; infinite jobs with no "
"arg.\n"
msgstr ""
"Melakukan N jobs secara bersamaan. Jobs tidak terhingga jika tidak diberikan "
"argumen."

#: main.c:318
#, fuzzy
msgid ""
"  -k, --keep-going            Keep going when some targets can't be made.\n"
msgstr "Tetap jalan ketika target tidak dapat dibuat."

#: main.c:320
msgid ""
"  -l [N], --load-average[=N], --max-load[=N]\n"
"                              Don't start multiple jobs unless load is below "
"N.\n"
msgstr ""

#: main.c:323
msgid ""
"  -L, --check-symlink-times   Use the latest mtime between symlinks and "
"target.\n"
msgstr ""

#: main.c:325
msgid ""
"  -n, --just-print, --dry-run, --recon\n"
"                              Don't actually run any commands; just print "
"them.\n"
msgstr ""

#: main.c:328
msgid ""
"  -o FILE, --old-file=FILE, --assume-old=FILE\n"
"                              Consider FILE to be very old and don't remake "
"it.\n"
msgstr ""

#: main.c:331
#, fuzzy
msgid "  -p, --print-data-base       Print make's internal database.\n"
msgstr "Tampilkan make's internal database"

#: main.c:333
#, fuzzy
msgid ""
"  -q, --question              Run no commands; exit status says if up to "
"date.\n"
msgstr ""
"Tidak menjalankan perintah. Mengeluarkan status saja dan mengatakan up to "
"date"

#: main.c:335
#, fuzzy
msgid "  -r, --no-builtin-rules      Disable the built-in implicit rules.\n"
msgstr "Aturan implisit builtin tidak digunakan."

#: main.c:337
#, fuzzy
msgid "  -R, --no-builtin-variables  Disable the built-in variable settings.\n"
msgstr "Builtin variabel seting tidak digunakan"

#: main.c:339
msgid "  -s, --silent, --quiet       Don't echo commands.\n"
msgstr ""

#: main.c:341
msgid ""
"  -S, --no-keep-going, --stop\n"
"                              Turns off -k.\n"
msgstr ""

#: main.c:344
#, fuzzy
msgid "  -t, --touch                 Touch targets instead of remaking them.\n"
msgstr "Touch target dari pada membuat kembali"

#: main.c:346
#, fuzzy
msgid ""
"  -v, --version               Print the version number of make and exit.\n"
msgstr "Tampilkan versi dari make dan keluar"

#: main.c:348
#, fuzzy
msgid "  -w, --print-directory       Print the current directory.\n"
msgstr "Tampilkan directory saat ini"

#: main.c:350
#, fuzzy
msgid ""
"  --no-print-directory        Turn off -w, even if it was turned on "
"implicitly.\n"
msgstr "Matikan opsi -w, walaupun opsi ini diaktifkan secara implisit"

#: main.c:352
msgid ""
"  -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n"
"                              Consider FILE to be infinitely new.\n"
msgstr ""

#: main.c:355
#, fuzzy
msgid ""
"  --warn-undefined-variables  Warn when an undefined variable is "
"referenced.\n"
msgstr "Peringatkan akan adanya variabel yang tidak terdefinisi."

#: main.c:549
msgid "empty string invalid as file name"
msgstr "`string' kosong tidak valid sebagai nama file"

#: main.c:630
#, c-format
msgid "unknown debug level specification `%s'"
msgstr "spesifikasi level debug tidak diketahui `%s'"

#: main.c:670
#, fuzzy, c-format
msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%lx)\n"
msgstr "%s: Interupsi/Exception diterima (kode = 0x%x, alamat = 0x%x)\n"

#: main.c:677
#, fuzzy, c-format
msgid ""
"\n"
"Unhandled exception filter called from program %s\n"
"ExceptionCode = %lx\n"
"ExceptionFlags = %lx\n"
"ExceptionAddress = %lx\n"
msgstr ""
"\n"
"Exception filter tidak dapat diatasi dari program %s\n"
"ExceptionCode = %x\n"
"ExceptionFlags = %x\n"
"ExceptionAddress = %x\n"

#: main.c:685
#, fuzzy, c-format
msgid "Access violation: write operation at address %lx\n"
msgstr "Akses dilanggar: operasi tulis pada alamat %x\n"

#: main.c:686
#, fuzzy, c-format
msgid "Access violation: read operation at address %lx\n"
msgstr "Akses dilanggar: operasi baca pada alamat %x\n"

#: main.c:762 main.c:773
#, c-format
msgid "find_and_set_shell setting default_shell = %s\n"
msgstr "find_and_set_shell diset pada default_shell = %s\n"

#: main.c:814
#, c-format
msgid "find_and_set_shell path search set default_shell = %s\n"
msgstr "find_and_set_shell jalur pencarian di set pada default_shell = %s\n"

#: main.c:1236
#, c-format
msgid "%s is suspending for 30 seconds..."
msgstr "%s dihentikan selama 30 detik..."

#: main.c:1238
#, c-format
msgid "done sleep(30). Continuing.\n"
msgstr "selesai tidur(30). Melanjutkan.\n"

#: main.c:1466
msgid "Makefile from standard input specified twice."
msgstr "Makefile dari standard input dispesifikasikan dua kali."

#: main.c:1505 vmsjobs.c:486
msgid "fopen (temporary file)"
msgstr "fopen (file sementara)"

#: main.c:1511
msgid "fwrite (temporary file)"
msgstr "fwrite (file sementara)"

#: main.c:1640
msgid "Parallel jobs (-j) are not supported on this platform."
msgstr "Parallel jobs (-j) tidak disupport dalam platform ini."

#: main.c:1641
msgid "Resetting to single job (-j1) mode."
msgstr "Mereset kembali ke mode satu job (-j1)."

#: main.c:1656
msgid "internal error: multiple --jobserver-fds options"
msgstr "internal error: opsi --jobserver-fds lebih dari satu"

#: main.c:1664
#, c-format
msgid "internal error: invalid --jobserver-fds string `%s'"
msgstr "internal error: invalid --jobserver-fds string `%s'"

#: main.c:1674
msgid "warning: -jN forced in submake: disabling jobserver mode."
msgstr "Peringatan: -jN dipaksakan dalam submake: disabling jobserver mode."

#: main.c:1684
msgid "dup jobserver"
msgstr "dup jobserver"

#: main.c:1687
msgid ""
"warning: jobserver unavailable: using -j1.  Add `+' to parent make rule."
msgstr ""
"Peringatan: jobserver tidak ada: menggunakan -j1. Tambahkan `+' pada aturan "
"make paling atas."

#: main.c:1710
msgid "creating jobs pipe"
msgstr "membuat jobs pipe"

#: main.c:1725
msgid "init jobserver pipe"
msgstr "inisiasi jobserver pipe"

#: main.c:1744
msgid "Symbolic links not supported: disabling -L."
msgstr ""

#: main.c:1820
msgid "Updating makefiles....\n"
msgstr "Meng-update makefiles....\n"

#: main.c:1845
#, c-format
msgid "Makefile `%s' might loop; not remaking it.\n"
msgstr "Makefile `%s' mungkin berupa loop; tidak membuat lagi.\n"

#: main.c:1924
#, c-format
msgid "Failed to remake makefile `%s'."
msgstr "Gagal membuat lagi target file `%s'."

#: main.c:1941
#, c-format
msgid "Included makefile `%s' was not found."
msgstr "Included makefile `%s' tidak ditemukan."

#: main.c:1946
#, c-format
msgid "Makefile `%s' was not found"
msgstr "Makefile `%s' tidak ditemukan"

#: main.c:2016
msgid "Couldn't change back to original directory."
msgstr "Tidak dapat kembali ke direktori asal."

#: main.c:2024
#, fuzzy, c-format
msgid "Re-executing[%u]:"
msgstr "Menjalankan kembali:"

#: main.c:2140
msgid "unlink (temporary file): "
msgstr "unlink (file sementara): "

#: main.c:2169
msgid ".DEFAULT_GOAL contains more than one target"
msgstr ""

#: main.c:2189
msgid "No targets specified and no makefile found"
msgstr "Tidak diberikan target dan tidak ditemukan makefile"

#: main.c:2191
msgid "No targets"
msgstr "Tidak terdapat targets"

#: main.c:2196
msgid "Updating goal targets....\n"
msgstr "Men-update target akhir....\n"

#: main.c:2222
msgid "warning:  Clock skew detected.  Your build may be incomplete."
msgstr ""
"Peringatan: Clock skew terdeteksi. Pembuatan anda mungkin tidak sempurna"

#: main.c:2383
#, c-format
msgid "Usage: %s [options] [target] ...\n"
msgstr "Penggunaan: %s [opsi] [target] ...\n"

#: main.c:2389
#, c-format
msgid ""
"\n"
"This program built for %s\n"
msgstr ""

#: main.c:2391
#, c-format
msgid ""
"\n"
"This program built for %s (%s)\n"
msgstr ""

#: main.c:2394
#, fuzzy, c-format
msgid "Report bugs to <bug-make@gnu.org>\n"
msgstr ""
"\n"
"Laporkan bugs kepada <bug-make@gnu.org>\n"

#: main.c:2466
#, fuzzy, c-format
msgid "the `-%c' option requires a non-empty string argument"
msgstr "opsi `-%c' membutuhkan sebuah argument `string' yang tidak kosong"

#: main.c:2518
#, c-format
msgid "the `-%c' option requires a positive integral argument"
msgstr "opsi `-%c' membutuhkan sebuah argument `string' yang tidak kosong"

#: main.c:2942
#, fuzzy, c-format
msgid ""
"%sThis is free software; see the source for copying conditions.\n"
"%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
"%sPARTICULAR PURPOSE.\n"
msgstr ""
", oleh Richard Stallman dan Roland McGrath.\n"
"%sDibuat untuk %s\n"
"%sCopyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99\n"
"%s\tFree Software Foundation, Inc.\n"
"%sIni adalah free software; lihat kode program untuk syarat mengkopinya.\n"
"%sTIDAK TERDAPAT GARANSI; bahkan untuk PENJUALAN atau \n"
"%sKESESUAIAN UNTUK TUJUAN TERTENTU.\n"
"\n"
"%sLaporkan bugs kepada <bug-make@gnu.org>\n"
"\n"

#: main.c:2948
#, c-format
msgid ""
"\n"
"%sThis program built for %s\n"
msgstr ""

#: main.c:2950
#, c-format
msgid ""
"\n"
"%sThis program built for %s (%s)\n"
msgstr ""

#: main.c:2968
#, c-format
msgid ""
"\n"
"# Make data base, printed on %s"
msgstr ""
"\n"
"# Make data base, di tampilkan pada %s"

#: main.c:2978
#, c-format
msgid ""
"\n"
"# Finished Make data base on %s\n"
msgstr ""
"\n"
"# Selesai membuat Make data base pada %s\n"

#: main.c:3101
#, fuzzy, c-format
msgid "%s: Entering an unknown directory\n"
msgstr "sebuah direktori yang tidak diketahui"

#: main.c:3103
#, fuzzy, c-format
msgid "%s: Leaving an unknown directory\n"
msgstr "sebuah direktori yang tidak diketahui"

#: main.c:3106
#, fuzzy, c-format
msgid "%s: Entering directory `%s'\n"
msgstr "direktori `%s'\n"

#: main.c:3109
#, fuzzy, c-format
msgid "%s: Leaving directory `%s'\n"
msgstr "direktori `%s'\n"

#: main.c:3114
#, fuzzy, c-format
msgid "%s[%u]: Entering an unknown directory\n"
msgstr "sebuah direktori yang tidak diketahui"

#: main.c:3117
#, fuzzy, c-format
msgid "%s[%u]: Leaving an unknown directory\n"
msgstr "sebuah direktori yang tidak diketahui"

#: main.c:3121
#, fuzzy, c-format
msgid "%s[%u]: Entering directory `%s'\n"
msgstr "direktori `%s'\n"

#: main.c:3124
#, fuzzy, c-format
msgid "%s[%u]: Leaving directory `%s'\n"
msgstr "direktori `%s'\n"

#: misc.c:285
msgid ".  Stop.\n"
msgstr ". Berhenti.\n"

#: misc.c:306
#, c-format
msgid "Unknown error %d"
msgstr "Tidak diketahui kesalahan %d"

#: misc.c:316
#, c-format
msgid "%s%s: %s"
msgstr ""

#: misc.c:324
#, c-format
msgid "%s: %s"
msgstr ""

#: misc.c:344 misc.c:359 misc.c:376 read.c:3127
msgid "virtual memory exhausted"
msgstr "Kehabisan memori virtual"

#: misc.c:646
#, fuzzy, c-format
msgid "%s: user %lu (real %lu), group %lu (real %lu)\n"
msgstr "%s: pengguna %lu (nyata %lu), grup %lu (nyata %lu)\n"

#: misc.c:667
#, fuzzy
msgid "Initialized access"
msgstr "Terinisialisasi"

#: misc.c:746
msgid "User access"
msgstr ""

#: misc.c:794
msgid "Make access"
msgstr ""

#: misc.c:828
msgid "Child access"
msgstr ""

#: misc.c:892
#, fuzzy, c-format
msgid "write error: %s"
msgstr "Meneruskan error menuju %s\n"

#: misc.c:894
#, fuzzy
msgid "write error"
msgstr "menulis jobserver"

#: read.c:160
msgid "Reading makefiles...\n"
msgstr "Membaca makefiles...\n"

#: read.c:315
#, c-format
msgid "Reading makefile `%s'"
msgstr "Membaca makefile `%s'"

#: read.c:317
#, c-format
msgid " (no default goal)"
msgstr " (tidak terdapat goal default)"

#: read.c:319
#, c-format
msgid " (search path)"
msgstr " (jalur pencarian)"

#: read.c:321
#, c-format
msgid " (don't care)"
msgstr " (tidak peduli)"

#: read.c:323
#, c-format
msgid " (no ~ expansion)"
msgstr " (tidak terdapat ekspansi tilde ~)"

#: read.c:623
msgid "invalid syntax in conditional"
msgstr "sintak salah dalam kondisional"

#: read.c:633
msgid "extraneous `endef'"
msgstr "kelebihan `endef'"

#: read.c:645 read.c:673 variable.c:1316
msgid "empty variable name"
msgstr "nama variabel kosong"

#: read.c:662
msgid "empty `override' directive"
msgstr "directive `override' kosong"

#: read.c:687
msgid "invalid `override' directive"
msgstr "directive `override' tidak valid"

#: read.c:854
msgid "commands commence before first target"
msgstr "perintah dijalankan sebelum target pertama"

#: read.c:905
msgid "missing rule before commands"
msgstr "hilang aturan sebelum menjalankan perintah"

#: read.c:992
#, c-format
msgid "missing separator%s"
msgstr "pemisah %s hilang"

#: read.c:994
msgid " (did you mean TAB instead of 8 spaces?)"
msgstr " (apakah yang anda maksud TAB dari pada 8 buah spasi?)"

#: read.c:1152
msgid "missing target pattern"
msgstr "pola target hilang"

#: read.c:1154
msgid "multiple target patterns"
msgstr "pola target banyak"

#: read.c:1158
#, c-format
msgid "target pattern contains no `%%'"
msgstr "pola target tidak memiliki `%%'"

#: read.c:1286
msgid "missing `endif'"
msgstr "hilang `endif'"

#: read.c:1377
msgid "Extraneous text after `endef' directive"
msgstr "Kelebihan text sesudah `endef' directive"

#: read.c:1411
msgid "missing `endef', unterminated `define'"
msgstr "hilang syntak `endef', tidak diselesaikan `define'"

#: read.c:1454
#, c-format
msgid "Extraneous text after `%s' directive"
msgstr "Kelebihan text sesudah `%s' directive"

#: read.c:1463 read.c:1477
#, c-format
msgid "extraneous `%s'"
msgstr "kelebihan `%s'"

#: read.c:1482
msgid "only one `else' per conditional"
msgstr "hanya satu `else' dalam setiap kondisi"

#: read.c:1824
#, fuzzy
msgid "Malformed target-specific variable definition"
msgstr "Definisi variable target-specific memiliki format salah"

#: read.c:1886
msgid "prerequisites cannot be defined in command scripts"
msgstr ""

#: read.c:1921
msgid "mixed implicit and static pattern rules"
msgstr "aturan pola implisit dan static tercampur"

#: read.c:1924
msgid "mixed implicit and normal rules"
msgstr "aturan implisit dan aturan normal tercampur"

#: read.c:1954
#, c-format
msgid "target `%s' doesn't match the target pattern"
msgstr "target `%s' tidak cocok dengan pola target"

#: read.c:1973 read.c:2074
#, c-format
msgid "target file `%s' has both : and :: entries"
msgstr "target file `%s' keduanya memiliki : dan :: entries"

#: read.c:1979
#, c-format
msgid "target `%s' given more than once in the same rule."
msgstr "target `%s' diberikan lebih dari sekali dalam satu aturan."

#: read.c:1988
#, c-format
msgid "warning: overriding commands for target `%s'"
msgstr "Peringatan: overriding perintah untuk target `%s'"

#: read.c:1991
#, c-format
msgid "warning: ignoring old commands for target `%s'"
msgstr "Peringatan: menghiraukan perintah lama untuk target `%s'"

#: read.c:2575
msgid "warning: NUL character seen; rest of line ignored"
msgstr "Peringatan: karakter NUL terlihat; baris selanjutnya dihiraukan"

#: remake.c:229
#, c-format
msgid "Nothing to be done for `%s'."
msgstr "Tidak ada yang harus dilakukan untuk membuat `%s'."

#: remake.c:230
#, c-format
msgid "`%s' is up to date."
msgstr "`%s' sudah up to date."

#: remake.c:297
#, c-format
msgid "Pruning file `%s'.\n"
msgstr "Pruning file `%s'.\n"

#: remake.c:349
#, c-format
msgid "%sNo rule to make target `%s'%s"
msgstr "%sTidak terdapat aturan untuk membuat target `%s'%s"

#: remake.c:351
#, c-format
msgid "%sNo rule to make target `%s', needed by `%s'%s"
msgstr ""
"%sTidak terdapat aturan untuk membuat target `%s', dibutuhkan oleh `%s'%s"

#: remake.c:378
#, c-format
msgid "Considering target file `%s'.\n"
msgstr "Mempertimbangkan target file `%s'.\n"

#: remake.c:385
#, c-format
msgid "Recently tried and failed to update file `%s'.\n"
msgstr "Baru saja dicoba dan gagal untuk meng-update file `%s'.\n"

#: remake.c:400
#, c-format
msgid "File `%s' was considered already.\n"
msgstr "File `%s' baru saja dipertimbangkan.\n"

#: remake.c:410
#, c-format
msgid "Still updating file `%s'.\n"
msgstr "Sedang meng-update file `%s'.\n"

#: remake.c:413
#, c-format
msgid "Finished updating file `%s'.\n"
msgstr "Selesai meng-update file `%s'.\n"

#: remake.c:434
#, c-format
msgid "File `%s' does not exist.\n"
msgstr "File `%s' tidak ada.\n"

#: remake.c:441
#, c-format
msgid ""
"*** Warning: .LOW_RESOLUTION_TIME file `%s' has a high resolution time stamp"
msgstr ""

#: remake.c:454 remake.c:962
#, c-format
msgid "Found an implicit rule for `%s'.\n"
msgstr "Ditemukan sebuah aturan implisit untuk `%s'.\n"

#: remake.c:456 remake.c:964
#, c-format
msgid "No implicit rule found for `%s'.\n"
msgstr "Tidak terdapat aturan implisit untuk membuat `%s'.\n"

#: remake.c:462 remake.c:970
#, c-format
msgid "Using default commands for `%s'.\n"
msgstr "Menggunakan perintah default untuk `%s'.\n"

#: remake.c:484 remake.c:996
#, c-format
msgid "Circular %s <- %s dependency dropped."
msgstr "Circular %s <- %s ketergantungan dijatuhkan."

#: remake.c:601
#, c-format
msgid "Finished prerequisites of target file `%s'.\n"
msgstr "Selesai melakukan semua persyaratan dari target file `%s'.\n"

#: remake.c:607
#, c-format
msgid "The prerequisites of `%s' are being made.\n"
msgstr "Persyaratan untuk membuat `%s' sedang dibuat.\n"

#: remake.c:620
#, c-format
msgid "Giving up on target file `%s'.\n"
msgstr "Menyerah untuk membuat target file `%s'.\n"

#: remake.c:625
#, c-format
msgid "Target `%s' not remade because of errors."
msgstr "Target `%s' tidak dibuat lagi karena ada kesalahan (errors)."

#: remake.c:677
#, fuzzy, c-format
msgid "Prerequisite `%s' is order-only for target `%s'.\n"
msgstr "Persyaratan untuk `%s' lebih tua dari pada target `%s'.\n"

#: remake.c:682
#, c-format
msgid "Prerequisite `%s' of target `%s' does not exist.\n"
msgstr "Persyaratan untuk `%s' untuk target `%s' tidak ada.\n"

#: remake.c:687
#, c-format
msgid "Prerequisite `%s' is newer than target `%s'.\n"
msgstr "Persyaratan untuk `%s' lebih baru dari pada target `%s'.\n"

#: remake.c:690
#, c-format
msgid "Prerequisite `%s' is older than target `%s'.\n"
msgstr "Persyaratan untuk `%s' lebih tua dari pada target `%s'.\n"

#: remake.c:708
#, c-format
msgid "Target `%s' is double-colon and has no prerequisites.\n"
msgstr "Target `%s' merupakan double-colon dan tidak memiliki syarat.\n"

#: remake.c:715
#, c-format
msgid "No commands for `%s' and no prerequisites actually changed.\n"
msgstr "Tidak ada perintah untuk `%s' dan persyaratan tidak berubah.\n"

#: remake.c:720
#, c-format
msgid "Making `%s' due to always-make flag.\n"
msgstr ""

#: remake.c:728
#, c-format
msgid "No need to remake target `%s'"
msgstr "Tidak perlu membuat lagi target `%s'"

#: remake.c:730
#, c-format
msgid "; using VPATH name `%s'"
msgstr "; menggunakan nama VPATH `%s'"

#: remake.c:750
#, c-format
msgid "Must remake target `%s'.\n"
msgstr "Harus membuat lagi target `%s'.\n"

#: remake.c:756
#, c-format
msgid "  Ignoring VPATH name `%s'.\n"
msgstr " Mengabaikan nama VPATH `%s'.\n"

#: remake.c:765
#, c-format
msgid "Commands of `%s' are being run.\n"
msgstr "Perintah dari `%s' sedang dijalankan.\n"

#: remake.c:772
#, c-format
msgid "Failed to remake target file `%s'.\n"
msgstr "Gagal membuat lagi target file `%s'.\n"

#: remake.c:775
#, c-format
msgid "Successfully remade target file `%s'.\n"
msgstr "Sukses membuat kembali target file `%s'.\n"

#: remake.c:778
#, c-format
msgid "Target file `%s' needs remade under -q.\n"
msgstr "Target file `%s' dibutuhkan untuk membuat kembali dengan opsi -q.\n"

#: remake.c:1306
#, fuzzy, c-format
msgid "Warning: File `%s' has modification time in the future"
msgstr ""
"*** Peringatan: File `%s' memiliki waktu modifikasi lebih baru (%s > %s)"

#: remake.c:1313
#, fuzzy, c-format
msgid "Warning: File `%s' has modification time %.2g s in the future"
msgstr ""
"*** Peringatan: File `%s' memiliki waktu modifikasi lebih baru (%s > %s)"

#: remake.c:1511
#, c-format
msgid ".LIBPATTERNS element `%s' is not a pattern"
msgstr ".LIBPATTERNS elemen `%s' bukan merupakan sebuah pattern"

#: remote-cstms.c:125
#, c-format
msgid "Customs won't export: %s\n"
msgstr "Custom tidak akan men-export: %s\n"

#: rule.c:548
#, fuzzy
msgid ""
"\n"
"# Implicit Rules"
msgstr ""
"\n"
"# Tidak ada aturan implisit."

#: rule.c:563
msgid ""
"\n"
"# No implicit rules."
msgstr ""
"\n"
"# Tidak ada aturan implisit."

#: rule.c:566
#, c-format
msgid ""
"\n"
"# %u implicit rules, %u"
msgstr ""
"\n"
"# %u aturan implisit, %u"

#: rule.c:575
msgid " terminal."
msgstr " terminal."

#: rule.c:583
#, c-format
msgid "BUG: num_pattern_rules wrong!  %u != %u"
msgstr "BUG: num_pattern_rules salah! %u != %u"

#: signame.c:85
msgid "unknown signal"
msgstr "sinyal tidak diketahui"

#: signame.c:93
msgid "Hangup"
msgstr "Hangup"

#: signame.c:96
msgid "Interrupt"
msgstr "Interupsi"

#: signame.c:99
msgid "Quit"
msgstr "Berhenti"

#: signame.c:102
msgid "Illegal Instruction"
msgstr "Instruksi Ilegal"

#: signame.c:105
msgid "Trace/breakpoint trap"
msgstr "Trace/breakpoint trap"

#: signame.c:110
msgid "Aborted"
msgstr "Dibatalkan"

#: signame.c:113
msgid "IOT trap"
msgstr "IOT trap"

#: signame.c:116
msgid "EMT trap"
msgstr "EMT trap"

#: signame.c:119
msgid "Floating point exception"
msgstr "Floating point exception"

#: signame.c:122
msgid "Killed"
msgstr "Dimatikan"

#: signame.c:125
msgid "Bus error"
msgstr "Bus error"

#: signame.c:128
msgid "Segmentation fault"
msgstr "Kesalahan segmentasi memory"

#: signame.c:131
msgid "Bad system call"
msgstr "system call jelek"

#: signame.c:134
msgid "Broken pipe"
msgstr "`pipe' rusak"

#: signame.c:137
msgid "Alarm clock"
msgstr "Jam alarm"

#: signame.c:140
msgid "Terminated"
msgstr "Dimatikan"

#: signame.c:143
msgid "User defined signal 1"
msgstr "Sinyal definisi pengguna 1"

#: signame.c:146
msgid "User defined signal 2"
msgstr "Sinyal definisi pengguna 2"

#: signame.c:151 signame.c:154
msgid "Child exited"
msgstr "Proses anak berakhir"

#: signame.c:157
msgid "Power failure"
msgstr "Listrik mati"

#: signame.c:160
msgid "Stopped"
msgstr "Dihentikkan"

#: signame.c:163
msgid "Stopped (tty input)"
msgstr "Dihentikan (masukkan tty)"

#: signame.c:166
msgid "Stopped (tty output)"
msgstr "Dihentikan (keluaran tty)"

#: signame.c:169
msgid "Stopped (signal)"
msgstr "Dihentikan oleh sinyal"

#: signame.c:172
msgid "CPU time limit exceeded"
msgstr "Batas waktu CPU telah terlampaui"

#: signame.c:175
msgid "File size limit exceeded"
msgstr "Batas maksimal ukuran file sudah dilampaui"

#: signame.c:178
msgid "Virtual timer expired"
msgstr "Virtual timer sudah lewat"

#: signame.c:181
msgid "Profiling timer expired"
msgstr "Profiling timer sudah lewat"

#: signame.c:187
msgid "Window changed"
msgstr "Window berubah"

#: signame.c:190
msgid "Continued"
msgstr "Dilanjutkan"

#: signame.c:193
msgid "Urgent I/O condition"
msgstr "Kondisi I/O penting"

#: signame.c:200 signame.c:209
msgid "I/O possible"
msgstr "I/O mungkin"

#: signame.c:203
msgid "SIGWIND"
msgstr "SIGWIND"

#: signame.c:206
msgid "SIGPHONE"
msgstr "SIGPHONE"

#: signame.c:212
msgid "Resource lost"
msgstr "Resource hilang"

#: signame.c:215
msgid "Danger signal"
msgstr "Sinyal bahaya"

#: signame.c:218
msgid "Information request"
msgstr "Permintaan informasi"

#: signame.c:221
msgid "Floating point co-processor not available"
msgstr "Floating point co-processor tidak ada"

#: strcache.c:210
#, c-format
msgid ""
"\n"
"%s # of strings in strcache: %d\n"
msgstr ""

#: strcache.c:211
#, c-format
msgid "%s # of strcache buffers: %d\n"
msgstr ""

#: strcache.c:212
#, c-format
msgid "%s strcache size: total = %d / max = %d / min = %d / avg = %d\n"
msgstr ""

#: strcache.c:214
#, c-format
msgid "%s strcache free: total = %d / max = %d / min = %d / avg = %d\n"
msgstr ""

#: variable.c:1369
msgid "default"
msgstr "default"

#: variable.c:1372
msgid "environment"
msgstr "environment"

#: variable.c:1375
msgid "makefile"
msgstr "makefile"

#: variable.c:1378
msgid "environment under -e"
msgstr "envirenment dibawah opsi -e"

#: variable.c:1381
msgid "command line"
msgstr "command line"

#: variable.c:1384
msgid "`override' directive"
msgstr "`override' directive"

#: variable.c:1387
msgid "automatic"
msgstr "otomatis"

#: variable.c:1396
#, fuzzy, c-format
msgid " (from `%s', line %lu)"
msgstr " (dari `%s', baris %lu):\n"

#: variable.c:1438
#, fuzzy
msgid "# variable set hash-table stats:\n"
msgstr "# %u variabel dalam %u hash buckets.\n"

#: variable.c:1449
msgid ""
"\n"
"# Variables\n"
msgstr ""
"\n"
"# Variabel\n"

#: variable.c:1453
#, fuzzy
msgid ""
"\n"
"# Pattern-specific Variable Values"
msgstr ""
"\n"
"# Nilai Variabel Pattern-specific"

#: variable.c:1467
msgid ""
"\n"
"# No pattern-specific variable values."
msgstr ""
"\n"
"# Tidak terdapat nilai variabel pattern-specific"

#: variable.c:1469
#, c-format
msgid ""
"\n"
"# %u pattern-specific variable values"
msgstr ""
"\n"
"# %u Nilai Variabel Pattern-specific"

#: variable.h:189
#, c-format
msgid "warning: undefined variable `%.*s'"
msgstr "peringatan: variabel `%.*s' tidak terdefinisi"

#: vmsfunctions.c:94
#, c-format
msgid "sys$search failed with %d\n"
msgstr "sys$search gagal dengan kode %d\n"

#: vmsjobs.c:71
#, c-format
msgid "Warning: Empty redirection\n"
msgstr "Peringatan: redirection kosong\n"

#: vmsjobs.c:175
#, c-format
msgid "internal error: `%s' command_state"
msgstr "kesalahan internal: `%s' command_state"

#: vmsjobs.c:268
#, c-format
msgid "-warning, CTRL-Y will leave sub-process(es) around.\n"
msgstr "-warning, CTRL-Y akan meninggalkan sub-process(es).\n"

#: vmsjobs.c:284
#, c-format
msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n"
msgstr ""
"-warning, kamu mungkin telah mengaktifkan pengontrolan CTRL-Y dari DCL.\n"

#: vmsjobs.c:407
#, c-format
msgid "BUILTIN [%s][%s]\n"
msgstr "BUILTIN [%s][%s]\n"

#: vmsjobs.c:418
#, c-format
msgid "BUILTIN CD %s\n"
msgstr "BUILTIN CD %s\n"

#: vmsjobs.c:436
#, c-format
msgid "BUILTIN RM %s\n"
msgstr "BUILTIN RM %s\n"

#: vmsjobs.c:457
#, c-format
msgid "Unknown builtin command '%s'\n"
msgstr "Perintah builtin '%s' tidak diketahui\n"

#: vmsjobs.c:479
#, c-format
msgid "Error, empty command\n"
msgstr "Error, tidak ada perintah\n"

#: vmsjobs.c:491
#, c-format
msgid "Redirected input from %s\n"
msgstr "Meneruskan input dari %s\n"

#: vmsjobs.c:498
#, c-format
msgid "Redirected error to %s\n"
msgstr "Meneruskan error menuju %s\n"

#: vmsjobs.c:505
#, c-format
msgid "Redirected output to %s\n"
msgstr "Meneruskan output menuju %s\n"

#: vmsjobs.c:568
#, c-format
msgid "Executing %s instead\n"
msgstr "Menjalankan perintah %s\n"

#: vmsjobs.c:668
#, c-format
msgid "Error spawning, %d\n"
msgstr "Gagal spawning, %d\n"

#: vpath.c:571
msgid ""
"\n"
"# VPATH Search Paths\n"
msgstr ""
"\n"
"# VPATH Jalur Pencarian\n"

#: vpath.c:588
msgid "# No `vpath' search paths."
msgstr "# Tidak ada `vpath' dalam jalur pencarian."

#: vpath.c:590
#, c-format
msgid ""
"\n"
"# %u `vpath' search paths.\n"
msgstr ""
"\n"
"# %u `vpath' jalur pencarian.\n"

#: vpath.c:593
msgid ""
"\n"
"# No general (`VPATH' variable) search path."
msgstr ""
"\n"
"# Tidak ada (`VPATH' variabel) yang umum dalam jalur pencarian."

#: vpath.c:599
msgid ""
"\n"
"# General (`VPATH' variable) search path:\n"
"# "
msgstr ""
"\n"
"# Jalur pencarian yang umum untuk variabel `VPATH':\n"
"# "

#~ msgid ""
#~ "\n"
#~ "# No files."
#~ msgstr ""
#~ "\n"
#~ "# Tidak terdapat files."

#~ msgid ""
#~ "\n"
#~ "# %u files in %u hash buckets.\n"
#~ msgstr ""
#~ "\n"
#~ "# %u files dalam %u hash buckets.\n"

#~ msgid "# average %.3f files per bucket, max %u files in one bucket.\n"
#~ msgstr ""
#~ "# rata - rata %.3f files per bucket, maksimal %u files dalam satu "
#~ "bucket.\n"

#~ msgid "the `word' function takes a positive index argument"
#~ msgstr "fungsi `word' mengambil sebuah argumen index yang positif"

#~ msgid "Syntax error, still inside '\"'\n"
#~ msgstr "Sintak error, masih didalam '\"'\n"

#~ msgid "Got a SIGCHLD; %u unreaped children.\n"
#~ msgstr "Mendapat sinyal SIGCHLD; %u unreaped childern.\n"

#~ msgid "DIRECTORY"
#~ msgstr "DIREKTORI"

#~ msgid "Change to DIRECTORY before doing anything"
#~ msgstr "Pindah ke DIRECTORY sebelum melakukan sesuatu."

#~ msgid "FLAGS"
#~ msgstr "FLAGS"

#~ msgid "Suspend process to allow a debugger to attach"
#~ msgstr "Proses dihentikan untuk memberikan kesempatan debugger"

#~ msgid "Environment variables override makefiles"
#~ msgstr "Variabel environment digunakan dalam makefiles"

#~ msgid "FILE"
#~ msgstr "FILE"

#~ msgid "Read FILE as a makefile"
#~ msgstr "Baca FILE sebagai sebuah makefile"

#~ msgid "Search DIRECTORY for included makefiles"
#~ msgstr "Cari DIREKTORI untuk makefiles yang dibutuhkan"

#~ msgid "Don't start multiple jobs unless load is below N"
#~ msgstr "Tidak melakukan banyak jobs jika beban lebih dari N."

#~ msgid "Don't actually run any commands; just print them"
#~ msgstr ""
#~ "Jangan menjalankan perintah apapun. Hanya tampilkan saja apa yang akan "
#~ "dilakukan"

#~ msgid "Consider FILE to be very old and don't remake it"
#~ msgstr ""
#~ "Anggap FILE sudah sangat tua dan jangan dibuat kembali file tersebut"

#~ msgid "Don't echo commands"
#~ msgstr "Jangan menampilkan perintah yang dijalankan"

#~ msgid "Turns off -k"
#~ msgstr "Matikan opsi -k"

#~ msgid "Consider FILE to be infinitely new"
#~ msgstr "Pertimbangkan FILE sebagai file yang baru."

#~ msgid "Do not specify -j or --jobs if sh.exe is not available."
#~ msgstr "Jangan menspesifikasi -j atau --jobs jika sh.exe tidak ada."

#~ msgid "Resetting make for single job mode."
#~ msgstr "Mereset kembali make pada mode job tunggal."

#~ msgid "Entering"
#~ msgstr "Memasuki"

#~ msgid "Leaving"
#~ msgstr "Meninggalkan"

#~ msgid "no file name for `%sinclude'"
#~ msgstr "tidak terdapat nama file untuk `%s include'"

#~ msgid "target `%s' leaves prerequisite pattern empty"
#~ msgstr "target `%s' meninggalkan persyaratan pola kosong"

#~ msgid "# No variables."
#~ msgstr "# Tidak ada variabel."

#~ msgid "# average of %.1f variables per bucket, max %u in one bucket.\n"
#~ msgstr ""
#~ "# rata - rata dari %.1f variabel per bucket, maksimal %u dalam satu "
#~ "bucket.\n"

#~ msgid "# average of %d.%d variables per bucket, max %u in one bucket.\n"
#~ msgstr ""
#~ "# rata - rata dari %d.%d variabel per bucket, maksimal %u dalam satu "
#~ "bucket.\n"
