# Indonesian messages for dpkg
# Copyright (C) 2003 Software in the Public Interest, Inc
# This file is distributed under the same license as dpkg.
# Debian Indonesia L10N Team <debian-l10n-id@gurame.fisika.ui.ac.id>, 2004.
# Translator:
# 	Arief S Fitrianto <arief@gurame.fisika.ui.ac.id>, 2005-2006
# 	Parlin Imanuel <parlin_i@yahoo.com>, 2005
msgid ""
msgstr ""
"Project-Id-Version: dpkg 1.13\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
"POT-Creation-Date: 2011-10-14 07:11+0200\n"
"PO-Revision-Date: 2006-10-06 20:20+0700\n"
"Last-Translator: Arief S Fitrianto <arief@gurame.fisika.ui.ac.id>\n"
"Language-Team: Debian Indonesia L10N Team <debian-l10n-id@gurame.fisika.ui."
"ac.id>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1, plural=0;\n"
"X-Poedit-Language: Indonesian\n"
"X-Poedit-Country: INDONESIA\n"
"X-Poedit-SourceCharset: iso-8859-1\n"

#: dselect/basecmds.cc:125
msgid "Search for ? "
msgstr "Cari untuk ?"

#: dselect/basecmds.cc:147
msgid "Error: "
msgstr "Kesalahan:"

#: dselect/basecmds.cc:178
msgid "Help: "
msgstr "Bantuan:"

#: dselect/basecmds.cc:184
msgid "Press ? for help menu, . for next topic, <space> to exit help."
msgstr ""
"Ketik ? untu menu panduan, . untuk topik selanjutnya, <spasi> untuk keluar."

#: dselect/basecmds.cc:191
msgid "Help information is available under the following topics:"
msgstr "Informasi panduan tersedia untuk topik-topik berikut ini:"

#: dselect/basecmds.cc:199
msgid ""
"Press a key from the list above, <space> or `q' to exit help,\n"
"  or `.' (full stop) to read each help page in turn. "
msgstr ""
"Ketik suatu tombol dari daftar di atas, <spasi> atau `q' untuk keluar,\n"
"  atau '.' untuk membaca setiap halaman panduan bergantian."

#: dselect/basecmds.cc:205
msgid "error reading keyboard in help"
msgstr "ada kesalahan membaca keyboard dalam modus bantuan"

#: dselect/baselist.cc:57
msgid "ioctl(TIOCGWINSZ) failed"
msgstr "ioctl(TIOCGWINSZ) gagal"

#: dselect/baselist.cc:60
msgid "doupdate in SIGWINCH handler failed"
msgstr "gagal melakukan 'doupdate' dalam penanganan 'SIGWINCH'"

#: dselect/baselist.cc:67
msgid "failed to restore old SIGWINCH sigact"
msgstr "gagal mengembalikan 'sigact SIGWINCH' yang lama"

#: dselect/baselist.cc:69
msgid "failed to restore old signal mask"
msgstr "gagal mengembalikan mask sinyal yang lama"

#: dselect/baselist.cc:79
msgid "failed to get old signal mask"
msgstr "gagal mendapatkan mask sinyal yang lama"

#: dselect/baselist.cc:80
msgid "failed to get old SIGWINCH sigact"
msgstr "Gagat mendapatkan 'sigact SIGWINCH' yang lama"

#: dselect/baselist.cc:84
msgid "failed to block SIGWINCH"
msgstr "gagal melakukan block SIGWINCH"

#: dselect/baselist.cc:89
msgid "failed to set new SIGWINCH sigact"
msgstr "gagal menyetel 'sigact SIGWINCH'  yang baru"

#: dselect/baselist.cc:126
msgid "failed to allocate colour pair"
msgstr "gagal mengalokasikan pasangan warna"

#: dselect/baselist.cc:167
msgid "failed to create title window"
msgstr "gagal membuat judul window"

#: dselect/baselist.cc:171
msgid "failed to create whatinfo window"
msgstr "gagal membuat window 'whatinfo'"

#: dselect/baselist.cc:175
msgid "failed to create baselist pad"
msgstr "gagal membuat catatan 'baselist'"

#: dselect/baselist.cc:178
msgid "failed to create heading pad"
msgstr "gagal membuat catatan 'heading'"

#: dselect/baselist.cc:182
msgid "failed to create thisstate pad"
msgstr "gagal membuat catatan 'thisstate'"

#: dselect/baselist.cc:186
msgid "failed to create info pad"
msgstr "gagal membuat catatan 'info'"

#: dselect/baselist.cc:191
msgid "failed to create query window"
msgstr "gagal membuat window 'query'"

#: dselect/baselist.cc:255
#, fuzzy
msgid "Keybindings"
msgstr "relasi tombol"

#: dselect/baselist.cc:303
#, c-format
msgid "  -- %d%%, press "
msgstr "  -- %d%%, tekan "

#: dselect/baselist.cc:306
#, c-format
msgid "%s for more"
msgstr "%s untuk lanjut "

#: dselect/baselist.cc:310
#, c-format
msgid "%s to go back"
msgstr "%s untuk kembali "

#: dselect/bindings.cc:78
msgid "[not bound]"
msgstr "[tidak direlasikan]"

#: dselect/bindings.cc:82
#, c-format
msgid "[unk: %d]"
msgstr "[unk: %d]"

#: dselect/bindings.cc:139
msgid "Scroll onwards through help/information"
msgstr "Gulunglah layar ke bawah sepanjang informasi/bantuan"

#: dselect/bindings.cc:140
msgid "Scroll backwards through help/information"
msgstr "Gulunglah layar ke atas sepanjang informasi/bantuan"

#: dselect/bindings.cc:141
msgid "Move up"
msgstr "Pindah ke atas"

#: dselect/bindings.cc:142
msgid "Move down"
msgstr "Pindah ke bawah"

#: dselect/bindings.cc:143
msgid "Go to top of list"
msgstr "Ke awal daftar"

#: dselect/bindings.cc:144
msgid "Go to end of list"
msgstr "Ke akhir daftar"

#: dselect/bindings.cc:145
msgid "Request help (cycle through help screens)"
msgstr "Minta panduan (dirotasi sepanjang layar panduan)"

#: dselect/bindings.cc:146
msgid "Cycle through information displays"
msgstr "Berkelilinglah sepanjang tampilan informasi"

#: dselect/bindings.cc:147
msgid "Redraw display"
msgstr "Segarkan tampilan"

#: dselect/bindings.cc:148
msgid "Scroll onwards through list by 1 line"
msgstr "Gulung layar ke bawah sepanjang daftaar tiap satu baris"

#: dselect/bindings.cc:149
msgid "Scroll backwards through list by 1 line"
msgstr "Gulung layar ke atas sepanjang daftar tiap satu baris"

#: dselect/bindings.cc:150
msgid "Scroll onwards through help/information by 1 line"
msgstr "Gulung layar ke bawah sepanjang informasi/panduan tiap satu baris"

#: dselect/bindings.cc:151
msgid "Scroll backwards through help/information by 1 line"
msgstr "Gulung layar ke atas sepanjang informasi/panduan tiap satu baris"

#: dselect/bindings.cc:152
msgid "Scroll onwards through list"
msgstr "Gulung daftar ke bawah"

#: dselect/bindings.cc:153
msgid "Scroll backwards through list"
msgstr "Gulung daftar ke atas"

#: dselect/bindings.cc:156
msgid "Mark package(s) for installation"
msgstr "Tandai paket yang akan dipasang"

#: dselect/bindings.cc:157
msgid "Mark package(s) for deinstallation"
msgstr "Tandai paket yang akan dibuang"

#: dselect/bindings.cc:158
msgid "Mark package(s) for deinstall and purge"
msgstr "Tandai paket untuk dibuang dan dimusnahkan"

#: dselect/bindings.cc:159
msgid "Make highlight more specific"
msgstr "Buat penyorotan lebih spesifik"

#: dselect/bindings.cc:160
msgid "Make highlight less specific"
msgstr "Buat penyorotan kurang spesifik"

