# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The R Foundation
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: R 2.11.0\n"
"Report-Msgid-Bugs-To: bugs.r-project.org\n"
"POT-Creation-Date: 2021-02-01 13:59+0000\n"
"PO-Revision-Date: 2011-03-26 08:58-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"

#: tcltk.c:70
msgid "parse error in R expression"
msgstr "erro de análise na expressão R"

#: tcltk.c:179 tcltk.c:257
msgid "tcl error.\n"
msgstr "erro tcl.\n"

#: tcltk.c:208 tcltk.c:283 tcltk.c:300 tcltk.c:320 tcltk.c:340 tcltk.c:415
#: tcltk.c:480 tcltk.c:534 tcltk.c:773
msgid "invalid argument"
msgstr "argumento inválido"

#: tcltk.c:290
msgid "no such variable"
msgstr ""

#: tcltk.c:322 tcltk.c:342 tcltk.c:417 tcltk.c:482 tcltk.c:536
msgid "invalid tclObj -- perhaps saved from another session?"
msgstr "objeto tclObj inválido - talvez salvo em outra sessão?"

#: tcltk.c:646
msgid "argument list is too long in tcltk internal function 'callback_closure'"
msgstr ""
"lista de argumentos muito longa na função tcltk interna: 'callback_closure'"

#: tcltk.c:679
msgid "argument is not of correct type"
msgstr "argumento não é do tipo correto"

#: tcltk.c:731
msgid "no DISPLAY variable so Tk is not available"
msgstr "sem variável DISPLAY então Tk não está disponível"

#: tcltk_unix.c:94
msgid "Tcl is not loaded"
msgstr "Tcl não está carregado"

# Handler ~ Gerenciador ?
#: tcltk_unix.c:98
msgid "Tcl is not last loaded handler"
msgstr "Tcl não é o último gerenciador carregado"

#~ msgid "Tcl already loaded"
#~ msgstr "Tcl já está carregado"
