# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR The R Foundation
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: R 2.1.1 \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-04-01 10:01-0700\n"
"PO-Revision-Date: 2014-03-26 10:02+0200 \n"
"Last-Translator: Masafumi  \n"
"Language-Team: RjpWiki Message Translation Team <mokada@md.tsukuba.ac.jp> \n"
"Language: ja \n"
"MIME-Version: 1.0 \n"
"Content-Type: text/plain; charset=UTF-8 \n"
"Content-Transfer-Encoding: 8bit \n"
"Plural-Forms: nplurals=1; plural=0; \n"
"X-Generator: Pootle 2.0.5 \n"

#: grid.c:212
msgid "cannot clip to rotated viewport"
msgstr " rotated viewport のクリップは出来ません "

#: 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 ""
" トップレベルの viewport は pop することが出来ません ('grid' と 'graphics' の"
"出力を混同していませんか?) "

#: grid.c:977
msgid "attempt to plot on null device"
msgstr " ナルデバイスにプロットしようとしています "

#: grid.c:1309
msgid "there is no layout defined"
msgstr " レイアウトが定義されていません "

#: grid.c:1529
msgid "polygon edge not found (zero-width or zero-height?)"
msgstr " 多角形の頂点が見付かりません (幅もしくは高さがゼロ？) "

#: grid.c:1538
msgid "polygon edge not found"
msgstr " 多角形の頂点が見付かりません "

#: grid.c:1692
msgid "require at least two points to draw arrow"
msgstr " 矢印を書くためには少なくとも二つの点が必要です "

#: grid.c:2008
msgid "non-finite control point in Xspline"
msgstr " Xspline 中に有限でない制御点 "

#: grid.c:2873
msgid "non-finite x or y in graphics path"
msgstr " グラフィックパスに有限でない x か y があります "

#: grid.c:2914
msgid "Empty raster"
msgstr " ラスターが空です "

#: grid.c:3368
msgid "invalid plotting symbol"
msgstr " 不正なプロット記号です "

#: grid.c:3454
msgid "unable to clip to rotated rectangle"
msgstr " 回転された矩形へクリップ出来ません "

#: layout.c:589
msgid "invalid 'layout.pos.row'"
msgstr " 不正な 'layout.pos.row' です "

#: layout.c:593
msgid "invalid 'layout.pos.col'"
msgstr " 不正な 'layout.pos.col' です "

#: matrix.c:50
msgid "singular transformation matrix"
msgstr " 特異な変換行列です "

#: state.c:170
msgid "unable to store 'grid' state.  Too many devices open?"
msgstr ""
" 現在の 'grid' の状態を保持することが出来ません。デバイスを開きすぎていません"
"か? "

#: unit.c:260 unit.c:410 unit.c:1210 unit.c:1290 unit.c:1370 unit.c:1450
msgid "unimplemented unit function"
msgstr " 未実装の単位 (unit) 関数です "

#: unit.c:893 unit.c:1645
msgid "invalid unit or unit not yet implemented"
msgstr " 不正な単位 (unit) か、まだ実装されていない単位 (unit) です "

#: unit.c:1702 unit.c:1733
msgid "Viewport has zero dimension(s)"
msgstr " ビューポートの次元数がゼロです "

#: unit.c:1765 unit.c:1780 unit.c:1795 unit.c:1810
msgid "Unsupported unit conversion"
msgstr " 対応していない単位変換です "

#: unit.c:1898
msgid "Invalid unit"
msgstr " 不正な単位 (unit) です "

#: unit.c:1914
msgid "'units' must be character"
msgstr " 単位 ('units') は文字型でなければなりません "

#: unit.c:1917
msgid "'units' must be of length > 0"
msgstr " 単位 ('units') の長さは 0 より大きくなければなりません "

#: viewport.c:315
msgid "non-finite location and/or size for viewport"
msgstr ""
" 有限でない location かつ/または 有限でない viewport に対するサイズです "

#~ msgid "Invalid circle radius (must be non-negative)"
#~ msgstr " 不正な円の半径です（非負でなければなりません） "