#: dselect/bindings.cc:161
msgid "Search for a package whose name contains a string"
msgstr "Cari paket yang namanya berisi suatu string"

#: dselect/bindings.cc:162
msgid "Repeat last search."
msgstr "Ulangi pencarian terakhir"

#: dselect/bindings.cc:163
msgid "Swap sort order priority/section"
msgstr "Balikkan urutan pengurutan prioritas/bagian"

#: dselect/bindings.cc:164
msgid "Quit, confirming, and checking dependencies"
msgstr "Keluar, konfirmasi, dan periksa ketergantungan"

#: dselect/bindings.cc:165
msgid "Quit, confirming without check"
msgstr "Keluar, konfirmasi tanpa pemeriksaan"

#: dselect/bindings.cc:166
msgid "Quit, rejecting conflict/dependency suggestions"
msgstr "Keluar, tolak saran tentang bentrok/ketergantungan paket"

#: dselect/bindings.cc:167
msgid "Abort - quit without making changes"
msgstr "Batal - keluar tanpa membuat perubahan"

#: dselect/bindings.cc:168
msgid "Revert to old state for all packages"
msgstr "Kembalikan semua paket ke keadaan lama"

#: dselect/bindings.cc:169
msgid "Revert to suggested state for all packages"
msgstr "Kembalikan semua paket ke keadaan yang disarankan"

#: dselect/bindings.cc:170
msgid "Revert to directly requested state for all packages"
msgstr "Kembalikan semua paket ke keadaan yang diminta langsung"

#: dselect/bindings.cc:171
#, fuzzy
msgid "Revert to currently installed state for all packages"
msgstr "Kembalikan semua paket ke keadaan yang diminta langsung"

#: dselect/bindings.cc:174
msgid "Select currently-highlighted access method"
msgstr "Pilih metode akses yang disorot"

#: dselect/bindings.cc:175
msgid "Quit without changing selected access method"
msgstr "Keluar tanpa mengubah metode akses yang dipilih"

#: dselect/helpmsgs.cc:29
msgid "Keystrokes"
msgstr "Tombol singkat"

#: dselect/helpmsgs.cc:29
#, fuzzy
msgid ""
"Motion keys: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
"  j, Down-arrow         k, Up-arrow             move highlight\n"
"  N, Page-down, Space   P, Page-up, Backspace   scroll list by 1 page\n"
"  ^n                    ^p                      scroll list by 1 line\n"
"  t, Home               e, End                  jump to top/end of list\n"
"  u                     d                       scroll info by 1 page\n"
"  ^u                    ^d                      scroll info by 1 line\n"
"  B, Left-arrow         F, Right-arrow          pan display by 1/3 screen\n"
"  ^b                    ^f                      pan display by 1 character\n"
"\n"
"Mark packages for later processing:\n"
" +, Insert  install or upgrade      =, H  hold in present state\n"
" -, Delete  remove                  :, G  unhold: upgrade or leave "
"uninstalled\n"
" _          remove & purge config\n"
"                                             Miscellaneous:\n"
"Quit, exit, overwrite (note capitals!):       ?, F1 request help (also "
"Help)\n"
" Return  Confirm, quit (check dependencies)   i, I  toggle/cycle info "
"displays\n"
"   Q     Confirm, quit (override dep.s)       o, O  cycle through sort "
"options\n"
" X, Esc  eXit, abandoning any changes made    v, V  change status display "
"opts\n"
"   R     Revert to state before this list      ^l   redraw display\n"
"   U     set all to sUggested state             /   search (Return to "
"cancel)\n"
"   D     set all to Directly requested state  n, \\  repeat last search\n"
msgstr ""
"Tombol Gerak: Berikutnya/Sebelumnya, Awal/Akhir, Atas/Bawah, Mundur/Maju:\n"
"  panah-Bawah,j          panah-Atas,k            geser sorotan\n"
"  N,Page-down, Spasi     P,Page-up,  Backspace   gulung daftar tiap satu "
"halaman\n"
"  ^n                     ^p                      gulung daftar tiap satu "
"baris\n"
"  t,Home                 e,End                   langsung ke awal/akhir "
"daftar\n"
"  u                      d                       gulung info tiap satu "
"halaman\n"
"  ^u                     ^d                      gulung info tiap satu "
"baris\n"
"  B,Panah-kiri           F,Panah-kanan           geser tampilan tiap 1/3 "
"layar\n"
"  ^b                     ^f                      geser tampilan tiap 1 "
"karakter\n"
"\n"
"Tandai paket untuk diproses kemudian:\n"
"  +, Insert     pasang atau perbaharui  =, H  cekal dalam keadaan sekarang\n"
"  -, Delete     buang                   :, G  jangan dicekal, perbaharui, "
"atau biarkan tak terpasang\n"
"  _             buang dan kosongkan konfigurasi\n"
"                                                      Lain-lain:\n"
"Keluar, batal, timpa (catat huruf besarnya!):                ?, F1   lihat "
"panduan (juga Panduan)\n"
" Return/Enter   Konfirmasi,keluar (periksa ketergantungan)   i, I    "
"hidupkan/putar tampilan info\n"
"     Q          Konfirmasi, keluar (timpa ketergantungan)    o, O    "
"telusuri pilihan pengurutan\n"
"   X, Esc       Keluar, batalkan semua perubahan             v, V    ubah "
"pilihan layar status\n"
"     R          Kembalikan ke keadaan sebelum daftar ini      ^I     sajikan "
"ulang layar ini\n"
"     U          setel semua ke keadaan  disarankan             /     cari "
"(Return untuk batal)\n"
"     D          setel semua ke keadaan langsung diminta      n, \\   ulangi "
"pencarian terakhir\n"

#: dselect/helpmsgs.cc:55
msgid "Introduction to package selections"
msgstr "Pengantar ke pemilihan paket"

#: dselect/helpmsgs.cc:55
msgid ""
"Welcome to dselect's main package listing.\n"
"\n"
"You will be presented with a list of packages which are installed or "
"available\n"
"for installation.  You can navigate around the list using the cursor keys,\n"
"mark packages for installation (using `+') or deinstallation (using `-').\n"
"Packages can be marked either singly or in groups; initially you will see "
"that\n"
"the line `All packages' is selected.  `+', `-' and so on will affect all "
"the\n"
"packages described by the highlighted line.\n"
"\n"
"Some of your choices will cause conflicts or dependency problems; you will "
"be\n"
"given a sub-list of the relevant packages, so that you can solve the "
"problems.\n"
"\n"
"You should read the list of keys and the explanations of the display.\n"
"Much on-line help is available, please make use of it - press `?' at\n"
"any time for help.\n"
"\n"
"When you have finished selecting packages, press <enter> to confirm "
"changes,\n"
"or `X' to quit without saving changes. A final check on conflicts and\n"
"dependencies will be done - here too you may see a sublist.\n"
"\n"
"Press <space> to leave help and enter the list now.\n"
msgstr ""
"Selamat berjumpa dengan daftar paket utama dselect.\n"
"\n"
"Anda akan disajikan dengan suatu daftar paket yang terpasang atau tersedia\n"
"untuk dipasang. Anda dapat menelusuri seluruh daftar dengan tombol kursor,\n"
"menandai paket untuk dipasang (dengan `+') atau dibuang (dengan `-').\n"
"Paket dapat ditandai secara tunggal atau dalam sebuah grup. Mulanya, Anda "
"akan melihat \n"
"bahwa baris `Semua paket' terpilih. Tombol `+',`-', dan seterusnya akan \n"
"melibatkan semua paket yang diwakili oleh baris yang tersorot.\n"
"\n"
"Beberapa pilihan Anda akan menyebabkan bentrok atau masalah ketergantungan.\n"
"Anda akan diberikan sub-daftar paket-paket yang berkaitan, sehingga Anda "
"dapat\n"
"menyelesaikan masalah tersebut.\n"
"\n"
"Anda sebaiknya membaca daftar tombol dan penjelasan pada layar.\n"
"Sebagian besar panduan tersedia on-line, silakan menggunakannya - tekan `?'\n"
"setiap saat untuk melihat panduan.\n"
"\n"
"Apabila Anda telah selesai memilih paket, tekan <enter> untuk konfirmasi,\n"
"atau `X' untuk keluar tanpa menyimpan perubahan. Pemeriksaan akhir\n"
"atas kemungkinan bentrokan dan ketergantungan paket akan dilakukan - di "
"sini\n"
"juga mungkin Anda akan melihat sub-daftar.\n"
"\n"
"Tekan <enter> untuk meninggalkan panduan sekarang dan masuk ke daftar "
"paket.\n"

