# Korean translation for R stats4 package
# Copyright (C) 1995-2018 The R Core Team
#
# This file is distributed under the same license as the R stats4 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: 2020-03-24 10:13\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 "named list expected"
msgstr ""

#, fuzzy
msgid "some named values are not arguments to the supplied log-likelihood"
msgstr ""
"'fixed'내의 일부 named arguments는 주어진 log-likelihood에 쓰이는 인자가 아닙"
"니다"

msgid "Mismatch in length of start values"
msgstr ""

msgid "fixed values violate constraints"
msgstr ""

msgid "start values do not satisfy constraints"
msgstr ""

msgid ""
"profiling has found a better solution, so original fit had not converged"
msgstr ""
"프로파일링(profiling)으로부터 더 적합한 해를 찾았기 대문에 초기의 적합은 수렴"
"하지 않았음을 의미합니다"

msgid "levels truncated to positive values only"
msgstr "levels는 오로지 양의 값만을 가지도록 잘려집니다."

msgid "extra arguments discarded"
msgstr "추가적인 인자들은 사용되지 않았습니다."

#~ msgid "'start' must be a named list"
#~ msgstr "'start'는 반드시 이름이 주어진 리스트(named list)이어야 합니다"

#~ msgid ""
#~ "some named arguments in 'start' are not arguments to the supplied log-"
#~ "likelihood"
#~ msgstr ""
#~ "'start'내의 일부 이름을 가진 인자(named arguments)들은 주어진 로그-우도함"
#~ "수(log-likelihood)에 쓰이는 인자가 아닙니다."
