# Chinese translations for R package
# Copyright (C) 2006 The R Foundation
# This file is distributed under the same license as the PACKAGE package.
# 陈斐 <feic@normipaiva.com>, 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: R 2.4.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-24 10:54-0700\n"
"PO-Revision-Date: 2005-02-04 08:37+0000\n"
"Last-Translator: 陈斐 <feic@normipaiva.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"

#: Srunmed.c:63
msgid "bandwidth/span of running medians is larger than n"
msgstr "移动中位数的帶寬/跨距的值不能大于n"

#: Srunmed.c:262
#, c-format
msgid "runmed(x, .., na.action=\"na.fail\"): have NAs starting at x[%ld]"
msgstr ""

#: Srunmed.c:265
msgid "runmed(): invalid 'na.action'"
msgstr ""

#: Srunmed.c:315
#, c-format
msgid "na_action logic error (%d), please report!"
msgstr ""

#: ansari.c:118
msgid "probabilities outside [0,1] in qansari()"
msgstr "qansari()里的概率值在[0,1]范围外"

#: approx.c:114
msgid "approx(): invalid f value"
msgstr "approx(): f值不对"

#: approx.c:117
msgid "approx(): invalid interpolation method"
msgstr "approx(): 内插方法不对"

#: approx.c:124
msgid "approx(): attempted to interpolate NA values"
msgstr "approx(): 不能内插NA值"

#: approx.c:128
msgid "approx(x,y, .., na.rm=FALSE): NA values in x are not allowed"
msgstr ""

#: arima.c:81 arima.c:192 arima.c:377 arima.c:608 optim.c:39
msgid "invalid argument type"
msgstr "参数种类不对"

#: arima.c:444 arima.c:530 pacf.c:324 pacf.c:363
msgid "can only transform 100 pars in arima0"
msgstr "arima0里只能转换100个参数"

#: arima.c:1016
msgid "maximum supported lag is 350"
msgstr "滞后不能大于350"

#: bandwidths.c:126
#, c-format
msgid "non-finite x[%d] in bandwidth calculation"
msgstr ""

#: complete_cases.c:26
#, c-format
msgid "invalid 'type' (%s) of argument"
msgstr "'type'(%s)参数不对"

#: complete_cases.c:120
msgid "no input has determined the number of cases"
msgstr "无法用输入来确定个案数目"

#: complete_cases.c:223
msgid "not all arguments have the same length"
msgstr "不是所有的参数都一样长"

#: cov.c:569
msgid "missing observations in cov/cor"
msgstr "cov/cor中有遗漏值"

#: cov.c:650
msgid "'x' is NULL"
msgstr "'x'为NULL"

#: cov.c:682 cov.c:688
msgid "incompatible dimensions"
msgstr "不兼容的量度"

#: cov.c:707 cov.c:748 cov.c:781
msgid "no complete element pairs"
msgstr "不存在完的一对"

#: cov.c:720
msgid "invalid 'use' (computational method)"
msgstr "'use'不对(计算方法)"

#: cov.c:723
msgid "'x' is empty"
msgstr "'x'是空的"

#: cov.c:817
msgid "the standard deviation is zero"
msgstr "标准差为零"

#: deriv.c:158
msgid "invalid form in unary minus check"
msgstr "检查一进列减号时发现形式不对"

#: deriv.c:682
#, c-format
msgid "Function '%s' is not in the derivatives table"
msgstr "微分表里没有这个函数'%s'"

#: deriv.c:789
#, c-format
msgid "expression must not be type '%s'"
msgstr ""

#: deriv.c:792
msgid "variable must be a character string"
msgstr "变数必需是字符串"

#: deriv.c:794
msgid "only the first element is used as variable name"
msgstr "只用了第一个元素作为变数名"

#: deriv.c:807
#, c-format
msgid "invalid expression in '%s'"
msgstr "'%s'的表达式不对"

#: deriv.c:1085 model.c:99
msgid "invalid variable names"
msgstr "变数名字不对"

#: deriv.c:1094
msgid "invalid tag"
msgstr "标签不对"