#: dselect/helpmsgs.cc:80
msgid "Introduction to read-only package list browser"
msgstr "Pengantar ke browser daftar paket hanya-baca"

#: dselect/helpmsgs.cc:80
msgid ""
"Welcome to dselect's main package listing.\n"
"\n"
"You will be presented with a list of packages which are installed or "
"available\n"
"for installation.  Since you do not have the privilege necessary to update\n"
"package states, you are in a read-only mode.  You can navigate around the\n"
"list using the cursor keys (please see the `Keystrokes' help screen), "
"observe\n"
"the status of the packages and read information about them.\n"
"\n"
"You should read the list of keys and the explanations of the display.\n"
"Much on-line help is available, please make use of it - press `?' at\n"
"any time for help.\n"
"\n"
"When you have finished browsing, press `Q' or <enter> to quit.\n"
"\n"
"Press <space> to leave help and enter the list now.\n"
msgstr ""
"Selamat berjumpa dengan daftar paket utama dselect.\n"
"\n"
"Anda akan disajikan suatu daftar paket yang terpasang atau tersedia untuk "
"dipasang.\n"
"Oleh karena Anda tidak punya wewenang yang cukup untuk memperbaharui "
"status \n"
"paket, Anda berada pada modus hanya-baca. Anda dapat menelusuri daftar \n"
"menggunakan tombol kursor (silakan lihat layar panduan `Tombol Singkat'), "
"amati\n"
"status paket dan bacalah keterangan tentangnya.\n"
"\n"
"Anda sebaiknya membaca daftar tombol dan penjelasannya di layar.\n"
"Sebagian besar panduan tersedia on-line, silakan menggunakannya - tekan `?'\n"
"setiap saat untuk melihat panduan.\n"
"\n"
"Apabila Anda telah selesai, tekan `Q' atau <enter> untuk keluar.\n"
"\n"
"Tekan <enter> untuk meninggalkan panduan sekarang dan masuk ke daftar "
"paket.\n"

#: dselect/helpmsgs.cc:99
msgid "Introduction to conflict/dependency resolution sub-list"
msgstr "Pengantar ke sub-daftar pemecahan masalah bentrok/ketergantungan"

#: dselect/helpmsgs.cc:99
msgid ""
"Dependency/conflict resolution - introduction.\n"
"\n"
"One or more of your choices have raised a conflict or dependency problem -\n"
"some packages should only be installed in conjunction with certain others, "
"and\n"
"some combinations of packages may not be installed together.\n"
"\n"
"You will see a sub-list containing the packages involved.  The bottom half "
"of\n"
"the display shows relevant conflicts and dependencies; use `i' to cycle "
"between\n"
"that, the package descriptions and the internal control information.\n"
"\n"
"A set of `suggested' packages has been calculated, and the initial markings "
"in\n"
"this sub-list have been set to match those, so you can just hit Return to\n"
"accept the suggestions if you wish.  You may abort the change(s) which "
"caused\n"
"the problem(s), and go back to the main list, by pressing capital `X'.\n"
"\n"
"You can also move around the list and change the markings so that they are "
"more\n"
"like what you want, and you can `reject' my suggestions by using the "
"capital\n"
"`D' or `R' keys (see the keybindings help screen).  You can use capital `Q' "
"to\n"
"force me to accept the situation currently displayed, in case you want to\n"
"override a recommendation or think that the program is mistaken.\n"
"\n"
"Press <space> to leave help and enter the sub-list; remember: press `?' for "
"help.\n"
msgstr ""
"Pemecahan masalah ketergantungan/bentrokan - pengantar.\n"
"\n"
"Salah satu atau lebih pilihan Anda telah menyebabkan masalah bentrokan "
"atau \n"
"ketergantungan paket - beberapa paket seharusnya hanya dipasang bersamaan \n"
"dengan paket lain, dan beberapa kombinasi paket mungkin tidak dapat "
"dipasang \n"
"secara bersamaan.\n"
"\n"
"Anda akan melihat sub-daftar berisi paket-paket yang terlibat. Setengah "
"layar\n"
"bagian bawah menampilkan paket-paket yang bentrok dan saling tergantung.\n"
"Gunakan `i'  untuk berpindah di antara penjelasan paket dan keterangan "
"'control' internal.\n"
"\n"
"Sekumpulan paket yang `disarankan' telah disiapkan, dan penandaan awal \n"
"pada sub-daftar ini telah disetel agar sesuai, sehingga Anda cukup menekan \n"
"'Return' untuk menerima saran tersebut. Anda juga dapat membatalkan "
"perubahan\n"
"yang menyebabkan masalah tersebut dan kembali ke daftar utama dengan \n"
"menekan huruf `X' besar.\n"
"\n"
"Anda juga dapat menelusuri seluruh daftar dan mengubah penandaan sehingga "
"semuanya\n"
"sesuai dengan keinginan Anda, dan Anda juga dapat `menolak' saran saya "
"dengan \n"
"menggunakan tombol `D' atau `R' besar (lihat layar panduan relasi tombol). "
"Anda dapat \n"
"menggunakan `Q' besar untuk memaksa saya menerima keadaan yang ada "
"sekarang, \n"
"dalam hal Anda ingin menimpa suatu anjuran atau Anda berpikir bahwa ada "
"suatu yang \n"
"salah pada program.\n"
"\n"
"Tekan <spasi> untuk meninggalkan panduan dan masuk ke sub-daftar; ingat: "
"tekan `?' \n"
"untuk melihat panduan.\n"

#: dselect/helpmsgs.cc:125
msgid "Display, part 1: package listing and status chars"
msgstr "Tampilan, bagian 1: daftar paket dan karakter status"

#: dselect/helpmsgs.cc:125
#, fuzzy
msgid ""
"The top half of the screen shows a list of packages.  For each package you "
"see\n"
"four columns for its current status on the system and mark.  In terse mode "
"(use\n"
"`v' to toggle verbose display) these are single characters, from left to "
"right:\n"
"\n"
" Error flag: Space - no error (but package may be in broken state - see "
"below)\n"
"              `R'  - serious error during installation, needs "
"reinstallation;\n"
" Installed state:     Space    - not installed;\n"
"                       `*'     - installed;\n"
"                       `-'     - not installed but config files remain;\n"
"   packages in these { `U'     - unpacked but not yet configured;\n"
"   states are not    { `C'     - half-configured (an error happened);\n"
"   (quite) properly  { `I'     - half-installed (an error happened);\n"
"   installed         { `W',`t' - triggers are awaited resp. pending.\n"
" Old mark: what was requested for this package before presenting this list;\n"
" Mark: what is requested for this package:\n"
"  `*': marked for installation or upgrade;\n"
"  `-': marked for removal, but any configuration files will remain;\n"
"  `=': on hold: package will not be processed at all;\n"
"  `_': marked for purge completely - even remove configuration;\n"
"  `n': package is new and has yet to be marked for install/remove/&c.\n"
"\n"
"Also displayed are each package's Priority, Section, name, installed and\n"
"available version numbers (shift-V to display/hide) and summary "
"description.\n"
msgstr ""
"Setengah layar bagian atas menampilkan suatu daftar paket. Untuk setiap "
"paket Anda\n"
"akan melihat empat kolom berisi status paket pada sistem dan suatu tanda. "
"Dalam modus\n"
"ringkas (gunakan `v' untuk tampilan terinci), ini adalah karakter tunggal, "
"dari kiri ke kanan:\n"
"\n"
" Tanda kesalahan: Kosong - tidak ada kesalahan (tetapi paket mungkin saja "
"rusak - lihat di bawah ini)\n"
"                    `R'  - ada kesalahan serius selama pemasangan, perlu "
"dipasang ulang;\n"
" Keadaan terpasang:  Spasi - tidak terpasang;\n"
"                      `*'  - terpasang;\n"
"                      `-'  - tidak terpasang tetapi berkas konfigurasi masih "
"ada;\n"
"       paket dalam  { `U'  - telah dibuka tetapi belum dikonfigurasi;\n"
"       keadaan ini  { `C'  - terkonfigurasi separuh (telah terjadi "
"kesalahan);\n"
"       sedang rusak { `I'  - terpasang separuh (telah terjadi kesalahan).\n"
" Tanda lama: hal yang telah diminta terhadap paket ini sebelum menampilkan "
"daftar ini;\n"
" Tanda: hal yang diminta terhadap paket ini:\n"
"  `*': ditandai untuk dipasang atau diperbaharui;\n"
"  `-': ditandai untuk dibuang, tetapi konfigurasinya dibiarkan saja;\n"
"  `=': sedang dicekal: paket tidak akan diproses;\n"
"  `_': ditandai untuk dibuang seluruhnya - termasuk konfigurasinya;\n"
"  `n': ini paket baru dan belum ditandai untuk dipasang/dibuang/dll.\n"
"\n"
"Juga akan ditampilkan untuk setiap paket: Prioritas, Bagian, Nama, nomor "
"versi yang \n"
"terpasang dan yang tersedia (shift-V untuk menampilkan/menyembunyikan) dan \n"
"keterangan ringkas.\n"

