# PT translation for dpkg.
# Copyright (C) 2004 Free Software Foundation, Inc.
# Miguel Figueiredo <elmig@debianpt.org>, 2004-2008.
#
msgid ""
msgstr ""
"Project-Id-Version: dselect\n"
"Report-Msgid-Bugs-To: debian-dpkg@lists.debian.org\n"
"POT-Creation-Date: 2011-10-14 07:11+0200\n"
"PO-Revision-Date: 2008-12-27 16:05+0000\n"
"Last-Translator: Miguel Figueiredo <elmig@debianpt.org>\n"
"Language-Team: Portuguese <traduz@debianpt.org>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: dselect/basecmds.cc:125
msgid "Search for ? "
msgstr "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 ""
"Tecla ? para menu ajuda, . para próximo tópico, <espaço> sair da ajuda."

#: dselect/basecmds.cc:191
msgid "Help information is available under the following topics:"
msgstr "Informação de ajuda está disponível sob os 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 ""
"Carregue numa tecla da lista acima, <espaço> ou `q' para sair da ajuda,\n"
"  ou `.' (ponto final) para ler de cada vez uma página de ajuda."

#: dselect/basecmds.cc:205
msgid "error reading keyboard in help"
msgstr "erro lendo o 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 SIGWINCH handler falhou"

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

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

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

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

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

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

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

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

#: dselect/baselist.cc:171
msgid "failed to create whatinfo window"
msgstr "falhou criar a 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 query"

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

#: 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 atrás"

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

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

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

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

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

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

#: dselect/bindings.cc:143
msgid "Go to top of list"
msgstr "Ir para o inicio da lista"

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

#: dselect/bindings.cc:145
msgid "Request help (cycle through help screens)"
msgstr "Pedir ajuda (percorrer os ecrãs de ajuda)"

#: dselect/bindings.cc:146
msgid "Cycle through information displays"
msgstr "Percorrer através das páginas de informação"

#: dselect/bindings.cc:147
msgid "Redraw display"
msgstr "Redesenhar o ecrã"

#: dselect/bindings.cc:148
msgid "Scroll onwards through list by 1 line"
msgstr "Scroll em frente na lista por 1 linha"

#: dselect/bindings.cc:149
msgid "Scroll backwards through list by 1 line"
msgstr "Scroll para trás na lista por 1 linha"

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

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

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

#: dselect/bindings.cc:153
msgid "Scroll backwards through list"
msgstr "Scroll para trás 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 desinstalar e apagar"

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

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

#: dselect/bindings.cc:161
msgid "Search for a package whose name contains a string"
msgstr "Procurar por pacotes cujo nome contenham uma string"

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

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

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

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

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

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

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

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

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

#: dselect/bindings.cc:174
msgid "Select currently-highlighted access method"
msgstr "Seleccionar o método de acesso actualmente destacado"

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

#: dselect/helpmsgs.cc:29
msgid "Keystrokes"
msgstr "Combinações de teclas"