#: distance.c:152
msgid "treating non-finite values as NA"
msgstr "所有无限值都作为NA来处理"

#: distance.c:225
msgid "distance(): invalid p"
msgstr "distance(): p值不对"

#: distance.c:229
msgid "distance(): invalid distance"
msgstr "distance()：距离值不对"

#: distn.c:44
msgid "NaNs produced"
msgstr "产生了NaNs"

#: distn.c:45
msgid "Non-numeric argument to mathematical function"
msgstr "数学函数中用了非数值参数"

#: family.c:45
#, c-format
msgid "Value %g out of range (0, 1)"
msgstr "%g值出界在(0, 1)外"

#: family.c:66 family.c:80 family.c:98
#, c-format
msgid "Argument %s must be a nonempty numeric vector"
msgstr "参数%s必需为非空数字向量"

#: family.c:131 family.c:134
#, c-format
msgid "argument %s must be a numeric vector of length 1 or length %d"
msgstr "参数%s必需为长度为一或长度为%d的数字向量"

#: fexact.c:273
#, c-format
msgid "integer overflow would happen in 'mult * ldkey' = %g"
msgstr ""

#: fexact.c:653
#, c-format
msgid ""
"FEXACT error 6.  LDKEY=%d is too small for this problem,\n"
"  (ii := key2[itp=%d] = %d, ldstp=%d)\n"
"Try increasing the size of the workspace and possibly 'mult'"
msgstr ""

#: fexact.c:1035
#, c-format
msgid "Bug in fexact3, it[i=%d]=%d: negative key %d (kyy=%d)\n"
msgstr ""

#: fexact.c:1064
#, c-format
msgid ""
"FEXACT error 30.  Stack length exceeded in f3xact,\n"
"  (ldst=%d, key=%d, ipn=%d, itp=%d, ist[ii=%d]=%d).\n"
"Increase workspace or consider using 'simulate.p.value=TRUE'"
msgstr ""

#: fexact.c:1399
#, c-format
msgid ""
"FEXACT error 6 (f5xact).  LDKEY=%d is too small for this problem: kval=%d.\n"
"Try increasing the size of the workspace."
msgstr ""

#: fexact.c:1412
#, c-format
msgid ""
"FEXACT error 7(%s). LDSTP=%d is too small for this problem,\n"
"  (kval=%d, itop-ldstp=%d).\n"
"Increase workspace or consider using 'simulate.p.value=TRUE'."
msgstr ""

#: fexact.c:1449
#, c-format
msgid ""
"FEXACT error 7(%s). LDSTP=%d is too small for this problem,\n"
"  (pastp=%g, ipn_0:=ipoin[itp=%d]=%d, stp[ipn_0]=%g).\n"
"Increase workspace or consider using 'simulate.p.value=TRUE'"
msgstr ""

#: fourier.c:70 fourier.c:165
msgid "non-numeric argument"
msgstr "非数值参数"

#: fourier.c:88 fourier.c:106 fourier.c:179
msgid "fft factorization error"
msgstr "fft因数分解错误"

#: fourier.c:151
msgid "vector-valued (multivariate) series required"
msgstr "需要矢量值系列(多变数)"

#: fourier.c:221
#, c-format
msgid ""
"nextn() found no solution < %d = INT_MAX (the maximal integer); pass '0+ n' "
"instead of 'n'"
msgstr ""

#: fourier.c:233
#, c-format
msgid "nextn<64>() found no solution < %ld = UINT64_MAX (the maximal integer)"
msgstr ""

#: fourier.c:249
msgid "no factors"
msgstr "非因子"

#: fourier.c:250
#, fuzzy
msgid "too many factors"
msgstr "非因子"

#: fourier.c:253
msgid "invalid factors"
msgstr "因子不对"

#: fourier.c:257
msgid "'n' must have typeof(.) \"integer\" or \"double\""
msgstr ""

#: fourier.c:295
#, c-format
msgid ""
"nextn() = %<PRIu64> > 2^53 may not be exactly representable in R (as \"double"
"\")"
msgstr ""

#: integrate.c:84 integrate.c:86 integrate.c:128
#, fuzzy, c-format
msgid "'%s' must be of length one"
msgstr "'m'的值必需是串列"

