# 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>, 2006.
#
msgid ""
msgstr ""
"Project-Id-Version: R 2.4.0\n"
"Report-Msgid-Bugs-To: bugs.r-project.org\n"
"POT-Creation-Date: 2018-03-29 07:06\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"

msgid "invalid 'at' location in 'axis'"
msgstr "'axis'里的'at'位置不对"

msgid "invalid to specify axis labels when 'at' is NULL"
msgstr "'at'是NULL的话不能设定轴标签"

msgid "'labels' and 'at' locations must have same length"
msgstr "'labels'和'at'的位置量必需有相同的长度"

msgid "logical 'label' supplied of length 0"
msgstr "提供的逻辑'label'的长度为零"

msgid "end points must not be identical"
msgstr "端点两头的值是不能相等的"

msgid "'x1', 'y1', 'x2', and 'y2' must be units"
msgstr "'x1', 'y1' ,'x2'和'y2'必需是单元"

msgid "'shape' must be between -1 and 1"
msgstr "'shape'的值必需在-1和1之间"

msgid "'squareShape' must be between -1 and 1"
msgstr "'squareShape'的值必需在-1和1之间"

msgid "'arrow' must be an arrow object or NULL"
msgstr "'arrow' 要么是箭头对象，要么是NULL值"

msgid "how did we get here?"
msgstr "怎么搞的？"

msgid "must start new page if showing leaves separately"
msgstr "如果分别显示树叶的话需要重新开一页"

msgid "invalid 'edit' information"
msgstr "'edit'信息不对"

msgid "'gEditList' can only contain 'gEdit' objects"
msgstr "'gEditList'只能包含'gEdit'对象"

msgid "invalid 'frame'"
msgstr "'frame'的值不对"

msgid "invalid 'grob'"
msgstr "'grob'的值不对"

msgid "invalid 'row' and/or 'col' (no such cell in frame layout)"
msgstr "'row'或者是'col'的值不对(没有在框布局里有这样的单元格)"

msgid "'col' can only be a range of existing columns"
msgstr "'col'的值只能在已存在列的范围之内"

msgid "invalid 'col' specification"
msgstr "'col'设定得不对"

msgid "'row' can only be a range of existing rows"
msgstr "'row'的值只能在已存在行的范围之内"

msgid "invalid 'row' specification"
msgstr "'row'设定得不对"

msgid ""
"cannot specify more than one of 'side=[\"left\", \"right\"]', 'col', 'col."
"before', or 'col.after'"
msgstr ""
"只能设定'side=[\"left\", \"right\"]', 'col', 'col.before'或'col.after'中的一"
"个"

msgid ""
"must specify exactly one of 'side=[\"top\", \"bottom\"]', 'row', 'row."
"before', or 'row.after'"
msgstr ""
"只能设定'side=[\"top\", \"bottom\"]', 'row', 'row.before'或'row.after'中的一"
"个"

msgid "invalid 'n'"
msgstr "'n'的值不对"

msgid "invalid 'f'"
msgstr "'f'的值不对"

msgid "'gpar' element '%s' must not be length 0"
msgstr "'gpar'成分'%s'的长度不能为零"

msgid "mixture of missing and non-missing values for %s"
msgstr ""

msgid "'gamma' 'gpar' element is defunct"
msgstr "'gamma' gpar已经不再有用"

msgid "invalid 'linemitre' value"
msgstr "'linemitre'的值不对"

msgid "invalid 'alpha' value"
msgstr "'alpha'的值不对"

msgid "must specify only one of 'font' and 'fontface'"
msgstr "'font'和'fontface'两个量只能设定一个"

#, fuzzy
msgid "invalid fontface"
msgstr "字体面设定不对"

msgid "argument must be a 'gpar' object"
msgstr "参数必需是'gpar'对象"

msgid "must specify only valid 'gpar' names"
msgstr "只能用正确的'gpar'名字"

msgid "invalid display list element"
msgstr "显示列成分不对"

