# Lithuanian translations for tcltk package.
# Copyright (C) 2020 THE tcltk'S COPYRIGHT HOLDER
# This file is distributed under the same license as the tcltk package.
# <r.zakauskas@gmail.com;gabriele.dauksaite@gmail.com>, 2020.
#
msgid ""
msgstr ""
"Project-Id-Version: tcltk 4.1.0\n"
"Report-Msgid-Bugs-To: bugs.r-project.org\n"
"POT-Creation-Date: 2021-02-01 13:59+0000\n"
"PO-Revision-Date: 2020-11-29 16:51+0200\n"
"Last-Translator: <r.zakauskas@gmail.com;gabriele.dauksaite@gmail.com>\n"
"Language-Team: Lithuanian\n"
"Language: lt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
"%100<10 || n%100>=20) ? 1 : 2);\n"

#: tcltk.c:70
msgid "parse error in R expression"
msgstr "analizės klaida R išraiškoje"

#: tcltk.c:179 tcltk.c:257
msgid "tcl error.\n"
msgstr "tcl klaida.\n"

#: tcltk.c:208 tcltk.c:283 tcltk.c:300 tcltk.c:320 tcltk.c:340 tcltk.c:415
#: tcltk.c:480 tcltk.c:534 tcltk.c:773
msgid "invalid argument"
msgstr "neleistinas argumentas"

#: tcltk.c:290
msgid "no such variable"
msgstr "nėra tokio kintamojo"

#: tcltk.c:322 tcltk.c:342 tcltk.c:417 tcltk.c:482 tcltk.c:536
msgid "invalid tclObj -- perhaps saved from another session?"
msgstr "neteisingas tclObj - galbūt išsaugota iš kito seanso?"

#: tcltk.c:646
msgid "argument list is too long in tcltk internal function 'callback_closure'"
msgstr ""
"argumentų sąrašas yra per ilgas tcltk vidinėje funkcijoje 'callback_closure'"

#: tcltk.c:679
msgid "argument is not of correct type"
msgstr "argumentas nėra tinkamo tipo"

#: tcltk.c:731
msgid "no DISPLAY variable so Tk is not available"
msgstr "nėra DISPLAY kintamojo, todėl Tk nėra prieinamas"

#: tcltk_unix.c:94
msgid "Tcl is not loaded"
msgstr "Tcl neįkelta"

#: tcltk_unix.c:98
msgid "Tcl is not last loaded handler"
msgstr "Tcl nėra paskutinė įkelta apdorojimo programa"