#: ksmooth.c:69
msgid "only 2500 rows are allowed for sm.method=\"spline\""
msgstr "sm.method=\"spline\"最多只能算2500行"

#: lm.c:57
#, fuzzy
msgid "'x' is not a matrix"
msgstr "'tmax'不是整数"

#: lm.c:62
#, c-format
msgid "dimensions of 'x' (%d,%d) and 'y' (%d) do not match"
msgstr ""

#: lm.c:77 lm.c:81
#, c-format
msgid "NA/NaN/Inf in '%s'"
msgstr ""

#: loessc.c:242
msgid "span is too small"
msgstr "跨距太小"

#: loessc.c:257
#, c-format
msgid "workspace required (%.0f) is too large%s."
msgstr ""

#: loessc.c:258
msgid " probably because of setting 'se = TRUE'"
msgstr ""

#: loglin.c:371
msgid "this should not happen"
msgstr "这不应该发生"

#: loglin.c:373
msgid "algorithm did not converge"
msgstr "算法没有收敛"

#: loglin.c:375
msgid "incorrect specification of 'table' or 'start'"
msgstr "'table'或'start'的设定不对"

#: lowess.c:292
msgid "'f' must be finite and > 0"
msgstr "'f'必需是正数"

#: lowess.c:295
msgid "'iter' must be finite and >= 0"
msgstr "'iter'必需是正数"

#: lowess.c:298
msgid "'delta' must be finite and > 0"
msgstr "'delta'必需是正数"

#: mAR.c:470
msgid "Singular matrix in qr_solve"
msgstr "gr_solve里出现了奇异矩阵"

#: mAR.c:513
msgid "Singular matrix in ldet"
msgstr "ldet里出现了奇异矩阵"

#: mAR.c:700
msgid "Invalid vmethod"
msgstr "vmethod不对"

#: mAR.c:836
msgid "Burg's algorithm failed to find partial correlation"
msgstr "Burg的算法没有能够找到偏相关数"

#: model.c:97
msgid "invalid variables"
msgstr "变数不对"

#: model.c:101 model.c:106
msgid "number of variables != number of variable names"
msgstr "变数数目不等于变数名字数目"

#: model.c:104
msgid "invalid extra variables"
msgstr "額外变数不对"

#: model.c:108
msgid "invalid extra variable names"
msgstr "额外变数名字不对"

#: model.c:129
#, c-format
msgid "overlong names in '%s'"
msgstr "'%s'里的名字太长"

#: model.c:156
#, c-format
msgid "invalid type (%s) for variable '%s'"
msgstr "参数'%2$s'的种类(%1$s)不对"

#: model.c:161
#, c-format
msgid "variable lengths differ (found for '%s')"
msgstr "变数的长度不一样('%s')"

#: model.c:215
msgid "invalid result from na.action"
msgstr "na.action的结果有错"

#: model.c:372 model.c:380 optim.c:227
#, c-format
msgid "invalid '%s' argument"
msgstr "'%s'参数不对"

#: model.c:391
msgid "invalid model frame"
msgstr "模型框不对"

#: model.c:393
msgid "do not know how many cases"
msgstr "案例数目不清"

#: model.c:417
#, c-format
msgid "variable lengths differ (found for variable %d)"
msgstr "变数的长度不一样(变数%d)"

#: model.c:421 model.c:428
#, c-format
msgid "variable %d has no levels"
msgstr "变数%d没有因子层"

#: model.c:540
msgid "the response appeared on the right-hand side and was dropped"
msgstr "在公式右手的反应略过不用"

#: model.c:560
#, c-format
msgid "term %d would require %.0g columns"
msgstr "%d项需要%.0g个列"

#: model.c:564
#, c-format
msgid "matrix would require %.0g columns"
msgstr "矩阵需要%.0g个列"

#: model.c:575
#, c-format
msgid "problem with term %d in model.matrix: no columns are assigned"
msgstr "模型矩阵的%d项有问题: 没有指定的列"

