diff --git a/inst/po/ru/LC_MESSAGES/R-data.table.mo b/inst/po/ru/LC_MESSAGES/R-data.table.mo index c03c8341c4..4b7af3576e 100644 Binary files a/inst/po/ru/LC_MESSAGES/R-data.table.mo and b/inst/po/ru/LC_MESSAGES/R-data.table.mo differ diff --git a/inst/po/ru/LC_MESSAGES/data.table.mo b/inst/po/ru/LC_MESSAGES/data.table.mo index ef4580909f..beafecfb87 100644 Binary files a/inst/po/ru/LC_MESSAGES/data.table.mo and b/inst/po/ru/LC_MESSAGES/data.table.mo differ diff --git a/po/R-ru.po b/po/R-ru.po index ef7ed0ff71..dd38b3a33b 100644 --- a/po/R-ru.po +++ b/po/R-ru.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.15.99\n" -"POT-Creation-Date: 2025-02-02 23:58-0800\n" -"PO-Revision-Date: 2025-02-09 23:51+0300\n" +"POT-Creation-Date: 2025-12-13 17:01+0000\n" +"PO-Revision-Date: 2025-12-14 12:08+0300\n" "Last-Translator: Ivan Krylov \n" "Language-Team: Russian \n" @@ -22,27 +22,27 @@ msgstr "" msgid "data.table package loaded. When developing don't load package" msgstr "Пакет data.table загружен. При разработке не загружайте пакет" -#: IDateTime.R:107 +#: IDateTime.R:108 #, c-format msgid "binary + is not defined for \"IDate\" objects" -msgstr "сложение не определено для объектов «IDate»" +msgstr "сложение не определено для пары объектов «IDate»" -#: IDateTime.R:114 +#: IDateTime.R:115 #, c-format msgid "can only subtract from \"IDate\" objects" msgstr "могу только вычитать из объектов «IDate»" -#: IDateTime.R:119 +#: IDateTime.R:120 #, c-format msgid "unary - is not defined for \"IDate\" objects" msgstr "противоположное число не определено для объектов «IDate»" -#: IDateTime.R:309 +#: IDateTime.R:316 #, c-format msgid "Valid options for ms are 'truncate', 'nearest', and 'ceil'." msgstr "Допустимые значения для «ms»: «truncate», «nearest» и «ceil»." -#: as.data.table.R:86 +#: as.data.table.R:89 #, c-format msgid "" "as.data.table.array method should only be called for arrays with 3+ " @@ -51,7 +51,7 @@ msgstr "" "метод as.data.table.array следует вызывать только для массивов размерностью " "более 3; используйте матричный метод для двумерных массивов" -#: as.data.table.R:88 +#: as.data.table.R:91 #, c-format msgid "" "Argument 'value.name' must be scalar character, non-NA and at least one " @@ -60,22 +60,22 @@ msgstr "" "Аргумент «value.name» должен быть скалярной строкой, отличной от NA, и иметь " "хотя бы один символ" -#: as.data.table.R:90 +#: as.data.table.R:93 #, c-format msgid "Argument 'sorted' must be scalar logical and non-NA" msgstr "Аргумент 'sorted' должен быть скалярным логическим и не являться NА" -#: as.data.table.R:92 +#: as.data.table.R:95 #, c-format msgid "Argument 'na.rm' must be scalar logical and non-NA" msgstr "Аргумент 'na.rm' должен быть скалярным логическим и не являться NА" -#: as.data.table.R:94 +#: as.data.table.R:97 #, c-format msgid "Please provide either 'key' or 'sorted', but not both." msgstr "Пожалуйста, укажите либо «key», либо «sorted», но не оба варианта." -#: as.data.table.R:108 +#: as.data.table.R:111 #, c-format msgid "" "Argument 'value.name' should not overlap with column names in result: %s" @@ -83,7 +83,7 @@ msgstr "" "Аргумент 'value.name' не должен пересекаться с именами столбцов в " "результатах: %s" -#: as.data.table.R:140 +#: as.data.table.R:161 #, c-format msgid "" "POSIXlt column type detected and converted to POSIXct. We do not recommend " @@ -93,19 +93,19 @@ msgstr "" "не использовать POSIXlt, поскольку для хранения одной даты он использует 40 " "байт памяти." -#: as.data.table.R:181 +#: as.data.table.R:206 #, c-format msgid "Item %d has %d rows but longest item has %d; recycled with remainder." msgstr "" "Элемент №%d содержит %d строк, но самый длинный элемент содержит %d; " "использую повторно, но с остатком." -#: as.data.table.R:196 +#: as.data.table.R:221 #, c-format msgid "A column may not be called .SD. That has special meaning." msgstr "Нельзя называть столбец «.SD»: это специальное имя." -#: as.data.table.R:210 +#: as.data.table.R:247 #, c-format msgid "class must be length 1" msgstr "класс должен быть длины 1" @@ -124,7 +124,7 @@ msgstr "" "В функции «between» аргумент «x» относится к классу POSIXct, а «%s» — нет, " "приведение к POSIXct не удалось: %s" -#: between.R:27 +#: between.R:24 #, c-format msgid "" "'between' lower= and upper= are both POSIXct but have different tzone " @@ -134,7 +134,7 @@ msgstr "" "различные атрибуты «tzone»: %s. Пожалуйста, дайте им одинаковые часовые " "пояса." -#: between.R:31 +#: between.R:27 #, c-format msgid "" "'between' arguments are all POSIXct but have mismatched tzone attributes: " @@ -143,13 +143,13 @@ msgstr "" "Все аргументы функции between() являются POSIXct, но их атрибуты 'tzone' не " "совпадают: %s. Буду сравнивать время по UTC." -#: between.R:36 +#: between.R:32 #, c-format msgid "trying to use integer64 class when 'bit64' package is not installed" msgstr "" "попытка использовать класс integer64, тогда как пакет «bit64» не установлен" -#: between.R:47 +#: between.R:43 msgid "" "optimised between not available for this data type, fallback to slow R " "routine" @@ -157,7 +157,7 @@ msgstr "" "оптимизированная функция 'between' не реализована для этого типа данных, " "использую встроенную функцию R" -#: between.R:48 +#: between.R:44 #, c-format msgid "" "Not yet implemented NAbounds=TRUE for this non-numeric and non-character type" @@ -165,19 +165,19 @@ msgstr "" "NAbounds=TRUE не реализовано для типов, которые не являются числовыми или " "строковыми" -#: between.R:49 +#: between.R:45 #, c-format msgid "Some lower>upper for this non-numeric and non-character type" msgstr "" "Для данного типа данных (не строк или чисел) некоторые элементы «lower» " "оказались больше, чем «upper»" -#: between.R:63 +#: between.R:59 #, c-format msgid "Perhaps you meant %s?" msgstr "Возможно, Вам нужно %s?" -#: between.R:64 +#: between.R:60 #, c-format msgid "" "RHS has length() %d; expecting length 2. %sThe first element should be the " @@ -186,15 +186,15 @@ msgstr "" "length() для правой части равна %d, ожидается 2. %sПервый элемент должен " "быть нижней(ими) границей(ами), второй - верхней(ими)." -#: between.R:77 +#: between.R:73 msgid "forderv(query) took ..." msgstr "forderv(запрос) заняло..." -#: between.R:90 +#: between.R:86 msgid "Generating final logical vector ..." msgstr "Генерирую целевой логический вектор..." -#: between.R:92 bmerge.R:200 bmerge.R:204 bmerge.R:211 data.table.R:496 +#: between.R:88 bmerge.R:205 bmerge.R:209 bmerge.R:216 data.table.R:516 msgid "done in %s" msgstr "готово за %s" @@ -202,31 +202,31 @@ msgstr "готово за %s" msgid "Coercing %s column %s%s to type %s to match type of %s%s." msgstr "Привожу столбец %2$s%3$s типа %1$s к типу %4$s столбца %5$s%6$s." -#: bmerge.R:65 bmerge.R:66 -#, c-format -msgid "%s is type %s which is not supported by data.table join" -msgstr "" -"%s оказалось типа %s, что операция соединения для data.table не поддерживает" - -#: bmerge.R:69 +#: bmerge.R:34 #, c-format msgid "" -"Attempting roll join on factor column when joining %s to %s. Only integer, " -"double or character columns may be roll joined." +"Attempting roll join on factor column when joining x.%s to i.%s. Only " +"integer, double or character columns may be roll joined." msgstr "" "Ошибочная попытка скользящего соединения для столбца-фактора при соединении " -"%s с %s. Только численные или строковые столбцы допустимы в скользящем " +"x.%s с i.%s. Только численные или строковые столбцы допустимы в скользящем " "соединении." -#: bmerge.R:71 +#: bmerge.R:72 bmerge.R:73 +#, c-format +msgid "%s is type %s which is not supported by data.table join" +msgstr "" +"%s оказалось типа %s, что операция соединения для data.table не поддерживает" + +#: bmerge.R:77 msgid "Matching %s factor levels to %s factor levels." msgstr "Соотношу уровни фактора %s к уровням фактора %s." -#: bmerge.R:80 +#: bmerge.R:86 msgid "Matching character column %s to factor levels in %s." msgstr "Соотношу текстовый столбец %s к уровням фактора %s." -#: bmerge.R:87 +#: bmerge.R:93 #, c-format msgid "" "Incompatible join types: %s (%s) and %s (%s). Factor columns must join to " @@ -235,24 +235,24 @@ msgstr "" "Несовместимые типы соединения: %s (%s) и %s (%s). Столбцы-факторы можно " "соединять только с факторами и строками." -#: bmerge.R:91 +#: bmerge.R:96 msgid "%s has same type (%s) as %s. No coercion needed." msgstr "%s того же типа (%s), что и %s. Приведение типов не требуется." -#: bmerge.R:97 bmerge.R:101 +#: bmerge.R:102 bmerge.R:106 msgid "(all-NA)" msgstr "(полностью NA)" -#: bmerge.R:104 +#: bmerge.R:109 #, c-format msgid "Incompatible join types: %s (%s) and %s (%s)" msgstr "Несовместимые типы соединения: %s (%s) и %s (%s)" -#: bmerge.R:110 +#: bmerge.R:115 msgid "(which has integer64 representation, e.g. no fractions)" msgstr "(что может быть представлено как integer64, т.е., без дробей)" -#: bmerge.R:112 +#: bmerge.R:117 #, c-format msgid "" "Incompatible join types: %s is type integer64 but %s is type double and " @@ -261,69 +261,69 @@ msgstr "" "Несовместимые типы соединений: %s имеет тип integer64, но %s имеет тип " "double и не может быть представлено в виде integer64 (напр., содержит дроби)" -#: bmerge.R:132 +#: bmerge.R:137 msgid "(which contains no fractions)" msgstr "(не содержит дробей)" -#: bmerge.R:144 +#: bmerge.R:149 msgid "(which contains fractions)" msgstr "(содержит дроби)" -#: bmerge.R:147 +#: bmerge.R:152 msgid "(for join)" msgstr "(для соединения)" -#: bmerge.R:165 +#: bmerge.R:170 msgid "on= matches existing key, using key" msgstr "on= совпадает с существующим ключом, использую его" -#: bmerge.R:170 +#: bmerge.R:175 msgid "on= matches existing index, using index" msgstr "on= совпадает с существующим индексом, использую его" -#: bmerge.R:175 +#: bmerge.R:180 msgid "Calculated ad hoc index in %s" msgstr "Временный индекс составлен за %s" -#: bmerge.R:186 +#: bmerge.R:191 msgid "Non-equi join operators detected ..." msgstr "Обнаружены операции соединения по неравенству..." -#: bmerge.R:187 +#: bmerge.R:192 #, c-format msgid "roll is not implemented for non-equi joins yet." msgstr "«roll» пока не реализовано для соединения по неравенствам." -#: bmerge.R:188 +#: bmerge.R:193 msgid "forder took ..." msgstr "forder занимает..." -#: bmerge.R:197 +#: bmerge.R:202 msgid "Generating group lengths ..." msgstr "Генерирую длины групп..." -#: bmerge.R:202 +#: bmerge.R:207 msgid "Generating non-equi group ids ..." msgstr "Генерирую группы соединения по неравенству ..." -#: bmerge.R:207 +#: bmerge.R:212 #, c-format msgid "Column name '_nqgrp_' is reserved for non-equi joins." msgstr "Имя столбца «_nqgrp_» зарезервировано для соединения по неравенствам." -#: bmerge.R:208 +#: bmerge.R:213 msgid "Recomputing forder with non-equi ids ..." msgstr "Пересчитываю forder() для групп соединения по неравенству..." -#: bmerge.R:217 +#: bmerge.R:222 msgid "Starting bmerge ..." msgstr "Запускаю bmerge()..." -#: bmerge.R:219 +#: bmerge.R:224 msgid "bmerge done in %s" msgstr "bmerge() закончено за %s" -#: cedta.R:67 +#: cedta.R:77 msgid "" "cedta decided '%s' wasn't data.table aware. Here is call stack with [[1L]] " "applied:" @@ -336,17 +336,32 @@ msgstr "" msgid "key argument of data.table() must be character" msgstr "аргумент «key» для data.table() должен быть строковым" -#: data.table.R:121 +#: data.table.R:123 #, c-format msgid "Object '%s' not found. Perhaps you intended %s" msgstr "Объект «%s» не найден. Возможно, вы имели в виду %s" -#: data.table.R:123 +#: data.table.R:125 #, c-format msgid "Object '%s' not found amongst %s" msgstr "Объект «%s» не найден среди %s" -#: data.table.R:140 +#: data.table.R:134 +#, c-format +msgid "" +"Invalid set* operation on a recursive index L[[i]] where i has length %d. " +"Chain [[ instead." +msgstr "" +"Некорректная операция присваивания с использованием рекурсивного индекса " +"L[[i]], где i длины %d. Вместо этого используйте цепочку из операторов [[, " +"аргумент каждого из которых длины 1." + +#: data.table.R:139 +#, c-format +msgid "Item '%s' not found in names of input list" +msgstr "Не могу найти «%s» среди имён входного списка" + +#: data.table.R:159 #, c-format msgid "" "[ was called on a data.table in an environment that is not data.table-aware " @@ -359,31 +374,31 @@ msgstr "" "функции действительно нужен метод data.table. Подробнее о правильном " "использовании data.table в пакетах см. в vignette('datatable-importing')." -#: data.table.R:151 +#: data.table.R:170 #, c-format msgid "verbose must be logical or integer" msgstr "«verbose» должно быть логическим или целочисленным" -#: data.table.R:152 +#: data.table.R:171 #, c-format msgid "verbose must be length 1 non-NA" msgstr "«verbose» должно быть длины 1 и не-NA" -#: data.table.R:160 +#: data.table.R:179 #, c-format msgid "Ignoring by/keyby because 'j' is not supplied" msgstr "Игнорирую «by»/«keyby», потому что «j» не был передан" -#: data.table.R:174 +#: data.table.R:193 #, c-format msgid "When by and keyby are both provided, keyby must be TRUE or FALSE" msgstr "Когда «by» и «keyby» оба переданы, «keyby» должно быть TRUE либо FALSE" -#: data.table.R:177 data.table.R:242 data.table.R:331 +#: data.table.R:196 data.table.R:261 data.table.R:351 msgid "Argument '%s' after substitute: %s" msgstr "Аргумент «%s» после подстановки: %s" -#: data.table.R:186 +#: data.table.R:205 #, c-format msgid "" "When on= is provided but not i=, on= must be a named list or data.table|" @@ -394,7 +409,7 @@ msgstr "" "table|frame; тогда будет выполнено натуральное соединение (т. е. по столбцам " "с общими именами). Игнорирую on=, которое имеет значение '%s'." -#: data.table.R:199 +#: data.table.R:218 #, c-format msgid "" "i and j are both missing so ignoring the other arguments. This warning will " @@ -403,12 +418,12 @@ msgstr "" "i и j отсутствуют, поэтому игнорирую остальные аргументы. В будущем это " "предупреждение будет преобразовано в ошибку." -#: data.table.R:203 +#: data.table.R:222 #, c-format -msgid "mult argument can only be 'first', 'last' or 'all'" -msgstr "аргумент «mult» должен быть 'first', 'last' или 'all'" +msgid "mult argument can only be 'first', 'last', 'all' or 'error'" +msgstr "аргумент «mult» должен быть 'first', 'last', 'all' или 'error'" -#: data.table.R:205 +#: data.table.R:224 #, c-format msgid "" "roll must be a single TRUE, FALSE, positive/negative integer/double " @@ -417,24 +432,24 @@ msgstr "" "roll должен быть TRUE, FALSE, положительным/отрицательным числом, включая " "+Inf и -Inf, либо 'nearest'" -#: data.table.R:207 +#: data.table.R:226 #, c-format msgid "roll is '%s' (type character). Only valid character value is 'nearest'." msgstr "" "«roll» - это '%s' (строка). Единственное допустимое строковое значение - " "'nearest'." -#: data.table.R:212 +#: data.table.R:231 #, c-format msgid "rollends must be a logical vector" msgstr "«rollends» должно быть логическим вектором" -#: data.table.R:213 +#: data.table.R:232 #, c-format msgid "rollends must be length 1 or 2" msgstr "«rollends» должно быть длины 1 или 2" -#: data.table.R:221 +#: data.table.R:240 #, c-format msgid "" "nomatch= must be either NA or NULL (or 0 for backwards compatibility which " @@ -443,12 +458,12 @@ msgstr "" "nomatch= должно быть либо NA, либо NULL (ранее 0 значило то же, что сейчас " "значит NULL)" -#: data.table.R:224 +#: data.table.R:243 #, c-format msgid "which= must be a logical vector length 1. Either FALSE, TRUE or NA." msgstr "which= должен быть FALSE, TRUE или NA_logical_." -#: data.table.R:225 +#: data.table.R:244 #, c-format msgid "" "which==%s (meaning return row numbers) but j is also supplied. Either you " @@ -458,7 +473,7 @@ msgstr "" "which==%s (значит, вернуть номера строк), но также передан j. Вы можете " "запросить либо одно, либо другое, но не всё сразу." -#: data.table.R:226 +#: data.table.R:245 #, c-format msgid "" "which=NA with nomatch=0|NULL would always return an empty vector. Please " @@ -467,17 +482,17 @@ msgstr "" "which=NA с nomatch=0|NULL всегда будет возвращать пустой вектор. Пожалуйста, " "измените или удалите либо «which», либо «nomatch»." -#: data.table.R:227 +#: data.table.R:246 #, c-format msgid "j must be provided when with=FALSE" msgstr "j должен быть передан, если with=FALSE" -#: data.table.R:228 +#: data.table.R:247 #, c-format msgid "%s must be TRUE or FALSE" msgstr "%s должно быть TRUE или FALSE" -#: data.table.R:270 +#: data.table.R:290 #, c-format msgid "" "The symbol .. is invalid. The .. prefix must be followed by at least one " @@ -486,7 +501,7 @@ msgstr "" "Имя переменной .. недопустимо. За префиксом .. должен следовать хотя бы один " "символ." -#: data.table.R:274 +#: data.table.R:294 #, c-format msgid "" "Variable '..%s' does exist in calling scope though, so please just removed " @@ -496,7 +511,7 @@ msgstr "" "просто удалите префикс .. из имени этой переменной там, откуда вызываете эту " "функцию." -#: data.table.R:278 +#: data.table.R:298 #, c-format msgid "" "Variable '%s' is not found in calling scope. Looking in calling scope " @@ -505,7 +520,7 @@ msgstr "" "Переменная '%s' не найдена в окружении вызывающей функции. Был выполнен " "поиск в этом месте, потому что Вы использовали префикс «..».%s" -#: data.table.R:280 +#: data.table.R:300 #, c-format msgid "" "Both '%1$s' and '..%1$s' exist in calling scope. Please remove the '..%1$s' " @@ -514,7 +529,7 @@ msgstr "" "И '%1$s', и '..%1$s' существуют в окружении вызывающей функции. Для " "наглядности удалите переменную '..%1$s' там, откуда вызываете эту функцию." -#: data.table.R:288 +#: data.table.R:308 #, c-format msgid "" "Variable '%s' is not found in calling scope. Looking in calling scope " @@ -525,20 +540,19 @@ msgstr "" "поиск там, потому что Вы передали with=FALSE. Также, пожалуйста, добавьте " "«..» перед именем переменной и удалите with=FALSE." -#: data.table.R:296 +#: data.table.R:316 #, c-format msgid "" -"You have wrapped := with {} which is ok but then := must be the only thing " -"inside {}. You have something else inside {} as well. Consider placing the " -"{} on the RHS of := instead; e.g. DT[,someCol:={tmpVar1<-...;tmpVar2<-...;" -"tmpVar1*tmpVar2}]" +"Invalid use of `:=` inside `{}`. `:=` must be the only expression inside `{}" +"` when used in `j`. Instead of: DT[{tmp1 <- ...; tmp2 <- ...; someCol := " +"tmp1 * tmp2}], Use: DT[, someCol := {tmp1 <- ...; tmp2 <- ...; tmp1 * tmp2}]" msgstr "" -"Вы обернули := в {}, что приемлемо, но тогда := должно быть единственным " -"элементом внутри {}. У вас внутри {} также есть что-то еще. Возможно, вам " -"нужно поместить {} в правую часть присваивания: DT[,someCol:={tmpVar1<-...;" -"tmpVar2<-...;tmpVar1*tmpVar2}]" +"Некорректное использование := внутри {}. Операция := должна быть " +"единственным выражением внутри {скобок} в аргументе j. Вместо DT[{tmp1 " +"<- ...; tmp2 <- ...; столбец := tmp1 * tmp2}], используйте: DT[, столбец := " +"{tmp1 <- ...; tmp2 <- ...; tmp1 * tmp2}]" -#: data.table.R:314 +#: data.table.R:334 #, c-format msgid "" ":= with keyby is only possible when i is not supplied since you can't setkey " @@ -548,12 +562,12 @@ msgstr "" "нельзя задать ключ для подмножества строк. Либо измените keyby на by, либо " "удалите i" -#: data.table.R:316 +#: data.table.R:336 #, c-format msgid "nomatch isn't relevant together with :=, ignoring nomatch" msgstr "nomatch не имеет смысла вместе с :=; игнорирую nomatch" -#: data.table.R:372 +#: data.table.R:392 #, c-format msgid "" "not-join '!' prefix is present on i but nomatch is provided. Please remove " @@ -562,7 +576,7 @@ msgstr "" "«i» содержит префикс '!' (соединение по отрицанию условия), но также передан " "аргумент «nomatch». Пожалуйста, удалите «nomatch»." -#: data.table.R:400 +#: data.table.R:420 #, c-format msgid "" "Operator := detected in i, the first argument inside DT[...], but is only " @@ -577,13 +591,13 @@ msgstr "" "перепроверьте синтаксис. Запустите traceback() или debugger(), чтобы узнать " "номер строки." -#: data.table.R:410 +#: data.table.R:430 #, c-format msgid "'%s' is not found in calling scope and it is not a column name either" msgstr "" "'%s' не найдено в окружении вызывающей функции и не является именем столбца" -#: data.table.R:413 +#: data.table.R:433 #, c-format msgid "" "'%s' is not found in calling scope, but it is a column of type %s. If you " @@ -596,7 +610,7 @@ msgstr "" "возможно, этот столбец содержит номера строк, которые нужно выбрать, " "попробуйте DT[(col)], DT[DT$col] или DT[col==TRUE]" -#: data.table.R:416 +#: data.table.R:436 #, c-format msgid "" "%s. When the first argument inside DT[...] is a single symbol (e.g. " @@ -605,7 +619,7 @@ msgstr "" "%s. Если первым аргументом внутри DT[...] является одиночное имя переменной " "(например, DT[var]), data.table ищет «var» в окружении вызывающей функции." -#: data.table.R:428 +#: data.table.R:448 #, c-format msgid "" "i is invalid type (matrix). Perhaps in future a 2 column matrix could return " @@ -617,64 +631,76 @@ msgstr "" "матрицу из двух столбцов, чтобы извлекать соответствующие элементы (в духе " "A[B] из data.table FAQ 2.14). Подробнее см. FR #657 в трекере data.table." -#: data.table.R:451 +#: data.table.R:471 #, c-format msgid "" "When i is a data.table (or character vector), the columns to join by must be " -"specified using 'on=' argument (see ?data.table), by keying x (i.e. sorted, " -"and, marked as sorted, see ?setkey), or by sharing column names between x " -"and i (i.e., a natural join). Keyed joins might have further speed benefits " -"on very large data due to x being sorted in RAM." -msgstr "" -"Если i - таблица данных (или строковой вектор), столбцы для соединения можно " -"указать в аргументе «on=» (см. ?data.table), или путём сортировки «x» по " -"ключу (см. ?setkey), или путем «естественного» соединения «x» и «i» по общим " +"specified using the 'on=' argument (see ?data.table); by keying x (i.e., x " +"is sorted and marked as such, see ?setkey); or by using 'on = .NATURAL' to " +"indicate using the shared column names between x and i (i.e., a natural " +"join). Keyed joins might have further speed benefits on very large data due " +"to x being sorted in RAM." +msgstr "" +"Если i - data.table (или строковой вектор), столбцы для соединения можно " +"указать в аргументе «on=» (см. ?data.table), путём сортировки «x» по ключу " +"(см. ?setkey), или неявно (on = .NATURAL) для соединения «x» и «i» по общим " "именам столбцов. Соединения с ключом могут выиграть немного скорости на " "очень больших данных за счёт того, что «x» уже отсортирован." -#: data.table.R:459 +#: data.table.R:479 #, c-format msgid "Attempting to do natural join but no common columns in provided tables" msgstr "" "Попытка выполнить «естественное» соединение, но у таблиц нет общих столбцов" -#: data.table.R:462 +#: data.table.R:482 msgid "Joining but 'x' has no key, natural join using all 'x' columns" msgstr "Соединение для «x» без ключа; использую все столбцы «x»" -#: data.table.R:464 +#: data.table.R:484 msgid "Joining but 'x' has no key, natural join using: %s" msgstr "Соединение для «x» без ключа; использую столбцы: %s" -#: data.table.R:493 +#: data.table.R:513 msgid "not-join called with 'by=.EACHI'; Replacing !i with i=setdiff_(x,i) ..." msgstr "анти-соединение с 'by=.EACHI'; заменяю !i на i=setdiff_(x,i) ..." -#: data.table.R:523 +#: data.table.R:544 msgid "Constructing irows for '!byjoin || nqbyjoin' ..." msgstr "Собираю «irows» для '!byjoin || nqbyjoin' ..." -#: data.table.R:562 +#: data.table.R:558 mergelist.R:124 +#, c-format +msgid "" +"Joining resulted in many-to-many join. Perform quality check on your data, " +"use mult!='all', or set 'datatable.join.many' option to TRUE to allow rows " +"explosion." +msgstr "" +"Соединение многих строк ко многим. Проверьте свои данные, используйте mult!" +"='all', либо задайте options(datatable.join.many=TRUE), чтобы разрешить " +"такое соединение." + +#: data.table.R:596 msgid "Reorder irows for 'mult==\"all\" && !allGrp1' ..." msgstr "Переставляю «irows» для 'mult==\"all\" && !allGrp1' ..." -#: data.table.R:574 +#: data.table.R:608 msgid "Reordering %d rows after bmerge done in ..." msgstr "Перестановка %d строк после bmerge() готова за ..." -#: data.table.R:591 +#: data.table.R:625 #, c-format msgid "logical error. i is not a data.table, but 'on' argument is provided." msgstr "" "логическая ошибка. «i» не является data.table, но передан аргумент «on»." -#: data.table.R:595 +#: data.table.R:629 #, c-format msgid "i has evaluated to type %s. Expecting logical, integer or double." msgstr "" "Вычисление «i» дало значение типа %s, а должно быть логическое или численное." -#: data.table.R:617 +#: data.table.R:651 #, c-format msgid "" "i evaluates to a logical vector length %d but there are %d rows. Recycling " @@ -687,7 +713,7 @@ msgstr "" "от него больше вреда, чем пользы. Если нужно, явным образом используйте " "rep(..., length = .N)." -#: data.table.R:620 +#: data.table.R:654 #, c-format msgid "" "Please use nomatch=NULL instead of nomatch=0; see news item 5 in v1.12.0 " @@ -696,36 +722,27 @@ msgstr "" "Пожалуйста, используйте nomatch=NULL вместо nomatch=0; см. новость 5 для " "версии 1.12.0 (январь 2019)" -#: data.table.R:635 +#: data.table.R:669 msgid "Inverting irows for notjoin done in ..." msgstr "Обращение «irows» для анти-соединения готово за ..." -#: data.table.R:691 +#: data.table.R:725 #, c-format -msgid "" -"with=FALSE together with := was deprecated in v1.9.4 released Oct 2014; this " -"has been warning since v1.15.0. Please wrap the LHS of := with parentheses; " -"e.g., DT[,(myVar):=sum(b),by=a] to assign to column name(s) held in variable " -"myVar. See ?':=' for other examples." -msgstr "" -"with=FALSE вместе с := не рекомендуется использовать, начиная с версии " -"1.9.4, выпущенной в октябре 2014 года (с версии 1.15.0 это явное " -"предупреждение). Пожалуйста, оберните левую часть присваивания := круглыми " -"скобками: например, DT[,(myVar):=sum(b),by=a], чтобы присвоит столбцам, " -"имена которых находятся в переменной «myVar». Другие примеры см. в ?':='." +msgid "`:=` is only supported under with=TRUE, see ?`:=`." +msgstr ":= поддерживается только в сочетании с with=TRUE. См. ?`:=`." -#: data.table.R:734 +#: data.table.R:767 #, c-format msgid "Item %d of j is %d which is outside the column number range [1,ncol=%d]" msgstr "" "Элемент №%d из j равен %d, что вне диапазона номеров столбцов [1,ncol=%d]" -#: data.table.R:737 +#: data.table.R:770 #, c-format msgid "j mixes positives and negatives" msgstr "внутри «j» смешаны положительные и отрицательные числа" -#: data.table.R:745 +#: data.table.R:778 #, c-format msgid "" "When with=FALSE, j-argument should be of type logical/character/integer " @@ -734,7 +751,7 @@ msgstr "" "Когда with=FALSE, аргумент «j» должен иметь тип logical/character/integer и " "выбирать подмножество столбцов." -#: data.table.R:759 +#: data.table.R:792 #, c-format msgid "" "'by' contains .I but only the following are currently supported: by=.I, by=." @@ -743,14 +760,14 @@ msgstr "" "«by» содержит .I, но в этой версии поддерживаются только следующие формы: " "by=.I, by=.(.I), by=c(.I), by=list(.I)" -#: data.table.R:783 +#: data.table.R:816 #, c-format msgid "by=c(...), key(...) or names(...) must evaluate to 'character'" msgstr "" "результатом вычисления by=c(...), key(...) или names(...) должен быть вектор " "строк" -#: data.table.R:793 +#: data.table.R:826 #, c-format msgid "" "'by' is a character vector length %d but one or more items include a comma. " @@ -763,20 +780,20 @@ msgstr "" "пробелы, но не запятые), либо передайте одну строку, содержащую имена " "столбцов, разделенные запятыми. Другие возможности см. в ?data.table." -#: data.table.R:800 +#: data.table.R:833 #, c-format msgid "At least one entry of by is empty" msgstr "Как минимум один элемент «by» пуст" -#: data.table.R:827 +#: data.table.R:860 msgid "by index '%s' but that index has 0 length. Ignoring." msgstr "«by» использовано с индексом '%s', но он нулевой длины. Пропускаю его." -#: data.table.R:850 +#: data.table.R:883 msgid "i clause present and columns used in by detected, only these subset: %s" msgstr "аргумент «i» использует следующие столбцы из «by»: %s" -#: data.table.R:853 +#: data.table.R:886 msgid "" "i clause present but columns used in by not detected. Having to subset all " "columns before evaluating 'by': '%s'" @@ -784,7 +801,7 @@ msgstr "" "аргумент «i» не использует столбцы из «by». Вычисляю подмножество всех " "столбцов, прежде чем вычислить «by»: '%s'" -#: data.table.R:875 +#: data.table.R:908 #, c-format msgid "" "'by' appears to evaluate to column names but isn't c() or key(). Use " @@ -797,7 +814,7 @@ msgstr "" "сделано для эффективности, чтобы data.table могла определить, какие столбцы " "нужны." -#: data.table.R:886 +#: data.table.R:919 #, c-format msgid "" "'by' or 'keyby' must evaluate to a vector or a list of vectors (where 'list' " @@ -806,7 +823,7 @@ msgstr "" "Результатом вычисления «by» или «keyby» должен быть вектор или список " "векторов (что включает data.table и data.frame)" -#: data.table.R:890 +#: data.table.R:923 #, c-format msgid "" "Column or expression %d of 'by' or 'keyby' is type '%s' which is not " @@ -822,7 +839,7 @@ msgstr "" "поддерживаемому типу, например by=sapply(list_col, toString), позаботившись " "при этом о сохранении различимости." -#: data.table.R:916 +#: data.table.R:951 msgid "" "by-expression '%s' is not named, and the auto-generated name '%s' clashed " "with variable(s) in j. Therefore assigning the entire by-expression as name." @@ -831,12 +848,12 @@ msgstr "" "пересекается со столбцами «j», так что использую выражение целиком в " "качестве его имени." -#: data.table.R:950 +#: data.table.R:985 #, c-format msgid "Item %d of the .() or list() passed to j is missing" msgstr "Пропущенный элемент №%d из .() или list(), переданного как «j»" -#: data.table.R:956 +#: data.table.R:991 #, c-format msgid "" "j may not evaluate to the same number of columns for each group; if you're " @@ -847,7 +864,7 @@ msgstr "" "группы. Если Вы уверены, что с Вашим выражением точно всё в порядке, " "поместите логику ветвления за пределы [ для эффективности" -#: data.table.R:958 +#: data.table.R:993 #, c-format msgid "" "Different branches of j expression produced different auto-named columns: " @@ -865,7 +882,7 @@ msgstr "" "по умолчанию для каждой ветви во всех случаях, или (3) используйте одно и то " "же имя для каждой ветви и переименуйте столбцы в последующем вызове." -#: data.table.R:1028 +#: data.table.R:1063 #, c-format msgid "" "When .SDcols is a function, it is applied to each column; the output of this " @@ -877,37 +894,37 @@ msgstr "" "сигнализирующий о включении/исключении столбца. Однако, эти условия не были " "выполнены для: %s" -#: data.table.R:1034 +#: data.table.R:1069 #, c-format msgid ".SDcols missing at the following indices: %s" msgstr ".SDcols NA по следующим индексам: %s" -#: data.table.R:1036 +#: data.table.R:1071 #, c-format msgid ".SDcols is a logical vector of length %d but there are %d columns" msgstr ".SDcols - логический вектор длины %d, но всего есть %d столбцов" -#: data.table.R:1042 +#: data.table.R:1077 #, c-format msgid ".SDcols is numeric but has both +ve and -ve indices" msgstr ".SDcols является численным, но содержит индексы разных знаков" -#: data.table.R:1044 +#: data.table.R:1079 #, c-format msgid ".SDcols is numeric but out of bounds [1, %d] at: %s" msgstr ".SDcols является численным, но выходит за пределы [1, %d] в: %s" -#: data.table.R:1048 +#: data.table.R:1083 #, c-format msgid ".SDcols should be column numbers or names" msgstr ".SDcols должен содержать номера или имена столбцов" -#: data.table.R:1050 +#: data.table.R:1085 #, c-format msgid "Some items of .SDcols are not column names: %s" msgstr "Некоторые элементы .SDcols не являются именами столбцов: %s" -#: data.table.R:1063 +#: data.table.R:1098 msgid "" "'(m)get' found in j. ansvars being set to all columns. Use .SDcols or a " "single j=eval(macro) instead. Both will detect the columns used which is " @@ -920,11 +937,11 @@ msgstr "" "определены более точно, что важно для быстродействия.\n" "Предыдущее значение «ansvars»: %s" -#: data.table.R:1083 +#: data.table.R:1118 msgid "New ansvars: %s" msgstr "Новое значение «ansvars»: %s" -#: data.table.R:1092 +#: data.table.R:1127 #, c-format msgid "" "This j doesn't use .SD but .SDcols has been supplied. Ignoring .SDcols. See ?" @@ -933,11 +950,11 @@ msgstr "" "Этот «j» не использует «.SD», но .SDcols был передан. Игнорирую «.SDcols». " "См. ?data.table." -#: data.table.R:1095 +#: data.table.R:1130 msgid "Detected that j uses these columns: %s" msgstr "Определено, что «j» использует следующие столбцы: %s" -#: data.table.R:1108 +#: data.table.R:1143 #, c-format msgid "" ".SD is locked. Using := in .SD's j is reserved for possible future use; a " @@ -948,13 +965,13 @@ msgstr "" "возможного использования в будущем. Используйте := в «j» напрямую, чтобы " "изменить группу по ссылке." -#: data.table.R:1119 +#: data.table.R:1154 #, c-format msgid "In %s(col1=val1, col2=val2, ...) form, all arguments must be named." msgstr "" "В форме %s(col1=val1, col2=val2, ...) все аргументы должны быть названы." -#: data.table.R:1142 +#: data.table.R:1177 #, c-format msgid "" "In %s(col1=val1, col2=val2, ...) form, all arguments must be named, but the " @@ -963,7 +980,7 @@ msgstr "" "В форме %s(col1=val1, col2=val2, ...) все аргументы должны быть названы, но " "последний аргумент не имеет имени. Вы забыли запятую в конце?" -#: data.table.R:1144 +#: data.table.R:1179 #, c-format msgid "" "In %s(col1=val1, col2=val2, ...) form, all arguments must be named, but " @@ -972,7 +989,7 @@ msgstr "" "В форме %s(col1=val1, col2=val2, ...) все аргументы должны быть названы, но " "у этих аргументов нет имен: %s." -#: data.table.R:1151 +#: data.table.R:1186 #, c-format msgid "" "LHS of := must be a symbol, or an atomic vector (column names or positions)." @@ -980,7 +997,7 @@ msgstr "" "Левая сторона присваивания := должна быть символом или атомарным вектором " "(имён или позиций столбцов)." -#: data.table.R:1156 +#: data.table.R:1191 #, c-format msgid "" "LHS of := appears to be column positions but are outside [1,ncol] range. New " @@ -990,7 +1007,7 @@ msgstr "" "находятся вне диапазона [1, число столбцов]. Новые столбцы могут быть " "добавлены только по имени." -#: data.table.R:1159 +#: data.table.R:1193 #, c-format msgid "" "LHS of := isn't column names ('character') or positions ('integer' or " @@ -999,7 +1016,7 @@ msgstr "" "Левая сторона присваивания := не является именем столбца (типа 'character') " "или позицией (типов 'integer' или 'numeric')" -#: data.table.R:1175 +#: data.table.R:1209 msgid "" "No rows match i. No new columns to add so not evaluating RHS of :=\n" "Assigning to 0 row subset of %d rows" @@ -1008,7 +1025,7 @@ msgstr "" "вычисляю правую часть :=\n" "Присваивание пустому подмножеству из %d строк" -#: data.table.R:1190 +#: data.table.R:1225 #, c-format msgid "" "A shallow copy of this data.table was taken so that := can add or remove %d " @@ -1030,8 +1047,31 @@ msgstr "" "своем варианте использования в трекере проблем data.table, чтобы можно было " "устранить причину проблемы или улучшить это сообщение." +#: data.table.R:1285 +#, c-format +msgid "" +"Variable '%s' is not found in calling scope. Looking in calling scope " +"because this symbol was prefixed with .. in the j= parameter." +msgstr "" +"Переменная '%s' не найдена в окружении вызывающей функции. Там был выполнен " +"поиск, поскольку в параметре «j» этот символ был снабжен префиксом «..»." + +#: data.table.R:1358 +#, c-format +msgid "" +"j (the 2nd argument inside [...]) is a single symbol but column name '%1$s' " +"is not found. If you intended to select columns using a variable in calling " +"scope, please try DT[, ..%1$s]. The .. prefix conveys one-level-up similar " +"to a file system path." +msgstr "" +"j (2-й аргумент внутри [...]) является одиночным именем переменной, но имя " +"столбца '%1$s' не найдено. Если вы хотели выбрать столбцы с помощью " +"локальной переменной, попробуйте использовать DT[, ..%1$s]. Префикс .. " +"выполняет поиск переменной на один вызов функции выше, аналогично путям в " +"файловой системе." + # suppressWarnings() doesn't help against cat() -#: data.table.R:1198 +#: data.table.R:1408 msgid "" "Growing vector of column pointers from truelength %d to %d. A shallow copy " "has been taken, see ?setalloccol. Only a potential issue if two variables " @@ -1049,7 +1089,7 @@ msgstr "" "скопировать его при помощи copy(), либо заранее увеличить опцию 'datatable." "alloccol'." -#: data.table.R:1200 +#: data.table.R:1410 msgid "" "Note that the shallow copy will assign to the environment from which := was " "called. That means for example that if := was called within a function, the " @@ -1060,40 +1100,7 @@ msgstr "" "что если её вызвала функция для своего аргумента, то оригинал аргумента, " "переданного в функцию, может остаться неизменным." -#: data.table.R:1221 -#, c-format -msgid "" -"Cannot assign to an under-allocated recursively indexed list -- L[[i]][,:=] " -"syntax is only valid when i is length 1, but its length is %d" -msgstr "" -"Невозможно присвоить рекурсивно индексируемому списку с недостаточным " -"выделением памяти: синтаксис L[[i]][,:=] работает только в том случае, если " -"«i» имеет длину 1, но его длина равна %d" - -#: data.table.R:1292 -#, c-format -msgid "" -"Variable '%s' is not found in calling scope. Looking in calling scope " -"because this symbol was prefixed with .. in the j= parameter." -msgstr "" -"Переменная '%s' не найдена в окружении вызывающей функции. Там был выполнен " -"поиск, поскольку в параметре «j» этот символ был снабжен префиксом «..»." - -#: data.table.R:1378 -#, c-format -msgid "" -"j (the 2nd argument inside [...]) is a single symbol but column name '%1$s' " -"is not found. If you intended to select columns using a variable in calling " -"scope, please try DT[, ..%1$s]. The .. prefix conveys one-level-up similar " -"to a file system path." -msgstr "" -"j (2-й аргумент внутри [...]) является одиночным именем переменной, но имя " -"столбца '%1$s' не найдено. Если вы хотели выбрать столбцы с помощью " -"локальной переменной, попробуйте использовать DT[, ..%1$s]. Префикс .. " -"выполняет поиск переменной на один вызов функции выше, аналогично путям в " -"файловой системе." - -#: data.table.R:1466 +#: data.table.R:1495 #, c-format msgid "" "The column '.N' can't be grouped because it conflicts with the special .N " @@ -1103,7 +1110,7 @@ msgstr "" "со специальной переменной .N. Попробуйте сначала выполнить setnames(DT,'." "N','N')." -#: data.table.R:1467 +#: data.table.R:1496 #, c-format msgid "" "The column '.I' can't be grouped because it conflicts with the special .I " @@ -1113,7 +1120,7 @@ msgstr "" "со специальной переменной .I. Попробуйте сначала выполнить setnames(DT,'." "I','I')." -#: data.table.R:1486 +#: data.table.R:1515 msgid "" "Note: forcing units=\"secs\" on implicit difftime by group; call difftime " "explicitly to choose custom units" @@ -1121,47 +1128,47 @@ msgstr "" "Внимание: задаю units=\"secs\" для неявного вызова difftime() по группам; " "чтобы использовать другие единицы, добавьте явный вызов difftime()" -#: data.table.R:1495 +#: data.table.R:1524 #, c-format msgid "logical error. i is not a data.table, but mult='all' and 'by'=.EACHI" msgstr "" "логическая ошибка. «i» не является data.table, но mult='all' и 'by'=.EACHI" -#: data.table.R:1522 +#: data.table.R:1551 msgid "Finding groups using forderv ..." msgstr "Нахожу группы с использованием forderv()..." -#: data.table.R:1536 data.table.R:1568 +#: data.table.R:1565 data.table.R:1597 msgid "Finding group sizes from the positions (can be avoided to save RAM) ..." msgstr "" "Нахожу размеры групп из их позиций (что можно было бы избежать и сэкономить " "ОЗУ) ..." -#: data.table.R:1544 +#: data.table.R:1573 msgid "Getting back original order ..." msgstr "Возвращаю исходный порядок ..." -#: data.table.R:1556 +#: data.table.R:1585 msgid "Finding groups using uniqlist on key ..." msgstr "Нахожу группы с использованием uniqlist() от ключа..." -#: data.table.R:1560 +#: data.table.R:1589 msgid "Finding groups using uniqlist on index '%s' ..." msgstr "Нахожу группы с использованием uniqlist() от индекса '%s'..." -#: data.table.R:1779 +#: data.table.R:1808 msgid "lapply optimization changed j from '%s' to '%s'" msgstr "оптимизация lapply() изменила «j» с '%s' на '%s'" -#: data.table.R:1781 +#: data.table.R:1810 msgid "lapply optimization is on, j unchanged as '%s'" msgstr "оптимизация lapply() оставила «j» неизменным, равным '%s'" -#: data.table.R:1790 data.table.R:1814 +#: data.table.R:1819 data.table.R:1843 msgid "GForce optimized j to '%s' (see ?GForce)" msgstr "«j» оптимизировано до '%s' (см. ?GForce)" -#: data.table.R:1815 +#: data.table.R:1844 msgid "" "GForce is on, but not activated for this query; left j unchanged (see ?" "GForce)" @@ -1169,7 +1176,7 @@ msgstr "" "GForce включено, но деактивировано для данного запроса; «j» оставлено " "неизменным (см. ?GForce)" -#: data.table.R:1834 +#: data.table.R:1863 #, c-format msgid "" "Unable to optimize call to mean() and could be very slow. You must name 'na." @@ -1180,32 +1187,32 @@ msgstr "" "Обязательно явно называйте аргумент 'na.rm': mean(x,TRUE) будет воспринято " "как trim=TRUE, который еще не оптимизирован." -#: data.table.R:1838 +#: data.table.R:1867 msgid "Old mean optimization changed j from '%s' to '%s'" msgstr "Старая оптимизация mean() изменила «j» с '%s' до '%s'" -#: data.table.R:1840 +#: data.table.R:1869 msgid "Old mean optimization is on, left j unchanged." msgstr "Старая оптимизация mean() включена, оставила «j» неизменным." -#: data.table.R:1850 +#: data.table.R:1879 msgid "All optimizations are turned off" msgstr "Все оптимизации выключены" -#: data.table.R:1851 +#: data.table.R:1880 msgid "Optimization is on but left j unchanged (single plain symbol): '%s'" msgstr "" "Оптимизация включена, но оставила «j» неизменным (одно имя переменной): '%s'" -#: data.table.R:1880 +#: data.table.R:1909 msgid "Making each group and running j (GForce %s) ..." msgstr "Создаю каждую группу и вычисляю «j» (GForce %s)..." -#: data.table.R:1976 +#: data.table.R:2005 msgid "setkey() after the := with keyby= ..." msgstr "setkey() после присваивания := с keyby=..." -#: data.table.R:1980 +#: data.table.R:2009 #, c-format msgid "" "The setkey() normally performed by keyby= has been skipped (as if by= was " @@ -1219,16 +1226,16 @@ msgstr "" "используйте вместо этого by= или укажите имена существующих столбцов в " "keyby=." -#: data.table.R:2006 +#: data.table.R:2035 msgid "setkey() afterwards for keyby=.EACHI ..." msgstr "setkey() после keyby=.EACHI..." -#: data.table.R:2072 +#: data.table.R:2144 #, c-format msgid "rownames and rownames.value cannot both be used at the same time" msgstr "rownames и rownames.value нельзя использовать одновременно" -#: data.table.R:2075 +#: data.table.R:2147 #, c-format msgid "" "length(rownames)==%d but nrow(DT)==%d. The rownames argument specifies a " @@ -1237,13 +1244,13 @@ msgstr "" "length(rownames)==%d, но nrow(DT)==%d. Аргумент «rownames» задает имя или " "номер одного столбца. Вместо него можно использовать rownames.value=." -#: data.table.R:2079 +#: data.table.R:2151 #, c-format msgid "" "length(rownames)==0 but should be a single column name or number, or NULL" msgstr "length(rownames)==0, но должно быть имя или номер столбца, либо NULL" -#: data.table.R:2083 +#: data.table.R:2155 #, c-format msgid "" "rownames is TRUE but key has multiple columns %s; taking first column x[,1] " @@ -1252,12 +1259,12 @@ msgstr "" "«rownames» - TRUE, но ключ имеет несколько столбцов %s; беру первый столбец " "x[,1] в качестве «rownames»" -#: data.table.R:2093 +#: data.table.R:2165 #, c-format msgid "'%s' is not a column of x" msgstr "«%s» не является столбцом в x" -#: data.table.R:2099 +#: data.table.R:2171 #, c-format msgid "" "as.integer(rownames)==%d which is outside the column number range [1," @@ -1266,12 +1273,12 @@ msgstr "" "as.integer(rownames)==%d, что выходит за пределы диапазона номеров столбцов " "[1,ncol=%d]." -#: data.table.R:2104 +#: data.table.R:2176 #, c-format msgid "length(rownames.value)==%d but should be nrow(x)==%d" msgstr "length(rownames.value)==%d, но должно быть nrow(x)==%d" -#: data.table.R:2200 +#: data.table.R:2272 #, c-format msgid "" "When i is a matrix in DT[i]<-value syntax, it doesn't make sense to provide j" @@ -1279,22 +1286,22 @@ msgstr "" "Когда в синтаксисе «DT[i]<-значение» «i» является матрицей, передавать «j» " "бесполезно" -#: data.table.R:2210 +#: data.table.R:2282 #, c-format msgid "j must be an atomic vector, see ?is.atomic" msgstr "«j» должен быть атомарным вектором, см. ?is.atomic" -#: data.table.R:2211 +#: data.table.R:2283 #, c-format msgid "NA in j" msgstr "в «j» нашлись NA" -#: data.table.R:2217 +#: data.table.R:2289 #, c-format msgid "j must be vector of column name or positions" msgstr "«j» должен быть вектором имен или позиций столбцов" -#: data.table.R:2218 +#: data.table.R:2290 #, c-format msgid "" "Attempt to assign to column position greater than ncol(x). Create the column " @@ -1303,7 +1310,7 @@ msgstr "" "Попытка присвоить столбцу под номером большим, чем ncol(x). Во избежание " "ошибок, пожалуйста, создайте столбец по имени." -#: data.table.R:2285 +#: data.table.R:2357 #, c-format msgid "" "data.table inherits from data.frame (from v1.5), but this data.table does " @@ -1315,43 +1322,38 @@ msgstr "" "не 'data.table') или сохранена на диск с помощью предыдущей версии data." "table?" -#: data.table.R:2294 +#: data.table.R:2366 #, c-format msgid "attempting to assign invalid object to dimnames of a data.table" msgstr "" "попытка присвоить недопустимый объект атрибуту «dimnames» таблицы data.table" -#: data.table.R:2295 +#: data.table.R:2367 #, c-format msgid "data.tables do not have rownames" msgstr "у data.table не бывает «rownames»" -#: data.table.R:2296 data.table.R:2665 +#: data.table.R:2368 data.table.R:2752 #, c-format msgid "Can't assign %d names to a %d-column data.table" msgstr "Невозможно присвоить %d имен data.table из %d столбцов" -#: data.table.R:2360 +#: data.table.R:2432 #, c-format msgid "'subset' must evaluate to logical" msgstr "Результатом вычисления «subset» должен быть логический вектор" -#: data.table.R:2403 +#: data.table.R:2475 #, c-format msgid "Argument 'invert' must be logical TRUE/FALSE" msgstr "Аргумент «invert» должен быть TRUE или FALSE" -#: data.table.R:2444 -#, c-format -msgid "x argument must be a data.table" -msgstr "аргумент «x» должен быть data.table" - -#: data.table.R:2449 +#: data.table.R:2521 #, c-format msgid "group length is 0 but data nrow > 0" msgstr "длина групп равна 0, но в данных > 0 строк" -#: data.table.R:2451 +#: data.table.R:2523 #, c-format msgid "" "passing 'f' argument together with 'by' is not allowed, use 'by' when split " @@ -1360,31 +1362,31 @@ msgstr "" "нельзя передавать аргумент «f» одновременно с «by». Используйте «by» при " "разбиении по столбцам data.table, а «f» при разбиении по внешнему фактору" -#: data.table.R:2459 +#: data.table.R:2531 #, c-format msgid "Either 'by' or 'f' argument must be supplied" msgstr "Нужно передать либо аргумент «by», либо «f»" -#: data.table.R:2461 +#: data.table.R:2533 #, c-format msgid "Column '.ll.tech.split' is reserved for split.data.table processing" msgstr "" "Имя столбца «.ll.tech.split» зарезервировано для внутренних нужд split.data." "table" -#: data.table.R:2462 +#: data.table.R:2534 #, c-format msgid "Column '.nm.tech.split' is reserved for split.data.table processing" msgstr "" "Имя столбца «.nm.tech.split» зарезервировано для внутренних нужд split.data." "table" -#: data.table.R:2463 +#: data.table.R:2535 #, c-format msgid "Argument 'by' must refer to column names in x" msgstr "Аргумент «by» должен называть столбцы внутри «x»" -#: data.table.R:2464 +#: data.table.R:2536 #, c-format msgid "" "Argument 'by' must refer only to atomic-type columns, but the following " @@ -1393,11 +1395,11 @@ msgstr "" "Аргумент «by» должен называть только атомарные столбцы, но следующие " "оказались не-атомарными: %s" -#: data.table.R:2511 +#: data.table.R:2583 msgid "Processing split.data.table with: %s" msgstr "Обрабатываю split.data.table() с использованием: %s" -#: data.table.R:2596 +#: data.table.R:2683 #, c-format msgid "" "x is not a data.table|frame. Shallow copy is a copy of the vector of column " @@ -1407,12 +1409,12 @@ msgstr "" "только указатели на столбцы, поэтому данная операция имеет смысл только для " "data.table или data.frame" -#: data.table.R:2605 +#: data.table.R:2692 #, c-format msgid "setalloccol attempting to modify `*tmp*`" msgstr "попытка модифицировать `*tmp*` в setalloccol" -#: data.table.R:2640 +#: data.table.R:2727 #, c-format msgid "" "Input is a length=1 logical that points to the same address as R's global " @@ -1423,53 +1425,53 @@ msgstr "" "глобальной переменной в R. Атрибут не был выставлен по ссылке; вместо этого " "нужно присвоить возвращаемое значение переменной. См. отчёт об ошибке №1281." -#: data.table.R:2655 +#: data.table.R:2742 #, c-format msgid "x is not a data.table or data.frame" msgstr "x не является data.table или data.frame" -#: data.table.R:2657 +#: data.table.R:2744 #, c-format msgid "x has %d columns but its names are length %d" msgstr "в «x» %d столбцов, но его имена длины %d" -#: data.table.R:2664 +#: data.table.R:2751 #, c-format msgid "Passed a vector of type '%s'. Needs to be type 'character'." msgstr "Передан вектор типа '%s'. Должен быть типа 'character'." -#: data.table.R:2677 +#: data.table.R:2764 #, c-format msgid "'new' is not a character vector or a function" msgstr "'new' - ни строковой вектор, ни функция" -#: data.table.R:2679 +#: data.table.R:2766 #, c-format msgid "NA in 'new' at positions %s" msgstr "NA в 'new' на позициях %s" -#: data.table.R:2680 +#: data.table.R:2767 #, c-format msgid "Some duplicates exist in 'old': %s" msgstr "Некоторые элементы «old» дублированы: %s" -#: data.table.R:2682 +#: data.table.R:2769 #, c-format msgid "'old' is type %s but should be integer, double or character" msgstr "«old» имеет тип %s, но должен быть целым, дробным или строковым" -#: data.table.R:2683 +#: data.table.R:2770 #, c-format msgid "'old' is length %d but 'new' is length %d" msgstr "«old» длины %d, а «new» - длины %d" -#: data.table.R:2684 +#: data.table.R:2771 #, c-format msgid "NA (or out of bounds) in 'old' at positions %s" msgstr "" "в «old» находится NA (или значение вне допустимого диапазона) на позиции %s" -#: data.table.R:2687 +#: data.table.R:2774 #, c-format msgid "" "Item %d of 'old' is '%s' which appears several times in column names. Just " @@ -1480,7 +1482,7 @@ msgstr "" "столбцов. Будет изменен только первый из них. В «old» есть %d других " "элементов, которые также дублируются в именах столбцов." -#: data.table.R:2695 +#: data.table.R:2782 #, c-format msgid "" "Items of 'old' not found in column names: %s. Consider skip_absent=TRUE." @@ -1488,24 +1490,24 @@ msgstr "" "Элементы «old» не найдены в именах столбцов: %s. Возможно, Вам нужно " "skip_absent=TRUE." -#: data.table.R:2736 +#: data.table.R:2823 #, c-format msgid "Provide either before= or after= but not both" msgstr "Укажите либо before=, либо after=, но не оба варианта" -#: data.table.R:2738 +#: data.table.R:2825 #, c-format msgid "before=/after= accept a single column name or number, not more than one" msgstr "before=/after= принимают только одно имя или номер столбца" -#: data.table.R:2795 +#: data.table.R:2882 #, c-format msgid "Input is %s but should be a plain list of items to be stacked" msgstr "" "Входное значение типа %s, но должно быть обычным списком элементов для " "вертикальной конкатенации" -#: data.table.R:2799 +#: data.table.R:2886 #, c-format msgid "" "idcol must be a logical or character vector of length 1. If logical TRUE the " @@ -1514,12 +1516,12 @@ msgstr "" "«idcol» должен быть логическим или строковым скаляром. Если TRUE, то столбец " "идентификаторов будет назван «.id»." -#: data.table.R:2804 +#: data.table.R:2891 #, c-format msgid "use.names=NA invalid" msgstr "use.names=NA — неправильно" -#: data.table.R:2806 +#: data.table.R:2893 #, c-format msgid "" "use.names='check' cannot be used explicitly because the value 'check' is new " @@ -1530,20 +1532,25 @@ msgstr "" "добавлено в 1.12.2 и ещё может быть изменено. Чтобы использовать поведение " "по умолчанию, не передавайте аргумент вовсе. См. ?rbindlist." -#: data.table.R:2821 +#: data.table.R:2908 #, c-format msgid "" -"Check that is.data.table(DT) == TRUE. Otherwise, :=, `:=`(...) and let(...) " -"are defined for use in j, once only and in particular ways. Note that " -"namespace-qualification like data.table::`:=`(...) is not supported. See " -"help(\":=\")." +"Check that is.data.table(DT) == TRUE. Otherwise, `:=` is defined for use in " +"j, once only and in particular ways. See help(\":=\", \"data.table\"). A " +"common reason for this error is allocating a new column in `j` and using `<-" +"` instead of `:=`; e.g., `DT[, new_col <- 1]` should be `DT[, new_col := " +"1]`. Another is using `:=` in a multi-statement `{...}` block; please use `:" +"=` as the only statement in `j`." msgstr "" -"Убедитесь, что is.data.table(DT) == TRUE. В противном случае внутри " -"аргумента j можно использовать :=, `:=`(...) и let(...) только один раз и " -"определенным образом. Обратите внимание, что полное имя data.table::`:" -"=`(...) не поддерживается. См. help(\":=\")." +"Убедитесь, что is.data.table(DT) == TRUE. В противном случае := может " +"работать в аргументе j, но с ограничениями. См. help(\":=\", \"data." +"table\"). Частой причиной данной ошибки является добавление нового столбца в " +"j с использованием <- вместо :=. Например, вместо DT[, ещё_столбец <- 1] " +"нужно писать DT[, ещё_столбец := 1]. Также нельзя использовать := в " +"{блоках}, содержащих несколько выражений; пожалуйста, сделайте операцию := " +"единственным выражением верхнего уровня в аргументе j." -#: data.table.R:2838 +#: data.table.R:2925 #, c-format msgid "" "setDF only accepts data.table, data.frame or list of equal length as input" @@ -1551,28 +1558,28 @@ msgstr "" "setDF принимает в качестве входных данных только data.table, data.frame или " "список векторов одинаковой длины" -#: data.table.R:2839 +#: data.table.R:2926 #, c-format msgid "rownames contains duplicates" msgstr "элементы rownames дублированы" -#: data.table.R:2846 data.table.R:2857 data.table.R:2880 +#: data.table.R:2933 data.table.R:2944 data.table.R:2967 #, c-format msgid "rownames incorrect length; expected %d names, got %d" msgstr "неправильная длина rownames: должно быть %d имен, получено %d" -#: data.table.R:2865 +#: data.table.R:2952 #, c-format msgid "All elements in argument 'x' to 'setDF' must be of same length" msgstr "" "Все элементы в аргументе «x» функции setDF() должны быть одинаковой длины" -#: data.table.R:2894 +#: data.table.R:2981 #, c-format msgid "Cannot find symbol %s" msgstr "Не могу найти переменную %s" -#: data.table.R:2901 +#: data.table.R:2988 #, c-format msgid "" "Cannot convert '%1$s' to data.table by reference because binding is locked. " @@ -1587,34 +1594,29 @@ msgstr "" "текущее окружение, например: var <- copy(var), а затем снова использовать " "setDT." -#: data.table.R:2955 +#: data.table.R:3042 #, c-format msgid "" "Argument 'x' to 'setDT' should be a 'list', 'data.frame' or 'data.table'" msgstr "" "Аргумент «x» для setDT() должен быть списком, data.frame или data.table" -#: data.table.R:2970 -#, c-format -msgid "Item '%s' not found in names of input list" -msgstr "Не могу найти «%s» среди имён входного списка" - -#: data.table.R:3003 data.table.R:3028 +#: data.table.R:3075 data.table.R:3100 #, c-format msgid "'prefix' must be NULL or a character vector of length 1." msgstr "«prefix» должен быть NULL либо одной строкой." -#: data.table.R:3006 data.table.R:3031 +#: data.table.R:3078 data.table.R:3103 #, c-format msgid "x is a single vector, non-NULL 'cols' doesn't make sense." msgstr "x - единичный вектор, передавать «cols» не-NULL бесполезно." -#: data.table.R:3010 data.table.R:3035 +#: data.table.R:3082 data.table.R:3107 #, c-format msgid "x is a list, 'cols' cannot be 0-length." msgstr "«x» - список, нельзя передавать «cols» нулевой длины." -#: data.table.R:3190 +#: data.table.R:3262 #, c-format msgid "" "It looks like you re-used `:=` in argument %d a functional assignment call " @@ -1624,7 +1626,7 @@ msgstr "" "присваивания. Пожалуйста, вместо этого используйте `=`: %s(col1=val1, " "col2=val2, ...)" -#: data.table.R:3256 +#: data.table.R:3328 #, c-format msgid "" "RHS of %s is length %d which is not 1 or nrow (%d). For robustness, no " @@ -1634,7 +1636,7 @@ msgstr "" "надежности не допускается «повторное использование» векторов (кроме случая " "длины 1). Попробуйте использовать %%in%%." -#: data.table.R:3288 +#: data.table.R:3360 msgid "" "Subsetting optimization disabled because the cross-product of RHS values " "exceeds 1e4, causing memory problems." @@ -1643,23 +1645,23 @@ msgstr "" "правой части превышает 1e4 элементов, что проблематично с точки зрения " "памяти." -#: data.table.R:3306 +#: data.table.R:3378 msgid "Optimized subsetting with key %s" msgstr "Оптимизированная выборка подмножества с ключом %s" -#: data.table.R:3325 data.table.R:3337 +#: data.table.R:3397 data.table.R:3409 msgid "Optimized subsetting with index '%s'" msgstr "Оптимизированная выборка подмножества по индексу '%s'" -#: data.table.R:3332 +#: data.table.R:3404 msgid "Creating new index '%s'" msgstr "Создаю новый индекс '%s'" -#: data.table.R:3333 +#: data.table.R:3405 msgid "Creating index %s done in ..." msgstr "Новый индекс %s создан за..." -#: data.table.R:3371 +#: data.table.R:3438 #, c-format msgid "" "'on' argument should be a named atomic vector of column names indicating " @@ -1669,7 +1671,7 @@ msgstr "" "указывающим, какие столбцы в «i» должны быть объединены с какими столбцами в " "«x»." -#: data.table.R:3412 +#: data.table.R:3479 #, c-format msgid "" "Found more than one operator in one 'on' statement: %s. Please specify a " @@ -1678,7 +1680,7 @@ msgstr "" "В «on» передан более чем один оператор: %s. Пожалуйста, передайте только " "один оператор." -#: data.table.R:3435 +#: data.table.R:3502 #, c-format msgid "" "'on' contains no column name: %s. Each 'on' clause must contain one or two " @@ -1687,7 +1689,7 @@ msgstr "" "Элемент «on» не содержит имени столбца: %s. Каждый элемент «on» должен " "содержать одно или два имени столбцов." -#: data.table.R:3437 +#: data.table.R:3504 #, c-format msgid "" "'on' contains more than 2 column names: %s. Each 'on' clause must contain " @@ -1696,7 +1698,7 @@ msgstr "" "Элемент «on» содержит больше двух имён столбцов: %s. Каждый элемент «on» " "должен содержать одно или два имени столбцов." -#: data.table.R:3442 +#: data.table.R:3509 #, c-format msgid "Invalid join operators %s. Only allowed operators are %s." msgstr "Недопустимые операторы соединения %s. Разрешены только %s." @@ -1866,14 +1868,6 @@ msgstr "" "Пожалуйста, исправьте это, изменив свою функцию так, чтобы она всегда " "возвращала единственное значение." -#: fdroplevels.R:12 -#, c-format -msgid "" -"droplevels() with in.place=TRUE is deprecated. Use setdroplevels() instead." -msgstr "" -"droplevels() в комбинации с in.place=TRUE больше не рекомендуется. Вместо " -"этого используйте setdroplevels()." - #: fmelt.R:12 #, c-format msgid "" @@ -2078,7 +2072,7 @@ msgstr "«%s» - единственная группа; пожалуйста, с msgid "'data' must be a data.table" msgstr "«data» должна быть data.table" -#: fmelt.R:203 +#: fmelt.R:207 #, c-format msgid "" "'value.name' provided in both 'measure.vars' and 'value.name argument'; " @@ -2087,12 +2081,12 @@ msgstr "" "«value.name» указано и в «measure.vars» (как имена списка), и в аргументе " "«value.name»; отдаю приоритет аргументу «measure.vars»." -#: fmelt.R:206 +#: fmelt.R:210 #, c-format msgid "Please provide a name to each element of 'measure.vars'." msgstr "Пожалуйста, дайте имя каждому элементу «measure.vars»." -#: fmelt.R:217 +#: fmelt.R:221 msgid "" "Duplicate column names found in molten data.table. Setting unique names " "using 'make.names'" @@ -2353,12 +2347,17 @@ msgstr "Передано более одного аргумента input=, file msgid "Argument 'encoding' must be 'unknown', 'UTF-8' or 'Latin-1'." msgstr "Аргумент «encoding» должен быть 'unknown', 'UTF-8' или 'Latin-1'." -#: fread.R:44 +#: fread.R:34 +#, c-format +msgid "comment.char= must be a single non-NA character." +msgstr "comment.char= должен быть строкой из одного символа, не NA." + +#: fread.R:47 #, c-format msgid "'text=' is type %s but must be character." msgstr "«text=» имеет тип %s, но должен быть строковым." -#: fread.R:57 +#: fread.R:60 #, c-format msgid "" "input= must be a single character string containing a file name, a system " @@ -2371,7 +2370,7 @@ msgstr "" "'ftp[s]://' или 'file://', или сами входные данные, содержащие хотя бы один " "\\n или \\r" -#: fread.R:62 +#: fread.R:65 #, c-format msgid "" "input= contains no \\n or \\r, but starts with a space. Please remove the " @@ -2380,7 +2379,7 @@ msgstr "" "input= не содержит \\n или \\r, но начинается с пробела. Пожалуйста, уберите " "пробелы или используйте text=, file= или cmd=" -#: fread.R:66 +#: fread.R:69 #, c-format msgid "" "Taking input= as a system command because it contains a space ('%s'). If " @@ -2399,7 +2398,17 @@ msgstr "" "NEWS для версии 1.11.6 для получения дополнительной информации и возможности " "подавления этого сообщения." -#: fread.R:79 +#: fread.R:80 +#, c-format +msgid "" +"External command failed with exit code %d. This can happen when the disk is " +"full in the temporary directory ('%s'). See ?fread for the tmpdir argument." +msgstr "" +"Внешняя команда завершилась неудачно с кодом %d. Такое бывает, если " +"недостаточно места во временной директории ('%s'). См. ?fread про аргумент " +"tmpdir." + +#: fread.R:86 #, c-format msgid "" "file= must be a single character string containing a filename, or URL " @@ -2408,29 +2417,29 @@ msgstr "" "file= должен быть строкой из одного символа, содержащей имя файла или URL, " "начинающийся с 'http[s]://', 'ftp[s]://' или 'file://'" -#: fread.R:92 +#: fread.R:99 #, c-format msgid "File '%s' does not exist or is non-readable. getwd()=='%s'" msgstr "Файл «%s» не существует или является нечитаемым. getwd()=='%s'" -#: fread.R:93 +#: fread.R:100 #, c-format msgid "File '%s' is a directory. Not yet implemented." msgstr "" "Файл «%s» является директорией. Пока что не умею читать целые директории." -#: fread.R:95 +#: fread.R:102 #, c-format msgid "File '%s' has size 0. Returning a NULL %s." msgstr "Размер файла «%s» = 0. Возвращаю NULL %s." -#: fread.R:107 +#: fread.R:114 #, c-format msgid "" "Compressed files containing more than 1 file are currently not supported." msgstr "Архивы, содержащие более 1 файла, в настоящее время не поддерживаются." -#: fread.R:117 +#: fread.R:124 #, c-format msgid "" "To read %s files directly, fread() requires 'R.utils' package which cannot " @@ -2443,14 +2452,26 @@ msgstr "" #: fread.R:127 #, c-format msgid "" -"'autostart' is deprecated. Consider skip='string' or skip=n. This argument " -"will be removed in the next release." +"Reading compressed files in fread requires R.utils version 2.13.0 or higher. " +"Please upgrade R.utils." +msgstr "" +"Для чтения сжатых файлов при помощи fread необходим пакет R.utils версии " +"2.13.0 или выше. Пожалуйста, обновите R.utils." + +#: fread.R:134 +#, c-format +msgid "" +"R.utils::decompressFile failed to decompress file '%s':\n" +" %s\n" +". This can happen when the disk is full in the temporary directory ('%s'). " +"See ?fread for the tmpdir argument." msgstr "" -"'autostart' больше не рекомендуется использовать. Возможно, Вам нужно " -"skip='строка' или skip=число. В следующей версии данный аргумент будет " -"удалён." +"Не удалось распаковать файл '%s' с использованием R.utils::decompressFile:\n" +" %s\n" +"Такое бывает, если во временной директории ('%s') недостаточно места. См. ?" +"fread про аргумент tmpdir." -#: fread.R:129 +#: fread.R:143 #, c-format msgid "" "colClasses is type 'logical' which is ok if all NA but it has some TRUE or " @@ -2461,12 +2482,12 @@ msgstr "" "NA, но в нем есть некоторые значения TRUE или FALSE, что недопустимо. Вместо " "этого используйте аргумент drop= или select=. См. ?fread." -#: fread.R:133 +#: fread.R:147 #, c-format msgid "colClasses is not type list or character vector" msgstr "colClasses не является списком типов или вектором строк" -#: fread.R:138 +#: fread.R:152 #, c-format msgid "" "colClasses=\"NULL\" (quoted) is interpreted as colClasses=NULL (the default) " @@ -2475,13 +2496,13 @@ msgstr "" "интерпретирую colClasses=\"NULL\" (в кавычках) как colClass=NULL (значение " "по умолчанию) вместо того, чтобы отбросить все столбцы." -#: fread.R:150 +#: fread.R:164 #, c-format msgid "na.strings[%d]==\"%s\" consists only of whitespace, ignoring" msgstr "" "na.strings[%d]==\"%s\" состоит только из пробельных символов, игнорирую" -#: fread.R:153 +#: fread.R:167 #, c-format msgid "" "%s. Since strip.white=TRUE (default), use na.strings=\"\" to specify that " @@ -2491,7 +2512,7 @@ msgstr "" "чтобы указать, что любое количество пробелов в строковом столбце нужно " "читать как ." -#: fread.R:155 +#: fread.R:169 #, c-format msgid "" "%s. strip.white==TRUE (default) and \"\" is present in na.strings, so any " @@ -2500,7 +2521,7 @@ msgstr "" "%s. Поскольку strip.white==TRUE (по умолчанию) и «na.strings» содержит \"\", " "любое количество пробелов в строковых столбцах уже будет прочитано как ." -#: fread.R:159 +#: fread.R:173 #, c-format msgid "" "%s. But strip.white=FALSE. Use strip.white=TRUE (default) together with na." @@ -2510,7 +2531,7 @@ msgstr "" "с na.strings=\"\", чтобы превратить любое количество пробелов в строковых " "столбцах в " -#: fread.R:166 +#: fread.R:180 #, c-format msgid "" "'data.table' relies on the package 'yaml' to parse the file header; please " @@ -2519,7 +2540,7 @@ msgstr "" "Для разбора заголовка файла 'data.table' использует пакет 'yaml'; установите " "его в свою библиотеку с помощью install.packages('yaml') и повторите попытку." -#: fread.R:170 +#: fread.R:184 #, c-format msgid "" "Combining a search string as 'skip' and reading a YAML header may not work " @@ -2533,7 +2554,7 @@ msgstr "" "пожалуйста, подайте заявку на наш трекер GitHub, если хотите, чтобы " "поддерживалось более интуитивное поведение." -#: fread.R:180 +#: fread.R:194 #, c-format msgid "" "Encountered <%s%s> at the first unskipped line (%d), which does not " @@ -2544,7 +2565,7 @@ msgstr "" "корректного заголовка YAML (ожидается что-то, соответствующее регулярному " "выражению \"%s\"); пожалуйста, проверьте ваш ввод и повторите попытку." -#: fread.R:192 +#: fread.R:206 #, c-format msgid "" "Reached the end of the file before finding a completion to the YAML header. " @@ -2555,19 +2576,19 @@ msgstr "" "заголовок состоит из строк, соответствующих регулярному выражению \"%s\". " "Пожалуйста, убедитесь, что входной файл является корректным CSVY." -#: fread.R:203 +#: fread.R:217 msgid "" "Processed %d lines of YAML metadata with the following top-level fields: %s" msgstr "" "Обработано %d строк метаданных YAML со следующими полями верхнего уровня: %s" -#: fread.R:206 +#: fread.R:220 #, c-format msgid "User-supplied 'header' will override that found in metadata." msgstr "" "Переданный аргумент «header» переопределяет тот, который указан в метаданных." -#: fread.R:224 +#: fread.R:238 #, c-format msgid "" "User-supplied column names in 'col.names' will override those found in YAML " @@ -2576,7 +2597,7 @@ msgstr "" "Заданные пользователем имена столбцов в «col.names» переопределяют имена, " "указанные в метаданных YAML." -#: fread.R:233 +#: fread.R:247 #, c-format msgid "" "colClasses dictated by user input and those read from YAML header are in " @@ -2590,32 +2611,32 @@ msgstr "" "отдаю приоритет переданному аргументу, а не заголовку YAML. Пожалуйста, " "исключите столбец(ы) из colClasses, если это было непреднамеренно." -#: fread.R:254 +#: fread.R:268 #, c-format msgid "User-supplied 'sep' will override that found in metadata." msgstr "" "Переданный аргумент «sep» переопределяет значение, найденное в метаданных." -#: fread.R:259 +#: fread.R:273 #, c-format msgid "User-supplied 'quote' will override that found in metadata." msgstr "" "Переданный аргумент «quote» переопределяет значение, найденное в метаданных." -#: fread.R:264 +#: fread.R:278 #, c-format msgid "User-supplied 'dec' will override that found in metadata." msgstr "" "Переданный аргумент «dec» переопределяет значение, найденное в метаданных." -#: fread.R:268 +#: fread.R:282 #, c-format msgid "User-supplied 'na.strings' will override that found in metadata." msgstr "" "Переданный аргумент «na.strings» переопределяет значение, найденное в " "метаданных." -#: fread.R:320 +#: fread.R:334 msgid "" "Column '%s' was requested to be '%s' but fread encountered the following " "warning:\n" @@ -2627,7 +2648,7 @@ msgstr "" "\t%s\n" "поэтому столбец был оставлен как тип '%s'" -#: fread.R:322 +#: fread.R:336 msgid "" "Column '%s' was requested to be '%s' but fread encountered the following " "error:\n" @@ -2639,7 +2660,7 @@ msgstr "" "\t%s\n" "поэтому столбец был оставлен как тип '%s'" -#: fread.R:349 +#: fread.R:363 #, c-format msgid "" "key argument of data.table() must be a character vector naming columns (NB: " @@ -2648,7 +2669,7 @@ msgstr "" "аргументом «key» функции data.table() должен быть строковой вектор с именами " "столбцов (NB: с учётом «col.names»)" -#: fread.R:357 +#: fread.R:371 #, c-format msgid "" "index argument of data.table() must be a character vector naming columns " @@ -2657,28 +2678,418 @@ msgstr "" "аргументом «index» функции data.table() должен быть строковой вектор с " "именами столбцов (NB: с учётом «col.names»)" -#: fwrite.R:20 +#: froll.R:30 #, c-format -msgid "Argument 'encoding' must be '', 'UTF-8' or 'native'." -msgstr "Аргумент «encoding» должен быть '', 'UTF-8' или 'native'." +msgid "n must be non 0 length" +msgstr "n должно быть ненулевой длины" + +#: froll.R:32 +#, c-format +msgid "'partial' cannot be used together with align='center'" +msgstr "нельзя использовать 'partial' вместе с align='center'" + +#: froll.R:35 +#, c-format +msgid "'partial' does not support variable length of columns in x" +msgstr "'partial' не поддерживает столбцы переменной длины в x" + +#: froll.R:37 +#, c-format +msgid "'partial' does not support variable nrow of data.tables in x" +msgstr "'partial' не поддерживает таблицы с различным количеством строк в x" + +#: froll.R:48 +#, c-format +msgid "n must be an integer, list is accepted for adaptive TRUE" +msgstr "n должен быть целочисленным; для adaptive=TRUE также допустим список" + +#: froll.R:50 froll.R:62 +#, c-format +msgid "n must be an integer vector or a list of integer vectors" +msgstr "n должен быть целочисленным вектором или списком из них" + +#: froll.R:52 +msgid "" +"partial2adaptive: froll partial=TRUE trimming n and redirecting to " +"adaptive=TRUE" +msgstr "partial2adaptive: froll(partial=TRUE) усекаю n и вызываю adaptive=TRUE" + +#: froll.R:64 +#, c-format +msgid "adaptive windows provided in n must not to have different lengths" +msgstr "длины векторов адаптивных окон в «n» должны совпадать" + +#: froll.R:66 +#, c-format +msgid "" +"length of n argument must be equal to number of observations provided in x" +msgstr "длина аргумента n должна совпадать с количеством наблюдений в x" + +#: froll.R:68 +#, c-format +msgid "length of vectors in x must match to length of adaptive window in n" +msgstr "" +"длины векторов в x должны совпадать с длинами векторов адаптивных окон в n" + +#: froll.R:70 +msgid "partial2adaptive: froll adaptive=TRUE and partial=TRUE trimming n" +msgstr "partial2adaptive: froll adaptive=TRUE и partial=TRUE; усекаю n" + +#: froll.R:86 +#, c-format +msgid "" +"internal error: misuse of make.roll.names, n must be numeric for !adaptive" +msgstr "" +"внутренняя ошибка: неправильное использование make.roll.names, для !adaptive " +"n должен быть численным" + +#: froll.R:92 +#, c-format +msgid "" +"internal error: misuse of make.roll.names, non-null length 0 n is not " +"possible for !adaptive" +msgstr "" +"внутренняя ошибка: некорректное использование make.roll.names, не-NULL n " +"длины 0 несовместим с !adaptive" + +#: froll.R:106 +#, c-format +msgid "" +"internal error: make.roll.names call should have been escaped in frollapply " +"during 'unpack atomic input'" +msgstr "" +"внутренняя ошибка: frollapply должна была обойтись без вызова make.roll." +"names (см. комментарий 'unpack atomic input')" + +#: froll.R:110 +#, c-format +msgid "internal error: make.roll.names generated names of wrong length" +msgstr "внутренняя ошибка: make.roll.names создала имена неправильной длины" + +#: froll.R:118 +#, c-format +msgid "'x' must be of a numeric type" +msgstr "«x» должен быть численного типа" + +#: froll.R:122 froll.R:127 +#, c-format +msgid "'n' must be an integer" +msgstr "'n' должен быть целочисленным вектором" + +#: froll.R:132 +#, c-format +msgid "'n' must be non 0 length" +msgstr "«x» должен быть ненулевой длины" + +#: froll.R:134 +#, c-format +msgid "'align' other than 'right' has not yet been implemented" +msgstr "«align» реализован только для значения 'right'" + +#: froll.R:136 froll.R:138 mergelist.R:61 +#, c-format +msgid "'%s' must be TRUE or FALSE" +msgstr "'%s' должно быть TRUE или FALSE" + +#: froll.R:157 froll.R:158 +#, c-format +msgid "hasNA is deprecated, use has.nf instead" +msgstr "пожалуйста, используйте has.nf вместо hasNA" + +#: froll.R:183 +msgid "froll: adaptive=TRUE && align='left' pre-processing for align='right'" +msgstr "froll: adaptive=TRUE && align='left' предобработка для align='right'" + +#: froll.R:191 +msgid "froll: adaptive=TRUE && align='left' post-processing from align='right'" +msgstr "froll: adaptive=TRUE && align='left' постобработка из align='right'" + +#: frollapply.R:130 +#, c-format +msgid "'x' is deprecated in frollapply, use 'X' instead" +msgstr "frollapply: пожалуйста, используйте «X» вместо «x»" + +#: frollapply.R:134 +#, c-format +msgid "'n' is deprecated in frollapply, use 'N' instead" +msgstr "frollapply: пожалуйста, используйте «N» вместо «n»" + +#: frollapply.R:138 +#, c-format +msgid "'by.column' must be TRUE or FALSE" +msgstr "«by.column» должно быть TRUE или FALSE" + +#: frollapply.R:140 +#, c-format +msgid "'adaptive' must be TRUE or FALSE" +msgstr "«adaptive» должно быть TRUE или FALSE" + +#: frollapply.R:142 +#, c-format +msgid "'partial' must be TRUE or FALSE" +msgstr "«partial» должно быть TRUE или FALSE" + +#: frollapply.R:144 +#, c-format +msgid "'give.names' must be TRUE or FALSE" +msgstr "«give.names» должно быть TRUE или FALSE" + +#: frollapply.R:146 +#, c-format +msgid "'simplify' must be TRUE or FALSE or a function" +msgstr "«simplify» должно быть TRUE или FALSE, либо функцией" + +#: frollapply.R:170 +#, c-format +msgid "" +"frollapply by.column=TRUE requires 'X' argument to be atomic or a list of " +"those" +msgstr "" +"frollapply(by.column=TRUE) требует, чтобы «X» был атомарным вектором или " +"списком из них" + +#: frollapply.R:182 +#, c-format +msgid "" +"frollapply by.column=FALSE, when provided a list in 'X' then all vectors " +"must have equal lengths, like data.frame" +msgstr "" +"frollapply(by.column=FALSE): если «X» является списком, все векторы в нём " +"должны быть одинаковой длины, как в таблице данных" + +#: frollapply.R:191 +#, c-format +msgid "" +"frollapply by.column=FALSE got vectorized input in 'X', list of data.frames/" +"data.tables, but not all columns of data.frames/data.tables are atomic" +msgstr "" +"frollapply(by.column=FALSE): «X» является списком таблиц данных, но не все " +"их столбцы являются атомарными" + +#: frollapply.R:197 +#, c-format +msgid "" +"frollapply by.column=FALSE supports vectorized input in 'X' as a list of " +"data.frames/data.tables, not a list of lists. Turn nested lists into data." +"frames/data.table and retry." +msgstr "" +"frollapply(by.column=FALSE) поддерживает векторизацию в «X» для списка " +"таблиц данных, но не для списка из списков. Попробуйте попробовать ещё раз, " +"превратив вложенные списки в таблицы данных." + +#: frollapply.R:199 +#, c-format +msgid "" +"frollapply by.column=FALSE got list in 'X' but it is not valid one. If " +"intent is to pass a list as non-vectorized input, but a single object to " +"apply function to, then the list must have all its vectors atomic. For a " +"vectorized input, passing multiple objects to apply function to, it must be " +"a list of data.frames/data.tables." +msgstr "" +"frollapply(by.column=FALSE) список в «X» не является корректно " +"сформированным. Если список — не векторизованный ввод, а единый объект, от " +"которого нужно вычислить функцию, все его элементы должны быть атомарными " +"векторами. Для векторизованного ввода все элементы списка должны быть " +"таблицами данных." + +#: frollapply.R:202 +#, c-format +msgid "" +"frollapply by.column=FALSE requires 'X' argument to be a data.table/data." +"frame or a list of equal length vectors. For vectorized input can be a list " +"of data.frames/data.tables, but not a list of lists. All columns/vectors " +"must be atomic." +msgstr "" +"frollapply(by.column=FALSE): «X» должен быть таблицей данных или списком " +"векторов одинаковой длины. Для векторизованного ввода также допустим список " +"из таблиц данных, но не других списков. Все столбцы должны быть атомарного " +"типа." + +#: frollapply.R:206 +#, c-format +msgid "'N' must be non 0 length" +msgstr "«N» должен быть ненулевой длины" + +#: frollapply.R:209 +#, c-format +msgid "'N' must be an integer, list is accepted for adaptive TRUE" +msgstr "«N» должно быть целочисленным; для adaptive=TRUE также допустим список" + +#: frollapply.R:211 +#, c-format +msgid "'N' must be an integer" +msgstr "«N» должен быть целочисленным" + +#: frollapply.R:216 frollapply.R:227 frollapply.R:241 +#, c-format +msgid "'N' must be non-negative integer values (>= 0)" +msgstr "«N» должно содержать целые неотрицательные значения (>= 0)" + +#: frollapply.R:220 +#, c-format +msgid "" +"adaptive rolling function can only process 'X' having equal length of " +"elements; If you want to call rolling function on list having variable " +"length of elements call it for each field separately" +msgstr "" +"могу вычислять скользящие функции только для «X», длины элементов которого " +"совпадают; чтобы работать с элементами различных длин, вызовите функцию для " +"каждого элемента по отдельности" + +#: frollapply.R:223 frollapply.R:233 +#, c-format +msgid "" +"length of integer vector(s) provided as list to 'N' argument must be equal " +"to number of observations provided in 'X'" +msgstr "" +"длины целочисленных элементов списка «N» должны совпадать с количеством " +"наблюдений в «X»" + +#: frollapply.R:235 +#, c-format +msgid "adaptive windows provided in 'N' must not to have different lengths" +msgstr "векторы ширин окон в «N» должны быть одинаковой длины" + +#: frollapply.R:237 frollapply.R:245 +#, c-format +msgid "'N' must be an integer vector or list of integer vectors" +msgstr "«N» должен быть целочисленным вектором или списком из них" + +#: frollapply.R:257 +#, c-format +msgid "using adaptive TRUE and align 'center' is not implemented" +msgstr "сочетание adaptive=TRUE и align='center' пока не реализовано" + +#: frollapply.R:262 +msgid "" +"frollapply: adaptive=TRUE && align='left' pre-processing for align='right'" +msgstr "" +"frollapply(adaptive=TRUE, align='left') предобработка для align='right'" + +#: frollapply.R:319 +msgid "" +"frollapply calling parallel::mccollect to collect results from forked " +"processes raised an error.\n" +"%s" +msgstr "" +"frollapply: вызов parallel::mccollect для получения результатов от дочерних " +"процессов привёл к ошибке.\n" +"%s" + +#: frollapply.R:320 +msgid "" +"frollapply internal call to parallel::mccollect raised a warning, FUN " +"warnings should have been suppressed by parallel.\n" +"%s" +msgstr "" +"frollapply внутренний вызов parallel::mccollect вызвал предупреждение; " +"parallel должен был перехватить все предупреждения, исходящие из самой FUN.\n" +"%s" + +#: frollapply.R:322 +msgid "" +"frollapply completed successfully but raised an error when attempting to " +"simplify results using user specified function in 'simplify' argument. Be " +"sure to provide 'fill' argument matching the type and shape of results " +"returned by the your function. Use simplify=FALSE to obtain a list instead.\n" +"%s" +msgstr "" +"frollapply() успешно завершил вычисления, но затем при выполнении функции " +"«simplify» произошла ошибка. Убедитесь, что аргумент «fill» соответствует " +"типу и размерности результатов вычисления функции. Используйте " +"simplify=FALSE, чтобы вернуть список.\n" +"%s" + +#: frollapply.R:323 +msgid "" +"frollapply completed successfully but raised a warning when attempting to " +"simplify results using user specified function in 'simplify' argument. Be " +"sure to provide 'fill' argument matching the type and shape of results " +"returned by the your function. Use simplify=FALSE to obtain a list instead.\n" +"%s" +msgstr "" +"frollapply() успешно завершил вычисления, но затем при выполнении функции " +"«simplify» произошло предупреждение. Убедитесь, что аргумент «fill» " +"соответствует типу и размерности результатов вычисления функции. Используйте " +"simplify=FALSE, чтобы вернуть список.\n" +"%s" + +#: frollapply.R:325 +msgid "" +"frollapply completed successfully but raised an error when attempting to " +"simplify results using our internal 'simplifylist' function. Be sure to " +"provide 'fill' argument matching the type and shape of results returned by " +"the your function. Use simplify=FALSE to obtain a list instead. If you " +"believe your results could be automatically simplified please submit your " +"use case as new issue in our issue tracker.\n" +"%s" +msgstr "" +"frollapply() успешно завершил вычисления, но затем при выполнении внутренней " +"функции «simplifylist» произошла ошибка. Убедитесь, что аргумент «fill» " +"соответствует типу и размерности результатов вычисления функции. Используйте " +"simplify=FALSE, чтобы вернуть список. Если хотите, чтобы списки данного типа " +"можно было автоматически упрощать, создайте заявку в системе отслеживания " +"задач.\n" +"%s" + +#: frollapply.R:326 +msgid "" +"frollapply completed successfully but raised a warning when attempting to " +"simplify results using our internal 'simplifylist' function. Be sure to " +"provide 'fill' argument matching the type and shape of results returned by " +"the your function. Use simplify=FALSE to obtain a list instead. If you " +"believe your results could be automatically simplified please submit your " +"use case as new issue in our issue tracker.\n" +"%s" +msgstr "" +"frollapply() успешно завершил вычисления, но затем при выполнении внутренней " +"функции «simplifylist» произошло предупреждение. Убедитесь, что аргумент " +"«fill» соответствует типу и размерности результатов вычисления функции. " +"Используйте simplify=FALSE, чтобы вернуть список. Если хотите, чтобы списки " +"данного типа можно было автоматически упрощать, создайте заявку в системе " +"отслеживания задач.\n" +"%s" + +#: frollapply.R:332 +msgid "frollapply running on single CPU thread" +msgstr "frollapply: работаю в одном процессе" -#: fwrite.R:27 +#: frollapply.R:348 +msgid "" +"frollapply run on %d CPU threads throttled to %d threads, input length %d" +msgstr "" +"frollapply: из %d возможных процессов ограничиваюсь %d, длина входных данных " +"%d" + +#: frollapply.R:350 +msgid "frollapply running on %d CPU threads" +msgstr "frollapply: работаю на %d дочерних процессах" + +#: frollapply.R:409 frollapply.R:433 #, c-format -msgid "logicalAsInt has been renamed logical01 for consistency with fread." +msgid "" +"frollapply received an error(s) when evaluating FUN:\n" +"%s" msgstr "" -"«logicalAsInt» теперь называется «logical01» для единообразия с fread()." +"frollapply: произошла(и) ошибка(и) при выполнении FUN:\n" +"%s" + +#: fwrite.R:20 +#, c-format +msgid "Argument 'encoding' must be '', 'UTF-8' or 'native'." +msgstr "Аргумент «encoding» должен быть '', 'UTF-8' или 'native'." -#: fwrite.R:36 +#: fwrite.R:33 #, c-format msgid "x being coerced from class: matrix to data.table" msgstr "преобразую «x» из класса matrix в data.table" -#: fwrite.R:70 +#: fwrite.R:67 msgid "Appending to existing file so setting bom=FALSE and yaml=FALSE" msgstr "" "Дописываю в конец существующего файла, так что задаю bom=FALSE и yaml=FALSE" -#: fwrite.R:83 +#: fwrite.R:80 #, c-format msgid "" "If you intended to overwrite the file at %s with an empty one, please use " @@ -2687,17 +3098,17 @@ msgstr "" "Если Вы хотите перезаписать файл %s пустым файлом, сначала удалите его при " "помощи file.remove()." -#: fwrite.R:84 +#: fwrite.R:81 #, c-format msgid "Input has no columns; doing nothing.%s" msgstr "Нет столбцов, нечего записывать.%s" -#: fwrite.R:87 +#: fwrite.R:84 #, c-format msgid "Input has no columns; creating an empty file at '%s' and exiting." msgstr "Входные данные не содержат столбцов; создаю пустой файл «%s»." -#: fwrite.R:95 +#: fwrite.R:92 #, c-format msgid "" "'data.table' relies on the package 'yaml' to write the file header; please " @@ -2870,7 +3281,7 @@ msgstr "" "таблицу данных по ссылке. Используйте ':=' на результатах функции " "группировки." -#: groupingsets.R:117 +#: groupingsets.R:121 #, c-format msgid "" "When using `id=TRUE` the 'j' expression must not evaluate to a column named " @@ -2879,7 +3290,7 @@ msgstr "" "При использовании `id=TRUE` выражение «j» не должно вычислять столбец с " "именем «grouping»." -#: groupingsets.R:119 +#: groupingsets.R:123 #, c-format msgid "" "There exists duplicated column names in the results, ensure the column " @@ -2888,24 +3299,39 @@ msgstr "" "В результатах вычислений дублируются имена столбцов. Убедитесь, что столбцы " "в «j» и в «by» не пересекаются между собой." -#: groupingsets.R:142 +#: groupingsets.R:146 #, c-format msgid "%s (label: %s)" msgstr "%s («label»: %s)" -#: groupingsets.R:143 +#: groupingsets.R:147 #, c-format msgid "" "For the following variables, the 'label' value was already in the data: %s" msgstr "Для следующих переменных значение «label» уже находилось в данных: %s" -#: groupingsets.R:150 +#: groupingsets.R:154 #, c-format msgid "" "Using integer64 class columns require to have 'bit64' package installed." msgstr "" "Использование столбцов класса integer64 требует установки пакета «bit64»." +#: helpers.R:6 +#, c-format +msgid "argument 'sort' must be TRUE or FALSE" +msgstr "«sort» должно быть TRUE или FALSE" + +#: helpers.R:8 +#, c-format +msgid "argument 'rev' must be TRUE or FALSE" +msgstr "«rev» должно быть TRUE или FALSE" + +#: helpers.R:17 +#, c-format +msgid ".selfref.ok expects data.table class object." +msgstr "для .selfref.ok необходим объект класса data.table." + #: last.R:11 last.R:16 last.R:24 last.R:29 last.R:33 last.R:41 last.R:52 #: last.R:57 last.R:65 last.R:70 last.R:74 last.R:82 msgid "%s: using %s: %s" @@ -2965,20 +3391,163 @@ msgstr "Следующие столбцы, указанные в «%s», отс msgid "A non-empty vector of column names for `by` is required." msgstr "«by» должен быть непустым векторов имен столбцов." -#: merge.R:68 +#: merge.R:116 #, c-format -msgid "Unknown argument '%s' has been passed." -msgstr "Передан неизвестный аргумент «%s»." +msgid "column names %s are duplicated in the result" +msgstr "имена столбцов %s дублируются в результате" -#: merge.R:71 +#: merge.R:146 #, c-format -msgid "Passed %d unknown and unnamed arguments." -msgstr "Передано %d неизвестных и неименованных аргументов." +msgid "merge.data.table() received %s and %s, all of which will be ignored: %s" +msgstr "merge.data.table() получил %s и %s и все из них проигнорирует: %s" -#: merge.R:121 +#: mergelist.R:52 #, c-format -msgid "column names %s are duplicated in the result" -msgstr "имена столбцов %s дублируются в результате" +msgid "'x' must be data.table" +msgstr "«x» должна быть data.table" + +#: mergelist.R:54 +#, c-format +msgid "'on' must be character column names of 'x' argument" +msgstr "«on» должен быть строковым вектором имён столбцов «x»" + +#: mergelist.R:59 +#, c-format +msgid "" +"'cols' must be non-zero length, non-NA, integer or character columns of 'x' " +"argument" +msgstr "" +"«cols» должен быть ненулевой длины, не-NA, содержать целочисленные номера " +"или имена столбцов аргумента «x»" + +#: mergelist.R:98 +#, c-format +msgid "cross join must be used with zero-length on, mult='all', join.many=TRUE" +msgstr "" +"перекрёстное соединение необходимо использовать с «on» нулевой длины, " +"mult='all', join.many=TRUE" + +#: mergelist.R:104 +#, c-format +msgid "'on' must be non-zero length character vector" +msgstr "«on» должен быть непустым вектором строк" + +#: mergelist.R:106 +#, c-format +msgid "semi and anti joins must be used with mult!='all'" +msgstr "полу- и анти-соединения необходимо использовать с mult!='all'" + +#: mergelist.R:157 +#, c-format +msgid "'on' is missing and necessary key is not present" +msgstr "«on» не указано и нет ключа для соединения" + +# %2$s is "LHS" or "RHS", not translatable +#: mergelist.R:160 mergelist.R:162 +#, c-format +msgid "" +"'on' argument specifies columns to join %s that are not present in %s table " +"%s" +msgstr "" +"«on» задаёт столбцы для соединения %s, которые отсутствуют в таблице %s %s" + +#: mergelist.R:206 +#, c-format +msgid "" +"merge result has duplicated column names %s, use 'cols' argument or rename " +"columns in 'l' tables" +msgstr "" +"результат соединения содержит дублирующиеся имена столбцов %s; используйте " +"аргумент «cols» или переименуйте столбцы в таблицах «l»" + +#: mergelist.R:266 mergelist.R:304 +#, c-format +msgid "'%s' must be a list" +msgstr "'%s' должно быть списком" + +#: mergelist.R:268 +#, c-format +msgid "Every element of 'l' list must be data.table objects" +msgstr "Каждый элемент списка «l» должен быть объектом data.table" + +#: mergelist.R:270 +#, c-format +msgid "Tables in 'l' must all have columns, but these entries have 0: %s" +msgstr "" +"Во всех таблицах в «l» должны быть столбцы, но в следующих они отсутствуют: " +"%s" + +#: mergelist.R:272 +#, c-format +msgid "" +"Column names in individual 'l' entries must be unique, but these have some " +"duplicates: %s" +msgstr "" +"В каждом элементе «l» имена столбцов должны различаться, но в следующих " +"присутствуют дубликаты: %s" + +#: mergelist.R:279 +msgid "mergelist: merging %d table(s), took %.3fs" +msgstr "mergelist: соединение %d таблиц(ы), прошло %.3f с" + +#: mergelist.R:286 +#, c-format +msgid "" +"'join.many' must be TRUE or FALSE, or a list of such whose length must be " +"length(l)-1L" +msgstr "" +"«join.many» должно быть TRUE, FALSE, либо списком таких логических скаляров " +"длиной length(l)-1" + +#: mergelist.R:293 +#, c-format +msgid "" +"'mult' must be one of [error, all, first, last] or NULL, or a list of such " +"whose length must be length(l)-1L" +msgstr "" +"«mult» должен быть скалярной строкой из ['error', 'all', 'first', 'last'], " +"либо NULL, либо списком из таких элементов длиной length(l)-1L" + +#: mergelist.R:298 +#, c-format +msgid "" +"'how' must be one of [left, inner, full, right, semi, anti, cross], or a " +"list of such whose length must be length(l)-1L" +msgstr "" +"«how» должен быть скалярной строкой из ['left', 'inner', 'full', 'right', " +"'semi', 'anti', 'cross'] либо списком таких строк длиной length(l)-1L" + +#: mergelist.R:306 +#, c-format +msgid "'cols' must be same length as 'l' (%d != %d)" +msgstr "«cols» должно быть такой же длины, что и «l» (%d != %d)" + +#: mergelist.R:309 +#, c-format +msgid "" +"'cols' must be a list of non-zero length, non-NA, non-duplicated, character " +"vectors, or eventually NULLs (all columns)" +msgstr "" +"«cols» должен быть списком из векторов строк (длины больше 0, без дубликатов " +"и пропущенных значений) либо значений NULL (что значит все столбцы)" + +#: mergelist.R:311 +#, c-format +msgid "'cols' specify columns not present in corresponding table" +msgstr "«cols» ссылается на столбцы, которых нет в соответствующей таблице" + +#: mergelist.R:320 +#, c-format +msgid "" +"'on' must be non-NA, non-duplicated, character vector, or a list of such " +"which length must be length(l)-1L" +msgstr "" +"«on» должен быть вектором строк (без пропущенных значений или дубликатов) " +"либо списком длиной length(l)-1L из таких значений" + +#: mergelist.R:343 +msgid "mergelist: merging %d tables, took %.3fs" +msgstr "mergelist: соединение %d таблиц заняло %.3f с" #: onAttach.R:23 #, c-format @@ -3021,6 +3590,13 @@ msgstr "" "сообщения об ошибках на русском и английском языках.%s\n" "*********" +#: onAttach.R:30 +msgid "" +"You can also try calling Sys.setLanguage('en') prior to reproducing the " +"error message." +msgstr "" +"Вы также можете вызвать Sys.setLanguage('en') и воспроизвести ошибку ещё раз." + #: onAttach.R:34 #, c-format msgid "" @@ -3079,29 +3655,7 @@ msgstr "" "пожалуйста, сообщите о проблеме на наш GitHub.\n" "**********" -#: onAttach.R:44 -#, c-format -msgid "" -"**********\n" -"This data.table installation was compiled for R < 3.4.0 (Apr 2017) and is " -"known to leak memory. Please upgrade R and reinstall data.table to fix the " -"leak. Maintaining and testing code branches to support very old versions " -"increases development time so please do upgrade R. We intend to bump data." -"table's dependency from 8 year old R 3.1.0 (Apr 2014) to 5 year old R 3.4.0 " -"(Apr 2017).\n" -"**********" -msgstr "" -"**********\n" -"Эта установка data.table была скомпилирована для R < 3.4.0 (апрель 2017), " -"где есть известные проблемы, связанные с утечкой памяти. Пожалуйста, " -"обновите R и переустановите data.table, чтобы устранить утечку. Поддержка и " -"тестирование ветвей кода для поддержки очень старых версий R затрудняет " -"разработку, поэтому, пожалуйста, обновите R. Мы намерены изменить " -"зависимость data.table с 8-летней версии R 3.1.0 (апрель 2014) на 5-летнюю R " -"3.4.0 (апрель 2017).\n" -"**********" - -#: onLoad.R:9 +#: onLoad.R:5 #, c-format msgid "" "Option 'datatable.nomatch' is defined but is now ignored. Please see note 11 " @@ -3111,7 +3665,7 @@ msgstr "" "примечание 11 в версии 1.12.4 NEWS (Oct 2019) и примечание 14 в версии " "1.14.2." -#: onLoad.R:28 +#: onLoad.R:21 #, c-format msgid "" "The data_table.%s version (%s) does not match the package (%s). Please close " @@ -3134,7 +3688,7 @@ msgstr "" "обновления пакета. Такое несоответствие между кодом на R и C может произойти " "с любым пакетом, не только с data.table, но мы проверяем такую ситуацию." -#: onLoad.R:32 +#: onLoad.R:25 #, c-format msgid "" "This is R %s but data.table has been installed using R %s. The major version " @@ -3143,17 +3697,17 @@ msgstr "" "Это R %s, но data.table был установлен с помощью R %s. Старшие компоненты " "версий должны совпадать. Пожалуйста, переустановите data.table." -#: onLoad.R:108 +#: onLoad.R:103 #, c-format msgid "Unexpected base R behaviour: list(x) has copied x" msgstr "Неожиданное поведение R: list(x) скопировал x" -#: onLoad.R:116 +#: onLoad.R:111 #, c-format msgid "Unexpected base R behaviour: names<- has copied column contents" msgstr "Неожиданное поведение R: `names<-` скопировал содержимое столбца" -#: onLoad.R:126 +#: onLoad.R:121 #, c-format msgid "" "Unexpected base R behaviour: DF[2,2]<- did not copy column 2 which was " @@ -3162,7 +3716,7 @@ msgstr "" "Неожиданное поведение R: DF[2,2]<- не скопирован столбец 2, к которому было " "выполнено присовение" -#: onLoad.R:127 +#: onLoad.R:122 #, c-format msgid "" "Unexpected base R behaviour: DF[2,2]<- copied the first column which was not " @@ -3171,7 +3725,7 @@ msgstr "" "Неожиданное поведение R: DF[2,2]<- скопировал первый столбец, к которому " "присвоения не было" -#: onLoad.R:129 +#: onLoad.R:124 #, c-format msgid "Unexpected base R behaviour: DF[2,2]<- has not copied address(DF)" msgstr "Неожиданное поведение R: DF[2,2]<- не скопировало address(DF)" @@ -3201,25 +3755,25 @@ msgstr "Допустимые варианты для col.names: 'auto', 'top' и msgid "Valid options for trunc.cols are TRUE and FALSE" msgstr "Допустимыми вариантами для «trunc.cols» являются TRUE и FALSE" -#: print.data.table.R:23 +#: print.data.table.R:24 #, c-format msgid "Column classes will be suppressed when col.names is 'none'" msgstr "" "Классы столбцов будут игнорированы, если col.names имеет значение 'none'" -#: print.data.table.R:47 +#: print.data.table.R:48 msgid "Key: <%s>" msgstr "Ключ: «%s»" -#: print.data.table.R:57 -msgid "Null data.%s (0 rows and 0 cols)" -msgstr "Пустой объект data.%s (0 строк и 0 столбцов)" +#: print.data.table.R:58 +msgid "Null %s (0 rows and 0 cols)" +msgstr "Пустой объект %s (0 строк и 0 столбцов)" -#: print.data.table.R:59 -msgid "Empty data.%s (%d rows and %d cols)" -msgstr "Пустой объект data.%s (%d строк и %d столбцов)" +#: print.data.table.R:60 +msgid "Empty %s (%d rows and %d cols)" +msgstr "Пустой объект %s (%d строк и %d столбцов)" -#: print.data.table.R:153 +#: print.data.table.R:161 #, c-format msgid "" "Internal structure doesn't seem to be a list. Possibly corrupt data.table." @@ -3344,17 +3898,17 @@ msgstr "" msgid "cols is the empty string. Use NULL to remove the key." msgstr "«cols» - пустая строка. Чтобы удалить ключ, передайте NULL." -#: setkey.R:43 setkey.R:267 +#: setkey.R:43 setkey.R:265 #, c-format msgid "cols contains some blanks." msgstr "«cols» содержит несколько пробелов." -#: setkey.R:46 setkey.R:271 +#: setkey.R:46 setkey.R:269 #, c-format msgid "some columns are not in the data.table: %s" msgstr "некоторые столбцы отсутствуют в data.table: %s" -#: setkey.R:54 setkey.R:272 +#: setkey.R:54 setkey.R:270 #, c-format msgid "" "x contains a column called '.xi'. Conflicts with internal use by data.table." @@ -3433,7 +3987,7 @@ msgstr "«decreasing» длины %d, но отсортировать нужно msgid "Internal code should not be being called on type double" msgstr "fsort(internal = TRUE) нельзя вызывать для типа double" -#: setkey.R:219 +#: setkey.R:218 #, c-format msgid "" "Input is not a vector of type double. New parallel sort has only been done " @@ -3443,7 +3997,7 @@ msgstr "" "сортировка до сих пор была реализована только для векторов типа double. " "Использую один поток." -#: setkey.R:220 +#: setkey.R:219 #, c-format msgid "" "New parallel sort has not been implemented for decreasing=TRUE so far. Using " @@ -3452,7 +4006,7 @@ msgstr "" "Новая параллельная сортировка пока не реализована для decreasing=TRUE. " "Использую один поток." -#: setkey.R:221 +#: setkey.R:220 #, c-format msgid "" "New parallel sort has not been implemented for vectors containing NA values " @@ -3461,17 +4015,17 @@ msgstr "" "Новая параллельная сортировка пока не реализована для векторов, содержащих " "значения NA. Использую один поток." -#: setkey.R:233 setkey.R:259 +#: setkey.R:231 setkey.R:257 #, c-format msgid "x must be a data.frame or data.table" msgstr "«x» должен быть data.frame или data.table" -#: setkey.R:261 +#: setkey.R:259 #, c-format msgid "na.last must be logical TRUE/FALSE" msgstr "«na.last» должен быть TRUE или FALSE" -#: setkey.R:262 +#: setkey.R:260 #, c-format msgid "" "cols is not a character vector. Please see further information in ?setorder." @@ -3479,7 +4033,7 @@ msgstr "" "«cols» не является строковым вектором. Дополнительную информацию см. в ?" "setorder." -#: setkey.R:264 +#: setkey.R:262 #, c-format msgid "" "cols is a character vector of zero length. Use NULL instead, or wrap with " @@ -3488,14 +4042,14 @@ msgstr "" "cols - строковый вектор нулевой длины. Используйте вместо него NULL или " "оберните с помощью suppressWarnings(), чтобы избежать этого предупреждения." -#: setkey.R:275 +#: setkey.R:273 #, c-format msgid "Column '%s' is type '%s' which is not supported for ordering currently." msgstr "" "Столбец '%s' имеет тип '%s', для которого в настоящее время не " "поддерживается сортировка." -#: setkey.R:319 +#: setkey.R:317 #, c-format msgid "" "'sorted' is TRUE but element %d is non-atomic, which can't be sorted; try " @@ -3504,7 +4058,7 @@ msgstr "" "«sorted» = TRUE, но элемент %d - неатомарный, который невозможно " "отсортировать; попробуйте установить sorted = FALSE" -#: setkey.R:334 +#: setkey.R:332 #, c-format msgid "" "Cross product of elements provided to CJ() would result in %.0f rows which " @@ -3580,7 +4134,6 @@ msgid "Datasets have different keys" msgstr "У таблиц различаются ключи сортировки" #: setops.R:163 setops.R:164 -#, c-format msgid "has no key" msgstr "ключ отсутствует" @@ -3589,7 +4142,6 @@ msgid "Datasets have different indices" msgstr "У таблиц различаются индексы" #: setops.R:174 setops.R:175 -#, c-format msgid "has no index" msgstr "индекс отсутствует" @@ -3652,12 +4204,12 @@ msgstr "order.col='%s' не является именем столбца «info msgid "Total: %sMB using %s" msgstr "Итого %s МБ согласно %s" -#: test.data.table.R:17 +#: test.data.table.R:23 #, c-format msgid "data.table package is loaded. Unload or start a fresh R session." msgstr "Пакет data.table загружен. Выгрузите его или перезапустите R." -#: test.data.table.R:33 +#: test.data.table.R:39 #, c-format msgid "" "script must end with '.Rraw'. If a file ending '.Rraw.bz2' exists, that will " @@ -3666,20 +4218,20 @@ msgstr "" "имя скрипта должно заканчиваться на '.Rraw'. Если существует файл с " "расширением '.Rraw.bz2', он также будет использован." -#: test.data.table.R:63 +#: test.data.table.R:69 #, c-format msgid "Neither %s nor %s exist in %s" msgstr "Ни %s, ни %s не существуют в %s" -#: test.data.table.R:115 +#: test.data.table.R:121 msgid "test.data.table() running: %s" msgstr "test.data.table() запускает: %s" -#: test.data.table.R:119 +#: test.data.table.R:125 msgid "object '%s' not found" msgstr "объект '%s' не найден" -#: test.data.table.R:122 +#: test.data.table.R:128 msgid "" "**** This R session's language is not English. Each test will still check " "that the correct number of errors and/or\n" @@ -3692,7 +4244,7 @@ msgstr "" "провести\n" "**** более полную проверку, запустите R с LANGUAGE=en" -#: test.data.table.R:142 +#: test.data.table.R:148 msgid "" "***\n" "*** memtest=%d. This should be the first call in a fresh R_GC_MEM_GROW=0 R " @@ -3705,7 +4257,7 @@ msgstr "" "сейчас.\n" "***" -#: test.data.table.R:143 +#: test.data.table.R:149 #, c-format msgid "" "memtest intended for Linux. Step through data.table:::rss() to see what went " @@ -3714,46 +4266,55 @@ msgstr "" "«memtest» рассчитано на Linux. Запустите data.table:::rss() в отладчике и " "посмотрите, что идёт не так." -#: test.data.table.R:197 +#: test.data.table.R:203 #, c-format msgid "Attempt to subset to %d tests matching '%s' failed, running full suite." msgstr "" "Не удалось выделить %d тестов, которые подходят под шаблон '%s', запускаю " "весь набор." -#: test.data.table.R:202 +#: test.data.table.R:208 msgid "Running %d of %d tests matching '%s'" msgstr "Запускаю %d из %d тестов, которые подходят под '%s'" -#: test.data.table.R:248 +#: test.data.table.R:278 #, c-format msgid "Failed in %s after test %s before the next test() call in %s" msgstr "Сбой в %s после теста %s перед следующим вызовом test() в %s" -#: test.data.table.R:271 +#: test.data.table.R:306 +#, c-format +msgid "" +"Tests succeeded, but non-test code caused warnings. Search %s for tests " +"shown above." +msgstr "" +"Тесты завершились успешно, но код между тестами вызвал предупреждения. Ищите " +"указанные выше тесты в %s." + +#: test.data.table.R:316 #, c-format msgid "Timings count mismatch: %d vs %d" msgstr "Несоответствие количества измеренных промежутков времени: %d против %d" -#: test.data.table.R:273 +#: test.data.table.R:318 msgid "10 longest running tests took %ds (%d%% of %ds)" msgstr "10 самых долгих тестов заняли %d с (%d%% от %d с)" -#: test.data.table.R:279 -msgid "10 largest RAM increases (MB); see plot for cumulative effect (if any)" +#: test.data.table.R:324 +msgid "10 largest RAM increases (MiB); see plot for cumulative effect (if any)" msgstr "" -"10 самых больших скачков потребления памяти (МБ); интегральный эффект см. на " -"графике" +"10 самых больших скачков потребления памяти (МиБ); интегральный эффект см. " +"на графике (если он есть)" -#: test.data.table.R:289 +#: test.data.table.R:334 msgid "All %d tests (last %.8g) in %s completed ok in %s" msgstr "Все %d тестов (последний №%.8g) в %s прошли успешно за %s" -#: test.data.table.R:388 -msgid "Running test id" -msgstr "Запускаю тест №" +#: test.data.table.R:430 +msgid "Running test id %s" +msgstr "Запускаю тест №%s" -#: test.data.table.R:404 +#: test.data.table.R:448 #, c-format msgid "" "Test %s is invalid: when error= is provided it does not make sense to pass y " @@ -3761,12 +4322,12 @@ msgid "" msgstr "" "Тест %s некорректен: если указано error=, не имеет смысла передавать также y=" -#: test.data.table.R:439 +#: test.data.table.R:493 msgid "Test id %s is not in increasing order" msgstr "Тест №%s не в порядке возрастания" # plural form -#: test.data.table.R:456 +#: test.data.table.R:510 msgid "" "Test %s produced %d %ss but expected %d\n" "%s\n" @@ -3776,7 +4337,7 @@ msgstr "" "%s\n" "%s" -#: test.data.table.R:464 +#: test.data.table.R:518 msgid "" "Test %s didn't produce the correct %s:\n" "Expected: %s\n" @@ -3786,56 +4347,56 @@ msgstr "" "Ожидалось: %s\n" "Получено: %s" -#: test.data.table.R:473 +#: test.data.table.R:527 msgid "Output captured before unexpected warning/error/message:" msgstr "Вывод перед неожиданным предупреждением/ошибкой/сообщением:" -#: test.data.table.R:483 +#: test.data.table.R:538 msgid "Test %s did not produce correct output:" msgstr "Тест №%s не произвёл корректный вывод:" -#: test.data.table.R:484 +#: test.data.table.R:539 msgid "Expected: <<%s>>" msgstr "Ожидалось: «%s»" -#: test.data.table.R:485 test.data.table.R:497 +#: test.data.table.R:540 test.data.table.R:552 msgid "Observed: <<%s>>" msgstr "Получено: «%s»" -#: test.data.table.R:487 +#: test.data.table.R:542 msgid "Expected (raw): <<%s>>" msgstr "Ожидалось (байты): «%s»" -#: test.data.table.R:488 test.data.table.R:500 +#: test.data.table.R:543 test.data.table.R:555 msgid "Observed (raw): <<%s>>" msgstr "Получено (байты): «%s»" -#: test.data.table.R:495 +#: test.data.table.R:550 msgid "Test %s produced output but should not have:" msgstr "Тест №%s произвёл вывод, хотя не был должен:" -#: test.data.table.R:496 +#: test.data.table.R:551 msgid "Expected absent (case insensitive): <<%s>>" msgstr "" "Данного вывода не должно получаться (нечувствительно к регистру): <<%s>>" -#: test.data.table.R:499 +#: test.data.table.R:554 msgid "Expected absent (raw): <<%s>>" msgstr "Данного вывода не должно получаться (байты): <<%s>>" -#: test.data.table.R:513 +#: test.data.table.R:570 msgid "Test %s ran without errors but selfrefok(%s) is FALSE" msgstr "Тест №%s не вызвал ошибок, но selfrefok(%s) == FALSE" -#: test.data.table.R:538 +#: test.data.table.R:595 msgid "Test %s ran without errors but failed check that x equals y:" msgstr "Тест №%s не вызвал ошибок, но «x» не равно «y»:" -#: test.data.table.R:543 +#: test.data.table.R:600 msgid "First %d of %d (type '%s'):" msgstr "Первые %d из %d элементов (тип '%s'):" -#: test.data.table.R:548 +#: test.data.table.R:605 msgid "Non-ASCII string detected, raw representation:" msgstr "Обнаружена не-ASCII строка, её байты:" @@ -3942,30 +4503,30 @@ msgstr "length(names) (= %d) не равна length(%s) (= %d)." msgid "l not type list" msgstr "«l» не является списком" -#: utils.R:18 +#: utils.R:19 #, c-format msgid "Argument 'nan' must be length 1" msgstr "Аргумент «nan» должен быть длины 1" -#: utils.R:21 +#: utils.R:22 #, c-format msgid "Argument 'nan' must be NA or NaN" msgstr "Аргумент 'nan' должен быть NA либо NaN" -#: utils.R:25 +#: utils.R:32 msgid "Internal error in" msgstr "Внутренняя ошибка в" -#: utils.R:28 +#: utils.R:35 msgid "Please report to the data.table issues tracker." msgstr "Пожалуйста, сообщите об этом в систему отслеживания ошибок data.table." -#: utils.R:72 utils.R:81 +#: utils.R:79 utils.R:88 #, c-format msgid "x not boolean" msgstr "x не является логическим" -#: utils.R:92 +#: utils.R:99 #, c-format msgid "" "Some columns are type 'integer64' but package bit64 is not installed. Those " @@ -4017,28 +4578,28 @@ msgstr "" msgid "Following columns are not numeric and will be omitted: %s" msgstr "Следующие столбцы не являются числовыми и будут пропущены: %s" -#: bmerge.R:214 +#: bmerge.R:219 msgid " Found %d non-equi group ...\n" msgid_plural " Found %d non-equi groups ...\n" msgstr[0] " Найдена %d группа соединения по неравенству ...\n" msgstr[1] " Найдены %d группы соединения по неравенству ...\n" msgstr[2] " Найдено %d групп соединения по неравенству ...\n" -#: data.table.R:712 +#: data.table.R:745 msgid "column not removed because not found: %s" msgid_plural "columns not removed because not found: %s" msgstr[0] "столбец(ы) не удален(ы), потому что не найден(ы): %s" msgstr[1] "столбец(ы) не удален(ы), потому что не найден(ы): %s" msgstr[2] "столбец(ы) не удален(ы), потому что не найден(ы): %s" -#: data.table.R:727 +#: data.table.R:760 msgid "column not found: %s" msgid_plural "columns not found: %s" msgstr[0] "столбец(ы) не найден(ы): %s" msgstr[1] "столбец(ы) не найден(ы): %s" msgstr[2] "столбец(ы) не найден(ы): %s" -#: data.table.R:895 +#: data.table.R:928 msgid "" "The item in the 'by' or 'keyby' list is length %s. Each must be length %d; " "the same length as there are rows in x (after subsetting if i is provided)." @@ -4066,21 +4627,60 @@ msgstr[0] "Шаблон(ы) не найдены: [%s]" msgstr[1] "Шаблон(ы) не найдены: [%s]" msgstr[2] "Шаблон(ы) не найдены: [%s]" -#: fread.R:340 +#: fread.R:354 msgid "stringsAsFactors=%s converted %d column: %s\n" msgid_plural "stringsAsFactors=%s converted %d columns: %s\n" msgstr[0] "stringsAsFactors=%s, %d столбец переведён: %s\n" msgstr[1] "stringsAsFactors=%s, %d столбца переведено: %s\n" msgstr[2] "stringsAsFactors=%s, %d столбцов переведено: %s\n" -#: print.data.table.R:50 +#: merge.R:131 +msgid "" +"merge.data.table() received %d unnamed argument in '...' which will be " +"ignored." +msgid_plural "" +"merge.data.table() received %d unnamed arguments in '...' which will be " +"ignored." +msgstr[0] "merge.data.table() игнорирует %d безымянный аргумент в «...»." +msgstr[1] "merge.data.table() игнорирует %d безымянных аргумента в «...»." +msgstr[2] "merge.data.table() игнорирует %d безымянных аргументов в «...»." + +#: merge.R:138 +msgid "" +"merge.data.table() received %d unknown keyword argument which will be " +"ignored: %s" +msgid_plural "" +"merge.data.table() received %d unknown keyword arguments which will be " +"ignored: %s" +msgstr[0] "" +"merge.data.table() игнорирует %d неизвестный именованный аргумент: %s" +msgstr[1] "" +"merge.data.table() игнорирует %d неизвестных именованных аргумента: %s" +msgstr[2] "" +"merge.data.table() игнорирует %d неизвестных именованных аргументов: %s" + +#: merge.R:144 +msgid "%d unnamed argument in '...'" +msgid_plural "%d unnamed arguments in '...'" +msgstr[0] "%d безымянный аргумент в «...»" +msgstr[1] "%d безымянных аргумента в «...»" +msgstr[2] "%d безымянных аргументов в «...»" + +#: merge.R:145 +msgid "%d unknown keyword argument" +msgid_plural "%d unknown keyword arguments" +msgstr[0] "%d неизвестный именованный аргумент" +msgstr[1] "%d неизвестных именованных аргумента" +msgstr[2] "%d неизвестных именованных аргументов" + +#: print.data.table.R:51 msgid "Index: %s\n" msgid_plural "Indices: %s\n" msgstr[0] "Индекс(ы): %s\n" msgstr[1] "Индексы: %s\n" msgstr[2] "Индексы: %s\n" -#: print.data.table.R:285 +#: print.data.table.R:290 msgid "%d variable not shown: %s\n" msgid_plural "%d variables not shown: %s\n" msgstr[0] "%d переменная не показана: %s\n" @@ -4094,7 +4694,7 @@ msgstr[0] "в «x» или «y» нашлись столбцы неподдер msgstr[1] "в «x» или «y» нашлись столбцы неподдерживаемых типов: %s" msgstr[2] "в «x» или «y» нашлись столбцы неподдерживаемых типов: %s" -#: test.data.table.R:258 +#: test.data.table.R:288 msgid "%d error out of %d. Search %s for test number %s. Duration: %s." msgid_plural "" "%d errors out of %d. Search %s for test numbers %s. Duration: %s." @@ -4102,7 +4702,14 @@ msgstr[0] "%d ошибка из %d. Ищите в %s тесты №№%s. Про msgstr[1] "%d ошибки из %d. Ищите в %s тесты №№%s. Продолжительность: %s." msgstr[2] "%d ошибок из %d. Ищите в %s тесты №№%s. Продолжительность: %s." -#: utils.R:36 +#: test.data.table.R:298 +msgid "Caught %d warning outside the test() calls:\n" +msgid_plural "Caught %d warnings outside the test() calls:\n" +msgstr[0] "Обнаружено %d предупреждение снаружи вызовов функции test():\n" +msgstr[1] "Обнаружено %d предупреждения снаружи вызовов функции test():\n" +msgstr[2] "Обнаружено %d предупреждений снаружи вызовов функции test():\n" + +#: utils.R:43 msgid "" "%s has duplicated column name %s. Please remove or rename the duplicate and " "try again." @@ -4119,6 +4726,104 @@ msgstr[2] "" "В %s есть несколько дублированных имен столбцов: %s. Пожалуйста, удалите или " "переименуйте дубликаты и повторите попытку." +#, c-format +#~ msgid "" +#~ "You have wrapped := with {} which is ok but then := must be the only " +#~ "thing inside {}. You have something else inside {} as well. Consider " +#~ "placing the {} on the RHS of := instead; e.g. DT[,someCol:={tmpVar1<-...;" +#~ "tmpVar2<-...;tmpVar1*tmpVar2}]" +#~ msgstr "" +#~ "Вы обернули := в {}, что приемлемо, но тогда := должно быть единственным " +#~ "элементом внутри {}. У вас внутри {} также есть что-то еще. Возможно, вам " +#~ "нужно поместить {} в правую часть присваивания: DT[,someCol:" +#~ "={tmpVar1<-...;tmpVar2<-...;tmpVar1*tmpVar2}]" + +#, c-format +#~ msgid "" +#~ "with=FALSE together with := was deprecated in v1.9.4 released Oct 2014; " +#~ "this has been warning since v1.15.0. Please wrap the LHS of := with " +#~ "parentheses; e.g., DT[,(myVar):=sum(b),by=a] to assign to column name(s) " +#~ "held in variable myVar. See ?':=' for other examples." +#~ msgstr "" +#~ "with=FALSE вместе с := не рекомендуется использовать, начиная с версии " +#~ "1.9.4, выпущенной в октябре 2014 года (с версии 1.15.0 это явное " +#~ "предупреждение). Пожалуйста, оберните левую часть присваивания := " +#~ "круглыми скобками: например, DT[,(myVar):=sum(b),by=a], чтобы присвоит " +#~ "столбцам, имена которых находятся в переменной «myVar». Другие примеры " +#~ "см. в ?':='." + +#, c-format +#~ msgid "" +#~ "Cannot assign to an under-allocated recursively indexed list -- L[[i]][,:" +#~ "=] syntax is only valid when i is length 1, but its length is %d" +#~ msgstr "" +#~ "Невозможно присвоить рекурсивно индексируемому списку с недостаточным " +#~ "выделением памяти: синтаксис L[[i]][,:=] работает только в том случае, " +#~ "если «i» имеет длину 1, но его длина равна %d" + +#, c-format +#~ msgid "x argument must be a data.table" +#~ msgstr "аргумент «x» должен быть data.table" + +#, c-format +#~ msgid "" +#~ "Check that is.data.table(DT) == TRUE. Otherwise, :=, `:=`(...) and " +#~ "let(...) are defined for use in j, once only and in particular ways. Note " +#~ "that namespace-qualification like data.table::`:=`(...) is not supported. " +#~ "See help(\":=\")." +#~ msgstr "" +#~ "Убедитесь, что is.data.table(DT) == TRUE. В противном случае внутри " +#~ "аргумента j можно использовать :=, `:=`(...) и let(...) только один раз и " +#~ "определенным образом. Обратите внимание, что полное имя data.table::`:" +#~ "=`(...) не поддерживается. См. help(\":=\")." + +#, c-format +#~ msgid "" +#~ "droplevels() with in.place=TRUE is deprecated. Use setdroplevels() " +#~ "instead." +#~ msgstr "" +#~ "droplevels() в комбинации с in.place=TRUE больше не рекомендуется. Вместо " +#~ "этого используйте setdroplevels()." + +#, c-format +#~ msgid "" +#~ "'autostart' is deprecated. Consider skip='string' or skip=n. This " +#~ "argument will be removed in the next release." +#~ msgstr "" +#~ "'autostart' больше не рекомендуется использовать. Возможно, Вам нужно " +#~ "skip='строка' или skip=число. В следующей версии данный аргумент будет " +#~ "удалён." + +#, c-format +#~ msgid "logicalAsInt has been renamed logical01 for consistency with fread." +#~ msgstr "" +#~ "«logicalAsInt» теперь называется «logical01» для единообразия с fread()." + +#, c-format +#~ msgid "Unknown argument '%s' has been passed." +#~ msgstr "Передан неизвестный аргумент «%s»." + +#, c-format +#~ msgid "" +#~ "**********\n" +#~ "This data.table installation was compiled for R < 3.4.0 (Apr 2017) and is " +#~ "known to leak memory. Please upgrade R and reinstall data.table to fix " +#~ "the leak. Maintaining and testing code branches to support very old " +#~ "versions increases development time so please do upgrade R. We intend to " +#~ "bump data.table's dependency from 8 year old R 3.1.0 (Apr 2014) to 5 year " +#~ "old R 3.4.0 (Apr 2017).\n" +#~ "**********" +#~ msgstr "" +#~ "**********\n" +#~ "Эта установка data.table была скомпилирована для R < 3.4.0 (апрель 2017), " +#~ "где есть известные проблемы, связанные с утечкой памяти. Пожалуйста, " +#~ "обновите R и переустановите data.table, чтобы устранить утечку. Поддержка " +#~ "и тестирование ветвей кода для поддержки очень старых версий R затрудняет " +#~ "разработку, поэтому, пожалуйста, обновите R. Мы намерены изменить " +#~ "зависимость data.table с 8-летней версии R 3.1.0 (апрель 2014) на 5-" +#~ "летнюю R 3.4.0 (апрель 2017).\n" +#~ "**********" + #~ msgid "The item in the 'by' or 'keyby' list is length %s." #~ msgid_plural "The items in the 'by' or 'keyby' list have lengths %s." #~ msgstr[0] "Элементы списков «by» или «keyby» имеют длины %s." @@ -4225,3 +4930,11 @@ msgstr[2] "" #~ msgstr "" #~ "Внутренняя ошибка: объекты difftime не могут быть вычтены из IDate, но " #~ "диспетчерская служба должна была вмешаться, чтобы предотвратить это" + +#, c-format +#~ msgid "" +#~ "%s Each must be length %d; the same length as there are rows in x (after " +#~ "subsetting if i is provided)." +#~ msgstr "" +#~ "%s Каждый из них должен иметь длину %d, такую же, как и строки в " +#~ "«x» (после извлечения подмножества, если указано «i»)." diff --git a/po/ru.po b/po/ru.po index 88abcde282..616ced13bf 100644 --- a/po/ru.po +++ b/po/ru.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.15.99\n" -"POT-Creation-Date: 2025-02-02 23:58-0800\n" -"PO-Revision-Date: 2025-02-09 21:01+0300\n" +"POT-Creation-Date: 2025-12-13 17:01+0000\n" +"PO-Revision-Date: 2025-12-14 12:29+0300\n" "Last-Translator: Ivan Krylov \n" "Language-Team: Russian \n" @@ -14,7 +14,7 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Poedit 3.2.2\n" -#: assign.c:122 +#: assign.c:67 msgid "" "The data.table internal attributes of this table are invalid. This is " "expected and normal for a data.table loaded from disk. Please remember to " @@ -28,7 +28,7 @@ msgstr "" "эта таблица не была загружена с диска или вы уже выполнили setDT(), сообщите " "об этом в трекере проблем data.table.\n" -#: assign.c:203 +#: assign.c:138 #, c-format msgid "" "Some columns are a multi-column type (such as a matrix column), for example " @@ -42,7 +42,7 @@ msgstr "" "Вместо этого используйте as.data.table(), которая создаст новый столбец для " "каждого встроенного столбца." -#: assign.c:220 +#: assign.c:155 #, c-format msgid "" "Column %d has class 'POSIXlt'. Please convert it to POSIXct (using as." @@ -54,7 +54,7 @@ msgstr "" "использовать POSIXlt вообще, так как для хранения одной даты в нем " "используется 40 байт." -#: assign.c:240 +#: assign.c:172 #, c-format msgid "" "All elements in argument 'x' to 'setDT' must be of equal length, but input " @@ -64,15 +64,15 @@ msgstr "" "входной аргумент %d имеет длину %d, в то время как первый непустой входной " "аргумент имеет длину %d" -#: assign.c:250 +#: assign.c:182 msgid "alloccol has been passed a NULL dt" msgstr "alloccol() был передан dt = NULL" -#: assign.c:251 +#: assign.c:183 msgid "dt passed to alloccol isn't type VECSXP" msgstr "dt, переданный в alloccol, не имеет типа VECSXP" -#: assign.c:253 +#: assign.c:185 msgid "" "dt passed to alloccol has no class attribute. Please report result of " "traceback() to data.table issue tracker." @@ -80,7 +80,7 @@ msgstr "" "dt, переданный в alloccol, не имеет атрибута class. Пожалуйста, сообщите о " "результате traceback() в службу отслеживания ошибок data.table." -#: assign.c:270 +#: assign.c:202 #, c-format msgid "" "tl (%d) is greater than 10,000 items over-allocated (l = %d). If you didn't " @@ -92,7 +92,7 @@ msgstr "" "большим, сообщите об этом в трекере проблем data.table, включая результат " "выполнения sessionInfo()." -#: assign.c:272 +#: assign.c:204 #, c-format msgid "" "Attempt to reduce allocation from %d to %d ignored. Can only increase " @@ -104,7 +104,7 @@ msgstr "" "используйте DT[...]<- или DT$someCol<-. Вместо этого используйте := внутри " "DT[...]." -#: assign.c:280 +#: assign.c:212 msgid "" "Has getOption('datatable.alloccol') somehow become unset? It should be a " "number, by default 1024." @@ -112,7 +112,7 @@ msgstr "" "Параметр getOption('datatable.alloccol') каким-то образом был отключен? Это " "должно быть число, по умолчанию 1024." -#: assign.c:282 +#: assign.c:214 #, c-format msgid "" "getOption('datatable.alloccol') should be a number, by default 1024. But its " @@ -121,36 +121,36 @@ msgstr "" "getOption('datatable.alloccol') должно быть числом, по умолчанию 1024. Но " "его тип - '%s'." -#: assign.c:284 +#: assign.c:216 #, c-format msgid "" -"getOption('datatable.alloc') is a numeric vector ok but its length is %d. " +"getOption('datatable.alloccol') is a numeric vector ok but its length is %d. " "Its length should be 1." msgstr "" -"getOption('datatable.alloc') - это числовой вектор, но его длина равна %d. " -"Его длина должна быть равна 1." +"getOption('datatable.alloccol') - это числовой вектор, но его длина равна " +"%d. Его длина должна быть равна 1." -#: assign.c:287 +#: assign.c:219 #, c-format -msgid "getOption('datatable.alloc')==%d. It must be >=0 and not NA." -msgstr "getOption('datatable.alloc')==%d.Оно должно быть >=0, а не NA." +msgid "getOption('datatable.alloccol')==%d. It must be >=0 and not NA." +msgstr "getOption('datatable.alloccol')==%d.Оно должно быть >=0, а не NA." -#: assign.c:293 between.c:22 between.c:28 frollR.c:41 frollR.c:95 fsort.c:119 -#: gsumm.c:351 gsumm.c:587 gsumm.c:733 gsumm.c:870 gsumm.c:1025 gsumm.c:1117 -#: nafill.c:108 openmp-utils.c:79 uniqlist.c:354 utils.c:117 utils.c:119 +#: assign.c:225 between.c:22 between.c:28 frollR.c:97 frollR.c:112 fsort.c:117 +#: gsumm.c:351 gsumm.c:587 gsumm.c:733 gsumm.c:871 gsumm.c:1026 gsumm.c:1118 +#: nafill.c:108 openmp-utils.c:97 uniqlist.c:358 utils.c:118 utils.c:120 #, c-format msgid "%s must be TRUE or FALSE" msgstr "%s должно быть TRUE или FALSE" -#: assign.c:341 +#: assign.c:273 msgid "assign has been passed a NULL dt" msgstr "в assign() передано NULL значение dt" -#: assign.c:342 +#: assign.c:274 msgid "dt passed to assign isn't type VECSXP" msgstr "dt, переданный функции assign, не имеет типа VECSXP" -#: assign.c:344 +#: assign.c:276 msgid "" ".SD is locked. Updating .SD by reference using := or set are reserved for " "future use. Use := in j directly. Or use copy(.SD) as a (slow) last resort, " @@ -161,33 +161,25 @@ msgstr "" "используйте copy(.SD) в качестве (медленного) последнего средства, пока " "shallow() не будет экспортирован." -#: assign.c:356 +#: assign.c:288 msgid "dt passed to assign has no names" msgstr "dt, переданный функции assign, не имеет имен" -#: assign.c:360 -msgid "" -"data.table is NULL; malformed. A null data.table should be an empty list. " -"typeof() should always return 'list' for data.table." -msgstr "" -"data.table является NULL, что недопустимо. Пустая таблица data.table должна " -"быть пустым списком. typeof() всегда должна возвращать 'list' для объектов " -"data.table." - -#: assign.c:370 +#: assign.c:298 #, c-format msgid "Assigning to all %d rows\n" msgstr "Назначение всех %d строк\n" -#: assign.c:375 +#: assign.c:304 assign.c:358 +#, c-format msgid "" -"Coerced i from numeric to integer. Please pass integer for efficiency; e.g., " -"2L rather than 2" +"Coerced %s from numeric to integer. Passing integer directly may be more " +"efficient, e.g., 2L rather than 2" msgstr "" -"Принудительное преобразование i из числового в целое. Для повышения " -"эффективности передавайте целое число; например, 2L, а не 2" +"Преобразую %s из числового в целое. Для повышения эффективности передавайте " +"целое число; например, 2L, а не 2" -#: assign.c:378 +#: assign.c:307 #, c-format msgid "" "i is type '%s'. Must be integer, or numeric is coerced with warning. If i is " @@ -199,21 +191,26 @@ msgstr "" "просто оберните его с помощью which(), а для эффективности вынесите which() " "за пределы цикла, если это возможно." -#: assign.c:384 subset.c:170 +#: assign.c:313 subset.c:170 #, c-format msgid "i[%d] is %d which is out of range [1,nrow=%d]" msgstr "i[%d] = %d, что находится за пределами диапазона [1,nrow=%d]" -#: assign.c:387 +#: assign.c:316 #, c-format msgid "Assigning to %d row subset of %d rows\n" msgstr "Присвоение подмножеству из %d строк (всего %d)\n" -#: assign.c:403 +#: assign.c:326 +#, c-format +msgid "Added %d new column initialized with all-NA\n" +msgstr "Добавлен %d новый столбец, инициализированный всеми NA\n" + +#: assign.c:332 msgid "length(LHS)==0; no columns to delete or assign RHS to." msgstr "length(LHS)==0; нет столбцов для удаления или присвоения RHS." -#: assign.c:417 +#: assign.c:346 msgid "" "set() on a data.frame is for changing existing columns, not adding new ones. " "Please use a data.table for that. data.table's are over-allocated and don't " @@ -223,15 +220,7 @@ msgstr "" "для добавления новых. Для этого используйте класс data.table. Его объекты " "используют избыточное выделение памяти и могут быть изменены по ссылке." -#: assign.c:428 -msgid "" -"Coerced j from numeric to integer. Please pass integer for efficiency; e.g., " -"2L rather than 2" -msgstr "" -"Принудительное преобразование j из числового в целое. Для повышения " -"эффективности передавайте целое число; например, 2L, а не 2" - -#: assign.c:431 +#: assign.c:361 #, c-format msgid "" "j is type '%s'. Must be integer, character, or numeric is coerced with " @@ -240,7 +229,7 @@ msgstr "" "j имеет тип '%s'. Должно быть целым; строковые и действительные значения " "будут преобразованы с выдачей предупреждения." -#: assign.c:433 +#: assign.c:363 msgid "" "Can't assign to the same column twice in the same query (duplicates " "detected)." @@ -248,11 +237,11 @@ msgstr "" "Невозможно дважды назначить один и тот же столбец в одном и том же запросе " "(обнаружены дубликаты)." -#: assign.c:434 +#: assign.c:364 msgid "newcolnames is supplied but isn't a character vector" msgstr "newcolnames указан, но не является вектором строк" -#: assign.c:436 +#: assign.c:366 msgid "" "Values of type POSIXlt detected and converted to POSIXct. We do not " "recommend the use of POSIXlt at all because it typically takes more than 6 " @@ -264,7 +253,7 @@ msgstr "" "места, чем эквивалентный столбец типа POSIXct. Чтобы избежать этого " "предупреждения, используйте as.POSIXct()." -#: assign.c:446 +#: assign.c:376 #, c-format msgid "" "RHS_list_of_columns revised to true because RHS list has 1 item which is " @@ -275,7 +264,7 @@ msgstr "" "%d равна 1 или targetlen (%d). Пожалуйста, разверните правую сторону " "присваивания.\n" -#: assign.c:451 +#: assign.c:381 #, c-format msgid "" "Supplied %d columns to be assigned an empty list (which may be an empty data." @@ -287,14 +276,14 @@ msgstr "" "Чтобы удалить несколько столбцов, используйте вместо этого значение NULL. " "Чтобы добавить несколько пустых столбцов-списков, используйте list(list())." -#: assign.c:456 +#: assign.c:386 #, c-format msgid "Recycling single RHS list item across %d columns. Please unwrap RHS.\n" msgstr "" "Переработка одного элемента списка RHS в %d столбцов. Пожалуйста, расширьте " "RHS.\n" -#: assign.c:458 +#: assign.c:388 #, c-format msgid "" "Supplied %d columns to be assigned %d items. Please see NEWS for v1.12.2." @@ -302,7 +291,7 @@ msgstr "" "Для присвоения %d столбцам предоставлено %d элементов. Пожалуйста, смотрите " "историю изменений для версии 1.12.2." -#: assign.c:466 +#: assign.c:396 #, c-format msgid "" "Item %d of column numbers in j is %d which is outside range [1,ncol=%d]. " @@ -314,7 +303,7 @@ msgstr "" "изменяет существующие столбцы, но не добавляет новые. Чтобы добавлять новые " "столбцы через set(), используйте data.table." -#: assign.c:467 +#: assign.c:397 #, c-format msgid "" "Item %d of column numbers in j is %d which is outside range [1,ncol=%d]. Use " @@ -324,14 +313,14 @@ msgstr "" "столбцов, [1, %d]. Чтобы добавлять новые столбцы, передайте в 'j' их имена, " "а не номера." -#: assign.c:473 +#: assign.c:403 msgid "" "Doubly-invalid attempt to delete a non-existent column while also providing i" msgstr "" "Попытка удалить несуществующий столбец (при заданном 'i', что само по себе " "ошибка)" -#: assign.c:475 +#: assign.c:405 msgid "" "Invalid attempt to delete a list column while also providing i; did you " "intend to add NULL to those rows instead? If so, use list_col := " @@ -340,11 +329,11 @@ msgstr "" "Нельзя удалить столбец-список, если задан 'i'; возможно, Вы хотели добавить " "NULL к его строкам? Тогда используйте столбец_список := list(list(NULL))." -#: assign.c:476 +#: assign.c:406 msgid "When deleting columns, i should not be provided" msgstr "При удалении столбцов нельзя указывать строки" -#: assign.c:484 +#: assign.c:414 #, c-format msgid "" "RHS of assignment to existing column '%s' is zero length but not NULL. If " @@ -362,7 +351,7 @@ msgstr "" "например, vector('list',nrow(DT)), чтобы напрямую подменить старый столбец " "новым." -#: assign.c:491 +#: assign.c:421 #, c-format msgid "" "Tried to assign NULL to column '%s', but this column does not exist to remove" @@ -370,13 +359,13 @@ msgstr "" "Попытка присвоить NULL столбцу «%s», но этот столбец не существует и поэтому " "не может быть удалён" -#: assign.c:499 +#: assign.c:429 #, c-format msgid "%d column matrix RHS of := will be treated as one vector" msgstr "" "%d-столбцовая матрица в правой части := будет обработана как один вектор" -#: assign.c:504 +#: assign.c:434 #, c-format msgid "" "Can't assign to column '%s' (type 'factor') a value of type '%s' (not " @@ -385,7 +374,7 @@ msgstr "" "Невозможно присвоить столбцу «%s» (тип «фактор») значение типа «%s» (не " "символьное, множительное, целое или числовое)" -#: assign.c:510 +#: assign.c:440 #, c-format msgid "" "Supplied %d items to be assigned to %d items of column '%s'. If you wish to " @@ -396,7 +385,7 @@ msgstr "" "'%s'. Если вы хотите «многократно использовать» правую часть, используйте " "rep(), чтобы дать понять это читателям вашего кода." -#: assign.c:520 +#: assign.c:447 msgid "" "This data.table has either been loaded from disk (e.g. using readRDS()/" "load()) or constructed manually (e.g. using structure()). Please run setDT() " @@ -408,7 +397,7 @@ msgstr "" "Прежде чем изменять её содержимое по ссылке, сначала выполните setDT() или " "setalloccol() (для предварительного выделения места под новые столбцы)." -#: assign.c:523 +#: assign.c:453 #, c-format msgid "" "truelength (%d) is greater than 10,000 items over-allocated (length = %d). " @@ -421,7 +410,7 @@ msgstr "" "большим, сообщите об этом в трекере проблем data.table, включая результат " "работы функции sessionInfo()." -#: assign.c:527 +#: assign.c:457 msgid "" "It appears that at some earlier point, names of this data.table have been " "reassigned. Please ensure to use setnames() rather than names<- or " @@ -432,7 +421,7 @@ msgstr "" "names<- или colnames<-. В противном случае, пожалуйста, сообщите об этом в " "трекере проблем data.table." -#: assign.c:534 +#: assign.c:464 msgid "" "It appears that at some earlier point, attributes of this data.table have " "been reassigned. Please use setattr(DT, name, value) rather than attr(DT, " @@ -444,18 +433,18 @@ msgstr "" "имя) <- значение. Если Вы такого не делали, пожалуйста, сообщите об этом в " "трекере проблем data.table." -#: assign.c:564 +#: assign.c:496 #, c-format msgid "" "RHS for item %d has been duplicated because MAYBE_REFERENCED==%d " -"MAYBE_SHARED==%d, but then is being plonked. length(values)==%d; " +"MAYBE_SHARED==%d ALTREP==%d, but then is being plonked. length(values)==%d; " "length(cols)==%d\n" msgstr "" -"В правой части элемент №%d был скопирован, поскольку MAYBE_REFERENCED==%d и " -"MAYBE_SHARED==%d, но потом присваивается напрямую. length(правая_часть)==%d; " -"length(левая_часть)==%d\n" +"В правой части элемент №%d был скопирован, поскольку MAYBE_REFERENCED==%d, " +"MAYBE_SHARED==%d и ALTREP==%d, но потом присваивается напрямую. " +"length(правая_часть)==%d; length(левая_часть)==%d\n" -#: assign.c:569 +#: assign.c:501 #, c-format msgid "" "Direct plonk of unnamed RHS, no copy. MAYBE_REFERENCED==%d, " @@ -464,7 +453,7 @@ msgstr "" "Прямое, без копии присваивание безымянной правой части. " "MAYBE_REFERENCED==%d, MAYBE_SHARED==%d\n" -#: assign.c:638 +#: assign.c:570 #, c-format msgid "" "Dropping index '%s' as it doesn't have '__' at the beginning of its name. It " @@ -473,22 +462,22 @@ msgstr "" "Удаление индекса '%s', поскольку он не имеет '__' в начале своего имени. " "Вероятно, он был создан в версии 1.9.4 data.table.\n" -#: assign.c:683 assign.c:699 +#: assign.c:615 assign.c:631 #, c-format msgid "Dropping index '%s' due to an update on a key column\n" msgstr "Удаляю индекс '%s' из-за обновления столбца-ключа\n" -#: assign.c:692 +#: assign.c:624 #, c-format msgid "Shortening index '%s' to '%s' due to an update on a key column\n" msgstr "Сокращение индекса '%s' до '%s' из-за обновления столбца-ключа\n" -#: assign.c:750 +#: assign.c:682 #, c-format msgid "(column %d named '%s')" msgstr "(столбец №%d, имя '%s')" -#: assign.c:784 +#: assign.c:716 #, c-format msgid "" "Cannot assign 'factor' to '%s'. Factors can only be assigned to factor, " @@ -497,7 +486,7 @@ msgstr "" "Невозможно присвоить значение-фактор к «%s». Факторы можно присваивать " "только столбцам-факторам, строкам или спискам." -#: assign.c:799 +#: assign.c:731 #, c-format msgid "" "Assigning factor numbers to target vector. But %d is outside the level range " @@ -506,7 +495,7 @@ msgstr "" "Присвоение уровней факторов к целевому вектору. Но %d находится вне " "диапазона уровней [1,%d]" -#: assign.c:801 +#: assign.c:733 #, c-format msgid "" "Assigning factor numbers to column %d named '%s'. But %d is outside the " @@ -515,7 +504,7 @@ msgstr "" "Присвоение уровней факторов столбцу №%d под названием '%s'. Но %d находится " "вне диапазона уровней [1,%d]" -#: assign.c:811 +#: assign.c:743 #, c-format msgid "" "Assigning factor numbers to target vector. But %f is outside the level range " @@ -524,7 +513,7 @@ msgstr "" "Присвоение чисел-уровней факторов целевому вектору. Но %f находится вне " "диапазона уровней [1,%d] или не является целым числом." -#: assign.c:813 +#: assign.c:745 #, c-format msgid "" "Assigning factor numbers to column %d named '%s'. But %f is outside the " @@ -533,7 +522,7 @@ msgstr "" "Присвоение чисел-уровней факторов столбцу №%d ('%s'). Но %f находится вне " "диапазона уровней [1,%d] или не является целым числом." -#: assign.c:819 +#: assign.c:751 #, c-format msgid "" "Cannot assign '%s' to 'factor'. Factor columns can be assigned factor, " @@ -542,18 +531,18 @@ msgstr "" "Не могу присвоить данные типа '%s' столбцу-фактору. Допустимы только " "факторы, строки, NA любого типа, а также номера уровней." -#: assign.c:879 +#: assign.c:813 msgid "Unable to allocate working memory of %zu bytes to combine factor levels" msgstr "Не могу выделить %zu байт, чтобы объединить уровни факторов" -#: assign.c:906 +#: assign.c:840 #, c-format msgid "Coercing 'character' RHS to '%s' to match the type of target vector." msgstr "" "Привожу строковую правую часть к '%s', чтобы соответствовать типу целевого " "вектора." -#: assign.c:908 +#: assign.c:842 #, c-format msgid "" "Coercing 'character' RHS to '%s' to match the type of column %d named '%s'." @@ -561,14 +550,14 @@ msgstr "" "Привожу строковую правую часть к '%s', чтобы соответствовать типу столбца №" "%d ('%s')." -#: assign.c:916 +#: assign.c:850 msgid "" "Cannot coerce 'list' RHS to 'integer64' to match the type of target vector." msgstr "" "Не могу привести правую часть-список к 'integer64' в целях соответствия типу " "целевого вектора." -#: assign.c:918 +#: assign.c:852 #, c-format msgid "" "Cannot coerce 'list' RHS to 'integer64' to match the type of column %d named " @@ -577,28 +566,28 @@ msgstr "" "Не могу привести правую часть-список к 'integer64', чтобы соответствовать " "типу столбца №%d ('%s')." -#: assign.c:924 +#: assign.c:858 #, c-format msgid "Coercing 'list' RHS to '%s' to match the type of target vector." msgstr "" "Привожу правую часть-список к '%s', чтобы соответствовать типу целевого " "вектора." -#: assign.c:926 +#: assign.c:860 #, c-format msgid "Coercing 'list' RHS to '%s' to match the type of column %d named '%s'." msgstr "" "Привожу правую часть-список к '%s', чтобы соответствовать типу столбца №%d " "('%s')." -#: assign.c:934 +#: assign.c:868 #, c-format msgid "Zero-copy coerce when assigning '%s' to '%s' target vector.\n" msgstr "" "Преобразование типов без копирования при присваивании '%s' к целевому " "вектору типа '%s'.\n" -#: assign.c:936 +#: assign.c:870 #, c-format msgid "" "Zero-copy coerce when assigning '%s' to column %d named '%s' which is '%s'.\n" @@ -606,12 +595,12 @@ msgstr "" "Преобразование типов без копирования при присваивании '%s' к столбцу №%d " "('%s') типа '%s'.\n" -#: assign.c:952 +#: assign.c:886 #, c-format msgid "(target vector)" msgstr "(целевой вектор)" -#: assign.c:962 assign.c:963 +#: assign.c:896 assign.c:897 #, c-format msgid "" "%d (type '%s') at RHS position %d taken as TRUE when assigning to type '%s' " @@ -620,7 +609,7 @@ msgstr "" "считаю как TRUE значение %d (типа '%s'), элемент правой части №%d при " "присваивании типу '%s' %s" -#: assign.c:965 +#: assign.c:899 #, c-format msgid "" "% (type '%s') at RHS position %d taken as TRUE when assigning to " @@ -629,7 +618,7 @@ msgstr "" "считаю как TRUE значение % (типа '%s'), элемент правой части №%d при " "присваивании типу '%s' %s" -#: assign.c:966 +#: assign.c:900 #, c-format msgid "" "%f (type '%s') at RHS position %d taken as TRUE when assigning to type '%s' " @@ -638,7 +627,7 @@ msgstr "" "считаю как TRUE значение %f (типа '%s'), элемент правой части №%d при " "присваивании типу '%s' %s" -#: assign.c:970 +#: assign.c:904 #, c-format msgid "" "%d (type '%s') at RHS position %d taken as 0 when assigning to type '%s' %s" @@ -646,7 +635,7 @@ msgstr "" "считаю как 0 значение %d (типа '%s'), элемент правой части №%d при " "присваивании типу '%s' %s" -#: assign.c:972 +#: assign.c:906 #, c-format msgid "" "% (type '%s') at RHS position %d taken as 0 when assigning to type " @@ -655,7 +644,7 @@ msgstr "" "считаю как 0 значение % (типа '%s'), элемент правой части №%d при " "присваивании типу '%s' %s" -#: assign.c:973 +#: assign.c:907 #, c-format msgid "" "%f (type '%s') at RHS position %d either truncated (precision lost) or taken " @@ -664,7 +653,7 @@ msgstr "" "округляю (с потерей точности) либо считаю за 0 значение %f (типа '%s'), " "элемент правой части №%d при присваивании типу '%s' %s" -#: assign.c:978 +#: assign.c:912 #, c-format msgid "" "% (type '%s') at RHS position %d out-of-range (NA) when assigning to " @@ -673,7 +662,7 @@ msgstr "" "значение % (типа '%s'), элемент правой части №%d вне допустимого " "диапазона (NA) при присваивании типу '%s' %s" -#: assign.c:979 assign.c:986 +#: assign.c:913 assign.c:920 #, c-format msgid "" "%f (type '%s') at RHS position %d out-of-range(NA) or truncated (precision " @@ -682,7 +671,7 @@ msgstr "" "значение %f (типа '%s'), элемент правой части №%d вне допустимого диапазона " "(NA) или округлено (с потерей точности) при присваивании типу '%s' %s" -#: assign.c:981 assign.c:990 +#: assign.c:915 assign.c:924 #, c-format msgid "" "%f (type '%s') at RHS position %d either imaginary part discarded or real " @@ -691,7 +680,7 @@ msgstr "" "отбрасываю мнимую часть либо округляю с потерей точности значение %f (типа " "'%s'), элемент правой части №%d при присваивании типу '%s' %s" -#: assign.c:991 +#: assign.c:925 #, c-format msgid "" "%f (type '%s') at RHS position %d imaginary part discarded when assigning to " @@ -700,49 +689,49 @@ msgstr "" "отбрасываю мнимую часть значения %f (типа '%s'), элемент правой части №%d " "при присваивании типу '%s' %s" -#: assign.c:1036 +#: assign.c:970 #, c-format msgid "type '%s' cannot be coerced to '%s'" msgstr "не могу привести значение типа '%s' к типу '%s'" -#: assign.c:1194 +#: assign.c:1128 #, c-format msgid "Unsupported column type in assign.c:memrecycle '%s'" msgstr "Неподдерживаемый тип столбца '%s' в assign.c:memrecycle" -#: assign.c:1288 +#: assign.c:1222 #, c-format msgid "Failed to allocate initial %d items in savetl_init" msgstr "Не удалось выделить память для первых %d элементов в savetl_init" -#: assign.c:1304 +#: assign.c:1238 #, c-format msgid "Failed to realloc saveds to %d items in savetl" msgstr "Не удалось сменить размер выделенных saveds на %d в savetl" -#: assign.c:1310 +#: assign.c:1244 #, c-format msgid "Failed to realloc savedtl to %d items in savetl" msgstr "Не удалось сменить размер выделенных savedl на %d в savetl" -#: assign.c:1333 +#: assign.c:1267 msgid "x must be a character vector" msgstr "x должен быть строковым вектором" -#: assign.c:1334 +#: assign.c:1268 msgid "'which' must be an integer vector" msgstr "'which' должен быть целочисленным вектором" -#: assign.c:1335 +#: assign.c:1269 msgid "'new' must be a character vector" msgstr "'new' должен быть строковым вектором" -#: assign.c:1336 +#: assign.c:1270 #, c-format msgid "'new' is length %d. Should be the same as length of 'which' (%d)" msgstr "'new' - длины %d. Должен быть такой же длины, что и 'which' (%d)" -#: assign.c:1339 +#: assign.c:1273 #, c-format msgid "" "Item %d of 'which' is %d which is outside range of the length %d character " @@ -766,22 +755,31 @@ msgstr "" msgid "NAbounds must be TRUE or NA" msgstr "NAbounds должно быть либо TRUE, либо NA" -#: between.c:70 +#: between.c:35 between.c:37 +#, c-format +msgid "x is integer64 but %s is not. Please align classes." +msgstr "" +"x является integer64, а %s - нет. Пожалуйста, сделайте классы единообразными." + +#: between.c:40 between.c:42 +#, c-format +msgid "x is not integer64 but %s is. Please align classes." +msgstr "" +"x не является integer64, а %s - является. Пожалуйста, сделайте классы " +"единообразными." + +#: between.c:83 #, c-format msgid "Item %d of lower (%d) is greater than item %d of upper (%d)" msgstr "" "Элемент №%d вектора lower (%d) превышает элемент №%d вектора upper (%d)" -#: between.c:88 +#: between.c:101 #, c-format msgid "between parallel processing of integer took %8.3fs\n" msgstr "в функции between параллельная обработка целых чисел заняла %8.3f с\n" -#: between.c:94 -msgid "x is integer64 but lower and/or upper are not." -msgstr "x является integer64, а lower и/или upper - нет." - -#: between.c:101 +#: between.c:112 #, c-format msgid "" "Item %d of lower (%) is greater than item %d of upper (%)" @@ -789,91 +787,74 @@ msgstr "" "Элемент №%d вектора lower (%) превышает элемент №%d вектора upper " "(%)" -#: between.c:118 +#: between.c:129 #, c-format msgid "between parallel processing of integer64 took %8.3fs\n" msgstr "в функции between параллельная обработка integer64 заняла %8.3f с\n" -#: between.c:121 -msgid "" -"x is not integer64 but lower and/or upper is integer64. Please align classes." -msgstr "" -"x не является integer64, а lower и/или upper - являются. Пожалуйста, " -"сделайте классы единообразными." - -#: between.c:128 +#: between.c:137 #, c-format msgid "Item %d of lower (%f) is greater than item %d of upper (%f)" msgstr "" "Элемент №%d вектора lower (%f) превышает элемент №%d вектора upper (%f)" -#: between.c:146 +#: between.c:155 #, c-format msgid "between parallel processing of double with open bounds took %8.3fs\n" msgstr "" "в функции between параллельная обработка чисел с плавающей запятой на " "открытом интервале заняла %8.3f с\n" -#: between.c:163 +#: between.c:172 #, c-format msgid "between parallel processing of double with closed bounds took %8.3fs\n" msgstr "" "в функции between параллельная обработка чисел с плавающей запятой на " "отрезке заняла %8.3f с\n" -#: between.c:178 +#: between.c:187 #, c-format msgid "Item %d of lower ('%s') is greater than item %d of upper ('%s')" msgstr "" "Элемент №%d вектора lower ('%s') сортируется выше элемента №%d вектора upper " "('%s')" -#: between.c:193 +#: between.c:202 #, c-format msgid "between non-parallel processing of character took %8.3fs\n" msgstr "в функции between не-параллельная обработка строк заняла %8.3f с\n" -#: bmerge.c:65 -#, c-format -msgid "icols[%d]=%d outside range [1,length(i)=%d]" -msgstr "icols[%d]=%d вне допустимого диапазона [1, length(i)=%d]" - -#: bmerge.c:66 -#, c-format -msgid "xcols[%d]=%d outside range [1,length(x)=%d]" -msgstr "xcols[%d]=%d вне допустимого диапазона [1, length(x)=%d]" - -#: bmerge.c:72 +#: bmerge.c:78 #, c-format msgid "Type '%s' is not supported for joining/merging" msgstr "Тип '%s' не поддерживается для операции соединения" -#: bmerge.c:78 -msgid "roll is character but not 'nearest'" -msgstr "аргумент 'roll' является строкой, но не \"nearest\"" - -#: bmerge.c:79 +#: bmerge.c:87 msgid "roll='nearest' can't be applied to a character column, yet." msgstr "roll='nearest' пока что нельзя применять к строковым столбцам." -#: bmerge.c:87 +#: bmerge.c:96 msgid "rollends must be a length 2 logical vector" msgstr "rollends должен быть логическим вектором длины 2" -#: bmerge.c:116 +#: bmerge.c:131 msgid "Only '==' operator is supported for columns of type character." msgstr "Только оператор '==' поддерживается для строковых столбцов." -#: bmerge.c:190 +#: bmerge.c:209 #, c-format msgid "bmerge: looping bmerge_r took %.3fs\n" msgstr "bmerge(): цикл bmerge_r занял %.3f с\n" -#: bmerge.c:222 +#: bmerge.c:241 #, c-format msgid "bmerge: took %.3fs\n" msgstr "bmerge: заняло %.3f с\n" +#: bmerge.c:417 +msgid "mult='error' and multiple matches during merge" +msgstr "задано mult='error' и в ходе соединения нашлось несколько совпадений" + #: chmatch.c:5 #, c-format msgid "table is type '%s' (must be 'character' or NULL)" @@ -898,7 +879,7 @@ msgstr "" msgid "Type '%s' is not supported by CJ." msgstr "CJ не поддерживает тип '%s'." -#: coalesce.c:20 +#: coalesce.c:22 msgid "" "The first argument is a list, data.table or data.frame. In this case there " "should be no other arguments provided." @@ -906,7 +887,7 @@ msgstr "" "Первый переданный аргумент является списком, data.frame или data.table. В " "этом случае других аргументов быть не должно." -#: coalesce.c:36 +#: coalesce.c:38 #, c-format msgid "" "Item 1 is a factor but item %d is not a factor. When factors are involved, " @@ -915,7 +896,7 @@ msgstr "" "Элемент №1 является фактором, но элемент №%d - не фактор. Все элементы " "должны быть факторами, если есть хотя бы один фактор." -#: coalesce.c:38 +#: coalesce.c:40 #, c-format msgid "" "Item %d is a factor but its levels are not identical to the first item's " @@ -924,7 +905,7 @@ msgstr "" "Элемент №%d является фактором, но его уровни не совпадают с уровнями первого " "элемента." -#: coalesce.c:42 +#: coalesce.c:44 #, c-format msgid "" "Item %d is a factor but item 1 is not a factor. When factors are involved, " @@ -933,7 +914,7 @@ msgstr "" "Элемент №%d является фактором, но элемент №1 - не фактор. Все элементы " "должны быть факторами, если есть хотя бы один фактор." -#: coalesce.c:45 +#: coalesce.c:47 #, c-format msgid "" "Item %d is type %s but the first item is type %s. Please coerce before " @@ -942,12 +923,12 @@ msgstr "" "Элемент №%d - типа %s, но первый элемент - типа %s. Пожалуйста, приведите " "всё к единому типу перед вызовом fcoalesce." -#: coalesce.c:47 +#: coalesce.c:49 #, c-format msgid "Item %d has a different class than item 1." msgstr "Класс элемента №%d отличается от класса элемента №1." -#: coalesce.c:50 +#: coalesce.c:52 #, c-format msgid "" "Item %d is length %d but the first item is length %d. Only singletons are " @@ -956,12 +937,12 @@ msgstr "" "Элемент №%d длины %d, но первый элемент - длины %d. Только векторы длины 1 " "будут рециркулированы." -#: coalesce.c:54 +#: coalesce.c:56 msgid "coalesce copied first item (inplace=FALSE)\n" msgstr "операция coalesce скопировала первый аргумент (inplace=FALSE)\n" -#: coalesce.c:170 fifelse.c:199 shift.c:171 uniqlist.c:98 uniqlist.c:130 -#: uniqlist.c:211 uniqlist.c:248 uniqlist.c:321 +#: coalesce.c:193 fifelse.c:199 shift.c:177 uniqlist.c:98 uniqlist.c:130 +#: uniqlist.c:215 uniqlist.c:252 uniqlist.c:325 #, c-format msgid "Type '%s' is not supported" msgstr "Тип '%s' не поддерживается" @@ -993,14 +974,14 @@ msgstr "length(iSD)[%d] != length(jiscols)[%d]" msgid "length(xSD)[%d] != length(xjiscols)[%d]" msgstr "length(xSD)[%d] != length(xjiscols)[%d]" -#: dogroups.c:278 +#: dogroups.c:279 #, c-format msgid "j evaluates to type '%s'. Must evaluate to atomic vector or list." msgstr "" "результат вычисления j имеет тип '%s'. Он должен давать список или атомарный " "вектор." -#: dogroups.c:287 +#: dogroups.c:288 #, c-format msgid "" "Entry %d for group %d in j=list(...) should be atomic vector or list. If you " @@ -1012,7 +993,7 @@ msgstr "" "newcol=mean(colA)), лучше воспользуйтесь := по группам (это гораздо " "быстрее), либо cbind()/merge() в качестве следующего шага." -#: dogroups.c:294 +#: dogroups.c:295 #, c-format msgid "" "Entry %d for group %d in j=list(...) is an array with %d dimensions > 1, " @@ -1023,7 +1004,7 @@ msgstr "" "1 измерения), что не разрешено. Используйте с() или as.vector(), чтобы " "удалить измерения." -#: dogroups.c:304 +#: dogroups.c:305 msgid "" "RHS of := is NULL during grouped assignment, but it's not possible to delete " "parts of a column." @@ -1031,7 +1012,7 @@ msgstr "" "Правая часть := оказалась NULL в ходе группового присваивания. Не могу " "удалить только часть столбца." -#: dogroups.c:308 +#: dogroups.c:309 #, c-format msgid "" "Supplied %d items to be assigned to group %d of size %d in column '%s'. The " @@ -1044,16 +1025,16 @@ msgstr "" "части. Если хотите \"рециркулировать\" вектор другой длины, используйте " "rep() явным (в т.ч. для читателей кода) образом." -#: dogroups.c:340 +#: dogroups.c:342 #, c-format msgid "Group %d column '%s': %s" msgstr "Группа %d, столбец '%s': %s" -#: dogroups.c:347 +#: dogroups.c:349 msgid "j doesn't evaluate to the same number of columns for each group" msgstr "вычисление j даёт разное количество столбцов для разных групп" -#: dogroups.c:381 +#: dogroups.c:383 #, c-format msgid "" "Column %d of j's result for the first group is NULL. We rely on the column " @@ -1070,7 +1051,7 @@ msgstr "" "используйте вектор нулевой длины соответствующего типа, например, integer() " "или numeric()." -#: dogroups.c:384 +#: dogroups.c:386 msgid "" "j appears to be a named vector. The same names will likely be created over " "and over again for each group and slow things down. Try and pass a named " @@ -1081,7 +1062,7 @@ msgstr "" "вызов list(...) с именами (для него в data.table есть оптимизация) либо " "неименованный список.\n" -#: dogroups.c:386 +#: dogroups.c:388 #, c-format msgid "" "Column %d of j is a named vector (each item down the rows is named, " @@ -1093,7 +1074,7 @@ msgstr "" "уберите имена, чтобы не создавать их заново для каждой группы. Их потом всё " "равно игнорируют.\n" -#: dogroups.c:394 +#: dogroups.c:396 msgid "" "The result of j is a named list. It's very inefficient to create the same " "names over and over again for each group. When j=list(...), any names are " @@ -1108,12 +1089,12 @@ msgstr "" "j=transform(...), что лучше заменить на :=) таких оптимизаций нет. В будущем " "это сообщение может стать предупреждением.\n" -#: dogroups.c:406 +#: dogroups.c:408 #, c-format msgid "dogroups: growing from %d to %d rows\n" msgstr "dogroups: увеличение с %d до %d строк\n" -#: dogroups.c:426 +#: dogroups.c:428 #, c-format msgid "" "Item %d of j's result for group %d is zero length. This will be filled with " @@ -1125,7 +1106,7 @@ msgstr "" "заполнен NA в количестве %d, что соответствует самому длинному столбцу в " "данной группе. Для последующих групп это сообщение выведено не будет." -#: dogroups.c:433 +#: dogroups.c:435 #, c-format msgid "" "Column %d of result for group %d is type '%s' but expecting type '%s'. " @@ -1134,7 +1115,7 @@ msgstr "" "Столбец %d результата вычисления для группы %d имеет тип '%s', хотя должен " "быть '%s'. Типы соответствующих столбцов должны совпадать между группами." -#: dogroups.c:435 +#: dogroups.c:437 #, c-format msgid "" "Supplied %d items for column %d of group %d which has %d rows. The RHS " @@ -1147,11 +1128,11 @@ msgstr "" "длиной левой части присваивания. Если Вы хотите рециркулировать элементы, " "пожалуйста, явным образом (в т.ч. для читателей) используйте rep()." -#: dogroups.c:453 fsort.c:266 fwrite.c:733 +#: dogroups.c:456 fsort.c:264 fwrite.c:749 msgid "\n" msgstr "\n" -#: dogroups.c:455 dogroups.c:470 +#: dogroups.c:458 dogroups.c:475 #, c-format msgid "" "Processed %d groups out of %d. %.0f%% done. Time elapsed: %ds. ETA: %ds." @@ -1159,12 +1140,12 @@ msgstr "" "Обработано %d групп из %d. Всего сделано %.0f%%. Прошло времени: %d с. " "Осталось: %d с." -#: dogroups.c:475 +#: dogroups.c:481 #, c-format msgid "Wrote less rows (%d) than allocated (%d).\n" msgstr "Записано меньше строк (%d), чем для них выделено памяти (%d).\n" -#: dogroups.c:499 +#: dogroups.c:505 #, c-format msgid "" "\n" @@ -1173,7 +1154,7 @@ msgstr "" "\n" " сбор несмежных групп занял %.3f с для %d групп\n" -#: dogroups.c:500 +#: dogroups.c:506 #, c-format msgid "" "\n" @@ -1182,12 +1163,12 @@ msgstr "" "\n" " memcpy() для смежных групп заняло %.3f с для %d групп\n" -#: dogroups.c:502 +#: dogroups.c:508 #, c-format msgid " eval(j) took %.3fs for %d calls\n" msgstr " eval(j) заняло %.3f с для %d вызовов\n" -#: dogroups.c:531 +#: dogroups.c:522 msgid "growVector passed NULL" msgstr "функции growVector передан NULL" @@ -1415,20 +1396,20 @@ msgstr "в функции concat: 'vec' должен быть строковым msgid "concat: 'idx' must be an integer vector" msgstr "в функции concat: 'idx' должен быть целочисленным вектором" -#: fmelt.c:135 +#: fmelt.c:137 #, c-format msgid "Unknown 'measure.vars' type %s at index %d of list" msgstr "Неизвестный тип %s 'measure.vars' в элементе списка №%d" -#: fmelt.c:188 +#: fmelt.c:190 msgid "One or more values in 'measure.vars' is invalid." msgstr "Некоторые значения в 'measure.vars' являются некорректными." -#: fmelt.c:190 +#: fmelt.c:192 msgid "One or more values in 'id.vars' is invalid." msgstr "Некоторые значения в 'id.vars' являются некорректными." -#: fmelt.c:214 +#: fmelt.c:216 #, c-format msgid "" "Unknown 'measure.vars' type %s, must be character or integer vector/list" @@ -1436,13 +1417,13 @@ msgstr "" "Неизвестный тип %s 'measure.vars': должен быть вектором или списком строк " "или целых чисел" -#: fmelt.c:216 +#: fmelt.c:218 #, c-format msgid "Unknown 'id.vars' type %s, must be character or integer vector" msgstr "" "Неизвестный тип %s 'id.vars': должен быть вектором строк или целых чисел" -#: fmelt.c:241 +#: fmelt.c:243 #, c-format msgid "" "id.vars and measure.vars are internally guessed when both are 'NULL'. All " @@ -1454,7 +1435,7 @@ msgstr "" "не-числовые/логические столбцы id.vars, в этом случае [%s]. Пожалуйста, в " "будущем передавайте хотя бы 'id.vars' или 'measure.vars'." -#: fmelt.c:247 +#: fmelt.c:249 msgid "" "'measure.vars' is missing. Assigning all columns other than 'id.vars' " "columns as 'measure.vars'.\n" @@ -1462,12 +1443,12 @@ msgstr "" "Аргумент 'measure.vars' не передан. Считаю ими все столбцы, которые не 'id." "vars'.\n" -#: fmelt.c:249 +#: fmelt.c:251 #, c-format msgid "Assigned 'measure.vars' are [%s].\n" msgstr "Назначаю столбцы 'measure.vars' [%s].\n" -#: fmelt.c:260 +#: fmelt.c:262 msgid "" "'id.vars' is missing. Assigning all columns other than 'measure.vars' " "columns as 'id.vars'.\n" @@ -1475,12 +1456,12 @@ msgstr "" "Аргумент 'id.vars' не передан. Считаю ими все столбцы, которые не 'measure." "vars'.\n" -#: fmelt.c:261 +#: fmelt.c:263 #, c-format msgid "Assigned 'id.vars' are [%s].\n" msgstr "Назначаю столбцы 'id.vars' [%s].\n" -#: fmelt.c:315 +#: fmelt.c:317 msgid "" "When 'measure.vars' is a list, 'value.name' must be a character vector of " "length =1 or =length(measure.vars)." @@ -1488,7 +1469,7 @@ msgstr "" "Если 'measure.vars' является списком, 'value.name' должен быть строковым " "вектором длины 1 либо длины 'measure.vars'." -#: fmelt.c:316 +#: fmelt.c:318 msgid "" "When 'measure.vars' is either not specified or a character/integer vector, " "'value.name' must be a character vector of length =1." @@ -1496,11 +1477,11 @@ msgstr "" "Если 'measure.vars' не передан либо является строковым/целочисленным " "вектором, 'value.name' должен быть одной строкой." -#: fmelt.c:319 +#: fmelt.c:321 msgid "'variable.name' must be a character/integer vector of length 1." msgstr "'variable.name' должен быть одной сторокой или одним целым числом." -#: fmelt.c:372 +#: fmelt.c:374 msgid "" "variable_table attribute of measure.vars should be a data table with at " "least one column" @@ -1508,7 +1489,7 @@ msgstr "" "атрибут measure.vars \"variable_table\" должен быть data.table с как минимум " "одним столбцом" -#: fmelt.c:377 +#: fmelt.c:379 #, c-format msgid "" "variable_table attribute of measure.vars should be a data table with same " @@ -1517,7 +1498,7 @@ msgstr "" "атрибут measure.vars \"variable_table\" должен быть data.table с тем же " "количеством строк, что максимальная длина векторов 'measure.vars', %d" -#: fmelt.c:381 +#: fmelt.c:383 msgid "" "variable_table attribute of measure.vars should be either NULL or a data " "table" @@ -1525,7 +1506,7 @@ msgstr "" "атрибут measure.vars \"variable_table\" должен быть либо NULL, либо data." "table" -#: fmelt.c:464 +#: fmelt.c:466 #, c-format msgid "" "'measure.vars' [%s] are not all of the same type. By order of hierarchy, the " @@ -1537,97 +1518,78 @@ msgstr "" "получится типа '%s'. Все переменные не типа '%s' будут преобразованы. " "Подробнее про приведение типов см. секцию \"Details\" в ?melt.data.table.\n" -#: fmelt.c:576 +#: fmelt.c:578 #, c-format msgid "Unknown column type '%s' for column '%s'." msgstr "Неизвестный тип столбца '%s' для столбца '%s'." -#: fmelt.c:600 -msgid "" -"measure.vars is a list with length=1, which as long documented should return " -"integer indices in the 'variable' column, but currently returns character " -"column names. To increase consistency in the next release, we plan to change " -"'variable' to integer, so users who were relying on this behavior should " -"change measure.vars=list('col_name') (output variable is column name now, " -"but will become column index/integer) to measure.vars='col_name' (variable " -"is column name before and after the planned change)." -msgstr "" -"measure.vars является списком длины 1. Согласно документации, в этой " -"ситуации в столбце «variable» должны быть возвращены целочисленные номера " -"столбцов, однако сейчас функция возвращает имена столбцов текстом. Чтобы " -"исправить это недоразумение, в будущей версии «variable» станет " -"целочисленным столбцом. Если Вам нужны имена столбцов, вместо measure." -"vars=list('имя_столбца') (что будет возвращать номера столбцов) используйте " -"measure.vars='имя_столбца' (что и сейчас, и в будущем будет возвращать их " -"имена)." - -#: fmelt.c:686 +#: fmelt.c:685 #, c-format msgid "variable_table does not support column type '%s' for column '%s'." msgstr "'variable_type' не поддерживает тип столбца '%s' для столбца '%s'." -#: fmelt.c:780 +#: fmelt.c:779 #, c-format msgid "Unknown column type '%s' for column '%s' in 'data'" msgstr "Неизвестный тип '%s' столбца '%s' в 'data'" -#: fmelt.c:791 +#: fmelt.c:790 msgid "Input is not of type VECSXP, expected a data.table, data.frame or list" msgstr "" "Входное значение не типа VECSXP, а должно быть data.table, data.frame или " "хотя бы списком" -#: fmelt.c:792 +#: fmelt.c:791 msgid "Argument 'value.factor' should be logical TRUE/FALSE" msgstr "Аргумент 'value.factor' должен быть либо TRUE, либо FALSE" -#: fmelt.c:793 +#: fmelt.c:792 msgid "Argument 'variable.factor' should be logical TRUE/FALSE" msgstr "Аргумент 'variable.factor' должен быть либо TRUE, либо FALSE" -#: fmelt.c:794 +#: fmelt.c:793 msgid "Argument 'na.rm' should be logical TRUE/FALSE." msgstr "Аргумент 'na.rm' должен быть либо TRUE, либо FALSE." -#: fmelt.c:795 +#: fmelt.c:794 msgid "Argument 'variable.name' must be a character vector" msgstr "Аргумент 'variable.factor' должен быть строковым вектором" -#: fmelt.c:796 +#: fmelt.c:795 msgid "Argument 'value.name' must be a character vector" msgstr "Аргумент 'value.name' должен быть строковым вектором" -#: fmelt.c:797 +#: fmelt.c:796 msgid "Argument 'verbose' should be logical TRUE/FALSE" msgstr "Аргумент 'verbose' должен быть либо TRUE, либо FALSE" -#: fmelt.c:801 +#: fmelt.c:800 msgid "ncol(data) is 0. Nothing to melt. Returning original data.table." msgstr "" "ncol(data) равно 0, обрабатывать нечего. Возвращаю исходную data.table." -#: forder.c:111 utils.c:460 +#: forder.c:112 utils.c:660 msgid "Internal error in" msgstr "Внутренняя ошибка в" -#: forder.c:111 utils.c:460 +#: forder.c:112 utils.c:660 msgid "Please report to the data.table issues tracker." msgstr "Пожалуйста, сообщите об этом в систему отслеживания ошибок data.table." -#: forder.c:121 +#: forder.c:123 #, c-format msgid "Failed to realloc thread private group size buffer to %d*4bytes" msgstr "" "Не удалось изменить до %d*4 байт размер выделенной памяти под размеры групп " "внутри потока" -#: forder.c:135 +#: forder.c:139 #, c-format msgid "Failed to realloc group size result to %d*4bytes" msgstr "" "Не удалось изменить до %d*4 байт размер выделенной памяти под длины групп" -#: forder.c:269 +#: forder.c:273 #, c-format msgid "" "Logical error. counts[0]=%d in cradix but should have been decremented to 0. " @@ -1636,37 +1598,37 @@ msgstr "" "Логическая ошибка. В функции cradix counts[0]=%d, хотя должен был " "уменьшиться до 0. radix=%d" -#: forder.c:287 +#: forder.c:291 msgid "Failed to alloc cradix_counts and/or cradix_tmp" msgstr "Не удалось выделить память под cradix_counts и/или cradix_tmp" -#: forder.c:320 +#: forder.c:324 #, c-format msgid "Unable to realloc %d * %d bytes in range_str" msgstr "" "Не удалось изменить размер выделенной памяти до %d * %d байт в range_str" -#: forder.c:347 +#: forder.c:351 msgid "Failed to alloc ustr3 when converting strings to UTF8" msgstr "Не удалось выделить память под ustr3 при переводе строк в UTF-8" -#: forder.c:366 +#: forder.c:371 msgid "Failed to alloc tl when converting strings to UTF8" msgstr "Не удалось выделить tl при переводе строк в UTF-8" -#: forder.c:395 +#: forder.c:401 msgid "Must an integer or numeric vector length 1" msgstr "Должно быть целым или действительным числом" -#: forder.c:396 +#: forder.c:402 msgid "Must be 2, 1 or 0" msgstr "Должно быть 2, 1 или 0" -#: forder.c:431 +#: forder.c:437 msgid "Unknown non-finite value; not NA, NaN, -Inf or +Inf" msgstr "Неизвестное не-конечное число: ни NA, ни NaN, ни +/- бесконечность" -#: forder.c:470 +#: forder.c:476 msgid "" "Input is an atomic vector (not a list of columns) but order= is not a length " "1 integer" @@ -1674,22 +1636,22 @@ msgstr "" "Передан атомарный вектор (а не список столбцов), но order= не является одним " "целым числом" -#: forder.c:472 +#: forder.c:478 #, c-format msgid "forder.c received a vector type '%s' length %d\n" msgstr "forder.c получил вектор типа '%s' длиной %d\n" -#: forder.c:480 +#: forder.c:486 #, c-format msgid "forder.c received %d rows and %d columns\n" msgstr "forder.c получил %d строк и %d столбцов\n" -#: forder.c:490 +#: forder.c:496 #, c-format msgid "'order' length (%d) is different to by='s length (%d)" msgstr "длина 'order' (%d) отличается от длины by= (%d)" -#: forder.c:504 +#: forder.c:509 #, c-format msgid "" "Column %d is length %d which differs from length of column 1 (%d), are you " @@ -1698,43 +1660,43 @@ msgstr "" "Столбец №%d - длины %d, что отличается от длины столбца №%d. Возможно, в " "качестве ключа сортировки передан столбец-список?\n" -#: forder.c:508 forder.c:1654 +#: forder.c:513 forder.c:1683 msgid "retGrp must be TRUE or FALSE" msgstr "retGrp должно быть TRUE или FALSE" -#: forder.c:511 forder.c:1657 +#: forder.c:516 forder.c:1686 msgid "retStats must be TRUE or FALSE" msgstr "retStats должно быть TRUE или FALSE" -#: forder.c:514 forder.c:1660 +#: forder.c:519 forder.c:1689 msgid "retStats must be TRUE whenever retGrp is TRUE" msgstr "retStats должно быть TRUE всегда, когда retGrp == TRUE" -#: forder.c:516 forder.c:1662 +#: forder.c:521 forder.c:1691 msgid "sort must be TRUE or FALSE" msgstr "sort должно быть TRUE или FALSE" -#: forder.c:519 +#: forder.c:524 msgid "At least one of retGrp= or sort= must be TRUE" msgstr "Хотя бы один аргумент из retGtp= и sort= должен быть TRUE" -#: forder.c:521 forder.c:1665 +#: forder.c:526 forder.c:1694 msgid "na.last must be logical TRUE, FALSE or NA of length 1" msgstr "na.last должен быть TRUE, FALSE, или NA_logical_" -#: forder.c:555 forder.c:669 +#: forder.c:560 forder.c:675 #, c-format msgid "Unable to allocate % bytes of working memory" msgstr "Не удалось выделить % байт оперативной памяти" -#: forder.c:573 +#: forder.c:578 #, c-format msgid "Item %d of order (ascending/descending) is %d. Must be +1 or -1." msgstr "" "Элемент 'order' №%d (сортировка по возрастанию/убыванию) равен %d, а должен " "быть +/-1." -#: forder.c:603 +#: forder.c:608 #, c-format msgid "" "\n" @@ -1747,14 +1709,14 @@ msgstr "" "плавающей запятой, но все числа целые. Возможно, лучше будет использовать 4-" "байтный класс IDate, чтобы сэкономить время и место.\n" -#: forder.c:615 +#: forder.c:620 #, c-format msgid "Column %d passed to [f]order is type '%s', not yet supported." msgstr "" "Столбец №%d, переданный [f]order, оказался типа '%s', что пока не " "поддерживается." -#: forder.c:792 +#: forder.c:799 #, c-format msgid "" "Failed to allocate TMP or UGRP or they weren't cache line aligned: nth=%d" @@ -1762,94 +1724,94 @@ msgstr "" "Не удалось выделить оперативную память под TMP или UGRP, либо они не были " "выровнены по границе линии кэш-памяти: nth=%d" -#: forder.c:801 +#: forder.c:808 msgid "Could not allocate (very tiny) group size thread buffers" msgstr "" "Не удалось выделить (совсем немного) оперативной памяти под принадлежащие " "потокам буферы размеров групп" -#: forder.c:869 +#: forder.c:876 #, c-format msgid "Timing block %2d%s = %8.3f %8d\n" msgstr "Время блока %2d%s = %8.3f %8d\n" -#: forder.c:919 forder.c:989 forder.c:1011 forder.c:1113 forder.c:1244 -#: forder.c:1300 fread.c:2643 +#: forder.c:927 forder.c:997 forder.c:1019 forder.c:1126 forder.c:1262 +#: forder.c:1318 #, c-format msgid "Failed to allocate %d bytes for '%s'." msgstr "Не удалось выделить %d байт оперативной памяти под '%s'." -#: forder.c:1144 +#: forder.c:1162 #, c-format msgid "Failed to allocate parallel counts. my_n=%d, nBatch=%d" msgstr "" "Не удалось выделить память под счета параллельных блоков. my_n=%d, nBatch=%d" -#: forder.c:1156 +#: forder.c:1174 #, c-format msgid "Failed to allocate 'my_otmp' and/or 'my_ktmp' arrays (%d bytes)." msgstr "" "Не удалось выделить память под массивы 'my_otmp' и/или 'my_ktmp' (%d байт)." -#: forder.c:1261 +#: forder.c:1279 #, c-format msgid "Unable to allocate TMP for my_n=%d items in parallel batch counting" msgstr "" "Не удалось выделить память под TMP для my_n=%d элементов при подсчёте " "параллельных блоков" -#: forder.c:1376 forder.c:1427 +#: forder.c:1405 forder.c:1456 #, c-format msgid "issorted 'by' [%d] out of range [1,%d]" msgstr "в функции issorted 'by' [%d] вне диапазона [1,%d]" -#: forder.c:1381 +#: forder.c:1410 msgid "is.sorted does not work on list columns" msgstr "is.sorted не работает на столбцах-списках" -#: forder.c:1414 forder.c:1444 forder.c:1478 +#: forder.c:1443 forder.c:1473 forder.c:1507 #, c-format msgid "type '%s' is not yet supported" msgstr "тип '%s' пока не поддерживается" -#: forder.c:1491 +#: forder.c:1520 msgid "x must be either NULL or an integer vector" msgstr "x должен быть либо NULL, либо целочисленный вектор" -#: forder.c:1493 +#: forder.c:1522 msgid "nrow must be integer vector length 1" msgstr "nrow должен быть одним целым числом" -#: forder.c:1495 +#: forder.c:1524 #, c-format msgid "nrow==%d but must be >=0" msgstr "nrow==%d, но должен быть >= 0" -#: forder.c:1512 +#: forder.c:1541 msgid "x must be type 'double'" msgstr "x должен быть типа 'double'" -#: forder.c:1622 +#: forder.c:1651 msgid "'datatable.use.index' option must be TRUE or FALSE" msgstr "опция 'datatable.use.index' должна быть TRUE или FALSE" -#: forder.c:1635 +#: forder.c:1664 msgid "'datatable.forder.auto.index' option must be TRUE or FALSE" msgstr "опция 'datatable.forder.auto.index' должна быть TRUE или FALSE" -#: forder.c:1652 +#: forder.c:1681 msgid "DT is NULL" msgstr "вместо аргумента-data.table передан NULL" -#: forder.c:1668 +#: forder.c:1697 msgid "order must be integer" msgstr "order должен быть целочисленным" -#: forder.c:1670 +#: forder.c:1699 msgid "reuseSorting must be logical TRUE, FALSE or NA of length 1" msgstr "reuseSorting должно быть TRUE, FALSE, или NA_logical_" -#: forder.c:1682 +#: forder.c:1711 #, c-format msgid "" "forderReuseSorting: opt not possible: is.data.table(DT)=%d, sortGroups=%d, " @@ -1858,28 +1820,28 @@ msgstr "" "forderReuseSorting(): не могу оптимизировать: is.data.table(DT)=%d, " "sortGroups=%d, all1(ascArg)=%d\n" -#: forder.c:1701 +#: forder.c:1730 #, c-format msgid "forderReuseSorting: using key: %s\n" msgstr "forderReuseSorting(): использую ключ: %s\n" -#: forder.c:1736 +#: forder.c:1765 #, c-format msgid "forderReuseSorting: index found but not for retGrp and retStats: %s\n" msgstr "" "forderReuseSorting(): индекс найден, но не для 'retGrp' и 'retStats': %s\n" -#: forder.c:1739 +#: forder.c:1768 #, c-format msgid "forderReuseSorting: index found but not for retGrp: %s\n" msgstr "forderReuseSorting(): индекс найден, но не для retGrp: %s\n" -#: forder.c:1742 +#: forder.c:1771 #, c-format msgid "forderReuseSorting: index found but not for retStats: %s\n" msgstr "forderReuseSorting(): индекс найден, но не для 'retStats': %s\n" -#: forder.c:1749 +#: forder.c:1778 #, c-format msgid "" "forderReuseSorting: index found but na.last=TRUE and no stats available: %s\n" @@ -1887,36 +1849,36 @@ msgstr "" "forderReuseSorting(): индекс найден, но na.last=TRUE и соответствующая " "информация недоступна: %s\n" -#: forder.c:1752 +#: forder.c:1781 #, c-format msgid "forderReuseSorting: index found but na.last=TRUE and NAs present: %s\n" msgstr "" "forderReuseSorting(): индекс найден, но na.last=TRUE и присутствуют " "пропущенные значения: %s\n" -#: forder.c:1760 +#: forder.c:1789 #, c-format msgid "forderReuseSorting: using existing index: %s\n" msgstr "forderReuseSorting(): использую существующий индекс: %s\n" -#: forder.c:1772 +#: forder.c:1801 #, c-format msgid "forderReuseSorting: setting index (retGrp=%d, retStats=%d) on DT: %s\n" msgstr "" "forderReuseSorting(): создаю индекс (retGrp=%d, retStats=%d) на таблице " "данных: %s\n" -#: forder.c:1776 +#: forder.c:1805 #, c-format msgid "forderReuseSorting: opt=%d, took %.3fs\n" msgstr "forderReuseSorting(): opt=%d, заняло %.3f с\n" -#: frank.c:14 frank.c:192 +#: frank.c:17 frank.c:196 #, c-format msgid "Item %d of 'cols' is %d which is outside 1-based range [1,ncol(x)=%d]" msgstr "Элемент вектора 'cols' №%d равен %d, что вне диапазона [1, ncol(x)=%d]" -#: frank.c:24 frank.c:200 +#: frank.c:28 frank.c:204 #, c-format msgid "" "Column %d of input list x is length %d, inconsistent with first column of " @@ -1925,26 +1887,26 @@ msgstr "" "Столбец №%d входного списка 'x' имеет длину %d, что несовместимо с первым " "столбцом, который имеет длину %d." -#: frank.c:101 frank.c:234 transpose.c:97 +#: frank.c:105 frank.c:238 transpose.c:97 #, c-format msgid "Unsupported column type '%s'" msgstr "Неподдерживаемый тип столбца '%s'" -#: fread.c:155 +#: fread.c:180 #, c-format msgid "System error %lu unmapping view of file\n" msgstr "" "Системная ошибка %lu при попытке удалить отображение файла в адресное " "пространство\n" -#: fread.c:158 +#: fread.c:183 #, c-format msgid "System errno %d unmapping file: %s\n" msgstr "" "Системная ошибка %d при попытке удалить отображение файла в адресное " "пространство: %s\n" -#: fread.c:1308 +#: fread.c:1407 msgid "" "Previous fread() session was not cleaned up properly. Cleaned up ok at the " "beginning of this fread() call.\n" @@ -1952,22 +1914,22 @@ msgstr "" "Предыдущий вызов fread() не был корректно завершён. Оставшиеся ресурсы " "возвращены в начале этого вызова fread().\n" -#: fread.c:1311 +#: fread.c:1410 msgid "[01] Check arguments\n" msgstr "[01] Проверка аргументов\n" -#: fread.c:1318 +#: fread.c:1417 #, c-format msgid " Using %d threads (omp_get_max_threads()=%d, nth=%d)\n" msgstr " Использую %d потоков (omp_get_max_threads()=%d, nth=%d)\n" -#: fread.c:1340 +#: fread.c:1439 #, c-format msgid "freadMain: NAstring <<%s>> has whitespace at the beginning or end" msgstr "" "freadMain: NAstring «%s» содержит пробельные символы в начале или конце" -#: fread.c:1344 +#: fread.c:1443 #, c-format msgid "" "freadMain: NAstring <<%s>> is recognized as type boolean, this is not " @@ -1975,68 +1937,68 @@ msgid "" msgstr "" "freadMain: NAstring «%s» распознаётся как логическая, что не разрешено." -#: fread.c:1346 fread.c:1348 +#: fread.c:1445 fread.c:1447 #, c-format msgid "freadMain: NAstring <<%s>> and %s=TRUE, this is not permitted." msgstr "freadMain: NAstring «%s» и %s=TRUE, что не разрешено." -#: fread.c:1361 +#: fread.c:1462 msgid " No NAstrings provided.\n" msgstr " NAstrings не указаны.\n" -#: fread.c:1368 +#: fread.c:1469 msgid " One or more of the NAstrings looks like a number.\n" msgstr " Одна или несколько NAstrings выглядят как число.\n" -#: fread.c:1370 +#: fread.c:1471 msgid " None of the NAstrings look like numbers.\n" msgstr " Ни одна из NAstrings не выглядят как числа.\n" -#: fread.c:1372 +#: fread.c:1473 #, c-format msgid " skip num lines = %\n" msgstr " пропускаю строк = %\n" -#: fread.c:1373 +#: fread.c:1474 #, c-format msgid " skip to string = <<%s>>\n" msgstr " пропустить до строки = «%s»\n" -#: fread.c:1374 +#: fread.c:1475 #, c-format msgid " show progress = %d\n" msgstr " показывать индикатор выполнения = %d\n" -#: fread.c:1375 +#: fread.c:1476 #, c-format msgid " 0/1 column will be read as %s\n" msgstr " буду читать столбцы из 0/1 как %s\n" -#: fread.c:1376 +#: fread.c:1477 #, c-format msgid " Y/N column will be read as %s\n" msgstr " буду читать столбцы с «Y»/«N» как %s\n" -#: fread.c:1388 +#: fread.c:1490 #, c-format msgid "sep == quote ('%c') is not allowed" msgstr "sep == quote ('%c') не разрешено" -#: fread.c:1389 +#: fread.c:1491 #, c-format msgid "sep == dec ('%c') is not allowed" msgstr "sep == dec ('%c') не разрешено" -#: fread.c:1390 +#: fread.c:1492 #, c-format msgid "quote == dec ('%c') is not allowed" msgstr "quote == dec ('%c') не разрешено" -#: fread.c:1407 +#: fread.c:1509 msgid "[02] Opening the file\n" msgstr "[02] Открываю файл\n" -#: fread.c:1410 +#: fread.c:1512 msgid "" " `input` argument is provided rather than a file name, interpreting as raw " "text to read\n" @@ -2044,47 +2006,57 @@ msgstr "" " вместо имени файла передан аргумент `input`, интерпретирую как текст, " "который нужно считать\n" -#: fread.c:1417 +#: fread.c:1519 #, c-format msgid " Opening file %s\n" msgstr " Открываю файл %s\n" -#: fread.c:1421 fread.c:1450 +#: fread.c:1523 #, c-format -msgid "File not found: %s" -msgstr "Файл не найден: %s" +msgid "Couldn't open file %s: %s" +msgstr "Не удалось открыть файл %s: %s" -#: fread.c:1425 +#: fread.c:1527 #, c-format msgid "Opened file ok but couldn't obtain its size: %s" msgstr "Файл открыт, но не могу узнать его размер: %s" -#: fread.c:1428 fread.c:1460 +#: fread.c:1531 fread.c:1567 +#, c-format +msgid "File size [%s] exceeds the address space: %s" +msgstr "Размер файла [%s] превышает размер адресного пространства: %s" + +#: fread.c:1534 fread.c:1570 #, c-format msgid "File is empty: %s" msgstr "Файл пуст: %s" -#: fread.c:1429 fread.c:1461 +#: fread.c:1535 fread.c:1571 #, c-format msgid " File opened, size = %s.\n" msgstr " Файл открыт, размер = %s.\n" -#: fread.c:1456 +#: fread.c:1556 +#, c-format +msgid "File not found: %s" +msgstr "Файл не найден: %s" + +#: fread.c:1562 #, c-format msgid "Unable to open file after %d attempts (error %lu): %s" msgstr "Не могу открыть файл после %d попыток (ошибка %lu): %s" -#: fread.c:1458 +#: fread.c:1564 #, c-format msgid "GetFileSizeEx failed (returned 0) on file: %s" msgstr "Не получилось сделать GetFileSizeEx (функция вернула 0) для файла: %s" -#: fread.c:1463 +#: fread.c:1573 #, c-format msgid "This is Windows, CreateFileMapping returned error %lu for file %s" msgstr "Это Windows; CreateFileMapping вернула ошибку %lu для файла %s" -#: fread.c:1470 +#: fread.c:1580 #, c-format msgid "" "Opened %s file ok but could not memory map it. This is a %dbit process. %s." @@ -2092,30 +2064,30 @@ msgstr "" "Файл %s открыт, но не удалось отобразить его в память. Это %d-битный " "процесс. %s." -#: fread.c:1471 +#: fread.c:1581 msgid "Please upgrade to 64bit" msgstr "Нужно 64-битное адресное пространство" -#: fread.c:1471 +#: fread.c:1581 msgid "There is probably not enough contiguous virtual memory available" msgstr "Вероятно, не хватает непрерывной виртуальной памяти" -#: fread.c:1474 +#: fread.c:1584 msgid " Memory mapped ok\n" msgstr " Файл отображён в адресное пространство\n" -#: fread.c:1493 +#: fread.c:1603 msgid "[03] Detect and skip BOM\n" msgstr "[03] Обнаружение и пропуск метки порядка байт\n" -#: fread.c:1497 +#: fread.c:1607 msgid "" " UTF-8 byte order mark EF BB BF found at the start of the file and " "skipped.\n" msgstr "" " Метка порядка байтов UTF-8 EF BB BF найдена в начале файла и пропущена.\n" -#: fread.c:1502 +#: fread.c:1612 msgid "" "GB-18030 encoding detected, however fread() is unable to decode it. Some " "character fields may be garbled.\n" @@ -2123,7 +2095,7 @@ msgstr "" "Обнаружена кодировка GB-18030, но fread() не может ее декодировать. " "Некоторые строки могут быть искажены.\n" -#: fread.c:1505 +#: fread.c:1615 msgid "" "File is encoded in UTF-16, this encoding is not supported by fread(). Please " "recode the file to UTF-8." @@ -2131,41 +2103,42 @@ msgstr "" "Файл закодирован в UTF-16, но fread() не поддерживает эту кодировку. " "Пожалуйста, перекодируйте файл в UTF-8." -#: fread.c:1510 +#: fread.c:1620 #, c-format msgid " Last byte(s) of input found to be %s and removed.\n" msgstr " На конце файла нашлось %s и было удалено.\n" -#: fread.c:1513 +#: fread.c:1623 msgid "Input is empty or only contains BOM or terminal control characters" msgstr "Файл пуст или содержит только BOM или управляющие символы терминала" -#: fread.c:1520 +#: fread.c:1629 msgid "[04] Arrange mmap to be \\0 terminated\n" msgstr "[04] Готовлю \\0 после отображённого в память файла\n" -#: fread.c:1527 +#: fread.c:1658 +#, c-format msgid "" -" No \\n exists in the file at all, so single \\r (if any) will be taken as " -"one line ending. This is unusual but will happen normally when there is no " -"\\r either; e.g. a single line missing its end of line.\n" +" An \\r by itself will be taken as one line ending (counts: %d \\r by " +"themselves vs %d [\\r]*\\n). This happens with old Mac CSV or when there is " +"no \\r at all.\n" msgstr "" -" В файле вообще нет \\n, поэтому одиночный \\r (если он есть) будет " -"воспринят как конец одной строки. Это необычно, но может произойти, когда " -"\\r тоже нет; например, файл из одной строки, не завершённой маркером конца " -"строки.\n" +" Буду считать символ \\r сам по себе как конец строки (найдено: %d \\r " +"самих по себе против %d [\\r]*\\n). Так бывает со старыми CSV с компьютеров " +"Mac или когда в файле вообще нет \\r.\n" -#: fread.c:1528 +#: fread.c:1659 +#, c-format msgid "" -" \\n has been found in the input and different lines can end with different " -"line endings (e.g. mixed \\n and \\r\\n in one file). This is common and " -"ideal.\n" +" \\n has been found in the input (counts: %d \\r by themselves vs %d " +"[\\r]*\\n) and different lines can end with different line endings (e.g. " +"mixed \\n and \\r\\n in one file). This is common and ideal.\n" msgstr "" -" \\n был найден во входных данных, и разные строки могут заканчиваться " -"разными маркерами (например, смесь \\n и \\r\\n в одном файле). Это " -"нормально.\n" +" \\n был найден во входных данных (количества: %d \\r самих по себе против " +"%d [\\r]*\\n), и разные строки могут заканчиваться разными маркерами " +"(например, смесь \\n и \\r\\n в одном файле). Это нормально.\n" -#: fread.c:1552 +#: fread.c:1684 #, c-format msgid "" " File ends abruptly with '%c'. Final end-of-line is missing. Using cow page " @@ -2174,7 +2147,7 @@ msgstr "" " Файл внезапно заканчивается '%c', без маркера конца строки. Записываю 0 в " "последний байт в виртуальной памяти.\n" -#: fread.c:1558 +#: fread.c:1690 msgid "" "This file is very unusual: it ends abruptly without a final newline, and " "also its size is a multiple of 4096 bytes. Please properly end the last row " @@ -2184,7 +2157,7 @@ msgstr "" "кратен 4096 байтам. Пожалуйста, добавьте маркер конца строки, используя, " "например, 'echo >> file'" -#: fread.c:1560 +#: fread.c:1692 #, c-format msgid "" " File ends abruptly with '%c'. Final end-of-line is missing. Copying file " @@ -2193,33 +2166,33 @@ msgstr "" " Файл оканчивается '%c' без маркера конца строки. Копирую файл в " "оперативную память. %s.\n" -#: fread.c:1566 fread.c:1850 +#: fread.c:1698 fread.c:2002 #, c-format msgid "%s. Attempt to copy file in RAM failed." msgstr "%s. Попытка скопировать файл в память не удалась." -#: fread.c:1567 fread.c:1851 +#: fread.c:1699 fread.c:2003 #, c-format msgid "Unable to allocate %s of contiguous virtual RAM." msgstr "Не могу выделить %s непрерывной виртуальной памяти." -#: fread.c:1571 fread.c:1855 +#: fread.c:1703 fread.c:2007 #, c-format msgid " File copy in RAM took %.3f seconds.\n" msgstr " Копирование файла в оперативную память заняло %.3f с.\n" -#: fread.c:1573 fread.c:1857 +#: fread.c:1705 fread.c:2009 #, c-format msgid "Avoidable file copy in RAM took %.3f seconds. %s.\n" msgstr "" "Копирование файла в оперативную память, которого можно было избежать, заняло " "%.3f с. %s.\n" -#: fread.c:1605 +#: fread.c:1737 msgid "[05] Skipping initial rows if needed\n" msgstr "[05] При необходимости пропускаю начальные строки\n" -#: fread.c:1611 +#: fread.c:1743 #, c-format msgid "" "skip='%s' not found in input (it is case sensitive and literal; i.e., no " @@ -2228,21 +2201,26 @@ msgstr "" "skip='%s' не найдено в файле (интерпретирую строку буквально, чувствительно " "к регистру: никаких шаблонов, масок или регулярных выражений)" -#: fread.c:1617 +#: fread.c:1749 #, c-format msgid "" -"Found skip='%s' on line %. Taking this to be header row or first row " -"of data.\n" +"Found skip='%s' on line %d. Taking this to be header row or first row of " +"data.\n" msgstr "" -"В строке %2$ нашлось skip='%1$s'. Считаю, что это строка заголовка " -"или первая строка данных.\n" +"В строке %2$d нашлось skip='%1$s'. Считаю, что это строка заголовка или " +"первая строка данных.\n" + +#: fread.c:1763 +#, c-format +msgid " Skipped to line %d in the file" +msgstr " Переход к строке %d в файле" -#: fread.c:1631 +#: fread.c:1766 #, c-format -msgid " Skipped to line % in the file" -msgstr " Переход к строке % в файле" +msgid "skip=% but the input only has %d line" +msgstr "skip=%, но во входных данных есть только %d строка" -#: fread.c:1645 +#: fread.c:1777 msgid "" "Input is either empty, fully whitespace, or skip has been set after the last " "non-whitespace." @@ -2250,44 +2228,54 @@ msgstr "" "Либо файл пустой, либо состоит из пробельных символов, либо skip задан после " "последнего не-пробельного символа." -#: fread.c:1647 +#: fread.c:1779 #, c-format msgid " Moved forward to first non-blank line (%d)\n" msgstr " Спускаюсь на первую непустую строку (%d)\n" -#: fread.c:1648 +#: fread.c:1780 #, c-format msgid " Positioned on line %d starting: <<%s>>\n" msgstr " Располагаюсь на строке %d, которая начинается на «%s»\n" -#: fread.c:1670 +#: fread.c:1803 msgid "[06] Detect separator, quoting rule, and ncolumns\n" msgstr "[06] Определяю разделитель, кавычки и количество столбцов\n" -#: fread.c:1674 +#: fread.c:1807 msgid " sep='\\n' passed in meaning read lines as single character column\n" msgstr " sep='\\n': считываю строки в один строковой столбец\n" -#: fread.c:1693 +#: fread.c:1826 msgid " Detecting sep automatically ...\n" msgstr " Автоматически определяю разделитель...\n" -#: fread.c:1700 +#: fread.c:1833 #, c-format msgid " Using supplied sep '%s'\n" msgstr " Использую переданный разделитель '%s'\n" -#: fread.c:1734 +#: fread.c:1867 +#, c-format +msgid " sep=%#02x with %d fields using quote rule %d\n" +msgstr " sep=%#02x с %d полями и режимом кавычек %d\n" + +#: fread.c:1868 #, c-format -msgid " with %d fields using quote rule %d\n" -msgstr " с %d полями и режимом кавычек %d\n" +msgid " sep='%c' with %d fields using quote rule %d\n" +msgstr " sep='%c' с %d полями и режимом кавычек %d\n" -#: fread.c:1784 +#: fread.c:1934 #, c-format -msgid " with %d lines of %d fields using quote rule %d\n" -msgstr " с %d строками по %d полей и режимом кавычек %d\n" +msgid " sep=%#02x with %d lines of %d fields using quote rule %d\n" +msgstr " sep=%#02x с %d строками по %d полей и режимом кавычек %d\n" -#: fread.c:1791 +#: fread.c:1935 +#, c-format +msgid " sep='%c' with %d lines of %d fields using quote rule %d\n" +msgstr " sep='%c' с %d строками по %d полей и режимом кавычек %d\n" + +#: fread.c:1943 msgid "" " No sep and quote rule found a block of 2x2 or greater. Single column " "input.\n" @@ -2295,7 +2283,7 @@ msgstr "" " Ни с одним разделителем и режимом кавычек удалось найти блок в 2*2 ячейки " "или больше. Считываю один столбец.\n" -#: fread.c:1807 +#: fread.c:1959 msgid "" "Single column input contains invalid quotes. Self healing only effective " "when ncol>1" @@ -2303,7 +2291,7 @@ msgstr "" "Одноколоночный ввод содержит неправильные кавычки. Могу попытаться исправить " "только при ncol>1" -#: fread.c:1812 +#: fread.c:1964 #, c-format msgid "" "Found and resolved improper quoting in first %d rows. If the fields are not " @@ -2314,7 +2302,7 @@ msgstr "" "на самом деле не было (например, потому что разделитель не встречается " "внутри полей), попробуйте quote=\"\", чтобы избежать этого предупреждения." -#: fread.c:1833 +#: fread.c:1985 #, c-format msgid "" " Detected %d columns on line %d. This line is either column names or first " @@ -2323,17 +2311,17 @@ msgstr "" " Обнаружено %d столбцов в строке %d. В этой строке находятся либо имена " "столбцов, либо первая строка данных. Начало строки: «%s»\n" -#: fread.c:1835 +#: fread.c:1987 #, c-format msgid " Quote rule picked = %d\n" msgstr " Выбран режим кавычек = %d\n" -#: fread.c:1836 +#: fread.c:1988 #, c-format msgid " fill=%s and the most number of columns found is %d\n" msgstr " fill=%s; наибольшее количество найденных столбцов равно %d\n" -#: fread.c:1842 +#: fread.c:1994 msgid "" "This file is very unusual: it's one single column, ends with 2 or more end-" "of-line (representing several NA at the end), and the file size is a " @@ -2343,12 +2331,12 @@ msgstr "" "более маркерами конца строки (что значит несколько NA в конце), а размер " "файла кратен 4096" -#: fread.c:1844 +#: fread.c:1996 #, c-format msgid " Copying file in RAM. %s\n" msgstr " Копирую файл в оперативную память. %s\n" -#: fread.c:1861 +#: fread.c:2013 msgid "" " 1-column file ends with 2 or more end-of-line. Restoring last eol using " "extra byte in cow page.\n" @@ -2357,7 +2345,7 @@ msgstr "" "Восстанавливаю последний маркер с использованием лишнего байта в виртуальной " "памяти.\n" -#: fread.c:1880 +#: fread.c:2032 msgid "" "[07] Detect column types, dec, good nrow estimate and whether first row is " "column names\n" @@ -2365,44 +2353,44 @@ msgstr "" "[07] Определяю тип столбца, десятичный разделитель, оценку количества строк, " "а также определяю, содержит ли первая строка имена столбцов\n" -#: fread.c:1881 +#: fread.c:2033 #, c-format msgid " 'header' changed by user from 'auto' to %s\n" msgstr " 'header' изменён пользователем с 'auto' на %s\n" -#: fread.c:1887 +#: fread.c:2039 #, c-format msgid "Failed to allocate 2 x %d bytes for type and tmpType: %s" msgstr "Не удалось выделить 2 * %d байт для 'type' и 'tmpType': %s" -#: fread.c:1892 +#: fread.c:2044 msgid " sep=',' so dec set to '.'\n" msgstr " sep=',' так что считаю dec='.'\n" -#: fread.c:1917 +#: fread.c:2069 #, c-format msgid "" -" Number of sampling jump points = %d because nrow limit (%) " +" Number of sampling jump points = %d because nrow limit (%) " "supplied\n" msgstr "" " Количество точек отбора = %d, потому что передано ограничение на " -"количество строк (%)\n" +"количество строк (%)\n" -#: fread.c:1919 +#: fread.c:2071 #, c-format msgid " Number of sampling jump points = %d because jump0size==0\n" msgstr " Количество точек отбора = %d, потому что jump0size==0\n" -#: fread.c:1921 +#: fread.c:2073 #, c-format msgid "" -" Number of sampling jump points = %d because (% bytes from row 1 to " -"eof) / (2 * % jump0size) == %\n" +" Number of sampling jump points = %d because (%td bytes from row 1 to " +"eof) / (2 * %td jump0size) == %td\n" msgstr "" -" Количество точек отбора = %d, потому что (% байт от первой строки " -"до конца файла) / (2 * % jump0size) == %\n" +" Количество точек отбора = %d, потому что (%td байт от первой строки до " +"конца файла) / (2 * %td jump0size) == %td\n" -#: fread.c:1962 +#: fread.c:2129 #, c-format msgid "" " A line with too-few fields (%d/%d) was found on line %d of sample jump %d. " @@ -2411,7 +2399,7 @@ msgstr "" " Недостаточное количество полей (%d/%d) найдено на строке №%d точки отбора №" "%d. %s\n" -#: fread.c:1963 +#: fread.c:2130 #, c-format msgid "" " A line with too-many fields (%d/%d) was found on line %d of sample jump " @@ -2420,24 +2408,24 @@ msgstr "" " Слишком большое количество полей (%d/%d) найдено на строке №%d точки " "отбора №%d. %s\n" -#: fread.c:1964 +#: fread.c:2131 msgid "" "Most likely this jump landed awkwardly so type bumps here will be skipped." msgstr "" "Вероятно, нам не повезло с точкой отбора, так что мы не будем менять оценки " "типов данных." -#: fread.c:1987 fread.c:2013 +#: fread.c:2154 fread.c:2180 #, c-format msgid " dec='%c' detected based on a balance of %d parsed fields\n" msgstr " считаю dec='%c' на основании %d рассмотренных полей\n" -#: fread.c:1997 +#: fread.c:2164 #, c-format msgid " Type codes (jump %03d) : %s Quote rule %d\n" msgstr " Коды типов (отбор %03d) : %s Режим кавычек %d\n" -#: fread.c:2019 +#: fread.c:2186 #, c-format msgid "" " 'header' determined to be true due to column %d containing a string on row " @@ -2446,7 +2434,7 @@ msgstr "" " считаю 'header'=TRUE, поскольку столбец %d содержит текст в первой строке " "и более низкий тип (%s) в остальных % строках выборки\n" -#: fread.c:2033 +#: fread.c:2200 #, c-format msgid "" "Types in 1st data row match types in 2nd data row but previous row has %d " @@ -2455,7 +2443,7 @@ msgstr "" "Типы 1-й строки данных совпадают с типами 2-й строки данных, но первая " "строка содержит %d полей. Считаю её содержащей имена столбцов." -#: fread.c:2037 +#: fread.c:2204 #, c-format msgid "" "Detected %d column names but the data has %d columns (i.e. invalid file). " @@ -2469,7 +2457,7 @@ msgstr "" "предположительно содержит имена строк или индекс. Если это неверно, " "используйте setnames(), чтобы исправить имена, либо исправьте сам файл.\n" -#: fread.c:2040 +#: fread.c:2207 #, c-format msgid "" "Detected %d column names but the data has %d columns (i.e. invalid file). " @@ -2478,7 +2466,7 @@ msgstr "" "Обнаружено %d имен столбцов, но данные содержат %d столбцов (т. е. " "некорректный файл). Добавляю в конце %d имён столбцов.\n" -#: fread.c:2044 +#: fread.c:2211 #, c-format msgid "" "Detected %d column names but the data has %d columns. Filling rows " @@ -2488,14 +2476,14 @@ msgstr "" "заполняю строки. Чтобы избежать этого предупреждения, явно задайте " "fill=TRUE.\n" -#: fread.c:2048 +#: fread.c:2215 #, c-format msgid "Failed to realloc 2 x %d bytes for type and tmpType: %s" msgstr "" "Не удалось изменить размер выделенной памяти до 2 * %d байт для 'type' и " "'tmpType': %s" -#: fread.c:2069 +#: fread.c:2236 msgid "" " 'header' determined to be TRUE because there are no number fields in the " "first and only row\n" @@ -2503,7 +2491,7 @@ msgstr "" " считаю 'header'=TRUE, потому что не нашлось столбцов с числами в первой и " "единственной строке\n" -#: fread.c:2071 +#: fread.c:2238 msgid "" " 'header' determined to be FALSE because there are number fields in the " "first and only row\n" @@ -2511,7 +2499,7 @@ msgstr "" " считаю 'header'=FALSE, потому что нашлось несколько столбцов с числами в " "первой строке\n" -#: fread.c:2074 +#: fread.c:2241 msgid "" " 'header' determined to be true because all columns are type string and a " "better guess is not possible\n" @@ -2519,7 +2507,7 @@ msgstr "" " считаю 'header'=TRUE, потому что все столбцы содержат текст и более точное " "предположение невозможно\n" -#: fread.c:2076 +#: fread.c:2243 msgid "" " 'header' determined to be false because there are some number columns and " "those columns do not have a string field at the top of them\n" @@ -2527,85 +2515,83 @@ msgstr "" " считаю 'header'=FALSE, потому что есть несколько столбцов с числами и в " "верхней части этих столбцов нет строки-заголовка\n" -#: fread.c:2092 +#: fread.c:2259 #, c-format msgid " Type codes (first row) : %s Quote rule %d\n" msgstr " Коды типов (первая строка) : %s Режим кавычек %d\n" -#: fread.c:2101 +#: fread.c:2268 #, c-format msgid "" -" All rows were sampled since file is small so we know nrow=% " +" All rows were sampled since file is small so we know nrow=% " "exactly\n" msgstr "" " Рассмотрены все строки, поскольку файл очень мал и мы точно знаем " -"nrow=%\n" +"nrow=%\n" -#: fread.c:2114 +#: fread.c:2281 #, c-format msgid "" -" Sampled % rows (handled \\n inside quoted fields) at %d jump " +" Sampled % rows (handled \\n inside quoted fields) at %d jump " "points\n" msgstr "" -" Рассмотрено % строк (с учётом \\n внутри полей с кавычками) в %d " +" Рассмотрено % строк (с учётом \\n внутри полей с кавычками) в %d " "точках выборки\n" -#: fread.c:2115 +#: fread.c:2282 #, c-format -msgid "" -" Bytes from first data row on line %d to the end of last row: %\n" -msgstr "" -" Байт от начала данных на строке %d до конца последней строки: %\n" +msgid " Bytes from first data row on line %d to the end of last row: %td\n" +msgstr " Байт от начала данных на строке %d до конца последней строки: %td\n" -#: fread.c:2116 +#: fread.c:2283 #, c-format msgid " Line length: mean=%.2f sd=%.2f min=%d max=%d\n" msgstr "" " Длины строк: средняя=%.2f стандартное отклонение=%.2f минимум=%d " "максимум=%d\n" -#: fread.c:2117 +#: fread.c:2284 #, c-format -msgid " Estimated number of rows: % / %.2f = %\n" -msgstr " Оценка числа строк: % / %.2f = %\n" +msgid " Estimated number of rows: %td / %.2f = %\n" +msgstr " Оценка числа строк: %td / %.2f = %\n" -#: fread.c:2118 +#: fread.c:2285 #, c-format msgid "" -" Initial alloc = % rows (% + %d%%) using bytes/" +" Initial alloc = % rows (% + %d%%) using bytes/" "max(mean-2*sd,min) clamped between [1.1*estn, 2.0*estn]\n" msgstr "" -" Начальное выделение памяти = % строк (% + %d%%), используя " +" Начальное выделение памяти = % строк (% + %d%%), используя " "байт/max(среднее-2*σ, min) с ограничением между [1.1*оценка, 2.0*оценка]\n" -#: fread.c:2126 +#: fread.c:2292 #, c-format -msgid " Alloc limited to lower nrows=% passed in.\n" -msgstr " Выделение памяти ограничено переданным nrows=%.\n" +msgid " Alloc limited to lower nrows=% passed in.\n" +msgstr " Выделение памяти ограничено переданным nrows=%.\n" -#: fread.c:2138 +#: fread.c:2304 msgid "[08] Assign column names\n" msgstr "[08] Назначаю имена столбцов\n" -#: fread.c:2147 +#: fread.c:2313 #, c-format msgid "Unable to allocate %d*%d bytes for column name pointers: %s" msgstr "Не удалось выделить %d*%d байт для указателей имен столбцов: %s" -#: fread.c:2187 +#: fread.c:2361 msgid "[09] Apply user overrides on column types\n" msgstr "[09] Применяю пользовательские переопределения для типов столбцов\n" -#: fread.c:2191 +#: fread.c:2365 msgid " Cancelled by user: userOverride() returned false." msgstr " Отменено пользователем: userOverride() вернула false." -#: fread.c:2202 +#: fread.c:2376 #, c-format -msgid "Failed to allocate %d bytes for '%s': %s" -msgstr "Не удалось выделить %d байт для '%s': %s" +msgid "Failed to allocate %zu bytes for '%s': %s" +msgstr "Не удалось выделить %zu байт для '%s': %s" -#: fread.c:2209 +#: fread.c:2383 #, c-format msgid "" "Attempt to override column %d%s%.*s%s of inherent type '%s' down to '%s' " @@ -2617,75 +2603,80 @@ msgstr "" "высокому типу. Если Вы и правда этого хотите, приведите столбец к желаемому " "типу потом." -#: fread.c:2224 +#: fread.c:2398 #, c-format msgid " After %d type and %d drop user overrides : %s\n" msgstr " После %d назначенных типов и %d пропущенных столбцов: %s\n" -#: fread.c:2232 +#: fread.c:2406 msgid "[10] Allocate memory for the datatable\n" msgstr "[10] Выделяю память под data.table\n" -#: fread.c:2233 +#: fread.c:2407 #, c-format -msgid " Allocating %d column slots (%d - %d dropped) with % rows\n" +msgid " Allocating %d column slots (%d - %d dropped) with % rows\n" msgstr "" -" Выделяю %d слотов столбцов (%d - %d пропущено) с % строками\n" +" Выделяю %d слотов столбцов (%d - %d пропущено) с % строками\n" -#: fread.c:2288 +#: fread.c:2462 #, c-format msgid "Buffer size % is too large\n" msgstr "Размер буфера % слишком велик\n" -#: fread.c:2291 +#: fread.c:2465 msgid "[11] Read the data\n" msgstr "[11] Читаю данные\n" -#: fread.c:2520 +#: fread.c:2713 #, c-format msgid "" -"Column %d%s%.*s%s bumped from '%s' to '%s' due to <<%.*s>> on row %\n" +"Column %d%s%.*s%s bumped from '%s' to '%s' due to <<%.*s>> on row %\n" msgstr "" "Меняю тип столбца %d%s%.*s%s с '%s' на '%s' из-за <<%.*s>> на строке " -"%\n" +"%\n" -#: fread.c:2638 +#: fread.c:2839 #, c-format msgid " Provided number of fill columns: %d but only found %d\n" msgstr " Указано столбцов: %d, но найдено только %d\n" -#: fread.c:2639 +#: fread.c:2840 #, c-format msgid " Dropping %d overallocated columns\n" msgstr " Выбрасываю %d лишних столбцов\n" -#: fread.c:2657 +#: fread.c:2844 +#, c-format +msgid "Failed to allocate %zu bytes for '%s'." +msgstr "Не удалось выделить %zu байт оперативной памяти под '%s'." + +#: fread.c:2857 #, c-format msgid "" "Internal error in %s: %s. Please report to the data.table issues tracker" msgstr "" "Внутренняя ошибка в %s: %s. Пожалуйста, сообщите в трекер ошибок data.table" -#: fread.c:2664 +#: fread.c:2864 #, c-format msgid "" -" Too few rows allocated. Allocating additional % rows (now " -"nrows=%) and continue reading from jump %d\n" +" Too few rows allocated. Allocating additional % rows (now " +"nrows=%) and continue reading from jump %d\n" msgstr "" -" Выделено памяти под слишком мало строк. Выделяю ещё % строк " -"(теперь nrows=%) и продолжаю читать с точки перехода №%d\n" +" Выделено памяти под слишком мало строк. Выделяю ещё % строк " +"(теперь nrows=%) и продолжаю читать с точки перехода №%d\n" -#: fread.c:2671 +#: fread.c:2871 #, c-format msgid " Restarting team from jump %d. nSwept==%d quoteRule==%d\n" msgstr " Перезапускаю потоки с точки перехода №%d. nSwept==%d quoteRule==%d\n" -#: fread.c:2691 +#: fread.c:2891 #, c-format msgid " %d out-of-sample type bumps: %s\n" msgstr " %d раз изменены типы после начальной оценки: %s\n" -#: fread.c:2726 +#: fread.c:2928 #, c-format msgid "" "Read % rows x %d columns from %s file in %02d:%06.3f wall clock " @@ -2693,95 +2684,82 @@ msgid "" msgstr "" "Чтение % строк * %d столбцов из файла %s заняло %02d:%06.3f мин:с\n" -#: fread.c:2733 +#: fread.c:2935 msgid "[12] Finalizing the datatable\n" msgstr "[12] Завершающие штрихи\n" -#: fread.c:2734 +#: fread.c:2936 msgid " Type counts:\n" msgstr " Количества типов:\n" -#: fread.c:2736 +#: fread.c:2938 #, c-format msgid "%10d : %-9s '%c'\n" msgstr "%10d : %-9s '%c'\n" -#: fread.c:2752 +#: fread.c:2954 #, c-format msgid "Discarded single-line footer: <<%s>>" msgstr "Пропущена завершающая строка после данных: <<%s>>" -#: fread.c:2758 +#: fread.c:2960 #, c-format msgid "" -"Stopped early on line %. Expected %d fields but found %d. Consider " +"Stopped early on line %. Expected %d fields but found %d. Consider " "fill=%d or even more based on your knowledge of the input file. Use fill=Inf " "for reading the whole file for detecting the number of fields. First " "discarded non-empty line: <<%s>>" msgstr "" -"Ранняя остановка на строке %. Ожидалось %d полей, а найдено %d. " +"Ранняя остановка на строке %. Ожидалось %d полей, а найдено %d. " "Попробуйте задать fill=%d или больше, исходя из Ваших знаний о входном " "файле. Используйте fill=Inf, чтобы считать весь файл для определения " "количества полей. Первая отброшенная непустая строка: <<%s>>" -#: fread.c:2761 -#, c-format -msgid "" -"Stopped early on line %. Expected %d fields but found %d. Consider " -"fill=TRUE and comment.char=. First discarded non-empty line: <<%s>>" -msgstr "" -"Ранняя остановка на строке %. Ожидалось %d полей, а найдено %d. " -"Попробуйте fill=TRUE и comment.char=. Первая отброшенная непустая строка: " -"<<%s>>" - -#: fread.c:2768 +#: fread.c:2963 #, c-format msgid "" -"Found and resolved improper quoting out-of-sample. First healed line " -"%: <<%s>>. If the fields are not quoted (e.g. field separator does " -"not appear within any field), try quote=\"\" to avoid this warning." +"Stopped early on line %. Expected %d fields but found %d. Consider " +"fill=TRUE. First discarded non-empty line: <<%s>>" msgstr "" -"Найдены и исправлены неправильные кавычки вне первичной выборки. Первая " -"исправленная строка %: <<%s>>. Если поля не заключены в кавычки " -"(например, разделитель полей не появляется ни в одном из полей), попробуйте " -"использовать quote=\"\", чтобы избежать этого предупреждения." +"Ранняя остановка на строке %. Ожидалось %d полей, а найдено %d. " +"Попробуйте fill=TRUE. Первая отброшенная непустая строка: <<%s>>" -#: fread.c:2774 +#: fread.c:2976 #, c-format -msgid "%8.3fs (%3.0f%%) Memory map %.3fGB file\n" +msgid "%8.3fs (%3.0f%%) Memory map %.3fGiB file\n" msgstr "" -"%8.3f с (%3.0f%%) Отображение файла размером %.3f ГБ в виртуальную память\n" +"%8.3f с (%3.0f%%) Отображение файла размером %.3f ГиБ в виртуальную память\n" -#: fread.c:2777 +#: fread.c:2979 #, c-format msgid " ncol=%d and header detection\n" msgstr " ncol=%d и определение заголовка\n" -#: fread.c:2778 +#: fread.c:2980 #, c-format -msgid "%8.3fs (%3.0f%%) Column type detection using % sample rows\n" +msgid "%8.3fs (%3.0f%%) Column type detection using % sample rows\n" msgstr "" -"%8.3f с (%3.0f%%) Определение типов столбцов по выборке из % строк\n" +"%8.3f с (%3.0f%%) Определение типов столбцов по выборке из % строк\n" -#: fread.c:2780 +#: fread.c:2982 #, c-format msgid "" -"%8.3fs (%3.0f%%) Allocation of % rows x %d cols (%.3fGB) of which " -"% (%3.0f%%) rows used\n" +"%8.3fs (%3.0f%%) Allocation of % rows x %d cols (%.3fGiB) of which " +"% (%3.0f%%) rows used\n" msgstr "" -"%8.3f с (%3.0f%%) Выделение памяти под % строк * %d столбцов (%.3f " -"ГБ), из которых использовано % (%3.0f%%) строк\n" +"%8.3f с (%3.0f%%) Выделение памяти под % строк * %d столбцов (%.3f " +"ГиБ), из которых использовано % (%3.0f%%) строк\n" -#: fread.c:2784 +#: fread.c:2986 #, c-format msgid "" -"%8.3fs (%3.0f%%) Reading %d chunks (%d swept) of %.3fMB (each chunk %d rows) " -"using %d threads\n" +"%8.3fs (%3.0f%%) Reading %d chunks (%d swept) of %.3fMiB (each chunk " +"% rows) using %d threads\n" msgstr "" -"%8.3f с (%3.0f%%) Чтение %d частей (%d перемотано) размером %.3f МБ (по %d " -"строк) с использованием %d потоков\n" +"%8.3f с (%3.0f%%) Чтение %d частей (%d перемотано) размером %.3f МиБ (по " +"% строк) с использованием %d потоков\n" -#: fread.c:2786 +#: fread.c:2988 #, c-format msgid "" " + %8.3fs (%3.0f%%) Parse to row-major thread buffers (grown %d times)\n" @@ -2789,46 +2767,46 @@ msgstr "" " + %8.3f с (%3.0f%%) Анализ в построчных буферах потоков (наращены %d " "раз)\n" -#: fread.c:2787 +#: fread.c:2989 #, c-format msgid " + %8.3fs (%3.0f%%) Transpose\n" msgstr " + %8.3f с (%3.0f%%) Транспонирование\n" -#: fread.c:2788 +#: fread.c:2990 #, c-format msgid " + %8.3fs (%3.0f%%) Waiting\n" msgstr " + %8.3f с (%3.0f%%) Ожидание\n" -#: fread.c:2789 +#: fread.c:2991 #, c-format msgid "" "%8.3fs (%3.0f%%) Rereading %d columns due to out-of-sample type exceptions\n" msgstr "" "%8.3f с (%3.0f%%) Перечитывание %d столбцов из-за неожиданной смены типа\n" -#: fread.c:2791 +#: fread.c:2993 #, c-format msgid "%8.3fs Total\n" msgstr "%8.3f с Итого\n" -#: freadR.c:94 +#: freadR.c:96 #, c-format msgid "freadR.c has been passed a filename: %s\n" msgstr "freadR.c передано имя файла: %s\n" -#: freadR.c:98 +#: freadR.c:100 msgid "freadR.c has been passed the data as text input (not a filename)\n" msgstr "freadR.c переданы данные в виде текста (без имени файла)\n" -#: freadR.c:116 +#: freadR.c:118 msgid "quote= must be a single character, blank \"\", or FALSE" msgstr "quote= должен быть одиночным символом, пустым \"\" или FALSE" -#: freadR.c:170 +#: freadR.c:175 msgid "'integer64' must be a single character string" msgstr "'integer64' должен быть одиночной строкой" -#: freadR.c:178 +#: freadR.c:183 #, c-format msgid "" "Invalid value integer64='%s'. Must be 'integer64', 'character', 'double' or " @@ -2837,11 +2815,11 @@ msgstr "" "Недопустимое значение integer64='%s'. Должно быть 'integer64', 'character', " "'double' или 'numeric'" -#: freadR.c:186 +#: freadR.c:193 msgid "Use either select= or drop= but not both." msgstr "Используйте либо select=, либо drop=, но не оба одновременно." -#: freadR.c:189 +#: freadR.c:196 msgid "" "select= is type list for specifying types in select=, but colClasses= has " "been provided as well. Please remove colClasses=." @@ -2849,7 +2827,7 @@ msgstr "" "select= содержит типы столбцов, но также был предоставлен colClasses=. " "Пожалуйста, удалите colClasses=." -#: freadR.c:191 +#: freadR.c:198 msgid "" "select= is type list but has no names; expecting list(type1=cols1, " "type2=cols2, ...)" @@ -2857,7 +2835,7 @@ msgstr "" "select= передан в виде списка, но не содержит имён столбцов; должен быть в " "виде list(тип1=столбцы1, тип2=столбцы2, ...)" -#: freadR.c:198 +#: freadR.c:205 msgid "" "select= is a named vector specifying the columns to select and their types, " "but colClasses= has been provided as well. Please remove colClasses=." @@ -2865,32 +2843,32 @@ msgstr "" "select= передан в виде списка с именами и типами столбцов, но также передан " "colClasses. Пожалуйста, удалите colClasses=." -#: freadR.c:206 freadR.c:372 +#: freadR.c:213 freadR.c:379 msgid "colClasses is type list but has no names" msgstr "в списке colClasses нет имён" -#: freadR.c:216 +#: freadR.c:223 #, c-format msgid "encoding='%s' invalid. Must be 'unknown', 'Latin-1' or 'UTF-8'" msgstr "" "Неправильная encoding='%s'. Должно быть 'unknown', 'Latin-1' или 'UTF-8'" -#: freadR.c:239 +#: freadR.c:248 #, c-format msgid "Column name '%s' (%s) not found" msgstr "Имя столбца '%s' (%s) не найдено" -#: freadR.c:241 +#: freadR.c:250 #, c-format msgid "%s is NA" msgstr "%s является NA" -#: freadR.c:243 +#: freadR.c:252 #, c-format msgid "%s is %d which is out of range [1,ncol=%d]" msgstr "%s равно %d, что выходит за пределы диапазона [1,ncol=%d]" -#: freadR.c:292 +#: freadR.c:299 #, c-format msgid "" "Column name '%s' not found in column name header (case sensitive), skipping." @@ -2898,7 +2876,7 @@ msgstr "" "Имя столбца '%s' не найдено в заголовке с именами столбцов (с учетом " "регистра), пропускаю." -#: freadR.c:302 +#: freadR.c:309 #, c-format msgid "" "Column number %d (select[%d]) is negative but should be in the range [1," @@ -2907,7 +2885,7 @@ msgstr "" "Номер столбца %d (select[%d]) отрицательный, но должен быть в диапазоне [1," "ncol=%d]. Чтобы исключить столбцы, используйте drop=." -#: freadR.c:303 +#: freadR.c:310 #, c-format msgid "" "select = 0 (select[%d]) has no meaning. All values of select should be in " @@ -2916,7 +2894,7 @@ msgstr "" "select[%d] = 0 не имеет смысла. Все значения select должны находиться в " "диапазоне [1,ncol=%d]." -#: freadR.c:304 +#: freadR.c:311 #, c-format msgid "" "Column number %d (select[%d]) is too large for this table, which only has %d " @@ -2925,12 +2903,12 @@ msgstr "" "Номер столбца %d (select[%d]) слишком велик для этой таблицы, в которой " "всего %d столбцов." -#: freadR.c:305 +#: freadR.c:312 #, c-format msgid "Column number %d ('%s') has been selected twice by select=" msgstr "Номер столбца %d ('%s') был выбран дважды с помощью select=" -#: freadR.c:328 +#: freadR.c:335 #, c-format msgid "" "colClasses= is an unnamed vector of types, length %d, but there are %d " @@ -2943,29 +2921,29 @@ msgstr "" "передайте именованный вектор или список, либо используйте select= вместо " "colClasses=. См. примеры в ?fread." -#: freadR.c:370 +#: freadR.c:377 #, c-format msgid "colClasses is type '%s' but should be list or character" msgstr "" "colClasses имеет тип '%s', но должен быть списком или строковым вектором" -#: freadR.c:394 +#: freadR.c:401 #, c-format msgid "Column name '%s' (colClasses[[%d]][%d]) not found" msgstr "Имя столбца '%s' (colClasses[[%d]][%d]) не найдено" -#: freadR.c:396 +#: freadR.c:403 #, c-format msgid "colClasses[[%d]][%d] is NA" msgstr "colClasses[[%d]][%d] является NA" -#: freadR.c:400 +#: freadR.c:407 #, c-format msgid "Column number %d (colClasses[[%d]][%d]) is out of range [1,ncol=%d]" msgstr "" "Номер столбца %d (colClasses[[%d]][%d]) находится вне диапазона [1,ncol=%d]" -#: freadR.c:404 +#: freadR.c:411 #, c-format msgid "" "Column %d ('%s') appears more than once in colClasses. The second time is " @@ -2974,160 +2952,218 @@ msgstr "" "Столбец %d ('%s') встречается в colClasses более одного раза. Второй раз - " "colClasses[[%d]][%d]." -#: freadR.c:646 +#: freadR.c:653 #, c-format msgid "Field size is 1 but the field is of type %d\n" msgstr "Размер поля равен 1, но поле имеет тип %d\n" -#: froll.c:23 froll.c:232 froll.c:416 +#: froll.c:28 #, c-format msgid "%s: window width longer than input vector, returning all NA vector\n" msgstr "%s: ширина окна больше входного вектора, возвращаю вектор из NA\n" -#: froll.c:41 froll.c:249 froll.c:465 +#: froll.c:100 #, c-format msgid "%s: align %d, shift answer by %d\n" msgstr "%s: выравнивание %d, смещение ответа на %d\n" -#: froll.c:48 froll.c:256 frolladaptive.c:19 frolladaptive.c:214 +#: froll.c:107 frolladaptive.c:75 #, c-format -msgid "%s: processing algo %u took %.3fs\n" -msgstr "%s: обработка алгоритмом %u заняла %.3f с\n" +msgid "%s: processing fun %d algo %u took %.3fs\n" +msgstr "%s: обработка функцией %d, алгоритмом %u заняла %.3f с\n" -#: froll.c:57 froll.c:260 +#: froll.c:173 froll.c:363 froll.c:540 froll.c:747 froll.c:986 froll.c:1153 +#: froll.c:1505 #, c-format -msgid "%s: running for input length %, window %d, hasna %d, narm %d\n" +msgid "%s: running for input length %, window %d, hasnf %d, narm %d\n" msgstr "" -"%s: работаю для входных данных длины %, ширина окна %d, hasna=%d, " +"%s: работаю для входных данных длины %, ширина окна %d, hasnf=%d, " "narm=%d\n" -#: froll.c:77 froll.c:87 froll.c:178 froll.c:280 froll.c:290 froll.c:371 -#: frolladaptive.c:58 frolladaptive.c:147 frolladaptive.c:247 -#: frolladaptive.c:326 +#: froll.c:176 froll.c:239 +#, c-format +msgid "%s: window width of size 0, returning all NaN vector\n" +msgstr "%s: ширина окна равна 0, возвращаю вектор из NaN\n" + +#: froll.c:236 froll.c:424 froll.c:636 froll.c:840 froll.c:1072 froll.c:1766 #, c-format msgid "" -"%s: hasNA=FALSE used but NA (or other non-finite) value(s) are present in " -"input, use default hasNA=NA to avoid this warning" +"%s: running in parallel for input length %, window %d, hasnf %d, " +"narm %d\n" msgstr "" -"%s: передано hasNA=FALSE, но во входных данных присутствуют NA (или другие " -"не-конечные значения). Используйте значение по умолчанию hasNA=NA, чтобы " -"избежать этого предупреждения" +"%s: работаю параллельно для входных данных длины %, ширина окна %d, " +"hasnf=%d, narm=%d\n" + +#: froll.c:366 froll.c:427 +#, c-format +msgid "%s: window width of size 0, returning all 0 vector\n" +msgstr "%s: ширина окна равна 0, возвращаю вектор из нулей\n" + +#: froll.c:543 froll.c:639 +#, c-format +msgid "%s: window width of size 0, returning all -Inf vector\n" +msgstr "%s: ширина окна равна 0, возвращаю вектор из -Inf\n" + +#: froll.c:626 +#, c-format +msgid "%s: nested window max calculation called % times\n" +msgstr "%s: вложенное вычисление максимума внутри окна вызвано % раз\n" + +#: froll.c:750 froll.c:843 +#, c-format +msgid "%s: window width of size 0, returning all +Inf vector\n" +msgstr "%s: ширина окна равна 0, возвращаю вектор из +Inf\n" + +#: froll.c:833 +#, c-format +msgid "%s: nested window min calculation called % times\n" +msgstr "%s: вложенное вычисление минимума внутри окна вызвано % раз\n" -#: froll.c:80 froll.c:182 froll.c:283 froll.c:375 frolladaptive.c:61 -#: frolladaptive.c:151 frolladaptive.c:250 frolladaptive.c:330 +#: froll.c:989 froll.c:1075 +#, c-format +msgid "%s: window width of size 0, returning all 1 vector\n" +msgstr "%s: ширина окна равна 0, возвращаю вектор из единиц\n" + +#: froll.c:1156 froll.c:1222 +#, c-format +msgid "%s: window width of size %d, returning all NA vector\n" +msgstr "%s: ширина окна равна %d, возвращаю вектор из NA\n" + +#: froll.c:1209 #, c-format msgid "" -"%s: NA (or other non-finite) value(s) are present in input, re-running with " -"extra care for NAs\n" +"%s: non-finite values are present in input, redirecting to frollvarExact " +"using has.nf=TRUE\n" msgstr "" -"%s: во входных данных найдены NA (или другие не-конечные) значения; запускаю " -"ещё раз в более осторожном режиме\n" +"%s: во входных данных найдены не-конечные значения; запускаю " +"frollvarExact(has.nf=TRUE)\n" -#: froll.c:90 froll.c:293 +#: froll.c:1219 #, c-format msgid "" -"%s: NA (or other non-finite) value(s) are present in input, skip non-NA " -"attempt and run with extra care for NAs\n" +"%s: running %s for input length %, window %d, hasnf %d, narm %d\n" msgstr "" -"%s: во входных данных присутствует NA (или другие не-конечные значения), " -"пропускаю попытку работать без NA и сразу перехожу в осторожный режим\n" +"%s: запускаю %s для входных данных длины %, ширина окна %d, " +"hasnf=%d, narm=%d\n" -#: froll.c:146 froll.c:344 +#: froll.c:1324 #, c-format -msgid "" -"%s: running in parallel for input length %, window %d, hasna %d, " -"narm %d\n" +msgid "%s: calling sqrt(frollvarFast(...))\n" +msgstr "%s: считаю sqrt(frollvarFast(...))\n" + +#: froll.c:1335 +#, c-format +msgid "%s: calling sqrt(frollvarExact(...))\n" +msgstr "%s: считаю sqrt(frollvarExact(...))\n" + +#: froll.c:1508 froll.c:1769 +#, c-format +msgid "%s: window width of size 0, returning all NA vector\n" +msgstr "%s: ширина окна равна 0, возвращаю вектор из NA\n" + +#: froll.c:1516 +#, c-format +msgid "%s: window width of size %d, skip median and use simple loop\n" msgstr "" -"%s: работаю параллельно для входных данных длины %, ширина окна %d, " -"hasna=%d, narm=%d\n" +"%s: ширина окна равна %d, использую простой цикл вместо расчёта медианы\n" + +#: froll.c:1555 +#, c-format +msgid "%s: NAs detected, fall back to frollmedianExact\n" +msgstr "%s: обнаружены NA, перехожу на frollmedianExact\n" -#: froll.c:184 froll.c:377 frolladaptive.c:153 frolladaptive.c:332 +#: froll.c:1567 #, c-format msgid "" -"%s: NA (or other non-finite) value(s) are present in input, na.rm was FALSE " -"so in 'exact' implementation NAs were handled already, no need to re-run\n" +"%s: nx=% is not multiple of k=%d, padding with %d elements, new " +"nx=%\n" msgstr "" -"%s: на входе присутствует NA (или другие не-конечные значения), na.rm был " -"FALSE, поэтому \"точная\" реализация уже обработала NA, перезапуск не нужен\n" +"%s: nx=% не является кратным k=%d, дополняю %d элементами, итого " +"nx=%\n" -#: froll.c:433 +#: froll.c:1628 #, c-format -msgid "%s: results from provided FUN are not length 1" -msgstr "%s: возвращаемое значение из данной FUN не длины 1" +msgid "%s: finding order and initializing links for %d blocks %stook %.3fs\n" +msgstr "" +"%s: сортировка и инициализация связей между %d блоками (%s) заняла %.3f с\n" -#: froll.c:440 +#: froll.c:1638 #, c-format msgid "" -"%s: results from provided FUN are not of type double, coercion from integer " -"or logical will be applied on each iteration\n" +"%s: running implementation as described in the paper by Jukka Suomela, for " +"uneven window size, length of input a multiple of window size, no NAs in the " +"input data\n" msgstr "" -"%s: возвращаемое данной FUN значение не типа double; на каждой итерации буду " -"выполнять приведение типов из целочисленного или логического\n" +"%s: использую алгоритм от Jukka Suomela для нечётного размера окна, кратного " +"ему входного вектора и без пропусков в данных\n" -#: froll.c:443 +#: froll.c:1688 #, c-format -msgid "%s: results from provided FUN are not of type double" -msgstr "%s: возвращаемое данной FUN значение не типа double" +msgid "%s: skip rolling for %d padded elements\n" +msgstr "%s: пропускаю расчёт оконной функции для %d дополнительных элементов\n" -#: froll.c:472 nafill.c:43 nafill.c:65 nafill.c:87 +#: froll.c:1721 #, c-format -msgid "%s: took %.3fs\n" -msgstr "%s: заняло %.3f с\n" +msgid "%s: rolling took %.3f\n" +msgstr "%s: расчёт оконной функции занял %.3f с\n" + +#: froll.c:1818 frolladaptive.c:992 +#, c-format +msgid "%s: no NAs detected, redirecting to itself using has.nf=FALSE\n" +msgstr "%s: нет пропусков в данных, использую has.nf=FALSE\n" -#: frollR.c:17 +#: frollR.c:18 msgid "" -"x must be of type numeric or logical, or a list, data.frame or data.table of " -"such" +"'x' must be of type numeric or logical, or a list, data.frame or data.table " +"of such" msgstr "" -"x должен иметь численным, логическим, списком, либо data.frame или data." +"'x' должен иметь численным, логическим, списком, либо data.frame или data." "table, состоящей из столбцов таких типов" -#: frollR.c:38 frollR.c:244 -msgid "n must be non 0 length" -msgstr "n должно быть ненулевой длины" +#: frollR.c:31 +msgid "'n' must be an integer, list is accepted for adaptive TRUE" +msgstr "'n' должно быть целочисленным; для adaptive=TRUE также допустим список" -#: frollR.c:49 -msgid "n must be integer, list is accepted for adaptive TRUE" -msgstr "n должно быть целочисленным; для adaptive=TRUE также допустим список n" +#: frollR.c:37 +msgid "'n' must be an integer" +msgstr "'n' должен быть целочисленным вектором" -#: frollR.c:56 frollR.c:236 frollR.c:239 -msgid "n must be integer" -msgstr "n должно быть целочисленным" +#: frollR.c:44 frollR.c:74 +msgid "'n' must be non-negative integer values (>= 0)" +msgstr "'n' должно быть целочисленным и неотрицательным (>= 0)" -#: frollR.c:63 -msgid "n must be positive integer values (> 0)" -msgstr "n должно быть целочисленным и положительным (> 0)" - -#: frollR.c:72 frollR.c:84 -msgid "n must be integer vector or list of integer vectors" +#: frollR.c:53 frollR.c:64 +msgid "'n' must be an integer vector or list of integer vectors" msgstr "" -"n должен быть целочисленным вектором или списком целочисленных векторов" +"'n' должен быть целочисленным вектором или списком целочисленных векторов" -#: frollR.c:98 -msgid "hasNA must be TRUE, FALSE or NA" -msgstr "hasNA должно быть TRUE, FALSE или NA" +#: frollR.c:94 +msgid "n must be non 0 length" +msgstr "n должно быть ненулевой длины" + +#: frollR.c:115 +msgid "has.nf must be TRUE, FALSE or NA" +msgstr "has.nf должно быть TRUE, FALSE или NA" -#: frollR.c:100 +#: frollR.c:117 msgid "" -"using hasNA FALSE and na.rm TRUE does not make sense, if you know there are " -"NA values use hasNA TRUE, otherwise leave it as default NA" +"using has.nf FALSE and na.rm TRUE does not make sense, if you know there are " +"non-finite values then use has.nf TRUE, otherwise leave it as default NA" msgstr "" -"использование вместе hasNA=FALSE и na.rm=TRUE не имеет смысла; если Вы " -"знаете, что есть значения NA, используйте hasNA=TRUE, в противном случае " -"оставьте по умолчанию hasNA=NA" +"использование вместе has.nf=FALSE и na.rm=TRUE не имеет смысла; если Вы " +"знаете, что есть не-конечные значения, используйте has.nf=TRUE, в противном " +"случае оставьте по умолчанию has.nf=NA" -#: frollR.c:113 -msgid "" -"using adaptive TRUE and align argument different than 'right' is not " -"implemented" -msgstr "сочетание adaptive=TRUE и align!='right' пока не реализовано" +#: frollR.c:130 +msgid "using adaptive TRUE and align 'center' is not implemented" +msgstr "сочетание adaptive=TRUE и align='center' пока не реализовано" -#: frollR.c:117 frollR.c:267 +#: frollR.c:134 #, c-format msgid "%s: allocating memory for results %dx%d\n" msgstr "%s: выделяю память для результатов %d*%d\n" -#: frollR.c:126 +#: frollR.c:143 msgid "" "adaptive rolling function can only process 'x' having equal length of " "elements, like data.table or data.frame; If you want to call rolling " @@ -3139,7 +3175,7 @@ msgstr "" "скользящую функцию для списка с переменной длиной элементов, вызывайте ее " "для каждого элемента отдельно" -#: frollR.c:128 +#: frollR.c:145 msgid "" "length of integer vector(s) provided as list to 'n' argument must be equal " "to number of observations provided in 'x'" @@ -3147,101 +3183,136 @@ msgstr "" "длина целочисленного(ых) вектора(ов), переданного(ых) в виде списка 'n', " "должна быть равна количеству наблюдений, переданных в 'x'" -#: frollR.c:146 frollR.c:259 gsumm.c:1203 shift.c:21 +#: frollR.c:175 gsumm.c:1204 shift.c:21 msgid "fill must be a vector of length 1" msgstr "'fill' должен быть вектором длины 1" -#: frollR.c:148 frollR.c:261 +#: frollR.c:177 msgid "fill must be numeric or logical" msgstr "'fill' должен быть численным или логическим" -#: frollR.c:178 +#: frollR.c:199 +#, c-format +msgid "%s: computing %d column(s) and %d window(s) in parallel\n" +msgstr "%s: обработка %d столбца(ов) и %d окна(он) параллельно\n" + +#: frollR.c:201 +#, c-format +msgid "" +"%s: computing %d column(s) and %d window(s) sequentially because " +"algo='exact' is already parallelised within each rolling computation\n" +msgstr "" +"%s: обрабатываю %d столбец(ов) и %d окно(он) последовательно, поскольку " +"algo='exact' уже работает параллельно внутри каждой итерации\n" + +#: frollR.c:203 #, c-format msgid "" -"%s: %d column(s) and %d window(s), if product > 1 then entering parallel " -"execution\n" +"%s: computing %d column(s) and %d window(s) sequentially because " +"adaptive=TRUE is already parallelised within each rolling computation\n" msgstr "" -"%s: %d столбец(ов) и %d окно(он); если их произведение > 1, то выполняю " -"параллельно\n" +"%s: обрабатываю %d столбец(ов) и %d окно(он) последовательно, поскольку " +"adaptive=TRUE уже работает параллельно внутри каждой итерации\n" -#: frollR.c:180 +#: frollR.c:205 #, c-format msgid "" -"%s: %d column(s) and %d window(s), not entering parallel execution here " -"because algo='exact' will compute results in parallel\n" +"%s: computing %d column(s) and %d window(s) sequentially as there is only " +"single rolling computation\n" msgstr "" -"%s: %d столбец(ов) и %d окно(он); здесь не выполняю параллельно, поскольку " -"этим займётся algo='exact'\n" +"%s: рассчитываю %d столбец(ов) и %d окно(он) последовательно, поскольку " +"требуется только одно скользящее вычисление\n" -#: frollR.c:207 frollR.c:299 +#: frollR.c:222 #, c-format msgid "%s: processing of %d column(s) and %d window(s) took %.3fs\n" msgstr "%s: обработка %d столбца(ов) и %d окна(он) заняла %.3f с\n" -#: frolladaptive.c:29 frolladaptive.c:218 -#, c-format -msgid "%s: running for input length %, hasna %d, narm %d\n" -msgstr "%s: входные данные длиной %, hasna=%d, narm=%d\n" +#: frollR.c:234 +msgid "'n' must not have NAs" +msgstr "в 'n' не должно быть пропущенных значений" + +#: frollR.c:236 +msgid "'n' must be positive integer values (>= 1)" +msgstr "'n' должно быть целочисленным и положительным (>= 1)" -#: frolladaptive.c:35 frolladaptive.c:224 +#: frollR.c:241 frollR.c:244 +msgid "index provided to 'x' must: be sorted, have no duplicates, have no NAs" +msgstr "" +"переданный в 'x' индекс должен быть отсортирован, без пропусков и дубликатов" + +#: frolladaptive.c:32 frolladaptive.c:39 frolladaptive.c:46 frolladaptive.c:53 +#: frolladaptive.c:60 frolladaptive.c:67 #, c-format -msgid "%s: Unable to allocate memory for cumsum" -msgstr "%s: Не удалось выделить память для накапливаемой суммы" +msgid "%s: algo %u not implemented, fall back to %u\n" +msgstr "%s: алгоритм %u не реализован, использую %u\n" -#: frolladaptive.c:71 frolladaptive.c:260 +#: frolladaptive.c:118 frolladaptive.c:341 #, c-format -msgid "%s: Unable to allocate memory for cum NA counter" -msgstr "%s: Не удалось выделить память для кумулятивного счётчика NA" +msgid "%s: running for input length %, hasnf %d, narm %d\n" +msgstr "%s: входные данные длиной %, hasnf=%d, narm=%d\n" -#: frolladaptive.c:114 frolladaptive.c:298 +#: frolladaptive.c:216 frolladaptive.c:437 frolladaptive.c:512 +#: frolladaptive.c:587 frolladaptive.c:673 frolladaptive.c:747 +#: frolladaptive.c:929 #, c-format -msgid "%s: running in parallel for input length %, hasna %d, narm %d\n" +msgid "%s: running in parallel for input length %, hasnf %d, narm %d\n" msgstr "" -"%s: работаю параллельно для входных данных длиной %, hasna %d, narm " +"%s: работаю параллельно для входных данных длиной %, hasnf %d, narm " "%d\n" -#: fsort.c:106 +#: frolladaptive.c:851 +#, c-format +msgid "%s: calling sqrt(frolladaptivevarExact(...))\n" +msgstr "%s: вычисляю sqrt(frolladaptivevarExact(...))\n" + +#: frolladaptive.c:937 +#, c-format +msgid "%s: adaptive window width of size 0, returning all NA vector\n" +msgstr "%s: адаптивная ширина окна равна 0, возвращаю вектор из NA\n" + +#: fsort.c:104 msgid "Reduced MSBsize from %zu to %zu by excluding 0 and 1 counts\n" msgstr "" "MSBsize уменьшен с %zu до %zu путём исключения счетов, равных 0 или 1\n" -#: fsort.c:121 +#: fsort.c:119 msgid "x must be a vector of type double currently" msgstr "в текущей версии x должен быть вектором типа double" -#: fsort.c:147 +#: fsort.c:145 #, c-format msgid "Failed to allocate %d bytes in fsort()." msgstr "Не удалось выделить %d байт в fsort()." -#: fsort.c:173 +#: fsort.c:171 #, c-format msgid "Range = [%g,%g]\n" msgstr "Диапазон = [%g,%g]\n" -#: fsort.c:174 +#: fsort.c:172 msgid "Cannot yet handle negatives." msgstr "Пока не могу справляться с отрицательными числами." -#: fsort.c:196 +#: fsort.c:194 #, c-format msgid "" -"counts is %dMB (%d pages per nBatch=%d, batchSize=%, " +"counts is %dMiB (%d pages per nBatch=%d, batchSize=%, " "lastBatchSize=%)\n" msgstr "" -"'counts' занимает %d МБ (%d страниц на nBatch=%d, batchSize=%, " +"'counts' занимает %d МиБ (%d страниц по nBatch=%d, batchSize=%, " "lastBatchSize=%)\n" -#: fsort.c:266 +#: fsort.c:264 msgid "Top 20 MSB counts: " msgstr "20 самых часто встречающихся значений самых старших битов: " -#: fsort.c:266 +#: fsort.c:264 #, c-format msgid "% " msgstr "% " -#: fsort.c:333 +#: fsort.c:331 #, c-format msgid "" "OpenMP %d did not assign threads to iterations monotonically. Please search " @@ -3251,16 +3322,16 @@ msgstr "" "найдите «OpenMP %1$d did not assign threads to iterations monotonically» на " "Stack Overflow." -#: fsort.c:335 +#: fsort.c:333 msgid "Unable to allocate working memory" msgstr "Не удалось выделить оперативную память" -#: fsort.c:345 +#: fsort.c:343 #, c-format msgid "%d: %.3f (%4.1f%%)\n" msgstr "%d: %.3f (%4.1f%%)\n" -#: fwrite.c:625 +#: fwrite.c:641 msgid "" "Compression in fwrite uses zlib library. Its header files were not found at " "the time data.table was compiled. To enable fwrite compression, please " @@ -3271,7 +3342,7 @@ msgstr "" "переустановите data.table и изучите вывод компиляции для получения " "дальнейших указаний." -#: fwrite.c:641 +#: fwrite.c:657 #, c-format msgid "" "eol must be 1 or more bytes (usually either \\n or \\r\\n) but is length %d" @@ -3279,21 +3350,21 @@ msgstr "" "'eol' должен быть 1 или более байт (обычно \"\\n\" или \"\\r\\n\"), но его " "длина составляет %d" -#: fwrite.c:644 +#: fwrite.c:660 msgid "Column writers: " msgstr "Буду записывать столбцы: " -#: fwrite.c:690 +#: fwrite.c:706 #, c-format msgid "type %d has no max length method implemented" msgstr "для типа %d не реализован метод нахождения максимальной длины" -#: fwrite.c:702 +#: fwrite.c:718 #, c-format msgid "maxLineLen=%. Found in %.3fs\n" msgstr "maxLineLen=%. Найдено за %.3f с\n" -#: fwrite.c:721 +#: fwrite.c:737 #, c-format msgid "" "%s: '%s'. Failed to open existing file for writing. Do you have write " @@ -3304,7 +3375,7 @@ msgstr "" "разрешение на запись в него? Возможно, это Windows и он открыт другим " "процессом, например, Excel?" -#: fwrite.c:722 +#: fwrite.c:738 #, c-format msgid "" "%s: '%s'. Unable to create new file for writing (it does not exist already). " @@ -3315,14 +3386,14 @@ msgstr "" "Есть ли у вас разрешение на запись сюда, есть ли место на диске и существует " "ли путь?" -#: fwrite.c:730 +#: fwrite.c:746 #, c-format msgid "Writing bom (%s), yaml (%d characters) and column names (%s)\n" msgstr "" "Записываю маркер порядка байт (%s), YAML (%d символов) и заголовки столбцов " "(%s)\n" -#: fwrite.c:782 +#: fwrite.c:798 #, c-format msgid "" "Writing % rows in %d batches of %d rows, each buffer size %zu bytes " @@ -3331,33 +3402,33 @@ msgstr "" "Запись % строк в %d партиях по %d строк; размер каждого буфера %zu " "байт (%zu МиБ), showProgress=%d, nth=%d\n" -#: fwrite.c:790 +#: fwrite.c:806 msgid "Allocate %zu bytes (%zu MiB) for buffPool\n" msgstr "Выделяю %zu байт (%zu МиБ) для 'buffPool'\n" -#: fwrite.c:794 +#: fwrite.c:810 #, c-format msgid "" -"Unable to allocate %zu MB * %d thread buffers; '%d: %s'. Please read ?fwrite " -"for nThread, buffMB and verbose options." +"Unable to allocate %zu MiB * %d thread buffers; '%d: %s'. Please read ?" +"fwrite for nThread, buffMB and verbose options." msgstr "" -"Невозможно выделить %zu МБ * %d буферов потоков; '%d: %s'. Пожалуйста, " -"прочитайте ?fwrite про параметры nThread, buffMB и verbose." +"Не удалось выделить %zu МиБ * %d буферов потоков; '%d: %s'. Пожалуйста, " +"прочитайте ?fwrite про параметры 'nThread', 'buffMB' и 'verbose'." -#: fwrite.c:810 +#: fwrite.c:826 msgid "Can't init stream structure for deflateBound" msgstr "Не удалось инициализировать структуру потока для deflateBound" -#: fwrite.c:815 +#: fwrite.c:831 #, c-format msgid "zbuffSize=%d returned from deflateBound\n" msgstr "deflateBound вернула zbuffSize=%d\n" -#: fwrite.c:821 +#: fwrite.c:837 msgid "Allocate %zu bytes (%zu MiB) for zbuffPool\n" msgstr "Выделяю %zu байт (%zu МиБ) для zbuffPool\n" -#: fwrite.c:828 +#: fwrite.c:844 #, c-format msgid "" "Unable to allocate %zu MiB * %d thread compressed buffers; '%d: %s'. Please " @@ -3366,35 +3437,44 @@ msgstr "" "Не удалось выделить %zu МиБ * %d буферов сжатых данных потоков; '%d: %s'. " "Пожалуйста, прочитайте ?fwrite про параметры nThread, buffMB и verbose." -#: fwrite.c:909 +#: fwrite.c:864 #, c-format msgid "Failed to write gzip header. Write returned %d" msgstr "Не удалось записать заголовок gzip. Системный вызов вернул %d" -#: fwrite.c:910 +#: fwrite.c:939 #, c-format msgid "Failed to compress gzip. compressbuff() returned %d" msgstr "Не удалось сжать при помощи gzip. compressbuff() вернула %d" -#: fwrite.c:911 fwrite.c:928 +#: fwrite.c:940 fwrite.c:963 #, c-format msgid "%s: '%s'" msgstr "%s: '%s'" -#: fwrite.c:917 +#: fwrite.c:952 #, c-format msgid "Initialization done in %.3fs\n" msgstr "Инициализация выполнена за %.3f с\n" -#: fwrite.c:922 +#: fwrite.c:957 msgid "No data rows present (nrow==0)\n" msgstr "Нет строк с данными (nrow==0)\n" -#: fwrite.c:1096 +#: fwrite.c:1100 +#, c-format +msgid "" +"Written %.1f%% of % rows in %d secs using %d thread. " +"maxBuffUsed=%d%%. ETA %d secs. " +msgstr "" +"Записано %.1f%% из % строк за %d с с использованием %d потока. " +"maxBuffUsed=%d%%. Осталось %d с. " + +#: fwrite.c:1131 msgid "Failed to write gzip trailer" msgstr "Не удалось записать концевые данные gzip" -#: fwrite.c:1115 +#: fwrite.c:1150 #, c-format msgid "" "zlib: uncompressed length=%zu (%zu MiB), compressed length=%zu (%zu MiB), " @@ -3403,22 +3483,28 @@ msgstr "" "zlib: исходные данные размером %zu Б (%zu МиБ), сжатые – %zu Б (%zu МиБ), " "коэффициент сжатия=%.1f%%, CRC=%x\n" -#: fwrite.c:1119 +#: fwrite.c:1154 #, c-format -msgid "" -"Written % rows in %.3f secs using %d thread%s. MaxBuffUsed=%d%%\n" +msgid "Wrote % row in %.3f secs using %d thread. MaxBuffUsed=%d%%\n" msgstr "" -"Записано % строк за %.3f с с использованием %d поток(ов)%.0s. " +"Записана % строка за %.3f с с использованием %d потока. " "MaxBuffUsed=%d%%\n" -#: fwrite.c:1133 +#: fwrite.c:1156 +#, c-format +msgid "Wrote % row in %.3f secs using %d threads. MaxBuffUsed=%d%%\n" +msgstr "" +"Записана % строка за %.3f с с использованием %d потоков. " +"MaxBuffUsed=%d%%\n" + +#: fwrite.c:1171 #, c-format msgid "" "zlib %s (zlib.h %s) deflate() returned error %d Z_FINISH=%d Z_BLOCK=%d. %s" msgstr "" "zlib %s (zlib.h %s) deflate() вернула ошибку %d с Z_FINISH=%d Z_BLOCK=%d. %s" -#: fwrite.c:1135 +#: fwrite.c:1173 msgid "" "Please include the full output above and below this message in your data." "table bug report." @@ -3426,7 +3512,7 @@ msgstr "" "Пожалуйста, включите полный вывод выше и ниже этого сообщения в отчет об " "ошибке data.table." -#: fwrite.c:1136 +#: fwrite.c:1174 msgid "" "Please retry fwrite() with verbose=TRUE and include the full output with " "your data.table bug report." @@ -3446,27 +3532,27 @@ msgstr "" "являются атомарными векторами: логическими, целочисленными, integer64, с " "плавающей запятой, комплексными и строковыми." -#: fwriteR.c:177 +#: fwriteR.c:179 msgid "" "fwrite must be passed an object of type list; e.g. data.frame, data.table" msgstr "fwrite принимает объекты-списки, например, data.frame и data.table" -#: fwriteR.c:188 +#: fwriteR.c:191 msgid "fwrite was passed an empty list of no columns. Nothing to write." msgstr "fwrite передан пустой список без столбцов. Нечего записывать." -#: fwriteR.c:242 +#: fwriteR.c:245 #, c-format msgid "" "Column %d's length (%d) is not the same as column 1's length (%)" msgstr "Длина столбца №%d (%d) не совпадает с длиной столбца 1 (%)" -#: fwriteR.c:246 +#: fwriteR.c:249 #, c-format msgid "Column %d's type is '%s' - not yet implemented in fwrite." msgstr "Тип столбца №%d - '%s', еще не реализован в fwrite." -#: fwriteR.c:269 +#: fwriteR.c:272 #, c-format msgid "" "input has specific integer rownames but their length (%lld) != nrow " @@ -3475,7 +3561,7 @@ msgstr "" "у входного значения специальный целочисленный атрибут row.names, но " "указанная длина (%lld) != количеству строк (%)" -#: fwriteR.c:284 +#: fwriteR.c:287 msgid "" "No list columns are present. Setting sep2='' otherwise quote='auto' would " "quote fields containing sep2.\n" @@ -3483,7 +3569,7 @@ msgstr "" "Нет столбцов-списков. Задаю sep2=''; в противном случае quote='auto' " "приведёт к тому, что поля, содержащие sep2, будут заключены в кавычки.\n" -#: fwriteR.c:288 +#: fwriteR.c:291 #, c-format msgid "" "If quote='auto', fields will be quoted if the field contains either sep " @@ -3492,7 +3578,7 @@ msgstr "" "Если quote='auto', поля, содержащие sep ('%c') или sep2 ('%c'), будут " "заключены в кавычки, поскольку столбец %d является списком.\n" -#: fwriteR.c:292 +#: fwriteR.c:295 #, c-format msgid "" "sep ('%c'), sep2 ('%c') and dec ('%c') must all be different. Column %d is a " @@ -3545,7 +3631,7 @@ msgstr "gather() работает для INTSXP, REALSXP, CPLXSXP, но не '%s msgid "gather took %.3fs\n" msgstr "gather() заняло %.3f с\n" -#: gsumm.c:354 gsumm.c:585 gsumm.c:736 gsumm.c:873 gsumm.c:1028 gsumm.c:1122 +#: gsumm.c:354 gsumm.c:585 gsumm.c:736 gsumm.c:874 gsumm.c:1029 gsumm.c:1123 #, c-format msgid "%s is not meaningful for factors." msgstr "%s не имеет смысла для факторов." @@ -3555,8 +3641,8 @@ msgstr "%s не имеет смысла для факторов." msgid "This gsum (narm=%s) took ... " msgstr "Вызов gsum(narm=%s) занимает ... " -#: gsumm.c:359 gsumm.c:593 gsumm.c:741 gsumm.c:876 gsumm.c:928 gsumm.c:1030 -#: gsumm.c:1126 +#: gsumm.c:359 gsumm.c:593 gsumm.c:741 gsumm.c:877 gsumm.c:929 gsumm.c:1031 +#: gsumm.c:1127 #, c-format msgid "nrow [%d] != length(x) [%d] in %s" msgstr "nrow [%d] != length(x) [%d] в %s" @@ -3571,7 +3657,7 @@ msgstr "" "вместить тип 'integer', поэтому результат был автоматически приведен к " "'numeric'." -#: gsumm.c:574 gsumm.c:848 gsumm.c:914 gsumm.c:1099 gsumm.c:1171 +#: gsumm.c:574 gsumm.c:849 gsumm.c:915 gsumm.c:1100 gsumm.c:1172 #, c-format msgid "" "Type '%s' is not supported by GForce %s. Either add the prefix %s or turn " @@ -3620,11 +3706,11 @@ msgstr "" "помощью options(datatable.optimize=1). Скорее всего, Вам нужно 'DT[,lapply(." "SD,min),by=,.SDcols=]'" -#: gsumm.c:845 +#: gsumm.c:846 msgid "Type 'complex' has no well-defined min/max" msgstr "Для комплексных чисел нет максимума или минимума" -#: gsumm.c:871 +#: gsumm.c:872 msgid "" "GForce median can only be applied to columns, not .SD or similar. To find " "median of all items in a list such as .SD, either add the prefix stats::" @@ -3638,7 +3724,7 @@ msgstr "" "с помощью options(datatable.optimize=1). Скорее всего, Вам нужно 'DT[," "lapply(.SD,median),by=,.SDcols=]'" -#: gsumm.c:988 +#: gsumm.c:989 #, c-format msgid "" "Type '%s' is not supported by GForce head/tail/first/last/`[`. Either add " @@ -3649,7 +3735,7 @@ msgstr "" "префикс пространства имен (например, utils::head(.)), либо отключите " "оптимизацию GForce с помощью options(datatable.optimize=1)" -#: gsumm.c:1026 +#: gsumm.c:1027 msgid "" "GForce var/sd can only be applied to columns, not .SD or similar. For the " "full covariance matrix of all items in a list such as .SD, either add the " @@ -3665,7 +3751,7 @@ msgstr "" "Если Вам нужны только диагональные элементы, попробуйте 'DT[,lapply(.SD,var)," "by=,.SDcols=]'." -#: gsumm.c:1120 +#: gsumm.c:1121 msgid "" "GForce prod can only be applied to columns, not .SD or similar. To multiply " "all items in a list such as .SD, either add the prefix base::prod(.SD) or " @@ -3678,17 +3764,17 @@ msgstr "" "options(datatable.optimize=1). Вероятно, Вам нужно 'DT[,lapply(.SD,prod)," "by=,.SDcols=]'" -#: gsumm.c:1129 +#: gsumm.c:1130 #, c-format msgid "Unable to allocate %d * %zu bytes for gprod" msgstr "Не удалось выделить %d * %zu байт для gprod" -#: gsumm.c:1220 shift.c:34 +#: gsumm.c:1221 shift.c:34 #, c-format msgid "Item %d of n is NA" msgstr "Элемент №%d из n является NA" -#: gsumm.c:1277 +#: gsumm.c:1278 #, c-format msgid "" "Type '%s' is not supported by GForce gshift. Either add the namespace prefix " @@ -3699,10 +3785,30 @@ msgstr "" "имен (например, data.table::shift(.)), либо отключите оптимизацию GForce с " "помощью options(datatable.optimize=1)" -#: idatetime.c:126 vecseq.c:13 +#: idatetime.c:124 vecseq.c:14 msgid "x must be an integer vector" msgstr "x должен быть целочисленным вектором" +#: idatetime.c:170 +msgid "" +"The default behavior of week() is changing. Previously ('legacy' mode), week " +"numbers advanced every 7th day of the year. The new 'sequential' mode " +"ensures the first week always has 7 days. For example, as." +"IDate('2023-01-07') returns week 2 in legacy mode but week 1 in sequential " +"mode (week 2 starts on '2023-01-08'). To adopt the new behavior now, set " +"options(datatable.week = 'sequential'). To keep the old results and silence " +"this warning, set options(datatable.week = 'legacy'). See https://github.com/" +"Rdatatable/data.table/issues/2611" +msgstr "" +"Меняется поведение week() по-умолчанию. Раньше (режим 'legacy') номер недели " +"увеличивался каждый седьмой день года. Новый (режим 'sequential') режим " +"гарантирует, что в первой неделе всегда есть 7 дней. Например, " +"week('2023-01-07') == 2 в режиме 'legacy', но будет 1 в режиме 'sequential'. " +"Чтобы применить новый режим сейчас, задайте options(datatable.week = " +"'sequential'). Чтобы воспроизвести старые результаты вычислений и отключить " +"это предупреждение, задайте options(datatable.week = 'legacy'). См. также: " +"https://github.com/Rdatatable/data.table/issues/2611" + #: ijoin.c:128 #, c-format msgid "First pass on calculating lengths in lookup ... done in %8.3f seconds\n" @@ -3735,7 +3841,7 @@ msgstr "" "Последний проход, получение индексов в overlaps() ... готово за %8.3f " "секунд\n" -#: init.c:173 +#: init.c:182 msgid "" "Pointers are %zu bytes, greater than 8. We have not tested on any " "architecture greater than 64bit yet." @@ -3743,71 +3849,66 @@ msgstr "" "Указатели имеют размер %zu байт, что больше 8. Мы ничего не тестировали на " "архитектурах с более чем 64-битным адресным пространством." -#: init.c:187 +#: init.c:196 msgid "... failed. Please forward this message to maintainer('data.table')." msgstr "" "... ошибка. Пожалуйста, перешлите это сообщение по адресу maintainer('data." "table')." -#: init.c:188 +#: init.c:197 #, c-format msgid "Checking NA_INTEGER [%d] == INT_MIN [%d] %s" msgstr "Проверяю NA_INTEGER [%d] == INT_MIN [%d] %s" -#: init.c:189 +#: init.c:198 #, c-format msgid "Checking NA_INTEGER [%d] == NA_LOGICAL [%d] %s" msgstr "Проверяю NA_INTEGER [%d] == NA_LOGICAL [%d] %s" -#: init.c:190 init.c:191 init.c:193 init.c:196 init.c:197 init.c:198 init.c:199 -#: init.c:200 init.c:201 init.c:202 +#: init.c:199 init.c:200 init.c:202 init.c:205 init.c:206 init.c:207 init.c:208 +#: init.c:209 init.c:210 init.c:211 #, c-format msgid "Checking sizeof(%s) [%zu] is %d %s" msgstr "Проверяю sizeof(%s) [%zu] == %d %s" -#: init.c:194 +#: init.c:203 #, c-format msgid "Checking sizeof(pointer) [%zu] is 4 or 8 %s" msgstr "Проверяю sizeof(указатель) [%zu] == 4 или 8 %s" -#: init.c:195 +#: init.c:204 #, c-format msgid "Checking sizeof(SEXP) [%zu] == sizeof(pointer) [%zu] %s" msgstr "Проверяю sizeof(SEXP) [%zu] == sizeof(указатель) [%zu] %s" -#: init.c:205 +#: init.c:214 #, c-format msgid "Checking LENGTH(allocVector(INTSXP,2)) [%d] is 2 %s" msgstr "Проверяю, что LENGTH(allocVector(INTSXP,2)) [%d] == 2 %s" -#: init.c:207 -#, c-format -msgid "Checking TRUELENGTH(allocVector(INTSXP,2)) [%lld] is 0 %s" -msgstr "Проверяю, что TRUELENGTH(allocVector(INTSXP,2)) [%lld] == 0 %s" - -#: init.c:214 +#: init.c:221 #, c-format msgid "Checking memset(&i,0,sizeof(int)); i == (int)0 %s" msgstr "Проверяю: memset(&i,0,sizeof(int)); i == (int)0 %s" -#: init.c:217 +#: init.c:224 #, c-format msgid "Checking memset(&ui, 0, sizeof(unsigned int)); ui == (unsigned int)0 %s" msgstr "" "Проверяю: memset(&ui, 0, sizeof(unsigned int)); ui == (unsigned int)0 %s" -#: init.c:220 +#: init.c:227 #, c-format msgid "Checking memset(&d, 0, sizeof(double)); d == (double)0.0 %s" msgstr "Проверяю: memset(&d, 0, sizeof(double)); d == (double)0.0 %s" -#: init.c:223 +#: init.c:230 #, c-format msgid "Checking memset(&ld, 0, sizeof(long double)); ld == (long double)0.0 %s" msgstr "" "Проверяю: memset(&ld, 0, sizeof(long double)); ld == (long double)0.0 %s" -#: init.c:226 +#: init.c:233 msgid "" "Unlike the very common case, e.g. ASCII, the character '/' is not just " "before '0'." @@ -3815,13 +3916,13 @@ msgstr "" "В отличие от ASCII-совместимых кодировок, в системной кодировке символ '/' " "не располагается сразу перед '0'." -#: init.c:227 +#: init.c:234 msgid "The C expression (uint_fast8_t)('/'-'0')<10 is true. Should be false." msgstr "" "Выражение на языке C (uint_fast8_t)('/'-'0')<10 возвращает истину, а должно " "возвращать ложь." -#: init.c:228 +#: init.c:235 msgid "" "Unlike the very common case, e.g. ASCII, the character ':' is not just after " "'9'." @@ -3829,53 +3930,88 @@ msgstr "" "В отличие от ASCII-совместимых кодировок, в системной кодировке символ ':' " "не располагается сразу после '9'." -#: init.c:229 +#: init.c:236 msgid "The C expression (uint_fast8_t)('9'-':')<10 is true. Should be false." msgstr "" "Выражение на языке C (uint_fast8_t)('9'-':')<10 возвращает истину, а должно " "возвращать ложь." -#: init.c:234 +#: init.c:241 #, c-format msgid "Conversion of NA_INT64 via double failed %!=%" msgstr "" "Не удалось перевести NA_INT64 в double и обратно без потерь: %!" "=%" -#: init.c:238 +#: init.c:245 msgid "NA_INT64_D (negative -0.0) is not == 0.0." msgstr "" "NA_INT64_D (-0.0, отрицательный ноль с плавающей запятой) не равно == 0.0." -#: init.c:239 +#: init.c:246 msgid "NA_INT64_D (negative -0.0) is not ==-0.0." msgstr "" "NA_INT64_D (-0.0, отрицательный ноль с плавающей запятой) не равно == -0.0." -#: init.c:240 +#: init.c:247 msgid "ISNAN(NA_INT64_D) is TRUE but should not be" msgstr "ISNAN(NA_INT64_D) равно TRUE, хотя не должно" -#: init.c:241 +#: init.c:248 msgid "isnan(NA_INT64_D) is TRUE but should not be" msgstr "isnan(NA_INT64_D) равно TRUE, хотя не должно" -#: init.c:275 +#: init.c:282 #, c-format msgid "PRINTNAME(install(\"integer64\")) has returned %s not %s" msgstr "PRINTNAME(install(\"integer64\")) вернула %s вместо %s" -#: init.c:334 +#: init.c:341 msgid "verbose option must be length 1 non-NA logical or integer" msgstr "" "опция \"verbose\" должна быть логическим или целочисленным скаляром, не-NA" -#: init.c:368 +#: init.c:366 msgid ".Last.updated in namespace is not a length 1 integer" msgstr "" ".Last.updated в пространстве имён data.table не является целочисленным " "вектором длины 1" +#: mergelist.c:36 +#, c-format +msgid "'%s' must be a list" +msgstr "'%s' должно быть списком" + +#: mergelist.c:47 +#, c-format +msgid "Element %d of 'l' list is not a data.table." +msgstr "Элемент №%d списка 'l' не является data.table." + +#: mergelist.c:56 +#, c-format +msgid "" +"For copy=FALSE all non-empty tables in 'l' have to have the same number of " +"rows, but l[[%d]] has %d rows which differs from the previous non-zero " +"number of rows (%d)." +msgstr "" +"При copy=FALSE все непустые таблицы в 'l' должны иметь одинаковое количество " +"строк, но l[[%d]] содержит %d строк, что отличается от предыдущего " +"ненулевого количества (%d)." + +#: mergelist.c:62 +msgid "Recycling rows is not yet implemented." +msgstr "Рециркуляция строк пока не реализована." + +#: mergelist.c:92 +#, c-format +msgid "cbindlist: took %.3fs\n" +msgstr "cbindlist: заняло %.3f с\n" + +#: nafill.c:43 nafill.c:65 nafill.c:87 +#, c-format +msgid "%s: took %.3fs\n" +msgstr "%s: заняло %.3f с\n" + #: nafill.c:115 msgid "" "'x' argument is atomic vector, in-place update is supported only for list/" @@ -3889,12 +4025,25 @@ msgid "'x' argument must be numeric type, or list/data.table of numeric types" msgstr "" "Аргумент 'x' должен быть численным или списком/data.table численных векторов" -#: nafill.c:184 -msgid "fill must be a vector of length 1 or a list of length of x" +#: nafill.c:185 +msgid "" +"fill must be a vector of length 1 or a list of length of x. Consider " +"fcoalesce() to specify element-wise replacements." msgstr "" -"'fill' должен быть вектором длины 1 или списком такой же длины, как 'x'" +"'fill' должен быть вектором длины 1 или списком такой же длины, как 'x'. " +"Попробуйте fcoalesce(), чтобы заменять значения поэлементно." -#: negate.c:5 +#: nafill.c:187 +msgid "fill must be a vector of length 1 or a list of length of x." +msgstr "" +"'fill' должен быть вектором длины 1 или списком такой же длины, как 'x'." + +#: nafill.c:237 +#, c-format +msgid "%s: parallel processing of %d column took %.3fs\n" +msgstr "%s: параллельная обработка %d столбца заняла %.3f с\n" + +#: negate.c:6 msgid "not logical or integer vector" msgstr "не является логическим или целочисленным вектором" @@ -3908,7 +4057,7 @@ msgstr "" ">= 1. Удалите все символы, которые не являются цифрами [0-9]. См. ?data." "table::setDTthreads." -#: openmp-utils.c:44 +#: openmp-utils.c:56 #, c-format msgid "" "Ignoring invalid R_DATATABLE_NUM_PROCS_PERCENT==%d. If used it must be an " @@ -3917,24 +4066,24 @@ msgstr "" "Игнорирую неправильное значение R_DATATABLE_NUM_PROCS_PERCENT==%d. Должно " "быть целым между 2 и 100, по умолчанию 50. См. ?setDTtheads." -#: openmp-utils.c:82 +#: openmp-utils.c:100 msgid "" "This installation of data.table has not been compiled with OpenMP support.\n" msgstr "Эта копия data.table не была собрана с поддержкой OpenMP.\n" -#: openmp-utils.c:84 +#: openmp-utils.c:102 #, c-format msgid " OpenMP version (_OPENMP) %d\n" msgstr " версия OpenMP (_OPENMP) %d\n" -#: openmp-utils.c:100 +#: openmp-utils.c:118 #, c-format msgid "" " data.table is using %d threads with throttle==%d. See ?setDTthreads.\n" msgstr "" " data.table использует %d потоков с throttle==%d. См. ?setDTthreads.\n" -#: openmp-utils.c:108 +#: openmp-utils.c:127 msgid "" "restore_after_fork= must be TRUE, FALSE, or NULL (default). " "getDTthreads(verbose=TRUE) reports the current setting.\n" @@ -3942,16 +4091,16 @@ msgstr "" "restore_after_fork= должно быть TRUE, FALSE или NULL (по умолчанию). " "getDTthreads(verbose=TRUE) сообщает о текущих настройках.\n" -#: openmp-utils.c:114 +#: openmp-utils.c:133 msgid "'throttle' must be a single number, non-NA, and >=1" msgstr "'throttle' должно быть числом, не NА и >=1" -#: openmp-utils.c:128 +#: openmp-utils.c:147 msgid "" "threads= must be either NULL or a single number >= 0. See ?setDTthreads." msgstr "threads= должен быть либо NULL, либо числом >= 0. См. ?setDTthreads." -#: programming.c:17 +#: programming.c:18 #, c-format msgid "" "Attempting to substitute '%s' element with object of type '%s' but it has to " @@ -4008,6 +4157,15 @@ msgstr "" "Столбец %d элемента №%d длиной %d несовместим со столбцом %d, длина которого " "составляет %d. \"Повторно используются\" только столбцы длины 1." +#: rbindlist.c:61 +#, c-format +msgid "" +"Column %d ['%s'] of item %d is length 0. This (and %d other like it) has " +"been filled with NA (NULL for list columns) to make each item uniform." +msgstr "" +"Столбец %d ['%s'] элемента №%d был нулевой длины. Он (и %d таких же) был для " +"единообразия заполнен NA (столбцы-списки были заполнены NULL)." + #: rbindlist.c:66 #, c-format msgid "" @@ -4157,10 +4315,11 @@ msgstr "Столбец %d элемента %d: %s" #: reorder.c:22 #, c-format -msgid "Item %d of list is type '%s' which isn't yet supported (SIZEOF=%zu)" +msgid "" +"Item %d of list is type '%s' which isn't yet supported (RTYPE_SIZEOF=%zu)" msgstr "" "Элемент списка №%d имеет тип '%s', который пока не поддерживается " -"(SIZEOF=%zu)" +"(RTYPE_SIZEOF=%zu)" #: reorder.c:24 #, c-format @@ -4175,10 +4334,10 @@ msgstr "" #, c-format msgid "" "reorder accepts vectors but this non-VECSXP is type '%s' which isn't yet " -"supported (SIZEOF=%zu)" +"supported (RTYPE_SIZEOF=%zu)" msgstr "" "reorder() принимает векторы, но этот не-VECSXP вектор имеет тип '%s', " -"который пока не поддерживается (SIZEOF=%zu)" +"который пока не поддерживается (RTYPE_SIZEOF=%zu)" #: reorder.c:39 msgid "order must be an integer vector" @@ -4194,7 +4353,7 @@ msgstr "" "диапазона [1,%d], либо дублирован. Новый порядок должен быть перестановкой 1:" "n без повторения" -#: reorder.c:118 +#: reorder.c:130 msgid "dt passed to setcolorder has no names" msgstr "в функции setcolorder у dt нет имён" @@ -4214,6 +4373,15 @@ msgstr "" "в shift() передан объект типа '%s'. Должен быть вектором, списком, data." "frame или data.table" +#: shift.c:46 +#, c-format +msgid "" +"Filling %s with %s using shift() is unsupported. Please convert fill to %s " +"first." +msgstr "" +"Заполнение значений типа '%s' значениями типа '%s' с использованием shift() " +"не поддерживается. Пожалуйста, сначала приведите последние к %s." + #: snprintf.c:193 snprintf.c:196 snprintf.c:199 snprintf.c:202 snprintf.c:205 #: snprintf.c:208 snprintf.c:211 snprintf.c:214 snprintf.c:217 snprintf.c:221 #: snprintf.c:224 snprintf.c:227 snprintf.c:230 snprintf.c:233 snprintf.c:236 @@ -4328,16 +4496,16 @@ msgid "" "Input argument 'n' to 'uniqlengths' must be an integer vector of length 1" msgstr "Входной аргумент 'n' функции 'uniqlengths' должен быть целым числом" -#: uniqlist.c:170 uniqlist.c:267 +#: uniqlist.c:174 uniqlist.c:271 msgid "cols must be an integer vector with length >= 1" msgstr "cols должен быть целочисленным вектором длины >= 1" -#: uniqlist.c:174 +#: uniqlist.c:178 #, c-format msgid "Item %d of cols is %d which is outside the range [1,length(l)=%d]" msgstr "cols[%d] = %d, что вне допустимого диапазона [1,length(l)=%d]" -#: uniqlist.c:177 +#: uniqlist.c:181 #, c-format msgid "" "All elements to input list must be of same length. Element [%d] has length " @@ -4346,20 +4514,20 @@ msgstr "" "Все элементы входного списка должны быть одинаковой длины. Элемент [%d] дан " "длины %, что не равно длине первого элемента, %." -#: uniqlist.c:352 +#: uniqlist.c:356 msgid "x is not a logical vector" msgstr "x не является логическим вектором" -#: utils.c:95 +#: utils.c:96 #, c-format msgid "Unsupported type '%s' passed to allNA()" msgstr "Функции allNA() передано значение неподдерживаемого типа '%s'" -#: utils.c:115 +#: utils.c:116 msgid "'x' argument must be data.table compatible" msgstr "аргумент 'x' должен быть совместимым с data.table" -#: utils.c:139 +#: utils.c:140 msgid "" "argument specifying columns is type 'double' and one or more items in it are " "not whole integers" @@ -4367,66 +4535,85 @@ msgstr "" "номера строк переданы в виде чисел с плавающей запятой, и как минимум одно " "из них не является целым" -#: utils.c:145 +#: utils.c:146 #, c-format msgid "" "argument specifying columns received non-existing column(s): cols[%d]=%d" msgstr "передан несуществующий столбец: cols[%d]='%d'" -#: utils.c:152 +#: utils.c:153 msgid "'x' argument data.table has no names" msgstr "'x', переданный data.table(), не имеет имён" -#: utils.c:158 +#: utils.c:159 #, c-format msgid "" "argument specifying columns received non-existing column(s): cols[%d]='%s'" msgstr "передан несуществующий столбец: cols[%d]='%s'" -#: utils.c:162 +#: utils.c:163 msgid "argument specifying columns must be character or numeric" msgstr "переданный список столбцов должен быть вектором строк или чисел" -#: utils.c:165 +#: utils.c:166 msgid "argument specifying columns received duplicate column(s)" msgstr "в переданном списке столбцов нашлись дубликаты" -#: utils.c:383 +#: utils.c:307 +#, c-format +msgid "Found and copied %d column with a shared memory address\n" +msgstr "Найден и скопирован %d столбец с общим адресом в памяти\n" + +#: utils.c:389 msgid "'x' is not atomic" msgstr "'x' не является атомарным" -#: utils.c:385 +#: utils.c:391 msgid "'x' must not be matrix or array" msgstr "'x' не должен быть матрицей или многомерным массивом" -#: utils.c:387 +#: utils.c:393 msgid "input must not be matrix or array" msgstr "входной аргумент не должен быть матрицей или многомерным массивом" -#: utils.c:391 +#: utils.c:397 #, c-format msgid "copy=false and input already of expected type and class %s[%s]\n" msgstr "copy=false и входные данные и так нужного типа и класса %s[%s]\n" -#: utils.c:398 +#: utils.c:404 #, c-format msgid "Coercing %s[%s] into %s[%s]\n" msgstr "Преобразую %s[%s] в %s[%s]\n" -#: utils.c:414 +#: utils.c:420 #, c-format msgid "zlib header files were not found when data.table was compiled" msgstr "При компиляции data.table не были найдены заголовочные файлы zlib" -#: vecseq.c:14 +#: utils.c:546 +msgid "'x' should not be data.frame or data.table." +msgstr "'x' не должен быть data.frame или data.table." + +#: utils.c:548 +#, c-format +msgid "%s must be TRUE or FALSE." +msgstr "%s должно быть TRUE или FALSE." + +#: utils.c:629 +#, c-format +msgid "Type '%s' is not supported by frev" +msgstr "frev не поддерживает тип '%s'" + +#: vecseq.c:16 msgid "len must be an integer vector" msgstr "'len' должна быть целочисленным вектором" -#: vecseq.c:15 +#: vecseq.c:18 msgid "x and len must be the same length" msgstr "'x' и 'len' должны быть одинаковой длины" -#: vecseq.c:21 +#: vecseq.c:24 msgid "" "Join results in more than 2^31 rows (internal vecseq reached physical " "limit). Very likely misspecified join. Check for duplicate key values in i " @@ -4444,15 +4631,15 @@ msgstr "" "2^31 rows (internal vecseq reached physical limit)» — в ЧаВо, Wiki, Stack " "Overflow, а также трекере ошибок в data.table." -#: vecseq.c:25 +#: vecseq.c:29 msgid "clamp must be a double vector length 1" msgstr "'clamp' должно быть действительным числом (вектор длины 1)" -#: vecseq.c:27 +#: vecseq.c:32 msgid "clamp must be positive" msgstr "'clamp' должно быть положительным" -#: vecseq.c:28 +#: vecseq.c:34 #, c-format msgid "" "Join results in %d rows; more than %d = nrow(x)+nrow(i). Check for duplicate " @@ -4504,6 +4691,133 @@ msgstr "" "Для dim.data.table() в качестве входного аргумента нужна data.table (т.е. " "список), а досталось значение типа %s" +#~ msgid "" +#~ "data.table is NULL; malformed. A null data.table should be an empty list. " +#~ "typeof() should always return 'list' for data.table." +#~ msgstr "" +#~ "data.table является NULL, что недопустимо. Пустая таблица data.table " +#~ "должна быть пустым списком. typeof() всегда должна возвращать 'list' для " +#~ "объектов data.table." + +#~ msgid "" +#~ "Coerced j from numeric to integer. Please pass integer for efficiency; e." +#~ "g., 2L rather than 2" +#~ msgstr "" +#~ "Принудительное преобразование j из числового в целое. Для повышения " +#~ "эффективности передавайте целое число; например, 2L, а не 2" + +#~ msgid "x is integer64 but lower and/or upper are not." +#~ msgstr "x является integer64, а lower и/или upper - нет." + +#, c-format +#~ msgid "icols[%d]=%d outside range [1,length(i)=%d]" +#~ msgstr "icols[%d]=%d вне допустимого диапазона [1, length(i)=%d]" + +#, c-format +#~ msgid "xcols[%d]=%d outside range [1,length(x)=%d]" +#~ msgstr "xcols[%d]=%d вне допустимого диапазона [1, length(x)=%d]" + +#~ msgid "roll is character but not 'nearest'" +#~ msgstr "аргумент 'roll' является строкой, но не \"nearest\"" + +#~ msgid "" +#~ "measure.vars is a list with length=1, which as long documented should " +#~ "return integer indices in the 'variable' column, but currently returns " +#~ "character column names. To increase consistency in the next release, we " +#~ "plan to change 'variable' to integer, so users who were relying on this " +#~ "behavior should change measure.vars=list('col_name') (output variable is " +#~ "column name now, but will become column index/integer) to measure." +#~ "vars='col_name' (variable is column name before and after the planned " +#~ "change)." +#~ msgstr "" +#~ "measure.vars является списком длины 1. Согласно документации, в этой " +#~ "ситуации в столбце «variable» должны быть возвращены целочисленные номера " +#~ "столбцов, однако сейчас функция возвращает имена столбцов текстом. Чтобы " +#~ "исправить это недоразумение, в будущей версии «variable» станет " +#~ "целочисленным столбцом. Если Вам нужны имена столбцов, вместо measure." +#~ "vars=list('имя_столбца') (что будет возвращать номера столбцов) " +#~ "используйте measure.vars='имя_столбца' (что и сейчас, и в будущем будет " +#~ "возвращать их имена)." + +#~ msgid "" +#~ " No \\n exists in the file at all, so single \\r (if any) will be taken " +#~ "as one line ending. This is unusual but will happen normally when there " +#~ "is no \\r either; e.g. a single line missing its end of line.\n" +#~ msgstr "" +#~ " В файле вообще нет \\n, поэтому одиночный \\r (если он есть) будет " +#~ "воспринят как конец одной строки. Это необычно, но может произойти, когда " +#~ "\\r тоже нет; например, файл из одной строки, не завершённой маркером " +#~ "конца строки.\n" + +#, c-format +#~ msgid "" +#~ "Found and resolved improper quoting out-of-sample. First healed line " +#~ "%: <<%s>>. If the fields are not quoted (e.g. field separator " +#~ "does not appear within any field), try quote=\"\" to avoid this warning." +#~ msgstr "" +#~ "Найдены и исправлены неправильные кавычки вне первичной выборки. Первая " +#~ "исправленная строка %: <<%s>>. Если поля не заключены в кавычки " +#~ "(например, разделитель полей не появляется ни в одном из полей), " +#~ "попробуйте использовать quote=\"\", чтобы избежать этого предупреждения." + +#, c-format +#~ msgid "" +#~ "%s: hasNA=FALSE used but NA (or other non-finite) value(s) are present in " +#~ "input, use default hasNA=NA to avoid this warning" +#~ msgstr "" +#~ "%s: передано hasNA=FALSE, но во входных данных присутствуют NA (или " +#~ "другие не-конечные значения). Используйте значение по умолчанию hasNA=NA, " +#~ "чтобы избежать этого предупреждения" + +#, c-format +#~ msgid "" +#~ "%s: NA (or other non-finite) value(s) are present in input, skip non-NA " +#~ "attempt and run with extra care for NAs\n" +#~ msgstr "" +#~ "%s: во входных данных присутствует NA (или другие не-конечные значения), " +#~ "пропускаю попытку работать без NA и сразу перехожу в осторожный режим\n" + +#, c-format +#~ msgid "" +#~ "%s: NA (or other non-finite) value(s) are present in input, na.rm was " +#~ "FALSE so in 'exact' implementation NAs were handled already, no need to " +#~ "re-run\n" +#~ msgstr "" +#~ "%s: на входе присутствует NA (или другие не-конечные значения), na.rm был " +#~ "FALSE, поэтому \"точная\" реализация уже обработала NA, перезапуск не " +#~ "нужен\n" + +#, c-format +#~ msgid "%s: results from provided FUN are not length 1" +#~ msgstr "%s: возвращаемое значение из данной FUN не длины 1" + +#, c-format +#~ msgid "" +#~ "%s: results from provided FUN are not of type double, coercion from " +#~ "integer or logical will be applied on each iteration\n" +#~ msgstr "" +#~ "%s: возвращаемое данной FUN значение не типа double; на каждой итерации " +#~ "буду выполнять приведение типов из целочисленного или логического\n" + +#, c-format +#~ msgid "%s: results from provided FUN are not of type double" +#~ msgstr "%s: возвращаемое данной FUN значение не типа double" + +#~ msgid "n must be integer" +#~ msgstr "n должно быть целочисленным" + +#, c-format +#~ msgid "%s: Unable to allocate memory for cumsum" +#~ msgstr "%s: Не удалось выделить память для накапливаемой суммы" + +#, c-format +#~ msgid "%s: Unable to allocate memory for cum NA counter" +#~ msgstr "%s: Не удалось выделить память для кумулятивного счётчика NA" + +#, c-format +#~ msgid "Checking TRUELENGTH(allocVector(INTSXP,2)) [%lld] is 0 %s" +#~ msgstr "Проверяю, что TRUELENGTH(allocVector(INTSXP,2)) [%lld] == 0 %s" + #, c-format #~ msgid "savetl_init checks failed (%d %d %p %p)" #~ msgstr "неудачная проверка в savetl_init (%d %d %p %p)" @@ -4679,14 +4993,6 @@ msgstr "" #~ msgid "Second argument to setlistelt must a length 1 integer vector" #~ msgstr "Второй аргумент setlistelt() должен быть одним целым числом" -#, c-format -#~ msgid "Added %d new column%s initialized with all-NA\n" -#~ msgstr "Добавлено %d новых столбцов%.0s, инициализированных всеми NA\n" - -#, c-format -#~ msgid "Found and copied %d column%s with a shared memory address\n" -#~ msgstr "Найдено и скопировано %d столбцов%.0s с общим адресом в памяти\n" - #~ msgid "Internal error: finalizer hasn't received an ExternalPtr" #~ msgstr "Внутренняя ошибка: финализатор не получил ExternalPtr" @@ -4800,3 +5106,17 @@ msgstr "" #, c-format #~ msgid "Internal error: copyAsPlain returning ALTREP for type '%s'" #~ msgstr "Внутренняя ошибка: copyAsPlain() вернула ALTREP для типа '%s'" + +#, c-format +#~ msgid "" +#~ "RHS for item %d has been duplicated because MAYBE_REFERENCED==%d " +#~ "MAYBE_SHARED==%d, but then is being plonked. length(values)==%d; " +#~ "length(cols)==%d)\n" +#~ msgstr "" +#~ "В правой части элемент №%d был скопирован, поскольку MAYBE_REFERENCED==%d " +#~ "MAYBE_SHARED==%d, но потом присваивается напрямую. " +#~ "length(правая_часть)==%d; length(левая_часть)==%d\n" + +#, c-format +#~ msgid "Can't write gzip header error: %d" +#~ msgstr "Не удалось записать заголовок gzip: %d" diff --git a/vignettes/ru/datatable-intro.Rmd b/vignettes/ru/datatable-intro.Rmd index 4fe1427f70..6bbc740b92 100644 --- a/vignettes/ru/datatable-intro.Rmd +++ b/vignettes/ru/datatable-intro.Rmd @@ -885,14 +885,19 @@ flights[, `:=`(makeup = dep_delay - arr_delay)] makeup.models <- flights[, .(fit = list(lm(makeup ~ distance))), by = .(month)] makeup.models[, .(coefdist = coef(fit[[1]])[2], rsq = summary(fit[[1]])$r.squared), by = .(month)] ``` + С использованием data.frame требуется более сложный код, чтобы добиться такого же результата. + ```{r} setDF(flights) flights.split <- split(flights, f = flights$month) makeup.models.list <- lapply(flights.split, function(df) c(month = df$month[1], fit = list(lm(makeup ~ distance, data = df)))) makeup.models.df <- do.call(rbind, makeup.models.list) -sapply(makeup.models.df[, "fit"], function(model) c(coefdist = coef(model)[2], rsq = summary(model)$r.squared)) |> t() |> data.frame() +data.frame(t(sapply( + makeup.models.df[, "fit"], + function(model) c(coefdist = coef(model)[2L], rsq = summary(model)$r.squared) +))) setDT(flights) ``` diff --git a/vignettes/ru/datatable-reshape.Rmd b/vignettes/ru/datatable-reshape.Rmd index fa58d65dc6..c68a1a545e 100644 --- a/vignettes/ru/datatable-reshape.Rmd +++ b/vignettes/ru/datatable-reshape.Rmd @@ -9,6 +9,10 @@ vignette: > \usepackage[utf8]{inputenc} --- +```{r echo=FALSE, file='../_translation_links.R'} +``` +`r .write.translation.links("Данное руководство также доступно на следующих языках: %s")` + ```{r, echo = FALSE, message = FALSE} require(data.table) knitr::opts_chunk$set( @@ -20,10 +24,6 @@ knitr::opts_chunk$set( .old.th = setDTthreads(1) ``` -```{r echo=FALSE, file='../_translation_links.R'} -``` -`r .write.translation.links("Данное руководство также доступно на следующих языках: %s")` - В этом руководстве рассматривается стандартное использование функций изменения формы данных `melt` (из широкой в длинную) и `dcast` (из длинной в широкую) для класса *data.table*, а также **новые расширенные возможности** @@ -175,20 +175,20 @@ dcast(DT.m1, family_id ~ ., fun.aggregate = function(x) sum(!is.na(x)), value.va простым способом. Например, рассмотрим `data.table`, показанную ниже: ```{r} -s2 <- "family_id age_mother dob_child1 dob_child2 dob_child3 gender_child1 gender_child2 gender_child3 -1 30 1998-11-26 2000-01-29 NA 1 2 NA -2 27 1996-06-22 NA NA 2 NA NA -3 26 2002-07-11 2004-04-05 2007-09-02 2 2 1 -4 32 2004-10-10 2009-08-27 2012-07-21 1 1 1 -5 29 2000-12-05 2005-02-28 NA 2 1 NA" +s2 <- "family_id age_mother name_child1 name_child2 name_child3 gender_child1 gender_child2 gender_child3 +1 30 Ben Anna NA 1 2 NA +2 27 Tom NA NA 2 NA NA +3 26 Lia Sam Amy 2 2 1 +4 32 Max Zoe Joe 1 1 1 +5 29 Dan Eva NA 2 1 NA" DT <- fread(s2) DT ## 1 = female, 2 = male ``` -Предположим, Вы хотите объединить (`melt`) все столбцы `dob` вместе, а также -столбцы `gender` вместе. Используя описанные выше функции, можно сделать -примерно следующее: +Предположим, Вы хотите объединить (`melt`) все столбцы `name` вместе, а +также столбцы `gender` вместе. Используя описанные выше функции, можно +сделать примерно следующее: ```{r} DT.m1 = melt(DT, id.vars = c("family_id", "age_mother")) @@ -196,15 +196,14 @@ DT.m1[, c("variable", "child") := tstrsplit(variable, "_", fixed = TRUE)] DT.c1 = dcast(DT.m1, family_id + age_mother + child ~ variable, value.var = "value") DT.c1 -str(DT.c1) ## столбец gender теперь класса IDate! +str(DT.c1) ## столбец gender теперь класса character! ``` #### Проблемы -1. Мы хотели объединить все столбцы типа `dob` и `gender` - соответственно. Вместо этого мы объединяем их *все*, а затем снова - разделяем. Думаю, легко заметить, что это довольно запутанный путь (и - неэффективный). +1. Мы хотели объединить все столбцы типа `name` и `gender` попарно. Вместо + этого мы объединяем их *все*, а затем снова разделяем. Думаю, легко + заметить, что это довольно запутанный путь (и неэффективный). В качестве аналогии представьте, что у вас есть шкаф с четырьмя полками для одежды, и вы хотите сложить одежду с полок 1 и 2 вместе (в 1), а также 3 и 4 вместе (в 3). Мы делаем примерно следующее: объединяем всю одежду в одну кучу, а затем рассовываем ее обратно по полкам 1 и 3! @@ -239,9 +238,9 @@ str(DT.c1) ## столбец gender теперь класса IDate! вместе. ```{r} -colA = paste0("dob_child", 1:3) +colA = paste0("name_child", 1:3) colB = paste0("gender_child", 1:3) -DT.m2 = melt(DT, measure.vars = list(colA, colB), value.name = c("dob", "gender")) +DT.m2 = melt(DT, measure.vars = list(colA, colB), value.name = c("name", "gender")) DT.m2 str(DT.m2) ## тип столбца сохранён @@ -259,7 +258,7 @@ str(DT.m2) ## тип столбца сохранён `patterns()`. Приведенную выше операцию можно переписать так: ```{r} -DT.m2 = melt(DT, measure.vars = patterns("^dob", "^gender"), value.name = c("dob", "gender")) +DT.m2 = melt(DT, measure = patterns("^name", "^gender"), value.name = c("name", "gender")) DT.m2 ``` @@ -365,7 +364,7 @@ melt(who, measure.vars = measure( ```{r} ## новая функция 'dcast' - несколько value.vars -DT.c2 = dcast(DT.m2, family_id + age_mother ~ variable, value.var = c("dob", "gender")) +DT.c2 = dcast(DT.m2, family_id + age_mother ~ variable, value.var = c("name", "gender")) DT.c2 ```