# 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: 2018-03-29 07:06-0700\n"
"PO-Revision-Date: 2011-03-26 08:57-0300\n"
"Last-Translator: Fernando Henrique Ferraz P. da Rosa <feferraz@.ime.usp.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: Translate Toolkit 1.7.0\n"

#: splines.c:154
msgid "'ord' must be a positive integer"
msgstr "'ord' deve ser um inteiro positivo"

#: splines.c:222
#, c-format
msgid "derivs = %d >= ord = %d, but should be in {0,..,ord-1}"
msgstr ""

#: splines.c:225
#, c-format
msgid "derivs[%d] = %d >= ord = %d, but should be in {0,..,ord-1}"
msgstr ""
