# Tradução para o Português (Brasil) do dpkg/dselect (Debian)
# Copyright © 1999, 2000 Software in the Public Interest.
# Thiago Jung Bauermann <jungmann@cwb.matrix.com.br>, 1999.
# Carlos Henrique Santos Laviola <claviola@brfree.com.br>, 2000.
# André Luís Lopes <andrelop@ig.com.br>, 2002.
# André Luís Lopes <andrelop@debian.org>, 2004.
# André Luís Lopes <andrelop@debian.org>, 2005.
# Felipe Augusto van de Wiel (faw) <faw@debian.org>, 2008.
#
msgid ""
msgstr ""
"Project-Id-Version: dpkg 1.13\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
"POT-Creation-Date: 2011-10-14 07:11+0200\n"
"PO-Revision-Date: 2008-06-09 02:53-0300\n"
"Last-Translator: Felipe Augusto van de Wiel <faw@debian.org>\n"
"Language-Team: Brazilian Portuguese <debian-l10n-portuguese@lists.debian."
"org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"

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

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

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

#: dselect/basecmds.cc:184
msgid "Press ? for help menu, . for next topic, <space> to exit help."
msgstr ""
"Pressione ? para o menu de ajuda, . para o próximo tópico, <espaço> para "
"sair da ajuda."

#: dselect/basecmds.cc:191
msgid "Help information is available under the following topics:"
msgstr "Informações de ajuda estão disponíveis nos seguintes tópicos:"

#: 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 ""
"Pressione uma das teclas da lista acima, <espaço> ou 'q' para\n"
"  sair da ajuda, ou '.' (ponto final) para ler uma página de\n"
"  ajuda por vez. "

#: dselect/basecmds.cc:205
msgid "error reading keyboard in help"
msgstr "erro lendo teclado na ajuda"

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

#: dselect/baselist.cc:60
msgid "doupdate in SIGWINCH handler failed"
msgstr "doupdate no handler SIGWINCH falhou"

#: dselect/baselist.cc:67
msgid "failed to restore old SIGWINCH sigact"
msgstr "falhou ao restaurar antigo sigact SIGWINCH"

#: dselect/baselist.cc:69
msgid "failed to restore old signal mask"
msgstr "falhou ao restaurar antiga máscara de sinal"

#: dselect/baselist.cc:79
msgid "failed to get old signal mask"
msgstr "falhou ao obter antiga máscara de sinal"

#: dselect/baselist.cc:80
msgid "failed to get old SIGWINCH sigact"
msgstr "falhou ao obter antiga sigact SIGWINCH"

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

#: dselect/baselist.cc:89
msgid "failed to set new SIGWINCH sigact"
msgstr "falhou ao definir novo sigact SIGWINCH"

#: dselect/baselist.cc:126
msgid "failed to allocate colour pair"
msgstr "falhou ao alocar par de cores"

#: dselect/baselist.cc:167
msgid "failed to create title window"
msgstr "falhou ao criar título da janela"

#: dselect/baselist.cc:171
msgid "failed to create whatinfo window"
msgstr "falhou ao criar janela \"whatinfo\""

#: dselect/baselist.cc:175
msgid "failed to create baselist pad"
msgstr "falhou ao criar \"baselist pad\""

#: dselect/baselist.cc:178
msgid "failed to create heading pad"
msgstr "falhou ao criar \"heading pad\""

#: dselect/baselist.cc:182
msgid "failed to create thisstate pad"
msgstr "falhou ao criar \"thisstate pad\""

#: dselect/baselist.cc:186
msgid "failed to create info pad"
msgstr "falhou ao criar \"info pad\""

#: dselect/baselist.cc:191
msgid "failed to create query window"
msgstr "falhou ao criar janela de consulta"

#: dselect/baselist.cc:255
msgid "Keybindings"
msgstr "Associações de teclas"

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

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

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

#: dselect/bindings.cc:78
msgid "[not bound]"
msgstr "[não atribuído]"

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

#: dselect/bindings.cc:139
msgid "Scroll onwards through help/information"
msgstr "Rolagem progressiva através da ajuda/informação"

#: dselect/bindings.cc:140
msgid "Scroll backwards through help/information"
msgstr "Rolagem regressiva através da ajuda/informação"

#: dselect/bindings.cc:141
msgid "Move up"
msgstr "Mover para acima"

#: dselect/bindings.cc:142
msgid "Move down"
msgstr "Mover para abaixo"

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

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

