# dselect messages translation for Debian
# 	Mensajes en español para Debian dselect.
#
# Copyright © 1999-2010 Software in the Public Interest.
# This file is distributed under the same license as the dpkg package.
#
#
#   - Translation maintainer:
#     Javier Fernández-Sanguino Peña <jfs@computer.org>, 2000, 2010
#
#   - Previous translators and reviewers:
#     	Nicolás Lichtmaier <nick@debian.org>, 1999.
#     	Tinguaro Barreno Delgado <tbarreno@debian.org>, 1999.
# 	Tomás Bautista <bautista@cma.ulpgc.es>, 2000.
#        Santiago Vila <sanvila@debian.org>, 2000, 2001, 2004.
#
#
#   Traductores, si no conoce el formato PO, merece la pena leer la 
#   documentación de gettext, especialmente las secciones dedicadas a este
#   formato, por ejemplo ejecutando:
#          info -n '(gettext)PO Files'
#          info -n '(gettext)Header Entry'
#
#  Equipo de traducción al español, por favor lean antes de traducir
#  los siguientes documentos:
#
#  - El proyecto de traducción de Debian al español
#    http://www.debian.org/intl/spanish/
#    especialmente las notas y normas de traducción en
#    http://www.debian.org/intl/spanish/notas
#
#  - La guía de traducción de po's de debconf:
#    /usr/share/doc/po-debconf/README-trans
#    o http://www.debian.org/intl/l10n/po-debconf/README-trans
#
#  Si tiene dudas o consultas sobre esta traducción consulte con el último
#  traductor (campo Last-Translator) y ponga en copia a la lista de
#  traducción de Debian al español (<debian-l10n-spanish@lists.debian.org>)
#
msgid ""
msgstr ""
"Project-Id-Version: Debian dpkg 1.16\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
"POT-Creation-Date: 2011-10-14 07:11+0200\n"
"PO-Revision-Date: 2010-12-20 03:10+0100\n"
"Last-Translator: Javier Fernández-Sanguino <jfs@debian.org>\n"
"Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"X-POFile-SpellExtra: disp Ian Jackson help Mayús sobreescribir Req\n"
"X-POFile-SpellExtra: rebloquear TIOCGWINSZ SIGWINCH doupdate Re Est\n"
"X-POFile-SpellExtra: primerplano predepende EIOM select Wichert getch quit\n"
"X-POFile-SpellExtra: TERM Return sub expert Ociones sUgerido admindir\n"
"X-POFile-SpellExtra: thisstate bICHO access Abrev baselist pad redibuja\n"
"X-POFile-SpellExtra: whatinfo Opc eleccionar config available core stat\n"
"X-POFile-SpellExtra: atrb ctualizar Ext version update esinstalar\n"
"X-POFile-SpellExtra: screenpart ioctl eXit EOF sa dpkg desc info\n"
"X-POFile-SpellExtra: segundoplano Imp colour script Akkerman remove Intro\n"
"X-POFile-SpellExtra: install Av debug inst onfigurar dselect heading\n"
"X-POFile-SpellExtra: Redibuja\n"

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

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

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

#: dselect/basecmds.cc:184
msgid "Press ? for help menu, . for next topic, <space> to exit help."
msgstr "Pulse ? para el menú, . para el tema siguiente, <intro> para salir."

#: dselect/basecmds.cc:191
msgid "Help information is available under the following topics:"
msgstr "La información de ayuda está disponible bajo los siguientes 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 ""
"Pulse una tecla de la lista anterior, <intro>, `q' o `Q' para salir de la "
"ayuda,\n"
" o `.' (punto) para leer cada una de las páginas de ayuda. "

#: dselect/basecmds.cc:205
msgid "error reading keyboard in help"
msgstr "error al leer del teclado en la ayuda"

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

#: dselect/baselist.cc:60
msgid "doupdate in SIGWINCH handler failed"
msgstr "falló el `doupdate' en el manejador de SIGWINCH"

#: dselect/baselist.cc:67
msgid "failed to restore old SIGWINCH sigact"
msgstr "fallo al restablecer la señal antigua SIGWINCH"

#: dselect/baselist.cc:69
msgid "failed to restore old signal mask"
msgstr "fallo al restablecer la máscara de señal antigua"

#: dselect/baselist.cc:79
msgid "failed to get old signal mask"
msgstr "fallo al obtener la máscara de señal antigua"

#: dselect/baselist.cc:80
msgid "failed to get old SIGWINCH sigact"
msgstr "fallo al obtener la señal SIGWINCH antigua"

#: dselect/baselist.cc:84
msgid "failed to block SIGWINCH"
msgstr "fallo al bloquear SIGWINCH"

#: dselect/baselist.cc:89
msgid "failed to set new SIGWINCH sigact"
msgstr "fallo al establecer la nueva señal SIGWINCH"

#: dselect/baselist.cc:126
msgid "failed to allocate colour pair"
msgstr "fallo al asignar un par de colores"

