# Traditional Chinese translations for R.
# Copyright (C) 2005, 06 The R Foundation
# This file is distributed under the same license as the R package.
# 陈斐 <FeiChen@FairIsaac.com>, 2005.
# Wei-Lun Chao <bluebat@member.fsf.org>, 2005, 06, 11, 18.
#
msgid ""
msgstr ""
"Project-Id-Version: R 3.5.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-24 10:53-0700\n"
"PO-Revision-Date: 2018-09-16 23:30+0800\n"
"Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
"Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
"Language: zh_TW\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"

#: base.c:43
msgid "no base graphics system is registered"
msgstr "無任何已登記的基本繪圖系統"

#: base.c:310
msgid "Incompatible graphics state"
msgstr "繪圖狀態不相容"

#: base.c:385 base.c:392 base.c:400
msgid "the base graphics system is not registered"
msgstr "基本繪圖系統尚未登記"

#: graphics.c:297
#, c-format
msgid "bad units specified in '%s'"
msgstr "在 '%s' 中指定了不當的單位"

#: graphics.c:1818 graphics.c:1840
msgid "attempt to plot on null device"
msgstr "試圖於空虛裝置上繪圖"

#: graphics.c:1870
msgid "outer margins too large (figure region too small)"
msgstr "外側版邊太大 (圖表區域太小)"

#: graphics.c:1872
msgid "figure region too large"
msgstr "圖表區域太大"

#: graphics.c:1874
msgid "figure margins too large"
msgstr "圖表邊距太大"

#: graphics.c:1876
msgid "plot region too large"
msgstr "繪圖區域太大"

#: graphics.c:1932
#, c-format
msgid "nonfinite axis limits [GScale(%g,%g,%d, .); log=%d]"
msgstr "座標範圍不能無限大 [GScale(%g,%g,%d, .); log=%d]"

#: graphics.c:1962
#, c-format
msgid "axis style \"%c\" unimplemented"
msgstr "座標形式 \"%c\" 尚未實作"

#: graphics.c:2200
msgid "no graphics device is active"
msgstr "沒有現用的繪圖裝置"

#: graphics.c:2395
msgid "plot.new has not been called yet"
msgstr "plot.new 還沒有被呼叫"

#: graphics.c:2397
msgid "invalid graphics state"
msgstr "繪圖狀態不正確"

#: graphics.c:2548
msgid "graphics device closed during call to locator or identify"
msgstr "繪圖裝置於呼叫定位器或識別時關閉"

#: graphics.c:2598
msgid "No graphics device is active"
msgstr "沒有現用的繪圖裝置"

#: graphics.c:3056
msgid "zero-length arrow is of indeterminate angle and so skipped"
msgstr "零長度箭頭的角度不定，因此忽略不用"

#: graphics.c:3137
#, c-format
msgid "invalid par(\"bty\") = '%c'; no box() drawn"
msgstr "par(\"bty\")='%c' 不正確; 取消繪製 box()"

#: graphics.c:3154
msgid "invalid argument to GBox"
msgstr "GBox 引數不正確"

#: graphics.c:3361
msgid "metric information not available for this device"
msgstr "無法取得這個裝置的度量資訊"

#: par-common.c:146
msgid "graphical parameter 'family' has a maximum length of 200 bytes"
msgstr "繪圖參數 'family' 具有最大為 200 位元組的長度"

#: par.c:160
#, c-format
msgid "invalid value specified for graphical parameter \"%s\""
msgstr "繪圖參數 \"%s\" 的設定值不正確"

#: par.c:167
#, c-format
msgid "graphical parameter \"%s\" has the wrong length"
msgstr "繪圖參數 \"%s\" 的長度不正確"

#: par.c:262 par.c:673
#, c-format
msgid "graphical parameter \"%s\" cannot be set"
msgstr "無法設定繪圖參數 \"%s\""

#: par.c:434
msgid "parameter \"mfg\" has the wrong length"
msgstr "參數 \"mfg\" 的長度不正確"

#: par.c:442
msgid "parameter \"i\" in \"mfg\" is out of range"
msgstr "\"mfg\" 中的參數 \"i\" 超出範圍"

#: par.c:444
msgid "parameter \"j\" in \"mfg\" is out of range"
msgstr "\"mfg\" 中的參數 \"j\" 超出範圍"

#: par.c:449
msgid "value of 'nr' in \"mfg\" is wrong and will be ignored"
msgstr "\"mfg\" 中的 nr 值不正確，忽略不用"

#: par.c:451
msgid "value of 'nc' in \"mfg\" is wrong and will be ignored"
msgstr "\"mfg\" 中的 nc 值不正確，忽略不用"