#: dselect/helpmsgs.cc:29
msgid ""
"Motion keys: Next/Previous, Top/End, Up/Down, Backwards/Forwards:\n"
"  j, Down-arrow         k, Up-arrow             move highlight\n"
"  N, Page-down, Space   P, Page-up, Backspace   scroll list by 1 page\n"
"  ^n                    ^p                      scroll list by 1 line\n"
"  t, Home               e, End                  jump to top/end of list\n"
"  u                     d                       scroll info by 1 page\n"
"  ^u                    ^d                      scroll info by 1 line\n"
"  B, Left-arrow         F, Right-arrow          pan display by 1/3 screen\n"
"  ^b                    ^f                      pan display by 1 character\n"
"\n"
"Mark packages for later processing:\n"
" +, Insert  install or upgrade      =, H  hold in present state\n"
" -, Delete  remove                  :, G  unhold: upgrade or leave "
"uninstalled\n"
" _          remove & purge config\n"
"                                             Miscellaneous:\n"
"Quit, exit, overwrite (note capitals!):       ?, F1 request help (also "
"Help)\n"
" Return  Confirm, quit (check dependencies)   i, I  toggle/cycle info "
"displays\n"
"   Q     Confirm, quit (override dep.s)       o, O  cycle through sort "
"options\n"
" X, Esc  eXit, abandoning any changes made    v, V  change status display "
"opts\n"
"   R     Revert to state before this list      ^l   redraw display\n"
"   U     set all to sUggested state             /   search (Return to "
"cancel)\n"
"   D     set all to Directly requested state  n, \\  repeat last search\n"
msgstr ""
"Teclas de movimento: Próx./Anterior, Topo/Final, Cima/Baixo, Trás/Frente:\n"
"  j, Seta-baixo         k, Seta-cima            mover destaque\n"
"  N, Page-down, Espaço  P, Page-up, Backspace   rolar lista em 1 página\n"
"  ^n                    ^p                      rolar lista em 1 linha\n"
"  t, Home               e, End                  saltar p/ topo/final da "
"lista\n"
"  u                     d                       rolar info. em 1 página\n"
"  ^u                    ^d                      rolar info. em 1 linha\n"
"  B, Seta-esquerda      F, Seta-direita         mover ecrã em 1/3\n"
"  ^b                    ^f                      mover ecrã em 1 caracter\n"
"\n"
"Marcar pacotes para processamento posterior:\n"
" +, Insert  instalar ou actualizar   =, H  manter no estado actual\n"
" -, Delete  remover                  :, G  largar: actualizar ou deixar "
"desinstalado\n"
" _          remover & purgar configuração\n"
"                                            Miscelânea:\n"
"Quit, exit, sobrescrever (note maiúsc.!)     ?, F1 pedir ajuda (também "
"Ajuda)\n"
" Return  Confirm, sair (verificar depend.)   i, I  muda/circula por telas de "
"opções.\n"
"   Q     Confirma, deixa (ignora depend.)    o, O  circ. por opc. de "
"classif.\n"
" X, Esc, eXit, abandonar alterações          v, V mudar opções de mostrar "
"estado\n"
"   R     Reverte ao estado antes desta lista ^l   redesenhar ecrã\n"
"   U     colocar tudo no estado sUgerido      /    procurar (Enter p/"
"cancelar)\n"
"   D     colocar tudo em est. Directamente req. n, \\ repetir última "
"procura\n"

#: dselect/helpmsgs.cc:55
msgid "Introduction to package selections"
msgstr "Introdução à selecção 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 à listagem principal de pacotes do dselect.\n"
"\n"
"Ser-lhe-á apresentada uma lista de pacotes que estão instalados ou "
"disponíveis\n"
"para instalação.  Você pode navegar pela lista usando as teclas de cursor,\n"
"marcar pacotes para instalação (usando `+') ou desinstalação (usando `-').\n"
"\n"
"Os pacotes podem ser marcados individualmente ou em grupos; inicialmente\n"
"você irá ver que a linha `Todos os pacotes' está selecionada.\n"
"\n"
"Algumas das suas escolhas irão causar conflitos ou problemas de\n"
"dependências; ser-lhe-á dada uma sub-lista dos pacotes relevantes, para que\n"
"você resolva os problemas.\n"
"\n"
"Você deve ler a lista de teclas e as explicações do ecrã.\n"
"Está disponível muita ajuda on-line, por favor faça uso disso - em qualquer\n"
"altura carregue em `?' para ajuda.\n"
"\n"
"Quando tiver terminado de escolher os pacotes, carregue em <enter> para\n"
"confirmar as alterações, ou `X' para sair sem gravar as alterações. Será\n"
"feita uma verificação final de conflitos e de dependências - também aqui\n"
"poderá ver uma sub-lista.\n"
"\n"
"Carregue em <espaço> para sair da ajuda e entrar agora na lista.\n"

