# Tagalog translation file for dpkg
# Copyright (C) 2005 Eric Pareja
# This file is distributed under the same license as the package dpkg.
# Eric Pareja, 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-02-17 08:58+0200\n"
"Last-Translator: Eric Pareja <xenos@upm.edu.ph>\n"
"Language-Team: Tagalog <debian-tl@banwa.upm.edu.ph>\n"
"Language: tl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: dselect/basecmds.cc:125
msgid "Search for ? "
msgstr "Maghanap ng ? "

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

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

#: dselect/basecmds.cc:184
msgid "Press ? for help menu, . for next topic, <space> to exit help."
msgstr ""
"Pindutin ang ? para sa menu ng tulong, . para sa susunod na paksa,\n"
"<puwang> upang lumabas sa tulong."

#: dselect/basecmds.cc:191
msgid "Help information is available under the following topics:"
msgstr ""
"Ang magagamit niyong impormasyong makakatulong ay sa mga sumusunod na paksa:"

#: 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 ""
"Pindutin ang tiklado mula sa listahan sa itaas, <puwang> o `q' upang "
"lumabas\n"
"sa tulong o `.' (tuldok) upang basahin ang bawat pahina ng tulong. "

#: dselect/basecmds.cc:205
msgid "error reading keyboard in help"
msgstr "error sa pagbasa ng tiklado habang nasa modong pagtulong"

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

#: dselect/baselist.cc:60
msgid "doupdate in SIGWINCH handler failed"
msgstr "bigo ang doupdate sa handler ng SIGWINCH"

#: dselect/baselist.cc:67
msgid "failed to restore old SIGWINCH sigact"
msgstr "bigong ibalik ang lumang SIGWINCH sigact"

#: dselect/baselist.cc:69
msgid "failed to restore old signal mask"
msgstr "bigong ibalik ang lumang maskarang hudyat"

#: dselect/baselist.cc:79
msgid "failed to get old signal mask"
msgstr "bigong makuha ang lumang maskarang hudyat"

#: dselect/baselist.cc:80
msgid "failed to get old SIGWINCH sigact"
msgstr "bigong makuha ang lumang SIGWINCH sigact"

#: dselect/baselist.cc:84
msgid "failed to block SIGWINCH"
msgstr "bigong iharang ang SIGWINCH"

#: dselect/baselist.cc:89
msgid "failed to set new SIGWINCH sigact"
msgstr "bigong itakda ang bagong SIGWINCH sigact"

#: dselect/baselist.cc:126
msgid "failed to allocate colour pair"
msgstr "bigo ang paglaan ng pares ng kulay"

#: dselect/baselist.cc:167
msgid "failed to create title window"
msgstr "bigo ang paglikha ng bintana ng pamagat"

#: dselect/baselist.cc:171
msgid "failed to create whatinfo window"
msgstr "bigo ang paglikha ng bintana ng whatinfo"

#: dselect/baselist.cc:175
msgid "failed to create baselist pad"
msgstr "bigo ang paglikha ng baselist pad"

#: dselect/baselist.cc:178
msgid "failed to create heading pad"
msgstr "bigo ang paglikha ng heading pad"

#: dselect/baselist.cc:182
msgid "failed to create thisstate pad"
msgstr "bigo ang paglikha ng thisstate pad"

#: dselect/baselist.cc:186
msgid "failed to create info pad"
msgstr "bigo ang paglikha ng info pad"

#: dselect/baselist.cc:191
msgid "failed to create query window"
msgstr "bigo ang paglikha ng bintana ng tanong"

#: dselect/baselist.cc:255
#, fuzzy
msgid "Keybindings"
msgstr "mga keybinding"

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

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

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

#: dselect/bindings.cc:78
msgid "[not bound]"
msgstr "[hindi nakatakda]"

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

#: dselect/bindings.cc:139
msgid "Scroll onwards through help/information"
msgstr "Umabante sa tulong/impormasyon"

#: dselect/bindings.cc:140
msgid "Scroll backwards through help/information"
msgstr "Umatras sa tulong/impormasyon"

#: dselect/bindings.cc:141
msgid "Move up"
msgstr "Umakyat"

#: dselect/bindings.cc:142
msgid "Move down"
msgstr "Bumaba"

#: dselect/bindings.cc:143
msgid "Go to top of list"
msgstr "Pumunta sa puno ng listahan"

#: dselect/bindings.cc:144
msgid "Go to end of list"
msgstr "Pumunta sa dulo ng listahan"

#: dselect/bindings.cc:145
msgid "Request help (cycle through help screens)"
msgstr "Humingi ng tulong (iikot sa mga tabing ng payo)"

#: dselect/bindings.cc:146
msgid "Cycle through information displays"
msgstr "Umikot sa mga tabing ng impormasyon"

#: dselect/bindings.cc:147
msgid "Redraw display"
msgstr "Iguhit muli ang tabing"

#: dselect/bindings.cc:148
msgid "Scroll onwards through list by 1 line"
msgstr "Umabante sa listahan ng isang linya"

#: dselect/bindings.cc:149
msgid "Scroll backwards through list by 1 line"
msgstr "Umatras sa listahan ng isang linya"

