# translation of dselect_gl.po to galician
# Galician translation of dpkg
# Copyright (C) 2005 Software in the Public Interest, Inc.
#
# Jacobo Tarrío <jtarrio@debian.org>, 2005.
# Héctor Fernández López <trorrr@yahoo.es>, 2000.
# mvillarino <mvillarino@users.sourceforge.net>, 2008.
msgid ""
msgstr ""
"Project-Id-Version: dselect_gl\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
"POT-Creation-Date: 2011-10-14 07:11+0200\n"
"PO-Revision-Date: 2008-12-27 15:56+0100\n"
"Last-Translator: mvillarino <mvillarino@users.sourceforge.net>\n"
"Language-Team: galician <proxecto@trasno.net>\n"
"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

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

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

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

#: dselect/basecmds.cc:184
msgid "Press ? for help menu, . for next topic, <space> to exit help."
msgstr ""
"Prema ? para o menú de axuda, . para o seguinte tema, <espazo> para saír."

#: dselect/basecmds.cc:191
msgid "Help information is available under the following topics:"
msgstr "Hai información de axuda dispoñíbel para os seguintes temas:"

#: 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 ""
"Prema nunha tecla da lista de riba, <espazo> ou \"q\" para saír da axuda,\n"
"  ou \".\" (punto) para ler as páxinas de axuda unha por unha. "

#: dselect/basecmds.cc:205
msgid "error reading keyboard in help"
msgstr "erro ao ler o teclado na axuda"

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

#: dselect/baselist.cc:60
msgid "doupdate in SIGWINCH handler failed"
msgstr "a chamada a doupdate no manexador de SIGWINCH fallou"

#: dselect/baselist.cc:67
msgid "failed to restore old SIGWINCH sigact"
msgstr "non foi posíbel recuperar o antigo manexador de SIGWINCH"

#: dselect/baselist.cc:69
msgid "failed to restore old signal mask"
msgstr "non foi posíbel recuperar a antiga máscara de sinais"

#: dselect/baselist.cc:79
msgid "failed to get old signal mask"
msgstr "non foi posíbel obter a antiga máscara de sinais"

#: dselect/baselist.cc:80
msgid "failed to get old SIGWINCH sigact"
msgstr "non foi posíbel obter o antigo manexador de SIGWINCH"

#: dselect/baselist.cc:84
msgid "failed to block SIGWINCH"
msgstr "non foi posíbel bloquear SIGWINCH"

#: dselect/baselist.cc:89
msgid "failed to set new SIGWINCH sigact"
msgstr "non foi posíbel estabelecer o novo manexador de SIGWINCH"

#: dselect/baselist.cc:126
msgid "failed to allocate colour pair"
msgstr "non foi posíbel reservar un par de cores"

#: dselect/baselist.cc:167
msgid "failed to create title window"
msgstr "non foi posíbel crear a fiestra de título"

#: dselect/baselist.cc:171
msgid "failed to create whatinfo window"
msgstr "non foi posíbel crear a fiestra de whatinfo"

#: dselect/baselist.cc:175
msgid "failed to create baselist pad"
msgstr "non foi posíbel crear o panel de baselist"

#: dselect/baselist.cc:178
msgid "failed to create heading pad"
msgstr "non foi posíbel crear o panel de cabeceiras"

#: dselect/baselist.cc:182
msgid "failed to create thisstate pad"
msgstr "non foi posíbel crear o panel de estado"

#: dselect/baselist.cc:186
msgid "failed to create info pad"
msgstr "non foi posíbel crear o panel de información"

#: dselect/baselist.cc:191
msgid "failed to create query window"
msgstr "non foi posíbel crear a fiestra de consultas"

#: dselect/baselist.cc:255
msgid "Keybindings"
msgstr "Asignacións de teclas"

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

#: dselect/baselist.cc:306
#, c-format
msgid "%s for more"
msgstr "%s para máis"

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

#: dselect/bindings.cc:78
msgid "[not bound]"
msgstr "[sen asignar]"

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

#: dselect/bindings.cc:139
msgid "Scroll onwards through help/information"
msgstr "Avanzar pola axuda/información"

#: dselect/bindings.cc:140
msgid "Scroll backwards through help/information"
msgstr "Retroceder pola axuda/información"

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

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

#: dselect/bindings.cc:143
msgid "Go to top of list"
msgstr "Ir ao cumio da lista"

#: dselect/bindings.cc:144
msgid "Go to end of list"
msgstr "Ir ao final da lista"

#: dselect/bindings.cc:145
msgid "Request help (cycle through help screens)"
msgstr "Solicitar axuda (pasar polas pantallas de axuda)"

#: dselect/bindings.cc:146
msgid "Cycle through information displays"
msgstr "Pasar polas pantallas de información"

#: dselect/bindings.cc:147
msgid "Redraw display"
msgstr "Debuxar de novo a pantalla"

#: dselect/bindings.cc:148
msgid "Scroll onwards through list by 1 line"
msgstr "Avanzar 1 liña na lista"

#: dselect/bindings.cc:149
msgid "Scroll backwards through list by 1 line"
msgstr "Retroceder 1 liña na lista"