#: dselect/helpmsgs.cc:152
msgid "Display, part 2: list highlight; information display"
msgstr "Tampilan, bagian 2: penyorotan daftar; tampilan keterangan"

#: dselect/helpmsgs.cc:152
msgid ""
"* Highlight: One line in the package list will be highlighted.  It "
"indicates\n"
"  which package(s) will be affected by presses of `+', `-' and `_'.\n"
"\n"
"* The dividing line in the middle of the screen shows a brief explanation "
"of\n"
"  the status of the currently-highlighted package, or a description of "
"which\n"
"  group is highlighted if a group line is.  If you don't understand the\n"
"  meaning of some of the status characters displayed, go to the relevant\n"
"  package and look at this divider line, or use the `v' key for a verbose\n"
"  display (press `v' again to go back to the terse display).\n"
"\n"
"* The bottom of the screen shows more information about the\n"
"  currently-highlighted package (if there is only one).\n"
"\n"
"  It can show an extended description of the package, the internal package\n"
"  control details (either for the installed or available version of the\n"
"  package), or information about conflicts and dependencies involving the\n"
"  current package (in conflict/dependency resolution sublists).\n"
"\n"
"  Use the `i' key to cycle through the displays, and `I' to hide the\n"
"  information display or expand it to use almost all of the screen.\n"
msgstr ""
"* Penyorotan: Satu baris pada daftar paket akan disorot. Hal ini menunjukkan "
"paket-paket\n"
"   yang akan terpengaruh dengan menekan `+', `-', dan `_'.\n"
"\n"
"* Baris pemisah di tengah layar menampilkan penjelasan singkat tentang "
"status paket yang \n"
"  sedang disorot, atau suatu penjelasan tentang grup yang sedang disorot. "
"Jika and tidak \n"
"  mengerti arti dari beberapa karekter status yang ditampilkan, lihatlah "
"paket yang \n"
"  sehubungan dan bacalah keterangan yang ada di garis pemisah ini. Atau, "
"gunakan tombol \n"
"  `v' untuk tampilan terinci (tekan `v' lagi untuk kembali ke tampilan "
"ringkas).\n"
"\n"
"* Bagian bawah layar menampilkan keterangan tentang paket yang sedang "
"disorot \n"
"  (jika hanya ada satu paket).\n"
"\n"
"  Di bagian ini juga dapat menampilkan keterangan tambahan tentang paket "
"tersebut.\n"
"  rincian 'control' paket internal (baik untuk versi yang terpasang maupun "
"yang tersedia),\n"
"  atau keterangan tentang masalah bentrokan dan ketergantungan yang "
"melibatkan paket\n"
"  tersebut (dalam sub-daftar pemecahan bentrokan/ketergantungan).\n"
"\n"
"  Gunakan tombol `i' untuk berpindah-pindah sepanjang layar, dan `I' untuk \n"
"  menyembunyikan tampilan informasi atau memperlebarnya hingga memenuhi "
"layar.\n"

#: dselect/helpmsgs.cc:176
msgid "Introduction to method selection display"
msgstr "Pengantar ke tampilan pemilihan metode"

#: dselect/helpmsgs.cc:176
msgid ""
"dselect and dpkg can do automatic installation, loading the package files to "
"be\n"
"installed from one of a number of different possible places.\n"
"\n"
"This list allows you to select one of these installation methods.\n"
"\n"
"Move the highlight to the method you wish to use, and hit Enter.  You will "
"then\n"
"be prompted for the information required to do the installation.\n"
"\n"
"As you move the highlight a description of each method, where available, is\n"
"displayed in the bottom half of the screen.\n"
"\n"
"If you wish to quit without changing anything use the `x' key while in the "
"list\n"
"of installation methods.\n"
"\n"
"A full list of keystrokes is available by pressing `k' now, or from the "
"help\n"
"menu reachable by pressing `?'.\n"
msgstr ""
"dselect dan dpkg dapat secara otomatis memasang, memuat berkas-berkas "
"paket \n"
"dari satu atau lebih kemungkinan tempat yang berbeda. \n"
"\n"
"Hal ini memungkinkan Anda memilih salah satu metode pemasangan.\n"
"\n"
"Pindahkan sorotan ke metode yang ingin Anda gunakan dan tekan Enter. Anda "
"akan \n"
"diminta memasukkan informasi yang diperlukan untuk pemasangan.\n"
"\n"
"Ketika Anda memindahkan sorotan, keterangan dari setiap metode, bila "
"tersedia, akan \n"
"ditampilkan di setengah layar bagian bawah.\n"
"\n"
"Jika Anda ingin keluar tanpa mengubah sesuatu apapun, gunakan tombol `x' "
"saat \n"
"berada dalam daftar metode pemasangan.\n"
"\n"
"Sebuah daftar tombol singkat yang lengkap tersedia dengan menekan tombol "
"`k' \n"
"sekarang, atau dari menu panduan dengan menekan tombol `?'.\n"

#: dselect/helpmsgs.cc:196
msgid "Keystrokes for method selection"
msgstr "tombol singkat untuk pemilihan metode"

#: dselect/helpmsgs.cc:196
#, fuzzy
msgid ""
"Motion keys: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
"  j, Down-arrow         k, Up-arrow             move highlight\n"
"  N, Page-down, Space   P, Page-up, Backspace   scroll list by 1 page\n"
"  ^n                    ^p                      scroll list by 1 line\n"
"  t, Home               e, End                  jump to top/end of list\n"
"  u                     d                       scroll info by 1 page\n"
"  ^u                    ^d                      scroll info by 1 line\n"
"  B, Left-arrow         F, Right-arrow          pan display by 1/3 screen\n"
"  ^b                    ^f                      pan display by 1 character\n"
"(These are the same motion keys as in the package list display.)\n"
"\n"
"Quit:\n"
" Return, Enter    select this method and go to its configuration dialogue\n"
" x, X             exit without changing or setting up the installation "
"method\n"
"\n"
"Miscellaneous:\n"
"  ?, Help, F1      request help\n"
" ^l                redraw display\n"
"  /                search (just return to cancel)\n"
"  \\                repeat last search\n"
msgstr ""
"Tombol gerakan: Berikutnya/Sebelumnya, Awal/Akhir, Atas/Bawah, Mundur/Maju:\n"
"  n, Panah-bawah         p,Panah-atas             pindahkan sorotan\n"
"  N, Page-down,Spasi     P,Page-up,Backspace      gulung daftar tiap satu "
"halaman\n"
"  ^n                     ^p                       gulung daftar tiap satu "
"baris\n"
"  t, Home                e, End                   langsung ke awal/akhir "
"daftar\n"
"  u                      d                        gulung info tiap satu "
"halaman\n"
"  ^u                    ^d                        gulung info tiap satu "
"baris\n"
"  B, Panah-kiri          F, Panah-kanan           geser tampilan tiap 1/3 "
"layar\n"
"  ^b                    ^f                        geser tampilan tiap 1 "
"karekter\n"
"(Ini adalah tombol gerakan yang sama seperti dalam tampilan daftar paket.)\n"
"\n"
"Keluar:\n"
"  Return,Enter     pilih metode ini dan menuju ke dialog konfigurasi\n"
"  x,X              keluar tanpa mengubah atau menyetel metode pemasangan\n"
"\n"
"Lain-lain:\n"
"  ?,Help, F1       minta bantuan\n"
"  ^I               segarkan tampilan\n"
"   /               cari (cukup tekan enter untuk membatalkan)\n"
"  \\               ulangi pencarian terakhir\n"