msgid ""
"one of more grobs overwritten (grab WILL not be faithful; try 'wrap = TRUE')"
msgstr "grob被覆盖(grab不会保持原状态；用'wrap=TRUE'试一试)"

msgid "viewport overwritten (grab MAY not be faithful)"
msgstr "视口被覆盖(grab有可能不保持原状态)"

msgid ""
"grob pushed viewports and did not pop/up them (grab MAY not be faithful)"
msgstr "grob推了视口，但没有将它弹起来(grab有可能不保持原状态)"

msgid "only valid to push viewports"
msgstr "只能推视口"

msgid "must specify at least one viewport"
msgstr "至少必需设定一个视口"

#, fuzzy
msgid "Down viewport failed to record on display list"
msgstr "显示列里所插入的对象不对"

#, fuzzy
msgid "Down viewport incorrectly recorded on display list"
msgstr "显示列里所插入的对象不对"

msgid "must pop at least one viewport"
msgstr "至少需要弹起一个视口"

msgid "must navigate up at least one viewport"
msgstr "至少需要往上驾一个视口"

msgid "Invalid number of generations"
msgstr ""

msgid "invalid object inserted on the display list"
msgstr "显示列里所插入的对象不对"

msgid "invalid modification of the display list"
msgstr "显示单修改得不对"

msgid "'expr' must return a grob or gList"
msgstr "'expr'必需回归grob或gList"

msgid "invalid 'grob' argument"
msgstr "'grob'参数值不对"

msgid "invalid 'vp' slot"
msgstr "'vp'槽的值不对"

msgid "invalid 'gp' slot"
msgstr "'gp'槽的值不对"

msgid "invalid 'grob' class"
msgstr "'grob'的类别不对"

msgid "a 'grob' path must contain at least one 'grob' name"
msgstr "'grob'的路径至少要包含一个'grob'名字"

msgid "unable to coerce to \"gList\""
msgstr "无法转换成\"gList\""

msgid "only 'grobs' allowed in \"gList\""
msgstr "\"gList\"只许用'grobs'"

msgid "invalid element to add to \"gList\""
msgstr "\"gList\"加的成分不对"

msgid "can only set 'children' for a \"gTree\""
msgstr "\"gTree\"只能给'children'设定值"

msgid "'children' must be a \"gList\""
msgstr "'children'必需是\"gList\"这种对象"

msgid "it is only valid to get 'children' from a \"gTree\""
msgstr "只能从\"gTree\"那儿得到'children'的值"

msgid "invalid \"gTree\" class"
msgstr "\"gTree\"的类别不对"

msgid "'allDevices' not yet implemented"
msgstr "'allDevices'还没有被实现"

msgid "invalid 'gPath'"
msgstr "'gPath'的值不对"

msgid "invalid 'grep' value"
msgstr "'grep'的值不对"

msgid "it is only valid to get a child from a \"gTree\""
msgstr "只能从\"gTree\"那儿取得子树"

msgid "'gPath' does not specify a valid child"
msgstr "'gPath'没有设定正确的子值"

msgid "it is only valid to set a child of a \"gTree\""
msgstr "只能给\"gTree\"设子值"

msgid "it is only valid to set a 'grob' as child of a \"gTree\""
msgstr "\"gTree\"的子值只能设成'grob'"

msgid "New 'grob' name (%s) does not match 'gPath' (%s)"
msgstr "新的'grob'名(%s) 与原来的'gPath'(%s) 名不相配"

msgid "it is only valid to add a 'grob' to a \"gTree\""
msgstr "对\"gTree\"只能加'grob'这样的值数"

msgid "it is only valid to add a child to a \"gTree\""
msgstr "给\"gTree\"只能加子值"

msgid "'gPath' (%s) not found"
msgstr "不存在'gPath'(%s)"

msgid "it is only valid to remove a child from a \"gTree\""
msgstr "只能从\"gTree\"那儿删除子值"

msgid "it is only valid to edit a child of a \"gTree\""
msgstr "只能对'gTree'的子值进行修改"

msgid "it is invalid to directly edit the 'children' or 'childrenOrder' slot"
msgstr "不能直接对'children'或'childrenOrder'这样的槽进行修改"

