# 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.0 \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-24 14:56-0700\n"
"PO-Revision-Date: 2014-03-26 13:56+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"

#: Rmd5.c:47
msgid "argument 'files' must be character"
msgstr " 引数 'files' は文字型でなければなりません "

#: Rmd5.c:63
#, fuzzy, c-format
msgid "md5 failed on file '%ls'"
msgstr " md5 はファイル '%s' で失敗しました "

#: Rmd5.c:65
#, c-format
msgid "md5 failed on file '%s'"
msgstr " md5 はファイル '%s' で失敗しました "

#: getfmts.c:61
#, c-format
msgid "only %d arguments are allowed"
msgstr " 引数は %d 個までです "

#: getfmts.c:66
msgid "'fmt' is not a character vector"
msgstr " 'fmt' は文字ベクトルではありません "

#: getfmts.c:69
msgid "'fmt' must be length 1"
msgstr " 'fmt' の長さは 1 でなければなりません "

#: getfmts.c:75
#, c-format
msgid "'fmt' length exceeds maximal format length %d"
msgstr " 'fmt' の長さがフォーマットの最大長 %d を越えています "

#: getfmts.c:96
#, c-format
msgid "unrecognised format specification '%s'"
msgstr " 識別不能なフォーマット指定 '%s' です "

#: getfmts.c:136
msgid "at most one asterisk '*' is supported in each conversion specification"
msgstr " 各変換指定に許されるアステリスク '*' は多くても一つです "

#: gramLatex.c:2390 gramRd.c:3790
#, c-format
msgid "unable to allocate buffer for long string at line %d"
msgstr " %d 行にある長い文字列のためのバッファを確保できませんでした "

#: gramLatex.c:2626 gramRd.c:4335 gramRd.c:4341
#, c-format
msgid "invalid '%s' value"
msgstr " 不正な '%s' 値です "

#: gramRd.c:2411 gramRd.c:2414
#, c-format
msgid "bad markup (extra space?) at %s:%d:%d"
msgstr " %s:%d:%d に誤ったマークアップがあります (スペースが余計?) "

#: gramRd.c:2939
#, c-format
msgid "Macro '%s' previously defined."
msgstr " マクロ '%s' は既に定義されています。 "

#: gramRd.c:2949
#, c-format
msgid "At most 4 arguments are allowed for user defined macros."
msgstr " ユーザー定義のマクロに許されている引数の数は最大 4 つです "

#: gramRd.c:2991
#, c-format
msgid "No macro definition for '%s'."
msgstr " '%s' に対するマクロが定義されていません。 "

#: gramRd.c:3053
#, fuzzy, c-format
msgid "Not enough arguments passed to user macro '%s'"
msgstr " ユーザー定義のマクロに許されている引数の数は最大 4 つです "

#: gramRd.c:3193 gramRd.c:3197
#, c-format
msgid "newline within quoted string at %s:%d"
msgstr " 引用文字列の %s に改行:%d "

#: gramRd.c:3216
#, c-format
msgid "unable to allocate buffer for long macro at line %d"
msgstr " 行 %d にある長いマクロに対するバッファを確保できません "

#: gramRd.c:3246
msgid "macros nested too deeply: infinite recursion?"
msgstr " マクロが過剰に入れ子になっています: 無限な再帰？ "

#: gramRd.c:3652
#, c-format
msgid "Unable to find macro %s"
msgstr " マクロ %s を見つけることができません "

#: gramRd.c:3850
#, c-format
msgid "Unexpected end of input (in %c quoted string opened at %s:%d:%d)"
msgstr " 予想外の入力の停止 (%c 引用文字列中の %s:%d:%d で開かれた) "

#: gramRd.c:4348
msgid "cannot open the connection"
msgstr " コネクションを開くことができません "

#: gramRd.c:4355
msgid "cannot read from this connection"
msgstr " このコネクションからは読み取りができません "

#: gramRd.c:4363
msgid "invalid Rd file"
msgstr " 不正な Rd ファイルです "

#: gramRd.c:4382
msgid "'deparseRd' only supports deparsing character elements"
msgstr " 'deparseRd' は文字要素のディパースだけをサポートしています "

#: gramRd.c:4385
msgid "bad state"
msgstr " 不都合な状態 "

#: gramRd.c:4398
#, c-format
msgid "bad text mode %d in 'deparseRd'"
msgstr " 'deparseRd' 中に不都合なテキストモード %d "

#: http.c:32
msgid "invalid bind address specification"
msgstr " 不正な空白アドレス指定 "

#: install.c:112 install.c:131 install.c:133
#, c-format
msgid "invalid '%s' argument"
msgstr " 不正な引数 '%s' です "

#: install.c:162
msgid "write error during file append"
msgstr " ファイルの付加中に書き込みエラー "

#: signals.c:42
msgid "pskill() is not supported on this platform"
msgstr " pskill() はこのプラットホームではサポートされていません "

#: signals.c:140
msgid "psnice() is not supported on this platform"
msgstr " psnice() はこのプラットホームではサポートされていません "

#: text.c:67
msgid "invalid argument type"
msgstr " 不正な引数の型です "

#: text.c:225 text.c:247
msgid "out of memory"
msgstr " メモリが足りません "