#: model.c:624 model.c:629 model.c:635 model.c:646 model.c:652 model.c:658
msgid "term names will be truncated"
msgstr "项名字太长，被缩短了"

#: model.c:638
msgid "complex variables are not currently allowed in model matrices"
msgstr "模型矩阵里目前不能有复数"

#: model.c:662
#, c-format
msgid "variables of type '%s' are not allowed in model matrices"
msgstr "模型矩阵里不能有种类为'%s'的参数"

#: model.c:887
msgid "invalid formula in 'update'"
msgstr "'update'里的公式不对"

#: model.c:921
msgid "formula expected"
msgstr "需要公式"

#: model.c:1089
msgid "invalid term in model formula"
msgstr "模型公式里有错误的项"

#: model.c:1180
msgid "invalid model formula"
msgstr "模型公式不对"

#: model.c:1212 model.c:1518
msgid "invalid power in formula"
msgstr "公式里的幂不对"

#: model.c:1261
msgid "invalid model formula in ExtractVars"
msgstr "ExtractVars里的模型公式不对"

#: model.c:1629
#, c-format
msgid "duplicated name '%s' in data frame using '.'"
msgstr "在数据框里用'.'时不能有重复的名字’%s'"

#: model.c:1696
msgid "invalid model formula in EncodeVars"
msgstr "EncodeVars中的模型公式不对"

#: model.c:1773
msgid "argument is not a valid model"
msgstr "参数不是正确的模型"

#: model.c:1783
msgid "'specials' must be NULL or a character vector"
msgstr "'specials'的值要么是NULL要么是字符矢量"

#: model.c:1794
msgid "'data' argument is of the wrong type"
msgstr "'data'参数种类有错"

#: model.c:1866
#, c-format
msgid ""
"'varlist' has changed (from nvar=%d) to new %d after EncodeVars() -- should "
"no longer happen!"
msgstr ""

#: model.c:2150
msgid "'.' in formula and no 'data' argument"
msgstr "公式里有'.'，而没有'data'这一参数"

#: monoSpl.c:36
msgid "n must be at least two"
msgstr "n至少需要是二"

#: monoSpl.c:69
msgid "Argument m must be numeric"
msgstr "参数m必需为数值"

#: monoSpl.c:72
msgid "length(m) must be at least two"
msgstr "length(m)的值必需为二"

#: monoSpl.c:74
msgid "Argument Sx must be numeric vector one shorter than m[]"
msgstr "参数Sx必需是长度比m[]小一的数值向量"

#: nls.c:99
msgid "'control' must be a list"
msgstr "'control'的值必需为串列"

#: nls.c:101
msgid "'m' must be a list"
msgstr "'m'的值必需是串列"

#: nls.c:107 nls.c:112 nls.c:117 nls.c:122 nls.c:127 nls.c:168 nls.c:173
#: nls.c:178 nls.c:183 nls.c:188 nls.c:193
#, c-format
msgid "'%s' absent"
msgstr "需要设定'%s'"

#: nls.c:234
msgid "singular gradient"
msgstr "奇异梯度"

#: nls.c:255
#, c-format
msgid "step factor %g reduced below 'minFactor' of %g"
msgstr "算法的步因素%g的大小被减少到小于%g的'minFactor'值"

#: nls.c:264
#, c-format
msgid "number of iterations exceeded maximum of %d"
msgstr "循环次数超过了%d这个最大值"

#: nls.c:269
msgid "converged"
msgstr "收敛了"

#: nls.c:290
msgid "'theta' should be of type character"
msgstr "'theta'的种类必需是字符"

#: nls.c:292 port.c:382
msgid "use of NULL environment is defunct"
msgstr "NULL环境不再有用了"

#: nls.c:296
msgid "'rho' should be an environment"
msgstr "'rho'必需为环境"

#: nls.c:299
msgid "'dir' is not a numeric vector of the correct length"
msgstr "'dir'这个数字向量的长度不对"

#: nls.c:313 nls.c:347
msgid "Missing value or an infinity produced when evaluating the model"
msgstr "在计算模型的时候产生了缺省值或无限值"