#: dselect/baselist.cc:167
msgid "failed to create title window"
msgstr "fallo al crear ventana de título"

#: dselect/baselist.cc:171
msgid "failed to create whatinfo window"
msgstr "fallo al crear ventana de `whatinfo'"

#: dselect/baselist.cc:175
msgid "failed to create baselist pad"
msgstr "fallo al crear `baselist pad'"

#: dselect/baselist.cc:178
msgid "failed to create heading pad"
msgstr "fallo al crear `heading pad'"

#: dselect/baselist.cc:182
msgid "failed to create thisstate pad"
msgstr "fallo al crear `thisstate pad'"

#: dselect/baselist.cc:186
msgid "failed to create info pad"
msgstr "fallo al crear `info pad'"

#: dselect/baselist.cc:191
msgid "failed to create query window"
msgstr "fallo al crear ventana de pregunta"

#: dselect/baselist.cc:255
msgid "Keybindings"
msgstr "Asociaciones de teclas"

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

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

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

#: dselect/bindings.cc:78
msgid "[not bound]"
msgstr "[no asociada]"

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

#: dselect/bindings.cc:139
msgid "Scroll onwards through help/information"
msgstr "Avanza a través de la ayuda/información"

#: dselect/bindings.cc:140
msgid "Scroll backwards through help/information"
msgstr "Retrocede a través de la ayuda/información"

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

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

#: dselect/bindings.cc:143
msgid "Go to top of list"
msgstr "Ir al principio de la lista"

#: dselect/bindings.cc:144
msgid "Go to end of list"
msgstr "Ir al final de la lista"

#: dselect/bindings.cc:145
msgid "Request help (cycle through help screens)"
msgstr "Solicitar ayuda (evoluciona a través de las páginas de ayuda)"

#: dselect/bindings.cc:146
msgid "Cycle through information displays"
msgstr "Evoluciona a través de las pantallas de información"

#: dselect/bindings.cc:147
msgid "Redraw display"
msgstr "Redibuja la pantalla"

#: dselect/bindings.cc:148
msgid "Scroll onwards through list by 1 line"
msgstr "Avanza a través de la lista en 1 línea"

#: dselect/bindings.cc:149
msgid "Scroll backwards through list by 1 line"
msgstr "Retrocede a través de la lista en 1 línea"

#: dselect/bindings.cc:150
msgid "Scroll onwards through help/information by 1 line"
msgstr "Avanza a través de la ayuda/información en 1 línea"

#: dselect/bindings.cc:151
msgid "Scroll backwards through help/information by 1 line"
msgstr "Retrocede a través de la ayuda/información en 1 línea"

#: dselect/bindings.cc:152
msgid "Scroll onwards through list"
msgstr "Avanza a través de la lista"

#: dselect/bindings.cc:153
msgid "Scroll backwards through list"
msgstr "Retrocede a través de la lista"

#: dselect/bindings.cc:156
msgid "Mark package(s) for installation"
msgstr "Marca el/los paquete(s) para instalación"

#: dselect/bindings.cc:157
msgid "Mark package(s) for deinstallation"
msgstr "Marca el/los paquete(s) para desinstalación"

#: dselect/bindings.cc:158
msgid "Mark package(s) for deinstall and purge"
msgstr "Marca el/los paquete(s) para desinstalar y purgar"

#: dselect/bindings.cc:159
msgid "Make highlight more specific"
msgstr "Hace el realce más específico"

#: dselect/bindings.cc:160
msgid "Make highlight less specific"
msgstr "Hace el realce menos específico"

#: dselect/bindings.cc:161
msgid "Search for a package whose name contains a string"
msgstr "Busca un paquete cuyo nombre contenga una cadena"

#: dselect/bindings.cc:162
msgid "Repeat last search."
msgstr "Repite la última búsqueda"

#: dselect/bindings.cc:163
msgid "Swap sort order priority/section"
msgstr "Intercambia el mecanismo de ordenación prioridad/sección"

#: dselect/bindings.cc:164
msgid "Quit, confirming, and checking dependencies"
msgstr "Salir, confirmando y comprobando dependencias"

#: dselect/bindings.cc:165
msgid "Quit, confirming without check"
msgstr "Salir, confirmando y sin comprobar dependencias"

#: dselect/bindings.cc:166
msgid "Quit, rejecting conflict/dependency suggestions"
msgstr "Salir, rechazando las sugerencias de conflictos/dependencias"

#: dselect/bindings.cc:167
msgid "Abort - quit without making changes"
msgstr "Abortar - salir sin hacer ningún cambio"

#: dselect/bindings.cc:168
msgid "Revert to old state for all packages"
msgstr "Poner el estado antiguo para todos los paquetes"

#: dselect/bindings.cc:169
msgid "Revert to suggested state for all packages"
msgstr "Poner el estado sugerido para todos los paquetes"

#: dselect/bindings.cc:170
msgid "Revert to directly requested state for all packages"
msgstr "Poner el estado directamente solicitado para todos los paquetes"