#: dselect/main.cc:60
msgid "Type dselect --help for help."
msgstr "ketik 'dselect --help' untuk bantuan."

#: dselect/main.cc:143
msgid "a"
msgstr "a"

#: dselect/main.cc:143
msgid "[A]ccess"
msgstr "[A]Akses"

#: dselect/main.cc:143
msgid "Choose the access method to use."
msgstr "Pilih metode akses yang ingin digunakan."

#: dselect/main.cc:144
msgid "u"
msgstr "p"

#: dselect/main.cc:144
msgid "[U]pdate"
msgstr "[U]Perbaru"

#: dselect/main.cc:144
msgid "Update list of available packages, if possible."
msgstr "Perbaharui daftar paket yang tersedia bila memungkinkan."

#: dselect/main.cc:145
msgid "s"
msgstr "s"

#: dselect/main.cc:145
msgid "[S]elect"
msgstr "[S]Pilih"

#: dselect/main.cc:145
msgid "Request which packages you want on your system."
msgstr "Pilihlah paket yang ingin Anda pasang pada sistem."

#: dselect/main.cc:146
msgid "i"
msgstr "p"

#: dselect/main.cc:146
msgid "[I]nstall"
msgstr "[I]Pasang"

#: dselect/main.cc:146
msgid "Install and upgrade wanted packages."
msgstr "Pasang dan perbaharui paket-paket yang diinginkan."

#: dselect/main.cc:147
msgid "c"
msgstr "c"

#: dselect/main.cc:147
msgid "[C]onfig"
msgstr "[C]Konfigurasi"

#: dselect/main.cc:147
msgid "Configure any packages that are unconfigured."
msgstr "Konfigurasi semua paket yang belum dikonfigurasi."

#: dselect/main.cc:148
msgid "r"
msgstr "b"

#: dselect/main.cc:148
msgid "[R]emove"
msgstr "[R]Buang"

#: dselect/main.cc:148
msgid "Remove unwanted software."
msgstr "Buang perangkat lunak yang tak diinginkan."

#: dselect/main.cc:149
msgid "q"
msgstr "q"

#: dselect/main.cc:149
msgid "[Q]uit"
msgstr "[Q]Keluar"

#: dselect/main.cc:149
msgid "Quit dselect."
msgstr "keluar dari dselect."

#: dselect/main.cc:150
msgid "menu"
msgstr "menu"

#: dselect/main.cc:155
#, c-format
msgid "Debian `%s' package handling frontend version %s.\n"
msgstr "Antarmuka penanganan paket Debian '%s' versi %s.\n"

#: dselect/main.cc:158
msgid ""
"Copyright (C) 1994-1996 Ian Jackson.\n"
"Copyright (C) 2000,2001 Wichert Akkerman.\n"
msgstr ""
"Hak Cipta (C)  1994-1996 Ian Jackson.\n"
"Hak CIpta (C) 2000,2001 Wichert Akkerman.\n"

#: dselect/main.cc:162
#, fuzzy
msgid ""
"This is free software; see the GNU General Public License version 2 or\n"
"later for copying conditions. There is NO warranty.\n"
msgstr ""
"Ini adalah perangkat lunak bebas; lihat GNU General Public License versi 2 "
"atau \n"
"selanjutnya untuk persyaratan penggandaan. TIDAK ADA jaminan. \n"
"Lihat %s --license keterangan hak cipta dan rincian lisensi.\n"

#: dselect/main.cc:172 dselect/main.cc:220
msgid "<standard output>"
msgstr ""

#: dselect/main.cc:183
#, c-format
msgid ""
"Usage: %s [<option> ...] [<action> ...]\n"
"\n"
msgstr ""
"Penggunaan: %s [<pilihan> ...] [<aksi> ...]\n"
"\n"

#: dselect/main.cc:187
#, c-format
msgid ""
"Options:\n"
"  --admindir <directory>     Use <directory> instead of %s.\n"
"  --expert                   Turn on expert mode.\n"
"  --debug <file> | -D<file>  Turn on debugging, sending output to <file>.\n"
"  --colour | --color screenpart:[foreground],[background][:attr[+attr+..]]\n"
"                             Configure screen colours.\n"
"\n"
msgstr ""
"Pilihan:\n"
"  --admindir <direktori>     Gunakan <direktori> dan bukannya %s. \n"
"  --expert                  Hidupkan modus untuk yang ahli.\n"
"  --debug <berkas> | -D <berkas>   Hidupkan proses debug, kirim hasilnya ke "
"<berkas>.\n"
"  --colour | --color screenpart:[latar-depan],[latar-belakang][:atribut"
"[+atribut+...]].\n"
"                              Konfigurasi warna layar.\n"
"\n"

#: dselect/main.cc:196
#, fuzzy, c-format
msgid ""
"  --help                     Show this help message.\n"
"  --version                  Show the version.\n"
"\n"
msgstr ""
"  --help                    Tampilkan pesan bantuan ini.\n"
"  --version                    Tampilkan versi program.\n"
"  --license | --licence          Tampilkan lisensi program.\n"
"\n"

#: dselect/main.cc:201
#, c-format
msgid ""
"Actions:\n"
"  access update select install config remove quit\n"
"\n"
msgstr ""
"Aksi:\n"
"   access update select install config remove quit\n"
"\n"

#: dselect/main.cc:205
#, c-format
msgid "Screenparts:\n"
msgstr "Bagian Layar: \n"

#: dselect/main.cc:210
#, c-format
msgid "Colours:\n"
msgstr "Warna: \n"

#: dselect/main.cc:215
#, c-format
msgid "Attributes:\n"
msgstr "Atribut: \n"

#: dselect/main.cc:233
#, c-format
msgid "couldn't open debug file `%.255s'\n"
msgstr "tidak dapat membuka berkas debug `%.250s'\n"

#: dselect/main.cc:253
#, c-format
msgid "Invalid %s `%s'\n"
msgstr "%s `%s' tidak sah\n"

#: dselect/main.cc:270
msgid "screen part"
msgstr "bagian layar"

#: dselect/main.cc:276
msgid "Null colour specification\n"
msgstr "tidak ada spesifikasi warna\n"

#: dselect/main.cc:284 dselect/main.cc:289
msgid "colour"
msgstr "warna"

#: dselect/main.cc:297
msgid "colour attribute"
msgstr "atribut warna"

#: dselect/main.cc:329
msgid "Terminal does not appear to support cursor addressing.\n"
msgstr "Terminal tampaknya tidak mendukung pengalamatan cursor.\n"

#: dselect/main.cc:331
msgid "Terminal does not appear to support highlighting.\n"
msgstr "Terminal tampaknya tidak mendukung penyorotan.\n"

#: dselect/main.cc:333
#, c-format
msgid ""
"Set your TERM variable correctly, use a better terminal,\n"
"or make do with the per-package management tool %s.\n"
msgstr ""
"Setel variabel TERM Anda dengan benar, gunakan terminal yang lebih baik,\n"
"atau lakukanlah dengan sarana pengelolaan per-paket %s.\n"

#: dselect/main.cc:336
msgid "terminal lacks necessary features, giving up"
msgstr "terminal tak memiliki fitur yang diperlukan, menyerah"