#: dselect/bindings.cc:145
msgid "Request help (cycle through help screens)"
msgstr "Solicitar ajuda (percorrer as telas de ajuda)"

#: dselect/bindings.cc:146
msgid "Cycle through information displays"
msgstr "Percorrer as telas de informações"

#: dselect/bindings.cc:147
msgid "Redraw display"
msgstr "Redesenhar a tela"

#: dselect/bindings.cc:148
msgid "Scroll onwards through list by 1 line"
msgstr "Rolagem progressiva de 1 linha através lista"

#: dselect/bindings.cc:149
msgid "Scroll backwards through list by 1 line"
msgstr "Rolagem regressiva de 1 linha através da lista"

#: dselect/bindings.cc:150
msgid "Scroll onwards through help/information by 1 line"
msgstr "Rolagem progressiva de 1 linha através da ajuda/informação"

#: dselect/bindings.cc:151
msgid "Scroll backwards through help/information by 1 line"
msgstr "Rolagem regressiva de 1 linha através da ajuda/informação"

#: dselect/bindings.cc:152
msgid "Scroll onwards through list"
msgstr "Rolagem progressiva através da lista"

#: dselect/bindings.cc:153
msgid "Scroll backwards through list"
msgstr "Rolagem regressiva através da lista"

#: dselect/bindings.cc:156
msgid "Mark package(s) for installation"
msgstr "Marcar pacote(s) para instalação"

#: dselect/bindings.cc:157
msgid "Mark package(s) for deinstallation"
msgstr "Marcar pacote(s) para desinstalação"

#: dselect/bindings.cc:158
msgid "Mark package(s) for deinstall and purge"
msgstr "Marcar pacote(s) para desinstalação e expurgamento"

#: dselect/bindings.cc:159
msgid "Make highlight more specific"
msgstr "Fazer realce mais específico"

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

#: dselect/bindings.cc:161
msgid "Search for a package whose name contains a string"
msgstr "Procurar por um pacote cujo nome contém uma string"

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

#: dselect/bindings.cc:163
msgid "Swap sort order priority/section"
msgstr "Trocar ordenação de prioridade/seção"

#: dselect/bindings.cc:164
msgid "Quit, confirming, and checking dependencies"
msgstr "Sair, confirmando, e checando dependências"

#: dselect/bindings.cc:165
msgid "Quit, confirming without check"
msgstr "Sair, confirmando sem checar"

#: dselect/bindings.cc:166
msgid "Quit, rejecting conflict/dependency suggestions"
msgstr "Sair, rejeitando sugestões de conflitos/dependências"

#: dselect/bindings.cc:167
msgid "Abort - quit without making changes"
msgstr "Abortar - sair sem fazer mudanças"

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

#: dselect/bindings.cc:169
msgid "Revert to suggested state for all packages"
msgstr "Reverter ao estado sugerido em todos os pacotes"

#: dselect/bindings.cc:170
msgid "Revert to directly requested state for all packages"
msgstr "Reverter ao estado diretamente requisitado em todos os pacotes"

#: dselect/bindings.cc:171
msgid "Revert to currently installed state for all packages"
msgstr "Reverter ao estado atualmente instalado em todos os pacotes"

#: dselect/bindings.cc:174
msgid "Select currently-highlighted access method"
msgstr "Selecionar método de acesso em destaque"

#: dselect/bindings.cc:175
msgid "Quit without changing selected access method"
msgstr "Sair sem mudar método de acesso selecionado"

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

#: 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 movimentação: Próximo/Anterior, Topo/Fim, Cima/Baixo, Trás/"
"Frente:\n"
"  j, Seta-abaixo        k, Seta-acima           move realce\n"
"  N, Page-down, Espaço  P, Page-up, Backspace   rola lista em 1 página\n"
"  ^n                    ^p                      rola lista em 1 linha\n"
"  t, Home               e, End                  pula para topo/fim da lista\n"
"  u                     d                       rola informação em 1 página\n"
"  ^u                    ^d                      rola informação em 1 linha\n"
"  B, Seta-à-esquerda    F, Seta-à-direita       rola 1/3 da tela para o "
"lado\n"
"  ^b                    ^f                      rola 1 caracter para o lado\n"
"\n"
"Marca pacotes para processamento posterior:\n"
" +, Insere  instala ou atualiza     =, H  reter no estado atual\n"
" -, Exclui  remove                  :, G  liberar: atualizar ou deixar "
"desinst.\n"
" _          remover e expurgar configuração\n"
"                                             Miscelânea:\n"
"Sair (Q), sobrescrever (note maiúsculas!)     ?, F1 solicitar ajuda (também\n"
"                                                    Ajuda (H))\n"
" Enter   Confirma, sai (checa dependências)   i, I  alternar/percorrer "
"telas\n"
"                                                    de informações\n"
"   Q     Confirma, sai (sobrepõe depend.)     o, O  percorrer através das\n"
"                                                    opções de ordenação\n"
" X, Esc  Sair (X), abandonando mudanças       v, V  muda opções de estado "
"de\n"
"                                                    exibição\n"
"   R     Reverte ao estado anterior            ^l   redesenhar tela\n"
"   U     colocar tudo no estado sUgerido        /   procurar (Enter para\n"
"                                                    cancelar)\n"
"   D     configurar tudo para o estado\n"
"         estado Diretamente requisitado       n, \\  repetir última busca\n"