#: dselect/bindings.cc:171
msgid "Revert to currently installed state for all packages"
msgstr "Poner el estado actualmente instalado para todos los paquetes"

#: dselect/bindings.cc:174
msgid "Select currently-highlighted access method"
msgstr "Selecciona el método de acceso actualmente destacado"

#: dselect/bindings.cc:175
msgid "Quit without changing selected access method"
msgstr "Salir sin cambiar el método de acceso seleccionado"

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

#: 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 movimiento: Re Pág/Av Pág, Inicio/Fin,\n"
"                      Hacia adelante/hacia atrás:\n"
" j, Flecha abajo      k, Flecha arriba,      mueve lo destacado\n"
" N, Página abajo, Espacio \n"
"               P, página arriba, retroceder   desplaza la lista 1 página\n"
" ^n                     ^p                    desplaza la lista 1 línea\n"
" t, Inicio              e, Fin                salta al inicio/fin de la "
"lista\n"
" u                      d                     desplaza la información 1 "
"página\n"
" ^u                     ^d                    desplaza la información 1 "
"línea\n"
" B, flecha izquierda    F, flecha derecha     desplaza la visualización 1/3\n"
"                                                de la pantalla\n"
" ^b                     ^f                    desplaza la visualización 1\n"
"                                                carácter\n"
"Marcar los paquetes para procesar posteriormente:\n"
" +, Insert   instalar o actualizar   =, H   mantener en el estado actual\n"
" -, Supr     desinstalar             :, G   no mantener: actualizar o dejar "
"sin instalar\n"
" _           desinstalar y eliminar la configuración\n"
"                                          Varias:\n"
"Dejar, salir, sobreescribir (¡observe las mayúsculas!)\n"
"                                          ?, F1 solicita ayuda (también "
"Ayuda)\n"
" Intro    Confirma, deja (se verifican dependencias)\n"
"                                          i, I  se muestra/no se muestra "
"información\n"
"  Q      Confirma, deja (no se verifican dependencias)\n"
"                                          o, O  circula por la opciones de "
"ordenación\n"
"  X, Esc  sale, (eXit), abandonando cualquier cambio realizado\n"
"                                          v, V  cambia las opciones de la "
"muestra de estado\n"
"  R      Establece el estado antes de esta lista\n"
"                                          ^l    refresca la visualización\n"
"  U      lo pone todo al estado sUgerido   /   busca  (Intro para cancelar)\n"
"  D      lo pone todo al estado Directamente solicitado\n"
"                                           n, \\  repite la última búsqueda\n"

#: dselect/helpmsgs.cc:55
msgid "Introduction to package selections"
msgstr "Introducción a la selección 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 ""
"Bienvenido al listado de paquetes principal de dselect.\n"
"\n"
"Se le presentará una lista de paquetes que están instalados o disponibles\n"
"para ser instalados. Puede navegar por la lista usando las teclas del "
"cursor,\n"
"marcar los paquetes para instalarlos (utilizando `+') o desinstalarlos\n"
"(utilizando `-). Los paquetes se pueden marcar por separado o por grupos:\n"
"inicialmente verá que la línea `Todos los paquetes' está seleccionada.\n"
"`+', `-' y demás afectará a todos los paquetes descritos con la línea\n"
"resaltada.\n"
"\n"
"Algunas de sus elecciones causarán conflictos o problemas de dependencias;\n"
"en tal caso se le dará una sublista de los paquetes relevantes para que\n"
"pueda solucionar los problemas.\n"
"\n"
"Debería leer la lista de teclas y las explicaciones de la pantalla. Hay\n"
"ayuda en línea abundante, utilícela, pulse `?' en cualquier momento\n"
"para obtener ayuda.\n"
"\n"
"Cuando haya terminado de seleccionar paquetes, pulso <intro> para confirmar\n"
"los cambios, o `X' para salir sin guardar los cambios. Se efectuará una\n"
"comprobación final de los conflictos y dependencias, aquí también puede\n"
"que se le muestre una sublista.\n"
"\n"
"Pulse <espacio> para salir de la ayuda y entrar en la lista ahora.\n"

#: dselect/helpmsgs.cc:80
msgid "Introduction to read-only package list browser"
msgstr "Introducción al navegador de lista de paquetes de sólo 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 ""
"Bienvenido al listado de paquetes principal de dselect.\n"
"\n"
"Se le mostrará una lista de paquetes que están instalados o disponibles "
"para\n"
"ser instalados. Dado que no tiene los privilegios necesarios para "
"actualizar\n"
"los estados de los paquetes, se encuentra en modo de sólo lectura. Puede\n"
"navegar a través de esta lista utilizando las teclas del cursor (vea la\n"
"pantalla de ayuda de las pulsaciones de teclas), observe el estado de\n"
"los paquetes y lea la información sobre ellos.\n"
"\n"
"Debería leer la lista de teclas y las explicaciones sobre la visualización.\n"
"Hay disponible ayuda en línea abundante, por favor utilícela, pulse `?'\n"
"en cualquier momento para obtener ayuda.\n"
"\n"
"Cuando haya terminado de navegar pulse `Q' o <intro> para salir.\n"
"\n"
"Pulse <espacio> para abandonar la ayuda y entrar en la lista.\n"