#: dselect/bindings.cc:150
msgid "Scroll onwards through help/information by 1 line"
msgstr "Avanzar 1 liña na axuda/información"

#: dselect/bindings.cc:151
msgid "Scroll backwards through help/information by 1 line"
msgstr "Retroceder 1 liña na axuda/información"

#: dselect/bindings.cc:152
msgid "Scroll onwards through list"
msgstr "Avanzar pola lista"

#: dselect/bindings.cc:153
msgid "Scroll backwards through list"
msgstr "Retroceder pola lista"

#: dselect/bindings.cc:156
msgid "Mark package(s) for installation"
msgstr "Marcar o(s) paquete(s) para o(s) instalar"

#: dselect/bindings.cc:157
msgid "Mark package(s) for deinstallation"
msgstr "Marcar o(s) paquete(s) para o(s) desinstalar"

#: dselect/bindings.cc:158
msgid "Mark package(s) for deinstall and purge"
msgstr "Marcar o(s) paquete(s) para o(s) desintalar e purgar"

#: dselect/bindings.cc:159
msgid "Make highlight more specific"
msgstr "Facer o realzado máis específico"

#: dselect/bindings.cc:160
msgid "Make highlight less specific"
msgstr "Facer o realzado menos específico"

#: dselect/bindings.cc:161
msgid "Search for a package whose name contains a string"
msgstr "Procurar un paquete cun nome que contén unha cadea"

#: dselect/bindings.cc:162
msgid "Repeat last search."
msgstr "Repetir a última procura."

#: dselect/bindings.cc:163
msgid "Swap sort order priority/section"
msgstr "Trocar a orde de prioridade/sección"

#: dselect/bindings.cc:164
msgid "Quit, confirming, and checking dependencies"
msgstr "Saír, confirmando e comprobando as dependencias"

#: dselect/bindings.cc:165
msgid "Quit, confirming without check"
msgstr "Saír, confirmando sen comprobar"

#: dselect/bindings.cc:166
msgid "Quit, rejecting conflict/dependency suggestions"
msgstr "Saír, rexeitando as suxestións de conflitos/dependencias"

#: dselect/bindings.cc:167
msgid "Abort - quit without making changes"
msgstr "Abortar - saír sen facer cambio ningún"

#: dselect/bindings.cc:168
msgid "Revert to old state for all packages"
msgstr "Voltar todos os paquetes ao estado antigo"

#: dselect/bindings.cc:169
msgid "Revert to suggested state for all packages"
msgstr "Voltar todos os paquetes ao estado suxerido"

#: dselect/bindings.cc:170
msgid "Revert to directly requested state for all packages"
msgstr "Voltar todos os paquetes ao estado solicitado directamente"

#: dselect/bindings.cc:171
msgid "Revert to currently installed state for all packages"
msgstr "Voltar todos os paquetes ao estado co que están instalados"

#: dselect/bindings.cc:174
msgid "Select currently-highlighted access method"
msgstr "Escoller o método de acceso realzado"

#: dselect/bindings.cc:175
msgid "Quit without changing selected access method"
msgstr "Saír sen trocar o método de acceso escollido"

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

#: dselect/helpmsgs.cc:29
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 ""
"Teclas de movemento: Seguinte/Anterior, Ini/Fin, Arriba/Abaixo, Atrás/"
"Adiante:\n"
"  Frecha-abaixo, j      Frecha-arriba, k        mover o realzado\n"
"  N, AvPáx, Espazo      P, RePáx, Retroceso     desprazar a lista 1 páxina\n"
"  ^n                    ^p                      desprazar a lista 1 liña\n"
"  t, Inicio             e, Fin                  saltar ao inicio/fin da "
"lista\n"
"  u                     d                       desprazar a información 1 "
"páx.\n"
"  ^u                    ^d                      desprazar a información 1 "
"liña\n"
"  B, Frecha-esquerda    F, Frecha-dereita       mover 1/3 de pantalla\n"
"  ^b                    ^f                      mover a pantalla 1 carácter\n"
"\n"
"Marcar paquetes para posterior procesamento:\n"
" +, Insert  instalar ou actualizar  =, H  reter no estado actual\n"
" -, Supr    eliminar                :, G  liberar: actualizar ou non "
"instalar\n"
" _          eliminar e purgar config\n"
"                                             Varios:\n"
"Saír, sobrescribir (ollo ás maiúsculas):      ?, F1 pedir axuda\n"
" Intro   Confirmar, saír (comprobar deps)     i, I  pantallas de "
"información\n"
"   Q     Confirmar, saír (ignorar deps)       o, O  opcións de ordeamento\n"
" X, Esc  Saír, abandonar os cambios           v, V  opcións da pant. de "
"estado\n"
"   R     Voltar ao estado anterior á lista     ^l   redebuxar pantalla\n"
"   U     Estabelecer todo ao estado suxerido     /   procurar (Intro para "
"cancel.)\n"
"   D     Establece o estado solicitado        n, \\\\  repetir a última "
"procura\n"