#: dselect/bindings.cc:150
msgid "Scroll onwards through help/information by 1 line"
msgstr "Umabante sa tulong/impormasyon ng isang linya"

#: dselect/bindings.cc:151
msgid "Scroll backwards through help/information by 1 line"
msgstr "Umatras sa tulong/impormasyon ng isang linya"

#: dselect/bindings.cc:152
msgid "Scroll onwards through list"
msgstr "Umabante sa listahan"

#: dselect/bindings.cc:153
msgid "Scroll backwards through list"
msgstr "Umatras sa listahan"

#: dselect/bindings.cc:156
msgid "Mark package(s) for installation"
msgstr "Markahan ang (mga) pakete na iluluklok"

#: dselect/bindings.cc:157
msgid "Mark package(s) for deinstallation"
msgstr "Markahan ang (mga) pakete na tatanggalin"

#: dselect/bindings.cc:158
msgid "Mark package(s) for deinstall and purge"
msgstr "Markahan ang (mga) pakete na tatanggalin at pupurgahin"

#: dselect/bindings.cc:159
msgid "Make highlight more specific"
msgstr "Gawing mas-tiyak ang highlight"

#: dselect/bindings.cc:160
msgid "Make highlight less specific"
msgstr "Gawing mas-malawak ang highlight"

#: dselect/bindings.cc:161
msgid "Search for a package whose name contains a string"
msgstr "Hanapin ang paketeng may pangalang naglalaman ng isang string"

#: dselect/bindings.cc:162
msgid "Repeat last search."
msgstr "Ulitin ang huling paghahanap."

#: dselect/bindings.cc:163
msgid "Swap sort order priority/section"
msgstr "Ipagpalit ang pagkasunod-sunod antas/seksyon"

#: dselect/bindings.cc:164
msgid "Quit, confirming, and checking dependencies"
msgstr "Lumabas, tiyakin at suriin ang mga dependensiya"

#: dselect/bindings.cc:165
msgid "Quit, confirming without check"
msgstr "Lumabas, tiyakin ngunit walang pagsusuri"

#: dselect/bindings.cc:166
msgid "Quit, rejecting conflict/dependency suggestions"
msgstr ""
"Lumabas, huwag tanggapin ang mga mungkahi tungkol sa tunggalian/dependensiya"

#: dselect/bindings.cc:167
msgid "Abort - quit without making changes"
msgstr "Huminto - lumabas na walang binabago"

#: dselect/bindings.cc:168
msgid "Revert to old state for all packages"
msgstr "Bumalik sa nakaraang kalagayan para sa lahat ng mga pakete"

#: dselect/bindings.cc:169
msgid "Revert to suggested state for all packages"
msgstr "Bumalik sa mungkahing kalagayan para sa lahat ng mga pakete"

#: dselect/bindings.cc:170
msgid "Revert to directly requested state for all packages"
msgstr "Bumalik sa hiniling na kalagayan para sa lahat ng mga pakete"

#: dselect/bindings.cc:171
#, fuzzy
msgid "Revert to currently installed state for all packages"
msgstr "Bumalik sa hiniling na kalagayan para sa lahat ng mga pakete"

#: dselect/bindings.cc:174
msgid "Select currently-highlighted access method"
msgstr "Piliin ang naka-highlight na paraan ng pag-akses"

#: dselect/bindings.cc:175
msgid "Quit without changing selected access method"
msgstr "Lumabas na hindi binabago ang piniling paraan ng pag-akses"

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

#: 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 ""
"Pag-galaw: Sunod/Nakaraan, Puno/Dulo, Taas/Baba, Paatras/Paabante:\n"
"  Down-arrow, j         Up-arrow, k             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"
"Markahan ang mga pakete para sa pagproseso mamaya:\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 humingi ng tulong (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, \\  ulitin ang huling "
"paghanap\n"

#: dselect/helpmsgs.cc:55
msgid "Introduction to package selections"
msgstr "Pagpapakilala sa pagpili ng mga pakete"

#: 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 ""
"Maligayang pagdating sa pangunahing listahan ng mga pakete sa dselect.\n"
"\n"
"Ipapakita sa inyo ang listahan ng mga pakete na naka-luklok o magagamit na\n"
"iluluklok. Maaari kayong gumalaw sa listahan sa pamamagitan ng mga cursor "
"key,\n"
"markahan ang mga paketeng iiluluklok (gamitin ang `+') o tatanggalin "
"(gamitin\n"
"ang `-'). Ang mga pakete ay maaaring markahan ng isahan o sa grupo; sa "
"umpisa\n"
"makikita ninyo na ang linyang `Lahat ng pakete' ay nakapili. `+', `-' at iba "
"pa\n"
"ay makakaapekto sa lahat ng mga pakete na tinutukoy ng naka-highlight na "
"linya.\n"
"\n"
"Ilan sa inyong mga pipiliin ay magkakaroon ng mga conflict o problema sa\n"
"dependensiya; kayo ay bibigyan ng sub-list ng mga paketeng may kinalaman "
"dito,\n"
"upang inyong malutas ang mga problema.\n"
"\n"
"Dapat ninyong basahin ang talaan ng tiklado at mga paliwanag na "
"nakadisplay.\n"
"Maraming tulong na magagamit, mangyaring gamitin niyo ang mga ito - "
"pindutin\n"
"ang `?' kahit kailan para makamit ang tulong.\n"
"\n"
"Kapag natapos na kayong makapagpili ng mga pakete, pindutin ang <enter> "
"upang\n"
"tiyakin ang mga pagbabago, o `X' upang lumabas na hindi itatago ang mga "
"pagbabago.\n"
"May kahulihang pagsusuri ng mga conflict at dependensiya na gagawin - dito "
"rin\n"
"ay maaaring may ipakitang sublist.\n"
"\n"
"Pindutin ang <puwang> upang lumabas sa tulong at bumalik sa listahan "
"ngayon.\n"

