# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the tools package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: tools 4.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-24 14:56-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"

#: Rmd5.c:47
msgid "argument 'files' must be character"
msgstr ""

#: Rmd5.c:63
#, c-format
msgid "md5 failed on file '%ls'"
msgstr ""

#: Rmd5.c:65
#, c-format
msgid "md5 failed on file '%s'"
msgstr ""

#: getfmts.c:61
#, c-format
msgid "only %d arguments are allowed"
msgstr ""

#: getfmts.c:66
msgid "'fmt' is not a character vector"
msgstr ""

#: getfmts.c:69
msgid "'fmt' must be length 1"
msgstr ""

#: getfmts.c:75
#, c-format
msgid "'fmt' length exceeds maximal format length %d"
msgstr ""

#: getfmts.c:96
#, c-format
msgid "unrecognised format specification '%s'"
msgstr ""

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

#: gramLatex.c:2626 gramRd.c:4335 gramRd.c:4341
#, c-format
msgid "invalid '%s' value"
msgstr ""

#: gramRd.c:2411 gramRd.c:2414
#, c-format
msgid "bad markup (extra space?) at %s:%d:%d"
msgstr ""

#: gramRd.c:2939
#, c-format
msgid "Macro '%s' previously defined."
msgstr ""

#: gramRd.c:2949
#, c-format
msgid "At most 4 arguments are allowed for user defined macros."
msgstr ""

#: gramRd.c:2991
#, c-format
msgid "No macro definition for '%s'."
msgstr ""

#: gramRd.c:3053
#, c-format
msgid "Not enough arguments passed to user macro '%s'"
msgstr ""

#: gramRd.c:3193 gramRd.c:3197
#, c-format
msgid "newline within quoted string at %s:%d"
msgstr ""

#: gramRd.c:3216
#, c-format
msgid "unable to allocate buffer for long macro at line %d"
msgstr ""

#: gramRd.c:3246
msgid "macros nested too deeply: infinite recursion?"
msgstr ""

#: gramRd.c:3652
#, c-format
msgid "Unable to find macro %s"
msgstr ""

#: gramRd.c:3850
#, c-format
msgid "Unexpected end of input (in %c quoted string opened at %s:%d:%d)"
msgstr ""

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

#: gramRd.c:4382
msgid "'deparseRd' only supports deparsing character elements"
msgstr ""

#: gramRd.c:4385
msgid "bad state"
msgstr ""

#: gramRd.c:4398
#, c-format
msgid "bad text mode %d in 'deparseRd'"
msgstr ""

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

#: install.c:162
msgid "write error during file append"
msgstr ""

#: signals.c:42
msgid "pskill() is not supported on this platform"
msgstr ""

#: signals.c:140
msgid "psnice() is not supported on this platform"
msgstr ""

#: text.c:67
msgid "invalid argument type"
msgstr ""

#: text.c:225 text.c:247
msgid "out of memory"
msgstr ""