#: dselect/helpmsgs.cc:55
msgid "Introduction to package selections"
msgstr "Introdución ás escollas de paquetes"

#: 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 ""
"Benvido á lista principal de paquetes de dselect\n"
"\n"
"Háselle presentar unha lista de paquetes que están instalados ou "
"dispoñíbeis\n"
"para os instalar. Pode navegar pola lista empregando as frechas do cursor,\n"
"marcar paquetes para os instalar (empregando \"+\") ou para os desinstalar\n"
"(empregando \"-\"). Os paquetes pódense marcar un a un ou por grupos. Ao\n"
"principio ha ver que a liña \"Todos os paquetes\" está escollida. \"+\", \"-"
"\" e\n"
"todo iso han afectar a todos os paquetes descritos pola liña resaltada.\n"
"\n"
"Algunhas das súas accións han causar conflitos ou problemas de "
"dependencias;\n"
"háselle fornecer unha sub-lista cos paquetes relevantes para que poida\n"
"solucionar os problemas.\n"
"\n"
"Debería ler a lista de teclas e as explicacións da pantalla. Hai moita "
"axuda\n"
"en liña dispoñíbel, empréguea, prema \"?\" en calquera momento para ter "
"axuda.\n"
"\n"
"Cando remate de escoller os paquetes, prema <Intro> para confirmar as\n"
"modificacións, ou \"X\" para saír sen gardalas. Hase realizar unha "
"derradeira\n"
"comprobación de conflitos e dependencias, onde tamén ha ver unha sub-lista.\n"
"\n"
"Prema <Espazo> para saír da axuda e entrar agora na lista.\n"

#: dselect/helpmsgs.cc:80
msgid "Introduction to read-only package list browser"
msgstr "Introdución ao navegador da lista de paquetes de só lectura"

#: 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 ""
"Benvido á lista principal de paquetes de dselect\n"
"\n"
"Háselle presentar unha lista de paquetes que están instalados ou "
"dispoñíbeis\n"
"para os instalar. Como non ten privilexios dabondo para actualizar os "
"estados\n"
"dos paquetes, está nun modo de só lectura. Pode navegar pola lista "
"empregando\n"
"as frechas do cursor (consulte a pantalla de axuda \"Teclas\"), observar os "
"estados\n"
"dos paquetes e ler información sobre eles.\n"
"\n"
"Debería ler a lista de teclas e as explicacións da pantalla. Hai moita "
"axuda\n"
"en liña dispoñíbel, empréguea, prema \"?\" en calquera momento para ter "
"axuda.\n"
"\n"
"Cando remate de botar unha ollada, prema \"Q\" ou <Intro> para saír.\n"
"\n"
"Prema <Espazo> para saír da axuda e entrar agora na lista.\n"

#: dselect/helpmsgs.cc:99
msgid "Introduction to conflict/dependency resolution sub-list"
msgstr "Introdución á sublista de resolución de conflitos/dependencias"

#: 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 ""
"Resolución de dependencias e conflitos - introdución.\n"
"\n"
"Unha ou máis das súas escollas produciu un problema de dependencias ou\n"
"conflitos - algúns paquetes só se deben instalar en combinación con outros,\n"
"e algunhas combinacións de paquetes non se poden instalar.\n"
"\n"
"Ha ver unha sub-lista que contén os paquetes implicados. A metade inferior "
"da\n"
"pantalla mostra os conflitos e dependencias relevantes; empregue \"i\" para\n"
"pasar diso ás descricións dos paquetes e á información interna de control.\n"
"\n"
"Calculouse un conxunto de paquetes \"suxeridos\", e as marcas inicias desta\n"
"sub-lista xa se estabeleceron en consecuencia, así que pode simplemente "
"premer\n"
"Intro para aceptar as suxestións se quere. Pode abortar as modificacións "
"que\n"
"causaron o problema e voltar á lista principal premendo o \"X\" maiúsculo.\n"
"\n"
"Tamén se pode mover pola lista e trocar as marcas para que se asemellen "
"máis\n"
"ao que quere, e pode \"rexeitar\" as suxestións empregando as teclas \"D\" "
"ou \"R\"\n"
"maiúsculas (consulte a pantalla de axuda de teclas). Pode empregar o \"Q\" "
"maiúsculo\n"
"para forzar a aceptación da situación que se mostra, se quere ignorar unha\n"
"recomendación ou se pensa que o programa está equivocado.\n"
"\n"
"Prema <Espazo> para saír da axuda e entrar na sub-lista; prema \"?\" para "
"axuda.\n"

#: dselect/helpmsgs.cc:125
msgid "Display, part 1: package listing and status chars"
msgstr "Pantalla, parte 1: listado de paquetes e caracteres de estado"