#: dselect/helpmsgs.cc:80
msgid "Introduction to read-only package list browser"
msgstr "Pagpapakilala sa browser ng listahan ng mga pakete na pagbasa-lamang"

#: 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 ""
"Maligayang pagdating sa pangunahing listahan ng mga pakete ng dselect.\n"
"\n"
"Ipapakita sa inyo ang listahan ng mga pakete na naka-luklok o magagamit "
"para\n"
"iluluklok. Dahil wala kayong pahintulot na kailangan upang baguhin ang "
"kalagayan\n"
"ng mga pakete, kayo ay nasa modang pagbasa-lamang. Maaari kayong gumalaw sa\n"
"loob ng listahan sa pamamagitan ng mga cursor keys (mangyari na basahin ang\n"
"tulong na pinamagatang `Tiklado'), tignan ang kalagayan ng mga pakete at "
"basahin\n"
"ang impormasyon tungkol sa kanila.\n"
"\n"
"Dapat ninyong basahin ang listahan ng maaaring pindutin at ang paliwanag na\n"
"ipinapakita. Maraming tulong na magagamit, kaya't gamitin ito - pindutin "
"ang\n"
"`?' kahit kailan upang makamit ang tulong.\n"
"\n"
"Kapag tapos na kayong magbasa-basa, pindutin ang `Q' o <enter> upang "
"lumabas.\n"
"\n"
"Pindutin ang <puwang> upang lumabas sa tulong at bumalik sa listahan "
"ngayon.\n"

#: dselect/helpmsgs.cc:99
msgid "Introduction to conflict/dependency resolution sub-list"
msgstr "Pagpapakilala sa sub-list ng pag-ayos ng conflict/dependensiya"

#: 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 ""
"Pag-ayos ng conflict/dependensiya - pagpapakilala.\n"
"\n"
"May isa o ilan sa inyong mga pinili na nag-angat ng problemang conflict o\n"
"dependensiya - may ilang mga pakete na kailangang iluluklok na may kasamang\n"
"iba, at may iba namang kumbinasyon ng mga pakete na hindi maaaring "
"iluluklok\n"
"ng sabay.\n"
"\n"
"Makikita ninyo ang sub-list na naglalaman ng mga paketeng tinutukoy.  Ang\n"
"ibabang kalahati ng tabing ay nagpapakita ng mga conflict at dependensiya;\n"
"gamitin ang `i' upang umikot dito, sa paglalarawan ng mga pakete at sa\n"
"impormasyong control na panloob.\n"
"\n"
"May koleksyon ng mga pakete na `minumungkahi' na tinantsya, at mga "
"panimulang\n"
"mga marka sa sub-list na ito na nakatakda upang matapatan ito, upang maari\n"
"niyo lamang pindutin ang Return upang tanggapin ang mga mungkahi kung "
"inyong\n"
"naisin. Maaari ding hintuin ang (mga) pagbabago na nagsanhi ng (mga) "
"problema,\n"
"at bumalik sa pangunahing listahan sa pagpindot ng capital `X'.\n"
"\n"
"Maaari din kayong gumalaw sa listahan at palitan ang mga marka upang "
"tumugma\n"
"sa inyong kagustuhan, at maaari ninyong hindian ang aking mga mungkahi sa\n"
"pagpindot ng capital `D' o `R' (tignan ang tulong sa tiklado).  Maaari "
"niyong\n"
"gamitin ang capital `Q' upang pilitin akong tanggapin ang kasalukuyang "
"ayos,\n"
"kung sakaling nais niyong i-override ang rekomendasyon o kung sa tingin niyo "
"ay\n"
"mali ang programa.\n"
"\n"
"Pindutin ang <puwang> upang lumabas sa tulong at pumasok sa sub-list;\n"
"alalahanin: pindutin ang `?' para sa tulong.\n"

#: dselect/helpmsgs.cc:125
msgid "Display, part 1: package listing and status chars"
msgstr "Display, ika-1 bahagi: listahan ng mga pakete at kalagayang titik"