#: dselect/helpmsgs.cc:80
msgid "Introduction to read-only package list browser"
msgstr "Introdução ao navegador de lista de pacotes só de 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-lhe-à apresentada uma lista dos 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 actualizar o estado dos pacotes, está em modo de somente \n"
"leitura.  Pode navegar pela lista usando as teclas de cursor (por favor \n"
"veja o ecrã de ajuda `Teclas de atalho'), observar o estado dos pacotes e \n"
"ler informações sobre os mesmos.\n"
"\n"
"Você deve ler a lista de teclas e as explicações do ecrã.\n"
"Está disponível muita ajuda on-line, faça uso dela - carregue em qualquer\n"
"altura em `?' para ajuda.\n"
"\n"
"Quando acabar de navegar, carregue em `Q' ou <enter> para sair.\n"
"\n"
"Carregue em <enter> para deixar a ajuda e entrar agora na lista.\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 uma das suas escolhas  levantaram um problema de conflito ou\n"
"de dependências - alguns pacotes só devem ser instalados em conjunto com\n"
"outros, e algumas combinações de pacotes não podem ser instaladas ao mesmo "
"tempo.\n"
"\n"
"Você irá ver uma sub-lista com os pacotes envolvidos.  A metade inferior do\n"
"ecrã mostra os conflitos e dependências relevantes; use `i' para alternar\n"
"entre estes, 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\n"
"nessa sub-lista foram estabelecidas para coincidir com essas, por isso, se\n"
"desejar, pode apenas carregar em Return para aceitar as sugestões.  Você\n"
"pode abortar a(s) mudança(s) que causou/causaram o(s) problema(s), e\n"
"voltar para a lista principal, carregando na maiúscula `X'.\n"
"\n"
"Você também pode movimentar-se pela lista e mudar as marcações de modo que\n"
"estas estejam mais de acordo com o que você quer, e pode `rejeitar' as\n"
"minhas sugestões utilizando as teclas `D' or `R' (veja o ecrã de ajuda de\n"
"atribuições de teclas).  Pode utilizar `Q' maiúsculo para me forçar a\n"
"aceitar a situação actualmente mostrada, no caso de você querer ultrapassar\n"
"uma recomendação ou pensar que o programa está enganado.\n"
"\n"
"Carregue em <espaço> para sair da ajuda e entrar na sub-lista; lembre-se: "
"para ajuda carregue em `?'.\n"

#: dselect/helpmsgs.cc:125
msgid "Display, part 1: package listing and status chars"
msgstr "Visualização, parte 1: lista de pacotes e caracteres de status"

#: dselect/helpmsgs.cc:125
msgid ""
"The top half of the screen shows a list of packages.  For each package you "
"see\n"
"four columns for its current status on the system and mark.  In terse mode "
"(use\n"
"`v' to toggle verbose display) these are single characters, from left to "
"right:\n"
"\n"
" Error flag: Space - no error (but package may be in broken state - see "
"below)\n"
"              `R'  - serious error during installation, needs "
"reinstallation;\n"
" Installed state:     Space    - not installed;\n"
"                       `*'     - installed;\n"
"                       `-'     - not installed but config files remain;\n"
"   packages in these { `U'     - unpacked but not yet configured;\n"
"   states are not    { `C'     - half-configured (an error happened);\n"
"   (quite) properly  { `I'     - half-installed (an error happened);\n"
"   installed         { `W',`t' - triggers are awaited resp. pending.\n"
" Old mark: what was requested for this package before presenting this list;\n"
" Mark: what is requested for this package:\n"
"  `*': marked for installation or upgrade;\n"
"  `-': marked for removal, but any configuration files will remain;\n"
"  `=': on hold: package will not be processed at all;\n"
"  `_': marked for purge completely - even remove configuration;\n"
"  `n': package is new and has yet to be marked for install/remove/&c.\n"
"\n"
"Also displayed are each package's Priority, Section, name, installed and\n"
"available version numbers (shift-V to display/hide) and summary "
"description.\n"
msgstr ""
"A metade superior do ecraã mostra uma lista de pacotes. Para cada pacote vê\n"
"quatro colunas para seu estado actual no sistema e marcação.  No modo "
"resumido\n"
"(use `v' para comutar a exibição detalhada) esses são caracteres simples, "
"da\n"
"esquerda para a direita:\n"
"\n"
" Marca de Erro: Espaço - sem erros (mas o pacote pode estar no estado "
"estragado\n"
"(broken) - veja abaixo)\n"
"                `R'    - erro sério durante a instalação, requer "
"reinstalação;\n"
" Estado Instalado:   \tEspaço\t  - não instalado;\n"
"                       `*'\t  - instalado;\n"
"                        `-'\t  - não instalado mas os ficheiros de\n"
"\t\t\t\t    configuração mantêm-se;\n"
"  os pacotes\t\t{ `U'     - descompactado mas ainda não configurado;\n"
"  nestes estados\t{ `C'     - semi-configurado (ocorreu um erro);\n"
"  não estão bem \t{ `I'\t  - semi-instalado (ocorreu um erro).\n"
"  instalados\t\t{ `W',`t' - são esperados triggers, responta pendente.\n"
" Marca antiga: o que foi pedido para este pacote antes de apresentar esta "
"lista;\n"
" Marca: o que é pedido para este pacote:\n"
"  `*': marcado para instalação ou actualização;\n"
"  `-': marcado para remoção, mas os arquivos de configuração ficarão;\n"
"  `=': manter: o pacote não será processado;\n"
"  `_': marcado para purgar por completo - remover até a configuração;\n"
"  `n': o pacote é novo e ainda e ainda não foi marcado para instalação/"
"remoção/&c.\n"
"\n"
"Também são exibidas cada Prioridade, Secção, nome, número da versão\n"
"instalada e da disponível de cada pacote (shift-V para mostrar/esconder)\n"
"e a descrição resumida.\n"