#: dselect/helpmsgs.cc:99
msgid "Introduction to conflict/dependency resolution sub-list"
msgstr "Introducción a la sublista de resolución de conflicto/dependencia"

#: 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 dependencia/conflicto -- Introducción.\n"
"\n"
"Una o más elecciones han ocasionado un problema de conflicto o dependencia,\n"
"algunos paquetes sólo se deberían instalar conjuntamente con ciertos otros, "
"y\n"
"algunas combinaciones de paquetes no se pueden instalar conjuntamente.\n"
"\n"
"Verá una sublista que contiene los paquetes involucrados. La mitad inferior "
"de\n"
"la pantalla muestra las dependencias y conflictos relevantes; utilice `i' "
"para\n"
"circular en ella entre lo mencionado, las descripciones de los paquetes, y\n"
"la información de control interna.\n"
"\n"
"Se ha calculado un repertorio de paquetes `sugeridos', y las marcas "
"iniciales\n"
"en esta sublista se han puesto para casar con aquellas, por lo que podrá\n"
"simplemente pulsar Intro para aceptar las sugerencias si lo desea. Puede\n"
"abortar el/los cambio(s) que causaron el problema y volver a la lista\n"
"principal pulsando la letra mayúscula `X'.\n"
"\n"
"También puede moverse por la lista y cambiar los marcados para que se "
"asemeje\n"
"más a lo que desea, y pueda `rechazar' las sugerencias utilizando las "
"teclas\n"
"mayúsculas `D' o `R' (véase la pantalla de ayuda de combinaciones de "
"teclas).\n"
"Utilice la `Q' mayúscula para forzarme a aceptar la situación actualmente\n"
"mostrada en caso de que desee descartar una recomendación o piense que el\n"
"programa se ha equivocado.\n"
"\n"
"Pulse <espacio> para abandonar la ayuda y entrar en la sublista;\n"
"recuerde: pulse `?' para la ayuda.\n"

#: dselect/helpmsgs.cc:125
msgid "Display, part 1: package listing and status chars"
msgstr "Muestra, parte 1: listado de paquete y 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 ""
"La mitad superior de la pantalla muestra una lista de paquetes. Para cada\n"
"paquete verá cuatro columnas con su estado actual en el sistema y marca. En\n"
"el modo conciso (utilice `v' para cambiar la muestra de mensajes) estos son\n"
"caracteres individuales, de la izquierda a la derecha:\n"
"\n"
" Indicador de error: Espacio - ningún error (pero el paquete puede estar en\n"
"estado roto - véase más adelante)\n"
"         `R'  - error serio durante la instalación, necesita reinstalarse;\n"
" Estado instalado:  Espacio    - no instalado;\n"
"                      `*'      - instalado;\n"
"                      `-'      - no instalado, pero permanecen ficheros de\n"
"                                configuración;\n"
"    los paquetes en { `U'      - desempaquetado pero aún sin configurar;\n"
"      estos estados { `C'      - semi-configurado (ocurrió un error);\n"
"      no están bien { `I'      - semi-instalado (ocurrió un error);\n"
"      instalados    { `W', `t' - pendiente de la ejecución de disparadores.\n"
" Marca antigua: lo solicitado para este paquete antes de presentar esta "
"lista;\n"
" Marca: lo que se solicita para este paquete;\n"
"   `*': marcado para instalación o actualización;\n"
"   `-': marcado para desinstalación, pero los ficheros de configuración\n"
"          permanecerán\n"
"   `=': retenido: el paquete no se procesará en absoluto;\n"
"   `_': marcado para purga completa - incluso se eliminará la\n"
"          configuración\n"
"   `n': el paquete es nuevo y aún debe marcarse para instalar/desinstalar/"
"etc.\n"
"\n"
"También se muestra la Prioridad, Sección, nombre, números de versión "
"disponible\n"
"e instalada de cada paquete (Mayús-V para mostrar/esconder) y descripción\n"
"resumida.\n"

