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

#: io.c:329 io.c:333 io.c:343 io.c:574 io.c:774 io.c:827 io.c:840 io.c:844
#: io.c:850 io.c:851 io.c:1097 io.c:1098 io.c:1100 io.c:1101 io.c:1102
#: io.c:1103 io.c:1104 io.c:1105 stubs.c:47 stubs.c:67 windows/dialogs.c:169
#: windows/dialogs.c:194 windows/dialogs.c:197 windows/dialogs.c:241
#: windows/dialogs.c:278 windows/dialogs.c:289 windows/dialogs.c:313
#: windows/dialogs.c:321 windows/util.c:117 windows/widgets.c:79
#: windows/widgets.c:82 windows/widgets.c:87
#, c-format
msgid "invalid '%s' argument"
msgstr ""

#: io.c:352 io.c:837
msgid "invalid quote symbol set"
msgstr ""

#: io.c:364 io.c:860 io.c:1085
msgid "cannot open the connection"
msgstr ""

#: io.c:367 io.c:371
msgid "cannot read from this connection"
msgstr ""

#: io.c:418 io.c:436
#, c-format
msgid "quoted string on line %d terminated by EOF"
msgstr ""

#: io.c:570
msgid "the first argument must be of mode character"
msgstr ""

#: io.c:600
#, c-format
msgid "invalid 'numerals' string: \"%s\""
msgstr ""

#: io.c:776
#, c-format
msgid "Selection: "
msgstr ""

#: io.c:870 io.c:886
msgid "cannot allocate buffer in 'readTableHead'"
msgstr ""

#: io.c:900
msgid "\\ followed by EOF"
msgstr ""

#: io.c:953 io.c:958
#, c-format
msgid "incomplete final line found by readTableHeader on '%s'"
msgstr ""

#: io.c:1016
msgid "index out of range"
msgstr ""

#: io.c:1053
#, c-format
msgid "Problem closing connection:  %s"
msgstr ""

#: io.c:1055
msgid "Problem closing connection"
msgstr ""

#: io.c:1078
msgid "'file' is not a connection"
msgstr ""

#: io.c:1081
msgid "cannot write to this connection"
msgstr ""

#: io.c:1111
msgid "'dec' must be a single character"
msgstr ""

#: io.c:1137
#, c-format
msgid "corrupt data frame -- length of column %d does not match nrows"
msgstr ""

#: io.c:1168
#, c-format
msgid "column %s claims to be a factor but does not have numeric codes"
msgstr ""

#: io.c:1186
msgid "corrupt matrix -- dims do not match length"
msgstr ""

#: stubs.c:56
msgid "'savehistory' can only be used in Rgui and Rterm"
msgstr ""

#: stubs.c:73
msgid "'loadhistory' can only be used in Rgui and Rterm"
msgstr ""

#: stubs.c:85
msgid "invalid timestamp"
msgstr ""

#: stubs.c:151 stubs.c:159
msgid "X11 dataentry cannot be loaded"
msgstr ""

#: stubs.c:155 stubs.c:184 stubs.c:190
msgid "X11 is not available"
msgstr ""

#: stubs.c:248 stubs.c:251
#, c-format
msgid "invalid '%s' specification"
msgstr ""

#: stubs.c:254
#, c-format
msgid "'%s' contains missing values"
msgstr ""

#: utils.c:85
msgid "'hostname' must be a character vector of length 1"
msgstr ""

#: utils.c:91
#, c-format
msgid "nsl() was unable to resolve host '%s'"
msgstr ""

#: utils.c:98
msgid "unknown format returned by 'gethostbyname'"
msgstr ""

#: utils.c:107
msgid "nsl() is not supported on this platform"
msgstr ""

#: windows/dialogs.c:181
msgid "unknown type"
msgstr ""

#: windows/dialogs.c:213 windows/dialogs.c:237 windows/dialogs.c:275
#: windows/dialogs.c:310
msgid "menu functions can only be used in the GUI"
msgstr ""

#: windows/dialogs.c:245
#, c-format
msgid "unable to retrieve items for %s (%s)"
msgstr ""

#: windows/dialogs.c:283
#, c-format
msgid "unable to add menu (%s)"
msgstr ""

#: windows/dialogs.c:295
#, c-format
msgid "unable to add menu item (%s)"
msgstr ""

#: windows/dialogs.c:318
msgid "menu does not exist"
msgstr ""

#: windows/dialogs.c:325
#, c-format
msgid "unable to delete menu item (%s)"
msgstr ""

#: windows/registry.c:73 windows/registry.c:248 windows/registry.c:251
#: windows/registry.c:254
#, c-format
msgid "invalid '%s' value"
msgstr ""

#: windows/registry.c:266
#, c-format
msgid "Registry key '%ls' not found"
msgstr ""

#: windows/util.c:42
msgid "unsupported version of Windows"
msgstr ""

#: windows/util.c:281
msgid "argument must be a character vector or a raw vector"
msgstr ""

#: windows/util.c:320
msgid "unable to open the clipboard"
msgstr ""

#: windows/util.c:325
msgid "unable to write to the clipboard"
msgstr ""

#: windows/util.c:404
msgid "'title' must be a character string"
msgstr ""

#: windows/util.c:413
msgid "'text' must be a character string"
msgstr ""

#: windows/util.c:452
#, c-format
msgid "'%s' must be length 1"
msgstr ""

#: windows/util.c:565
#, c-format
msgid "'%s' must be a list"
msgstr ""

#: windows/util.c:569
#, c-format
msgid "'%s' element %d is not a window handle"
msgstr ""

#: windows/widgets.c:109
msgid "Select one or more"
msgstr ""

#: windows/widgets.c:109
msgid "Select one"
msgstr ""

#: windows/widgets.c:183 windows/widgets.c:251
msgid "'default' must be a character string"
msgstr ""

#: windows/widgets.c:185 windows/widgets.c:253
msgid "'default' is overlong"
msgstr ""

#: windows/widgets.c:189 windows/widgets.c:257
msgid "'caption' must be a character string"
msgstr ""

#: windows/widgets.c:191
msgid "'multi' must be a logical value"
msgstr ""

#: windows/widgets.c:193
msgid "'filterindex' must be an integer value"
msgstr ""
