# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the grid package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: grid 4.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-24 10:53-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#: gpar.c:473
msgid "updateGContext must only be called after initGContext"
msgstr ""

#: grid.c:212
msgid "cannot clip to rotated viewport"
msgstr ""

#: 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 ""

#: grid.c:979
msgid "attempt to plot on null device"
msgstr ""

#: grid.c:1400
msgid "there is no layout defined"
msgstr ""

#: grid.c:1620
msgid "polygon edge not found (zero-width or zero-height?)"
msgstr ""

#: grid.c:1629
msgid "polygon edge not found"
msgstr ""

#: grid.c:1783
msgid "require at least two points to draw arrow"
msgstr ""

#: grid.c:2102
msgid "non-finite control point in Xspline"
msgstr ""

#: grid.c:2982
msgid "non-finite x or y in graphics path"
msgstr ""

#: grid.c:3026
msgid "Empty raster"
msgstr ""

#: grid.c:3509
msgid "invalid plotting symbol"
msgstr ""

#: grid.c:3597
msgid "unable to clip to rotated rectangle"
msgstr ""

#: layout.c:600
msgid "invalid 'layout.pos.row'"
msgstr ""

#: layout.c:604
msgid "invalid 'layout.pos.col'"
msgstr ""

#: matrix.c:50
msgid "singular transformation matrix"
msgstr ""

#: state.c:170
msgid "unable to store 'grid' state.  Too many devices open?"
msgstr ""

#: unit.c:65
msgid "Cannot create unit scalar from 0-length unit vector"
msgstr ""

#: unit.c:789 unit.c:1288
msgid "invalid unit or unit not yet implemented"
msgstr ""

#: unit.c:1345 unit.c:1376
msgid "Viewport has zero dimension(s)"
msgstr ""

#: unit.c:1408 unit.c:1423 unit.c:1438 unit.c:1453
msgid "Unsupported unit conversion"
msgstr ""

#: unit.c:1545
msgid "Invalid unit"
msgstr ""

#: unit.c:1560
msgid "'units' must be character"
msgstr ""

#: unit.c:1563
msgid "'units' must be of length > 0"
msgstr ""

#: unit.c:1574
msgid ""
"data must be either NULL, have length 1, or match the length of the final "
"unit vector"
msgstr ""

#: unit.c:1586
msgid "no string supplied for 'strwidth/height' unit"
msgstr ""

#: unit.c:1590
msgid "no 'grob' supplied for 'grobwidth/height' unit"
msgstr ""

#: unit.c:1608
msgid "'gPath' must have depth 1 in 'grobwidth/height' units"
msgstr ""

#: unit.c:1613
msgid "non-NULL value supplied for plain unit"
msgstr ""

#: unit.c:1666 unit.c:1700 unit.c:1749
msgid "old version of unit class is no longer allowed"
msgstr ""

#: unit.c:1672
msgid "object is not coercible to a unit"
msgstr ""

#: unit.c:1698
msgid "object is not a unit"
msgstr ""

#: unit.c:1830
msgid "units can only be multiplied with numerics and integers"
msgstr ""

#: viewport.c:315
msgid "non-finite location and/or size for viewport"
msgstr ""