#: dselect/helpmsgs.cc:152
msgid "Display, part 2: list highlight; information display"
msgstr "Muestra, parte 2: destacado de la lista; muestra 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 ""
"* Destacado: se destacará una línea en el listado de paquete. Indica qué\n"
"  paquete(s) se afectarán al pulsar `+', `-' y `_'.\n"
"\n"
"* La línea divisoria en la mitad de la pantalla muestra una explicación\n"
"  breve del estado del paquete actualmente destacado, o una descripción del\n"
"  grupo destacado si se trata de una línea de grupo. Si no entiende el\n"
"  significado de algunos de los caracteres de estado mostrados, vaya al\n"
"  paquete relevante y mire en esta línea de división, o utilice la tecla "
"`v'\n"
"  para una muestra completa (pulse nuevamente `v' para volver a la muestra\n"
"  concisa).\n"
"\n"
"* El final de la pantalla muestra alguna información sobre el paquete\n"
"  actualmente destacado (si sólo hay uno).\n"
"\n"
"  Se puede mostrar una descripción extendida del paquete, detalles de "
"control\n"
"  internos del paquete (tanto para la versión instalada como para la "
"disponible\n"
"  del paquete), o información sobre los conflictos y las dependencias que\n"
"  conciernen al paquete actual (en sub-listas de resolución de\n"
"  conflicto/dependencia).\n"
"\n"
"  Utilice la tecla `i' para circular a través de las muestra, e `I' para\n"
"  esconder la muestra de información o expandirla para utilizar casi toda\n"
"  la pantalla.\n"

#: dselect/helpmsgs.cc:176
msgid "Introduction to method selection display"
msgstr "Introducción a la muestra de selección de método"

#: 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 y dpkg pueden realizar instalación automática, cargando los "
"ficheros\n"
"de paquetes que se van a instalar desde una diversidad de lugares "
"diferentes.\n"
"\n"
"Esta lista le permite seleccionar uno de estos métodos de instalación.\n"
"\n"
"Desplace el realce iluminado al método que desea utilizar y pulse <Intro>\n"
"Entonces se le solicitará la información necesaria para la instalación.\n"
"\n"
"Mientras desplace el realce iluminado se mostrará, cuando esté disponible,\n"
"una descripción de cada método en la mitad inferior de la pantalla.\n"
"\n"
"Si desea abandonar sin cambiar nada utilice la tecla `x' mientras se "
"encuentre\n"
"en la lista de métodos de instalación.\n"
"\n"
"Una lista completa de las combinaciones de teclas se encuentra disponible "
"al\n"
"pulsar `k', o desde el menú de ayuda al que se accede pulsando `?'.\n"

#: dselect/helpmsgs.cc:196
msgid "Keystrokes for method selection"
msgstr "Teclas para la selección de método"

#: 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 movimiento: Re Pág/Av Pág, Inicio/Fin, Arriba/Abajo, Adelante/"
"Atrás\n"
"  j, Flecha-abajo       k, Flecha-arriba       mover el realce iluminado\n"
"  N, Re Pág, Espacio    P, Av Pág, Retroceso   desplazar la lista en 1 "
"página\n"
"  ^n                    ^p                     desplazar la lista en 1 "
"línea\n"
"  t, Inicio             b, Fin                 saltar al inicio/fin de\n"
"                                                la lista\n"
"  u                     d                      desplazar la información\n"
"                                                en 1 página\n"
"  ^u                    ^d                     desplazar la información\n"
"                                                en 1 línea\n"
"  B, Flecha-izquierda   F, Flecha-derecha      desplazar la muestra 1/3 de\n"
"                                                la pantalla\n"
"  ^b                    ^f                     desplazar la muestra 1 "
"carácter\n"
"(Éstas son las mismas teclas de movimiento que en la muestra de lista\n"
"de paquetes.)\n"
"\n"
"Abandonar:\n"
" Return, Intro   seleccionar este método e ir a su diálogo de configuración\n"
" x, X            salir sin alterar o establecer el método de instalación\n"
"\n"
"Miscelánea:\n"
"  ?, Ayuda, F1   solicitar ayuda\n"
" ^l              volver a presentar la muestra\n"
"  /              buscar (simplemente pulse Intro para cancelar)\n"
"  \\              repetir la última búsqueda\n"

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

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

# Pongo método y no acceso porque la "A" está ya cogida para Actualizar. sv
#: dselect/main.cc:143
msgid "[A]ccess"
msgstr "[M]étodo"

#: dselect/main.cc:143
msgid "Choose the access method to use."
msgstr "Escoger el método de acceso que se usará."

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

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

#: dselect/main.cc:144
msgid "Update list of available packages, if possible."
msgstr "Actualizar la lista de paquetes disponibles, si se puede."

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

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

#: dselect/main.cc:145
msgid "Request which packages you want on your system."
msgstr "Solicitar qué paquetes desea en el 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 "Instalar y actualizar los paquetes deseados."

#: 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 "Configurar los paquetes que no estén configurados."

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

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

#: dselect/main.cc:148
msgid "Remove unwanted software."
msgstr "Desinstalar los paquetes no deseados."

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

#: dselect/main.cc:149
msgid "[Q]uit"
msgstr "sa[L]ir"