#: dselect/helpmsgs.cc:152
msgid "Display, part 2: list highlight; information display"
msgstr "Visualização, parte 3: Destacar na lista; mostra 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 ""
"* Destaque: Uma linha na lista de pacotes será destacada. Ela indica\n"
"  qual(is) pacote(s) será(ão) afectado(s) pelas teclas `+', '-' e `_'.\n"
"\n"
"* A linha divisória no meio da tela mostra uma explicação breve do\n"
"  estado do pacote actualmente destacado, ou uma descrição do grupo que\n"
"  estiver destacado, se uma linha de grupo estiver. Se você não entender o\n"
"  significado de alguns dos caracteres de estado mostrados, vá ao pacote\n"
"  em questão e olhe para esta linha divisória, ou use a tecla `v' para uma\n"
"  exibição mais detalhada (pressione `v' novamente para voltar ao modo "
"resumido).\n"
"\n"
"* A parte de baixo da tela mostra mais informação sobre o pacote\n"
"  actualmente destacado (se apenas um estiver destacado).\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 "
"disponível\n"
"  do pacote), ou informação sobre conflitos e dependências envolvendo o\n"
"  pacote actual (em sublistas de resolução de conflitos/dependências).\n"
"\n"
"  Use a tecla `i' para circular pelas telas, e `I' para esconder essa\n"
"  tela de informação ou expandí-la por quase toda a tela.\n"

#: dselect/helpmsgs.cc:176
msgid "Introduction to method selection display"
msgstr "Introdução ao acrã de métodos de selecção"

#: 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ção automática, carregando os ficheiros "
"de\n"
"pacote a serem instalados de uma série de lugares possíveis e diferentes.\n"
"\n"
"Essa lista permite a você selecionar um desses métodos de instalação.\n"
"\n"
"Mova o destaque para o método que desejar, e carregue em Enter. Você será "
"então\n"
"questionado sobre as informações necessárias para a instalação.\n"
"\n"
"Enquanto você move o destaque uma descrição de cada método, quando "
"disponível,\n"
"é exibida na parte de baixo da tela.\n"
"\n"
"Se você quiser sair sem mudar nada use a tecla `x' enquanto estiver na "
"lista\n"
"de métodos de instalação.\n"
"\n"
"Uma lista completa de teclas está disponível se pressionar `k' agora, ou no "
"menu\n"
"de ajuda acessível pressionando `?'.\n"

#: dselect/helpmsgs.cc:196
msgid "Keystrokes for method selection"
msgstr "Teclas para selecçã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óx./Anterior, Topo/Final, Cima/Baixo, Trás/"
"Frente:\n"
"  j, Seta-baixo         k, Seta-cima            mover destaque\n"
"  N, Page-down, Espaço  P, Page-up, Backspace   rolar lista em 1 página\n"
"  ^n                    ^p                      rolar lista em 1 linha\n"
"  t, Home               e, End                  saltar p/topo/final da "
"lista\n"
"  u                     d                       rolar info. em 1 página\n"
"  ^u                    ^d                      rolar info. em 1 linha\n"
"  B, Seta-esquerda      F, Seta-direita         rolar 1/3 da tela p/o lado\n"
"  ^b                    ^f                      rolar 1 caractere p/o lado\n"
"(Estas são as mesmas teclas de movimentação da tela da lista de pacotes.)\n"
"\n"
"Sair:\n"
" Return, Enter    seleccionar esse método e vai para sua configuração\n"
" x, X             sair sem mudar ou definirr o método de instalação\n"
"\n"
"Miscelânea:\n"
"  ?, Ajuda, F1    pedir ajuda\n"
" ^l               redesenhar a tela\n"
"  /               procurar (enter para cancelar)\n"
"  \\               repetir última busca\n"

#: dselect/main.cc:60
msgid "Type dselect --help for help."
msgstr "Escreva 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 "Escolha o método a utilizar."

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

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