msgid "invalid 'result'"
msgstr "'result'的值不对"

msgid "the new 'grob' must have the same name as the old 'grob'"
msgstr "新的'grob'值必需等于旧的'grob'值"

msgid "slot '%s' not found"
msgstr "没有'%s'这样的槽"

msgid "gPath (%s) not found"
msgstr "gPath(%s)不存在"

msgid "grob '%s' not found"
msgstr "不存在grob'%s'这个值"

#, fuzzy
msgid "Invalid force target"
msgstr "'order'的值不对"

#, fuzzy
msgid "Invalid revert target"
msgstr "'print'参数值不对"

msgid "can only reorder 'children' for a \"gTree\""
msgstr "\"gTree\"只能给'children'设定值"

msgid "Invalid 'order'"
msgstr "'order'的值不对"

msgid "'l' must be a layout"
msgstr "'l'必需为布局"

msgid "'pch' and 'labels' not the same length"
msgstr "'pch'和'labels'的长度不一样"

msgid "'hgap' must be single unit"
msgstr "'hgap'的值必需是单元"

msgid "'vgap' must be single unit"
msgstr "'vgap'的值必需是单元"

#, fuzzy
msgid "'nrow' must be >= 1"
msgstr "'l'必需为布局"

#, fuzzy
msgid "'ncol' must be >= 1"
msgstr "'l'必需为布局"

msgid "nrow * ncol < #{legend labels}"
msgstr ""

msgid "invalid justification"
msgstr "定位不对"

msgid "invalid horizontal justification"
msgstr "水平定位不对"

msgid "invalid vertical justification"
msgstr "垂直定位不对"

msgid "'respect' must be logical or an 'nrow' by 'ncol' matrix"
msgstr "'respect'的值要么是逻辑值，要么是一个'nrow'乘'ncol'大小的矩阵"

msgid "invalid 'print' argument"
msgstr "'print'参数值不对"

msgid "invalid object in 'listing'"
msgstr "'listing'里目标对象不对"

msgid "invalid listing"
msgstr "表不对"

msgid "invalid 'listing'"
msgstr "'listing'不对"

msgid "invalid 'origin'"
msgstr "'origin'的值不对"

msgid "'length' must be a 'unit' object"
msgstr "'length'的值必需是'unit'对象"

msgid "invalid 'ends' or 'type' argument"
msgstr "'ends'或'type'参数的值不对"

msgid "'x' and 'y' must be units"
msgstr "'x'和'y'必需为单元值"

msgid "'x' and 'y' must have length 1"
msgstr "'x'和'y'的长度必需为一"

msgid "invalid 'arrow' argument"
msgstr "'arrow'参数不对"

msgid "it is invalid to specify both 'id' and 'id.lengths'"
msgstr "不能同时对'id'和'id.lengths'进行设定"

msgid "'x' and 'y' must be same length"
msgstr "'x'和'y'的长度必需相同"

msgid "'x' and 'y' and 'id' must all be same length"
msgstr "'x'，'y'和'id'的长度必需相同"

msgid "'x' and 'y' and 'id.lengths' must specify same overall length"
msgstr "'x'，'y'和'id.lengths'必需设定整体长度"

msgid "'x0', 'y0', 'x1', and 'y1' must be units"
msgstr "'x0', 'y0', 'x1'和'y1'必需为单元值"

msgid "'x' and 'y' must be units or NULL"
msgstr "'x'和'y'要么是单元值，要么是NULL"

msgid "corrupt 'arrows' object"
msgstr "'arrows'对象出了错"

msgid "x and y must be units"
msgstr "x和y必需为单元值"

msgid "must have exactly 4 control points"
msgstr "一定要有4个控制点"

msgid "must have exactly 4 control points per Bezier curve"
msgstr "每个Bezier曲线一定要有4个控制点"

msgid "'x', 'y', and 'r' must be units"
msgstr "'x', 'y'和'r'必需为单元值"