#: dselect/main.cc:149
msgid "Quit dselect."
msgstr "Salir 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 "Interfaz de manejo de paquetes %s de Debian `%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
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 ""
"Esto es software libre; vea la Licencia Pública General de GNU versión 2 o\n"
"posterior para las condiciones de copia. No hay NINGUNA garantía.\n"

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

#: dselect/main.cc:183
#, c-format
msgid ""
"Usage: %s [<option> ...] [<action> ...]\n"
"\n"
msgstr ""
"Modo de uso: %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 ""
"Ociones:\n"
"  --admindir <directorio>          Utiliza <directorio> en lugar de %s.\n"
"  --expert                         Activa el modo experto.\n"
"  --debug <fichero> | -D<fichero>  Activa la depuración y envía la salida a "
"<fichero>.\n"
"  --colour | --color screenpart:[primer_plano],[segundo_plano][:atrb[+atrb"
"+..]]\n"
"                                   Configura los colores de la pantalla.\n"
"\n"

#: dselect/main.cc:196
#, c-format
msgid ""
"  --help                     Show this help message.\n"
"  --version                  Show the version.\n"
"\n"
msgstr ""
"  --help                       Muestra este mensaje de ayuda.\n"
"  --version                    Muestra la versión.\n"
"\n"

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

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

#: dselect/main.cc:210
#, c-format
msgid "Colours:\n"
msgstr "Colores:\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 "no se puede abrir el fichero de depuración `%.255s'\n"

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

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

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

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

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

#: dselect/main.cc:329
msgid "Terminal does not appear to support cursor addressing.\n"
msgstr "El terminal no parece dar soporte al direccionamiento por cursor.\n"

#: dselect/main.cc:331
msgid "Terminal does not appear to support highlighting.\n"
msgstr "El terminal parece no dar soporte al destacado.\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 ""
"Establezca la variable TERM correctamente, utilice un terminal mejor,\n"
"o manéjese con la herramienta de gestión por paquete %s.\n"

#: dselect/main.cc:336
msgid "terminal lacks necessary features, giving up"
msgstr "el terminal carece de propiedades necesarias: abandonando"

#: 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"
"Utilice ^P y ^N, las teclas del cursor, letras iniciales, o dígitos;\n"
"Pulse <intro> para confirmar la selección.  ^L redibuja la pantalla.\n"
"\n"

#: dselect/main.cc:428
msgid ""
"\n"
"\n"
"Read-only access: only preview of selections is available!"
msgstr ""
"\n"
"\n"
"Acceso de sólo lectura: ¡solamente se pueden ver las selecciones!"

#: dselect/main.cc:448
msgid "failed to getch in main menu"
msgstr "fallo en getch en el menú principal"

#: dselect/main.cc:531
#, c-format
msgid "unknown action string `%.50s'"
msgstr "cadena de acción desconocida `%.50s'"

#: 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 "Descripción"

#: dselect/methlist.cc:164 dselect/pkglist.cc:572
msgid "doupdate failed"
msgstr "`doupdate' falló"

#: dselect/methlist.cc:166 dselect/pkglist.cc:575
msgid "failed to unblock SIGWINCH"
msgstr "fallo al desbloquear SIGWINCH"

#: dselect/methlist.cc:170 dselect/pkglist.cc:580
msgid "failed to re-block SIGWINCH"
msgstr "fallo al rebloquear SIGWINCH"

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

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

#: dselect/methlist.cc:197
msgid "No explanation available."
msgstr "No hay explicación disponible."

# FIXME: May not be translated properly without context.
# Or else: Does not need to be translated.
# It seems first %s is "dselect", second %s is an error message. sv
#: 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"
"Pulse <intro> para continuar."

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

#: dselect/method.cc:162
msgid "<standard error>"
msgstr "<error estándar>"

#: dselect/method.cc:165
msgid "error reading acknowledgement of program failure message"
msgstr "error al leer reconocimiento del mensaje de fallo del programa"

# Pongo "el" porque es comienzo de una frase que termina por ejemplo
# como "... devolvió el código de error %d". sv
#: dselect/method.cc:196
msgid "update available list script"
msgstr "el script de actualización de la lista `available'"

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

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

#: dselect/methparse.cc:53
#, c-format
msgid "syntax error in method options file `%.250s' -- %s"
msgstr "error de sintaxis en el fichero de opciones del método `%.250s' -- %s"

#: dselect/methparse.cc:59
#, c-format
msgid "error reading options file `%.250s'"
msgstr "error al leer el fichero de opciones `%.250s'"

#: dselect/methparse.cc:90
#, c-format
msgid "unable to read `%.250s' directory for reading methods"
msgstr "no se puede leer el directorio `%.250s' para leer los métodos"

#: dselect/methparse.cc:106
#, c-format
msgid "method `%.250s' has name that is too long (%d > %d characters)"
msgstr ""
"el método `%.250s'\n"
"tiene un nombre demasiado largo (%d > %d caracteres)"

#: dselect/methparse.cc:117
#, c-format
msgid "unable to access method script `%.250s'"
msgstr "no se puede acceder al script del método `%.250s'"

#: dselect/methparse.cc:123
#, c-format
msgid "unable to read method options file `%.250s'"
msgstr "no se puede leer el fichero de opciones del método `%.250s'"