#: 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 ""
"Pinapakita sa itaas na kalahati ng tabing ang listahan ng mga pakete. Sa "
"bawat\n"
"pakete ay makikita ang apat na sunuran para sa kanyang kalagayan sa sistema "
"at\n"
"marka. Sa modong terse (gamitin ang `v' upang itoggle ang modong verbose) "
"ito\n"
"ay nag-iisang titik, mula kaliwa patungong kanan:\n"
"\n"
" Error flag:\n"
"     Puwang - walang error (maaaring ang pakete ay nasa kalagayang sira - "
"basahin\n"
"              sa ibaba)\n"
"       `R'  - mabigat na error sa pag-luklok, kinakailangang iluluklok "
"muli;\n"
"\n"
" Kalagayang pagka-luklok:\n"
"        Puwang - hindi naka-luklok;\n"
"          `*'  - naka-luklok;\n"
"          `-'  - hindi naka-luklok pero may talaksang pagkaayos na naiwan;\n"
"mga     { `U'  - nakabuklat pero hindi pa nakaayos;\n"
"pakete  { `C'  - nakaayos na bitin (may error na naganap);\n"
"dito    { `I'  - naka-luklok na bitin (may error na naganap).\n"
"ay sira \n"
"\n"
" Lumang marka: ang hiniling para sa pakete bago pinakita ang listahan ito;\n"
" Marka: ang hiniling para sa pakete na ito:\n"
"   `*': naka-marka para sa pag-luklok o apgreyd;\n"
"   `-': naka-marka para tanggalin, pero iiwanan ang mga talaksang "
"pagkaayos;\n"
"   `=': naka-hold: hindi ipoproseso ang pakete;\n"
"   `_': naka-marka na tanggalin ng buo - tanggalin pati ang pagkaayos;\n"
"   `n': ang pakete ay bago at hindi pa namarkahan para sa luklok/pagtanggal/"
"&c.\n"
"\n"
"Pinapakita rin ang Antas, Section, pangalan, bilang ng bersyon ng naka-"
"luklok\n"
"at maaaring gamitin na bersyon (shift-V upang ipakita/itago) at "
"paglalarawang\n"
"maikli ng bawat pakete.\n"

#: dselect/helpmsgs.cc:152
msgid "Display, part 2: list highlight; information display"
msgstr "Display, ika-2 bahagi: listahang highlight; pagpakita ng impormasyon"

#: 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 ""
"* Highlight: Isang linya sa listahan ng pakete ay may highlight. "
"Pinapahiwatig\n"
"  kung aling (mga) pakete ang apektado ng pagpindot ng `+', `-' at `_'.\n"
"\n"
"* Ang linyang naghahati sa gitna ng tabing ay nagpapakita ng maikling "
"paliwanag\n"
"  tungkol sa kalagayan ng paketeng naka-highlight, o paglarawan ng grupong "
"naka-\n"
"  highlight, kung grupo ito. Kung hindi niyo naintindihan ang ibig sabihin "
"ng\n"
"  ilan sa mga character na nagpapakita ng kalagayan, pumunta sa akmang "
"pakete at\n"
"  tignan itong linyang naghahati, o gamitin ang tikladong `v' para sa "
"verbose\n"
"  na display (pindutin ang `v' muli upang bumalik sa modong terse).\n"
"\n"
"* Ang ibaba ng tabing ay nagpapakita ng karagdagang impormasyon tungkol sa\n"
"  kasalukuyang naka-highlight na pakete (kung iisa lamang).\n"
"\n"
"  Maaaring ipakita ang pinalawig na paglalarawan ng pakete, ang internal "
"na \n"
"  detalye ng pag-control ng pakete (maging ang naka-luklok o ng maaaring\n"
"  magamit na bersyon ng pakete), o ng impormasyon tungkol sa conflict at\n"
"  dependensiya na kaugnay ng kasalukuyang pakete (sa sublist ng pag-ayos ng\n"
"  conflict/dependensiya).\n"
"\n"
"  Gamiting ang tikladong `i' upang umikot sa mga display, at `I' upang "
"itago\n"
"  ang display ng impormasyon o lakihan ito na gamitin ang halos buong "
"tabing.\n"

#: dselect/helpmsgs.cc:176
msgid "Introduction to method selection display"
msgstr "Pagpapakilala sa pagpili ng paraan"

#: 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 ""
"Maaaring magluklok ng kusa ang dselect at dpkg, kukunin ang talaksang\n"
"pakete na iiluluklok mula sa isa sa iba't ibang pagmumulan. Maaari kayong\n"
"pumili ng isa sa mga paraan ng pag-luklok mula sa listahang ito.Ilipat ang\n"
"highlight sa paraan na nais niyong gamitin, at pindutin ang Enter.  Kayo ay\n"
"tatanungin ng ilang mga bagay na kailangan upang makapag-luklok.\n"
"\n"
"Sa paglipat niyo ng highlight ay ipapakita ang paglarawan ng bawat paraan,\n"
"kung meron nito, sa ibabang kalahati ng tabing.\n"
"\n"
"Kung nais niyong lumabas na walang babaguhin ay gamitin ang `x' habang nasa\n"
"listahan ng mga paraan ng pag-luklok.\n"
"\n"
"Maaaring makita ang buong listahan ng magagamit na tiklado sa pagpindot ng\n"
"`k'ilalanin, o mula sa menu ng tulong na makikita sa pagpindot ng `?'.\n"

#: dselect/helpmsgs.cc:196
msgid "Keystrokes for method selection"
msgstr "Tikladong gamit sa pagpili ng paraan"

