# Korean translation for R tcltk package
# Copyright (C) 1995-2018 The R Core Team
#
# This file is distributed under the same license as the R tcltk package.
# Maintained by Chel Hee Lee <gnustats@gmail.com>, 2008-2018.
#
msgid ""
msgstr ""
"Project-Id-Version: R-3.5.0\n"
"Report-Msgid-Bugs-To: bugs.r-project.org\n"
"POT-Creation-Date: 2014-08-03 12:17\n"
"PO-Revision-Date: 2018-04-09 12:10-0600\n"
"Last-Translator: Chel Hee Lee <gnustats@gmail.com>\n"
"Language-Team: \n"
"Language: ko\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 "모드(mode)가 '%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 "Tcl 패키지 '%s'를 찾을 수 없습니다"

msgid "The tkGUI is not available under Windows"
msgstr "tkGUI는 윈도우즈에서 사용할 수 없습니다."

msgid "File"
msgstr "파일"

msgid "Demos"
msgstr "데모"

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 자주 찾는 질문들"

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'는 반드시 2개의 열로 이루어진 문자형 행렬이어야 합니다."

msgid "Tcl/Tk support is not available on this system"
msgstr "이 시스템에서 Tcl/Tk를 사용할 수 없습니다."

msgid "Tcl/Tk support files were not installed"
msgstr "Tcl/Tk을 사용하는데 필요한 파일들이 설치되지 않았습니다."
