# German translation of 
# src/library/graphics/po/grid.pot
# Copyright (C) 2009-2014 The R Foundation
# This file is distributed under the same license as the R package.
# Detlef Steuer <steuer@hsu-hh.de>, 2009-2014.
msgid ""
msgstr ""
"Project-Id-Version: R-3.2.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-04-01 10:01-0700\n"
"PO-Revision-Date: 2015-03-20 16:09+0100\n"
"Last-Translator: Detlef Steuer <steuer@hsu-hh.de>\n"
"Language-Team:  <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"

#: grid.c:212
msgid "cannot clip to rotated viewport"
msgstr "kann rotierten Viewport nicht beschneiden"

#: grid.c:697 grid.c:702 grid.c:792 grid.c:797
msgid "cannot pop the top-level viewport ('grid' and 'graphics' output mixed?)"
msgstr ""
"kann den obersten viewport nicht vom Stack werfen ('grid' und 'graphics' "
"Ausgaben gemischt?)"

#: grid.c:977
msgid "attempt to plot on null device"
msgstr "Versuch in das Null-Device zu zeichnen"

#: grid.c:1309
msgid "there is no layout defined"
msgstr "kein Layout definiert"

#: grid.c:1529
msgid "polygon edge not found (zero-width or zero-height?)"
msgstr "Polygonkante nicht gefunden (Breite oder Länge 0?)"

#: grid.c:1538
msgid "polygon edge not found"
msgstr "Polygonkante nicht gefunden"

#: grid.c:1692
msgid "require at least two points to draw arrow"
msgstr "mindestens zwei Punkte nötig, um einen Pfeil zu zeichnen"

#: grid.c:2008
msgid "non-finite control point in Xspline"
msgstr "nicht-endlicher Kontrollpunkt in Xspline"

#: grid.c:2873
msgid "non-finite x or y in graphics path"
msgstr "unendliches x oder y im Grafikpfad"

#: grid.c:2914
msgid "Empty raster"
msgstr "Leeres Raster"

#: grid.c:3368
msgid "invalid plotting symbol"
msgstr "unzulässiges Plotsymbol"

#: grid.c:3454
msgid "unable to clip to rotated rectangle"
msgstr "kann nicht auf das rotierte Rechteck zurechtschneiden"

#: layout.c:589
msgid "invalid 'layout.pos.row'"
msgstr "unzulässige 'layout.pos.row'"

#: layout.c:593
msgid "invalid 'layout.pos.col'"
msgstr "unzulässige 'layout.pos.col'"

#: matrix.c:50
msgid "singular transformation matrix"
msgstr "singuläre Transformationsmatrix"

#: state.c:170
msgid "unable to store 'grid' state.  Too many devices open?"
msgstr "kann den Status von 'grid' nicht speichern. Zu viele geöffnete Geräte?"

#: unit.c:260 unit.c:410 unit.c:1210 unit.c:1290 unit.c:1370 unit.c:1450
msgid "unimplemented unit function"
msgstr "nicht implementierte Einheitenfunktion"

#: unit.c:893 unit.c:1645
msgid "invalid unit or unit not yet implemented"
msgstr "unzulässige Einheit oder Einheit noch nicht implementiert"

#: unit.c:1702 unit.c:1733
msgid "Viewport has zero dimension(s)"
msgstr "Viewport hat keine Dimension(en)"

#: unit.c:1765 unit.c:1780 unit.c:1795 unit.c:1810
msgid "Unsupported unit conversion"
msgstr "Nichtunterstützte Einheitenumwandlung"

#: unit.c:1898
msgid "Invalid unit"
msgstr "Ungültige Einheit"

#: unit.c:1914
msgid "'units' must be character"
msgstr "'units' müssen Zeichenketten sein"

#: unit.c:1917
msgid "'units' must be of length > 0"
msgstr "'units' müssen positive Länge haben"

#: viewport.c:315
msgid "non-finite location and/or size for viewport"
msgstr "nicht-endlicher Ort oder/und Größe des Viewports"