#: par.c:478
msgid "calling par(new=TRUE) with no plot"
msgstr "呼叫 par(new=TRUE) 而不繪圖"

#: par.c:665 par.c:1063
#, c-format
msgid "graphical parameter \"%s\" is obsolete"
msgstr "繪圖參數 \"%s\" 已過時"

#: par.c:669 par.c:1067
#, c-format
msgid "\"%s\" is not a graphical parameter"
msgstr "\"%s\" 不是一個繪圖參數"

#: par.c:1120
msgid "invalid argument passed to par()"
msgstr "傳給 par() 的引數無效"

#: par.c:1164
#, c-format
msgid "too many rows in layout, limit %d"
msgstr "layout 中的列數太多, 極值為 %d"

#: par.c:1170
#, c-format
msgid "too many columns in layout, limit %d"
msgstr "layout 中的行數太多, 極值為 %d"

#: par.c:1172
#, c-format
msgid "too many cells in layout, limit %d"
msgstr "layout 中的元素太多, 極值為 %d"

#: plot.c:60
msgid "invalid color specification"
msgstr "顏色設定不正確"

#: plot.c:126
msgid "only NA allowed in logical plotting symbol"
msgstr "邏輯繪圖符號中只允許用 NA"

#: plot.c:128
msgid "invalid plotting symbol"
msgstr "繪圖符號不正確"

#: plot.c:217
msgid "invalid font specification"
msgstr "字型設定不正確"

#: plot.c:276 plot.c:290 plot.c:477 plot.c:482 plot.c:2142 plot.c:2149
#: plot.c:3172 plot.c:3174 plot.c:3176 plot.c:3335 plot3d.c:1163 plot3d.c:1167
#: plot3d.c:1169 plot3d.c:1903
#, c-format
msgid "invalid '%s' value"
msgstr "'%s' 值不正確"

#: plot.c:293
#, c-format
msgid "invalid 'vfont' value [typeface %d]"
msgstr "'vfont' 值不正確 [typeface %d]"

#: plot.c:317
#, c-format
msgid "invalid 'vfont' value [typeface = %d, fontindex = %d]"
msgstr "無效的 'vfont' 值 [typeface = %d, fontindex = %d]"

#: plot.c:391
msgid "invalid graphics parameter"
msgstr "繪圖參數不正確"

#: plot.c:473
msgid "at least 3 arguments required"
msgstr "至少需要三個引數"

#: plot.c:487
msgid "\"log=\" specification must be character"
msgstr "\"log=\" 必須設定成字元"

#: plot.c:500
#, c-format
msgid "invalid \"log=%s\" specification"
msgstr "\"log=%s\" 設定不正確"

#: plot.c:516
msgid "NAs not allowed in 'xlim'"
msgstr "'xlim' 中不允許 NA"

#: plot.c:522
msgid "need finite 'xlim' values"
msgstr "'xlim' 值必須是有限的"

#: plot.c:528
msgid "NAs not allowed in 'ylim'"
msgstr "'ylim' 中不允許 NA"

#: plot.c:534
msgid "need finite 'ylim' values"
msgstr "'ylim' 值必須是有限的"

#: plot.c:540
msgid "Logarithmic axis must have positive limits"
msgstr "對數座標不能有負的極值"

#: plot.c:664
msgid "invalid type for axis labels"
msgstr "座標標記類型不正確"

#: plot.c:752 plot.c:1328 plot.c:1651 plot.c:1716 plot.c:1791 plot.c:1857
#: plot.c:1931 plot.c:2026 plot.c:2102 plot.c:2380 plot.c:2554 plot.c:2770
#: plot.c:3317 plot.c:3452 plot.c:3528 plot.c:3694 plot.c:3974 plot3d.c:1872
msgid "too few arguments"
msgstr "引數數目太少"

#: plot.c:763
#, c-format
msgid "invalid axis number %d"
msgstr "座標數目 %d 不正確"

#: plot.c:850
msgid "'hadj' must be of length one"
msgstr "'hadj' 的長度必須是 1"

#: plot.c:857 plot.c:2114 plot.c:2391 plot.c:2397 plot.c:2404 plot.c:2412
#: plot.c:2419 plot.c:2426 plot.c:2433 plot.c:2440 plot.c:2448 plot.c:2455
#: plot.c:3179
#, c-format
msgid "zero-length '%s' specified"
msgstr "'%s' 的長度不能設成零"

#: plot.c:862
#, fuzzy
msgid "'gap.axis' must be of length one"
msgstr "'hadj' 的長度必須是 1"

#: plot.c:892
msgid "'gap.axis' must be NA or a finite number"
msgstr ""

