# Portuguese translations for R package.
# Copyright (C) 2005 The R Foundation
# This file is distributed under the same license as the R package.
# Fernando Henrique Ferraz P. da Rosa <feferraz@ime.usp.br>, 2005.
msgid ""
msgstr ""
"Project-Id-Version: R 2.2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-24 10:53-0700\n"
"PO-Revision-Date: 2011-03-26 08:54-0300\n"
"Last-Translator: Fernando Henrique <pessoal@fernandohrosa.com.br>\n"
"Language-Team: http://www.feferraz.net/br/P/Projeto_Traducao_R_Portugues\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Pootle 2.0.5\n"

#: class_support.c:29
msgid "calling the C routine used as an initializer for 'externalptr' objects"
msgstr ""
"chamada de rotina C usada como inicializador para objetos 'externalptr'"

#: do_substitute_direct.c:41
msgid "invalid list for substitution"
msgstr "lista para substituição inválida"

#: methods_list_dispatch.c:151
msgid ""
"could not find the skeleton calls for 'methods' (package detached?): expect "
"very bad things to happen"
msgstr ""
"não foi possível encontrar chamadas esqueleto para 'methods' (pacote "
"descarregado?): coisas muito ruins podem acontecer"

#: methods_list_dispatch.c:217
#, c-format
msgid ""
"no \"allMethods\" slot found in object of class \"%s\" used as methods list "
"for function '%s'"
msgstr ""
"nenhum slot \"allMethods\" encontrado no objeto de classe \"%s\", usado como "
"lista de métodos para a função '%s'"

#: methods_list_dispatch.c:430
#, c-format
msgid "no generic function definition found for '%s'"
msgstr "nenhuma definição genérica de função encontrada para '%s'"

#: methods_list_dispatch.c:433
#, fuzzy, c-format
msgid ""
"no generic function definition found for '%s' in the supplied environment"
msgstr ""
"Nenhuma definição genérica de função encontrada para '%s' no ambiente "
"especificado"

#: methods_list_dispatch.c:468
#, c-format
msgid ""
"invalid generic function object for method selection for function '%s': "
"expected a function or a primitive, got an object of class \"%s\""
msgstr ""
"objeto de função genérica inválido para a seleção de método da função '%s': "
"uma função ou primitiva era esperada, mas foi especificado um objeto de "
"classe \"%s\""

#: methods_list_dispatch.c:483
#, c-format
msgid "no direct or inherited method for function '%s' for this call"
msgstr ""
"nenhum método direto ou obtido por herança para a função '%s' nessa chamada"

#: methods_list_dispatch.c:513 methods_list_dispatch.c:1062
msgid "invalid object (non-function) used as method"
msgstr "objeto inválido (não-função) usado como método"

#: methods_list_dispatch.c:534
#, c-format
msgid "could not find symbol '%s' in frame of call"
msgstr "não foi possível encontrar o símbolo '%s' no escopo da chamada"

#: methods_list_dispatch.c:542
#, c-format
msgid ""
"invalid symbol in checking for missing argument in method dispatch: expected "
"a name, got an object of class \"%s\""
msgstr ""
"símbolo inválido na verificação de argumento faltante no dispacho de método: "
"um nome era esperado, mas foi especificado um objeto de classe \"%s\""

#: methods_list_dispatch.c:545
msgid "use of NULL environment is defunct"
msgstr "uso do ambiente NULL foi extinto"

#: methods_list_dispatch.c:549
#, c-format
msgid ""
"invalid environment in checking for missing argument, '%s', in methods "
"dispatch: got an object of class \"%s\""
msgstr ""
"ambiente inválido na verificação de argumento faltante, '%s',  no "
"despachamento dos métodos: foi especificado um objeto de classe \"%s\""

#: methods_list_dispatch.c:575
#, c-format
msgid ""
"object of class \"%s\" used as methods list for function '%s' ( no "
"'argument' slot)"
msgstr ""
"objeto de classe \"%s\" usado como lista de métodos para a função '%s' (sem "
"slot 'argument')"

#: methods_list_dispatch.c:586
#, c-format
msgid ""
"(in selecting a method for function '%s') '...' and related variables cannot "
"be used for methods dispatch"
msgstr ""
"(na seleção de um método para a função '%s') '...' e variáveis relacionadas "
"não podem ser usadas no despachamento dos métodos"