#: dselect/main.cc:144
msgid "Update list of available packages, if possible."
msgstr "Actualizar a 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]eleccionar"

#: dselect/main.cc:145
msgid "Request which packages you want on your system."
msgstr "Solicite quais pacotes quer no 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 actualizar os pacotes desejados."

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

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

#: dselect/main.cc:147
msgid "Configure any packages that are unconfigured."
msgstr "Configura pacotes ainda não configurados."

#: 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 software não desejado"

#: 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 "Frontend de gestão de pacotes 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 ""
"Isto é software livre; veja a GNU General Public License versão 2 ou\n"
"posterior para condições de cópia. Não existe 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 ""
"Utilização: %s [<opção> ...] [<acçã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 <directório>    Usar <directório> em vez de %s.\n"
"  --expert                   Ligar o modo de especialista.\n"
"  --debug <ficheiro> | -D<ficheiro> Ligar o debugging, enviar a saída "
"para                              <ficheiro>.\n"
"  --colour | --color screenpart:[foreground],[background][:attr[+attr+..]]\n"
"                             Configurar as cores do ecrã.\n"
"\n"

#: dselect/main.cc:196
#, fuzzy, c-format
msgid ""
"  --help                     Show this help message.\n"
"  --version                  Show the version.\n"
"\n"
msgstr ""
"  --help\t\t      Mostrar esta mensagem de ajuda.\n"
"  --version                  Mostrar a versão.\n"
"  --license | --licence      Mostrar a licença.\n"
"\n"

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

#: dselect/main.cc:205
#, c-format
msgid "Screenparts:\n"
msgstr "Screenparts:\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 pode abrir ficheiro de debug `%.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 "screen part"

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

#: dselect/main.cc:329
msgid "Terminal does not appear to support cursor addressing.\n"
msgstr "O terminal não parece suportar endereçamento do cursor.\n"

#: dselect/main.cc:331
msgid "Terminal does not appear to support highlighting.\n"
msgstr "O terminal não parece suportar 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 correctamente a veriável TERM, utilize um terminal melhor,\n"
"ou faça-o com a ferramente de gestão por pacote %s.\n"

#: dselect/main.cc:336
msgid "terminal lacks necessary features, giving up"
msgstr "o terminal carece de funcionalidades necessárias, 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 de cursor, letras iniciais, ou digitos;\n"
"Carregue em <enter> para confirmar a selecção.   ^L re-desenha o ecrã.\n"

#: dselect/main.cc:428
msgid ""
"\n"
"\n"
"Read-only access: only preview of selections is available!"
msgstr ""
"\n"
"\n"
"Acesso apenas de leitura: só está disponível a visualização!"

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

#: dselect/main.cc:531
#, c-format
msgid "unknown action string `%.50s'"
msgstr "string de acçã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 "falhou doupdate"

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

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

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

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

#: dselect/method.cc:161
#, c-format
msgid "Press <enter> to continue.\n"
msgstr "Carregue em <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 actualização de 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 query/setup"

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

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

#: dselect/methparse.cc:90
#, c-format
msgid "unable to read `%.250s' directory for reading methods"
msgstr "não foi possível ler o directó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 ""
"o método `%.250s' tem um nome que é demasiado comprido (%d > %d caracteres)"

#: dselect/methparse.cc:117
#, c-format
msgid "unable to access method script `%.250s'"
msgstr "não foi possível aceder ao script do método `%.250s'"

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

#: dselect/methparse.cc:147
msgid "non-digit where digit wanted"
msgstr "não dígito onde é esperado dígito"

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

#: dselect/methparse.cc:153
msgid "index string too long"
msgstr "index da string demasiado comprido"

#: dselect/methparse.cc:156
msgid "newline before option name start"
msgstr "newline antes antes de começar nome de opção"

#: dselect/methparse.cc:158
msgid "EOF before option name start"
msgstr "EOF antes de começar nome de opção"

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

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

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

#: dselect/methparse.cc:172
msgid "newline before summary"
msgstr "newline 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 - falta newline"

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

#: dselect/methparse.cc:194
#, c-format
msgid "unable to stat option description file `%.250s'"
msgstr ""
"não foi possível fazer stat ao ficheiro de descrição de opções `%.250s'"

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

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

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

