# Traditional Chinese translations for R package.
# Copyright (C) 2006 The R Foundation
# This file is distributed under the same license as the R package.
# 陈斐 <feic@avaya.com>, 2005, 07.
# Wei-Lun Chao <bluebat@member.fsf.org>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: R 3.5.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-24 10:54-0700\n"
"PO-Revision-Date: 2018-09-16 23:38+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"

#: tcltk.c:69
msgid "parse error in R expression"
msgstr "R 運算式裡句法分析錯誤"

#: tcltk.c:178 tcltk.c:255
msgid "tcl error.\n"
msgstr "tcl 錯誤。\n"

#: tcltk.c:207 tcltk.c:281 tcltk.c:298 tcltk.c:318 tcltk.c:338 tcltk.c:413
#: tcltk.c:478 tcltk.c:532 tcltk.c:771
msgid "invalid argument"
msgstr "引數無效"

#: tcltk.c:288
msgid "no such variable"
msgstr ""

#: tcltk.c:320 tcltk.c:340 tcltk.c:415 tcltk.c:480 tcltk.c:534
msgid "invalid tclObj -- perhaps saved from another session?"
msgstr "tclObj 無效 -- 是不是因此它是由另外一個對話期間儲存的？"

#: tcltk.c:644
msgid "argument list is too long in tcltk internal function 'callback_closure'"
msgstr "tcltk 內部函式 'callback_closure' 的引數串列太長"

#: tcltk.c:677
msgid "argument is not of correct type"
msgstr "引數的種類無效"

#: tcltk.c:729
msgid "no DISPLAY variable so Tk is not available"
msgstr "沒有 DISPLAY 變數，因此沒有 Tk 這個功能"

#: tcltk_unix.c:94
msgid "Tcl is not loaded"
msgstr "還沒有載入 Tcl"

#: tcltk_unix.c:98
msgid "Tcl is not last loaded handler"
msgstr "Tcl 不是最後載入的處理器"
