# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The R Foundation
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: R 3.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-24 10:54-0700\n"
"PO-Revision-Date: 2011-11-28 23:40+0200\n"
"Last-Translator: Joe <joedalton2@yahoo.dk>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.1.6\n"

#: tcltk.c:69
msgid "parse error in R expression"
msgstr "fortolkningsfejl i R-udtryk"

#: tcltk.c:178 tcltk.c:255
msgid "tcl error.\n"
msgstr "tcl-fejl.\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 "ugyldigt argument"

#: 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 "ugyldigt tclObj - måske gemt fra en anden session?"

#: tcltk.c:644
msgid "argument list is too long in tcltk internal function 'callback_closure'"
msgstr "argumentliste er for lang i tcltk-intern funktion 'callback_closure'"

#: tcltk.c:677
msgid "argument is not of correct type"
msgstr "argument er ikke af korrekt type"

#: tcltk.c:729
msgid "no DISPLAY variable so Tk is not available"
msgstr "ingen DISPLAY-variabel så Tk er ikke tilgængelig"

#: tcltk_unix.c:94
msgid "Tcl is not loaded"
msgstr "Tcl er ikke indlæst"

#: tcltk_unix.c:98
msgid "Tcl is not last loaded handler"
msgstr "Tcl er ikke sidst indlæst håndtering"

#~ msgid "Tcl already loaded"
#~ msgstr "Tcl allerede indlæst"