#: nls.c:321
#, c-format
msgid "variable '%s' is integer, not numeric"
msgstr "变量'%s'应该为整数，不能是数值"

#: nls.c:323
#, c-format
msgid "variable '%s' is not numeric"
msgstr "变量'%s'不是数值"

#: optim.c:82 optim.c:109
msgid "non-finite value supplied by optim"
msgstr "optim回覆了无限值"

#: optim.c:89
#, c-format
msgid "objective function in optim evaluates to length %d not 1"
msgstr "optim内的目标函数长度被评估为%d，而不是一"

#: optim.c:116
#, c-format
msgid "gradient in optim evaluated to length %d not %d"
msgstr "optim梯度长度被评估为%d，而不是%d"

#: optim.c:223 optim.c:429
msgid "'fn' is not a function"
msgstr "'fn'不是函数"

#: optim.c:241 optim.c:435
msgid "'parscale' is of the wrong length"
msgstr "'parscale'的长度不对"

#: optim.c:270
msgid "'maxit' is not an integer"
msgstr "'maxit'不是整数"

#: optim.c:290
#, fuzzy
msgid "'tmax' is not a positive integer"
msgstr "'tmax'不是整数"

#: optim.c:292 optim.c:309 optim.c:334 optim.c:364 optim.c:443
msgid "'gr' is not a function"
msgstr "'gr'不是函数"

#: optim.c:315 optim.c:340 optim.c:370 optim.c:449
msgid "'ndeps' is of the wrong length"
msgstr "'ndeps'长度不对"

#: optim.c:400
msgid "unknown 'method'"
msgstr "没有这样的'method'"

#: optimize.c:220 optimize.c:306 optimize.c:528
msgid "NA replaced by maximum positive value"
msgstr "NA被换成最大的正值"

#: optimize.c:228 optimize.c:318 optimize.c:536
msgid "NA/Inf replaced by maximum positive value"
msgstr "NA/Inf被换成最大的正值"

#: optimize.c:237
msgid "invalid function value in 'optimize'"
msgstr "'optimize'里的函数值不对"

#: optimize.c:255 optimize.c:347 optimize.c:721
msgid "attempt to minimize non-function"
msgstr "不能将非函数最小化"

#: optimize.c:262 optimize.c:269 optimize.c:278 optimize.c:352 optimize.c:357
#: optimize.c:373
#, c-format
msgid "invalid '%s' value"
msgstr "'%s'值不对"

#: optimize.c:271 optimize.c:358
msgid "'xmin' not less than 'xmax'"
msgstr "'xmin'不能小于xmax"

#: optimize.c:315
msgid "-Inf replaced by maximally negative value"
msgstr "-Inf被换成最大的负值"

#: optimize.c:328
msgid "invalid function value in 'zeroin'"
msgstr "'zeroin'函数值不对"

#: optimize.c:363 optimize.c:368
#, c-format
msgid "NA value for '%s' is not allowed"
msgstr "'%s'里不可有NA值"

#: optimize.c:378
msgid "'maxiter' must be positive"
msgstr "'maxiter'必需是正数"

#: optimize.c:520
msgid "non-finite value supplied by 'nlm'"
msgstr "'nlm'回复了无限值"

#: optimize.c:555
msgid "invalid function value in 'nlm' optimizer"
msgstr "'nlm'最佳化器里的函数值不对"

#: optimize.c:566 optimize.c:581
msgid "function value caching for optimization is seriously confused"
msgstr "最佳化时函数值暫存器出了问题"

#: optimize.c:596
msgid "numeric parameter expected"
msgstr "需要数值参数"

#: optimize.c:600
msgid "conflicting parameter lengths"
msgstr "参数的长度自相矛盾"

#: optimize.c:604
msgid "invalid parameter length"
msgstr "参数长度不对"

#: optimize.c:614 optimize.c:621
msgid "missing value in parameter"
msgstr "参数里不能有遗漏值"

#: optimize.c:626
msgid "invalid parameter type"
msgstr "参数种类不对"

#: optimize.c:637
msgid "non-positive number of parameters in nlm"
msgstr "nlm参数不能是负的"

