From d7ea4f72a2520118e85d1a754c9d97c308faad99 Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Sun, 29 Dec 2019 01:57:57 +0800 Subject: [PATCH 1/4] covering trivial translations from among the leftovers --- R/setkey.R | 2 +- inst/po/en@quot/LC_MESSAGES/R-data.table.mo | Bin 89456 -> 89364 bytes inst/po/en@quot/LC_MESSAGES/data.table.mo | Bin 140270 -> 139448 bytes inst/po/zh_CN/LC_MESSAGES/R-data.table.mo | Bin 76167 -> 76525 bytes inst/po/zh_CN/LC_MESSAGES/data.table.mo | Bin 126390 -> 126881 bytes po/R-data.table.pot | 5 +- po/R-zh_CN.po | 29 +-- po/data.table.pot | 58 +---- po/zh_CN.po | 252 +++++++++----------- src/fread.c | 4 +- src/gsumm.c | 20 +- 11 files changed, 146 insertions(+), 224 deletions(-) diff --git a/R/setkey.R b/R/setkey.R index 5caefcf68f..ecbd26cf54 100644 --- a/R/setkey.R +++ b/R/setkey.R @@ -251,7 +251,7 @@ setorder = function(x, ..., na.last=FALSE) # na.last=FALSE here, to be consistent with data.table's default # as opposed to DT[order(.)] where na.last=TRUE, to be consistent with base { - if (!is.data.frame(x)) stop("x must be a data.frame or data.table.") + if (!is.data.frame(x)) stop("x must be a data.frame or data.table") cols = substitute(list(...))[-1L] if (identical(as.character(cols),"NULL")) return(x) if (length(cols)) { diff --git a/inst/po/en@quot/LC_MESSAGES/R-data.table.mo b/inst/po/en@quot/LC_MESSAGES/R-data.table.mo index 858b4ec1beeb784d490a164ef8fff229e5a28e29..2d3935418ae26a713307e4da580a1a99087034b1 100644 GIT binary patch delta 9562 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 ZzjU|y&n)al=lS6N9WOe2yny4u{{!54Y`p*g delta 19360 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 X9shr>s<I+ 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 P1x{AkkxS2qn)d$}Zyg;! delta 10714 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 Km)`VBc>e>b=ZtOu delta 17478 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 QdCS|DGI7#9FR%B102wbj`2YX_ diff --git a/po/R-data.table.pot b/po/R-data.table.pot index caf1686ff2..b22d4f4be4 100644 --- a/po/R-data.table.pot +++ b/po/R-data.table.pot @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.12.9\n" -"POT-Creation-Date: 2019-12-22 23:59\n" +"POT-Creation-Date: 2019-12-29 01:32\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1549,9 +1549,6 @@ msgstr "" msgid "New parallel sort has not been implemented for vectors containing NA values so far. Using one thread." msgstr "" -msgid "x must be a data.frame or data.table." -msgstr "" - msgid "x must be a data.frame or data.table" msgstr "" diff --git a/po/R-zh_CN.po b/po/R-zh_CN.po index 643348d63e..e8c8afc835 100644 --- a/po/R-zh_CN.po +++ b/po/R-zh_CN.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.12.5\n" -"POT-Creation-Date: 2019-12-22 23:59\n" +"POT-Creation-Date: 2019-12-29 01:32\n" "PO-Revision-Date: 2019-11-16 18:37+0800\n" "Last-Translator: Xianying Tan \n" "Language-Team: Mandarin\n" @@ -153,7 +153,7 @@ msgid "; expecting length 2." msgstr ";其长度应为 2。" msgid "c" -msgstr "" +msgstr "c" msgid "Perhaps you meant %s?" msgstr "或许你想用的是 %s?" @@ -165,7 +165,7 @@ msgid "the second element should be the upper bound(s)." msgstr "第二个元素应为上界。" msgid "x." -msgstr "" +msgstr "x." msgid "is type" msgstr "的类型为" @@ -174,7 +174,7 @@ msgid "which is not supported by data.table join" msgstr ",该类型无法用于 data.table 的联接" msgid "i." -msgstr "" +msgstr "i." msgid "Attempting roll join on factor column when joining x." msgstr "试图滚动联接(roll join)因子类型(factor)的列,这发生于将 x." @@ -564,7 +564,7 @@ msgid "" msgstr "" msgid "%s!=%s" -msgstr "" +msgstr "%s!=%s" msgid "; using the most \"last\" names" msgstr "" @@ -1061,7 +1061,7 @@ msgstr "" "(length):频率(frequency))是:" msgid "%s:%d" -msgstr "" +msgstr "%s:%d" msgid "The first entry with fewer than" msgstr "第一个长度少于" @@ -1139,7 +1139,7 @@ msgid ". Only allowed operators are" msgstr "。只有这些操作符是有效的" msgid "." -msgstr "" +msgstr "." msgid "There is no" msgstr "" @@ -1498,10 +1498,10 @@ msgid "' has size 0. Returning a NULL" msgstr "' 的大小为0. 返回一个NULL" msgid "data.table" -msgstr "" +msgstr "data.table" msgid "data.frame" -msgstr "" +msgstr "data.frame" msgid "" "To read gz and bz2 files directly, fread() requires 'R.utils' package which " @@ -1583,7 +1583,7 @@ msgid "Encountered <" msgstr "遇到 <" msgid "..." -msgstr "" +msgstr "..." msgid "> at the first" msgstr "> 在第一个" @@ -1627,10 +1627,10 @@ msgid "" msgstr "" msgid "s" -msgstr "" +msgstr "s" msgid "[" -msgstr "" +msgstr "[" msgid "]); the proceeding assumes the user input was" msgstr "" @@ -1674,7 +1674,7 @@ msgid "warning" msgstr "" msgid ":" -msgstr "" +msgstr ":" msgid "so the column has been left as type '" msgstr "" @@ -2125,9 +2125,6 @@ msgid "" "so far. Using one thread." msgstr "" -msgid "x must be a data.frame or data.table." -msgstr "" - msgid "x must be a data.frame or data.table" msgstr "" diff --git a/po/data.table.pot b/po/data.table.pot index 5041a04c94..52394b48d8 100644 --- a/po/data.table.pot +++ b/po/data.table.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.12.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-23 00:00+0800\n" +"POT-Creation-Date: 2019-12-29 01:51+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1715,14 +1715,6 @@ msgstr "" msgid " 0/1 column will be read as %s\n" msgstr "" -#: fread.c:1158 -msgid "boolean" -msgstr "" - -#: fread.c:1158 -msgid "integer" -msgstr "" - #: fread.c:1166 #, c-format msgid "sep == quote ('%c') is not allowed" @@ -2159,14 +2151,6 @@ msgid "" "first and only row\n" msgstr "" -#: fread.c:1774 -msgid "true" -msgstr "" - -#: fread.c:1774 -msgid "false" -msgstr "" - #: fread.c:1774 msgid " no" msgstr "" @@ -3218,9 +3202,10 @@ msgstr "" msgid "This gsum took (narm=%s) ... " msgstr "" -#: gsumm.c:350 gsumm.c:606 +#: gsumm.c:350 gsumm.c:606 gsumm.c:693 gsumm.c:812 gsumm.c:955 gsumm.c:1005 +#: gsumm.c:1085 gsumm.c:1176 gsumm.c:1266 gsumm.c:1409 #, c-format -msgid "nrow [%d] != length(x) [%d] in gsum" +msgid "nrow [%d] != length(x) [%d] in %s" msgstr "" #: gsumm.c:404 @@ -3291,11 +3276,6 @@ msgstr "" msgid "min is not meaningful for factors." msgstr "" -#: gsumm.c:693 -#, c-format -msgid "nrow [%d] != length(x) [%d] in gmin" -msgstr "" - #: gsumm.c:717 gsumm.c:850 msgid "" "No non-missing values found in at least one group. Coercing to numeric type " @@ -3337,11 +3317,6 @@ msgstr "" msgid "max is not meaningful for factors." msgstr "" -#: gsumm.c:812 -#, c-format -msgid "nrow [%d] != length(x) [%d] in gmax" -msgstr "" - #: gsumm.c:930 msgid "" "No non-missing values found in at least one group. Returning '-Inf' for such " @@ -3372,11 +3347,6 @@ msgstr "" msgid "median is not meaningful for factors." msgstr "" -#: gsumm.c:955 -#, c-format -msgid "nrow [%d] != length(x) [%d] in gmedian" -msgstr "" - #: gsumm.c:992 #, c-format msgid "" @@ -3385,11 +3355,6 @@ msgid "" "optimize=1)" msgstr "" -#: gsumm.c:1005 -#, c-format -msgid "nrow [%d] != length(x) [%d] in gtail" -msgstr "" - #: gsumm.c:1073 #, c-format msgid "" @@ -3397,11 +3362,6 @@ msgid "" "tail(.) or turn off GForce optimization using options(datatable.optimize=1)" msgstr "" -#: gsumm.c:1085 gsumm.c:1176 -#, c-format -msgid "nrow [%d] != length(x) [%d] in ghead" -msgstr "" - #: gsumm.c:1153 #, c-format msgid "" @@ -3450,11 +3410,6 @@ msgstr "" msgid "var/sd is not meaningful for factors." msgstr "" -#: gsumm.c:1266 -#, c-format -msgid "nrow [%d] != length(x) [%d] in gvar" -msgstr "" - #: gsumm.c:1382 #, c-format msgid "" @@ -3481,11 +3436,6 @@ msgstr "" msgid "prod is not meaningful for factors." msgstr "" -#: gsumm.c:1409 -#, c-format -msgid "nrow [%d] != length(x) [%d] in gprod" -msgstr "" - #: gsumm.c:1411 #, c-format msgid "Unable to allocate %d * %d bytes for gprod" diff --git a/po/zh_CN.po b/po/zh_CN.po index b478dcdba0..a681d8d38c 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.12.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-11 11:44+0800\n" +"POT-Creation-Date: 2019-12-29 01:51+0800\n" "PO-Revision-Date: 2019-11-18 00:26-04\n" "Last-Translator: Yuhang Chen \n" "Language-Team: Mandarin\n" @@ -1015,7 +1015,7 @@ msgstr "length(iSD)[%d] != length(jiscols)[%d]" #: dogroups.c:92 #, c-format msgid "length(xSD)[%d] != length(xjiscols)[%d]" -msgstr "" +msgstr "length(xSD)[%d] != length(xjiscols)[%d]" #: dogroups.c:155 dogroups.c:184 msgid "Internal error. Type of column should have been checked by now" @@ -1125,7 +1125,7 @@ msgstr "dogroups: 从 %d 列增加至 %d 列\n" #: dogroups.c:387 #, c-format msgid "dogroups: length(ans)[%d]!=ngrpcols[%d]+njval[%d]" -msgstr "" +msgstr "dogroups: length(ans)[%d]!=ngrpcols[%d]+njval[%d]" #: dogroups.c:420 #, c-format @@ -1621,7 +1621,7 @@ msgstr "内部错误:列有不支持类型,未被前置识别" #: forder.c:722 #, c-format msgid "nradix=%d\n" -msgstr "" +msgstr "nradix=%d\n" #: forder.c:728 #, c-format @@ -1641,7 +1641,7 @@ msgstr "定时块 %2d%s = %8.3f %8d\n" #: forder.c:797 #, c-format msgid "stat[%03d]==%20\n" -msgstr "" +msgstr "stat[%03d]==%20\n" #: forder.c:1053 #, c-format @@ -1815,7 +1815,7 @@ msgstr "" #: fread.c:1149 msgid "]\n" -msgstr "" +msgstr "]\n" #: fread.c:1151 msgid " One or more of the NAstrings looks like a number.\n" @@ -1845,14 +1845,6 @@ msgstr "显示进程 %d\n" msgid " 0/1 column will be read as %s\n" msgstr " 0/1 列被读取为 %s\n" -#: fread.c:1158 -msgid "boolean" -msgstr "" - -#: fread.c:1158 -msgid "integer" -msgstr "" - #: fread.c:1166 #, c-format msgid "sep == quote ('%c') is not allowed" @@ -2203,7 +2195,7 @@ msgstr "" #: fread.c:1650 msgid "jump0size==0\n" -msgstr "" +msgstr "jump0size==0\n" #: fread.c:1651 #, c-format @@ -2299,7 +2291,8 @@ msgid "" "Detected %d column names but the data has %d columns. Filling rows " "automatically. Set fill=TRUE explicitly to avoid this warning.\n" msgstr "" -"检测到%d个列名,但数据共有%d列。已经自动填充。设置参数fill=TRUE以屏蔽此警告。\n" +"检测到%d个列名,但数据共有%d列。已经自动填充。设置参数fill=TRUE以屏蔽此警" +"告。\n" #: fread.c:1754 #, c-format @@ -2313,17 +2306,9 @@ msgid "" "first and only row\n" msgstr " 参数'header' 被设置为%s, 因为唯一的一行包含 %s 个字段\n" -#: fread.c:1774 -msgid "true" -msgstr "" - -#: fread.c:1774 -msgid "false" -msgstr "" - #: fread.c:1774 msgid " no" -msgstr "" +msgstr "0" #: fread.c:1777 msgid "" @@ -3103,7 +3088,7 @@ msgstr "x 目前必须是双精度 ('double') 类型的向量" #: fsort.c:122 #, c-format msgid "nth=%d, nBatch=%d\n" -msgstr "" +msgstr "nth=%d, nBatch=%d\n" #: fsort.c:156 #, c-format @@ -3117,7 +3102,7 @@ msgstr "" #: fsort.c:170 #, c-format msgid "maxBit=%d; MSBNbits=%d; shift=%d; MSBsize=%d\n" -msgstr "" +msgstr "maxBit=%d; MSBNbits=%d; shift=%d; MSBsize=%d\n" #: fsort.c:173 msgid "Unable to allocate working memory" @@ -3132,7 +3117,7 @@ msgstr "" #: fsort.c:231 msgid "Internal error: counts[nBatch-1][MSBsize-1] != length(x)" -msgstr "" +msgstr "内部错误:counts[nBatch-1][MSBsize-1] != length(x)" #: fsort.c:247 msgid "Top 5 MSB counts: " @@ -3141,11 +3126,11 @@ msgstr "" #: fsort.c:247 #, c-format msgid "% " -msgstr "" +msgstr "% " #: fsort.c:247 fwrite.c:702 fwrite.c:966 msgid "\n" -msgstr "" +msgstr "\n" #: fsort.c:248 #, c-format @@ -3160,12 +3145,12 @@ msgstr "" #: fsort.c:309 #, c-format msgid "%d: %.3f (%4.1f%%)\n" -msgstr "" +msgstr "%d: %.3f (%4.1f%%)\n" #: fwrite.c:613 #, c-format msgid "buffMB=%d outside [1,1024]" -msgstr "" +msgstr "buffMB=%d 在 [1,1024] 外" #: fwrite.c:620 #, c-format @@ -3180,11 +3165,11 @@ msgstr "" #: fwrite.c:625 fwrite.c:627 fwrite.c:629 #, c-format msgid "%d " -msgstr "" +msgstr "%d " #: fwrite.c:628 msgid "... " -msgstr "" +msgstr "... " #: fwrite.c:631 #, c-format @@ -3247,7 +3232,7 @@ msgstr "" #: fwrite.c:765 fwrite.c:773 fwrite.c:972 #, c-format msgid "%s: '%s'" -msgstr "" +msgstr "%s: '%s'" #: fwrite.c:770 #, c-format @@ -3420,7 +3405,7 @@ msgstr "gather 已支持 INTSXP,REALSXP 和 CPLXSXP,但不支持 '%s'" #: gsumm.c:336 gsumm.c:568 #, c-format msgid "%.3fs\n" -msgstr "" +msgstr "%.3fs\n" #: gsumm.c:345 msgid "sum is not meaningful for factors." @@ -3431,10 +3416,11 @@ msgstr "因子的和没有意义。" msgid "This gsum took (narm=%s) ... " msgstr "gsum 占用了 (narm=%s) ..." -#: gsumm.c:350 gsumm.c:606 +#: gsumm.c:350 gsumm.c:606 gsumm.c:693 gsumm.c:812 gsumm.c:955 gsumm.c:1005 +#: gsumm.c:1085 gsumm.c:1176 gsumm.c:1266 gsumm.c:1409 #, c-format -msgid "nrow [%d] != length(x) [%d] in gsum" -msgstr "gsum 中 nrow [%d] != length(x) [%d]" +msgid "nrow [%d] != length(x) [%d] in %s" +msgstr "%3$s 中 nrow [%1$d] != length(x) [%2$d]" #: gsumm.c:404 msgid "" @@ -3516,11 +3502,6 @@ msgstr "" msgid "min is not meaningful for factors." msgstr "因子的最小值没有意义。" -#: gsumm.c:693 -#, c-format -msgid "nrow [%d] != length(x) [%d] in gmin" -msgstr "gmin 中 nrow [%d] != length(x) [%d]" - #: gsumm.c:717 gsumm.c:850 msgid "" "No non-missing values found in at least one group. Coercing to numeric type " @@ -3563,20 +3544,15 @@ msgid "" "turn off GForce optimization using options(datatable.optimize=1). More " "likely, you may be looking for 'DT[,lapply(.SD,max),by=,.SDcols=]'" msgstr "" -"GForce的max函数只能在应用在数据列上,而不能在.SD或者其他对象上。为了找到" -"某个list(如.SD)里所有元素的最大值,请使用 base::max(.SD) 或者" -"通过设置 options(datatable.optimize=1) 来关掉GForce优化。更有可能的是," -"你真正想要使用的命令是 'DT[,lapply(.SD,max),by=,.SDcols=]'" +"GForce的max函数只能在应用在数据列上,而不能在.SD或者其他对象上。为了找到某个" +"list(如.SD)里所有元素的最大值,请使用 base::max(.SD) 或者通过设置 " +"options(datatable.optimize=1) 来关掉GForce优化。更有可能的是,你真正想要使用" +"的命令是 'DT[,lapply(.SD,max),by=,.SDcols=]'" #: gsumm.c:807 msgid "max is not meaningful for factors." msgstr "因子的最大值是没有意义的" -#: gsumm.c:812 -#, c-format -msgid "nrow [%d] != length(x) [%d] in gmax" -msgstr "gmax检测到行数[%d]不等于x的长度[%d]" - #: gsumm.c:930 msgid "" "No non-missing values found in at least one group. Returning '-Inf' for such " @@ -3594,8 +3570,8 @@ msgid "" "Type '%s' not supported by GForce max (gmax). Either add the prefix base::" "max(.) or turn off GForce optimization using options(datatable.optimize=1)" msgstr "" -"GForce的max (gmax)函数不支持类型 '%s'。请使用 base::max(.) 或者设置" -" options(datatable.optimize=1) 来关掉GForce优化" +"GForce的max (gmax)函数不支持类型 '%s'。请使用 base::max(.) 或者设置 " +"options(datatable.optimize=1) 来关掉GForce优化" #: gsumm.c:951 msgid "" @@ -3605,20 +3581,15 @@ msgid "" "optimize=1). More likely, you may be looking for 'DT[,lapply(.SD,median)," "by=,.SDcols=]'" msgstr "" -"GForce的median函数只能在应用在数据列上,而不能在.SD或者其他对象上。为了找到" -"某个list(如.SD)里所有元素的最大值,请使用 stats::median(.SD) 或者" -"通过设置 options(datatable.optimize=1) 来关掉GForce优化。更有可能的是," -"你真正想要使用的命令是 'DT[,lapply(.SD,median),by=,.SDcols=]'" +"GForce的median函数只能在应用在数据列上,而不能在.SD或者其他对象上。为了找到某" +"个list(如.SD)里所有元素的最大值,请使用 stats::median(.SD) 或者通过设置 " +"options(datatable.optimize=1) 来关掉GForce优化。更有可能的是,你真正想要使用" +"的命令是 'DT[,lapply(.SD,median),by=,.SDcols=]'" #: gsumm.c:952 msgid "median is not meaningful for factors." msgstr "因子的中位值没有意义。" -#: gsumm.c:955 -#, c-format -msgid "nrow [%d] != length(x) [%d] in gmedian" -msgstr "gmedian函数检测到行数[%d]不等于x的长度[%d]" - #: gsumm.c:992 #, c-format msgid "" @@ -3626,13 +3597,8 @@ msgid "" "stats::median(.) or turn off GForce optimization using options(datatable." "optimize=1)" msgstr "" -"GForce函数median (gmedian)不支持类型'%s'。请使用 stats::tail(.) 或者设置" -" options(datatable.optimize=1) 来关掉GForce优化。" - -#: gsumm.c:1005 -#, c-format -msgid "nrow [%d] != length(x) [%d] in gtail" -msgstr "gtail函数检测到行数[%d]不等于x的长度[%d]" +"GForce函数median (gmedian)不支持类型'%s'。请使用 stats::tail(.) 或者设置 " +"options(datatable.optimize=1) 来关掉GForce优化。" #: gsumm.c:1073 #, c-format @@ -3640,13 +3606,8 @@ msgid "" "Type '%s' not supported by GForce tail (gtail). Either add the prefix utils::" "tail(.) or turn off GForce optimization using options(datatable.optimize=1)" msgstr "" -"GForce函数tail (gtail)不支持类型'%s'。请使用 utils::tail(.) 或者设置" -" options(datatable.optimize=1) 来关掉GForce优化。" - -#: gsumm.c:1085 gsumm.c:1176 -#, c-format -msgid "nrow [%d] != length(x) [%d] in ghead" -msgstr "ghead函数检测到行数[%d]不等于x的长度[%d]" +"GForce函数tail (gtail)不支持类型'%s'。请使用 utils::tail(.) 或者设置 " +"options(datatable.optimize=1) 来关掉GForce优化。" #: gsumm.c:1153 #, c-format @@ -3654,8 +3615,8 @@ msgid "" "Type '%s' not supported by GForce head (ghead). Either add the prefix utils::" "head(.) or turn off GForce optimization using options(datatable.optimize=1)" msgstr "" -"GForce函数head (ghead)不支持类型'%s'。请使用 utils::head(.) 或者设置" -" options(datatable.optimize=1) 来关掉GForce优化。" +"GForce函数head (ghead)不支持类型'%s'。请使用 utils::head(.) 或者设置 " +"options(datatable.optimize=1) 来关掉GForce优化。" #: gsumm.c:1161 msgid "" @@ -3698,11 +3659,6 @@ msgstr "" msgid "var/sd is not meaningful for factors." msgstr "" -#: gsumm.c:1266 -#, c-format -msgid "nrow [%d] != length(x) [%d] in gvar" -msgstr "" - #: gsumm.c:1382 #, c-format msgid "" @@ -3734,11 +3690,6 @@ msgstr "" msgid "prod is not meaningful for factors." msgstr "prod对于因子是没有意义的" -#: gsumm.c:1409 -#, c-format -msgid "nrow [%d] != length(x) [%d] in gprod" -msgstr "在gprod中,nrow [%d] != length(x) [%d]" - #: gsumm.c:1411 #, c-format msgid "Unable to allocate %d * %d bytes for gprod" @@ -4160,8 +4111,8 @@ msgid "" "Column %d of item %d is length %d inconsistent with column %d which is " "length %d. Only length-1 columns are recycled." msgstr "" -"第 %2$d 项的第 %1$d 列长度为 %3$d,与第 %4$d 列的长度 %5$d 不一致。" -"只有长度为 1 的列会被循环补齐。" +"第 %2$d 项的第 %1$d 列长度为 %3$d,与第 %4$d 列的长度 %5$d 不一致。只有长度" +"为 1 的列会被循环补齐。" #: rbindlist.c:58 #, c-format @@ -4169,29 +4120,26 @@ msgid "" "Column %d ['%s'] of item %d is length 0. This (and %d other%s like it) has " "been filled with NA (NULL for list columns) to make each item uniform." msgstr "" -"第%d列['%s'](子项%d的)的长度为0,它(以及%d其他%s类似的)被填充为NA" -"(等同与列表列的NULL值)使得每一个子项统一。" +"第%d列['%s'](子项%d的)的长度为0,它(以及%d其他%s类似的)被填充为NA(等同与列表" +"列的NULL值)使得每一个子项统一。" #: rbindlist.c:62 #, c-format msgid "" "Total rows in the list is % which is larger than the maximum number " "of rows, currently %d" -msgstr "" -"列表的总行数为 %,比当前行数的最大值 %d 大。" +msgstr "列表的总行数为 %,比当前行数的最大值 %d 大。" #: rbindlist.c:63 msgid "use.names=TRUE but no item of input list has any names" -msgstr "" -"use.names=TRUE,但是输入列表的各项均没有名字。" +msgstr "use.names=TRUE,但是输入列表的各项均没有名字。" #: rbindlist.c:71 #, c-format msgid "" "Failed to allocate upper bound of % unique column names " "[sum(lapply(l,ncol))]" -msgstr "" -"无法为 % 个独有列名 [sum(lapply(l,ncol))] 的上界分配内存。" +msgstr "无法为 % 个独有列名 [sum(lapply(l,ncol))] 的上界分配内存。" #: rbindlist.c:102 #, c-format @@ -4208,7 +4156,8 @@ msgid "" "Internal error: usenames==NA but fill=TRUE. usenames should have been set to " "TRUE earlier with warning." msgstr "" -"内部错误:usenames==NA 但是 fill=TRUE。usenames应该已在警告之前被设置为了 TRUE。" +"内部错误:usenames==NA 但是 fill=TRUE。usenames应该已在警告之前被设置为了 " +"TRUE。" #: rbindlist.c:196 msgid "" @@ -4217,7 +4166,8 @@ msgid "" "for options to control this message." msgstr "" "use.names='check'(从v1.12.2版本开始的默认值)发出该消息并为了向后兼容按照" -"use.names=FALSE执行。有关控制此消息的选项,请参见 v1.12.2 更新信息中的第 5 项。" +"use.names=FALSE执行。有关控制此消息的选项,请参见 v1.12.2 更新信息中的第 5 " +"项。" #: rbindlist.c:206 msgid "" @@ -4232,15 +4182,15 @@ msgid "" "with NA (NULL for list columns), or use.names=FALSE to ignore column names.%s" msgstr "" "第 %3$d 项的第 %1$d 列 ['%2$s'] 在第 %4$d 项中并不存在。请使用 fill=TRUE 以用" -"NA (或 NULL 若该列为列表(list))填充,或使用 use.names=FALSE 以忽略列名。%5$s" +"NA (或 NULL 若该列为列表(list))填充,或使用 use.names=FALSE 以忽略列" +"名。%5$s" #: rbindlist.c:218 #, c-format msgid "" "Internal error: usenames==NA but an out-of-order name has been found in an " "item with no names or the first item. [%d]" -msgstr "" -"内部错误:usenames==NA 但某项或第一项中存在一个无序的名字。 [%d]" +msgstr "内部错误:usenames==NA 但某项或第一项中存在一个无序的名字。 [%d]" #: rbindlist.c:219 #, c-format @@ -4249,16 +4199,16 @@ msgid "" "names=TRUE to match by column name, or use.names=FALSE to ignore column " "names.%s" msgstr "" -"第 %3$d 项的第 %1$d 列 ['%2$s'] 出现在第 %5$d 项的第 %4$d 列。设置" -"use.names=TRUE 以按列名匹配,或使用 use.names=FALSE 以忽视列名。%6$s" +"第 %3$d 项的第 %1$d 列 ['%2$s'] 出现在第 %5$d 项的第 %4$d 列。设置use." +"names=TRUE 以按列名匹配,或使用 use.names=FALSE 以忽视列名。%6$s" #: rbindlist.c:228 msgid "" "options()$datatable.rbindlist.check is set but is not a single string. See " "news item 5 in v1.12.2." msgstr "" -"options()$datatable.rbindlist.check 已设置但并非单个字符串。参见 v1.12.2" -"更新信息中的第 5 项。" +"options()$datatable.rbindlist.check 已设置但并非单个字符串。参见 v1.12.2更新" +"信息中的第 5 项。" #: rbindlist.c:235 #, c-format @@ -4266,14 +4216,16 @@ msgid "" "options()$datatable.rbindlist.check=='%s' which is not " "'message'|'warning'|'error'|'none'. See news item 5 in v1.12.2." msgstr "" -"options()$datatable.rbindlist.check=='%s' 不是" -"'message'|'warning'|'error'|'none'。参见 v1.12.2 更新信息中的第 5 项。" +"options()$datatable.rbindlist.check=='%s' 不" +"是'message'|'warning'|'error'|'none'。参见 v1.12.2 更新信息中的第 5 项。" #: rbindlist.c:298 #, c-format msgid "" "Column %d of item %d has type 'factor' but has no levels; i.e. malformed." -msgstr "第%2$d 项的第 %1$d 列为因子('factor')类型却没有因子水平(levels),格式错误。" +msgstr "" +"第%2$d 项的第 %1$d 列为因子('factor')类型却没有因子水平(levels),格式错" +"误。" #: rbindlist.c:316 #, c-format @@ -4305,9 +4257,9 @@ msgid "" "factor levels should be an ordered subset of the first longest. A regular " "factor will be created for this column." msgstr "" -"第 %2$d 项的第 %1$d 列为一有序因子(ordered factor),但第 %3$d 个水平(level)['%4$s']" -"在第 %6$d 项第 %5$d 列的有序因子水平中缺失。每组有序" -"因子水平应为其中最长有序因子水平的子集。该列将被创建为一非有序因子列。" +"第 %2$d 项的第 %1$d 列为一有序因子(ordered factor),但第 %3$d 个水平" +"(level)['%4$s']在第 %6$d 项第 %5$d 列的有序因子水平中缺失。每组有序因子水平" +"应为其中最长有序因子水平的子集。该列将被创建为一非有序因子列。" #: rbindlist.c:388 #, c-format @@ -4316,9 +4268,9 @@ msgid "" "'%s'<'%s' in the ordered levels from column %d of item %d. A regular factor " "will be created for this column due to this ambiguity." msgstr "" -"第 %2$d 项的第 %1$d 列中有序因子水平 '%3$s'<'%4$s'。但" -"在第 %8$d 项第 %7$d 列的有序因子水平中却 '%5$s'<'%6$s'。由于" -"这种模糊性,该列将被创建为一非有序因子列。" +"第 %2$d 项的第 %1$d 列中有序因子水平 '%3$s'<'%4$s'。但在第 %8$d 项第 %7$d 列" +"的有序因子水平中却 '%5$s'<'%6$s'。由于这种模糊性,该列将被创建为一非有序因子" +"列。" #: rbindlist.c:433 #, c-format @@ -4590,8 +4542,9 @@ msgstr "列的%d项是%d,它超出l的所在区间[1,length(l)=%d]" msgid "" "All elements to input list must be of same length. Element [%d] has length " "% != length of first element = %." -msgstr "列表的所有元素必须是同样的长度。元素[%d]的长度%不等于" -"第一个元素的长度%" +msgstr "" +"列表的所有元素必须是同样的长度。元素[%d]的长度%不等于第一个元素的长" +"度%" #: uniqlist.c:255 msgid "Internal error: nestedid was not passed a list length 1 or more" @@ -4672,8 +4625,8 @@ msgstr "内部错误:copyAsPlain()不支持类型为'%s'的参数" msgid "" "Internal error: type '%s' passed to copyAsPlain() but it seems " "copyMostAttrib() retains ALTREP attributes" -msgstr "内部错误:copyAsPlain()中参数为'%s'类型,但" -"copyMostAttrib() 保留了ALTREP属性" +msgstr "" +"内部错误:copyAsPlain()中参数为'%s'类型,但copyMostAttrib() 保留了ALTREP属性" #: utils.c:312 #, c-format @@ -4701,11 +4654,10 @@ msgid "" "Otherwise, please search for this error message in the FAQ, Wiki, Stack " "Overflow and data.table issue tracker for advice." msgstr "" -"连接后将生成超过2^31行(已达内部的vecseq的物理" -"极限)。这很可能是一个错误的连接操作。请检查i中是否存在重复的键值(key values)," -"导致x中对应的组反复连接。若确定重复的连接可授受,可尝试 by=.EACHI " -"以使j中的语句仅在每个 i 中对应的组运行以避免大量的内存分配。" -"否则,请在常见问题(FAQ)、维基(Wiki)、Stack " +"连接后将生成超过2^31行(已达内部的vecseq的物理极限)。这很可能是一个错误的连" +"接操作。请检查i中是否存在重复的键值(key values),导致x中对应的组反复连接。" +"若确定重复的连接可授受,可尝试 by=.EACHI 以使j中的语句仅在每个 i 中对应的组运" +"行以避免大量的内存分配。否则,请在常见问题(FAQ)、维基(Wiki)、Stack " "Overflow 和 data.table GitHub Issue中寻求帮助。" #: vecseq.c:25 @@ -4725,12 +4677,12 @@ msgid "" "large allocation. If you are sure you wish to proceed, rerun with allow." "cartesian=TRUE. Otherwise, please search for this error message in the FAQ, " "Wiki, Stack Overflow and data.table issue tracker for advice." -msgstr "连接后生成%d行;多于%d = nrow(x)+nrow(i)。请检查" -"i中是否存在重复的键值(key values),导致x中对应的组反复连接。" -"若确定重复的连接可授受,可尝试 by=.EACHI 以使j中的语句仅在每个 i 中对应的组运行" -"以避免大量的内存分配。如果确认要继续,请设置" -"cartesian=TRUE 并重新运行。否则,请在常见问题(FAQ)、" -"维基(Wiki)、Stack Overflow 和 data.table GitHub Issue中寻求帮助。" +msgstr "" +"连接后生成%d行;多于%d = nrow(x)+nrow(i)。请检查i中是否存在重复的键值(key " +"values),导致x中对应的组反复连接。若确定重复的连接可授受,可尝试 by=.EACHI " +"以使j中的语句仅在每个 i 中对应的组运行以避免大量的内存分配。如果确认要继续," +"请设置cartesian=TRUE 并重新运行。否则,请在常见问题(FAQ)、维基(Wiki)、" +"Stack Overflow 和 data.table GitHub Issue中寻求帮助。" #: wrappers.c:11 msgid "Attribute name must be a character vector of length 1" @@ -4741,8 +4693,9 @@ msgid "" "Internal structure doesn't seem to be a list. Can't set class to be 'data." "table' or 'data.frame'. Use 'as.data.table()' or 'as.data.frame()' methods " "instead." -msgstr "内部结构并不非一个列表。无法将目标的类型设置为一个data.table" -"或data.frame。请使用'as.data.table()' 或 'as.data.frame()'." +msgstr "" +"内部结构并不非一个列表。无法将目标的类型设置为一个data.table或data.frame。请" +"使用'as.data.table()' 或 'as.data.frame()'." #: wrappers.c:66 msgid "First argument to setlistelt must be a list()" @@ -4766,5 +4719,30 @@ msgstr "x并非一个VECSXP" msgid "" "dim.data.table expects a data.table as input (which is a list), but seems to " "be of type %s" -msgstr "dim.data.table的参数必须为一个data.table(实质为一个列表),但输入参数" -"为%s类型" +msgstr "" +"dim.data.table的参数必须为一个data.table(实质为一个列表),但输入参数为%s类" +"型" + +#, c-format +#~ msgid "nrow [%d] != length(x) [%d] in gmin" +#~ msgstr "gmin 中 nrow [%d] != length(x) [%d]" + +#, c-format +#~ msgid "nrow [%d] != length(x) [%d] in gmax" +#~ msgstr "gmax检测到行数[%d]不等于x的长度[%d]" + +#, c-format +#~ msgid "nrow [%d] != length(x) [%d] in gmedian" +#~ msgstr "gmedian函数检测到行数[%d]不等于x的长度[%d]" + +#, c-format +#~ msgid "nrow [%d] != length(x) [%d] in gtail" +#~ msgstr "gtail函数检测到行数[%d]不等于x的长度[%d]" + +#, c-format +#~ msgid "nrow [%d] != length(x) [%d] in ghead" +#~ msgstr "ghead函数检测到行数[%d]不等于x的长度[%d]" + +#, c-format +#~ msgid "nrow [%d] != length(x) [%d] in gprod" +#~ msgstr "在gprod中,nrow [%d] != length(x) [%d]" diff --git a/src/fread.c b/src/fread.c index bac355b913..69082c5d95 100644 --- a/src/fread.c +++ b/src/fread.c @@ -1155,7 +1155,7 @@ int freadMain(freadMainArgs _args) { if (args.skipNrow >= 0) DTPRINT(_(" skip num lines = %"PRId64"\n"), (int64_t)args.skipNrow); if (args.skipString) DTPRINT(_(" skip to string = <<%s>>\n"), args.skipString); DTPRINT(_(" show progress = %d\n"), args.showProgress); - DTPRINT(_(" 0/1 column will be read as %s\n"), args.logical01? _("boolean") : _("integer")); + DTPRINT(_(" 0/1 column will be read as %s\n"), args.logical01? "boolean" : "integer"); } stripWhite = args.stripWhite; @@ -1771,7 +1771,7 @@ int freadMain(freadMainArgs _args) { } if (verbose) { if (sampleLines==0) { - DTPRINT(_(" 'header' determined to be %s because there are%s number fields in the first and only row\n"), args.header?_("true"):_("false"), args.header?_(" no"):""); + DTPRINT(_(" 'header' determined to be %s because there are%s number fields in the first and only row\n"), args.header?"TRUE":"FALSE", args.header?_(" no"):""); } else { if (args.header) DTPRINT(_(" 'header' determined to be true because all columns are type string and a better guess is not possible\n")); diff --git a/src/gsumm.c b/src/gsumm.c index e106ddc336..bc4ca5dda5 100644 --- a/src/gsumm.c +++ b/src/gsumm.c @@ -347,7 +347,7 @@ SEXP gsum(SEXP x, SEXP narmArg, SEXP warnOverflowArg) double started = wallclock(); const bool verbose=GetVerbose(); if (verbose) Rprintf(_("This gsum took (narm=%s) ... "), narm?"TRUE":"FALSE"); - if (nrow != n) error(_("nrow [%d] != length(x) [%d] in gsum"), nrow, n); + if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gsum"); bool anyNA=false; SEXP ans; switch(TYPEOF(x)) { @@ -603,7 +603,7 @@ SEXP gmean(SEXP x, SEXP narm) } // na.rm=TRUE. Similar to gsum, but we need to count the non-NA as well for the divisor const int n = (irowslen == -1) ? length(x) : irowslen; - if (nrow != n) error(_("nrow [%d] != length(x) [%d] in gsum"), nrow, n); + if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gsum"); long double *s = calloc(ngrp, sizeof(long double)), *si=NULL; // s = sum; si = sum imaginary just for complex if (!s) error(_("Unable to allocate %d * %d bytes for sum in gmean na.rm=TRUE"), ngrp, sizeof(long double)); @@ -690,7 +690,7 @@ SEXP gmin(SEXP x, SEXP narm) int n = (irowslen == -1) ? length(x) : irowslen; //clock_t start = clock(); SEXP ans; - if (nrow != n) error(_("nrow [%d] != length(x) [%d] in gmin"), nrow, n); + if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gmin"); int protecti=0; switch(TYPEOF(x)) { case LGLSXP: case INTSXP: @@ -809,7 +809,7 @@ SEXP gmax(SEXP x, SEXP narm) int n = (irowslen == -1) ? length(x) : irowslen; //clock_t start = clock(); SEXP ans; - if (nrow != n) error(_("nrow [%d] != length(x) [%d] in gmax"), nrow, n); + if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gmax"); // TODO rework gmax in the same way as gmin and remove this *update char *update = (char *)R_alloc(ngrp, sizeof(char)); @@ -952,7 +952,7 @@ SEXP gmedian(SEXP x, SEXP narmArg) { if (inherits(x, "factor")) error(_("median is not meaningful for factors.")); const bool isInt64 = INHERITS(x, char_integer64), narm = LOGICAL(narmArg)[0]; int n = (irowslen == -1) ? length(x) : irowslen; - if (nrow != n) error(_("nrow [%d] != length(x) [%d] in gmedian"), nrow, n); + if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gmedian"); SEXP ans = PROTECT(allocVector(REALSXP, ngrp)); double *ansd = REAL(ans); switch(TYPEOF(x)) { @@ -1002,7 +1002,7 @@ SEXP glast(SEXP x) { R_len_t i,k; int n = (irowslen == -1) ? length(x) : irowslen; SEXP ans; - if (nrow != n) error(_("nrow [%d] != length(x) [%d] in gtail"), nrow, n); + if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gtail"); switch(TYPEOF(x)) { case LGLSXP: { const int *ix = LOGICAL(x); @@ -1082,7 +1082,7 @@ SEXP gfirst(SEXP x) { R_len_t i,k; int n = (irowslen == -1) ? length(x) : irowslen; SEXP ans; - if (nrow != n) error(_("nrow [%d] != length(x) [%d] in ghead"), nrow, n); + if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "ghead"); switch(TYPEOF(x)) { case LGLSXP: { int const *ix = LOGICAL(x); @@ -1173,7 +1173,7 @@ SEXP gnthvalue(SEXP x, SEXP valArg) { R_len_t i,k, val=INTEGER(valArg)[0]; int n = (irowslen == -1) ? length(x) : irowslen; SEXP ans; - if (nrow != n) error(_("nrow [%d] != length(x) [%d] in ghead"), nrow, n); + if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "ghead"); switch(TYPEOF(x)) { case LGLSXP: { const int *ix = LOGICAL(x); @@ -1263,7 +1263,7 @@ SEXP gvarsd1(SEXP x, SEXP narm, Rboolean isSD) if (inherits(x, "factor")) error(_("var/sd is not meaningful for factors.")); long double m, s, v; R_len_t i, j, ix, thisgrpsize = 0, n = (irowslen == -1) ? length(x) : irowslen; - if (nrow != n) error(_("nrow [%d] != length(x) [%d] in gvar"), nrow, n); + if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gvar"); SEXP sub, ans = PROTECT(allocVector(REALSXP, ngrp)); Rboolean ans_na; switch(TYPEOF(x)) { @@ -1406,7 +1406,7 @@ SEXP gprod(SEXP x, SEXP narm) int n = (irowslen == -1) ? length(x) : irowslen; //clock_t start = clock(); SEXP ans; - if (nrow != n) error(_("nrow [%d] != length(x) [%d] in gprod"), nrow, n); + if (nrow != n) error(_("nrow [%d] != length(x) [%d] in %s"), nrow, n, "gprod"); long double *s = malloc(ngrp * sizeof(long double)); if (!s) error(_("Unable to allocate %d * %d bytes for gprod"), ngrp, sizeof(long double)); for (i=0; i Date: Sun, 29 Dec 2019 10:40:05 +0800 Subject: [PATCH 2/4] progress on paring down leftover translations --- R/data.table.R | 4 +- R/devel.R | 2 +- R/last.R | 4 +- R/setkey.R | 2 +- inst/po/en@quot/LC_MESSAGES/R-data.table.mo | Bin 89364 -> 89056 bytes inst/po/zh_CN/LC_MESSAGES/R-data.table.mo | Bin 79140 -> 79553 bytes inst/po/zh_CN/LC_MESSAGES/data.table.mo | Bin 132772 -> 133009 bytes po/R-data.table.pot | 27 ++------- po/R-zh_CN.po | 58 +++++++++----------- po/zh_CN.po | 6 +- 10 files changed, 40 insertions(+), 63 deletions(-) diff --git a/R/data.table.R b/R/data.table.R index c05e7d0074..8cde3e3aee 100644 --- a/R/data.table.R +++ b/R/data.table.R @@ -820,7 +820,7 @@ replace_dot_alias = function(e) { if (!typeof(byval[[jj]]) %chin% ORDERING_TYPES) stop("column or expression ",jj," of 'by' or 'keyby' is type ",typeof(byval[[jj]]),". Do not quote column names. Usage: DT[,sum(colC),by=list(colA,month(colB))]") } tt = vapply_1i(byval,length) - if (any(tt!=xnrow)) stop("The items in the 'by' or 'keyby' list are length (",paste(tt,collapse=","),"). Each must be length ", xnrow, "; the same length as there are rows in x (after subsetting if i is provided).") + if (any(tt!=xnrow)) stop(gettextf("The items in the 'by' or 'keyby' list are length(s) (%s). Each must be length %d; the same length as there are rows in x (after subsetting if i is provided).", paste(tt, collapse=","), xnrow, domain='R-data.table')) if (is.null(bynames)) bynames = rep.int("",length(byval)) if (length(idx <- which(!nzchar(bynames))) && !bynull) { # TODO: improve this and unify auto-naming of jsub and bysub @@ -874,7 +874,7 @@ replace_dot_alias = function(e) { # attempt to auto-name unnamed columns for (jj in which(nm=="")) { thisq = q[[jj + 1L]] - if (missing(thisq)) stop("Item ", jj, " of the .() or list() passed to j is missing") #3507 + if (missing(thisq)) stop(gettextf("Item %d of the .() or list() passed to j is missing", jj, domain="R-data.table")) #3507 if (is.name(thisq)) nm[jj] = drop_dot(thisq) # TO DO: if call to a[1] for example, then call it 'a' too } diff --git a/R/devel.R b/R/devel.R index c82c62f136..8db74e47ce 100644 --- a/R/devel.R +++ b/R/devel.R @@ -13,7 +13,7 @@ dcf.repo = function(pkg, repo, field, type){ idx = file(file.path(contrib.url(repo, type=type),"PACKAGES")) on.exit(close(idx)) dcf = read.dcf(idx, fields=c("Package",field)) - if (!pkg %in% dcf[,"Package"]) stop("There is no ", pkg, " package in provided repository.") + if (!pkg %in% dcf[,"Package"]) stop(gettextf("There is no package %s in provided repository.", pkg, domain='R-data.table')) dcf[dcf[,"Package"]==pkg, field][[1L]] } diff --git a/R/last.R b/R/last.R index 8b26b92850..abf4050b40 100644 --- a/R/last.R +++ b/R/last.R @@ -35,7 +35,7 @@ last = function(x, n=1L, ...) { } } else { if (!requireNamespace("xts", quietly=TRUE)) - stop("'xts' class passed to data.table::last function but 'xts' is not available, you should have 'xts' installed already") # nocov + stop(gettextf("'xts' class passed to %s function but 'xts' is not available, you should have 'xts' installed already", "data.table::last", domain="R-data.table")) # nocov if (verbose) cat("last: using xts::last: is.xts(x)\n") xts::last(x, n=n, ...) @@ -76,7 +76,7 @@ first = function(x, n=1L, ...) { } } else { if (!requireNamespace("xts", quietly=TRUE)) - stop("'xts' class passed to data.table::first function but 'xts' is not available, you should have 'xts' installed already") # nocov + stop(gettextf("'xts' class passed to %s function but 'xts' is not available, you should have 'xts' installed already", "data.table::first", domain="R-data.table")) # nocov if (verbose) cat("first: using xts::first: is.xts(x)\n") xts::first(x, n=n, ...) diff --git a/R/setkey.R b/R/setkey.R index ecbd26cf54..24c44631d5 100644 --- a/R/setkey.R +++ b/R/setkey.R @@ -357,7 +357,7 @@ CJ = function(..., sorted = TRUE, unique = FALSE) } } nrow = prod( vapply_1i(l, length) ) # lengths(l) will work from R 3.2.0 - if (nrow > .Machine$integer.max) stop("Cross product of elements provided to CJ() would result in ",nrow," rows which exceeds .Machine$integer.max == ",.Machine$integer.max) + if (nrow > .Machine$integer.max) stop(gettextf("Cross product of elements provided to CJ() would result in %d rows which exceeds .Machine$integer.max == %d", nrow.Machine$integer.max, domain='R-data.table')) l = .Call(Ccj, l) setDT(l) l = setalloccol(l) # a tiny bit wasteful to over-allocate a fixed join table (column slots only), doing it anyway for consistency since diff --git a/inst/po/en@quot/LC_MESSAGES/R-data.table.mo b/inst/po/en@quot/LC_MESSAGES/R-data.table.mo index 2d3935418ae26a713307e4da580a1a99087034b1..b2d1ba618f0c1f1b639c9bb8b0fe9010408bbe07 100644 GIT binary patch delta 12787 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 diff --git a/inst/po/zh_CN/LC_MESSAGES/R-data.table.mo b/inst/po/zh_CN/LC_MESSAGES/R-data.table.mo index 0bd497da59c12671ffa6bef2def6081a4da4a348..b82b6cda18d20afb4b387a620e4bccaaae90dcb1 100644 GIT binary patch delta 11747 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 delta 11426 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 E4{6*6>i_@% diff --git a/po/R-data.table.pot b/po/R-data.table.pot index b22d4f4be4..ac23ef4561 100644 --- a/po/R-data.table.pot +++ b/po/R-data.table.pot @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.12.9\n" -"POT-Creation-Date: 2019-12-29 01:32\n" +"POT-Creation-Date: 2019-12-29 10:26\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -403,13 +403,7 @@ msgstr "" msgid ". Do not quote column names. Usage: DT[,sum(colC),by=list(colA,month(colB))]" msgstr "" -msgid "The items in the 'by' or 'keyby' list are length (" -msgstr "" - -msgid "). Each must be length" -msgstr "" - -msgid "; the same length as there are rows in x (after subsetting if i is provided)." +msgid "The items in the 'by' or 'keyby' list are length(s) (%s). Each must be length %d; the same length as there are rows in x (after subsetting if i is provided)." msgstr "" msgid "Internal error: drop_dot passed" @@ -418,7 +412,7 @@ msgstr "" msgid "items" msgstr "" -msgid "of the .() or list() passed to j is missing" +msgid "Item %d of the .() or list() passed to j is missing" msgstr "" msgid "Different branches of j expression produced different auto-named columns:" @@ -853,10 +847,7 @@ msgstr "" msgid "." msgstr "" -msgid "There is no" -msgstr "" - -msgid "package in provided repository." +msgid "There is no package %s in provided repository." msgstr "" msgid "'fromLast' must be TRUE or FALSE" @@ -1324,10 +1315,7 @@ msgstr "" msgid "Using integer64 class columns require to have 'bit64' package installed." msgstr "" -msgid "'xts' class passed to data.table::last function but 'xts' is not available, you should have 'xts' installed already" -msgstr "" - -msgid "'xts' class passed to data.table::first function but 'xts' is not available, you should have 'xts' installed already" +msgid "'xts' class passed to %s function but 'xts' is not available, you should have 'xts' installed already" msgstr "" msgid "Argument 'sort' should be logical TRUE/FALSE" @@ -1570,10 +1558,7 @@ msgstr "" msgid "is non-atomic, which can't be sorted; try setting sorted = FALSE" msgstr "" -msgid "Cross product of elements provided to CJ() would result in" -msgstr "" - -msgid "rows which exceeds .Machine$integer.max ==" +msgid "Cross product of elements provided to CJ() would result in %d rows which exceeds .Machine$integer.max == %d" msgstr "" msgid "x and y must both be data.tables" diff --git a/po/R-zh_CN.po b/po/R-zh_CN.po index 461ac28ae9..9975eec219 100644 --- a/po/R-zh_CN.po +++ b/po/R-zh_CN.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.12.5\n" -"POT-Creation-Date: 2019-12-29 01:32\n" +"POT-Creation-Date: 2019-12-29 10:26\n" "PO-Revision-Date: 2019-11-16 18:37+0800\n" "Last-Translator: Xianying Tan \n" "Language-Team: Mandarin\n" @@ -540,14 +540,10 @@ msgid "" ". Do not quote column names. Usage: DT[,sum(colC),by=list(colA,month(colB))]" msgstr "。请勿引用列名。用法:DT[,sum(colC),by=list(colA,month(colB))]" -msgid "The items in the 'by' or 'keyby' list are length (" -msgstr "'by' 或 'keyby' 列表中的元素长度为(" - -msgid "). Each must be length" -msgstr "" - msgid "" -"; the same length as there are rows in x (after subsetting if i is provided)." +"The items in the 'by' or 'keyby' list are length(s) (%s). Each must be " +"length %d; the same length as there are rows in x (after subsetting if i is " +"provided)." msgstr "" msgid "Internal error: drop_dot passed" @@ -556,7 +552,7 @@ msgstr "" msgid "items" msgstr "" -msgid "of the .() or list() passed to j is missing" +msgid "Item %d of the .() or list() passed to j is missing" msgstr "" msgid "" @@ -1141,10 +1137,7 @@ msgstr "。只有这些操作符是有效的" msgid "." msgstr "." -msgid "There is no" -msgstr "" - -msgid "package in provided repository." +msgid "There is no package %s in provided repository." msgstr "" msgid "'fromLast' must be TRUE or FALSE" @@ -1168,7 +1161,7 @@ msgid "" msgstr "" msgid ") or as.data.table(" -msgstr "" +msgstr ") 或 as.data.table(" msgid "" "). If you intend to use a reshape2::dcast, try installing that package " @@ -1205,13 +1198,13 @@ msgid "" msgstr "" msgid "'data' must be a data.table." -msgstr "" +msgstr "'data' 必须为 data.table" msgid "'drop' must be logical TRUE/FALSE" -msgstr "" +msgstr "'drop' 必须为逻辑 TRUE/FALSE" msgid "Column [" -msgstr "" +msgstr "列 [" msgid "] not found or of unknown type." msgstr "" @@ -1682,12 +1675,14 @@ msgstr "所以该列已经被保存为类型" msgid "" "key argument of data.table() must be a character vector naming columns (NB: " "col.names are applied before this)" -msgstr "data.table()的关键参数必须是字符向量命名的列(NB:col.names在这之前被使用过)" +msgstr "" +"data.table()的关键参数必须是字符向量命名的列(NB:col.names在这之前被使用过)" msgid "" "index argument of data.table() must be a character vector naming columns " "(NB: col.names are applied before this)" -msgstr "data.table()的关键参数必须是字符向量命名的列(NB:col.names在这之前被使用过)" +msgstr "" +"data.table()的关键参数必须是字符向量命名的列(NB:col.names在这之前被使用过)" msgid "dateTimeAs must be a single string" msgstr "dataTimeAs 必须是单个字符串" @@ -1798,13 +1793,8 @@ msgid "" msgstr "要在列中使用 integer64 类,需要先安装 'bit64' 包。" msgid "" -"'xts' class passed to data.table::last function but 'xts' is not available, " -"you should have 'xts' installed already" -msgstr "" - -msgid "" -"'xts' class passed to data.table::first function but 'xts' is not available, " -"you should have 'xts' installed already" +"'xts' class passed to %s function but 'xts' is not available, you should " +"have 'xts' installed already" msgstr "" msgid "Argument 'sort' should be logical TRUE/FALSE" @@ -2126,10 +2116,10 @@ msgid "" msgstr "" msgid "x must be a data.frame or data.table" -msgstr "" +msgstr "x 必须为 data.frame 或 data.table" msgid "na.last must be logical TRUE/FALSE" -msgstr "" +msgstr "na.last 必须为逻辑 TRUE/FALSE" msgid "" "cols is not a character vector. Please see further information in ?setorder." @@ -2149,17 +2139,16 @@ msgstr "" msgid "is non-atomic, which can't be sorted; try setting sorted = FALSE" msgstr "" -msgid "Cross product of elements provided to CJ() would result in" -msgstr "" - -msgid "rows which exceeds .Machine$integer.max ==" +msgid "" +"Cross product of elements provided to CJ() would result in %d rows which " +"exceeds .Machine$integer.max == %d" msgstr "" msgid "x and y must both be data.tables" msgstr "" msgid "length(by.x) != length(by.y)" -msgstr "" +msgstr "length(by.x) != length(by.y)" msgid "When x's column ('" msgstr "" @@ -2380,6 +2369,9 @@ msgid_plural "%d variables not shown: %s\n" msgstr[0] "" msgstr[1] "" +#~ msgid "The items in the 'by' or 'keyby' list are length (" +#~ msgstr "'by' 或 'keyby' 列表中的元素长度为(" + #~ msgid "in" #~ msgstr "在" diff --git a/po/zh_CN.po b/po/zh_CN.po index 6ccb285047..0ffc9b1761 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1811,7 +1811,7 @@ msgstr "未提供 NAstrings \n" #: fread.c:1146 msgid " NAstrings = [" -msgstr "" +msgstr " NAstrings = [" #: fread.c:1149 msgid "]\n" @@ -3373,7 +3373,7 @@ msgstr "irowsArg 既不是整数向量也不是 NULL" #: gsumm.c:58 #, c-format msgid "length(f)=%d != length(l)=%d" -msgstr "" +msgstr "length(f)=%d != length(l)=%d" #: gsumm.c:66 #, c-format @@ -4302,7 +4302,7 @@ msgstr "" #: rbindlist.c:523 #, c-format msgid "Column %d of item %d: %s" -msgstr "" +msgstr "第 %2$d 项的第 %1$d 列: %3$s" #: reorder.c:17 #, c-format From d05dcd8f402d27c90e2fe84ddb133d3c9c66fd98 Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Mon, 30 Dec 2019 01:48:29 +0800 Subject: [PATCH 3/4] completed translations!!! --- R/test.data.table.R | 2 +- inst/po/en@quot/LC_MESSAGES/R-data.table.mo | Bin 89056 -> 89010 bytes inst/po/en@quot/LC_MESSAGES/data.table.mo | Bin 139448 -> 139310 bytes inst/po/zh_CN/LC_MESSAGES/R-data.table.mo | Bin 79572 -> 87131 bytes inst/po/zh_CN/LC_MESSAGES/data.table.mo | Bin 133094 -> 138485 bytes po/R-data.table.pot | 7 +- po/R-zh_CN.po | 184 ++++++++------------ po/data.table.pot | 15 +- po/zh_CN.po | 110 ++++++------ src/gsumm.c | 6 +- 10 files changed, 139 insertions(+), 185 deletions(-) diff --git a/R/test.data.table.R b/R/test.data.table.R index decf1c4b3c..33752545d5 100644 --- a/R/test.data.table.R +++ b/R/test.data.table.R @@ -43,7 +43,7 @@ test.data.table = function(script="tests.Rraw", verbose=FALSE, pkg=".", silent=F # nocov start fn2 = paste0(fn,".bz2") if (!file.exists(file.path(fulldir, fn2))) - stop("Neither ",fn," or ",fn2," exist in ",fulldir) + stop(gettextf("Neither %s nor %s exist in %s",fn, fn2, fulldir, domain="R-data.table")) fn = fn2 # nocov end # sys.source() below accepts .bz2 directly. diff --git a/inst/po/en@quot/LC_MESSAGES/R-data.table.mo b/inst/po/en@quot/LC_MESSAGES/R-data.table.mo index b2d1ba618f0c1f1b639c9bb8b0fe9010408bbe07..e52bcf8fafb2e81f09cca9d20c658263d028f5f8 100644 GIT binary patch delta 12573 zcmZ|VcYIBE{KxU{O$b7Ski$u*Ghs{2ik+}H_QMEVjD?MH zn*$UEQ*j?l=)h9e*%(Z|7xUpcij20#+zz42@w1;bfX%1=c2y zVJG)whM?|zHCDv47?0UW;`x5lgaWN^=AceI7sK!Y*2k=sjH!!lu_vx@^rxMhkdMUv z_%rGTs#Gy%0w!Y`-bA&);;QyWcj0XEU(u~XcP>XC{0GA@Z-Q;Y%2<%R2kK5{U=V(X zF?bgJFFYq_xdTOvbCY9jnzcW)nU`ddaM!!_`7p(HC>nu`Q7g$B?fF{P2m>Sx+au%3jKPAq6LqH-FdT0n!^8M+ z(k_^YhtR#6f;WY}bj&&&h|DCDuc00FO)-*ul;cVaBtMS2qnoHMxQ%E z$P+OSHb>n+Kh&6*k6AVUcTmukA3$2uyhhz|O@=nzZ^kp@Vce3k6 zVkg>vI2BE(pxez6%#L|G+bfU3vgBn@P2CG~;u2hf+fhy1oc7n?8iP@|64eDKFc$_f zH>FTK`cW*)x*}P&o4(^;6aSSKTur|+}rAIL7_Sosi^637IlJjbZD#>eTeGwas7Az z;c3Sb{cTrG#dOp!LUqv>=!0i45`RZNVtfYJE*^?WVNx?vzj_S*0sKIyvb%6nl+*quP*{~1l&d1_doPfIXbR)P>7k!UA$d8UR z<|F)Ql=J-0z=+Ar0kttdJDQEL4~;>n7Wf-0V<=};SG7gWlFzXaZbEgzY2>ENdB=v_ z980X(?+o%^FcW#Yadtt=if(;jRSNoGNBkU5;RGD;q4hcHPREQlrX3f$5nqw}rr5FJ z!@)YfE&mk9E2uB>pJ=-%H!_UOKn&J?T!=3w(*GAIq)y_s3;RvB)8i;sBM+Nmr{{YZ zPd*nJz~(eo!i1@|MMk6M^LMD0`UexR>@<7aFx38S*a9D*x;Sw~NJdZ^D2MqS7>yr%iTkU~)^#w@aZy$Ykq&!Gm3HzU#y^I}zuM730REQ~!- zC!T}7a1EBgoQru>V-3_ae1$qsuO+r+N8n_>-^`^jh#jFz?aDU?lgNKZ-B~0ZtLc`E z8Vdt3CysSYMcu#}48xOH3m>7zP=#gI8hDnx5i$%+;pGfczTc!#sDl5Xrdhca_C(#W zJoywXfZwA|coQ`y9-==!!))lY(mn%%QGH(t^J6@!Ws*@X_7kdQAEEm$1>aS6Fg?NU z*5eI5NUc;ViY)dux($4pVm_Yps48@zc9=+GvC4MtzApa2~@Z?(B zKaj$6D$=9hI@@$PP*>g-qi`gu1y-U)^AFe;pJH)*pKqbtO)9EIN^Y=&xf)I&?}!?d zH&8A50@Y$AH`4yP)9M@T8%+z$MZN@UU>a7(|F9M&Y_fk;PQonYsi-ls6m{aWSPuO+ zTWe!FayOR36x5CEL|^<(J5;!dnr;s<9HX|-UzmjYqV?Dezs5Z1x7Cj3qNpY4ye~#+{%@s_jf#sHjDI5I%J_U^ z=lNFD;5>{0cofytS5QrT57h+^P-EvQMq<|8c0ntTn%+H8U%Uo&{2$nd?>A2<=*r*Q zV;7)Q^ydyQVHov)ersF6|2u0r%ujtX>T_;P!p*1){SPD1d#^n{(yt=LU zpm3K$AQs$b`>+CzBJY4h#lnVezNC@!PeB*byH9mEJO9>@2DS<{C>8-{meURoBA5+&U10r zs#qU2n5H@&Lof1x3>)m^Z#o9%x;fiqT+Q`Grl&e=a=tD!zW6jlEz4#4%Eoc_;u zp2dZVQb^02Z&4@Qi)w*ePW|xT>{>n&Gg9wH-N|IkjjK^#un()?8B~|#xL{vGgD{!A zDY8hKt+Uf%9<``2rk?ftT&VG#hmT%Ta@I zC2C#x9@TRGS8P`#q4p0(cRYnT6vFT%R=`JC5Q|;4ciI@k$=je#Gzz<58ZyI7$Tj=I zaUIu@-^S9Idfkrt!x%~a&@s;qyWZ5eLI1nh(Uyuy*dF)b4d;MmH|^4#hIy#}5jB`@ zU?^s}W!Hr$)P+~TS~v*H<1Va@j~&b2c2+I&<`rfxKSpwA}%}^IM33dElHwBH_zp)!e{$Z!% zY^+Ou3pH(?bFnq zlR`Es7GMCb#qPKVXJFyK?TNNyM)Gg4HXd-y^2pXV$EwtKKy}3;EQ4oJ=ga)qzJw0O zR^(TZ8+4oUPwd}(qcCWtwL!*Km8I|~Z^Yo84bv7827=zsR9)B=Z)k4D|mBUE4Zdu=aZ4JMKA z!1e>*0CKhlQA1;h2cJp{|%8XJZZAjP76xPbugM{ah~3yq|zN(U+(b zJi)>kZyi9T37gFRs!_9O3t?eP?C$r%~Uw#D$oQgIruNPABinn`v%*g}RWy ztS--b5{i|{OJh~+kCC{^O(B-TdCZ2sy!h$P^Ws=6fV%T9P(LDN&*t*{h}1K?%kv{r zSb)p(=lBZD!TuXqkmFyFjKPqcF3(eRA?gASp}NXD(B)})cP$DUwXIQIFb2orct`Ib zm*>?h1xr$&ika{rswt172GtuJjQN9IW+l$WIarYwK>0K3Mmy$qd44&Wg-i&y`74hd z9QX6OJb$ajhqyd{(;Y;8(GzTqudxrd3Uztj=?>y5@{7oFZc_5OJb%FS&hPU4#Cim) zQ6Cy+FFYCJ$>*S2^dwf&{I3>nn`8`XRPV(Ee2q0QzJUE;3TpoWY=d3}Z6CKs4aWCT z>%|t-dh#57F|3fwv*bqON95)4H15VOj6X9c!Va#dgkrIp8ro4&C9N4y~ZGm0b zgFHv1%d=FEL4DC|e28Bor!#A#tm{$hz(!1uM^RmM3N*gFWsFm_bMT9}M#fmM!M@DllM)U^7n zq8+R;mF(c`i|VTN7={P0aVM} zK($!oDz<5d;a&1ssIfGns>}4o(Wn-^>uBO#p5KsyaUk`Rk#`lhc|}1@buYor_j1+j z9aTfE(c^JFF2!8fpt_xQ-7tc@F9zaV)E%uwwcKXZg+IqA3{JEyP#uercg4P%{~uE* zPKB$6%kv{rEUHD0p&lxia00$UJqtdp>GC|5KS8zFF$}=VSQj6mF0^tj+w?6^V`4Gt z!tP>bjIGUB;QLKw3UOE$^}KguIZShWh+3M9*0B$d7*t>OMvaYGjtfyQBr7o-FJm&g z>e@lq8C#L}MScDdx-}~AQqa@t6=p*3dbTh9P*<7__3#KmA8dmQuoLP;FHxTht?x3O zu?Q-kf+a8&H753>E-W_5E=*06nEwe>44^_yy%jb1j-zLVLOo8y8`v>W30>rO@B_Su zYTBj^?d{+L4kDf)4u(8g|;=f7}9H?em*8#R3vp%#pz zSQal}MGR3xPa<{ zOQ^wf3nTFjmc+>Bc7C_RMDhiw<1b<#yotK-W-VNvKU`8U2X}Z1!>GUA(zZaxR@PY5 z>~OcHpbrkm#`q;_8ofj{o!&a4p|E39R7;FSjft;OPsL}bX;`L>?ZSGfKT`W*A-soL zLH*m>+>H!+w^>0!P5m3HCGOx-ypOto>FsQvQ}jGuPjFXye5&7P5*>)2i9>|8mF$0m zEAS`$1haGE#gvaw)~06#*JG+_{%dMoC=N33gi(SsOHjwQH=aUA}@96 zh?2x4@=|z}{o1Ni{(w4d@8Nku53ctKEn16+gM_v=#A{E9_TSBcnhI4p!P~7j`AlM= zQ!#<^$CUGM%mJK3t}XLBpV742=+tZ9E0qbxpLs#ik7I)=Z>P+9W|kAv)&Jj9&>~Zx zNFp@{&lAt~l7G8WUPk<4tN!=j_o-vpm^k7(kxFR0Ok{N~IvaJl zyy$<;&nPPOSbe+YaXwI)`ni-x5#!hyPkc+c9HD7CjL>$U&^qxO_2Y?eDQ6_KWguUP zvk5)2dl3aW?>E$cqVbnP;S2^5+76TVA^xMhml#8gC66F}qx=BBLamsaDL*5$X}!>P zm)J|)HN2>bcQ&p6+CFB#58>9F`^h^qKnkvNFu-#LDSb9heb=D$g+v+g*hx6F@=cdsGNj0EpMGYC4NEVxNem55#^ozTPQD}z5{WEGJl?! zk0@_OZDEw(5H$!NTV?*{5o$Dv(};ak=5cnUC)c*lqQ5}RBg(7sD539+cJ>t@$xmH+ z@~?@1D3>9$g|IJ%$U-?2!RwdjE#p^bfAhCX*hn4CcGhCD@u7PhG@rb&bFj0^__Obc zlQeZq#thWo<=Fj1R^of=_7J6=W9Ct}#3{FPyrH|lLTC%)1lpPrTZxL~JDq*1kEYy! z_<`_tj;(?}lKZkhjA%{y2Z^hii+iky7m`2?R%DHebzDI0ujw?fXG!g5`Swiyj zr4y+b;2dy)a(l{mh#f>HLJ#BTsI4mTDe;VGNW9%Xps3jXD823IoN3tisrHYd1q_Mah1rEF@`8dc|HF7&M_m%rx4ev z%fh*i;Zovv>Jo^W=|}?DF$>>r#n}-+vWf6w-^sT-aN9fOx5f0Hl|)$~KDpkhUVy{M z$72r8lAHL**~i~I<_qFqq9>vMf%+?KOK7`6ETP;0^Re&kR)}(0qBs@*v0ra@+P+jv zW_;(s&)6ACz8w=dU?>qvxe01}PP8SyACY+tV?5IdZe?mXyWyk8y0fn6pXXco()CD^AC8*b+cz2sdvd{T) z)wdwx6de0d725QnTh2it*q;1Hq95fyiH?*nV_D)h<+odZa&60rKM6mgJfUqZ`<@bi z5e0}}h>doaX--+&CES7Th7@j6h#-C?dN~JBG>J|*z_BkzbM-ygm*BL-aO&z1f#g%E z&rbO>tl;dY==tOKJG@6!A$}kxa@=V>NtRNG z<2p=zc;L%zolCx|78DjSD6DV4fuig19)kvl_2^4^{)tSk$J-hWJ|DZSQPKW#ty0z+u delta 12642 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