#: dselect/main.cc:417
msgid ""
"\n"
"\n"
"Move around with ^P and ^N, cursor keys, initial letters, or digits;\n"
"Press <enter> to confirm selection.   ^L redraws screen.\n"
"\n"
msgstr ""
"\n"
"\n"
"Pindah tempat dengan ^P dan ^N, tombol cursor, huruf awal, atau digit;\n"
"Tekan <enter> untuk konfirmasi pilihan. ^L untuk menampil ulang layar.\n"
"\n"

#: dselect/main.cc:428
msgid ""
"\n"
"\n"
"Read-only access: only preview of selections is available!"
msgstr ""
"\n"
"\n"
"Akses hanya-baca: hanya pratilik pilihan yang tersedia!"

#: dselect/main.cc:448
msgid "failed to getch in main menu"
msgstr "gagal melakukan 'getch' dalam menu utama"

#: dselect/main.cc:531
#, c-format
msgid "unknown action string `%.50s'"
msgstr "string aksi `%.50s' tidak dikenal"

#: dselect/methlist.cc:77
msgid "dselect - list of access methods"
msgstr "dselect - daftar metode akses"

#: dselect/methlist.cc:86
#, c-format
msgid "Access method `%s'."
msgstr "Metode akses `%s'"

#: dselect/methlist.cc:120
msgid "Abbrev."
msgstr "Singkatan"

#: dselect/methlist.cc:121 dselect/pkginfo.cc:105 dselect/pkgtop.cc:291
msgid "Description"
msgstr "Keterangan"

#: dselect/methlist.cc:164 dselect/pkglist.cc:572
msgid "doupdate failed"
msgstr "doupdate gagal"

#: dselect/methlist.cc:166 dselect/pkglist.cc:575
msgid "failed to unblock SIGWINCH"
msgstr "gagal melakukan 'unblock' SIGWINCH"

#: dselect/methlist.cc:170 dselect/pkglist.cc:580
msgid "failed to re-block SIGWINCH"
msgstr "gagal melakukan 're-block' SIGWINCH"

#: dselect/methlist.cc:171 dselect/pkglist.cc:582
msgid "getch failed"
msgstr "getch gagal"

#: dselect/methlist.cc:188
#, fuzzy
msgid "Explanation"
msgstr "penjelasan dari"

#: dselect/methlist.cc:197
msgid "No explanation available."
msgstr "Tidak ada penjelasan tersedia."

#: dselect/method.cc:67
#, c-format
msgid ""
"\n"
"\n"
"%s: %s\n"
msgstr ""
"\n"
"\n"
"%s: %s\n"

#: dselect/method.cc:70
msgid ""
"\n"
"Press <enter> to continue."
msgstr ""
"\n"
"Tekan <enter> untuk meneruskan."

#: dselect/method.cc:161
#, c-format
msgid "Press <enter> to continue.\n"
msgstr "Tekan <enter>  untuk meneruskan.\n"

#: dselect/method.cc:162
#, fuzzy
msgid "<standard error>"
msgstr "Ada kesalahan menulis pada 'standar error'"

#: dselect/method.cc:165
msgid "error reading acknowledgement of program failure message"
msgstr "gagal  membaca pemberitahuan dari pesan kegagalan program"

#: dselect/method.cc:196
msgid "update available list script"
msgstr "perbaharui script daftar yang tersedia"

#: dselect/method.cc:200
msgid "installation script"
msgstr "skrip pemasangan"

#: dselect/method.cc:246
msgid "query/setup script"
msgstr "script query/setup"

#: dselect/methparse.cc:53
#, c-format
msgid "syntax error in method options file `%.250s' -- %s"
msgstr "ada kesalahan sintaks dalam berkas pilihan metode `%.250s' -- %s"

#: dselect/methparse.cc:59
#, c-format
msgid "error reading options file `%.250s'"
msgstr "ada kesalahan saat membaca berkas pilihan `%.250s'"

#: dselect/methparse.cc:90
#, c-format
msgid "unable to read `%.250s' directory for reading methods"
msgstr "tidak bisa membaca direktori `%.250s' untuk membaca metode"

#: dselect/methparse.cc:106
#, c-format
msgid "method `%.250s' has name that is too long (%d > %d characters)"
msgstr "metode `%.250s' memiliki nama terlalu panjang (%d > %d karakter)"

#: dselect/methparse.cc:117
#, c-format
msgid "unable to access method script `%.250s'"
msgstr "tidak bisa mengakses berkas skrip metode `%.250s'"

#: dselect/methparse.cc:123
#, c-format
msgid "unable to read method options file `%.250s'"
msgstr "tidak bisa membaca berkas pilihan metode `%.250s'"

#: dselect/methparse.cc:147
msgid "non-digit where digit wanted"
msgstr "bukan digit di tempat yang harusnya digit"

#: dselect/methparse.cc:150
msgid "EOF in index string"
msgstr "Ada EOF dalam string indeks"

#: dselect/methparse.cc:153
msgid "index string too long"
msgstr "indeks string terlalu panjang"

#: dselect/methparse.cc:156
msgid "newline before option name start"
msgstr "ada baris-baru sebelum awal nama pilihan"

#: dselect/methparse.cc:158
msgid "EOF before option name start"
msgstr "Ada EOF sebelum awal nama pilihan"

#: dselect/methparse.cc:162
msgid "nonalpha where option name start wanted"
msgstr "bukan-alfa di tempat awal nama pilihan "

#: dselect/methparse.cc:164
msgid "non-alphanum in option name"
msgstr "bukan alfanumerik dalam nama pilihan"

#: dselect/methparse.cc:167
msgid "EOF in option name"
msgstr "Ada EOF dalam nama pilihan"

#: dselect/methparse.cc:172
msgid "newline before summary"
msgstr "ada baris-baru sebelum ikhtisar"

#: dselect/methparse.cc:174
msgid "EOF before summary"
msgstr "Ada EOF sebelum ikhstisar"

#: dselect/methparse.cc:180
msgid "EOF in summary - missing newline"
msgstr "Ada EOF dalam ikhtisar - baris-baru hilang"

#: dselect/methparse.cc:190
#, c-format
msgid "unable to open option description file `%.250s'"
msgstr "tidak bisa membuka berkas penjelasan pilihan `%.250s'"

#: dselect/methparse.cc:194
#, c-format
msgid "unable to stat option description file `%.250s'"
msgstr "tidak bisa melakukan 'stat' pada berkas penjelasan pilihan `%.250s'"

#: dselect/methparse.cc:198
#, c-format
msgid "failed to read option description file `%.250s'"
msgstr "gagal membaca berkas penjelasan pilihan `%.250s'"

#: dselect/methparse.cc:201
#, c-format
msgid "error during read of option description file `%.250s'"
msgstr "ada kesalahan selama membaca berkas penjelasan pilihan `%.250s'"

#: dselect/methparse.cc:224
#, c-format
msgid "error during read of method options file `%.250s'"
msgstr "ada kesalahan selama membaca berkas pilihan metode `%.250s'"

#: dselect/methparse.cc:247
#, c-format
msgid "unable to open current option file `%.250s'"
msgstr "tidak bisa membuka berkas pilihan saat ini `%.250s'"

#: dselect/methparse.cc:289
#, c-format
msgid "unable to open new option file `%.250s'"
msgstr "tidak bisa membuka berkas pilihan `%.250s' yang baru"

#: dselect/methparse.cc:292
#, c-format
msgid "unable to write new option to `%.250s'"
msgstr "tidak bisa menulis pilihan baru ke `%.250s'"

#: dselect/methparse.cc:295
#, c-format
msgid "unable to close new option file `%.250s'"
msgstr "tidak bisa menutup berkas pilihan `%.250s' yang baru"

#: dselect/methparse.cc:297
#, c-format
msgid "unable to install new option as `%.250s'"
msgstr "tidak bisa memasang pilihan yang baru sebagai `%.250s'"

#: dselect/pkgdisplay.cc:36
msgid "new package"
msgstr "paket baru"