#: dselect/helpmsgs.cc:55
msgid "Introduction to package selections"
msgstr "Introdução às seleções de pacotes"

#: 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 ""
"Bem-vindo à lista principal de pacotes do dselect.\n"
"\n"
"Será apresentada a você uma lista de pacotes que estão instalados ou\n"
"disponíveis para instalação. Você pode navegar pela lista usando as teclas\n"
"direcionais, marcar pacotes para instalação (usando '+') ou desinstalação\n"
"(usando `-').\n"
"Pacotes podem ser marcados individualmente ou em grupos; inicialmente, você\n"
"vai ver que a linha 'Todos os pacotes' está selecionada. Comandos como '+',\n"
"'-', e outros afetarão todos os pacotes descritos pela linha realçada.\n"
"\n"
"Algumas de suas escolhas causarão conflitos ou problemas de dependências;\n"
"será apresentada uma sub-lista dos pacotes relevantes, para que dessa forma\n"
"você possa resolver os problemas.\n"
"\n"
"Você deverá ler a lista de teclas e as explicações na tela.\n"
"Muita ajuda on-line está disponível, por favor, use-a - pressione '?' a\n"
"qualquer momento para ajuda.\n"
"\n"
"Quando tiver terminado a seleção de pacotes, pressione <enter> para "
"confirmar\n"
"suas mudanças ou 'X' para sair sem gravar as mudanças. Uma checagem final "
"de\n"
"conflitos e de dependências será feita - pode ser que aqui você também veja\n"
"uma sub-lista.\n"
"\n"
"Pressione <espaço> para sair da ajuda e entrar na lista agora.\n"

#: dselect/helpmsgs.cc:80
msgid "Introduction to read-only package list browser"
msgstr "Introdução ao navegador da lista de pacotes somente-leitura"

#: 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 ""
"Bem-vindo à lista principal de pacotes do dselect.\n"
"\n"
"Será apresentada a você uma lista de pacotes que estão instalados ou\n"
"disponíveis para instalação. Uma vez que você não possui os privilégios\n"
"necessários para atualizar o estado dos pacotes, você está no modo\n"
"somente-leitura. Você pode navegar pela lista usando as teclas direcionais\n"
"(por favor, veja a tela de ajuda sobre 'Teclas de atalho'), observe o "
"estado\n"
"dos pacotes e leia as informações sobre eles.\n"
"\n"
"Você deverá ler a lista de teclas e suas explicações na tela.\n"
"Muita ajuda on-line está disponível, por favor, use-a - pressione '?' a\n"
"qualquer momento para ajuda.\n"
"\n"
"Quando tiver terminado a navegação, pressione 'Q' ou <enter> para sair.\n"
"\n"
"Pressione <espaço> para sair da ajuda e entrar na lista agora.\n"

#: dselect/helpmsgs.cc:99
msgid "Introduction to conflict/dependency resolution sub-list"
msgstr "Introdução à sub-lista de resolução de conflitos/dependências"