#: optimize.c:639
msgid "nlm is inefficient for 1-d problems"
msgstr "用nlm来解决一维问题效率不高"

#: optimize.c:641
msgid "invalid gradient tolerance in nlm"
msgstr "nlm里的梯度容错不对"

#: optimize.c:643
msgid "invalid iteration limit in nlm"
msgstr "nlm里的迭代极限不对"

#: optimize.c:645
msgid "minimization function has no good digits in nlm"
msgstr "nlm最小化函数找不到可适用的数字"

#: optimize.c:647
msgid "no analytic gradient to check in nlm!"
msgstr "nlm里没有可查的分析梯度!"

#: optimize.c:649
msgid "no analytic Hessian to check in nlm!"
msgstr "nlm里没有可查的分析海森!"

#: optimize.c:651
msgid "probable coding error in analytic gradient"
msgstr "分析梯度的代码很有可能出错"

#: optimize.c:653
msgid "probable coding error in analytic Hessian"
msgstr "分析海森的代码很有可能出错"

#: optimize.c:655
#, c-format
msgid ""
"*** unknown error message (msg = %d) in nlm()\n"
"*** should not happen!"
msgstr "*** nlm()产生了不知是什么的错误信息(msg = %d) 。这不应该发生!"

#: optimize.c:666
msgid "Relative gradient close to zero.\n"
msgstr "相对梯度离零太近.\n"

#: optimize.c:667 optimize.c:671
msgid "Current iterate is probably solution.\n"
msgstr "当前的重复值很可能就已经是答案了.\n"

#: optimize.c:670
msgid "Successive iterates within tolerance.\n"
msgstr "在容错范围内连续迭代.\n"

#: optimize.c:674
msgid "Last global step failed to locate a point lower than x.\n"
msgstr "最后一步的整体优化没有能找到比x值要小的一个点.\n"

#: optimize.c:675
msgid ""
"Either x is an approximate local minimum of the function,\n"
"the function is too non-linear for this algorithm,\n"
"or steptol is too large.\n"
msgstr ""
"要么x已经是函数的本地最小值，要么这个函数非线性太强，要么steptol设得太大。\n"

#: optimize.c:680
msgid "Iteration limit exceeded.  Algorithm failed.\n"
msgstr "超过了迭代极限。算法失败.\n"

#: optimize.c:683
msgid ""
"Maximum step size exceeded 5 consecutive times.\n"
"Either the function is unbounded below,\n"
"becomes asymptotic to a finite value\n"
"from above in some direction,\n"
"or stepmx is too small.\n"
msgstr ""
"最大步骤超过了5次。\n"
"这个函数要么没有下边界,\n"
"从上边界达到了渐近有限值\n"
"要么是stepmx设得太小。\n"

#: optimize.c:745 optimize.c:750 optimize.c:754 optimize.c:758 optimize.c:762
#: optimize.c:766 optimize.c:771
msgid "invalid NA value in parameter"
msgstr "参数里的NA值不对"

#: optimize.c:800
msgid "hessian supplied is of the wrong length or mode, so ignored"
msgstr "海森的长度不对或其状态不对，因此略过不用"

#: optimize.c:804
msgid "gradient supplied is of the wrong length or mode, so ignored"
msgstr "梯度的长度或其状态不对，因此略过不用"

#: pacf.c:87
msgid "bad Starma struct"
msgstr "Starma结构不对"

#: pacf.c:233
#, c-format
msgid "starma error code %d"
msgstr "starma出错编号%d"

#: pacf.c:293
#, c-format
msgid "forkal error code %d"
msgstr "forkal出错编号%d"

#: pacf.c:466
msgid "invalid value of lag.max"
msgstr "lag.max的值不对"

#: port.c:133
#, c-format
msgid "Rf_divset: alg = %d must be 1, 2, 3, or 4"
msgstr "Rf_divset: alg = %d其值应该是1, 2, 3, 或4"

#: port.c:149
msgid "port algorithms 3 or higher are not supported"
msgstr ""

#: port.c:317
#, c-format
msgid "gradient function must return a numeric vector of length %d"
msgstr "梯度函数必需回覆长度为%d的数字向量"