#: dselect/pkgdisplay.cc:37
msgid "install"
msgstr "pasang"

#: dselect/pkgdisplay.cc:38
msgid "hold"
msgstr "tahan"

#: dselect/pkgdisplay.cc:39
msgid "remove"
msgstr "buang"

#: dselect/pkgdisplay.cc:40
msgid "purge"
msgstr "musnahkan"

#. TRANSLATORS: The space is a trick to work around gettext which uses
#. * the empty string to store information about the translation. DO NOT
#. * CHANGE THAT IN A TRANSLATION! The code really relies on that being
#. * a single space.
#: dselect/pkgdisplay.cc:47
msgid " "
msgstr " "

#: dselect/pkgdisplay.cc:48
msgid "REINSTALL"
msgstr "PASANG-ULANG"

#: dselect/pkgdisplay.cc:51
msgid "not installed"
msgstr "tak dipasang"

#: dselect/pkgdisplay.cc:52
msgid "removed (configs remain)"
msgstr "buang (konfigurasinya jangan)"

#: dselect/pkgdisplay.cc:53
msgid "half installed"
msgstr "setengah terpasang"

#: dselect/pkgdisplay.cc:54
msgid "unpacked (not set up)"
msgstr "telah dibuka (belum disetel)"

#: dselect/pkgdisplay.cc:55
msgid "half configured (config failed)"
msgstr ""

#: dselect/pkgdisplay.cc:56
msgid "awaiting trigger processing"
msgstr ""

#: dselect/pkgdisplay.cc:57
msgid "triggered"
msgstr ""

#: dselect/pkgdisplay.cc:58
msgid "installed"
msgstr "terpasang"

#: dselect/pkgdisplay.cc:61
msgid "Required"
msgstr "Diperlukan"

#: dselect/pkgdisplay.cc:62
msgid "Important"
msgstr "Penting"

#: dselect/pkgdisplay.cc:63
msgid "Standard"
msgstr "Standar"

#: dselect/pkgdisplay.cc:64
msgid "Optional"
msgstr "Pilihan"

#: dselect/pkgdisplay.cc:65
msgid "Extra"
msgstr "Tambahan"

#: dselect/pkgdisplay.cc:66
msgid "!Bug!"
msgstr "!Cacat!"

#: dselect/pkgdisplay.cc:67
msgid "Unclassified"
msgstr "Tak dikelompokkan"

#: dselect/pkgdisplay.cc:70
msgid "suggests"
msgstr "disarankan"

#: dselect/pkgdisplay.cc:71
msgid "recommends"
msgstr "dianjurkan"

#: dselect/pkgdisplay.cc:72
msgid "depends on"
msgstr "bergantung pada"

#: dselect/pkgdisplay.cc:73
msgid "pre-depends on"
msgstr "pra-syarat awal"

#: dselect/pkgdisplay.cc:74
msgid "breaks"
msgstr ""

#: dselect/pkgdisplay.cc:75
msgid "conflicts with"
msgstr "bentrok dengan"

#: dselect/pkgdisplay.cc:76
msgid "provides"
msgstr "menyediakan"

#: dselect/pkgdisplay.cc:77
msgid "replaces"
msgstr "menggantikan"

#: dselect/pkgdisplay.cc:78
msgid "enhances"
msgstr "disempurnakan"

#: dselect/pkgdisplay.cc:81
msgid "Req"
msgstr "Bth"

#: dselect/pkgdisplay.cc:82
msgid "Imp"
msgstr "Ptg"

#: dselect/pkgdisplay.cc:83
msgid "Std"
msgstr "Std"

#: dselect/pkgdisplay.cc:84
msgid "Opt"
msgstr "Plh"

#: dselect/pkgdisplay.cc:85
msgid "Xtr"
msgstr "Tbh"

#: dselect/pkgdisplay.cc:86
msgid "bUG"
msgstr "CACAT"

#: dselect/pkgdisplay.cc:87
msgid "?"
msgstr "?"

#: dselect/pkgdisplay.cc:95 dselect/pkgdisplay.cc:115
msgid "Broken"
msgstr "Rusak"

#: dselect/pkgdisplay.cc:96
msgid "New"
msgstr "Baru"

#: dselect/pkgdisplay.cc:97
msgid "Updated"
msgstr "Diperbaharui"

#: dselect/pkgdisplay.cc:98
msgid "Obsolete/local"
msgstr "Usang/lokal"

#: dselect/pkgdisplay.cc:99
msgid "Up-to-date"
msgstr "Masih baru"

#: dselect/pkgdisplay.cc:100
msgid "Available"
msgstr "Tersedia"

#: dselect/pkgdisplay.cc:101 dselect/pkgdisplay.cc:117
msgid "Removed"
msgstr "Dibuang"

#: dselect/pkgdisplay.cc:102 dselect/pkgdisplay.cc:111
msgid "Brokenly installed packages"
msgstr "Paket terpasang yang rusak"

#: dselect/pkgdisplay.cc:103
msgid "Newly available packages"
msgstr "Paket baru yang tersedia"

#: dselect/pkgdisplay.cc:104
msgid "Updated packages (newer version is available)"
msgstr "Paket-paket terbaru (versi terbaru tersedia)"

#: dselect/pkgdisplay.cc:105
msgid "Obsolete and local packages present on system"
msgstr "Paket-paket lokal dan usang ada pada sistem"

#: dselect/pkgdisplay.cc:106
msgid "Up to date installed packages"
msgstr "Paket-paket terpasang yang terkini"

#: dselect/pkgdisplay.cc:107
msgid "Available packages (not currently installed)"
msgstr "Paket-paket yagn tersedia (belum terpasang)"

#: dselect/pkgdisplay.cc:108
msgid "Removed and no longer available packages"
msgstr "Paket-paket terbuang dan tak lagi tersedia"

#: dselect/pkgdisplay.cc:112
msgid "Installed packages"
msgstr "Paket-paket yang terpasang"

#: dselect/pkgdisplay.cc:113
msgid "Removed packages (configuration still present)"
msgstr "Paket-paket yang dibuang (konfigurasi masih ada)"

#: dselect/pkgdisplay.cc:114
msgid "Purged packages and those never installed"
msgstr "Paket-paket yang dimusnahkan dan yang belum pernah terpasang"

#: dselect/pkgdisplay.cc:116
msgid "Installed"
msgstr "Terpasang"

#: dselect/pkgdisplay.cc:118
msgid "Purged"
msgstr "Musnah"

#: dselect/pkgdisplay.cc:198
msgid "dselect - recursive package listing"
msgstr "dselect - daftar paket terinci"

#: dselect/pkgdisplay.cc:199
msgid "dselect - inspection of package states"
msgstr "dselect - peninjauan keadaan paket"

#: dselect/pkgdisplay.cc:200
msgid "dselect - main package listing"
msgstr "dselect - daftar paket utama"

#: dselect/pkgdisplay.cc:208
msgid " (by section)"
msgstr " (berdasarkan bagian)"

#: dselect/pkgdisplay.cc:211
msgid " (avail., section)"
msgstr " (tersedia, bag.)"

#: dselect/pkgdisplay.cc:214
msgid " (status, section)"
msgstr " (status, bag.)"

#: dselect/pkgdisplay.cc:223
msgid " (by priority)"
msgstr " (berdasarkan prioritas)"

#: dselect/pkgdisplay.cc:226
msgid " (avail., priority)"
msgstr " (tersedia, prioritas)"

#: dselect/pkgdisplay.cc:229
msgid " (status, priority)"
msgstr " (status,prioritas)"

#: dselect/pkgdisplay.cc:238 dselect/pkgdisplay.cc:250
msgid " (alphabetically)"
msgstr "  (secara alfabet)"

#: dselect/pkgdisplay.cc:241
msgid " (by availability)"
msgstr " (berdasarkan ketersediaan)"

#: dselect/pkgdisplay.cc:244
msgid " (by status)"
msgstr " (berdasarkan status)"

#: dselect/pkgdisplay.cc:258
msgid " mark:+/=/- terse:v help:?"
msgstr " tandai:+/=/-  ringkas:v bantuan:?"