#: 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 ""
"Resolução de dependências/conflitos - introdução.\n"
"\n"
"Uma ou mais de suas escolhas fizeram surgir um problema de conflito ou de\n"
"dependência - alguns pacotes só devem ser instalados em conjunto com "
"outros,\n"
"e algumas combinações de pacotes não podem ser instaladas ao mesmo tempo.\n"
"\n"
"Você verá uma sub-lista contendo os pacotes envolvidos.  A metade de baixo "
"da\n"
"tela mostra conflitos e dependências relevantes; use 'i' para circular "
"entre\n"
"esses, as descrições dos pacotes e as informações de controle internas.\n"
"\n"
"Um conjunto de pacotes 'sugeridos' foi calculado, e as marcações iniciais "
"nessa\n"
"sub-lista foram definidas para combinar com aquelas, para que você possa "
"apenas\n"
"pressionar Enter para aceitar as sugestões, se assim desejar. Você pode "
"abortar\n"
"a(s) mudança(s) que causou/causaram o(s) problema(s), e voltar para a lista\n"
"principal, pressionando 'X' maiúsculo.\n"
"\n"
"Você também pode movimentar-se pela lista e mudar as marcações de modo que "
"elas\n"
"fiquem mais de acordo com o que você quer, e você pode 'rejeitar' minhas\n"
"sugestões usando as teclas 'D' ou 'R' maiúsculas (veja a tela de ajuda de\n"
"Teclas de Atalho). Você pode usar 'Q' maiúsculo para me forçar a aceitar a\n"
"situação como ela está, caso você queira ignorar uma recomendação ou pensar\n"
"que o programa está errado.\n"
"\n"
"Pressione <espaço> para sair da ajuda e entrar na sub-lista; lembre-se:\n"
"pressione '?' para ajuda.\n"

#: dselect/helpmsgs.cc:125
msgid "Display, part 1: package listing and status chars"
msgstr "Tela, parte 1: lista de pacotes 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 de cima da tela mostra uma lista de pacotes. Para cada pacote você "
"vê\n"
"quatro colunas para seu estado atual no sistema e marcação. No modo "
"resumido\n"
"(use 'v' para ligar exibição verbosa), estes são caracteres únicos, da "
"esquerda\n"
"para a direita:\n"
"\n"
" Marca de Erro: Espaço - sem erros (pacote pode estar quebrado - veja "
"abaixo)\n"
"                 'R'   - erro sério durante instalação, requer "
"reinstalação;\n"
" Estado de instalação:  Espaço - não instalado;\n"
"                         '*'   - instalado;\n"
"                         '-'   - não instalado mas arquivos de configuração\n"
"                                 permanecem;\n"
"   pacotes nestes    { 'U'     - descompactado mas ainda não configurado;\n"
"   estados não estão { 'C'     - meio-configurado (um erro aconteceu);\n"
"   corretamente      { 'I'     - meio-instalado (um erro aconteceu).\n"
"   instalados        { 'W','t' - gatilhos estão em espera / pendentes.\n"
" Marca antiga: o que foi requisitado para este pacote antes de apresentar\n"
"               esta lista;\n"
" Marca: o que é requisitado para este pacote:\n"
"  '*': marcado para instalação ou atualização;\n"
"  '-': marcado para remoção, mas os arquivos de configuração permanecerão;\n"
"  '=': retido: pacote não será processado de forma alguma;\n"
"  '_': marcado para ser completamente expurgado - remover até a "
"configuração;\n"
"  'n': pacote é novo e ainda tem que ser marcado para instalação/remoção/"
"etc.\n"
"\n"
"Também são exibidas cada Prioridade, Seção, nome, números de versão\n"
"instalada e disponíveis de cada pacote (shift-V para exiber/ocultar)\n"
"e descrição resumida.\n"

#: dselect/helpmsgs.cc:152
msgid "Display, part 2: list highlight; information display"
msgstr "Tela, parte 2: realces na lista; tela de informação"

#: 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 ""
"* Realce: Uma linha na lista de pacotes será realçada. Ela indica\n"
"  qual(is) pacote(s) será(ão) afetado(s) pelas teclas '+', '-' e '_'.\n"
"\n"
"* A linha divisória no meio da tela mostra uma explicação breve do estado\n"
"  do pacote atualmente realçado, ou uma descrição do grupo que estiver\n"
"  realçado, se for uma linha de grupo. Se você não entender o significado\n"
"  de alguns dos caracteres de estado mostrados, vá ao pacote em questão e\n"
"  olhe para esta linha divisória, ou use a tecla 'v' para uma exibição\n"
"  mais verbosa (pressione 'v' novamente para voltar ao modo resumido).\n"
"\n"
"* A parte de baixo da tela mostra mais informações sobre o pacote\n"
"  atualmente realçado (se houver somente um).\n"
"\n"
"  Ela pode mostrar uma descrição mais longa do pacote, os detalhes internos\n"
"  de controle do pacote (ou para a versão instalada ou para a versão\n"
"  disponível do pacote), ou informação sobre conflitos e dependências\n"
"  envolvendo o pacote atual (em sub-listas de resolução de\n"
"  conflitos/dependências).\n"
"\n"
"  Use a tecla 'i' para circular pelas telas, e 'I' para ocultar a tela de\n"
"  informações ou expandí-la por quase toda a tela.\n"