#: 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 ""
"Pag-galaw: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
"  n, Down-arrow         p, Up-arrow             galawin ang highlight\n"
"  N, Page-down, Space   P, Page-up, Backspace   igalaw ang listahan ng 1 "
"pahina\n"
"  ^n                    ^p                      igalaw ang listahan ng 1 "
"linya\n"
"  t, Home               e, End                  tumalon sa puno/dulo ng "
"list\n"
"  u                     d                       igalaw ang info ng 1 pahina\n"
"  ^u                    ^d                      igalaw ang info ng 1 linya\n"
"  B, Left-arrow         F, Right-arrow          ikiling ng 1/3 ang tabing\n"
"  ^b                    ^f                    ikiling ng 1 character ang "
"tabing\n"
"(Pareho ang mga tikladong gamit dito at sa listahan ng pakete.)\n"
"\n"
"Quit:\n"
" Return, Enter       piliin ang paraan na ito at pumunta sa pagsasaayos\n"
" x, X                lumabas na walang binabago o inaayos na paraang pag-"
"luklok\n"
"\n"
"Sari-sari:\n"
"  ?, Tulong, F1      humingi ng tulong\n"
" ^l                  ulitin ang pagguhit ng tabing\n"
"  /                  paghanap (pindutin ang return para ihinto)\n"
"  \\                  ulitin ang huling paghanap\n"

#: dselect/main.cc:60
msgid "Type dselect --help for help."
msgstr "dselect --help para sa tulong."

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

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

#: dselect/main.cc:143
msgid "Choose the access method to use."
msgstr "Piliin ang paraan ng pag-akses na gagamitin."

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

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

#: dselect/main.cc:144
msgid "Update list of available packages, if possible."
msgstr "Isariwa ang listahan ng magagamit na mga pakete, kung kaya."

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

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

#: dselect/main.cc:145
msgid "Request which packages you want on your system."
msgstr "Hilingin ang mga paketeng nais niyo sa inyong sistema."

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

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

#: dselect/main.cc:146
msgid "Install and upgrade wanted packages."
msgstr "Iluklok at i-apgreyd ang mga paketeng ninanais."

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

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

#: dselect/main.cc:147
msgid "Configure any packages that are unconfigured."
msgstr "Isaayos ang mga paketeng hindi pa nakaayos."

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

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

#: dselect/main.cc:148
msgid "Remove unwanted software."
msgstr "Tanggalin ang hindi gustong mga software."

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

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

#: dselect/main.cc:149
msgid "Quit dselect."
msgstr "Lumabas sa dselect."

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

#: dselect/main.cc:155
#, fuzzy, c-format
msgid "Debian `%s' package handling frontend version %s.\n"
msgstr "Debian `%s' mukha ng tagapangasiwa ng mga pakete."

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

#: 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 ""
"Ito ay malayang software; basahin ang GNU General Public License bersyon 2 "
"o\n"
"mas-bago para sa kundisyon ng pangongopya. Walang waranti.\n"
"Basahin ang dpkg-deb --licence para sa detalye.\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 ""

#: 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 ""

#: dselect/main.cc:196
#, c-format
msgid ""
"  --help                     Show this help message.\n"
"  --version                  Show the version.\n"
"\n"
msgstr ""

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

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

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

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

#: dselect/main.cc:233
#, c-format
msgid "couldn't open debug file `%.255s'\n"
msgstr "hindi mabuksan ang talaksang pan-debug `%.255s'\n"

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

#: dselect/main.cc:270
msgid "screen part"
msgstr "bahagi ng tabing"

#: dselect/main.cc:276
msgid "Null colour specification\n"
msgstr "Null na spesipikasyong pangkulay\n"

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

#: dselect/main.cc:297
msgid "colour attribute"
msgstr "attribute ng kulay"

#: dselect/main.cc:329
msgid "Terminal does not appear to support cursor addressing.\n"
msgstr "Mukhang ang himpilan ay hindi sumusuporta ng cursor addressing.\n"

#: dselect/main.cc:331
msgid "Terminal does not appear to support highlighting.\n"
msgstr "Mukhang ang himpilan ay hindi sumusuporta ng highlighting.\n"

#: dselect/main.cc:333
#, fuzzy, 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 ""
"Itakda ang inyong TERM variable ng wasto, gumamit ng mas mahusay na "
"himpilan,\n"
"o kayanin na lamang na gamit ang kasangkapang tagapangasiwa ng bawat pakete "

#: dselect/main.cc:336
msgid "terminal lacks necessary features, giving up"
msgstr "kulang ng kailangan na mga feature ang terminal, sumusuko na"

#: 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"
"Gamitin ang ^P at ^N, mga cursor key, unang mga titik, o numero upang "
"gumalaw:\n"
"Pindutin ang <enter> upang tiyakin ang pinili. ^L upang iguhit muli ang "
"tabing.\n"
"\n"

#: dselect/main.cc:428
msgid ""
"\n"
"\n"
"Read-only access: only preview of selections is available!"
msgstr ""
"\n"
"\n"
"Pagbasa-lamang na akses: matitignan lamang ang magagamit na mga pagpipilian!"

#: dselect/main.cc:448
msgid "failed to getch in main menu"
msgstr "bigo ang getch sa pangunahing menu"

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

#: dselect/methlist.cc:77
msgid "dselect - list of access methods"
msgstr "dselect - listahan ng paraan ng akses"

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

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

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

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