msgid "'x', 'y', 'width', and 'height' must be units"
msgstr "'x', 'y', 'width'和'height'必需为单元值"

msgid "invalid 'rot' value"
msgstr "'rot'的值不对"

msgid "zero-length 'pch'"
msgstr "'pch'的长度不能为零"

msgid "'x', 'y' and 'size' must be units"
msgstr "'x', 'y'和'size'必需为单元值"

msgid "'x' and 'y' must be 'unit' objects and have the same length"
msgstr "'x'和'y'必需为'unit'对象，而且它们的长度必需相同"

msgid "'x', 'y', 'width', and 'height' must all be units of length 1"
msgstr "'x', 'y', 'width'和'height'都应该是长度为一的单元值"

msgid "'x' and 'y' must all be units of length 1"
msgstr "'x'和'y'必需是长度为一的单元"

msgid "'r' must be a 'unit' object"
msgstr "''的值必需是'unit'对象"

msgid "'x', 'y', 'width', and 'height' must have length 1"
msgstr "'x', 'y', 'width'和'height'的长度都应该是为一"

msgid "'x' and 'units' must have length > 0"
msgstr "'x'和'unit'的长度必需大于零"

msgid "'x' argument must be a unit object"
msgstr "'x'参数必需是单元对象"

msgid "invalid 'axis' or 'type'"
msgstr "'axis'或'type'的值不对"

msgid "no string supplied for 'strwidth/height' unit"
msgstr "'strwidth/height'单元值缺少字符串"

msgid "no 'grob' supplied for 'grobwidth/height' unit"
msgstr "'grobwidth/height'单元值缺少'grob'的值"

msgid "'gPath' must have depth 1 in 'grobwidth/height' units"
msgstr "'grobwidth/height'单元值里的'gPath'其深度必需为一"

msgid "non-NULL value supplied for plain unit"
msgstr "简单单元里不能有非NULL值"

msgid "operator '%s' not meaningful for units"
msgstr "运算符号'%s'对这个单元没有意义"

msgid "only one operand may be a unit"
msgstr "只能有一个单元运算对象"

msgid "non-unit operand must be numeric"
msgstr "非单元运算对象必需为数字"

msgid "both operands must be units"
msgstr "两个运算对象都必需为单元"

msgid "'Summary' function '%s' not meaningful for units"
msgstr "'Summary'函数'%s'对这个单元没有意义"

msgid "no arguments where at least one expected"
msgstr "不能没有参数，至少需要有一个"

msgid "Zero arguments where at least one expected"
msgstr "不能没有参数，至少需要有一个"

msgid "cannot mix signs of indices"
msgstr "不能混用索引符号"

msgid "index out of bounds ('unit' subsetting)"
msgstr "索引值出界(取'unit'子集时)"

msgid "index out of bounds (unit arithmetic subsetting)"
msgstr "索引值出界(取单元数字子集时)"

msgid "index out of bounds (unit list subsetting)"
msgstr "索引值出界(取单元串子集时)"

#, fuzzy
msgid "Value being assigned must be a unit"
msgstr "x和y必需为单元值"

msgid "it is invalid to combine 'unit' objects with other types"
msgstr "不能将'unit'对象同其它类别的对象相结合"

msgid "invalid 'unit' object"
msgstr "'unit'对象不对"

msgid "invalid 'theta'"
msgstr "'theta'值不对"

msgid "'range' must be numeric"
msgstr "'range'必需为数字"

msgid "invalid 'gp' value"
msgstr "'gp'的值不对"

msgid "invalid 'clip' value"
msgstr "'clip'值不对"

msgid "invalid 'xscale' in viewport"
msgstr "视口里的'xscale'值不对"

msgid "invalid 'yscale' in viewport"
msgstr "视口里的'yscale'值不对"

msgid "invalid 'angle' in viewport"
msgstr "视口里的'angle'值不对"

msgid "invalid 'layout' in viewport"
msgstr "视口里的'layout'值不对"

msgid "invalid 'layout.pos.row' in viewport"
msgstr "视口里的'layout.pos.row'值不对"