#: plot.c:944
msgid "'labels' is supplied and not 'at'"
msgstr "'labels' 已提供而非 'at'"

#: plot.c:948
#, c-format
msgid "'at' and 'labels' lengths differ, %d != %d"
msgstr "'at' 和 'labels' 長度不同，%d != %d"

#: plot.c:968
msgid "no locations are finite"
msgstr "不存在有限的位置"

#: plot.c:1344
msgid "invalid plotting structure"
msgstr "繪圖結構不正確"

#: plot.c:1346
#, c-format
msgid "'x' and 'y' lengths differ in %s()"
msgstr "%s() 中的 'x' 和 'y' 的長度不一樣"

#: plot.c:1357
#, c-format
msgid "plot type '%s' will be truncated to first character"
msgstr "繪圖類型 '%s' 被截短成第一個字元"

#: plot.c:1361 plot.c:3033
msgid "invalid plot type"
msgstr "繪圖類型不正確"

#: plot.c:1563
#, c-format
msgid "invalid plot type '%c'"
msgstr "繪圖類型 '%c' 不正確"

#: plot.c:1606
msgid "invalid first argument"
msgstr "第一個引數不正確"

#: plot.c:1613
msgid "invalid second argument"
msgstr "第二個引數不正確"

#: plot.c:1621
msgid "invalid third argument"
msgstr "第三個引數不正確"

#: plot.c:1629
msgid "invalid fourth argument"
msgstr "第四個引數不正確"

#: plot.c:1637
msgid "cannot mix zero-length and non-zero-length coordinates"
msgstr "無法將長度為零與非零的座標混合"

#: plot.c:1862
msgid "Empty raster"
msgstr "空的柵格"

#: plot.c:1944
msgid "invalid arrow head length"
msgstr "箭頭長度不正確"

#: plot.c:1949
msgid "invalid arrow head angle"
msgstr "箭頭角度不正確"

#: plot.c:1954
msgid "invalid arrow head specification"
msgstr "箭頭設定不正確"

#: plot.c:2188
msgid "no coordinates were supplied"
msgstr "沒有提供座標"

#: plot.c:2811
msgid "invalid a=, b= specification"
msgstr "a=, b= 設定不正確"

#: plot.c:2820
msgid "'a' and 'b' must be finite"
msgstr "'a' 和 'b' 的值必須是有限的"

#: plot.c:2956 plot.c:4094 plot.c:4098 plot.c:4101 plot.c:4121 plot.c:4125
#: plot.c:4128 plot3d.c:1085 plot3d.c:1089 plot3d.c:1094 plot3d.c:1098
#: plot3d.c:1102 plot3d.c:1106 stem.c:153 stem.c:154 stem.c:156 stem.c:157
#: stem.c:203 stem.c:204
#, c-format
msgid "invalid '%s' argument"
msgstr "'%s' 引數不正確"

#: plot.c:3028 plot.c:3168
#, c-format
msgid "invalid number of points in %s"
msgstr "%s 之中點的數目不正確"

#: plot.c:3170
msgid "incorrect argument type"
msgstr "引數類型不正確"

#: plot.c:3182
msgid "different argument lengths"
msgstr "引數長度不一樣"

#: plot.c:3184
msgid "more 'labels' than points"
msgstr "'labels' 數量比點更多"

#: plot.c:3236
#, c-format
msgid "warning: no point within %.2f inches\n"
msgstr "警告：沒有在 %.2f 英吋之內的點\n"

#: plot.c:3242
msgid "warning: nearest point already identified\n"
msgstr "警告: 已經找到了最近的點\n"

#: plot.c:3328
msgid "invalid units"
msgstr "單位不正確"

#: plot.c:3512 plot.c:3619
msgid "invalid dendrogram input"
msgstr "樹狀圖輸入不正確"

#: plot.c:3676
msgid "invalid symbol parameter vector"
msgstr "符號參數向量不正確"

#: plot.c:3699
msgid "invalid symbol coordinates"
msgstr "符號座標不正確"

#: plot.c:3707
msgid "x/y/parameter length mismatch"
msgstr "x/y/ 參數長度不相符"

#: plot.c:3726
msgid "invalid circles data"
msgstr "圓形資料不正確"

#: plot.c:3728 plot.c:3749 plot.c:3774 plot.c:3804
msgid "invalid symbol parameter"
msgstr "符號參數不正確"

#: plot.c:3747
msgid "invalid squares data"
msgstr "正方形資料不正確"

#: plot.c:3772
msgid "invalid rectangles data (need 2 columns)"
msgstr "長方形資料不正確 (需要兩欄)"

#: plot.c:3802
msgid "invalid stars data"
msgstr "星形資料不正確"