#: dselect/methlist.cc:166 dselect/pkglist.cc:575
msgid "failed to unblock SIGWINCH"
msgstr "bigo sa pag-unblock ng SIGWINCH"

#: dselect/methlist.cc:170 dselect/pkglist.cc:580
msgid "failed to re-block SIGWINCH"
msgstr "bigo sa pag-re-block ng SIGWINCH"

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

#: dselect/methlist.cc:188
#, fuzzy
msgid "Explanation"
msgstr "paliwanag ng "

#: dselect/methlist.cc:197
msgid "No explanation available."
msgstr "Walang paliwanag na maibigay."

#: 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"
"Pindutin ang <enter> upang magpatuloy."

#: dselect/method.cc:161
#, c-format
msgid "Press <enter> to continue.\n"
msgstr "Pindutin ang <enter> upang magpatuloy.\n"

#: dselect/method.cc:162
#, fuzzy
msgid "<standard error>"
msgstr "error sa pagsulat sa standard error"

#: dselect/method.cc:165
msgid "error reading acknowledgement of program failure message"
msgstr ""
"error sa pagbasa ng pagkilala ng mensahe tungkol sa pagkabigo ng programa"

#: dselect/method.cc:196
msgid "update available list script"
msgstr "scriptong pang-apdeyt ang magagamit na listahan"

#: dselect/method.cc:200
msgid "installation script"
msgstr "scriptong tagaluklok"

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

#: dselect/methparse.cc:53
#, c-format
msgid "syntax error in method options file `%.250s' -- %s"
msgstr "syntax error sa talaksang opsyon ng pamamaraan `%.250s' -- %s"

#: dselect/methparse.cc:59
#, c-format
msgid "error reading options file `%.250s'"
msgstr "error sa pagbasa ng talaksang opsyon `%.250s'"

#: dselect/methparse.cc:90
#, c-format
msgid "unable to read `%.250s' directory for reading methods"
msgstr "di mabasa ang `%.250s' na directory para sa pamamaraan ng pagbasa"

#: dselect/methparse.cc:106
#, c-format
msgid "method `%.250s' has name that is too long (%d > %d characters)"
msgstr ""
"pamamaraan `%.250s' ay may pangalan na labis ang haba (%d > %d karakter)"

#: dselect/methparse.cc:117
#, c-format
msgid "unable to access method script `%.250s'"
msgstr "di ma-akses ang script ng pamamaraan `%.250s'"

#: dselect/methparse.cc:123
#, c-format
msgid "unable to read method options file `%.250s'"
msgstr "di mabasa ang talaksang opsyon ng pamamaraan `%.250s'"

#: dselect/methparse.cc:147
msgid "non-digit where digit wanted"
msgstr "di-numero saan numero dapat"

#: dselect/methparse.cc:150
msgid "EOF in index string"
msgstr "EOF sa index string"

#: dselect/methparse.cc:153
msgid "index string too long"
msgstr "labis ang haba ng index string"

#: dselect/methparse.cc:156
msgid "newline before option name start"
msgstr "newline bago sa umpisa ng pangalan ng opsyon"

#: dselect/methparse.cc:158
msgid "EOF before option name start"
msgstr "EOF nauna sa umpisa ang pangalan ng opsyon"

#: dselect/methparse.cc:162
msgid "nonalpha where option name start wanted"
msgstr "di-alpha kung saan dapat magumpisa ang pangalan ng opsyon"

#: dselect/methparse.cc:164
msgid "non-alphanum in option name"
msgstr "di-alphanum sa pangalan ng opsyon"

#: dselect/methparse.cc:167
msgid "EOF in option name"
msgstr "EOF sa pangalan ng opsyon"

#: dselect/methparse.cc:172
msgid "newline before summary"
msgstr "newline bago sa paglalahat"

#: dselect/methparse.cc:174
msgid "EOF before summary"
msgstr "EOF nauna sa paglalahat"

#: dselect/methparse.cc:180
msgid "EOF in summary - missing newline"
msgstr "EOF sa paglalahat - kulang ng newline"

#: dselect/methparse.cc:190
#, c-format
msgid "unable to open option description file `%.250s'"
msgstr "di mabuksan ang talaksang opsyon na paglalarawan `%.250s'"

#: dselect/methparse.cc:194
#, c-format
msgid "unable to stat option description file `%.250s'"
msgstr "di ma-stat ang talaksang opsyon na paglalarawan `%.250s'"

#: dselect/methparse.cc:198
#, c-format
msgid "failed to read option description file `%.250s'"
msgstr "bigo sa pagbasa ng talaksang opsyon na paglalarawan `%.250s'"

#: dselect/methparse.cc:201
#, c-format
msgid "error during read of option description file `%.250s'"
msgstr "error habang binabasa ang talaksang opsyon na paglalarawan `%.250s'"

#: dselect/methparse.cc:224
#, c-format
msgid "error during read of method options file `%.250s'"
msgstr "error habang binabasa ang talaksang opsyon ng pamamaraan `%.250s'"

#: dselect/methparse.cc:247
#, c-format
msgid "unable to open current option file `%.250s'"
msgstr "di mabuksan ang kasalukuyang talaksang opsyon `%.250s'"

#: dselect/methparse.cc:289
#, c-format
msgid "unable to open new option file `%.250s'"
msgstr "di mabuksan ang bagong talaksang opsyon `%.250s'"

