# German translation of src/library/tcltk/po/tcltk.pot
# Copyright (C) 2008-2014 The R Foundation
# This file is distributed under the same license as the R package.
# Detlef Steuer <steuer@hsu-hh.de>, 2008-2014.
msgid ""
msgstr ""
"Project-Id-Version: R-3.1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-24 10:54-0700\n"
"PO-Revision-Date: 2013-03-01 16:24+0100\n"
"Last-Translator: Detlef Steuer <steuer@hsu-hh.de>\n"
"Language-Team: R Core <r-core@r-project.org>\n"
"Language: de\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 ? 0 : 1;\n"

#: tcltk.c:69
msgid "parse error in R expression"
msgstr "Fehler beim Parsen des R-Ausdrucks"

#: tcltk.c:178 tcltk.c:255
msgid "tcl error.\n"
msgstr "tcl Fehler.\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 "unzulässiges 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 "ungültiges tclObj -- evtl. aus einer anderen Sitzung gespeichert?"

#: tcltk.c:644
msgid "argument list is too long in tcltk internal function 'callback_closure'"
msgstr ""
"Argumentliste ist für interne tcltk Funktion 'callback_closure' zu lang"

#: tcltk.c:677
msgid "argument is not of correct type"
msgstr "Argument hat nicht den korrekten Typ"

#: tcltk.c:729
msgid "no DISPLAY variable so Tk is not available"
msgstr "keine DISPLAY Variable, Tk deshalb nicht verfügbar"

#: tcltk_unix.c:94
msgid "Tcl is not loaded"
msgstr "Tcl ist nicht geladen"

#: tcltk_unix.c:98
msgid "Tcl is not last loaded handler"
msgstr "Tcl ist nicht der letzte geladene Handler"

#~ msgid "Tcl already loaded"
#~ msgstr "Tcl ist bereits geladen"
