# Translation of /src/library/splines/po/R-splines.pot
# to German
# Copyright (C) 2005-2014 The R Foundation
# This file is distributed under the same license as the R package.
# Detlef Steuer <steuer@hsu-hh.de>, 2007-2014.
msgid ""
msgstr ""
"Project-Id-Version: R 3.4.4\n"
"Report-Msgid-Bugs-To: bugs.r-project.org\n"
"POT-Creation-Date: 2018-03-30 07:34\n"
"PO-Revision-Date: 2018-04-05 14:57+0200\n"
"Last-Translator: Detlef Steuer <detlef.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"

msgid "must have at least 'ord' knots"
msgstr "muss zumindest 'ord' Knoten haben"

msgid "length of 'derivs' is larger than length of 'x'"
msgstr "Länge von 'derivs' ist größer als Länge von 'x'"

msgid "empty 'derivs'"
msgstr "leere 'derivs'"

msgid "'ord' must be positive integer, at most the number of knots"
msgstr ""
"'ord' muss eine positive ganze Zahl sein, maximal die Anzahl der Knoten"

msgid "need at least %s (=%d) knots"
msgstr "brauche mindestens %s (=%d) Knoten"

msgid "the 'x' data must be in the range %g to %g unless you set '%s'"
msgstr ""
"die 'x' Daten müssen im Bereich %g bis %g liegen, außer es ist %s gesetzt"

msgid "%s needs package 'Matrix' correctly installed"
msgstr "%s benötigt das korrekt installierte Paket 'Matrix'"

msgid "values of 'x' must be distinct"
msgstr "Werte von 'x' müssen verschieden sein"

msgid "must have at least 'ord'=%d points"
msgstr "muss zumindest 'ord'=%d Knoten haben"

msgid "'formula' must be of the form \"y ~ x\""
msgstr "'formula' muss von der Form \"y ~ x\" sein"

msgid "lengths of 'x' and 'y' must match"
msgstr "Längen von 'x' und 'y' müssen übereinstimmen"

msgid "values of 'x' must be strictly increasing"
msgstr "Werte von 'x' müssen streng monoton steigen"

msgid "'ord' must be >= 2"
msgstr "'ord' muss >=2 sein"

msgid "the range of 'x' values exceeds one period"
msgstr "der Bereich der 'x'-Werte überschreitet eine Periode"

msgid "knot positions must be non-decreasing"
msgstr "Knotenpositionen dürfen nicht kleiner werden"

msgid "lengths of 'x' and 'y' must be the same"
msgstr "Längen von 'x' und 'y' müssen gleich sein"

msgid "'deriv' must be between 0 and %d"
msgstr "'deriv' muss zwischen 0 und %d sein"

msgid "knot positions must be strictly increasing"
msgstr "Knotenpositionen müssen streng monoton ansteigen"

msgid "currently implemented only for cubic splines"
msgstr "momentan nur für kubische Splines implementiert"

msgid "spline must be monotone"
msgstr "spline muss monoton sein"

msgid "'degree' must be integer >= 1"
msgstr "'degree' muss Integer >= 1 sein"

msgid "'df' was too small; have used %d"
msgstr "'df' war zu klein; habe %d benutzt"

msgid "some 'x' values beyond boundary knots may cause ill-conditioned bases"
msgstr ""
"einige 'x' Werte ausserhalb der Begrenzungsknoten erzeugen eventuell "
"schlecht konditionierte Basis"