#: dselect/methparse.cc:292
#, c-format
msgid "unable to write new option to `%.250s'"
msgstr "di maisulat ang bagong opsyon sa `%.250s'"

#: dselect/methparse.cc:295
#, c-format
msgid "unable to close new option file `%.250s'"
msgstr "di masarhan ang bagong talaksang opsyon `%.250s'"

#: dselect/methparse.cc:297
#, c-format
msgid "unable to install new option as `%.250s'"
msgstr "di maluklok ang bagong opsyon bilang `%.250s'"

#: dselect/pkgdisplay.cc:36
msgid "new package"
msgstr "bagong pakete"

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

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

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

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

#. 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 "ILUKLOK MULI"

#: dselect/pkgdisplay.cc:51
msgid "not installed"
msgstr "hindi nakaluklok"

#: dselect/pkgdisplay.cc:52
msgid "removed (configs remain)"
msgstr "tinanggal (naiwan ang pagkaayos)"

#: dselect/pkgdisplay.cc:53
msgid "half installed"
msgstr "bitin na pagluklok"

#: dselect/pkgdisplay.cc:54
msgid "unpacked (not set up)"
msgstr "nakabuklat (hindi nakaayos)"

#: 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 "nakaluklok"

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

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

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

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

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

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

#: dselect/pkgdisplay.cc:67
msgid "Unclassified"
msgstr "Di naka-uri"

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

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

#: dselect/pkgdisplay.cc:72
msgid "depends on"
msgstr "umaasa sa"

#: dselect/pkgdisplay.cc:73
msgid "pre-depends on"
msgstr "umaasa ng lubos sa"

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

#: dselect/pkgdisplay.cc:75
msgid "conflicts with"
msgstr "katunggali ang"

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

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

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

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

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

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

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

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

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

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

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

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

#: dselect/pkgdisplay.cc:97
msgid "Updated"
msgstr "May Mas Bago"

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

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

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

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

#: dselect/pkgdisplay.cc:102 dselect/pkgdisplay.cc:111
msgid "Brokenly installed packages"
msgstr "Sira ang pagkaluklok na mga pakete"

#: dselect/pkgdisplay.cc:103
msgid "Newly available packages"
msgstr "Bagong magagamit na mga pakete"

#: dselect/pkgdisplay.cc:104
msgid "Updated packages (newer version is available)"
msgstr "Makabagong mga pakete (may bagong bersyong magagamit)"

#: dselect/pkgdisplay.cc:105
msgid "Obsolete and local packages present on system"
msgstr "Laos na at mga lokal na pakete na narito sa sistema"

#: dselect/pkgdisplay.cc:106
msgid "Up to date installed packages"
msgstr "Nakaluklok na mga pakete na hindi laos"

#: dselect/pkgdisplay.cc:107
msgid "Available packages (not currently installed)"
msgstr "Magagamit na mga pakete (hindi nakaluklok sa kasalukuyan)"

#: dselect/pkgdisplay.cc:108
msgid "Removed and no longer available packages"
msgstr "Tinanggal at hindi na magagamit na mga pakete"

#: dselect/pkgdisplay.cc:112
msgid "Installed packages"
msgstr "Nakaluklok na mga pakete"

#: dselect/pkgdisplay.cc:113
msgid "Removed packages (configuration still present)"
msgstr "Tinanggal na mga pakete (pagkaayos ay narito pa)"

#: dselect/pkgdisplay.cc:114
msgid "Purged packages and those never installed"
msgstr "Pinurgang mga pakete at mga hindi kailanman naluklok"

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

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

#: dselect/pkgdisplay.cc:198
msgid "dselect - recursive package listing"
msgstr "dselect - listahan ng mga pakete na recursive"

#: dselect/pkgdisplay.cc:199
msgid "dselect - inspection of package states"
msgstr "dselect - pagsuri ng kalagayan ng mga pakete"

#: dselect/pkgdisplay.cc:200
msgid "dselect - main package listing"
msgstr "dselect - pangunahing listahan ng mga pakete"

#: dselect/pkgdisplay.cc:208
msgid " (by section)"
msgstr " (ayon sa seksyon)"

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

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

#: dselect/pkgdisplay.cc:223
msgid " (by priority)"
msgstr " (ayon sa prioridad)"

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

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

#: dselect/pkgdisplay.cc:238 dselect/pkgdisplay.cc:250
msgid " (alphabetically)"
msgstr " (ayon sa abakada)"

#: dselect/pkgdisplay.cc:241
msgid " (by availability)"
msgstr " (ayon sa magagamit)"

#: dselect/pkgdisplay.cc:244
msgid " (by status)"
msgstr " (ayon sa kalagayan)"

#: dselect/pkgdisplay.cc:258
msgid " mark:+/=/- terse:v help:?"
msgstr " markahan:+/=/- maikli:v tulong:?"

#: dselect/pkgdisplay.cc:259
msgid " mark:+/=/- verbose:v help:?"
msgstr " markahan:+/=/- maligoy:v tulong:?"

#: dselect/pkgdisplay.cc:260
msgid " terse:v help:?"
msgstr " maikli:v tulong:?"