jE23SM?bH?oiD_E?kp&Zse6 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 E57TH-;{X5v delta 18718 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 delta 11943 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 R7fXg`tkKSrHn**D`hWe_8)X0h diff --git a/inst/po/zh_CN/LC_MESSAGES/data.table.mo b/inst/po/zh_CN/LC_MESSAGES/data.table.mo index 2550543004d2f051cf8f9bdb6c123c05f6e17b71..c5d63fb7d333e36e882685abafccd4c609d72aa0 100644 GIT binary patch delta 22732 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 diff --git a/po/R-data.table.pot b/po/R-data.table.pot index ac23ef4561..10a5b19d45 100644 --- a/po/R-data.table.pot +++ b/po/R-data.table.pot @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.12.9\n" -"POT-Creation-Date: 2019-12-29 10:26\n" +"POT-Creation-Date: 2019-12-29 22:35\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1651,10 +1651,7 @@ msgstr "" msgid "script must end with '.Rraw'. If a file ending '.Rraw.bz2' exists, that will be found and used." msgstr "" -msgid "Neither" -msgstr "" - -msgid "exist in" +msgid "Neither %s nor %s exist in %s" msgstr "" msgid "Failed after test" diff --git a/po/R-zh_CN.po b/po/R-zh_CN.po index 7a909e0d1e..e74646eb14 100644 --- a/po/R-zh_CN.po +++ b/po/R-zh_CN.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.12.5\n" -"POT-Creation-Date: 2019-12-29 10:26\n" +"POT-Creation-Date: 2019-12-29 22:35\n" "PO-Revision-Date: 2019-11-16 18:37+0800\n" "Last-Translator: Xianying Tan \n" "Language-Team: Mandarin\n" @@ -9,6 +9,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" msgid "data.table package loaded. When developing don't load package" msgstr "data.table包已载入, 开发时无需载入" @@ -422,16 +423,16 @@ msgid "Attempting to do natural join but no common columns in provided tables" msgstr "尝试进行自然连接然而并没有找到表格中相同的列" msgid "Internal error. Cannot by=.EACHI when joining to a secondary key, yet" -msgstr "" +msgstr "内部错误:目前尚无法对次键使用by=.EACH命令" msgid "Internal error. irows has length in by=.EACHI" -msgstr "" +msgstr "内部错误:by=.EACHI 中 irows 有长度" msgid "logical error. i is not a data.table, but 'on' argument is provided." -msgstr "" +msgstr "逻辑错误。当 i 并非一个 data.table时,不应提供'on'参数" msgid "i has evaluated to type" -msgstr "" +msgstr "i 运算结果为类型" msgid ". Expecting logical, integer or double." msgstr "。期望布尔类型,整型或浮点型。" @@ -544,35 +545,31 @@ msgid "" "The items in the 'by' or 'keyby' list are length(s) (%s). Each must be " "length %d; the same length as there are rows in x (after subsetting if i is " "provided)." -msgstr "" +msgstr "在'by'或'keyby'列表中的项长度为 %s。每一项的长度须均为%d,即应与 x (或经 i 筛选后的子集)中所包含行数相同。" msgid "Internal error: drop_dot passed" -msgstr "" +msgstr "内部错误:drop_dot 传入的参数有" msgid "items" -msgstr "" +msgstr "项" msgid "Item %d of the .() or list() passed to j is missing" -msgstr "" +msgstr "传递给j的 .() 或 list()中第%d项缺失" -msgid "" -"Different branches of j expression produced different auto-named columns:" -msgstr "" +msgid "Different branches of j expression produced different auto-named columns:" +msgstr "j表达式中的不同分支自动生成的列名不同:" msgid "%s!=%s" msgstr "%s!=%s" msgid "; using the most \"last\" names" -msgstr "" +msgstr ";将使用最晚生成的名字" -msgid "" -"When .SDcols is a function, it is applied to each column; the output of this " -"function must be a non-missing boolean scalar signalling inclusion/exclusion " -"of the column. However, these conditions were not met for:" -msgstr "" +msgid "When .SDcols is a function, it is applied to each column; the output of this function must be a non-missing boolean scalar signalling inclusion/exclusion of the column. However, these conditions were not met for:" +msgstr "当传入 .SDcols 的参数为一个方程时,该方程将应用于每一列,并须返回单个非缺失值的布尔值指示该列是否应当被包含/排除。然而上述条件对如下列并不满足:" msgid ".SDcols missing at the following indices:" -msgstr "" +msgstr ".SDcols 的如下位置为缺失值:" msgid ".SDcols is numeric but has both +ve and -ve indices" msgstr ".SDcols 为数值,但同时具有 +ve 和 -ve 索引" @@ -1138,64 +1135,52 @@ msgid "." msgstr "." msgid "There is no package %s in provided repository." -msgstr "" +msgstr "所提供的资料库中不含包%s" msgid "'fromLast' must be TRUE or FALSE" -msgstr "" +msgstr "'fromLast' 必须为 TRUE 或 FALSE" msgid "x must be an atomic vector or data.frames/data.tables" -msgstr "" +msgstr "x 必须是原子向量或data.frame/data.table" msgid "Using '" -msgstr "" +msgstr "使用 '" msgid "' as value column. Use 'value.var' to override" -msgstr "" +msgstr "' 作为 value 列。可使用 'value.var' 修改" msgid "The dcast generic in data.table has been passed a" -msgstr "" +msgstr "data.table 中的 dcast 泛型函数被传递了" -msgid "" -", but data.table::dcast currently only has a method for data.tables. Please " -"confirm your input is a data.table, with setDT(" -msgstr "" +msgid ", but data.table::dcast currently only has a method for data.tables. Please confirm your input is a data.table, with setDT(" +msgstr ",但目前 data.table::dcast 仅提供了针对 data.table 的方法。您可通过如下两种方法确保您的输入为一个 data.table对象,即setDT(" msgid ") or as.data.table(" msgstr ") 或 as.data.table(" -msgid "" -"). If you intend to use a reshape2::dcast, try installing that package " -"first, but do note that reshape2 is deprecated and you should be migrating " -"your code away from using it." -msgstr "" +msgid "). If you intend to use a reshape2::dcast, try installing that package first, but do note that reshape2 is deprecated and you should be migrating your code away from using it." +msgstr ")。若您想使用reshape2::dcast,尝试先安装reshape2。但请注意reshape2已经不推荐使用,您应修改您的代码以不再使用它。" -msgid "" -"and will attempt to redirect to the reshape2::dcast; please note that " -"reshape2 is deprecated, and this redirection is now deprecated as well. " -"Please do this redirection yourself like reshape2::dcast(" -msgstr "" +msgid "and will attempt to redirect to the reshape2::dcast; please note that reshape2 is deprecated, and this redirection is now deprecated as well. Please do this redirection yourself like reshape2::dcast(" +msgstr ",将尝试重定向到reshape2::dcast。请注意reshape2已经不推荐使用,故该重定向目前也不推荐使用。请手动执行该重定向,如reshape2::dcast(" msgid "). In the next version, this warning will become an error." -msgstr "" +msgstr ")。在下一个版本中,此警告将变成为错误。" -msgid "" -"Invalid formula. Cast formula should be of the form LHS ~ RHS, for e.g., a + " -"b ~ c." -msgstr "" +msgid "Invalid formula. Cast formula should be of the form LHS ~ RHS, for e.g., a + b ~ c." +msgstr "无效的公式。所转换的公式的形式应为LHS ~ RHS,如a + b ~ c。" msgid "data.table to cast must have unique column names" -msgstr "" +msgstr "要转换的data.table必须具有唯一的列名" msgid "value.var values [" -msgstr "" +msgstr "value.var 的值 [" msgid "] are not found in 'data'." -msgstr "" +msgstr "] 无法在 'data' 中找到" -msgid "" -"When 'fun.aggregate' and 'value.var' are both lists, 'value.var' must be " -"either of length =1 or =length(fun.aggregate)." -msgstr "" +msgid "When 'fun.aggregate' and 'value.var' are both lists, 'value.var' must be either of length =1 or =length(fun.aggregate)." +msgstr "当 'fun.aggregate' 和 'value.var' 同为 list时, 'value.var' 的长度必须为 1 或 length(fun.aggregate)。" msgid "'data' must be a data.table." msgstr "'data' 必须为 data.table" @@ -1207,19 +1192,19 @@ msgid "Column [" msgstr "列 [" msgid "] not found or of unknown type." -msgstr "" +msgstr "] 无法找到或其类型未知。" msgid "Columns specified in formula can not be of type list" -msgstr "" +msgstr "在formula中指定的列不应为列表类型" msgid "Can not cast an empty data.table" -msgstr "" +msgstr "无法转换一个空的data.table" msgid "Aggregate function missing, defaulting to 'length'" -msgstr "" +msgstr "聚合函数缺失,将默认采用'length'" msgid "Internal error -- empty rhsnames in dcast; please report" -msgstr "" +msgstr "内部错误:dcast 中 rhsnames 为空;请报告" msgid "The melt generic in data.table has been passed a" msgstr "data.table 中的 melt 泛型函数被传递了" @@ -1681,7 +1666,9 @@ msgstr "" msgid "" "index argument of data.table() must be a character vector naming columns " "(NB: col.names are applied before this)" -msgstr "data.table()的index参数必须是字符向量命名的列(NB:参数col.names在这之前被使用过)" +msgstr "" +"data.table()的index参数必须是字符向量命名的列(NB:参数col.names在这之前被使用" +"过)" msgid "dateTimeAs must be a single string" msgstr "dataTimeAs 必须是单个字符串" @@ -1791,10 +1778,8 @@ msgid "" "Using integer64 class columns require to have 'bit64' package installed." msgstr "要在列中使用 integer64 类,需要先安装 'bit64' 包。" -msgid "" -"'xts' class passed to %s function but 'xts' is not available, you should " -"have 'xts' installed already" -msgstr "" +msgid "'xts' class passed to %s function but 'xts' is not available, you should have 'xts' installed already" +msgstr "'xts'类对象传递给了%s方程,但是'xts'包不可用。您应首先安装'xts'包" msgid "Argument 'sort' should be logical TRUE/FALSE" msgstr "参数 'sort' 应为逻辑值 TRUE 或 FALSE" @@ -2097,22 +2082,16 @@ msgstr "" "table或者data.frame" msgid "Internal code should not be being called on type double" -msgstr "" +msgstr "内部代码不应被调用给双精度类型" -msgid "" -"Input is not a vector of type double. New parallel sort has only been done " -"for double vectors so far. Using one thread." -msgstr "" +msgid "Input is not a vector of type double. New parallel sort has only been done for double vectors so far. Using one thread." +msgstr "输入一个并非双精度类型的向量。目前新的并行排序方法仅可应用于双精确度向量。将使用单线程进行计算" -msgid "" -"New parallel sort has not been implemented for decreasing=TRUE so far. Using " -"one thread." -msgstr "" +msgid "New parallel sort has not been implemented for decreasing=TRUE so far. Using one thread." +msgstr "目前新的并行排序方法尚无法在decreasing=TRUE的条件下使用。将使用单线程进行计算。" -msgid "" -"New parallel sort has not been implemented for vectors containing NA values " -"so far. Using one thread." -msgstr "" +msgid "New parallel sort has not been implemented for vectors containing NA values so far. Using one thread." +msgstr "目前新的并行排序方法尚无法用于包含缺失值的向量。将使用单线程。" msgid "x must be a data.frame or data.table" msgstr "x 必须为 data.frame 或 data.table" @@ -2120,37 +2099,32 @@ msgstr "x 必须为 data.frame 或 data.table" msgid "na.last must be logical TRUE/FALSE" msgstr "na.last 必须为逻辑 TRUE/FALSE" -msgid "" -"cols is not a character vector. Please see further information in ?setorder." -msgstr "" +msgid "cols is not a character vector. Please see further information in ?setorder." +msgstr "cols并非一个字符向量。请参考 ?setorder以获得更多信息。" -msgid "" -"cols is a character vector of zero length. Use NULL instead, or wrap with " -"suppressWarnings() to avoid this warning." -msgstr "" +msgid "cols is a character vector of zero length. Use NULL instead, or wrap with suppressWarnings() to avoid this warning." +msgstr "cols为一长度为零的字符向量。请使用NULL代替,或将本函数使用suppressWarnings()包裹以阻止该警告。" msgid "' which is not supported for ordering currently." -msgstr "" +msgstr "',该类型目前尚不支持排序。" msgid "'sorted' is TRUE but element" -msgstr "" +msgstr "'sorted' 为 TRUE 但元素" msgid "is non-atomic, which can't be sorted; try setting sorted = FALSE" -msgstr "" +msgstr "并非原子类型,无法排序。请尝试使用 sorted=FALSE" -msgid "" -"Cross product of elements provided to CJ() would result in %d rows which " -"exceeds .Machine$integer.max == %d" -msgstr "" +msgid "Cross product of elements provided to CJ() would result in %d rows which exceeds .Machine$integer.max == %d" +msgstr "CJ()中元素的叉积将产生 %d 行,已超过 .Machine$integer.max == %d" msgid "x and y must both be data.tables" -msgstr "" +msgstr "x 和 y 均需为 data.table" msgid "length(by.x) != length(by.y)" msgstr "length(by.x) != length(by.y)" msgid "When x's column ('" -msgstr "" +msgstr "当 x 的列 ('" msgid "') is character, the corresponding column in y ('" msgstr "') 是字符,y 中相应的列 ('" @@ -2249,17 +2223,14 @@ msgstr "" "脚本文件名必须以 '.Rraw' 结尾。如果以 'Rraw.bz2' 结尾的文件存在,其也将被使" "用。" -msgid "Neither" -msgstr "" - -msgid "exist in" -msgstr "均不存在于文件夹" +msgid "Neither %s nor %s exist in %s" +msgstr "%3$s 中 %1$s 也 %2$s 不存在" msgid "Failed after test" -msgstr "" +msgstr "错误出现于测试" msgid "before the next test() call in" -msgstr "" +msgstr "后,先于下一调用test()于" msgid "out of" msgstr "总数为" @@ -2320,10 +2291,10 @@ msgid "l not type list" msgstr "l并非列表(list)类型" msgid "Argument 'nan' must be length 1" -msgstr "" +msgstr "参数 'nan' 的长度必须为 1" msgid "Argument 'nan' must be NA or NaN" -msgstr "" +msgstr "参数 'nan' 必须为 NA 或 NaN" msgid "x not boolean" msgstr "x并非布尔值" @@ -2365,17 +2336,4 @@ msgstr "以下的列并非数值类型,将被忽略:" msgid "%d variable not shown: %s\n" msgid_plural "%d variables not shown: %s\n" -msgstr[0] "" -msgstr[1] "" - -#~ msgid "The items in the 'by' or 'keyby' list are length (" -#~ msgstr "'by' 或 'keyby' 列表中的元素长度为(" - -#~ msgid "in" -#~ msgstr "在" - -#~ msgid "on" -#~ msgstr "在" - -#~ msgid ". [" -#~ msgstr ". [" +msgstr[0] "%d变量没显示: %s\n" diff --git a/po/data.table.pot b/po/data.table.pot index 52394b48d8..a826bab881 100644 --- a/po/data.table.pot +++ b/po/data.table.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.12.9\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 01:51+0800\n" +"POT-Creation-Date: 2019-12-30 01:24+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -3122,16 +3122,9 @@ msgstr "" msgid "env is not an environment" msgstr "" -#: gsumm.c:45 -msgid "o is not an integer vector" -msgstr "" - -#: gsumm.c:46 -msgid "f is not an integer vector" -msgstr "" - -#: gsumm.c:47 -msgid "l is not an integer vector" +#: gsumm.c:45 gsumm.c:46 gsumm.c:47 +#, c-format +msgid "%s is not an integer vector" msgstr "" #: gsumm.c:56 diff --git a/po/zh_CN.po b/po/zh_CN.po index 0d730901ce..6a95727f07 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.12.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-12-29 01:51+0800\n" +"POT-Creation-Date: 2019-12-30 01:24+0800\n" "PO-Revision-Date: 2019-11-18 00:26-04\n" "Last-Translator: Yuhang Chen \n" "Language-Team: Mandarin\n" @@ -181,7 +181,7 @@ msgstr "为所有的%d行赋值\n" msgid "" "Coerced i from numeric to integer. Please pass integer for efficiency; e.g., " "2L rather than 2" -msgstr "" +msgstr "将i由数值型强制转换为整数型。请直接传入整数以提高效率,如传入2L而非2" #: assign.c:323 #, c-format @@ -797,7 +797,7 @@ msgstr "内部错误: opArg 不是一个长度为 on 的整数向量" #: bmerge.c:96 msgid "Internal error: nqgrpArg must be an integer vector" -msgstr "" +msgstr "内部错误:nqgrpArg 必须为一个整数向量" #: bmerge.c:102 msgid "Intrnal error: nqmaxgrpArg is not a positive length-1 integer vector" @@ -1019,12 +1019,12 @@ msgstr "length(xSD)[%d] != length(xjiscols)[%d]" #: dogroups.c:155 dogroups.c:184 msgid "Internal error. Type of column should have been checked by now" -msgstr "" +msgstr "内部错误:至此列的类型应已经被检查完成" #: dogroups.c:273 #, c-format msgid "j evaluates to type '%s'. Must evaluate to atomic vector or list." -msgstr "" +msgstr "j的运算结果为'%s'类型。其运算结果必须为原子向量或列表。" #: dogroups.c:281 msgid "" @@ -1612,7 +1612,7 @@ msgstr "" #: forder.c:561 #, c-format msgid "Column %d passed to [f]order is type '%s', not yet supported." -msgstr "" +msgstr "传递给 [f]order 的第%d列为 '%s'类型,目前尚不支持。" #: forder.c:714 msgid "Internal error: column not supported, not caught earlier" @@ -1740,7 +1740,7 @@ msgstr "内部错误:参数 'cols' 关于 CanyNA 是 '%s' 类型而不是'inte #, c-format msgid "" "Internal error in line %d of fread.c, please report on data.table GitHub: " -msgstr "" +msgstr "fread.c中%d行出现内部错误,请在 data.table 的 GitHub中提交报告:" #: fread.c:147 #, c-format @@ -2191,7 +2191,7 @@ msgstr "采样跳点数 = %d 因为" #: fread.c:1649 #, c-format msgid "nrow limit (%) supplied\n" -msgstr "" +msgstr "指定了nrow 的最大值 (%) \n" #: fread.c:1650 msgid "jump0size==0\n" @@ -2214,21 +2214,21 @@ msgstr "第%5$d个跳点所找到的第%4$d行,该行字段过于%1$s(%2$d/%3$ #: fread.c:1690 msgid "few" -msgstr "" +msgstr "少" #: fread.c:1690 msgid "many" -msgstr "" +msgstr "多" #: fread.c:1690 msgid "" "Most likely this jump landed awkwardly so type bumps here will be skipped." -msgstr "" +msgstr "很有可能这一跳点的位置并不合适,因此此处的类型转换将被跳过。" #: fread.c:1716 #, c-format msgid " Type codes (jump %03d) : %s Quote rule %d\n" -msgstr "" +msgstr " 类型码(跳点 %03d) : %s 引用规则 %d\n" #: fread.c:1729 #, c-format @@ -2274,10 +2274,12 @@ msgid "" "setnames() afterwards if this guess is not correct, or fix the file write " "command that created the file to create a valid file." msgstr "" +"作为第一列,并被用于猜测行名或索引。若上述猜测不正确,可在后续使用setnames()" +"进行修改,或修复用于生成该文件的文件写入命令以生成有效的文件。" #: fread.c:1747 msgid "s at the end." -msgstr "" +msgstr "到结尾处" #: fread.c:1749 msgid "" @@ -2325,7 +2327,7 @@ msgstr "参数 'header' 被设置为false,因为部分字段的首行不为字 #: fread.c:1795 #, c-format msgid " Type codes (first row) : %s Quote rule %d\n" -msgstr "" +msgstr " 类型码(第一行) : %s 引用规则 %d\n" #: fread.c:1804 #, c-format @@ -2349,7 +2351,7 @@ msgstr " 已使用了 %2$d个跳点抽样 %1$ 行(处理了字段间的 #, c-format msgid "" " Bytes from first data row on line %d to the end of last row: %\n" -msgstr "" +msgstr " 从第一个数据行(%d)到最后一行的字节: %\n" #: fread.c:1819 #, c-format @@ -2367,6 +2369,8 @@ msgid "" " Initial alloc = % rows (% + %d%%) using bytes/" "max(mean-2*sd,min) clamped between [1.1*estn, 2.0*estn]\n" msgstr "" +"为 % 行 (% + %d%%)分配初始内存,大小为字节数/max(mean-2*sd," +"min),并确保该数值落于区间[1.1*estn, 2.0*estn]中\n" #: fread.c:1825 #, c-format @@ -2446,7 +2450,7 @@ msgstr " jumps=[%d..%d),chunk_size=%,total_size=%\n" #: fread.c:2005 #, c-format msgid "Internal error: Master thread is not thread 0 but thread %d.\n" -msgstr "" +msgstr "内部错误:主线程并非线程0而是线程%d\n" #: fread.c:2213 #, c-format @@ -2462,7 +2466,7 @@ msgstr "" msgid "" "Internal error: invalid head position. jump=%d, headPos=%p, thisJumpStart=" "%p, sof=%p" -msgstr "" +msgstr "内部错误:head 位置无效。jump=%d, headPos=%p, thisJumpStart=%p, sof=%p" #: fread.c:2335 #, c-format @@ -3111,8 +3115,11 @@ msgstr "无法分配工作内存" #: fsort.c:177 #, c-format msgid "" -"counts is %dMB (%d pages per nBatch=%d, batchSize=%, lastBatchSize=%)\n" -msgstr "counts为%dMB (每个nBatch中的%d页=%d, batchSize=%, lastBatchSize=%)\n" +"counts is %dMB (%d pages per nBatch=%d, batchSize=%, lastBatchSize=" +"%)\n" +msgstr "" +"counts为%dMB (每个nBatch中的%d页=%d, batchSize=%, lastBatchSize=" +"%)\n" #: fsort.c:231 msgid "Internal error: counts[nBatch-1][MSBsize-1] != length(x)" @@ -3174,11 +3181,12 @@ msgstr "... " #, c-format msgid "" "\n" -"args.doRowNames=%d args.rowNames=%d doQuote=%d args.nrow=% args.ncol=%d " -"eolLen=%d\n" -msgstr "\n" -"args.doRowNames=%d args.rowNames=%d doQuote=%d args.nrow=% args.ncol=%d " -"eolLen=%d\n" +"args.doRowNames=%d args.rowNames=%d doQuote=%d args.nrow=% args.ncol=" +"%d eolLen=%d\n" +msgstr "" +"\n" +"args.doRowNames=%d args.rowNames=%d doQuote=%d args.nrow=% args.ncol=" +"%d eolLen=%d\n" #: fwrite.c:664 #, c-format @@ -3196,8 +3204,9 @@ msgid "" "%s: '%s'. Failed to open existing file for writing. Do you have write " "permission to it? Is this Windows and does another process such as Excel " "have it open?" -msgstr "%s: '%s'. 无法打开一斤存在的文件进行写入.你是否对该文件有写入权限?" -"这是Windows系统?是否有Excel之类的进程已经打开了该文件?" +msgstr "" +"%s: '%s'. 无法打开一斤存在的文件进行写入.你是否对该文件有写入权限?这是" +"Windows系统?是否有Excel之类的进程已经打开了该文件?" #: fwrite.c:692 #, c-format @@ -3205,8 +3214,9 @@ msgid "" "%s: '%s'. Unable to create new file for writing (it does not exist already). " "Do you have permission to write here, is there space on the disk and does " "the path exist?" -msgstr "%s: '%s'. 无法创建新的文件进行写入(文件不存在)" -"你是否对此有写入权限?磁盘上是否有空间以及路径是否存在?" +msgstr "" +"%s: '%s'. 无法创建新的文件进行写入(文件不存在)你是否对此有写入权限?磁盘上" +"是否有空间以及路径是否存在?" #: fwrite.c:700 #, c-format @@ -3275,7 +3285,8 @@ msgstr "请将此消息上方和下方的全部输出结果一起提交到data.t msgid "" "Please retry fwrite() with verbose=TRUE and include the full output with " "your data.table bug report." -msgstr "请使用verbose=TRUE重试fwrite(),并将完整的输出提交到data.table的bug report中" +msgstr "" +"请使用verbose=TRUE重试fwrite(),并将完整的输出提交到data.table的bug report中" #: fwriteR.c:41 msgid "Internal error: col passed to getMaxCategLen is missing levels" @@ -3291,9 +3302,9 @@ msgid "" "Row %d of list column is type '%s' - not yet implemented. fwrite() can write " "list columns containing items which are atomic vectors of type logical, " "integer, integer64, double, complex and character." -msgstr "列表页行%d的类型是'%s' - 尚未实施. fwrite()可以写入" -"包含逻辑类型原子向量项目的列表页," -"整数,整数64,双精度,复数和字符" +msgstr "" +"列表页行%d的类型是'%s' - 尚未实施. fwrite()可以写入包含逻辑类型原子向量项目的" +"列表页,整数,整数64,双精度,复数和字符" #: fwriteR.c:103 #, c-format @@ -3324,7 +3335,9 @@ msgstr "列%d的类型是'%s' - 尚未在fwrite中实施" msgid "" "No list columns are present. Setting sep2='' otherwise quote='auto' would " "quote fields containing sep2.\n" -msgstr "当前没有列表页. 设置sep2=''否则quote='auto'会自动为所有包含sep2的字段加上引号.\n" +msgstr "" +"当前没有列表页. 设置sep2=''否则quote='auto'会自动为所有包含sep2的字段加上引" +"号.\n" #: fwriteR.c:266 #, c-format @@ -3347,17 +3360,10 @@ msgstr "sep ('%c'), sep2 ('%c') 和 dec ('%c') 必须都不相同. 列 %d 是一 msgid "env is not an environment" msgstr "env不是环境" -#: gsumm.c:45 -msgid "o is not an integer vector" -msgstr "o不是整数向量" - -#: gsumm.c:46 -msgid "f is not an integer vector" -msgstr "f不是一个整数向量" - -#: gsumm.c:47 -msgid "l is not an integer vector" -msgstr "l 不是整数向量" +#: gsumm.c:45 gsumm.c:46 gsumm.c:47 +#, c-format +msgid "%s is not an integer vector" +msgstr "%s不是整数向量" #: gsumm.c:56 msgid "irowsArg is neither an integer vector nor NULL" @@ -3635,20 +3641,20 @@ msgstr "" msgid "" "Internal error, gtail is only implemented for n=1. This should have been " "caught before. please report to data.table issue tracker." -msgstr "" +msgstr "内部错误:gtail仅能应用于n=1的情况。此错误理应已被处理。请在 data.table 的 GitHub中提交报告。" #: gsumm.c:1166 msgid "" "Internal error, ghead is only implemented for n=1. This should have been " "caught before. please report to data.table issue tracker." -msgstr "" +msgstr "内部错误:ghead仅能应用于n=1的情况。此错误理应已被处理。请在 data.table 的 GitHub中提交报告。" #: gsumm.c:1172 msgid "" "Internal error, `g[` (gnthvalue) is only implemented single value subsets " "with positive index, e.g., .SD[2]. This should have been caught before. " "please report to data.table issue tracker." -msgstr "" +msgstr "内部错误:`g[` (gnthvalue) 仅能用于采用单个正数索引求取子集,如 .SD[2]。此错误理应已被处理。请在 data.table 的 GitHub中提交报告。" #: gsumm.c:1250 #, c-format @@ -3656,7 +3662,7 @@ msgid "" "Type '%s' not supported by GForce subset `[` (gnthvalue). Either add the " "prefix utils::head(.) or turn off GForce optimization using " "options(datatable.optimize=1)" -msgstr "" +msgstr "GForce取子集运算符`[` (gnthvalue)尚不支持'%s'类型。。请添加前缀stats::var(.),或使用options(datatable.optimize=1) 关闭 GForce优化" #: gsumm.c:1262 msgid "" @@ -3666,18 +3672,18 @@ msgid "" "using options(datatable.optimize=1). Alternatively, if you only need the " "diagonal elements, 'DT[,lapply(.SD,var),by=,.SDcols=]' is the optimized way " "to do this." -msgstr "" +msgstr "GForce var/sd 仅能应用于列,而非.SD或其他。若要求取某一列表,如.SD,所有元素的全协方差矩阵,请添加前缀stats::var(.SD)(或stats::sd(.SD)),或使用options(datatable.optimize=1) 关闭 GForce优化。另外,若仅需获得对角线元素,最佳的方式是使用'DT[,lapply(.SD,var),by=,.SDcols=]'。" #: gsumm.c:1263 msgid "var/sd is not meaningful for factors." -msgstr "" +msgstr "无法对因子类型使用 var/sd。" #: gsumm.c:1382 #, c-format msgid "" "Type '%s' not supported by GForce var (gvar). Either add the prefix stats::" "var(.) or turn off GForce optimization using options(datatable.optimize=1)" -msgstr "" +msgstr "GForce var (gvar) 尚不支持 '%s'类型。请添加前缀stats::var(.),或使用options(datatable.optimize=1) 关闭 GForce优化" #: gsumm.c:1384 #, c-format @@ -4290,7 +4296,7 @@ msgstr "" msgid "" "Failed to allocate working memory for %d factor levels of result column %d " "when reading item %d of item %d" -msgstr "" +msgstr "当读取第%4$d项的第%3$d个子项时,无法为第%2$d列的%1$d个因素水平分配工作内存" #: rbindlist.c:523 #, c-format diff --git a/src/gsumm.c b/src/gsumm.c index bc4ca5dda5..210b6d7bf5 100644 --- a/src/gsumm.c +++ b/src/gsumm.c @@ -42,9 +42,9 @@ SEXP gforce(SEXP env, SEXP jsub, SEXP o, SEXP f, SEXP l, SEXP irowsArg) { const bool verbose = GetVerbose(); if (TYPEOF(env) != ENVSXP) error(_("env is not an environment")); // The type of jsub is pretty flexbile in R, so leave checking to eval() below. - if (!isInteger(o)) error(_("o is not an integer vector")); - if (!isInteger(f)) error(_("f is not an integer vector")); - if (!isInteger(l)) error(_("l is not an integer vector")); + if (!isInteger(o)) error(_("%s is not an integer vector"), "o"); + if (!isInteger(f)) error(_("%s is not an integer vector"), "f"); + if (!isInteger(l)) error(_("%s is not an integer vector"), "l"); if (isNull(irowsArg)) { irows = NULL; irowslen = -1; From 67c42bf32d73c0a5541a736cfd5dbceb1e3906db Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Mon, 30 Dec 2019 09:52:39 +0800 Subject: [PATCH 4/4] adjustments --- R/setkey.R | 2 +- inst/tests/tests.Rraw | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/R/setkey.R b/R/setkey.R index 24c44631d5..fb8924b7a4 100644 --- a/R/setkey.R +++ b/R/setkey.R @@ -357,7 +357,7 @@ CJ = function(..., sorted = TRUE, unique = FALSE) } } nrow = prod( vapply_1i(l, length) ) # lengths(l) will work from R 3.2.0 - if (nrow > .Machine$integer.max) stop(gettextf("Cross product of elements provided to CJ() would result in %d rows which exceeds .Machine$integer.max == %d", nrow.Machine$integer.max, domain='R-data.table')) + if (nrow > .Machine$integer.max) stop(gettextf("Cross product of elements provided to CJ() would result in %d rows which exceeds .Machine$integer.max == %d", nrow, Machine$integer.max, domain='R-data.table')) l = .Call(Ccj, l) setDT(l) l = setalloccol(l) # a tiny bit wasteful to over-allocate a fixed join table (column slots only), doing it anyway for consistency since diff --git a/inst/tests/tests.Rraw b/inst/tests/tests.Rraw index 1eec432dd0..bc0c7b3220 100644 --- a/inst/tests/tests.Rraw +++ b/inst/tests/tests.Rraw @@ -13889,7 +13889,7 @@ test(1984.05, DT[ , sum(b), keyby = c, verbose = TRUE], test(1984.06, DT[1:3, sum(a), by=b:c], data.table(b=10:8, c=1:3, V1=1:3)) test(1984.07, DT[, sum(a), by=call('sin',pi)], error='must evaluate to a vector or a list of vectors') test(1984.08, DT[, sum(a), by=as.raw(0)], error='column or expression.*type raw') -test(1984.09, DT[, sum(a), by=.(1,1:2)], error='The items.*list are length [(]1,2[)].*Each must be length 10; .*rows in x.*after subsetting') +test(1984.09, DT[, sum(a), by=.(1,1:2)], error='The items.*list are length[(]s[)] [(]1,2[)].*Each must be length 10; .*rows in x.*after subsetting') options('datatable.optimize' = Inf) test(1984.10, DT[ , 1, by = .(a %% 2), verbose = TRUE], data.table(a = c(1, 0), V1 = c(1, 1)),