#: dselect/methparse.cc:147
msgid "non-digit where digit wanted"
msgstr "se encontró un no dígito cuando se esperaba un dígito"

#: dselect/methparse.cc:150
msgid "EOF in index string"
msgstr "EOF en la cadena de índice"

#: dselect/methparse.cc:153
msgid "index string too long"
msgstr "cadena de índice demasiado larga"

#: dselect/methparse.cc:156
msgid "newline before option name start"
msgstr "nueva línea antes de que comience el nombre de la opción"

#: dselect/methparse.cc:158
msgid "EOF before option name start"
msgstr "EOF antes de que comience el nombre de la opción"

#: dselect/methparse.cc:162
msgid "nonalpha where option name start wanted"
msgstr ""
"carácter no alfanumérico donde se esperaba el comienzo del nombre de una "
"opción"

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

#: dselect/methparse.cc:167
msgid "EOF in option name"
msgstr "EOF dentro del nombre de la opción"

#: dselect/methparse.cc:172
msgid "newline before summary"
msgstr "nueva línea antes del resumen"

#: dselect/methparse.cc:174
msgid "EOF before summary"
msgstr "EOF antes del resumen"

#: dselect/methparse.cc:180
msgid "EOF in summary - missing newline"
msgstr "EOF en el resumen - falta una nueva línea"

#: dselect/methparse.cc:190
#, c-format
msgid "unable to open option description file `%.250s'"
msgstr "no se puede abrir el fichero de descripciones de opciones `%.250s'"

#: dselect/methparse.cc:194
#, c-format
msgid "unable to stat option description file `%.250s'"
msgstr ""
"no se puede efectuar `stat' sobre el fichero de descripciones de opciones `"
"%.250s'"

#: dselect/methparse.cc:198
#, c-format
msgid "failed to read option description file `%.250s'"
msgstr "fallo al leer el fichero de descripciones de opciones `%.250s'"

#: dselect/methparse.cc:201
#, c-format
msgid "error during read of option description file `%.250s'"
msgstr "error al leer el fichero de descripción de opciones `%.250s'"

#: dselect/methparse.cc:224
#, c-format
msgid "error during read of method options file `%.250s'"
msgstr "error al leer el fichero de opciones del método `%.250s'"

#: dselect/methparse.cc:247
#, c-format
msgid "unable to open current option file `%.250s'"
msgstr "no se puede abrir el fichero de opciones actual `%.250s'"

#: dselect/methparse.cc:289
#, c-format
msgid "unable to open new option file `%.250s'"
msgstr "no se puede abrir el nuevo fichero de opciones `%.250s'"

#: dselect/methparse.cc:292
#, c-format
msgid "unable to write new option to `%.250s'"
msgstr "no se puede escribir nueva opción en `%.250s'"

#: dselect/methparse.cc:295
#, c-format
msgid "unable to close new option file `%.250s'"
msgstr "no se puede cerrar el nuevo fichero de opciones `%.250s'"

#: dselect/methparse.cc:297
#, c-format
msgid "unable to install new option as `%.250s'"
msgstr "no se puede instalar la nueva opción como `%.250s'"

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

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

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

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

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

# FIXME: Can't be translated without a little bit of context. sv
#. 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 "no instalado"

#: dselect/pkgdisplay.cc:52
msgid "removed (configs remain)"
msgstr "desinstalado (queda su configuración)"

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

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

#: dselect/pkgdisplay.cc:55
msgid "half configured (config failed)"
msgstr "medio configurado (falló la configuración)"

#: dselect/pkgdisplay.cc:56
msgid "awaiting trigger processing"
msgstr "esperando al procesado de los disparadores"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: dselect/pkgdisplay.cc:75
msgid "conflicts with"
msgstr "entra en conflicto con"

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

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

#: dselect/pkgdisplay.cc:78
msgid "enhances"
msgstr "amplía"

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

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

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

#: dselect/pkgdisplay.cc:97
msgid "Updated"
msgstr "con actualización disponible"

#: dselect/pkgdisplay.cc:98
msgid "Obsolete/local"
msgstr "obsoletos/locales"

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

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

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

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

#: dselect/pkgdisplay.cc:103
msgid "Newly available packages"
msgstr "Paquetes nuevos disponibles"

#: dselect/pkgdisplay.cc:104
msgid "Updated packages (newer version is available)"
msgstr "Actualización disponible"

#: dselect/pkgdisplay.cc:105
msgid "Obsolete and local packages present on system"
msgstr "Paquetes obsoletos y localmente instalados"

#: dselect/pkgdisplay.cc:106
msgid "Up to date installed packages"
msgstr "Paquetes actualizados, no hay versión más nueva"

#: dselect/pkgdisplay.cc:107
msgid "Available packages (not currently installed)"
msgstr "Paquetes disponibles (no instalados actualmente)"

#: dselect/pkgdisplay.cc:108
msgid "Removed and no longer available packages"
msgstr "Paquetes desinstalados que ya no están disponibles"

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