#: port.c:329
#, c-format
msgid "Hessian function must return a square numeric matrix of order %d"
msgstr "Hessian函数必需回覆一个度数为%d的正方形数值矩阵"

#: port.c:386
msgid "'rho' must be an environment"
msgstr "'rho'必需是环境"

#: port.c:388 port.c:554
msgid "'d' must be a nonempty numeric vector"
msgstr "'d'必需是非空数字向量"

#: port.c:390
msgid "When Hessian defined must also have gradient defined"
msgstr "如果Hessian有定义的话梯度也必需有定义"

#: port.c:393
#, c-format
msgid "environment 'rho' must contain a numeric vector '.par' of length %d"
msgstr "'rho'环境必包含长度为%d的数字向量'.par'"

#: port.c:407
msgid "'lower' and 'upper' must be numeric vectors"
msgstr "'lower'和'upper'必需为数字向量"

#: port.c:466
msgid "'getElement' applies only to named lists"
msgstr "'getElement'只适用于带名串列"

#: port.c:487
#, c-format
msgid "%s$%s() not found"
msgstr "%s$%s()不存在"

#: port.c:500
#, c-format
msgid "'gradient' must be a numeric matrix of dimension (%d,%d)"
msgstr "'gradient'必需是一个维数为(%d,%d)的数值矩阵"

#: port.c:521
#, c-format
msgid "fcn produced mode %d, length %d - wanted mode %d, length %d"
msgstr "fcn运行结果的模式为%d , 长度为%d - 但正确的模式应该是%d，长度为%d"

#: port.c:534
msgid "invalid type for eval_check_store"
msgstr "eval_check_store的种类不对"

#: port.c:555
msgid "m must be a list"
msgstr "m必需为串列"

#: port.c:575
msgid "'lowerb' and 'upperb' must be numeric vectors"
msgstr "'lowerb'和'upperb'必需为数字向量"

#: rWishart.c:53
msgid "inconsistent degrees of freedom and dimension"
msgstr "自由度和维度不相符"

#: rWishart.c:86
msgid "'scal' must be a square, real matrix"
msgstr "'scal'必需是正文形的实数矩阵"

#: rWishart.c:98
msgid "'scal' matrix is not positive-definite"
msgstr "'scal'不是正定矩阵"

#: random.c:53 random.c:137 random.c:217 random.c:307
msgid "NAs produced"
msgstr "产生了NA"

#: random.c:60 random.c:66 random.c:72 random.c:87 random.c:167 random.c:256
#: random.c:399
msgid "invalid arguments"
msgstr "参数不对"

#: random.c:333
msgid "NA in probability vector"
msgstr ""

#: random.c:335
msgid "negative probability"
msgstr ""

#: random.c:341
msgid "no positive probabilities"
msgstr ""

#: random.c:353
msgid "invalid first argument 'n'"
msgstr "第一参数'n'不对"

#: random.c:355
msgid "invalid second argument 'size'"
msgstr "第二参数'size'不对"

#: rcont.c:83
#, c-format
msgid "rcont2 [%d,%d]: exp underflow to 0; algorithm failure"
msgstr " rcont2 [%d,%d]: exp下益到0； 算法失败"

#: smooth.c:107
#, c-format
msgid "invalid end-rule for running median of 3: %d"
msgstr "三移动中位数的结尾规则出了错: %d"

#: starma.c:364
#, c-format
msgid "missing value in last %d observations"
msgstr "最后%d个观测值里出现了缺省值"

#, fuzzy
#~ msgid "'x' is a factor"
#~ msgstr "'tmax'不是整数"

#, fuzzy
#~ msgid "'y' is a factor"
#~ msgstr "'fn'不是函数"

#~ msgid "allocation error in smooth(*, '3RSR')."
#~ msgstr "smooth(*, '3RSR')分配出错。"

#~ msgid "allocation error in smooth(*, '3RSS')."
#~ msgstr "smooth(*, '3RSS')分配出错。"

#~ msgid "allocation error in smooth(*, '3R')."
#~ msgstr "smooth(*, '3R')分配出错。"