#: methods_list_dispatch.c:589
#, c-format
msgid ""
"(in selecting a method for function '%s') the 'environment' argument for "
"dispatch must be an R environment; got an object of class \"%s\""
msgstr ""
"(na seleção de um método para a função '%s') o argumento 'environment' para "
"o dispachamento deve ser um ambiente R; foi obtido um objeto de classe \"%s\""

#: methods_list_dispatch.c:603 methods_list_dispatch.c:615
#: methods_list_dispatch.c:1008
#, c-format
msgid ""
"error in evaluating the argument '%s' in selecting a method for function "
"'%s': %s"
msgstr ""
"erro na avaliação do argumento '%s' na seleção do método para a função '%s': "
"'%s'"

#: methods_list_dispatch.c:623
#, c-format
msgid "no matching method for function '%s' (argument '%s', with class \"%s\")"
msgstr ""
"nenhum método correspondente encontrado para a função '%s' (argumento '%s', "
"com classe \"%s\")"

#: methods_list_dispatch.c:630
#, c-format
msgid ""
"recursive use of function '%s' in method selection, with no default method"
msgstr ""
"uso recursivo da função '%s' na seleção do método, sem um método padrão"

#: methods_list_dispatch.c:701
#, c-format
msgid "error in evaluating a 'primitive' next method: %s"
msgstr "erro na avaliação de um próximo método 'primitive': %s"

#: methods_list_dispatch.c:801
#, c-format
msgid "'%s' must be a single string (got a character vector of length %d)"
msgstr ""
"'%s' deve ser uma única string (foi especificado um vetor de caracteres de "
"comprimento %d)"

#: methods_list_dispatch.c:805
#, c-format
msgid "'%s' must be a non-empty string; got an empty string"
msgstr "'%s' deve ser uma string não-vazia; foi obtida uma string vazia"

#: methods_list_dispatch.c:809
#, c-format
msgid "'%s' must be a single string (got an object of class \"%s\")"
msgstr "'%s' deve ser uma string única (foi obtido um objeto da classe \"%s\")"

#: methods_list_dispatch.c:886
#, fuzzy
msgid "class should be either a character-string name or a class definition"
msgstr ""
"Class deve ser ou um nome cadeia de caracteres ou uma definição de classe"

#: methods_list_dispatch.c:966
#, fuzzy, c-format
msgid "failed to get the generic for the primitive \"%s\""
msgstr "Falha ao obter a genérica primitiva '%s"

#: methods_list_dispatch.c:973
#, fuzzy, c-format
msgid ""
"expected a generic function or a primitive for dispatch, got an object of "
"class \"%s\""
msgstr ""
"Esperada uma função genérica ou uma primitiva para despachamento, mas foi "
"obtido um objeto de classe \"%s\""

#~ msgid ""
#~ "in processing 'callNextMethod', found a '...' in the matched call, but no "
#~ "corresponding '...' argument"
#~ msgstr ""
#~ "no processamento de 'callNextMethod', encontrado um '...' na chamada "
#~ "correspondente, mas nenhum argumento '...' foi encontrado"

#~ msgid ""
#~ "S language method selection got an error when called from internal "
#~ "dispatch for function '%s'"
#~ msgstr ""
#~ "Seleção de método na linguagem S retornou um erro quando chamada a partir "
#~ "do método de dispacho interno da função '%s'"

#~ msgid ""
#~ "internal error in 'callNextMethod': '.nextMethod' was not assigned in the "
#~ "frame of the method call"
#~ msgstr ""
#~ "erro interno em 'callNextMethod': '.nextMethod' não foi atribuído no "
#~ "escopo da chamada do método"

#~ msgid ""
#~ "Generic \"%s\" seems not to have been initialized for table dispatch---"
#~ "need to have .SigArgs and .AllMtable assigned in its environment"
#~ msgstr ""
#~ "Genérica \"%s\" aparenta não ter sido inicializada para despachamento de "
#~ "tabela -- precisa ter um .SigArgs e .AllMtable atributos no seu ambiente"

#~ msgid "no '%s' object in environment of function '%s'"
#~ msgstr "nenhum objeto '%s' no ambiente da função '%s'"