#: dselect/pkgdisplay.cc:113
msgid "Removed packages (configuration still present)"
msgstr "Paquetes desinstalados (queda la configuración)"

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

#: 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 de los estados de los 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 " (disp., sección)"

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

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

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

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

#: dselect/pkgdisplay.cc:238 dselect/pkgdisplay.cc:250
msgid " (alphabetically)"
msgstr " (alfabéticamente)"

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

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

#: dselect/pkgdisplay.cc:258
msgid " mark:+/=/- terse:v help:?"
msgstr " marca:+/=/- conciso:v ayuda:?"

#: dselect/pkgdisplay.cc:259
msgid " mark:+/=/- verbose:v help:?"
msgstr " marca:+/=/- literal:v ayuda:?"

#: dselect/pkgdisplay.cc:260
msgid " terse:v help:?"
msgstr " conciso:v ayuda:?"

#: dselect/pkgdisplay.cc:261
msgid " verbose:v help:?"
msgstr " literal:v ayuda:?"

#: 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 ""
"La línea que ha iluminado representa muchos paquetes, si pide que se "
"instalen, borren, mantengan, etc, afectará a todos los paquetes que cumplan "
"el criterio mostrado.\n"
"\n"
"Si desplaza la línea iluminada a una línea de un paquete determinado se "
"mostrará aquí la información sobre ese paquete.\n"
"Se puede usar `o' y `O' para cambiar el tipo de ordenación, esto permite\n"
"marcar paquetes en distintos tipos de grupos."

#: dselect/pkginfo.cc:93
msgid "Interrelationships"
msgstr "Interrelaciones"

#: dselect/pkginfo.cc:112
msgid "No description available."
msgstr "No hay una descripción disponible."

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

#: dselect/pkginfo.cc:146
msgid "Available control file information"
msgstr "Información disponible de control"

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

#: dselect/pkglist.cc:507
msgid "invalid search option given"
msgstr "se ha dado una opción de búsqueda inválida"

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

#: dselect/pkgsublist.cc:107
msgid " does not appear to be available\n"
msgstr " no parece estar disponible\n"

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

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

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

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

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

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

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

#: dselect/pkgtop.cc:97
#, c-format
msgid "%s %s packages in section %s"
msgstr "Paquetes %s %s en la 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 "Error"

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

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

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

# Habrá que mirarlo.
#: dselect/pkgtop.cc:278
msgid "EIOM"
msgstr "EIOM"

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

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

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

#~ msgid "returned error exit status %d.\n"
#~ msgstr "devolvió el código de error %d.\n"

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

#~ msgid "was terminated by a signal: %s.\n"
#~ msgstr "fue terminado por la señal %s.\n"

#~ msgid "(It left a coredump.)\n"
#~ msgstr "(Dejó un volcado de `core'.)\n"

#~ msgid "failed with an unknown wait return code %d.\n"
#~ msgstr "falló con un código desconocido de estado de espera %d.\n"

# FIXME: This is for debugging purposes. Should not be translated. sv
#~ 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() 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"

# FIXME: A translator comment should clarify about none's sex here. sv
#~ msgid "[none]"
#~ msgstr "[ninguno/a]"

#~ msgid "error un-catching signal %d: %s\n"
#~ msgstr "error al no recoger la señal %d: %s\n"

#~ msgid "unable to ignore signal %d before running %.250s"
#~ msgstr "no se puede descartar la señal %d antes de ejecutar %.250s"

#~ msgid "unable to run %.250s process `%.250s'"
#~ msgstr "no se puede ejecutar el proceso %.250s `%.250s'"

#~ msgid "unable to wait for %.250s"
#~ msgstr "no se puede efectuar `wait' en %.250s"

#~ msgid "got wrong child's status - asked for %ld, got %ld"
#~ msgstr ""
#~ "se obtuvo un código de estado equivocado - se esperaba %ld, se obtuvo %ld"

#~ msgid "(no clientdata)"
#~ msgstr "(no hay datos del cliente)"

#~ msgid "failed config"
#~ msgstr "configuración fallida"

#~ msgid "Recommended"
#~ msgstr "recomendados"

# Traducir contrib por contribuidos sería como traducir Open Source.
# Genera más confusión todavía. sv
#~ msgid "Contrib"
#~ msgstr "contrib"

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

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

# FIXME: Need a translator comment to know null's sex. sv
# It seems it refers to a missing priority or a missing section.
# Como tanto la sección como la prioridad son femeninos, pongo "nula". sv
#~ msgid "<null>"
#~ msgstr "<nula>"

#~ msgid "interrelationships affecting "
#~ msgstr "interrelaciones que afectan "

#~ msgid "description of "
#~ msgstr "descripción de "

#~ msgid "description"
#~ msgstr "descripción"

#~ msgid "currently installed control info"
#~ msgstr "información de control actualmente instalada"

#~ msgid "available version of control info for "
#~ msgstr "información de control de la versión disponible de "