#: dselect/helpmsgs.cc:176
msgid "Introduction to method selection display"
msgstr "Introdução à tela de seleção 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 podem fazer instalações automáticas, carregando os arquivos\n"
"de pacote a serem instalados a partir de uma série de possíveis diferentes\n"
"lugares.\n"
"\n"
"Esta lista permite que você selecione um destes métodos de instalação.\n"
"\n"
"Mova o realce para o método que você quer usar, e aperte Enter. Você será\n"
"questionado sobre as informações necessárias para realizar a instalação.\n"
"\n"
"À medida que você move o realce, uma descrição de cada método, quando\n"
"disponível, é exibida na parte de baixo da tela.\n"
"\n"
"Se você quiser sair sem mudar nada aperte a tecla 'x' enquanto estiver na\n"
"lista de métodos de instalação.\n"
"\n"
"Uma lista completa de teclas de atalho está disponível pressionando 'k'\n"
"agora, ou no menu de ajuda acessível pressionando '?'.\n"

#: dselect/helpmsgs.cc:196
msgid "Keystrokes for method selection"
msgstr "Teclas para seleção 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 movimentação: Próximo/Anterior, Topo/Fim, Cima/Baixo, Trás/"
"Frente:\n"
"  j, Seta-abaixo        k, Seta-acima           move realce\n"
"  N, Page-down, Espaço  P, Page-up, Backspace   rola lista em 1 página\n"
"  ^n                    ^p                      rola lista em 1 linha\n"
"  t, Home               e, End                  pula para topo/fim da lista\n"
"  u                     d                       rola informação em 1 página\n"
"  ^u                    ^d                      rola informação em 1 linha\n"
"  B, Seta-à-esquerda    F, Seta-à-direita       rola 1/3 da tela para o "
"lado\n"
"  ^b                    ^f                      rola 1 caracter para o lado\n"
"(Estas são as mesmas teclas de movimentação da tela da lista de pacotes).\n"
"\n"
"Sair:\n"
" Return, Enter    seleciona este método e vai para sua configuração\n"
" x, X             sai sem mudar ou configurar o método de instalação\n"
"\n"
"Miscelânea:\n"
"  ?, Ajuda, F1     solicita ajuda\n"
" ^l                redesenha a tela\n"
"  /                procura (enter para cancelar)\n"
"  \\                repetir última busca\n"

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

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

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

#: dselect/main.cc:143
msgid "Choose the access method to use."
msgstr "Escolher o método de acesso a usar."

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

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

#: dselect/main.cc:144
msgid "Update list of available packages, if possible."
msgstr "Atualizar lista de pacotes disponíveis, se possível."

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

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

#: dselect/main.cc:145
msgid "Request which packages you want on your system."
msgstr "Solicita quais pacotes você quer em seu 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 e atualizar pacotes desejados."

#: 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 quaisquer pacotes que estejam desconfigurados."

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

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

#: dselect/main.cc:148
msgid "Remove unwanted software."
msgstr "Remover programas indesejados."

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

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

#: dselect/main.cc:149
msgid "Quit dselect."
msgstr "Sair do dselect."

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

#: dselect/main.cc:155
#, c-format
msgid "Debian `%s' package handling frontend version %s.\n"
msgstr "Interface do gerenciador de pacotes do Debian '%s' versão %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 é um software livre; veja a GNU General Public License (\"GNU Licença\n"
"Pública Geral\") versão 2 ou posterior para condições de cópia.  Não há\n"
"NENHUMA garantia.\n"
"Veja %s --license para detalhes de copyright e licença.\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 ""
"Uso: %s [<opções> ...] [<ação> ...]\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 ""
"Opções:\n"
"  --admindir <diretório>     Use <diretório> ao invés de %s.\n"
"  --expert                   Ative modo expert.\n"
"  --debug <arq> | -D<arq>    Ative depuração, enviando saída para <arq>.\n"
"  --colour | --color parte-da-tela:[frente],[fundo][:atrib[+atrib+..]]\n"
"                             Configura cores da tela.\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 mensagem de ajuda.\n"
"  --version                  Mostra a versão.\n"
"  --license | --licence      Mostra a licença.\n"
"\n"

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

#: dselect/main.cc:205
#, c-format
msgid "Screenparts:\n"
msgstr "Partes da tela:\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 "não foi possível abrir arquivo de depuração '%.250s'\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 da tela"