#: dselect/helpmsgs.cc:125
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 ""
"A metade superior da pantalla mostra unha lista de paquetes. En cada "
"paquete\n"
"pode ver catro columnas para o seu estado actual no sistema e a marca. No "
"modo\n"
"abreviado (empregue \"v\" para trocar entre modo abreviado e expandido) hai\n"
"caracteres simples. Da esquerda á dereita:\n"
"\n"
" Erro: Espazo - ningún (pero o paquete pode estar roto, mire embaixo);\n"
"         \"R\"  - erro grave na instalación, hai que reinstalar;\n"
" Estado instalado: Espazo - sen instalar;\n"
"                     \"*\"  - instalado;\n"
"                     \"-\"  - sen instalar pero hai ficheiros de "
"configuración;\n"
"       os paquetes { \"U\"        - desempaquetado pero sen configurar;\n"
"    nestes estados { \"C\"        - medio configurado (houbo un erro);\n"
"     non están ben { \"I\"        - medio instalado (houbo un erro).\n"
"      instalados   { \"W\", \"t\" - hai desencadeantes a agardar respostas.\n"
" Marca antiga: o que se solicitou neste paquete antes de mostrar a lista;\n"
" Marca: o que se solicita para este paquete:\n"
"        \"*\": marcado para instalación ou actualización;\n"
"        \"-\": marcado para eliminación, pero conservando a configuración;\n"
"        \"=\": retido: o paquete non se procesa en absoluto;\n"
"        \"_\": marcado para purgado - tamén se elimina a configuración;\n"
"        \"n\": o paquete é novo e aínda non está marcado para instal./elim./"
"etc.\n"
"\n"
"Tamén se mostran, para cada paquete, a Prioridade, Sección, nome, versións\n"
"instalada e dispoñíbel (maiúsc-V para mostrar/agochar) e descrición "
"resumida.\n"

#: dselect/helpmsgs.cc:152
msgid "Display, part 2: list highlight; information display"
msgstr "Pantalla, parte 2: resaltado de listas; pantalla de información"

#: 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 ""
"* Resaltado: Hase resaltar unha liña da lista de paquetes. Indica que "
"paquetes\n"
"  han ser afectados ao premer \"+\", \"-\" e \"_\".\n"
"\n"
"* A liña divisora do medio da pantalla mostra unha breve descrición do "
"estado\n"
"  do paquete realzado, ou unha descrición do grupo realzado se está\n"
"  realzada unha liña de grupo. Se non entende o significado de algún dos\n"
"  caracteres de estado que se mostran, vaia ao paquete relevante e mire "
"esta\n"
"  liña divisora, ou empregue a tecla \"v\" para ter unha pantalla completa\n"
"  (volva premer \"v\" para voltar ao modo abreviado).\n"
"\n"
"* A parte de embaixo da pantalla mostra máis información acerca do paquete\n"
"  resaltado (se só hai un).\n"
"\n"
"  Pode mostrar unha descrición extendida do paquete, os detalles internos "
"de\n"
"  control do paquete (da versión instalada do paquete ou da dispoñíbel) ou\n"
"  información acerca de conflitos e dependencias que implican o paquete "
"actual\n"
"  (en sub-listas de resolución de conflitos e dependencias).\n"
"\n"
"  Empregue a tecla \"i\" para pasar polas pantalla, e \"I\" para agochar a "
"pantalla\n"
"  de información ou para a expandir para que empregue case toda a pantalla.\n"

#: dselect/helpmsgs.cc:176
msgid "Introduction to method selection display"
msgstr "Introdución á pantalla de selección de métodos"

#: 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 e dpkg poden facer instalación automática, cargando os ficheiros "
"cos\n"
"paquetes a instalar de varios sitios diferentes.\n"
"\n"
"Esta lista permítelle escoller un deses métodos de instalación.\n"
"\n"
"Mova o realzado ao método que quere empregar e prema Intro. Háselle pedir\n"
"a información que se precise para facer a instalación.\n"
"\n"
"Ao mover o realzado parece unha descrición de cada método, cando a hai,\n"
"na metade inferior da pantalla.\n"
"\n"
"Se quere saír sen trocar nada empregue a tecla \"x\" na lista de métodos\n"
"de instalación.\n"
"\n"
"Hai unha lista completa de teclas dispoñíbel para a ver premendo \"k\" "
"agora,\n"
"ou no menú de axuda que se pode ver premendo \"?\".\n"

#: dselect/helpmsgs.cc:196
msgid "Keystrokes for method selection"
msgstr "Teclas para a escolla de métodos"

#: dselect/helpmsgs.cc:196
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 ""
"Teclas de movemento: Seguinte/Anterior, Ini/Fin, Arriba/Abaixo, Atrás/"
"Adiante:\n"
"  Frecha-abaixo, j      Frecha-arriba, k        mover o realzado\n"
"  N, AvPáx, Espazo      P, RePáx, Retroceso     desprazar a lista 1 páxina\n"
"  ^n                    ^p                      desprazar a lista 1 liña\n"
"  t, Inicio             e, Fin                  saltar ao inicio/fin da "
"lista\n"
"  u                     d                       desprazar a información 1 "
"páx.\n"
"  ^u                    ^d                      desprazar a información 1 "
"liña\n"
"  B, Frecha-esquerda    F, Frecha-dereita       mover 1/3 de pantalla\n"
"  ^b                    ^f                      mover a pantalla 1 carácter\n"
"(Son as mesmas teclas de movemento que na pantalla de lista de paquetes).\n"
"\n"
"Saír:\n"
" Intro   escoller este método e ir ao seu diálogo de configuración\n"
" x, X    saír sen trocar ou configurar o método de instalación\n"
"\n"
"Varios:\n"
"  ?, Axuda, F1    pedir axuda\n"
" ^l               volver debuxar a pantalla\n"
"  /               procurar (prema só Intro para cancelar)\n"
"  \\               repetir a última procura\n"

