# Chinese translations for R package
# Copyright (C) 2006 The R Foundation
# This file is distributed under the same license as the PACKAGE package.
# 陈斐 <feic@avaya.com>, 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: R 2.4.0\n"
"Report-Msgid-Bugs-To: bugs.r-project.org\n"
"POT-Creation-Date: 2013-03-07 08:37\n"
"PO-Revision-Date: 2005-02-04 08:37+0000\n"
"Last-Translator: 陈斐 <feic@avaya.com>\n"
"Language-Team: Chinese\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"

msgid ""
"some named arguments in 'fixed' are not arguments to the supplied log-"
"likelihood"
msgstr "'fixed'里的一些带名参数不是给所提供的对数似然作为参数来用的"

msgid "'start' must be a named list"
msgstr "'start'必需是带名串列"

msgid ""
"some named arguments in 'start' are not arguments to the supplied log-"
"likelihood"
msgstr "'start'里的一些带名参数不是给所提供的对数似然作为参数来用的"

msgid ""
"profiling has found a better solution, so original fit had not converged"
msgstr "通过靠模切削找到了一个更好的答案，因此原来的拟合没有收敛"

msgid "levels truncated to positive values only"
msgstr "阶层截为正数值"

msgid "extra arguments discarded"
msgstr "多余的参数略过不用"