#: dselect/main.cc:276
msgid "Null colour specification\n"
msgstr "Especificação de cor nula\n"

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

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

#: dselect/main.cc:329
msgid "Terminal does not appear to support cursor addressing.\n"
msgstr "Terminal não parece dar suporte ao endereçamento de cursor.\n"

#: dselect/main.cc:331
msgid "Terminal does not appear to support highlighting.\n"
msgstr "Terminal não parece dar suporte ao realce (\"highlighting\").\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 ""
"Defina sua variável TERM corretamente, use um terminal melhor,\n"
"ou faça com a ferramenta de gerenciamento por-pacote %s.\n"

#: dselect/main.cc:336
msgid "terminal lacks necessary features, giving up"
msgstr "terminal não possui alguns recursos necessários, desistindo"

#: 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"
"Mova-se com ^P e ^N, teclas direcionais, letras iniciais, ou dígitos;\n"
"Pressione <enter> para confirmar a seleção.   ^L redesenha a tela.\n"

#: dselect/main.cc:428
msgid ""
"\n"
"\n"
"Read-only access: only preview of selections is available!"
msgstr ""
"\n"
"\n"
"Acesso somente-leitura: apenas a pré-visualização das seleções está "
"disponível!"

#: dselect/main.cc:448
msgid "failed to getch in main menu"
msgstr "falhou ao executar \"getch\" no menu principal"

#: dselect/main.cc:531
#, c-format
msgid "unknown action string `%.50s'"
msgstr "string de ação desconhecida '%.50s'"

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

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

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

#: dselect/methlist.cc:121 dselect/pkginfo.cc:105 dselect/pkgtop.cc:291
msgid "Description"
msgstr "Descrição"

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

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

#: dselect/methlist.cc:170 dselect/pkglist.cc:580
msgid "failed to re-block SIGWINCH"
msgstr "falhou ao re-bloquear SIGWINCH"

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

#: dselect/methlist.cc:188
msgid "Explanation"
msgstr "Explicação de"

#: dselect/methlist.cc:197
msgid "No explanation available."
msgstr "Sem explicação disponível"

#: 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"
"Pressione <enter> para continuar."

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

#: dselect/method.cc:162
#, fuzzy
msgid "<standard error>"
msgstr "erro de escrita na saída de erros padrão"

#: dselect/method.cc:165
msgid "error reading acknowledgement of program failure message"
msgstr "erro lendo reconhecimento da mensagem de falha do programa"

#: dselect/method.cc:196
msgid "update available list script"
msgstr "script de atualização da lista de disponíveis"

#: dselect/method.cc:200
msgid "installation script"
msgstr "script de instalação"

#: dselect/method.cc:246
msgid "query/setup script"
msgstr "script de pesquisa/configuração"

#: dselect/methparse.cc:53
#, c-format
msgid "syntax error in method options file `%.250s' -- %s"
msgstr "erro de sintaxe no arquivo de opções de método '%.250s' -- %s"

#: dselect/methparse.cc:59
#, c-format
msgid "error reading options file `%.250s'"
msgstr "erro lendo arquivo de opções '%.250s'"

#: dselect/methparse.cc:90
#, c-format
msgid "unable to read `%.250s' directory for reading methods"
msgstr "impossível ler diretório '%.250s' para métodos de leitura"

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

#: dselect/methparse.cc:117
#, c-format
msgid "unable to access method script `%.250s'"
msgstr "impossível acessar script de método '%.250s'"

#: dselect/methparse.cc:123
#, c-format
msgid "unable to read method options file `%.250s'"
msgstr "impossível ler arquivo de opções de método '%.250s'"

#: dselect/methparse.cc:147
msgid "non-digit where digit wanted"
msgstr "não-dígito onde era necessário dígito"

#: dselect/methparse.cc:150
msgid "EOF in index string"
msgstr "EOF no índice da string"

#: dselect/methparse.cc:153
msgid "index string too long"
msgstr "índice da string muito longo"

#: dselect/methparse.cc:156
msgid "newline before option name start"
msgstr "nova linha antes do início do nome da opção"

#: dselect/methparse.cc:158
msgid "EOF before option name start"
msgstr "EOF antes do início do nome da opção"

#: dselect/methparse.cc:162
msgid "nonalpha where option name start wanted"
msgstr "não-alpha onde era necessário início do nome da opção"

#: dselect/methparse.cc:164
msgid "non-alphanum in option name"
msgstr "não alfanumérico no nome da opção"