#: dselect/main.cc:60
msgid "Type dselect --help for help."
msgstr "Escriba dselect --help para obter axuda."

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

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

#: dselect/main.cc:143
msgid "Choose the access method to use."
msgstr "Escolle o método de acceso a empregar."

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

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

#: dselect/main.cc:144
msgid "Update list of available packages, if possible."
msgstr "Actualiza a lista de paquetes dispoñíbeis, se é posíbel."

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

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

#: dselect/main.cc:145
msgid "Request which packages you want on your system."
msgstr "Escolle os paquetes que se queren no sistema."

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

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

#: dselect/main.cc:146
msgid "Install and upgrade wanted packages."
msgstr "Instala e actualiza os paquetes solicitados."

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

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

#: dselect/main.cc:147
msgid "Configure any packages that are unconfigured."
msgstr "Configura os paquetes que non estean configurados."

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

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

#: dselect/main.cc:148
msgid "Remove unwanted software."
msgstr "Elimina o software non desexado."

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

#: dselect/main.cc:149
msgid "[Q]uit"
msgstr "[S]aír"

#: dselect/main.cc:149
msgid "Quit dselect."
msgstr "Sae de dselect."

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

#: dselect/main.cc:155
#, c-format
msgid "Debian `%s' package handling frontend version %s.\n"
msgstr "Interface de xestión de paquetes \"%s\" de Debian versión %s.\n"

#: dselect/main.cc:158
msgid ""
"Copyright (C) 1994-1996 Ian Jackson.\n"
"Copyright (C) 2000,2001 Wichert Akkerman.\n"
msgstr ""
"Copyright (C) 1994-1996 Ian Jackson.\n"
"Copyright (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 ""
"Este é software libre. Consulte a Licencia Pública Xeral de GNU (GNU GPL) "
"versión\n"
"2 ou unha posterior para coñecer as condicións de copia. NON hai garantía.\n"
"Consulte %s --license para os detalles de copyright e licenza.\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 ""
"Emprego: %s [<opción> ...] [<acción> ...]\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 ""
"Opcións:\n"
"  --admindir <directorio>    Emprega o <directorio> no canto de %s.\n"
"  --expert                   Activa o modo experto.\n"
"  --debug <fich> | -D<fich>  Activa a depuración, gada a saída no "
"<fich>eiro.\n"
"  --colour | --color parte:[texto],[fondo][:atrib[+atrib+...]]\n"
"                             Configura as cores da pantalla.\n"
"\n"

#: dselect/main.cc:196
#, fuzzy, c-format
msgid ""
"  --help                     Show this help message.\n"
"  --version                  Show the version.\n"
"\n"
msgstr ""
"  --help                     Mostra esta mensaxe de axuda.\n"
"  --version                  Mostra a versión.\n"
"  --license                  Mostra a licenza.\n"
"\n"

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

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

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

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

#: dselect/main.cc:233
#, c-format
msgid "couldn't open debug file `%.255s'\n"
msgstr "non foi posíbel abrir o ficheiro de depuración \"%.255s\"\n"

#: dselect/main.cc:253
#, c-format
msgid "Invalid %s `%s'\n"
msgstr "%s \"%s\" non válido\n"

#: dselect/main.cc:270
msgid "screen part"
msgstr "parte da pantalla"

#: dselect/main.cc:276
msgid "Null colour specification\n"
msgstr "Especificación de cores nula\n"

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

#: dselect/main.cc:297
msgid "colour attribute"
msgstr "atributo de cores"

#: dselect/main.cc:329
msgid "Terminal does not appear to support cursor addressing.\n"
msgstr "Semella que o terminal non soporta localización do cursor.\n"

#: dselect/main.cc:331
msgid "Terminal does not appear to support highlighting.\n"
msgstr "Semella que o terminal non soporta realzado.\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 ""
"Estabeleza correctamente a variábel TERM, empregue un terminal mellor\n"
"ou empregue a ferramenta de xestión paquete a paquete %s.\n"

#: dselect/main.cc:336
msgid "terminal lacks necessary features, giving up"
msgstr "o terminal non ten características necesarias; sáese"

#: 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"
"Móvase con ^P e ^N, as frechas do cursor, letras iniciais ou números;\n"
"Prema <intro> para confirmar a escolla. ^L volve debuxar a pantalla.\n"

#: dselect/main.cc:428
msgid ""
"\n"
"\n"
"Read-only access: only preview of selections is available!"
msgstr ""
"\n"
"\n"
"Acceso de só lectura: só está dispoñíbel a antevisión das escollas."

#: dselect/main.cc:448
msgid "failed to getch in main menu"
msgstr "non foi posíbel chamar a getch no menú principal"