#: dselect/pkgdisplay.cc:259
msgid " mark:+/=/- verbose:v help:?"
msgstr " tandai:+/=/-  rinci:v bantuan:?"

#: dselect/pkgdisplay.cc:260
msgid " terse:v help:?"
msgstr " ringkas:v bantuan:?"

#: dselect/pkgdisplay.cc:261
msgid " verbose:v help:?"
msgstr " rinci:v bantuan:?"

#: dselect/pkginfo.cc:80
msgid ""
"The line you have highlighted represents many packages; if you ask to "
"install, remove, hold, etc. it you will affect all the packages which match "
"the criterion shown.\n"
"\n"
"If you move the highlight to a line for a particular package you will see "
"information about that package displayed here.\n"
"You can use `o' and `O' to change the sort order and give yourself the "
"opportunity to mark packages in different kinds of groups."
msgstr ""
"Baris yang telah Anda sorot mewakili banyak paket. Jika Anda ingin memasang, "
"membuang, mencekal, dll. paket ini, Anda akan melibatkan semua paket yang "
"sesuai dengan kriteria yang tampak.\n"
"\n"
"Jika Anda memindahkan sorotan ke suatu baris untuk paket tertentu, Anda akan "
"melihat keterangan tentang paket itu di sini.\n"
"Anda dapat menggunakan `o' dan `O' untuk mengubah pengurutan dan memberikan "
"Anda peluang untuk menandai paket dalam beragam grup berbeda."

#: dselect/pkginfo.cc:93
#, fuzzy
msgid "Interrelationships"
msgstr "antar hubungan"

#: dselect/pkginfo.cc:112
#, fuzzy
msgid "No description available."
msgstr " tidak ada keterangan yang tersedia"

#: dselect/pkginfo.cc:130
#, fuzzy
msgid "Installed control file information"
msgstr " Info 'control' yang terpasang untuk"

#: dselect/pkginfo.cc:146
#, fuzzy
msgid "Available control file information"
msgstr "versi info berkas 'control' yang tersedia"

#: dselect/pkglist.cc:416
msgid "There are no packages."
msgstr ""

#: dselect/pkglist.cc:507
msgid "invalid search option given"
msgstr "pilihan pencarian tidak sah"

#: dselect/pkglist.cc:521
msgid "error in regular expression"
msgstr "ada kesalahan dalam ekspresi regular"

#: dselect/pkgsublist.cc:107
msgid " does not appear to be available\n"
msgstr " tampaknya tidak tersedia\n"

#: dselect/pkgsublist.cc:127
msgid " or "
msgstr " atau "

#: dselect/pkgtop.cc:57
msgid "All"
msgstr "Semuanya"

#: dselect/pkgtop.cc:79
msgid "All packages"
msgstr "Semua paket"

#: dselect/pkgtop.cc:83
#, c-format
msgid "%s packages without a section"
msgstr "%s paket tanpa suatu bagian"

#: dselect/pkgtop.cc:85
#, c-format
msgid "%s packages in section %s"
msgstr "%s paket di bagian %s"

#: dselect/pkgtop.cc:91
#, c-format
msgid "%s %s packages"
msgstr "%s %s paket"

#: dselect/pkgtop.cc:95
#, c-format
msgid "%s %s packages without a section"
msgstr "%s %s paket tanpa suatu bagian"

#: dselect/pkgtop.cc:97
#, c-format
msgid "%s %s packages in section %s"
msgstr "%s %s paket di bagian %s"

#: dselect/pkgtop.cc:118
#, c-format
msgid "%-*s %s%s%s;  %s (was: %s).  %s"
msgstr "%-*s %s%s%s; %s (tadinya: %s). %s"

#: dselect/pkgtop.cc:263
msgid "Error"
msgstr "Ada Kesalahan"

#: dselect/pkgtop.cc:267
msgid "Installed?"
msgstr "Terpasang?"

#: dselect/pkgtop.cc:271
msgid "Old mark"
msgstr "Tanda lama"

#: dselect/pkgtop.cc:275
msgid "Marked for"
msgstr "Ditandai untuk"

#: dselect/pkgtop.cc:278
msgid "EIOM"
msgstr "EPOT"

#: dselect/pkgtop.cc:280
msgid "Section"
msgstr "Bagian"

#: dselect/pkgtop.cc:281
msgid "Priority"
msgstr "Prioritas"

#: dselect/pkgtop.cc:282
msgid "Package"
msgstr "Paket"

#: dselect/pkgtop.cc:286
msgid "Inst.ver"
msgstr "Ver. terpsg"

#: dselect/pkgtop.cc:289
msgid "Avail.ver"
msgstr "Ver. t'sedia"

#~ msgid "returned error exit status %d.\n"
#~ msgstr "status 'error exit' yang dihasilkan %d. \n"

#~ msgid "was interrupted.\n"
#~ msgstr "telah dihentikan.\n"

#~ msgid "was terminated by a signal: %s.\n"
#~ msgstr "telah dihentikan oleh sinyal: %s. \n"

#~ msgid "(It left a coredump.)\n"
#~ msgstr "(Ia meninggalkan sebuah coredump.)\n"

#~ msgid "failed with an unknown wait return code %d.\n"
#~ msgstr "gagal dengan kode 'wait' %d yang tak dikenal.\n"

#~ msgid "unable to run %.250s process `%.250s'"
#~ msgstr "tidak bisa menjalankan proses %.250s `%.250s'"

#~ msgid "failed config"
#~ msgstr "konfig gagal"

#~ msgid "unable to wait for %.250s"
#~ msgstr "tidak bisa menunggu %.250s"

#~ msgid "got wrong child's status - asked for %ld, got %ld"
#~ msgstr "status anak proses salah - ingin %ld, dapat %ld"

#~ msgid "Recommended"
#~ msgstr "Dianjurkan"

#~ msgid "Contrib"
#~ msgstr "Sumbangsih"

#~ msgid "Rec"
#~ msgstr "Rkm"

#~ msgid "Ctb"
#~ msgstr "Smb"

#~ msgid ""
#~ "baselist::startdisplay() done ...\n"
#~ "\n"
#~ " xmax=%d, ymax=%d;\n"
#~ "\n"
#~ " title_height=%d, colheads_height=%d, list_height=%d;\n"
#~ " thisstate_height=%d, info_height=%d, whatinfo_height=%d;\n"
#~ "\n"
#~ " colheads_row=%d, thisstate_row=%d, info_row=%d;\n"
#~ " whatinfo_row=%d, list_row=%d;\n"
#~ "\n"
#~ msgstr ""
#~ "baselist::stardisplay() selesai ...\n"
#~ "\n"
#~ "  xmax=%d, ymax=%d;\n"
#~ "\n"
#~ "  tinggi_title=%d, tinggi_colheads=%d, tinggi_list=%d;\n"
#~ "  tinggi_thisstate=%d, tinggi_info=%d, tinggi_whatinfo=%d;\n"
#~ "\n"
#~ "  baris_colheads=%d, baris_thisstate=%d, baris_info=%d;\n"
#~ "  baris_whatinfo=%d, baris_list=%d;\n"
#~ "\n"

#~ msgid "[none]"
#~ msgstr "[tidak ada]"

#~ msgid "error un-catching signal %d: %s\n"
#~ msgstr "Ada kesalahan saat melepaskan sinyal %d: %s\n"

#~ msgid "unable to ignore signal %d before running %.250s"
#~ msgstr "tidak bisa mengabaikan sinyal %d sebelum menjalankan %.250s"

#~ msgid "(no clientdata)"
#~ msgstr "(tidak ada clientdata)"

#~ msgid "<null>"
#~ msgstr "<nihil>"

#~ msgid "interrelationships affecting "
#~ msgstr "antar hubungan yang mempengaruhi"

#~ msgid "description of "
#~ msgstr " Keterangan dari"

#~ msgid "description"
#~ msgstr " keterangan"

#~ msgid "currently installed control info"
#~ msgstr "Info 'control' yang terpasang saat ini"

#~ msgid "available version of control info for "
#~ msgstr "versi info 'control' yang tersedia untuk"