#: dselect/methparse.cc:167
msgid "EOF in option name"
msgstr "EOF no nome da opção"

#: dselect/methparse.cc:172
msgid "newline before summary"
msgstr "nova linha antes do sumário"

#: dselect/methparse.cc:174
msgid "EOF before summary"
msgstr "EOF antes do sumário"

#: dselect/methparse.cc:180
msgid "EOF in summary - missing newline"
msgstr "EOF no sumário - nova linha faltando"

#: dselect/methparse.cc:190
#, c-format
msgid "unable to open option description file `%.250s'"
msgstr "impossível abrir arquivo de descrição de opção '%.250s'"

#: dselect/methparse.cc:194
#, c-format
msgid "unable to stat option description file `%.250s'"
msgstr "impossível executar \"stat\" no arquivo de descrição de opção '%.250s'"

#: dselect/methparse.cc:198
#, c-format
msgid "failed to read option description file `%.250s'"
msgstr "falhou ao ler arquivo de descrição de opção '%.250s'"

#: dselect/methparse.cc:201
#, c-format
msgid "error during read of option description file `%.250s'"
msgstr "erro durante a leitura do arquivo de descrição de opção '%.250s'"

#: dselect/methparse.cc:224
#, c-format
msgid "error during read of method options file `%.250s'"
msgstr "erro durante a leitura do arquivo de opções de método '%.250s'"

#: dselect/methparse.cc:247
#, c-format
msgid "unable to open current option file `%.250s'"
msgstr "impossível abrir arquivo de opção atual '%.250s'"

#: dselect/methparse.cc:289
#, c-format
msgid "unable to open new option file `%.250s'"
msgstr "impossível abrir novo arquivo de opção '%.250s'"

#: dselect/methparse.cc:292
#, c-format
msgid "unable to write new option to `%.250s'"
msgstr "impossível escrever nova opção para '%.250s'"

#: dselect/methparse.cc:295
#, c-format
msgid "unable to close new option file `%.250s'"
msgstr "impossível fechar novo arquivo de opção '%.250s'"

#: dselect/methparse.cc:297
#, c-format
msgid "unable to install new option as `%.250s'"
msgstr "impossível instalar nova opção como '%.250s'"

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

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

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

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

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

#. 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 "não instalado"

#: dselect/pkgdisplay.cc:52
msgid "removed (configs remain)"
msgstr "removido (configurações permanecem)"

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

#: dselect/pkgdisplay.cc:54
msgid "unpacked (not set up)"
msgstr "desempacotado (não configurado)"

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

#: dselect/pkgdisplay.cc:56
msgid "awaiting trigger processing"
msgstr "processamento de gatilhos em espera"

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

#: 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 "Padrões"

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

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

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

#: dselect/pkgdisplay.cc:67
msgid "Unclassified"
msgstr "Sem classificação"

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

#: 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 "pré-depende de"

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

#: dselect/pkgdisplay.cc:75
msgid "conflicts with"
msgstr "conflita com"

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

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

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

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

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

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

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

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

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

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

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

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

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

#: dselect/pkgdisplay.cc:100
msgid "Available"
msgstr "Disponíveis"

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

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

#: dselect/pkgdisplay.cc:103
msgid "Newly available packages"
msgstr "Novos pacotes disponíveis"

#: dselect/pkgdisplay.cc:104
msgid "Updated packages (newer version is available)"
msgstr "Pacotes atualizados (nova versão está disponível)"

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

#: dselect/pkgdisplay.cc:106
msgid "Up to date installed packages"
msgstr "Pacotes instalados atualizados"

#: dselect/pkgdisplay.cc:107
msgid "Available packages (not currently installed)"
msgstr "Pacotes disponíveis (não instalados no momento)"

#: dselect/pkgdisplay.cc:108
msgid "Removed and no longer available packages"
msgstr "Pacotes removidos e não mais disponíveis"

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

#: dselect/pkgdisplay.cc:113
msgid "Removed packages (configuration still present)"
msgstr "Pacotes removidos (configuração ainda presente)"

#: dselect/pkgdisplay.cc:114
msgid "Purged packages and those never installed"
msgstr "Pacotes expurgados e os nunca instalados"

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

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

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

#: dselect/pkgdisplay.cc:199
msgid "dselect - inspection of package states"
msgstr "dselect - inspeção dos estados dos pacotes"

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

#: dselect/pkgdisplay.cc:208
msgid " (by section)"
msgstr " (por seção)"