#: dselect/main.cc:531
#, c-format
msgid "unknown action string `%.50s'"
msgstr "cadea de acción \"%.50s\" descoñecida"

#: dselect/methlist.cc:77
msgid "dselect - list of access methods"
msgstr "dselect - lista de métodos de acceso"

#: dselect/methlist.cc:86
#, c-format
msgid "Access method `%s'."
msgstr "Método de acceso \"%s\"."

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

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

#: dselect/methlist.cc:164 dselect/pkglist.cc:572
msgid "doupdate failed"
msgstr "a chamada a doupdate fallou"

#: dselect/methlist.cc:166 dselect/pkglist.cc:575
msgid "failed to unblock SIGWINCH"
msgstr "non foi posíbel desbloquear SIGWINCH"

#: dselect/methlist.cc:170 dselect/pkglist.cc:580
msgid "failed to re-block SIGWINCH"
msgstr "non foi posíbel volver bloquear SIGWINCH"

#: dselect/methlist.cc:171 dselect/pkglist.cc:582
msgid "getch failed"
msgstr "a chamada a getch fallou"

#: dselect/methlist.cc:188
msgid "Explanation"
msgstr "Explicación"

#: dselect/methlist.cc:197
msgid "No explanation available."
msgstr "Non hai nengunha explicación dispoñíbel."

#: 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"
"Prema <intro> para continuar."

#: dselect/method.cc:161
#, c-format
msgid "Press <enter> to continue.\n"
msgstr "Prema <intro> para continuar.\n"

#: dselect/method.cc:162
#, fuzzy
msgid "<standard error>"
msgstr "erro de escritura no erro estándar"

#: dselect/method.cc:165
msgid "error reading acknowledgement of program failure message"
msgstr ""
"erro ao ler o xustificante de recepción da mensaxe de fallo do programa"

#: dselect/method.cc:196
msgid "update available list script"
msgstr "script de actualización da lista de dispoñíbeis"

#: dselect/method.cc:200
msgid "installation script"
msgstr "script de instalación"

#: dselect/method.cc:246
msgid "query/setup script"
msgstr "script de consulta/configuración"

#: dselect/methparse.cc:53
#, c-format
msgid "syntax error in method options file `%.250s' -- %s"
msgstr "erro de sintaxe no ficheiro de opcións do método \"%.250s\" -- %s"

#: dselect/methparse.cc:59
#, c-format
msgid "error reading options file `%.250s'"
msgstr "erro ao ler o ficheiro de opcións \"%.250s\""

#: dselect/methparse.cc:90
#, c-format
msgid "unable to read `%.250s' directory for reading methods"
msgstr "non foi posíbel ler o directorio \"%.250s\" para ler os métodos"

#: dselect/methparse.cc:106
#, c-format
msgid "method `%.250s' has name that is too long (%d > %d characters)"
msgstr "o método \"%.250s\" ten un nome longo de máis (%d > %d caracteres)"

#: dselect/methparse.cc:117
#, c-format
msgid "unable to access method script `%.250s'"
msgstr "non foi posíbel acceder ao script de método \"%.250s\""

#: dselect/methparse.cc:123
#, c-format
msgid "unable to read method options file `%.250s'"
msgstr "non foi posíbel ler o ficheiro de opcións do método \"%.250s\""

#: dselect/methparse.cc:147
msgid "non-digit where digit wanted"
msgstr "algo distinto dun díxito onde se esperaba un"

#: dselect/methparse.cc:150
msgid "EOF in index string"
msgstr "fin de ficheiro na cadea de índice"

#: dselect/methparse.cc:153
msgid "index string too long"
msgstr "cadea de índice longa de máis"

#: dselect/methparse.cc:156
msgid "newline before option name start"
msgstr "salto de liña antes do comezo do nome da opción"

#: dselect/methparse.cc:158
msgid "EOF before option name start"
msgstr "fin de ficheiro antes do comezo do nome da opción"

#: dselect/methparse.cc:162
msgid "nonalpha where option name start wanted"
msgstr "carácter non alfanumérico onde se agardaba o comezo do nome da opción"

#: dselect/methparse.cc:164
msgid "non-alphanum in option name"
msgstr "carácter non alfanumérico no nome da opción"

#: dselect/methparse.cc:167
msgid "EOF in option name"
msgstr "fin de ficheiro no nome da opción"

#: dselect/methparse.cc:172
msgid "newline before summary"
msgstr "salto de liña antes do resumo"

#: dselect/methparse.cc:174
msgid "EOF before summary"
msgstr "fin de ficheiro antes do resumo"

#: dselect/methparse.cc:180
msgid "EOF in summary - missing newline"
msgstr "fin de ficheiro no resumo - falla un salto de liña"

#: dselect/methparse.cc:190
#, c-format
msgid "unable to open option description file `%.250s'"
msgstr "non foi posíbel abrir o ficheiro de descrición da opción \"%.250s\""

#: dselect/methparse.cc:194
#, c-format
msgid "unable to stat option description file `%.250s'"
msgstr "non se atopa o ficheiro de descrición da opción \"%.250s\""