#: dselect/methparse.cc:247
#, c-format
msgid "unable to open current option file `%.250s'"
msgstr "não foi possível abrir o ficheiro de opções actual `%.250s'"

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

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

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

#: dselect/methparse.cc:297
#, c-format
msgid "unable to install new option as `%.250s'"
msgstr "não foi possí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 "manter"

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

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

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

#: dselect/pkgdisplay.cc:48
msgid "REINSTALL"
msgstr "REINSTALAR"

#: dselect/pkgdisplay.cc:51
msgid "not installed"
msgstr "não instalado"

#: dselect/pkgdisplay.cc:52
msgid "removed (configs remain)"
msgstr "removido (as configurações mantém-se)"

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

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

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

#: dselect/pkgdisplay.cc:56
msgid "awaiting trigger processing"
msgstr "a aguardar o processamento de 'trigger'"

#: dselect/pkgdisplay.cc:57
msgid "triggered"
msgstr "feito o 'trigger'"

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

#: dselect/pkgdisplay.cc:61
msgid "Required"
msgstr "Necessário"

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

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

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

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

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

#: dselect/pkgdisplay.cc:67
msgid "Unclassified"
msgstr "Não classificado"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#: 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 actualizados (está disponível versão mais recente)"

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

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

#: dselect/pkgdisplay.cc:108
msgid "Removed and no longer available packages"
msgstr "Pacotes removidos e que já não estão 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 purgados e os que nunca foram instalados"

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

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

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

#: dselect/pkgdisplay.cc:199
msgid "dselect - inspection of package states"
msgstr "dselect - inspecção de estado 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 secção)"

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

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

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

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

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

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

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

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

#: 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:+/=/- detalhe:v ajuda:?"

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

#: dselect/pkgdisplay.cc:261
msgid " verbose:v help:?"
msgstr " detalhe: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 seleccionou representa muitos pacotes; se pedir para instalar, "
"remover, manter, etc vai afectar os pacotes que coincidam com o critério "
"mostrado.\n"
"\n"
"Se mover a selecção para uma linha de um pacote individual verá a informação "
"acerca desse pacote mostrada aqui.\n"
"Pode utilizar 'o' e 'O' para modificar a ordenação e dar a você prório a "
"oportunidade de marcar pacotes em diferentes tipos de grupos."

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

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

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

#: dselect/pkginfo.cc:146
msgid "Available control file information"
msgstr "informação 'Available' do ficheiro de controle"

#: 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 em 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 "%s pacotes sem secção"

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

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

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

#: dselect/pkgtop.cc:97
#, c-format
msgid "%s %s packages in section %s"
msgstr "%s %s pacotes na secção %s"

#: dselect/pkgtop.cc:118
#, c-format
msgid "%-*s %s%s%s;  %s (was: %s).  %s"
msgstr "%-*s %s%s%s;  %s (foi: %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 "Secçã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 "Vers.Inst"

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

#~ msgid "returned error exit status %d.\n"
#~ msgstr "o erro retornou o status de saída %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 %d desconhecido de wait.\n"

#~ msgid "unable to run %.250s process `%.250s'"
#~ msgstr "não foi possível correr %.250s processo `%.250s'"

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

#~ msgid "unable to wait for %.250s"
#~ msgstr "não foi possível esperar por %.250s'"

#~ msgid "got wrong child's status - asked for %ld, got %ld"
#~ msgstr "recebeu o status do filho errado - pedido por %ld, recebeu %ld"

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

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

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

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

#~ msgid ""
#~ "baselist::startdisplay() done ...\n"
#~ "\n"
#~ " xmax=%d, ymax=%d;\n"
#~ "\n"
#~ " title_height=%d, colheads_height=%d, list_height=%d;\n"
#~ " thisstate_height=%d, info_height=%d, whatinfo_height=%d;\n"
#~ "\n"
#~ " colheads_row=%d, thisstate_row=%d, info_row=%d;\n"
#~ " whatinfo_row=%d, list_row=%d;\n"
#~ "\n"
#~ msgstr ""
#~ "baselist::startdisplay() 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]"

#~ msgid "error un-catching signal %d: %s\n"
#~ msgstr "erro, `un-catching' o sinal %d: %s\n"

#~ msgid "unable to ignore signal %d before running %.250s"
#~ msgstr "não foi possível ignorar o sinal %d antes de correr %.250s"

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

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

#~ msgid "interrelationships affecting "
#~ msgstr "interrelacionamentos afectando"

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

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

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

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