msgid "invalid 'layout.pos.col' in viewport"
msgstr "视口里的'layout.pos.col'值不对"

msgid "only viewports allowed in 'vpList'"
msgstr "'vpList'里的值只能是视口"

msgid "only viewports allowed in 'vpStack'"
msgstr "'vpStack'里的值只能是视口"

msgid ""
"'parent' must be a viewport and 'children' must be a 'vpList' in 'vpTree'"
msgstr "'parent'的值必需为视口，'children'的值必需是'vpTree'里的'vpList'"

msgid "a viewport path must contain at least one viewport name"
msgstr "视口路径至少要有一个视口的名字"

msgid "must specify at least one of 'x' or 'xscale'"
msgstr "至少要设定'x'或'xscale'两个中的一个"

msgid "must specify at least one of 'y' or 'yscale'"
msgstr "至少要设定'y'或'yscale'两个中的一个"

msgid "shutting down all devices when unloading 'grid' namespace"
msgstr "卸载'grid'名字空间时关闭所有的设备"

msgid "invalid grob name"
msgid_plural "invalid grob names"
msgstr[0] "'grob'名字不对"

msgid "invalid viewport name"
msgid_plural "invalid viewport names"
msgstr[0] "视口名字不对"

#~ msgid "invalid element in the display list"
#~ msgstr "显示单里的成分不对"

#, fuzzy
#~ msgid "Nothing on the display list"
#~ msgstr "显示单修改得不对"

#~ msgid "the 'vp' argument is deprecated"
#~ msgstr "'vp'参数已经不再有用"

#~ msgid "grid.grob() is deprecated; please use grob() instead"
#~ msgstr "grid.grob()已经不再有用; 请用grob()"

#~ msgid "the 'grob' argument must be a 'line.to', 'lines', or 'segments' grob"
#~ msgstr "'grob'参数需要有'line.to', 'lines'或'segments'这三个grob中的一个"

#, fuzzy
#~ msgid "invalid 'ask' value"
#~ msgstr "'ask'的值不对"

#~ msgid "Cannot mix signs of indices"
#~ msgstr "不能混用索引符号"

#, fuzzy
#~ msgid "It is only valid to remove a child from a \"gTree\""
#~ msgstr "只能从'gTree'那儿删除子值"

#~ msgid "This function is redundant and will disappear in future versions."
#~ msgstr "这个函数多余，因此在新的版本里将被删除。"

#~ msgid ""
#~ "grid.arrows() has been deprecated;  use 'arrow' arguments to line drawing "
#~ "functions."
#~ msgstr "grid.arrows()不再有用；请用画线函数中'arrow'这一参数。"

#~ msgid "shape must be between -1 and 1"
#~ msgstr "形状的值必需在-1和1之间"

#~ msgid "Non-unit operand must be numeric"
#~ msgstr "非单元运算对象必需为数字"

#~ msgid ""
#~ "unit.rep has been deprecated in favour of a unit method for the generic "
#~ "rep function"
#~ msgstr "unit.rep不再有用，取而代之的是一个同属rep函数的单元方法"

#~ msgid ""
#~ "unit.length has been deprecated in favour of a unit method for the "
#~ "generic length function"
#~ msgstr "unit.length不再有用，取而代之的是一个同属length函数的单元方法"

#, fuzzy
#~ msgid "invalid graphics parameters"
#~ msgstr "图形参数值不对"

#~ msgid "at least one of 'width' and 'height' must be specified"
#~ msgstr "至少需要设定'width'或'height'中的一个"

#~ msgid "Viewport '%s' was not found"
#~ msgstr "找不到视口'%s'"

#~ msgid "Invalid"
#~ msgstr "不对"

#~ msgid "print"
#~ msgstr "印刷"

#~ msgid "argument"
#~ msgstr "参数"

#~ msgid "It is invalid to specify both 'id' and 'id.lengths"
#~ msgstr "不能同时对'id'和'id.lengths'进行设定"

#~ msgid "'x' must be numeric"
#~ msgstr "'x'必需是数字"