#: dselect/methparse.cc:198
#, c-format
msgid "failed to read option description file `%.250s'"
msgstr "non foi posíbel ler o ficheiro de descrición da opción \"%.250s\""

#: dselect/methparse.cc:201
#, c-format
msgid "error during read of option description file `%.250s'"
msgstr "erro na lectura do ficheiro de descrición da opción \"%.255s\""

#: dselect/methparse.cc:224
#, c-format
msgid "error during read of method options file `%.250s'"
msgstr "erro na lectura do ficheiro de opcións do método \"%.250s\""

#: dselect/methparse.cc:247
#, c-format
msgid "unable to open current option file `%.250s'"
msgstr "non foi posíbel abrir o ficheiro de opcións actual \"%.250s\""

#: dselect/methparse.cc:289
#, c-format
msgid "unable to open new option file `%.250s'"
msgstr "non foi posíbel abrir o novo ficheiro de opcións \"%.250s\""

#: dselect/methparse.cc:292
#, c-format
msgid "unable to write new option to `%.250s'"
msgstr "non foi posíbel gardar a nova opción en \"%.250s\""

#: dselect/methparse.cc:295
#, c-format
msgid "unable to close new option file `%.250s'"
msgstr "non foi posíbel pechar o novo ficheiro de opcións \"%.250s\""

#: dselect/methparse.cc:297
#, c-format
msgid "unable to install new option as `%.250s'"
msgstr "non foi posíbel instalar a nova opción coma \"%.250s\""

#: dselect/pkgdisplay.cc:36
msgid "new package"
msgstr "novo paquete"

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

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

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

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

#. 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 "REINSTALAR"

#: dselect/pkgdisplay.cc:51
msgid "not installed"
msgstr "sen instalar"

#: dselect/pkgdisplay.cc:52
msgid "removed (configs remain)"
msgstr "eliminado (queda config)"

#: dselect/pkgdisplay.cc:53
msgid "half installed"
msgstr "medio instalado"

#: dselect/pkgdisplay.cc:54
msgid "unpacked (not set up)"
msgstr "desempaquetado (sen configurar)"

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

#: dselect/pkgdisplay.cc:56
msgid "awaiting trigger processing"
msgstr "a agardar que se procese o desencadeante"

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

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

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

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

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

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

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

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

#: dselect/pkgdisplay.cc:67
msgid "Unclassified"
msgstr "Sen clasificar"

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

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

#: dselect/pkgdisplay.cc:72
msgid "depends on"
msgstr "depende de"

#: dselect/pkgdisplay.cc:73
msgid "pre-depends on"
msgstr "pre-depende de"

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

#: dselect/pkgdisplay.cc:75
msgid "conflicts with"
msgstr "ten conflitos con"

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

#: dselect/pkgdisplay.cc:77
msgid "replaces"
msgstr "substitúe a"

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

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

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

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

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

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

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

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

#: dselect/pkgdisplay.cc:98
msgid "Obsolete/local"
msgstr "Obsoletos/locais"

#: dselect/pkgdisplay.cc:99
msgid "Up-to-date"
msgstr "Ao día"

#: dselect/pkgdisplay.cc:100
msgid "Available"
msgstr "Dispoñíbeis"

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

#: dselect/pkgdisplay.cc:102 dselect/pkgdisplay.cc:111
msgid "Brokenly installed packages"
msgstr "Paquetes instalados pero rotos"

#: dselect/pkgdisplay.cc:103
msgid "Newly available packages"
msgstr "Paquetes dispoñíbeis novos"

#: dselect/pkgdisplay.cc:104
msgid "Updated packages (newer version is available)"
msgstr "Paquetes actualizados (hai unha nova versión dispoñíbel)"

#: dselect/pkgdisplay.cc:105
msgid "Obsolete and local packages present on system"
msgstr "Paquetes obsoletos e locais presentes no sistema"

#: dselect/pkgdisplay.cc:106
msgid "Up to date installed packages"
msgstr "Paquetes instalados e ao día"

#: dselect/pkgdisplay.cc:107
msgid "Available packages (not currently installed)"
msgstr "Paquetes dispoñíbeis (sen instalar)"

#: dselect/pkgdisplay.cc:108
msgid "Removed and no longer available packages"
msgstr "Paquetes eliminados e que xa non están dispoñíbeis"

#: dselect/pkgdisplay.cc:112
msgid "Installed packages"
msgstr "Paquetes instalados"

#: dselect/pkgdisplay.cc:113
msgid "Removed packages (configuration still present)"
msgstr "Paquetes eliminados (aínda está presente a configuración)"

#: dselect/pkgdisplay.cc:114
msgid "Purged packages and those never installed"
msgstr "Paquetes purgados e non instalados nunca"

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

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

#: dselect/pkgdisplay.cc:198
msgid "dselect - recursive package listing"
msgstr "dselect - lista recursiva de paquetes"

#: dselect/pkgdisplay.cc:199
msgid "dselect - inspection of package states"
msgstr "dselect - inspección dos estados dos paquetes"

#: dselect/pkgdisplay.cc:200
msgid "dselect - main package listing"
msgstr "dselect - lista principal de paquetes"