#: dselect/pkgdisplay.cc:261
msgid " verbose:v help:?"
msgstr " maligoy:v tulong:?"

#: 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 ""
"Ang linya na inyong na-highlight ay tumutukoy sa maraming mga pakete; kung\n"
"hilingin ninyong iluluklok, tanggalin, hawakan, atbp. ay ito'y aapekto sa\n"
"lahat ng mga pinapakitang mga criteria.\n"
"\n"
"Kung inyong galawin ang highlight sa linya para sa isang pakete ay makikita\n"
"ninyo ang impormasyon tungkol sa paketeng iyon dito.\n"
"Maari niyong gamitin ang `o' at `O' upang palitan ang paraan ng pagsunod-"
"sunod\n"
"at upang bigyan niyo ang sarili niyo ng pagkakataon na markahan ang mga "
"pakete\n"
"sa iba't ibang uri ng pag-grupo."

#: dselect/pkginfo.cc:93
#, fuzzy
msgid "Interrelationships"
msgstr "mga kaugnayan"

#: dselect/pkginfo.cc:112
#, fuzzy
msgid "No description available."
msgstr "walang paglalarawan na magagamit."

#: dselect/pkginfo.cc:130
#, fuzzy
msgid "Installed control file information"
msgstr "naka-luklok na impormasyong control para sa "

#: dselect/pkginfo.cc:146
#, fuzzy
msgid "Available control file information"
msgstr "magagamit na bersyon ng impormasyon ng talaksang control"

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

#: dselect/pkglist.cc:507
msgid "invalid search option given"
msgstr "di tanggap na opsyon sa paghahanap ay ibinigay"

#: dselect/pkglist.cc:521
msgid "error in regular expression"
msgstr "error sa regular expression"

#: dselect/pkgsublist.cc:107
msgid " does not appear to be available\n"
msgstr " ay mukhang hindi magagamit\n"

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

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

#: dselect/pkgtop.cc:79
msgid "All packages"
msgstr "Lahat ng mga pakete"

#: dselect/pkgtop.cc:83
#, c-format
msgid "%s packages without a section"
msgstr "%s na pakete na walang seksyon"

#: dselect/pkgtop.cc:85
#, c-format
msgid "%s packages in section %s"
msgstr "%s na pakete sa seksyon %s"

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

#: dselect/pkgtop.cc:95
#, c-format
msgid "%s %s packages without a section"
msgstr "%s %s na pakete na walang seksyon"

#: dselect/pkgtop.cc:97
#, c-format
msgid "%s %s packages in section %s"
msgstr "%s %s na pakete sa seksyon %s"

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

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

#: dselect/pkgtop.cc:267
msgid "Installed?"
msgstr "Naka-luklok?"

#: dselect/pkgtop.cc:271
msgid "Old mark"
msgstr "Lumang marka"

#: dselect/pkgtop.cc:275
msgid "Marked for"
msgstr "Markado para"

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

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

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

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

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

#: dselect/pkgtop.cc:289
msgid "Avail.ver"
msgstr "Avail.ber"

#~ msgid "returned error exit status %d.\n"
#~ msgstr "nagbalik ng error exit status %d.\n"

#~ msgid "was interrupted.\n"
#~ msgstr "ay ininterrupt.\n"

#~ msgid "was terminated by a signal: %s.\n"
#~ msgstr "ay tinerminate ng hudyat: %s.\n"

#~ msgid "(It left a coredump.)\n"
#~ msgstr "(May iniwan na coredump.)\n"

#~ msgid "failed with an unknown wait return code %d.\n"
#~ msgstr "bigo na may hindi kilalang wait return code %d.\n"

#~ msgid "unable to run %.250s process `%.250s'"
#~ msgstr "hindi mapatakbo %.250s proseso `%.250s'"

#~ msgid "failed config"
#~ msgstr "bigo sa pagsasaayos"

#~ msgid "unable to wait for %.250s"
#~ msgstr "hindi makahintay ng %.250s"

#~ msgid "got wrong child's status - asked for %ld, got %ld"
#~ msgstr "nakakuha ng maling estado ng anak - humingi ng %ld, nakuha ay %ld"

#~ msgid "Recommended"
#~ msgstr "Rekomendado"

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

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

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

#~ 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 ""
#~ "tapos ang baselist::startdisplay()  ...\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"

#~ msgid "[none]"
#~ msgstr "[wala]"

#~ msgid "error un-catching signal %d: %s\n"
#~ msgstr "error sa pag-un-catch ng hudyat %d: %s\n"

#~ msgid "unable to ignore signal %d before running %.250s"
#~ msgstr "di kayang hindi pansinin ang hudyat %d bago patakbuhin ang %.250s"

#~ msgid "(no clientdata)"
#~ msgstr "(walang datoskliente)"

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

#~ msgid "interrelationships affecting "
#~ msgstr "mga kaugnayang nakakaapekto sa "

#~ msgid "description of "
#~ msgstr "paglalarawan ng "

#~ msgid "description"
#~ msgstr "paglalarawan"

#~ msgid "currently installed control info"
#~ msgstr "kasalukuyang nakaluklok na impormasyong control"

#~ msgid "available version of control info for "
#~ msgstr "magagamit na bersyon ng impormasyong control para sa "