#: plot.c:3844
msgid "invalid thermometers data (need 3 or 4 columns)"
msgstr "溫度計資料不正確 (需要三或四欄)"

#: plot.c:3847
#, c-format
msgid "invalid 'thermometers[, %s]'"
msgstr "thermometers[, %s] 不正確"

#: plot.c:3850
#, c-format
msgid "'thermometers[, %s]' not in [0,1] -- may look funny"
msgstr "thermometers[, %s] 在 [0,1] 範圍外 -- 看起來會有點奇怪"

#: plot.c:3853
msgid "invalid 'thermometers[, 1:2]'"
msgstr "thermometers[, 1:2] 不正確"

#: plot.c:3892
msgid "invalid 'boxplots' data (need 5 columns)"
msgstr "boxplots 資料不正確 (需要五欄)"

#: plot.c:3901
msgid "'boxplots[, 5]' outside [0,1] -- may look funny"
msgstr "boxplots[, 5] 在 [0,1] 範圍外 -- 看起來會有點奇怪"

#: plot.c:3903
msgid "invalid 'boxplots[, 1:4]'"
msgstr "boxplots[, 1:4] 不正確"

#: plot.c:3949
msgid "invalid symbol type"
msgstr "符號類型不正確"

#: plot.c:3987 plot.c:3989 plot.c:3994 plot.c:3996
#, c-format
msgid "incorrect length for '%s' argument"
msgstr "'%s' 引數的長度不正確"

#: plot3d.c:181 plot3d.c:1929
msgid "insufficient 'x' or 'y' values"
msgstr "'x' 或 'y' 值大小不足"

#: plot3d.c:185 plot3d.c:1932
msgid "dimension mismatch"
msgstr "維度不相符"

#: plot3d.c:193
msgid "no contour values"
msgstr "無等高值"

#: plot3d.c:255
msgid "invalid x / y values or limits"
msgstr "x / y 的值或極值不正確"

#: plot3d.c:257
msgid "invalid contour levels: must be strictly increasing"
msgstr "等高層級不正確: 必須嚴格地增加"

#: plot3d.c:1049 plot3d.c:1062
msgid "Axis orientation not calculated"
msgstr "無法計算座標方位"

#: plot3d.c:1082
msgid "too few parameters"
msgstr "參數太少"

#: plot3d.c:1112
msgid "invalid 'x' limits"
msgstr "'x' 極值不正確"

#: plot3d.c:1114
msgid "invalid 'y' limits"
msgstr "'y' 極值不正確"

#: plot3d.c:1116
msgid "invalid 'z' limits"
msgstr "'z' 極值不正確"

#: plot3d.c:1137
msgid "'xlab' must be a character vector of length 1"
msgstr "'xlab' 必須是長度為 1 的字元向量"

#: plot3d.c:1139
msgid "'ylab' must be a character vector of length 1"
msgstr "'ylab' 必須是長度為 1 的字元向量"

#: plot3d.c:1141
msgid "'zlab' must be a character vector of length 1"
msgstr "'zlab' 必須是長度為 1 的字元向量"

#: plot3d.c:1161
msgid "invalid viewing parameters"
msgstr "檢視參數不正確"

#: plot3d.c:1179 plot3d.c:1183
#, c-format
msgid "invalid '%s' specification"
msgstr "'%s' 設定不正確"

#: plot3d.c:1526
#, c-format
msgid "contour(): circular/long seglist -- set %s > %d?"
msgstr "contour()：環/長 seglist -- set %s > %d？"

#: plot3d.c:1935
msgid "no 'levels'"
msgstr ""

#: plot3d.c:1939
msgid "missing 'x' values"
msgstr "缺少 'x' 值"

#: plot3d.c:1941
msgid "increasing 'x' values expected"
msgstr "'x' 值應加大"

#: plot3d.c:1946
msgid "missing 'y' values"
msgstr "缺少 'y' 值"

#: plot3d.c:1948
msgid "increasing 'y' values expected"
msgstr "'y' 值應加大"

#: plot3d.c:1953
#, c-format
msgid "non-finite level values: levels[%d] = %g"
msgstr ""

#: plot3d.c:1966
msgid "all z values are equal"
msgstr "所有的 z 值都一樣"

#: plot3d.c:1968
msgid "all z values are NA"
msgstr "所有的 z 值都是 NA"

#: stem.c:150
#, c-format
msgid "long vector '%s' is not supported"
msgstr "不支援長向量 %s"

#~ msgid "relative range of values (%4.0f * EPS) is small (axis %d)"
#~ msgstr "相對範圍值 (%4.0f * EPS) 太小 (座標 %d)"

#~ msgid "invalid NA contour values"
#~ msgstr "NA 等高值不正確"