#: dselect/pkgdisplay.cc:208
msgid " (by section)"
msgstr " (por sección)"

#: dselect/pkgdisplay.cc:211
msgid " (avail., section)"
msgstr " (dispo., sección)"

#: dselect/pkgdisplay.cc:214
msgid " (status, section)"
msgstr " (estado, sección)"

#: dselect/pkgdisplay.cc:223
msgid " (by priority)"
msgstr " (por prioridade)"

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

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

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

#: dselect/pkgdisplay.cc:241
msgid " (by availability)"
msgstr " (por dispoñibilidade)"

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

#: dselect/pkgdisplay.cc:258
msgid " mark:+/=/- terse:v help:?"
msgstr " marcar:+/=/- breve:v axuda:?"

#: dselect/pkgdisplay.cc:259
msgid " mark:+/=/- verbose:v help:?"
msgstr " marcar:+/=/- expandido:v axuda:?"

#: dselect/pkgdisplay.cc:260
msgid " terse:v help:?"
msgstr " breve:v axuda:?"

#: dselect/pkgdisplay.cc:261
msgid " verbose:v help:?"
msgstr " expandido:v axuda:?"

#: 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 ""
"A liña que realzou representa varios paquetes; se solicita instalala, "
"eliminala, retela, etc., vai afectar a todos os paquetes que casan co "
"criterio que se amosa.\n"
"\n"
"Se despraza o realzado a unha liña dun paquete concreto ha ver mostrada aquí "
"a información dese paquete.\n"
"Pode empregar \"o\" e \"O\" para trocar a orde e para ter a posibilidade de "
"marcar paquetes de distintos tipos de grupos."

#: dselect/pkginfo.cc:93
msgid "Interrelationships"
msgstr "Interrelacións"

#: dselect/pkginfo.cc:112
msgid "No description available."
msgstr "Non hai nengunha descrición dispoñíbel."

#: dselect/pkginfo.cc:130
msgid "Installed control file information"
msgstr "Información do ficheiro de control instalado"

#: dselect/pkginfo.cc:146
msgid "Available control file information"
msgstr "Versión dispoñíbel da información do ficheiro de control"

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

#: dselect/pkglist.cc:507
msgid "invalid search option given"
msgstr "forneceuse unha opción de procura non válida"

#: dselect/pkglist.cc:521
msgid "error in regular expression"
msgstr "erro na expresión regular"

#: dselect/pkgsublist.cc:107
msgid " does not appear to be available\n"
msgstr " non semella que estea dispoñíbel\n"

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

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

#: dselect/pkgtop.cc:79
msgid "All packages"
msgstr "Todos os paquetes"

#: dselect/pkgtop.cc:83
#, c-format
msgid "%s packages without a section"
msgstr "%s paquetes sen sección"

#: dselect/pkgtop.cc:85
#, c-format
msgid "%s packages in section %s"
msgstr "%s paquetes na sección %s"

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

#: dselect/pkgtop.cc:95
#, c-format
msgid "%s %s packages without a section"
msgstr "%s paquetes %s sen sección"

#: dselect/pkgtop.cc:97
#, c-format
msgid "%s %s packages in section %s"
msgstr "%s paquetes %s na sección %s"

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

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

#: dselect/pkgtop.cc:267
msgid "Installed?"
msgstr "Está instalado?"

#: dselect/pkgtop.cc:271
msgid "Old mark"
msgstr "Marca antiga"

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

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

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

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

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

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

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

#~ msgid "returned error exit status %d.\n"
#~ msgstr "devolveu o estado de saída de erro %d.\n"

#~ msgid "was interrupted.\n"
#~ msgstr "quedou interrumpido.\n"

#~ msgid "was terminated by a signal: %s.\n"
#~ msgstr "rematou por un sinal: %s.\n"

#~ msgid "(It left a coredump.)\n"
#~ msgstr "(Deixou un envorcado de memoria).\n"

#~ msgid "failed with an unknown wait return code %d.\n"
#~ msgstr "fallou cun código de estado de espera %d descoñecido.\n"

#~ msgid "unable to run %.250s process `%.250s'"
#~ msgstr "non se pode executar o proceso de %.250s \"%.250s\""

#~ msgid "failed config"
#~ msgstr "fallou a configuración"

#~ msgid "unable to wait for %.250s"
#~ msgstr "non se pode agardar por %.250s"

#~ msgid "got wrong child's status - asked for %ld, got %ld"
#~ msgstr "recibiuse o estado do fillo incorrecto - pediuse %ld, recibiuse %ld"

#~ msgid "Recommended"
#~ msgstr "Recomendado"

#~ 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 ""
#~ "baselist::startdisplay() rematado ...\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 "[ningún]"

#~ msgid "error un-catching signal %d: %s\n"
#~ msgstr "erro ao des-capturar o sinal %d: %s\n"

#~ msgid "unable to ignore signal %d before running %.250s"
#~ msgstr "non se pode ignorar o sinal %d antes de executar %.250s"

#~ msgid "(no clientdata)"
#~ msgstr "(non hai datos do cliente)"

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