#: dselect/pkgdisplay.cc:211
msgid " (avail., section)"
msgstr " (disp., seção)"

#: dselect/pkgdisplay.cc:214
msgid " (status, section)"
msgstr " (estado, seção)"

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

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

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

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

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

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

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

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

#: dselect/pkgdisplay.cc:260
msgid " terse:v help:?"
msgstr " resumo:v ajuda:?"

#: dselect/pkgdisplay.cc:261
msgid " verbose:v help:?"
msgstr " detalhado:v ajuda:?"

#: 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 linha que você realçou representa muitos pacotes; se você pedir para "
"instalá-la, removê-la, retê-la, etc, você afetará todos os pacotes que "
"combinam com o critério exibido.\n"
"\n"
"Se você mover o realce para uma linha de um pacote em particular você verá "
"informações sobre este pacote exibidas aqui.\n"
"Você pode usar 'o' e 'O' para mudar a ordenação e ter a oportunidade de "
"marcar pacotes em diferentes tipos de grupos."

#: dselect/pkginfo.cc:93
msgid "Interrelationships"
msgstr "Inter-relações"

#: dselect/pkginfo.cc:112
msgid "No description available."
msgstr "Nenhuma descrição disponível."

#: dselect/pkginfo.cc:130
msgid "Installed control file information"
msgstr "Informação do arquivo de controle instalado"

#: dselect/pkginfo.cc:146
msgid "Available control file information"
msgstr "Informação do arquivo de controle disponível"

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

#: dselect/pkglist.cc:507
msgid "invalid search option given"
msgstr "fornecida opção de busca inválida"

#: dselect/pkglist.cc:521
msgid "error in regular expression"
msgstr "erro na expressão regular"

#: dselect/pkgsublist.cc:107
msgid " does not appear to be available\n"
msgstr " não parece estar disponível\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 pacotes"

#: dselect/pkgtop.cc:83
#, c-format
msgid "%s packages without a section"
msgstr "Pacotes %s sem seção"

#: dselect/pkgtop.cc:85
#, c-format
msgid "%s packages in section %s"
msgstr "Pacotes %s na seção %s"

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

#: dselect/pkgtop.cc:95
#, c-format
msgid "%s %s packages without a section"
msgstr "Pacotes %s %s sem seção"

#: dselect/pkgtop.cc:97
#, c-format
msgid "%s %s packages in section %s"
msgstr "Pacotes %s %s na seção %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 "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 "EIOM"

#: dselect/pkgtop.cc:280
msgid "Section"
msgstr "Seção"

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

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

#: 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 "retornado estado de saída de erro %d.\n"

#~ msgid "was interrupted.\n"
#~ msgstr "foi interrompido.\n"

#~ msgid "was terminated by a signal: %s.\n"
#~ msgstr "foi terminado por um sinal: %s.\n"

#~ msgid "(It left a coredump.)\n"
#~ msgstr "(Deixou um \"coredump\").\n"

#~ msgid "failed with an unknown wait return code %d.\n"
#~ msgstr "falhou com um código de retorno de espera desconhecido %d.\n"

#~ msgid "unable to run %.250s process `%.250s'"
#~ msgstr "impossível executar o processo %.250s '%.250s'"

#~ msgid "failed config"
#~ msgstr "falha na configuração"

#~ msgid "unable to wait for %.250s"
#~ msgstr "impossível aguardar por %.250s"

#~ msgid "got wrong child's status - asked for %ld, got %ld"
#~ msgstr "obtive estado errado do filho - pedi por %ld, recebi %ld"

#~ msgid "Recommended"
#~ msgstr "Recomendados"

#~ 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() feito ...\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 "[nenhum]"

# Alguém tem alguma sugestão para uma boa tradução de
# un-catching neste contexto ? -- Andre
#~ msgid "error un-catching signal %d: %s\n"
#~ msgstr "erro não pegando sinal %d: %s\n"

#~ msgid "unable to ignore signal %d before running %.250s"
#~ msgstr "impossível ignorar sinal %d antes de executar %.250s"

#~ msgid "(no clientdata)"
#~ msgstr "(sem dados do cliente)"

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

#~ msgid "interrelationships affecting "
#~ msgstr "interrelações afetando "

#~ msgid "description of "
#~ msgstr "descrição de "

#~ msgid "description"
#~ msgstr "descrição"

#~ msgid "currently installed control info"
#~ msgstr "informação de controle atualmente instalada"

#~ msgid "available version of control info for "
#~ msgstr "versão disponível da informação de controle para "
