# 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: 2021-11-06 17:18\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 "cannot handle object of mode '%s'"
msgstr "无法处理'%s'模式的目标对象"

msgid "cannot change names on Tcl array"
msgstr "无法在Tcl排列上改名"

msgid "cannot set length of Tcl array"
msgstr "无法为Tcl排列设定长度"

msgid "Tcl package '%s' not found"
msgstr "没有'%s'这个Tcl程序包"

msgid "The tkGUI is not available under Windows"
msgstr "Windows下没有tkGUI这个功能"

msgid "File"
msgstr "文件"

msgid "Demos"
msgstr "Demos"

msgid "Packages"
msgstr "程序包"

msgid "Help"
msgstr "帮助"

msgid "Source R code"
msgstr "R源代码"

msgid "Quit"
msgstr "退出"

msgid "Save workspace"
msgstr "保存工作空间"

msgid "Don't save workspace"
msgstr "不要保存工作空间"

msgid "t test"
msgstr "t检验"

msgid "Density"
msgstr "密度"

msgid "Interactive linear fitting"
msgstr "交互线性拟合"

msgid "R FAQ"
msgstr "R FAQ"

msgid "Load"
msgstr "载入"

msgid "Go get them!"
msgstr "动手吧!"

msgid "Load packages"
msgstr "载入程序包"

msgid "Install packages from CRAN"
msgstr "用CRAN安装程序包"

msgid "Help topic:"
msgstr "帮助题目："

msgid "Manuals in PDF format"
msgstr "说明书是PDF格式的"

msgid "OK"
msgstr "好"

msgid "Cancel"
msgstr "取消"

msgid "'pb' is not from class %s"
msgstr "'pb'不属%s这一类别"

msgid "'filters' must be a 2-column character matrix"
msgstr "'filters'必需是有两个列的字符矩阵"

msgid "tcltk DLL is linked to"
msgstr ""

msgid "Tcl/Tk support is not available on this system"
msgstr "这个系统不支持Tcl/Tk"

msgid "Tcl/Tk support files were not installed"
msgstr "没有安装Tcl/Tk支持文件"

#~ msgid "Loading Tcl/Tk interface ..."
#~ msgstr "载入Tcl/Tk接口..."

#~ msgid "done"
#~ msgstr "完成"
