From f30798b078998e496a38de8fbeb4a713460022b6 Mon Sep 17 00:00:00 2001 From: "RYZEN7\\draco" Date: Thu, 24 Oct 2019 17:28:02 -0400 Subject: [PATCH 01/17] 895 - 939 --- po/R-zh_CN.po | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/po/R-zh_CN.po b/po/R-zh_CN.po index ec3b630c3c..78c9439f34 100644 --- a/po/R-zh_CN.po +++ b/po/R-zh_CN.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.12.5\n" "POT-Creation-Date: 2019-10-21 16:15\n" -"PO-Revision-Date: 2019-10-04 17:06+08\n" -"Last-Translator: Michael Chirico \n" +"PO-Revision-Date: 2019-10-24 17:02-04\n" +"Last-Translator: Xianghui Dong \n" "Language-Team: Mandarin\n" "Language: Mandarin\n" "MIME-Version: 1.0\n" @@ -893,39 +893,50 @@ msgid "All elements in argument 'x' to 'setDF' must be of same length" msgstr "" msgid "Cannot find symbol" -msgstr "" +msgstr "无法找到符号" msgid "Cannot convert '" -msgstr "" +msgstr "无法转换'" msgid "" "' to data.table by reference because binding is locked. It is very likely " "that '" msgstr "" +"' 为引用形式的 data.table,因为绑定被锁定了。很有可能 " +"'" msgid "" "' resides within a package (or an environment) that is locked to prevent " "modifying its variable bindings. Try copying the object to your current " "environment, ex: var <- copy(var) and then using setDT again." msgstr "" +"' 存在于一个被锁定的包(或环境)中导致无法" +"修改其绑定的变量。可以尝试复制对象(object)到你的现有" +"环境,如:var <- copy(var) 然后再使用 setDT。" msgid "Some columns are a multi-column type (such as a matrix column):" -msgstr "" +msgstr "某些列是多重列类型(如矩阵列):" msgid "" ". setDT will retain these columns as-is but subsequent operations like " "grouping and joining may fail. Please consider as.data.table() instead which " "will create a new column for each embedded column." msgstr "" +"。setDT 会原样保留这些列但后续的操作如" +"编组和联接可能会失败。请考虑使用 as.data.table() 因为它" +"会为每个内嵌列建立一个新列。" msgid "Column" -msgstr "" +msgstr "列" msgid "" "is of POSIXlt type. Please convert it to POSIXct using as.POSIXct and run " "setDT again. We do not recommend use of POSIXlt at all because it uses 40 " "bytes to store one date." msgstr "" +"属于 POSIXlt 类型。请使用 as.POSIXct 转换为 POSIXct 并再次执行" +"setDT。我们非常不推荐使用 POSIXlt 因为它要用 40 " +"字节来存储一个日期。" msgid "" "All elements in argument 'x' to 'setDT' must be of same length, but the " From dfe9c88d4919b006ab2931ce82eab169e6572beb Mon Sep 17 00:00:00 2001 From: "RYZEN7\\draco" Date: Tue, 29 Oct 2019 20:07:51 -0400 Subject: [PATCH 02/17] 945 - 1007 --- po/R-zh_CN.po | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/po/R-zh_CN.po b/po/R-zh_CN.po index 78c9439f34..e50cc87304 100644 --- a/po/R-zh_CN.po +++ b/po/R-zh_CN.po @@ -942,69 +942,77 @@ msgid "" "All elements in argument 'x' to 'setDT' must be of same length, but the " "profile of input lengths (length:frequency) is:" msgstr "" +"'setDT' 的参数 'x' 中所有的元素都必须是同一长度,但" +"输入长度的概况(长度(length):频率(frequency))是:" msgid "%s:%d" msgstr "" msgid "The first entry with fewer than" -msgstr "" +msgstr "第一个少于" msgid "entries is" -msgstr "" +msgstr "的输入项是" msgid "" "Argument 'x' to 'setDT' should be a 'list', 'data.frame' or 'data.table'" msgstr "" +"'setDT' 参数 'x' 应为一个列表('list'),数据框('data.frame')或 'data.table'" msgid "Item '" -msgstr "" +msgstr "项 '" msgid "' not found in names of input list" -msgstr "" +msgstr "' 不存在于输入列表的子项名中" msgid "'prefix' must be NULL or a character vector of length 1." -msgstr "" +msgstr "'prefix' 必须为 空(NULL)或者长度为 1 的字符向量。" msgid "x is a single vector, non-NULL 'cols' doesn't make sense." -msgstr "" +msgstr "x 是单个向量,非空的 'cols' 没有意义。" msgid "x is a list, 'cols' cannot be 0-length." -msgstr "" +msgstr "x 是一个列表(list),'cols' 长度不能为0。" msgid "RHS of" -msgstr "" +msgstr "右手侧(RHS)" msgid "is length" -msgstr "" +msgstr "长度为" msgid "which is not 1 or nrow (" -msgstr "" +msgstr "其非 1 或 总行数 nrow (" msgid "" "). For robustness, no recycling is allowed (other than of length 1 RHS). " "Consider %in% instead." msgstr "" +")。为了鲁棒性考虑,不进行回收重用(recycling)(除非右手侧长度为 1 )。" +"考虑改用 %in% 。" msgid "" "Internal error in .isFastSubsettable. Please report to data.table developers" msgstr "" +".isFastSubsettable 产生了内部错误。请向 data.table 开发者报告" msgid "" "'on' argument should be a named atomic vector of column names indicating " "which columns in 'i' should be joined with which columns in 'x'." msgstr "" +"'on' 参数应为一个有子项名字的原子列名向量,指明" +"'i' 中的哪些列应与 'x' 中的哪些列联接。" msgid "Found more than one operator in one 'on' statement:" -msgstr "" +msgstr "在一个 'on' 语句中出现了多于一个的操作符(operator):" msgid ". Please specify a single operator." -msgstr "" +msgstr "。请指定单个操作符。" msgid "'on' contains no column name:" -msgstr "" +msgstr "'on' 中没有列名:" msgid ". Each 'on' clause must contain one or two column names." -msgstr "" +msgstr "。每个'on' 子句必须包含一个或两个列名。" msgid "'on' contains more than 2 column names:" msgstr "" From 518f1b53694191a2f2a1b489cfd2c2be7247bdbc Mon Sep 17 00:00:00 2001 From: "RYZEN7\\draco" Date: Tue, 29 Oct 2019 20:21:45 -0400 Subject: [PATCH 03/17] To the real 1007 line msg --- po/R-zh_CN.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/po/R-zh_CN.po b/po/R-zh_CN.po index e50cc87304..428cd7c230 100644 --- a/po/R-zh_CN.po +++ b/po/R-zh_CN.po @@ -1015,13 +1015,13 @@ msgid ". Each 'on' clause must contain one or two column names." msgstr "。每个'on' 子句必须包含一个或两个列名。" msgid "'on' contains more than 2 column names:" -msgstr "" +msgstr "'on' 包含了超过两个列名:" msgid "Invalid operators" -msgstr "" +msgstr "无效的操作符" msgid ". Only allowed operators are" -msgstr "" +msgstr "。只有这些操作符是有效的" msgid "." msgstr "" From 6e65d0ea69899d6778ecc65f7f5ea673ff868898 Mon Sep 17 00:00:00 2001 From: "RYZEN7\\draco" Date: Sat, 2 Nov 2019 20:49:02 -0400 Subject: [PATCH 04/17] convert enconding from GBK to UTF-8 --- po/zh_CN.po | 90 ++++++++++++++++++++++++++--------------------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index 710b460ec5..cbcb9f3d76 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1,4 +1,4 @@ -msgid "" +msgid "" msgstr "" "Project-Id-Version: data.table 1.12.5\n" "Report-Msgid-Bugs-To: \n" @@ -3056,11 +3056,11 @@ msgstr "" #: gsumm.c:47 msgid "l is not an integer vector" -msgstr "l " +msgstr "l 不是整数向量" #: gsumm.c:56 msgid "irowsArg is neither an integer vector nor NULL" -msgstr "irowsArg ȲҲ NULL" +msgstr "irowsArg 既不是整数向量也不是 NULL" #: gsumm.c:58 #, c-format @@ -3070,48 +3070,48 @@ msgstr "" #: gsumm.c:66 #, c-format msgid "o has length %d but sum(l)=%d" -msgstr "o ijΪ %d sum(l) = %d" +msgstr "o 的长度为 %d,但 sum(l) = %d" #: gsumm.c:69 msgid "Internal error: o's maxgrpn attribute mismatches recalculated maxgrpn" -msgstr "ڲo maxgrpn ¼ maxgrpn ƥ" +msgstr "内部错误:o 的 maxgrpn 属性与重新计算的 maxgrpn 不匹配" #: gsumm.c:89 #, c-format msgid "" "Internal error: nrow=%d ngrp=%d nbit=%d shift=%d highSize=%d nBatch=%d " "batchSize=%d lastBatchSize=%d\n" -msgstr "ڲnrow=%d ngrp=%d nbit=%d shift=%d highSize=%d nBatch=%d " +msgstr "内部错误:nrow=%d ngrp=%d nbit=%d shift=%d highSize=%d nBatch=%d " "batchSize=%d lastBatchSize=%d\n" #: gsumm.c:98 #, c-format msgid "gforce initial population of grp took %.3f\n" -msgstr "grp gforce ʼȺռ %.3f\n " +msgstr "grp 的 gforce 初始群体数占了 %.3f\n " #: gsumm.c:116 msgid "" "Internal error: Failed to allocate counts or TMP when assigning g in gforce" -msgstr "ڲ gforce Ϊ g ֵʱδܳɹΪ counts TMP ռ" +msgstr "内部错误:在 gforce 中为 g 赋值时,未能成功为 counts 或者 TMP 分配空间" #: gsumm.c:194 #, c-format msgid "gforce assign high and low took %.3f\n" -msgstr "gforce high low %.3f\n" +msgstr "gforce 分配 high 和 low 用了 %.3f\n" #: gsumm.c:200 #, c-format msgid "gforce eval took %.3f\n" -msgstr "gforce eval %.3f\n" +msgstr "gforce eval 用了 %.3f\n" #: gsumm.c:216 msgid "gather took ... " -msgstr "gather ..." +msgstr "gather 用了 ..." #: gsumm.c:334 #, c-format msgid "gather implemented for INTSXP, REALSXP, and CPLXSXP but not '%s'" -msgstr "gather ֧ INTSXPREALSXP CPLXSXP֧ '%s'" +msgstr "gather 已支持 INTSXP,REALSXP 和 CPLXSXP,但不支持 '%s'" #: gsumm.c:336 gsumm.c:568 #, c-format @@ -3120,65 +3120,65 @@ msgstr "" #: gsumm.c:345 msgid "sum is not meaningful for factors." -msgstr "ӵĺû塣" +msgstr "因子的和没有意义。" #: gsumm.c:349 #, c-format msgid "This gsum took (narm=%s) ... " -msgstr "gsum ռ (narm=%s) ..." +msgstr "gsum 占用了 (narm=%s) ..." #: gsumm.c:350 gsumm.c:606 #, c-format msgid "nrow [%d] != length(x) [%d] in gsum" -msgstr "gsum nrow [%d] != length(x) [%d]" +msgstr "gsum 中 nrow [%d] != length(x) [%d]" #: gsumm.c:404 msgid "" "The sum of an integer column for a group was more than type 'integer' can " "hold so the result has been coerced to 'numeric' automatically for " "convenience." -msgstr "ijз͵ĽУ" -"˳ͣintergerֵֵ" -"ʽԶתΪֵͣnumeric" +msgstr "某整数列分组求和的结果中," +"出现了超过了整型(interger)数值所允许最大值的情况," +"故结果被自动转换为数值类型(numeric)" #: gsumm.c:565 #, c-format msgid "" "Type '%s' not supported by GForce sum (gsum). Either add the prefix base::" "sum(.) or turn off GForce optimization using options(datatable.optimize=1)" -msgstr "GForce ͣgsum֧ '%s'ʹ base::sum(.) " -" options(datatable.optimize=1) ر GForce Ż" +msgstr "GForce 求和(gsum)不支持类型 '%s'。请使用 base::sum(.) 或者" +"设置 options(datatable.optimize=1) 关闭 GForce 优化" #: gsumm.c:578 msgid "" "GForce mean can only be applied to columns, not .SD or similar. Likely " "you're looking for 'DT[,lapply(.SD,mean),by=,.SDcols=]'. See ?data.table." -msgstr "GForce ƽֵУ .SD " -"ڲ 'DT[,lapply(.SD,mean),by=,.SDcols=]'μ ?data.table " +msgstr "GForce 求平均值仅适用于列,而不能用于 .SD 或其它。" +"或许你在查找 'DT[,lapply(.SD,mean),by=,.SDcols=]'。参见 ?data.table 。" #: gsumm.c:579 msgid "mean is not meaningful for factors." -msgstr "ӵƽֵû" +msgstr "因子的平均值没有意义" #: gsumm.c:599 #, c-format msgid "Internal error: gsum returned type '%s'. typeof(x) is '%s'" -msgstr "ڲgsum ص '%s' typeof(x) Ľ '%s'" +msgstr "内部错误:gsum 返回的类型是 '%s',而 typeof(x) 的结果则是 '%s'" #: gsumm.c:609 #, c-format msgid "Unable to allocate %d * %d bytes for sum in gmean na.rm=TRUE" -msgstr "޷Ϊ gmean na.rm=TRUE ܺͣsum %d * %d ֽڿռ" +msgstr "无法为 gmean na.rm=TRUE 的总和(sum)分配 %d * %d 字节空间" #: gsumm.c:612 #, c-format msgid "Unable to allocate %d * %d bytes for counts in gmean na.rm=TRUE" -msgstr "޷Ϊ gmean na.rm=TRUE ļcounts %d * %d ֽڿռ" +msgstr "无法为 gmean na.rm=TRUE 的计数(counts)分配 %d * %d 字节空间" #: gsumm.c:638 #, c-format msgid "Unable to allocate %d * %d bytes for si in gmean na.rm=TRUE" -msgstr "޷Ϊ gmean na.rm=TRUE si %d * %d ֽڿռ" +msgstr "无法为 gmean na.rm=TRUE 的 si 分配 %d * %d 字节空间" #: gsumm.c:650 #, c-format @@ -3186,12 +3186,12 @@ msgid "" "Type '%s' not supported by GForce mean (gmean) na.rm=TRUE. Either add the " "prefix base::mean(.) or turn off GForce optimization using options(datatable." "optimize=1)" -msgstr "GForce ֵgmean֧ '%s'ʹ base::mean(.) " -" options(datatable.optimize=1) ر GForce Ż" +msgstr "GForce 求均值(gmean)不支持类型 '%s'。请使用 base::mean(.) 或者" +"设置 options(datatable.optimize=1) 关闭 GForce 优化" #: gsumm.c:674 msgid "Internal error: unsupported type at the end of gmean" -msgstr "ڲgmean βڲֵ֧" +msgstr "内部错误:gmean 结尾处存在不支持的类型" #: gsumm.c:687 msgid "" @@ -3199,45 +3199,45 @@ msgid "" "of all items in a list such as .SD, either add the prefix base::min(.SD) or " "turn off GForce optimization using options(datatable.optimize=1). More " "likely, you may be looking for 'DT[,lapply(.SD,min),by=,.SDcols=]'" -msgstr "GForce СֵminУ .SD " -"ҪҵбУ .SDԪصСֵʹ base::min(.SD) " -" options(datatable.optimize=1) ر GForce Ż" -"ڲ 'DT[,lapply(.SD,min),by=,.SDcols=]'" +msgstr "GForce 求最小值(min)仅适用于列,而不能用于 .SD 或其它。" +"要找到列表中(如 .SD)所有元素的最小值,须使用 base::min(.SD) 或者" +"设置 options(datatable.optimize=1) 关闭 GForce 优化。" +"你更像是在查找 'DT[,lapply(.SD,min),by=,.SDcols=]'" #: gsumm.c:688 msgid "min is not meaningful for factors." -msgstr "ӵСֵû塣" +msgstr "因子的最小值没有意义。" #: gsumm.c:693 #, c-format msgid "nrow [%d] != length(x) [%d] in gmin" -msgstr "gmin nrow [%d] != length(x) [%d]" +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 " "and returning 'Inf' for such groups to be consistent with base" -msgstr "һûзȱʧֵ" -"Ϊ base һ£ЩǿתΪֵͲ Inf" +msgstr "在至少一个分组中没有发现缺失值。" +"为了与 base 保持一致,将这些组强制转换为数值类型并返回 ‘Inf’。" #: gsumm.c:756 gsumm.c:891 msgid "" "No non-missing values found in at least one group. Returning 'NA' for such " "groups to be consistent with base" -msgstr "һûзȱʧֵ" -"Ϊ base һ£Щ齫 NA" +msgstr "在至少一个分组中没有发现缺失值。" +"为了与 base 保持一致,这些组将返回 ‘NA’。" #: gsumm.c:783 msgid "" "No non-missing values found in at least one group. Returning 'Inf' for such " "groups to be consistent with base" -msgstr "һûзȱʧֵ" -"Ϊ base һ£Щ齫 Inf" +msgstr "在至少一个分组中没有发现缺失值。" +"为了与 base 保持一致,这些组将返回 ‘Inf’。" #: gsumm.c:791 msgid "Type 'complex' has no well-defined min" -msgstr "ܱȽϴСûСֵ" +msgstr "复数不能比较大小,故没有最小值" #: gsumm.c:794 #, c-format @@ -3245,8 +3245,8 @@ msgid "" "Type '%s' not supported by GForce min (gmin). Either add the prefix base::" "min(.) or turn off GForce optimization using options(datatable.optimize=1)" msgstr "" -"'%s'֧Ӧ GForce Сֵgmin Żǰ׺ base::" -"min(.) ʹ options(datatable.optimize=1) ر GForce Ż" +"类型'%s'不支持应用 GForce 最小值(gmin) 优化。你可以添加前缀 base::" +"min(.) 或者使用 options(datatable.optimize=1) 关闭 GForce 优化" #: gsumm.c:806 msgid "" From e3d4a8cc5fb41b6a9638fd194c9dd8341437cc0d Mon Sep 17 00:00:00 2001 From: "RYZEN7\\draco" Date: Sat, 2 Nov 2019 20:55:31 -0400 Subject: [PATCH 05/17] Revert "convert enconding from GBK to UTF-8" This reverts commit 6e65d0ea69899d6778ecc65f7f5ea673ff868898. --- po/zh_CN.po | 90 ++++++++++++++++++++++++++--------------------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index cbcb9f3d76..710b460ec5 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1,4 +1,4 @@ -msgid "" +msgid "" msgstr "" "Project-Id-Version: data.table 1.12.5\n" "Report-Msgid-Bugs-To: \n" @@ -3056,11 +3056,11 @@ msgstr "" #: gsumm.c:47 msgid "l is not an integer vector" -msgstr "l 不是整数向量" +msgstr "l " #: gsumm.c:56 msgid "irowsArg is neither an integer vector nor NULL" -msgstr "irowsArg 既不是整数向量也不是 NULL" +msgstr "irowsArg ȲҲ NULL" #: gsumm.c:58 #, c-format @@ -3070,48 +3070,48 @@ msgstr "" #: gsumm.c:66 #, c-format msgid "o has length %d but sum(l)=%d" -msgstr "o 的长度为 %d,但 sum(l) = %d" +msgstr "o ijΪ %d sum(l) = %d" #: gsumm.c:69 msgid "Internal error: o's maxgrpn attribute mismatches recalculated maxgrpn" -msgstr "内部错误:o 的 maxgrpn 属性与重新计算的 maxgrpn 不匹配" +msgstr "ڲo maxgrpn ¼ maxgrpn ƥ" #: gsumm.c:89 #, c-format msgid "" "Internal error: nrow=%d ngrp=%d nbit=%d shift=%d highSize=%d nBatch=%d " "batchSize=%d lastBatchSize=%d\n" -msgstr "内部错误:nrow=%d ngrp=%d nbit=%d shift=%d highSize=%d nBatch=%d " +msgstr "ڲnrow=%d ngrp=%d nbit=%d shift=%d highSize=%d nBatch=%d " "batchSize=%d lastBatchSize=%d\n" #: gsumm.c:98 #, c-format msgid "gforce initial population of grp took %.3f\n" -msgstr "grp 的 gforce 初始群体数占了 %.3f\n " +msgstr "grp gforce ʼȺռ %.3f\n " #: gsumm.c:116 msgid "" "Internal error: Failed to allocate counts or TMP when assigning g in gforce" -msgstr "内部错误:在 gforce 中为 g 赋值时,未能成功为 counts 或者 TMP 分配空间" +msgstr "ڲ gforce Ϊ g ֵʱδܳɹΪ counts TMP ռ" #: gsumm.c:194 #, c-format msgid "gforce assign high and low took %.3f\n" -msgstr "gforce 分配 high 和 low 用了 %.3f\n" +msgstr "gforce high low %.3f\n" #: gsumm.c:200 #, c-format msgid "gforce eval took %.3f\n" -msgstr "gforce eval 用了 %.3f\n" +msgstr "gforce eval %.3f\n" #: gsumm.c:216 msgid "gather took ... " -msgstr "gather 用了 ..." +msgstr "gather ..." #: gsumm.c:334 #, c-format msgid "gather implemented for INTSXP, REALSXP, and CPLXSXP but not '%s'" -msgstr "gather 已支持 INTSXP,REALSXP 和 CPLXSXP,但不支持 '%s'" +msgstr "gather ֧ INTSXPREALSXP CPLXSXP֧ '%s'" #: gsumm.c:336 gsumm.c:568 #, c-format @@ -3120,65 +3120,65 @@ msgstr "" #: gsumm.c:345 msgid "sum is not meaningful for factors." -msgstr "因子的和没有意义。" +msgstr "ӵĺû塣" #: gsumm.c:349 #, c-format msgid "This gsum took (narm=%s) ... " -msgstr "gsum 占用了 (narm=%s) ..." +msgstr "gsum ռ (narm=%s) ..." #: gsumm.c:350 gsumm.c:606 #, c-format msgid "nrow [%d] != length(x) [%d] in gsum" -msgstr "gsum 中 nrow [%d] != length(x) [%d]" +msgstr "gsum nrow [%d] != length(x) [%d]" #: gsumm.c:404 msgid "" "The sum of an integer column for a group was more than type 'integer' can " "hold so the result has been coerced to 'numeric' automatically for " "convenience." -msgstr "某整数列分组求和的结果中," -"出现了超过了整型(interger)数值所允许最大值的情况," -"故结果被自动转换为数值类型(numeric)" +msgstr "ijз͵ĽУ" +"˳ͣintergerֵֵ" +"ʽԶתΪֵͣnumeric" #: gsumm.c:565 #, c-format msgid "" "Type '%s' not supported by GForce sum (gsum). Either add the prefix base::" "sum(.) or turn off GForce optimization using options(datatable.optimize=1)" -msgstr "GForce 求和(gsum)不支持类型 '%s'。请使用 base::sum(.) 或者" -"设置 options(datatable.optimize=1) 关闭 GForce 优化" +msgstr "GForce ͣgsum֧ '%s'ʹ base::sum(.) " +" options(datatable.optimize=1) ر GForce Ż" #: gsumm.c:578 msgid "" "GForce mean can only be applied to columns, not .SD or similar. Likely " "you're looking for 'DT[,lapply(.SD,mean),by=,.SDcols=]'. See ?data.table." -msgstr "GForce 求平均值仅适用于列,而不能用于 .SD 或其它。" -"或许你在查找 'DT[,lapply(.SD,mean),by=,.SDcols=]'。参见 ?data.table 。" +msgstr "GForce ƽֵУ .SD " +"ڲ 'DT[,lapply(.SD,mean),by=,.SDcols=]'μ ?data.table " #: gsumm.c:579 msgid "mean is not meaningful for factors." -msgstr "因子的平均值没有意义" +msgstr "ӵƽֵû" #: gsumm.c:599 #, c-format msgid "Internal error: gsum returned type '%s'. typeof(x) is '%s'" -msgstr "内部错误:gsum 返回的类型是 '%s',而 typeof(x) 的结果则是 '%s'" +msgstr "ڲgsum ص '%s' typeof(x) Ľ '%s'" #: gsumm.c:609 #, c-format msgid "Unable to allocate %d * %d bytes for sum in gmean na.rm=TRUE" -msgstr "无法为 gmean na.rm=TRUE 的总和(sum)分配 %d * %d 字节空间" +msgstr "޷Ϊ gmean na.rm=TRUE ܺͣsum %d * %d ֽڿռ" #: gsumm.c:612 #, c-format msgid "Unable to allocate %d * %d bytes for counts in gmean na.rm=TRUE" -msgstr "无法为 gmean na.rm=TRUE 的计数(counts)分配 %d * %d 字节空间" +msgstr "޷Ϊ gmean na.rm=TRUE ļcounts %d * %d ֽڿռ" #: gsumm.c:638 #, c-format msgid "Unable to allocate %d * %d bytes for si in gmean na.rm=TRUE" -msgstr "无法为 gmean na.rm=TRUE 的 si 分配 %d * %d 字节空间" +msgstr "޷Ϊ gmean na.rm=TRUE si %d * %d ֽڿռ" #: gsumm.c:650 #, c-format @@ -3186,12 +3186,12 @@ msgid "" "Type '%s' not supported by GForce mean (gmean) na.rm=TRUE. Either add the " "prefix base::mean(.) or turn off GForce optimization using options(datatable." "optimize=1)" -msgstr "GForce 求均值(gmean)不支持类型 '%s'。请使用 base::mean(.) 或者" -"设置 options(datatable.optimize=1) 关闭 GForce 优化" +msgstr "GForce ֵgmean֧ '%s'ʹ base::mean(.) " +" options(datatable.optimize=1) ر GForce Ż" #: gsumm.c:674 msgid "Internal error: unsupported type at the end of gmean" -msgstr "内部错误:gmean 结尾处存在不支持的类型" +msgstr "ڲgmean βڲֵ֧" #: gsumm.c:687 msgid "" @@ -3199,45 +3199,45 @@ msgid "" "of all items in a list such as .SD, either add the prefix base::min(.SD) or " "turn off GForce optimization using options(datatable.optimize=1). More " "likely, you may be looking for 'DT[,lapply(.SD,min),by=,.SDcols=]'" -msgstr "GForce 求最小值(min)仅适用于列,而不能用于 .SD 或其它。" -"要找到列表中(如 .SD)所有元素的最小值,须使用 base::min(.SD) 或者" -"设置 options(datatable.optimize=1) 关闭 GForce 优化。" -"你更像是在查找 'DT[,lapply(.SD,min),by=,.SDcols=]'" +msgstr "GForce СֵminУ .SD " +"ҪҵбУ .SDԪصСֵʹ base::min(.SD) " +" options(datatable.optimize=1) ر GForce Ż" +"ڲ 'DT[,lapply(.SD,min),by=,.SDcols=]'" #: gsumm.c:688 msgid "min is not meaningful for factors." -msgstr "因子的最小值没有意义。" +msgstr "ӵСֵû塣" #: gsumm.c:693 #, c-format msgid "nrow [%d] != length(x) [%d] in gmin" -msgstr "gmin 中 nrow [%d] != length(x) [%d]" +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 " "and returning 'Inf' for such groups to be consistent with base" -msgstr "在至少一个分组中没有发现缺失值。" -"为了与 base 保持一致,将这些组强制转换为数值类型并返回 ‘Inf’。" +msgstr "һûзȱʧֵ" +"Ϊ base һ£ЩǿתΪֵͲ Inf" #: gsumm.c:756 gsumm.c:891 msgid "" "No non-missing values found in at least one group. Returning 'NA' for such " "groups to be consistent with base" -msgstr "在至少一个分组中没有发现缺失值。" -"为了与 base 保持一致,这些组将返回 ‘NA’。" +msgstr "һûзȱʧֵ" +"Ϊ base һ£Щ齫 NA" #: gsumm.c:783 msgid "" "No non-missing values found in at least one group. Returning 'Inf' for such " "groups to be consistent with base" -msgstr "在至少一个分组中没有发现缺失值。" -"为了与 base 保持一致,这些组将返回 ‘Inf’。" +msgstr "һûзȱʧֵ" +"Ϊ base һ£Щ齫 Inf" #: gsumm.c:791 msgid "Type 'complex' has no well-defined min" -msgstr "复数不能比较大小,故没有最小值" +msgstr "ܱȽϴСûСֵ" #: gsumm.c:794 #, c-format @@ -3245,8 +3245,8 @@ msgid "" "Type '%s' not supported by GForce min (gmin). Either add the prefix base::" "min(.) or turn off GForce optimization using options(datatable.optimize=1)" msgstr "" -"类型'%s'不支持应用 GForce 最小值(gmin) 优化。你可以添加前缀 base::" -"min(.) 或者使用 options(datatable.optimize=1) 关闭 GForce 优化" +"'%s'֧Ӧ GForce Сֵgmin Żǰ׺ base::" +"min(.) ʹ options(datatable.optimize=1) ر GForce Ż" #: gsumm.c:806 msgid "" From 1212b66bff07d00c36faaaa74c0844428a1f5f9d Mon Sep 17 00:00:00 2001 From: "RYZEN7\\draco" Date: Sun, 3 Nov 2019 08:44:45 -0500 Subject: [PATCH 06/17] translate start and end of assigned msgs. --- po/zh_CN.po | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index 33f572397b..0c65e83b18 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1794,7 +1794,7 @@ msgstr "" #: fread.c:1206 #, c-format msgid "Opened file ok but couldn't obtain its size: %s" -msgstr "" +msgstr "文件能够打开但无法获知其大小:%s" #: fread.c:1209 fread.c:1237 #, c-format @@ -1999,7 +1999,9 @@ msgid "" "Found and resolved improper quoting in first %d rows. If the fields are not " "quoted (e.g. field separator does not appear within any field), try quote=" "\"\" to avoid this warning." -msgstr "" +msgstr "在前 %d 行中发现并修正了不合适的引号用法。如果字段们没有" +"加引号(例如字段间隔符没有在任何字段内出现),尝试使用 quote=" +"\"\" 来避免此警告。" #: fread.c:1584 #, c-format From 9639144d7f0cbccecf1f161f07be32130a9dadf7 Mon Sep 17 00:00:00 2001 From: "RYZEN7\\draco" Date: Sun, 3 Nov 2019 20:04:49 -0500 Subject: [PATCH 07/17] till 1899 --- po/zh_CN.po | 47 +++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index 0c65e83b18..307fe2513b 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1799,104 +1799,111 @@ msgstr "文件能够打开但无法获知其大小:%s" #: fread.c:1209 fread.c:1237 #, c-format msgid "File is empty: %s" -msgstr "" +msgstr "文件是空的:%s" #: fread.c:1210 fread.c:1238 #, c-format msgid " File opened, size = %s.\n" -msgstr "" +msgstr "文件已打开,大小为 %s.\n" #: fread.c:1227 #, c-format msgid "File not found: %s" -msgstr "" +msgstr "文件没有找到:%s" #: fread.c:1233 #, c-format msgid "Unable to open file after %d attempts (error %d): %s" -msgstr "" +msgstr "经过 %d 次尝试后仍无法打开文件(错误 %d):%s" #: fread.c:1235 #, c-format msgid "GetFileSizeEx failed (returned 0) on file: %s" -msgstr "" +msgstr "GetFileSizeEx 未能成功执行(返回值为0)于文件:%s" #: fread.c:1240 #, c-format msgid "This is Windows, CreateFileMapping returned error %d for file %s" -msgstr "" +msgstr "现在在Windows下,CreateFileMapping 返回错误 %d 于文件 %s" #: fread.c:1247 #, c-format msgid "" "Opened %s file ok but could not memory map it. This is a %dbit process. %s." -msgstr "" +msgstr "能够打开文件 %s 但不能创建内存映射。这是一个 %d 位进程。 %s." #: fread.c:1248 msgid "Please upgrade to 64bit" -msgstr "" +msgstr "请升级到64位" #: fread.c:1248 msgid "There is probably not enough contiguous virtual memory available" -msgstr "" +msgstr "多半没有足够的连续虚拟内存" #: fread.c:1251 msgid " Memory mapped ok\n" -msgstr "" +msgstr " 内存映射正常\n" #: fread.c:1253 msgid "" "Internal error: Neither `input` nor `filename` are given, nothing to read." -msgstr "" +msgstr "内部错误:既没有`input`(输入)也没有`filename`(文件名),没有什么可供读入。" #: fread.c:1270 msgid "[03] Detect and skip BOM\n" -msgstr "" +msgstr "[03] 检测并跳过字节顺序标记(BOM)\n" #: fread.c:1274 msgid "" " UTF-8 byte order mark EF BB BF found at the start of the file and " "skipped.\n" -msgstr "" +msgstr "在文件头发现了UTF-8 字节顺序标记(BOM)EF BB BF 并已" +"跳过。\n" #: fread.c:1279 msgid "" "GB-18030 encoding detected, however fread() is unable to decode it. Some " "character fields may be garbled.\n" -msgstr "" +msgstr "检测到GB-18030 编码,但fread() 未能解码。某些 " +"字符字段可能有乱码。\n" #: fread.c:1282 msgid "" "File is encoded in UTF-16, this encoding is not supported by fread(). Please " "recode the file to UTF-8." -msgstr "" +msgstr "文件编码是UTF-16,fread()不支持此编码。请 " +"将文件转换为UTF-8。" #: fread.c:1287 #, c-format msgid " Last byte(s) of input found to be %s and removed.\n" -msgstr "" +msgstr " 发现输入的最后字节是 %s 并已去除。\n" #: fread.c:1290 msgid "Input is empty or only contains BOM or terminal control characters" -msgstr "" +msgstr "输入是空的或只有字节顺序标记(BOM)或终端控制字符" #: fread.c:1297 msgid "[04] Arrange mmap to be \\0 terminated\n" -msgstr "" +msgstr "[04] 设定mmap为 \\0 终止\n" #: fread.c:1304 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 "" +msgstr " 文件中完全没有换行符\\n,所以单个 \\r(如果有的话)将被当成" +"一行的结束。这是不常见的但如果也没有" +"\\r 的话属于正常;例如单个行没有行尾结束符。\n" #: fread.c:1305 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" -msgstr "" +msgstr " 输入中有\\n 并且不同行可以有不同的 " +"行尾结束符(如在一个文件中混合使用 \\n 和\\r\\n)。这很常见" +"也是理想情况。\n" #: fread.c:1329 #, c-format From 70487424d683414344bd94b9881d23a5b9b5eec9 Mon Sep 17 00:00:00 2001 From: "RYZEN7\\draco" Date: Mon, 4 Nov 2019 19:59:08 -0500 Subject: [PATCH 08/17] two entries then found possible problem of missing messages --- po/zh_CN.po | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index 307fe2513b..11cfe9bb9c 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1910,12 +1910,13 @@ msgstr " 输入中有\\n 并且不同行可以有不同的 " msgid "" " File ends abruptly with '%c'. Final end-of-line is missing. Using cow page " "to write 0 to the last byte.\n" -msgstr "" +msgstr " 文件突然中止于 '%c'。没有最后一个行尾结束符。正使用写时复制页(cow, copy-on-write)" +"写入 0 到最后一个比特。\n" #: fread.c:1336 #, c-format msgid " File ends abruptly with '%c'. Copying file in RAM. %s copy.\n" -msgstr "" +msgstr " 文件突然中止于 '%c'。正在从内存中复制文件。%s 复制。\n" #: fread.c:1370 msgid "[05] Skipping initial rows if needed\n" From ce89594aebc7a3285099b3ef650576d50699acc3 Mon Sep 17 00:00:00 2001 From: Xianghui Dong Date: Tue, 5 Nov 2019 10:13:47 -0500 Subject: [PATCH 09/17] 10 missing message not captured? --- src/fread.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/fread.c b/src/fread.c index d329c5a19b..c877faa356 100644 --- a/src/fread.c +++ b/src/fread.c @@ -103,7 +103,7 @@ typedef struct FieldParseContext { static void Field(FieldParseContext *ctx); #define ASSERT(cond, msg, ...) \ - if (!(cond)) STOP("Internal error in line %d of fread.c, please report on data.table GitHub: " msg, __LINE__, __VA_ARGS__) // # nocov + if (!(cond)) STOP(_("Internal error in line %d of fread.c, please report on data.table GitHub: ") msg, __LINE__, __VA_ARGS__) // # nocov @@ -1495,7 +1495,7 @@ int freadMain(freadMainArgs _args) { const char *prevLineStart=ch, *lineStart=ch; int lastncol = countfields(&ch); if (lastncol<0) continue; // invalid file with this sep and quote rule, skip - ASSERT(lastncol>0, "Internal error: first non-empty row should always be at least one field; %c %d", sep, quoteRule); // # nocov + ASSERT(lastncol>0, _("Internal error: first non-empty row should always be at least one field; %c %d"), sep, quoteRule); // # nocov const char *thisBlockStart=lineStart; const char *thisBlockPrevStart = NULL; int thisBlockLines=1, thisRow=0; @@ -1546,7 +1546,7 @@ int freadMain(freadMainArgs _args) { if (!firstJumpEnd) { if (verbose) DTPRINT(_(" No sep and quote rule found a block of 2x2 or greater. Single column input.\n")); topNumFields = 1; - ASSERT(topSep==127, "Single column input has topSep=%d", topSep); + ASSERT(topSep==127, _("Single column input has topSep=%d"), topSep); sep = topSep; // no self healing quote rules, as we don't have >1 field to disambiguate // choose quote rule 0 or 1 based on for which 100 rows gets furthest into file @@ -1597,7 +1597,7 @@ int freadMain(freadMainArgs _args) { if (fileSize%4096==0) { const char *msg = _("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 is a multiple of 4096, too."); if (verbose) DTPRINT(_(" Copying file in RAM. %s\n"), msg); - ASSERT(mmp_copy==NULL, "Internal error: mmp has already been copied due to abrupt non-eol ending, so it does not end with 2 or more eol.", 1/*dummy arg for macro*/); // #nocov + ASSERT(mmp_copy==NULL, _("Internal error: mmp has already been copied due to abrupt non-eol ending, so it does not end with 2 or more eol."), 1/*dummy arg for macro*/); // #nocov copyFile(fileSize, msg, verbose); pos = sof + (pos-(const char *)mmp); firstJumpEnd = sof + (firstJumpEnd-(const char *)mmp); @@ -1689,7 +1689,7 @@ int freadMain(freadMainArgs _args) { if ( (thisNcol1 && !fill) || (!eol(&ch) && ch!=eof) ) { if (verbose) DTPRINT(_(" A line with too-%s fields (%d/%d) was found on line %d of sample jump %d. %s\n"), - thisNcol0 ? "Most likely this jump landed awkwardly so type bumps here will be skipped." : ""); + thisNcol0 ? _("Most likely this jump landed awkwardly so type bumps here will be skipped.") : ""); bumped = false; if (jump==0) lastRowEnd=eof; // to prevent the end from being tested; e.g. a short file with blank line within first 100 like test 976 break; @@ -1746,7 +1746,7 @@ int freadMain(freadMainArgs _args) { if (ttncol) { if (fill) STOP(_("Internal error: fill=true but there is a previous row which should already have been filled.")); // # nocov DTWARN(_("Detected %d column names but the data has %d columns. Filling rows automatically. Set fill=TRUE explicitly to avoid this warning.\n"), tt, ncol); @@ -1773,7 +1773,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")); @@ -2004,7 +2004,7 @@ int freadMain(freadMainArgs _args) { nth = omp_get_num_threads(); if (me!=0) { // # nocov start - snprintf(internalErr, internalErrSize, "Internal error: Master thread is not thread 0 but thread %d.\n", me); + snprintf(internalErr, internalErrSize, _("Internal error: Master thread is not thread 0 but thread %d.\n"), me); stopTeam = true; // # nocov end } @@ -2261,7 +2261,7 @@ int freadMain(freadMainArgs _args) { } else if (headPos!=thisJumpStart) { // # nocov start - snprintf(internalErr, internalErrSize, "Internal error: invalid head position. jump=%d, headPos=%p, thisJumpStart=%p, sof=%p", jump, (void*)headPos, (void*)thisJumpStart, (void*)sof); + snprintf(internalErr, internalErrSize, _("Internal error: invalid head position. jump=%d, headPos=%p, thisJumpStart=%p, sof=%p"), jump, (void*)headPos, (void*)thisJumpStart, (void*)sof); stopTeam = true; // # nocov end } @@ -2342,7 +2342,7 @@ int freadMain(freadMainArgs _args) { } if (restartTeam) { if (verbose) DTPRINT(_(" Restarting team from jump %d. nSwept==%d quoteRule==%d\n"), jump0, nSwept, quoteRule); - ASSERT(nSwept>0 || quoteRuleBumpedCh!=NULL, "Internal error: team restart but nSwept==%d and quoteRuleBumpedCh==%p", nSwept, quoteRuleBumpedCh); // # nocov + ASSERT(nSwept>0 || quoteRuleBumpedCh!=NULL, _("Internal error: team restart but nSwept==%d and quoteRuleBumpedCh==%p"), nSwept, quoteRuleBumpedCh); // # nocov goto read; } // else nrowLimit applied and stopped early normally From 387f44f839217a7685795b58620c52500767a427 Mon Sep 17 00:00:00 2001 From: Xianghui Dong Date: Tue, 5 Nov 2019 11:25:58 -0500 Subject: [PATCH 10/17] till 1962 --- po/zh_CN.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index dc9ca2cf85..1a9f3b3411 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1913,14 +1913,14 @@ msgid "" " File ends abruptly with '%c'. Final end-of-line is missing. Using cow page " "to write 0 to the last byte.\n" msgstr " 文件突然中止于 '%c'。没有最后一个行尾结束符。正使用写时复制页(cow, copy-on-write)" -"写入 0 到最后一个比特。\n" +"写入 0 到最后一个字节。\n" #: fread.c:1335 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 " "with a newline using for example 'echo >> file' to avoid this " -msgstr "" +msgstr "这个文件非常不正常:它突然中止而没有最后的换行,并且其大小是4096 字节的整数倍。请用一个换行(例如 'echo >> file')来恰当地结束最后一行以避免此错误" #: fread.c:1336 #, c-format @@ -1929,37 +1929,37 @@ msgstr " 文件突然中止于 '%c'。正在从内存中复制文件。%s 复 #: fread.c:1370 msgid "[05] Skipping initial rows if needed\n" -msgstr "" +msgstr "[05] 如需要的话跳过起始行\n" #: fread.c:1376 #, c-format msgid "" "skip='%s' not found in input (it is case sensitive and literal; i.e., no " "patterns, wildcards or regex)" -msgstr "" +msgstr "在输入中没有发现 skip='%s' (这里大小写敏感并需要是字面形式,也就是说不能使用模式,适配符或正则表达式)" #: fread.c:1382 #, c-format msgid "" "Found skip='%s' on line %llu. Taking this to be header row or first row of " "data.\n" -msgstr "" +msgstr "在行 %2$llu 发现了 skip='%1$s'。将此当做表头或数据的第一行。\n" #: fread.c:1395 #, c-format msgid " Skipped to line %llu in the file" -msgstr "" +msgstr " 跳到文件的第 %llu 行" #: fread.c:1396 #, c-format msgid "skip=%llu but the input only has %llu line%s" -msgstr "" +msgstr "skip=%llu 但输入只有 %llu 行 %s" #: fread.c:1405 msgid "" "Input is either empty, fully whitespace, or skip has been set after the last " "non-whitespace." -msgstr "" +msgstr "输入是空,或全部为空白,或跳过设置是在最后一个非空白字符之后。" #: fread.c:1407 #, c-format From 3eec73f5bf0d7fed773c99fdcf2f691fe0cab9d9 Mon Sep 17 00:00:00 2001 From: "RYZEN7\\draco" Date: Fri, 8 Nov 2019 20:39:11 -0500 Subject: [PATCH 11/17] finished assignment --- po/zh_CN.po | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index e6fe902bbd..2a019f761f 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1986,51 +1986,51 @@ msgstr "输入是空,或全部为空白,或跳过设置是在最后一个非 #: fread.c:1407 #, c-format msgid " Moved forward to first non-blank line (%d)\n" -msgstr "" +msgstr " 前移到第一个非空行 (%d)\n" #: fread.c:1408 #, c-format msgid " Positioned on line %d starting: <<%s>>\n" -msgstr "" +msgstr " 定位到行 %d 开始于: <<%s>>\n" #: fread.c:1426 msgid "[06] Detect separator, quoting rule, and ncolumns\n" -msgstr "" +msgstr "[06] 检测分隔符,引用规则,以及列数\n" #: fread.c:1430 msgid " sep='\\n' passed in meaning read lines as single character column\n" -msgstr "" +msgstr " sep='\\n' 设定意味着将把所有行读作一个字符列\n" #: fread.c:1449 msgid " Detecting sep automatically ...\n" -msgstr "" +msgstr " 自动检测分隔符中 ...\n" #: fread.c:1456 #, c-format msgid " Using supplied sep '%s'\n" -msgstr "" +msgstr " 使用提供的分隔符 '%s'\n" #: fread.c:1490 #, c-format msgid " with %d fields using quote rule %d\n" -msgstr "" +msgstr " 对 %d 个字段使用引用规则 %d\n" #: fread.c:1540 #, c-format msgid " with %d lines of %d fields using quote rule %d\n" -msgstr "" +msgstr " 对 %d 行的 %d 字段使用引用规则 %d\n" #: fread.c:1547 msgid "" " No sep and quote rule found a block of 2x2 or greater. Single column " "input.\n" -msgstr "" +msgstr " 没有分隔符并且引用规则发现了一个大于或等于2x2的区块。输入是单列。\n" #: fread.c:1563 msgid "" "Single column input contains invalid quotes. Self healing only effective " "when ncol>1" -msgstr "" +msgstr "单列输入包含了不合法的引用。自我修正只有在列数大于1(ncol>1)时才有效" #: fread.c:1568 #, c-format @@ -2038,8 +2038,8 @@ msgid "" "Found and resolved improper quoting in first %d rows. If the fields are not " "quoted (e.g. field separator does not appear within any field), try quote=" "\"\" to avoid this warning." -msgstr "在前 %d 行中发现并修正了不合适的引号用法。如果字段们没有" -"加引号(例如字段间隔符没有在任何字段内出现),尝试使用 quote=" +msgstr "在前 %d 行中发现并修正了不合适的引号用法。如果字段没有" +"加引号(例如字段间隔符没有在任何字段内出现),可以尝试使用 quote=" "\"\" 来避免此警告。" #: fread.c:1584 From 301387b5bfbd57f9236336c6b724349be102e7c9 Mon Sep 17 00:00:00 2001 From: Xianghui Dong Date: Sun, 10 Nov 2019 15:25:21 -0500 Subject: [PATCH 12/17] review and edit --- po/R-zh_CN.po | 2 +- po/zh_CN.po | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/po/R-zh_CN.po b/po/R-zh_CN.po index 23cf931966..80189ad5fb 100644 --- a/po/R-zh_CN.po +++ b/po/R-zh_CN.po @@ -960,7 +960,7 @@ msgid "" "will create a new column for each embedded column." msgstr "" "。setDT 会原样保留这些列但后续的操作如" -"编组和联接可能会失败。请考虑使用 as.data.table() 因为它" +"编组(grouping)和联接(joining)可能会失败。请考虑使用 as.data.table() 因为它" "会为每个内嵌列建立一个新列。" msgid "Column" diff --git a/po/zh_CN.po b/po/zh_CN.po index 2a019f761f..de7a372814 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1917,7 +1917,7 @@ msgid "" "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" #: fread.c:1305 From 0608748ac4f93f0f01c41577c09517cef4806527 Mon Sep 17 00:00:00 2001 From: Xianghui Dong Date: Sun, 10 Nov 2019 15:30:56 -0500 Subject: [PATCH 13/17] update meta info --- po/R-zh_CN.po | 2 +- po/zh_CN.po | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/po/R-zh_CN.po b/po/R-zh_CN.po index 80189ad5fb..e544d47f4d 100644 --- a/po/R-zh_CN.po +++ b/po/R-zh_CN.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: data.table 1.12.5\n" "POT-Creation-Date: 2019-10-21 16:15\n" -"PO-Revision-Date: 2019-10-24 17:02-04\n" +"PO-Revision-Date: 2019-11-10 15:29-04\n" "Last-Translator: Xianghui Dong \n" "Language-Team: Mandarin\n" "Language: Mandarin\n" diff --git a/po/zh_CN.po b/po/zh_CN.po index de7a372814..a69f1c0857 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: data.table 1.12.5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-21 16:15+0800\n" -"PO-Revision-Date: 2019-10-26 23:54+08\n" -"Last-Translator: Haogao Gu \n" +"PO-Revision-Date: 2019-11-10 15:29-04\n" +"Last-Translator: Xianghui Dong \n" "Language-Team: Mandarin\n" "Language: Mandarin\n" "MIME-Version: 1.0\n" From 6bddd9ccfff68762340f43be59a74314910cd459 Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Mon, 11 Nov 2019 09:35:56 +0800 Subject: [PATCH 14/17] macro-within-macro removed --- src/fread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fread.c b/src/fread.c index c877faa356..299175d3ba 100644 --- a/src/fread.c +++ b/src/fread.c @@ -103,7 +103,7 @@ typedef struct FieldParseContext { static void Field(FieldParseContext *ctx); #define ASSERT(cond, msg, ...) \ - if (!(cond)) STOP(_("Internal error in line %d of fread.c, please report on data.table GitHub: ") msg, __LINE__, __VA_ARGS__) // # nocov + if (!(cond)) STOP("Internal error in line %d of fread.c, please report on data.table GitHub: " msg, __LINE__, __VA_ARGS__) // # nocov From af20a71be667a9f04b3a92b2a5964651693f3433 Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Mon, 11 Nov 2019 09:47:44 +0800 Subject: [PATCH 15/17] syntax error -- split ternary operator --- src/fread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fread.c b/src/fread.c index 299175d3ba..1d566827cc 100644 --- a/src/fread.c +++ b/src/fread.c @@ -1746,7 +1746,7 @@ int freadMain(freadMainArgs _args) { if (ttncol) { if (fill) STOP(_("Internal error: fill=true but there is a previous row which should already have been filled.")); // # nocov DTWARN(_("Detected %d column names but the data has %d columns. Filling rows automatically. Set fill=TRUE explicitly to avoid this warning.\n"), tt, ncol); From f40e2c13c69ae1a68ba310e7f019cc26e0a5623a Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Mon, 11 Nov 2019 11:48:17 +0800 Subject: [PATCH 16/17] roll back use of translation in ASSERT internal errors --- inst/po/en@quot/LC_MESSAGES/data.table.mo | Bin 137480 -> 138720 bytes inst/po/zh_CN/LC_MESSAGES/R-data.table.mo | Bin 23693 -> 28043 bytes inst/po/zh_CN/LC_MESSAGES/data.table.mo | Bin 30302 -> 37069 bytes po/data.table.pot | 394 ++++++++------- po/zh_CN.po | 558 ++++++++++++---------- src/fread.c | 12 +- src/po.h | 2 +- 7 files changed, 540 insertions(+), 426 deletions(-) diff --git a/inst/po/en@quot/LC_MESSAGES/data.table.mo b/inst/po/en@quot/LC_MESSAGES/data.table.mo index f51de64b1b3a74fb66aa7dd2ec3ca167eaccb951..a070d58bae8fb397ad10164ad72b60113e9c27be 100644 GIT binary patch delta 18968 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 E2SAOTP5=M^ delta 17808 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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 c4d04c7eec8de00f8fb2799118eac03eab7a3693..eabbce7420a9eb832456d527cda731764b74c302 100644 GIT binary patch delta 7546 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 E59V&yX#fBK delta 3409 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\n" "Language-Team: LANGUAGE \n" @@ -1603,362 +1603,362 @@ msgstr "" msgid "Internal error. Argument 'cols' to CanyNA is type '%s' not 'integer'" msgstr "" -#: fread.c:149 +#: fread.c:153 #, c-format msgid "System error %d unmapping view of file\n" msgstr "" -#: fread.c:152 +#: fread.c:156 #, c-format msgid "System errno %d unmapping file: %s\n" msgstr "" -#: fread.c:212 +#: fread.c:216 #, c-format msgid "Internal error: NUMTYPE(%d) > nLetters(%d)" msgstr "" -#: fread.c:437 +#: fread.c:441 #, c-format msgid "Unable to allocate %s of contiguous virtual RAM. %s allocation." msgstr "" -#: fread.c:442 +#: fread.c:446 #, c-format msgid "Avoidable %.3f seconds. %s time to copy.\n" msgstr "" -#: fread.c:443 +#: fread.c:447 #, c-format msgid " File copy in RAM took %.3f seconds.\n" msgstr "" -#: fread.c:1095 +#: fread.c:1099 msgid "" "Previous fread() session was not cleaned up properly. Cleaned up ok at the " "beginning of this fread() call.\n" msgstr "" -#: fread.c:1098 +#: fread.c:1102 msgid "[01] Check arguments\n" msgstr "" -#: fread.c:1105 +#: fread.c:1109 #, c-format msgid " Using %d threads (omp_get_max_threads()=%d, nth=%d)\n" msgstr "" -#: fread.c:1113 +#: fread.c:1117 msgid "" "Internal error: NAstrings is itself NULL. When empty it should be pointer to " "NULL." msgstr "" -#: fread.c:1131 +#: fread.c:1135 #, c-format msgid "freadMain: NAstring <<%s>> has whitespace at the beginning or end" msgstr "" -#: fread.c:1136 +#: fread.c:1140 #, c-format msgid "" "freadMain: NAstring <<%s>> is recognized as type boolean, this is not " "permitted." msgstr "" -#: fread.c:1146 +#: fread.c:1150 msgid " No NAstrings provided.\n" msgstr "" -#: fread.c:1148 +#: fread.c:1152 msgid " NAstrings = [" msgstr "" -#: fread.c:1151 +#: fread.c:1155 msgid "]\n" msgstr "" -#: fread.c:1153 +#: fread.c:1157 msgid " One or more of the NAstrings looks like a number.\n" msgstr "" -#: fread.c:1155 +#: fread.c:1159 msgid " None of the NAstrings look like numbers.\n" msgstr "" -#: fread.c:1157 +#: fread.c:1161 #, c-format msgid " skip num lines = %llu\n" msgstr "" -#: fread.c:1158 +#: fread.c:1162 #, c-format msgid " skip to string = <<%s>>\n" msgstr "" -#: fread.c:1159 +#: fread.c:1163 #, c-format msgid " show progress = %d\n" msgstr "" -#: fread.c:1160 +#: fread.c:1164 #, c-format msgid " 0/1 column will be read as %s\n" msgstr "" -#: fread.c:1168 +#: fread.c:1172 #, c-format msgid "sep == quote ('%c') is not allowed" msgstr "" -#: fread.c:1169 +#: fread.c:1173 msgid "dec='' not allowed. Should be '.' or ','" msgstr "" -#: fread.c:1170 +#: fread.c:1174 #, c-format msgid "sep == dec ('%c') is not allowed" msgstr "" -#: fread.c:1171 +#: fread.c:1175 #, c-format msgid "quote == dec ('%c') is not allowed" msgstr "" -#: fread.c:1188 +#: fread.c:1192 msgid "[02] Opening the file\n" msgstr "" -#: fread.c:1191 +#: fread.c:1195 msgid "" " `input` argument is provided rather than a file name, interpreting as raw " "text to read\n" msgstr "" -#: fread.c:1195 +#: fread.c:1199 msgid "Internal error: last byte of character input isn't \\0" msgstr "" -#: fread.c:1198 +#: fread.c:1202 #, c-format msgid " Opening file %s\n" msgstr "" -#: fread.c:1202 +#: fread.c:1206 #, c-format msgid "file not found: %s" msgstr "" -#: fread.c:1206 +#: fread.c:1210 #, c-format msgid "Opened file ok but couldn't obtain its size: %s" msgstr "" -#: fread.c:1209 fread.c:1237 +#: fread.c:1213 fread.c:1241 #, c-format msgid "File is empty: %s" msgstr "" -#: fread.c:1210 fread.c:1238 +#: fread.c:1214 fread.c:1242 #, c-format msgid " File opened, size = %s.\n" msgstr "" -#: fread.c:1227 +#: fread.c:1231 #, c-format msgid "File not found: %s" msgstr "" -#: fread.c:1233 +#: fread.c:1237 #, c-format msgid "Unable to open file after %d attempts (error %d): %s" msgstr "" -#: fread.c:1235 +#: fread.c:1239 #, c-format msgid "GetFileSizeEx failed (returned 0) on file: %s" msgstr "" -#: fread.c:1240 +#: fread.c:1244 #, c-format msgid "This is Windows, CreateFileMapping returned error %d for file %s" msgstr "" -#: fread.c:1247 +#: fread.c:1251 #, c-format msgid "" "Opened %s file ok but could not memory map it. This is a %dbit process. %s." msgstr "" -#: fread.c:1248 +#: fread.c:1252 msgid "Please upgrade to 64bit" msgstr "" -#: fread.c:1248 +#: fread.c:1252 msgid "There is probably not enough contiguous virtual memory available" msgstr "" -#: fread.c:1251 +#: fread.c:1255 msgid " Memory mapped ok\n" msgstr "" -#: fread.c:1253 +#: fread.c:1257 msgid "" "Internal error: Neither `input` nor `filename` are given, nothing to read." msgstr "" -#: fread.c:1270 +#: fread.c:1274 msgid "[03] Detect and skip BOM\n" msgstr "" -#: fread.c:1274 +#: fread.c:1278 msgid "" " UTF-8 byte order mark EF BB BF found at the start of the file and " "skipped.\n" msgstr "" -#: fread.c:1279 +#: fread.c:1283 msgid "" "GB-18030 encoding detected, however fread() is unable to decode it. Some " "character fields may be garbled.\n" msgstr "" -#: fread.c:1282 +#: fread.c:1286 msgid "" "File is encoded in UTF-16, this encoding is not supported by fread(). Please " "recode the file to UTF-8." msgstr "" -#: fread.c:1287 +#: fread.c:1291 #, c-format msgid " Last byte(s) of input found to be %s and removed.\n" msgstr "" -#: fread.c:1290 +#: fread.c:1294 msgid "Input is empty or only contains BOM or terminal control characters" msgstr "" -#: fread.c:1297 +#: fread.c:1301 msgid "[04] Arrange mmap to be \\0 terminated\n" msgstr "" -#: fread.c:1304 +#: fread.c:1308 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 "" -#: fread.c:1305 +#: fread.c:1309 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" msgstr "" -#: fread.c:1329 +#: fread.c:1333 #, c-format msgid "" " File ends abruptly with '%c'. Final end-of-line is missing. Using cow page " "to write 0 to the last byte.\n" msgstr "" -#: fread.c:1335 +#: fread.c:1339 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 " "with a newline using for example 'echo >> file' to avoid this " msgstr "" -#: fread.c:1336 +#: fread.c:1340 #, c-format msgid " File ends abruptly with '%c'. Copying file in RAM. %s copy.\n" msgstr "" -#: fread.c:1370 +#: fread.c:1374 msgid "[05] Skipping initial rows if needed\n" msgstr "" -#: fread.c:1376 +#: fread.c:1380 #, c-format msgid "" "skip='%s' not found in input (it is case sensitive and literal; i.e., no " "patterns, wildcards or regex)" msgstr "" -#: fread.c:1382 +#: fread.c:1386 #, c-format msgid "" "Found skip='%s' on line %llu. Taking this to be header row or first row of " "data.\n" msgstr "" -#: fread.c:1395 +#: fread.c:1399 #, c-format msgid " Skipped to line %llu in the file" msgstr "" -#: fread.c:1396 +#: fread.c:1400 #, c-format msgid "skip=%llu but the input only has %llu line%s" msgstr "" -#: fread.c:1405 +#: fread.c:1409 msgid "" "Input is either empty, fully whitespace, or skip has been set after the last " "non-whitespace." msgstr "" -#: fread.c:1407 +#: fread.c:1411 #, c-format msgid " Moved forward to first non-blank line (%d)\n" msgstr "" -#: fread.c:1408 +#: fread.c:1412 #, c-format msgid " Positioned on line %d starting: <<%s>>\n" msgstr "" -#: fread.c:1426 +#: fread.c:1430 msgid "[06] Detect separator, quoting rule, and ncolumns\n" msgstr "" -#: fread.c:1430 +#: fread.c:1434 msgid " sep='\\n' passed in meaning read lines as single character column\n" msgstr "" -#: fread.c:1449 +#: fread.c:1453 msgid " Detecting sep automatically ...\n" msgstr "" -#: fread.c:1456 +#: fread.c:1460 #, c-format msgid " Using supplied sep '%s'\n" msgstr "" -#: fread.c:1490 +#: fread.c:1494 #, c-format msgid " with %d fields using quote rule %d\n" msgstr "" -#: fread.c:1540 +#: fread.c:1544 #, c-format msgid " with %d lines of %d fields using quote rule %d\n" msgstr "" -#: fread.c:1547 +#: fread.c:1551 msgid "" " No sep and quote rule found a block of 2x2 or greater. Single column " "input.\n" msgstr "" -#: fread.c:1563 +#: fread.c:1567 msgid "" "Single column input contains invalid quotes. Self healing only effective " "when ncol>1" msgstr "" -#: fread.c:1568 +#: fread.c:1572 #, c-format msgid "" "Found and resolved improper quoting in first %d rows. If the fields are not " @@ -1966,249 +1966,285 @@ msgid "" "\"\" to avoid this warning." msgstr "" -#: fread.c:1584 +#: fread.c:1588 #, c-format msgid "" "Internal error: ncol==%d line==%d after detecting sep, ncol and first line" msgstr "" -#: fread.c:1587 +#: fread.c:1591 #, c-format msgid "Internal error: first line has field count %d but expecting %d" msgstr "" -#: fread.c:1589 +#: fread.c:1593 #, c-format msgid "" " Detected %d columns on line %d. This line is either column names or first " "data row. Line starts as: <<%s>>\n" msgstr "" -#: fread.c:1591 +#: fread.c:1595 #, c-format msgid " Quote rule picked = %d\n" msgstr "" -#: fread.c:1592 +#: fread.c:1596 #, c-format msgid " fill=%s and the most number of columns found is %d\n" msgstr "" -#: fread.c:1598 +#: fread.c:1602 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 is a multiple of 4096, too." msgstr "" -#: fread.c:1599 +#: fread.c:1603 #, c-format msgid " Copying file in RAM. %s\n" msgstr "" -#: fread.c:1605 +#: fread.c:1609 msgid "" " 1-column file ends with 2 or more end-of-line. Restoring last eol using " "extra byte in cow page.\n" msgstr "" -#: fread.c:1624 +#: fread.c:1628 msgid "" "[07] Detect column types, good nrow estimate and whether first row is column " "names\n" msgstr "" -#: fread.c:1625 +#: fread.c:1629 #, c-format msgid " 'header' changed by user from 'auto' to %s\n" msgstr "" -#: fread.c:1629 +#: fread.c:1633 #, c-format msgid "Failed to allocate 2 x %d bytes for type and tmpType: %s" msgstr "" -#: fread.c:1650 +#: fread.c:1654 #, c-format msgid " Number of sampling jump points = %d because " msgstr "" -#: fread.c:1651 +#: fread.c:1655 #, c-format msgid "nrow limit (%llu) supplied\n" msgstr "" -#: fread.c:1652 +#: fread.c:1656 msgid "jump0size==0\n" msgstr "" -#: fread.c:1653 +#: fread.c:1657 #, c-format msgid "(%llu bytes from row 1 to eof) / (2 * %llu jump0size) == %llu\n" msgstr "" -#: fread.c:1691 +#: fread.c:1695 #, c-format msgid "" " A line with too-%s fields (%d/%d) was found on line %d of sample jump %d. " "%s\n" msgstr "" -#: fread.c:1718 +#: fread.c:1696 +msgid "few" +msgstr "" + +#: fread.c:1696 +msgid "many" +msgstr "" + +#: fread.c:1696 +msgid "" +"Most likely this jump landed awkwardly so type bumps here will be skipped." +msgstr "" + +#: fread.c:1722 #, c-format msgid " Type codes (jump %03d) : %s Quote rule %d\n" msgstr "" -#: fread.c:1731 +#: fread.c:1735 #, c-format msgid "" " 'header' determined to be true due to column %d containing a string on row " "1 and a lower type (%s) in the rest of the %d sample rows\n" msgstr "" -#: fread.c:1743 +#: fread.c:1747 msgid "" "Internal error: row before first data row has the same number of fields but " "we're not using it." msgstr "" -#: fread.c:1744 +#: fread.c:1748 msgid "" "Internal error: ch!=pos after counting fields in the line before the first " "data row." msgstr "" -#: fread.c:1745 +#: fread.c:1749 #, c-format msgid "" "Types in 1st data row match types in 2nd data row but previous row has %d " "fields. Taking previous row as column names." msgstr "" -#: fread.c:1748 +#: fread.c:1752 #, c-format msgid "" "Detected %d column names but the data has %d columns (i.e. invalid file). " "Added %d extra default column name%s\n" msgstr "" -#: fread.c:1751 +#: fread.c:1753 +msgid "" +" for the first column which is guessed to be row names or an index. Use " +"setnames() afterwards if this guess is not correct, or fix the file write " +"command that created the file to create a valid file." +msgstr "" + +#: fread.c:1753 +msgid "s at the end." +msgstr "" + +#: fread.c:1755 msgid "" "Internal error: fill=true but there is a previous row which should already " "have been filled." msgstr "" -#: fread.c:1752 +#: fread.c:1756 #, c-format msgid "" "Detected %d column names but the data has %d columns. Filling rows " "automatically. Set fill=TRUE explicitly to avoid this warning.\n" msgstr "" -#: fread.c:1756 +#: fread.c:1760 #, c-format msgid "Failed to realloc 2 x %d bytes for type and tmpType: %s" msgstr "" -#: fread.c:1776 +#: fread.c:1780 #, c-format msgid "" " 'header' determined to be %s because there are%s number fields in the " "first and only row\n" msgstr "" -#: fread.c:1779 +#: fread.c:1780 +msgid "true" +msgstr "" + +#: fread.c:1780 +msgid "false" +msgstr "" + +#: fread.c:1780 +msgid " no" +msgstr "" + +#: fread.c:1783 msgid "" " 'header' determined to be true because all columns are type string and a " "better guess is not possible\n" msgstr "" -#: fread.c:1781 +#: fread.c:1785 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" msgstr "" -#: fread.c:1797 +#: fread.c:1801 #, c-format msgid " Type codes (first row) : %s Quote rule %d\n" msgstr "" -#: fread.c:1806 +#: fread.c:1810 #, c-format msgid "" " All rows were sampled since file is small so we know nrow=%llu exactly\n" msgstr "" -#: fread.c:1818 fread.c:1825 +#: fread.c:1822 fread.c:1829 msgid " =====\n" msgstr "" -#: fread.c:1819 +#: fread.c:1823 #, c-format msgid "" " Sampled %llu rows (handled \\n inside quoted fields) at %d jump points\n" msgstr "" -#: fread.c:1820 +#: fread.c:1824 #, c-format msgid " Bytes from first data row on line %d to the end of last row: %llu\n" msgstr "" -#: fread.c:1821 +#: fread.c:1825 #, c-format msgid " Line length: mean=%.2f sd=%.2f min=%d max=%d\n" msgstr "" -#: fread.c:1822 +#: fread.c:1826 #, c-format msgid " Estimated number of rows: %llu / %.2f = %llu\n" msgstr "" -#: fread.c:1823 +#: fread.c:1827 #, c-format msgid "" " Initial alloc = %llu rows (%llu + %d%%) using bytes/max(mean-2*sd,min) " "clamped between [1.1*estn, 2.0*estn]\n" msgstr "" -#: fread.c:1827 +#: fread.c:1831 #, c-format msgid "Internal error: sampleLines(%llu) > allocnrow(%llu)" msgstr "" -#: fread.c:1831 +#: fread.c:1835 #, c-format msgid " Alloc limited to lower nrows=%llu passed in.\n" msgstr "" -#: fread.c:1843 +#: fread.c:1847 msgid "[08] Assign column names\n" msgstr "" -#: fread.c:1851 +#: fread.c:1855 #, c-format msgid "Unable to allocate %d*%d bytes for column name pointers: %s" msgstr "" -#: fread.c:1873 +#: fread.c:1877 #, c-format msgid "Internal error: reading colnames ending on '%c'" msgstr "" -#: fread.c:1891 +#: fread.c:1895 msgid "[09] Apply user overrides on column types\n" msgstr "" -#: fread.c:1895 +#: fread.c:1899 msgid " Cancelled by user: userOverride() returned false." msgstr "" -#: fread.c:1905 +#: fread.c:1909 #, c-format msgid "Failed to allocate %d bytes for size array: %s" msgstr "" -#: fread.c:1912 +#: fread.c:1916 #, c-format msgid "" "Attempt to override column %d <<%.*s>> of inherent type '%s' down to '%s' " @@ -2216,89 +2252,101 @@ msgid "" "was intended, please coerce to the lower type afterwards." msgstr "" -#: fread.c:1926 +#: fread.c:1930 #, c-format msgid " After %d type and %d drop user overrides : %s\n" msgstr "" -#: fread.c:1934 +#: fread.c:1938 msgid "[10] Allocate memory for the datatable\n" msgstr "" -#: fread.c:1935 +#: fread.c:1939 #, c-format msgid " Allocating %d column slots (%d - %d dropped) with %llu rows\n" msgstr "" -#: fread.c:1989 +#: fread.c:1993 #, c-format msgid "Buffer size %lld is too large\n" msgstr "" -#: fread.c:1992 +#: fread.c:1996 msgid "[11] Read the data\n" msgstr "" -#: fread.c:1995 +#: fread.c:1999 #, c-format msgid " jumps=[%d..%d), chunk_size=%llu, total_size=%llu\n" msgstr "" -#: fread.c:2215 +#: fread.c:2011 +#, c-format +msgid "Internal error: Master thread is not thread 0 but thread %d.\n" +msgstr "" + +#: fread.c:2219 #, c-format msgid "" "Column %d (\"%.*s\") bumped from '%s' to '%s' due to <<%.*s>> on row %llu\n" msgstr "" -#: fread.c:2337 +#: fread.c:2268 +#, c-format +msgid "" +"Internal error: invalid head position. jump=%d, headPos=%p, thisJumpStart=" +"%p, sof=%p" +msgstr "" + +#: fread.c:2341 #, c-format msgid "" " Too few rows allocated. Allocating additional %llu rows (now nrows=%llu) " "and continue reading from jump %d\n" msgstr "" -#: fread.c:2344 +#: fread.c:2348 #, c-format msgid " Restarting team from jump %d. nSwept==%d quoteRule==%d\n" msgstr "" -#: fread.c:2364 +#: fread.c:2368 #, c-format msgid " %d out-of-sample type bumps: %s\n" msgstr "" -#: fread.c:2400 +#: fread.c:2404 #, c-format msgid "" "Read %llu rows x %d columns from %s file in %02d:%06.3f wall clock time\n" msgstr "" -#: fread.c:2407 +#: fread.c:2411 msgid "[12] Finalizing the datatable\n" msgstr "" -#: fread.c:2408 +#: fread.c:2412 msgid " Type counts:\n" msgstr "" -#: fread.c:2410 +#: fread.c:2414 #, c-format msgid "%10d : %-9s '%c'\n" msgstr "" -#: fread.c:2426 +#: fread.c:2430 #, c-format msgid "Discarded single-line footer: <<%s>>" msgstr "" -#: fread.c:2431 +#: fread.c:2435 #, c-format msgid "" "Stopped early on line %llu. Expected %d fields but found %d. Consider " "fill=TRUE and comment.char=. First discarded non-empty line: <<%s>>" msgstr "" -#: fread.c:2437 +#: fread.c:2441 #, c-format msgid "" "Found and resolved improper quoting out-of-sample. First healed line %llu: <<" @@ -2306,67 +2354,67 @@ msgid "" "within any field), try quote=\"\" to avoid this warning." msgstr "" -#: fread.c:2441 +#: fread.c:2445 msgid "=============================\n" msgstr "" -#: fread.c:2443 +#: fread.c:2447 #, c-format msgid "%8.3fs (%3.0f%%) Memory map %.3fGB file\n" msgstr "" -#: fread.c:2444 +#: fread.c:2448 #, c-format msgid "%8.3fs (%3.0f%%) sep=" msgstr "" -#: fread.c:2446 +#: fread.c:2450 #, c-format msgid " ncol=%d and header detection\n" msgstr "" -#: fread.c:2447 +#: fread.c:2451 #, c-format msgid "%8.3fs (%3.0f%%) Column type detection using %llu sample rows\n" msgstr "" -#: fread.c:2449 +#: fread.c:2453 #, c-format msgid "" "%8.3fs (%3.0f%%) Allocation of %llu rows x %d cols (%.3fGB) of which %llu " "(%3.0f%%) rows used\n" msgstr "" -#: fread.c:2453 +#: fread.c:2457 #, c-format msgid "" "%8.3fs (%3.0f%%) Reading %d chunks (%d swept) of %.3fMB (each chunk %d rows) " "using %d threads\n" msgstr "" -#: fread.c:2455 +#: fread.c:2459 #, c-format msgid "" " + %8.3fs (%3.0f%%) Parse to row-major thread buffers (grown %d times)\n" msgstr "" -#: fread.c:2456 +#: fread.c:2460 #, c-format msgid " + %8.3fs (%3.0f%%) Transpose\n" msgstr "" -#: fread.c:2457 +#: fread.c:2461 #, c-format msgid " + %8.3fs (%3.0f%%) Waiting\n" msgstr "" -#: fread.c:2458 +#: fread.c:2462 #, c-format msgid "" "%8.3fs (%3.0f%%) Rereading %d columns due to out-of-sample type exceptions\n" msgstr "" -#: fread.c:2460 +#: fread.c:2464 #, c-format msgid "%8.3fs Total\n" msgstr "" @@ -2858,7 +2906,7 @@ msgstr "" msgid "%lld " msgstr "" -#: fsort.c:246 fwrite.c:690 fwrite.c:947 +#: fsort.c:246 fwrite.c:693 fwrite.c:951 msgid "\n" msgstr "" @@ -2877,31 +2925,31 @@ msgstr "" msgid "%d: %.3f (%4.1f%%)\n" msgstr "" -#: fwrite.c:601 +#: fwrite.c:603 #, c-format msgid "buffMB=%d outside [1,1024]" msgstr "" -#: fwrite.c:608 +#: fwrite.c:610 #, c-format msgid "" "eol must be 1 or more bytes (usually either \\n or \\r\\n) but is length %d" msgstr "" -#: fwrite.c:611 +#: fwrite.c:613 msgid "Column writers: " msgstr "" -#: fwrite.c:613 fwrite.c:615 fwrite.c:617 +#: fwrite.c:615 fwrite.c:617 fwrite.c:619 #, c-format msgid "%d " msgstr "" -#: fwrite.c:616 +#: fwrite.c:618 msgid "... " msgstr "" -#: fwrite.c:619 +#: fwrite.c:621 #, c-format msgid "" "\n" @@ -2909,17 +2957,17 @@ msgid "" "eolLen=%d\n" msgstr "" -#: fwrite.c:652 +#: fwrite.c:654 #, c-format msgid "Internal error: type %d has no max length method implemented" msgstr "" -#: fwrite.c:659 +#: fwrite.c:662 #, c-format msgid "maxLineLen=%zd. Found in %.3fs\n" msgstr "" -#: fwrite.c:679 +#: fwrite.c:682 #, c-format msgid "" "%s: '%s'. Failed to open existing file for writing. Do you have write " @@ -2927,7 +2975,7 @@ msgid "" "have it open?" msgstr "" -#: fwrite.c:680 +#: fwrite.c:683 #, c-format msgid "" "%s: '%s'. Unable to create new file for writing (it does not exist already). " @@ -2935,61 +2983,65 @@ msgid "" "the path exist?" msgstr "" -#: fwrite.c:688 +#: fwrite.c:691 #, c-format msgid "Writing bom (%s), yaml (%d characters) and column names (%s) ... " msgstr "" -#: fwrite.c:701 +#: fwrite.c:704 #, c-format msgid "Unable to allocate %d MiB for header: %s" msgstr "" -#: fwrite.c:729 fwrite.c:789 +#: fwrite.c:732 fwrite.c:793 msgid "Can't allocate gzip stream structure" msgstr "" -#: fwrite.c:735 +#: fwrite.c:738 #, c-format msgid "Unable to allocate %d MiB for zbuffer: %s" msgstr "" -#: fwrite.c:750 +#: fwrite.c:753 #, c-format msgid "Compress gzip error: %d" msgstr "" -#: fwrite.c:751 fwrite.c:759 fwrite.c:953 +#: fwrite.c:754 fwrite.c:763 fwrite.c:957 #, c-format msgid "%s: '%s'" msgstr "" -#: fwrite.c:756 +#: fwrite.c:760 #, c-format msgid "done in %.3fs\n" msgstr "" -#: fwrite.c:758 +#: fwrite.c:762 msgid "No data rows present (nrow==0)\n" msgstr "" -#: fwrite.c:776 +#: fwrite.c:780 #, c-format msgid "" "Writing %lld rows in %d batches of %d rows (each buffer size %dMB, " "showProgress=%d, nth=%d)\n" msgstr "" -#: fwrite.c:961 +#: fwrite.c:965 #, c-format -msgid "zlib v%s deflate() returned error %d with z_stream.msg '%s'. %s\n" +msgid "" +"zlib %s (zlib.h %s) deflate() returned error %d with z_stream->msg==\"%s\" " +"Z_FINISH=%d Z_BLOCK=%d. %s" msgstr "" -#: fwrite.c:962 -msgid "Please include the full output above in your data.table bug report." +#: fwrite.c:967 +msgid "" +"Please include the full output above and below this message in your data." +"table bug report." msgstr "" -#: fwrite.c:963 +#: fwrite.c:968 msgid "" "Please retry fwrite() with verbose=TRUE and include the full output with " "your data.table bug report." diff --git a/po/zh_CN.po b/po/zh_CN.po index a69f1c0857..77581a91dc 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-10-21 16:15+0800\n" +"POT-Creation-Date: 2019-11-11 11:44+0800\n" "PO-Revision-Date: 2019-11-10 15:29-04\n" "Last-Translator: Xianghui Dong \n" "Language-Team: Mandarin\n" @@ -993,16 +993,16 @@ msgid "" "All items in j=list(...) should be atomic vectors or lists. If you are " "trying something like j=list(.SD,newcol=mean(colA)) then use := by group " "instead (much quicker), or cbind or merge afterwards." -msgstr "j=list(...) 中的所有项目必须是原子向量或列表" -"如果您试图进行 j=list(.SD,newcol=mean(colA)) 之类的操作" -"请使用 := by group 代替(更快速),或事后使用 cbind()、merge()" +msgstr "" +"j=list(...) 中的所有项目必须是原子向量或列表如果您试图进行 j=list(.SD," +"newcol=mean(colA)) 之类的操作请使用 := by group 代替(更快速),或事后使用 " +"cbind()、merge()" #: dogroups.c:290 msgid "" "RHS of := is NULL during grouped assignment, but it's not possible to delete " "parts of a column." -msgstr "用 := 分组时 RHS 为 NULL" -"但無法刪除部分列" +msgstr "用 := 分组时 RHS 为 NULL但無法刪除部分列" #: dogroups.c:294 #, c-format @@ -1011,18 +1011,19 @@ msgid "" "RHS length must either be 1 (single values are ok) or match the LHS length " "exactly. If you wish to 'recycle' the RHS please use rep() explicitly to " "make this intent clear to readers of your code." -msgstr "提供 %1$d 个项分配给第 '%4$s' 列中的第 %2$d 组,组的大小为 %3$d " -"RHS 的长度必须是 1(可以是单个值) 或完全符合 LHS 的长度" -"如果您想回收(recycle) RHS,请使用 rep() 向你的代码读者明确表达你的意图" - +msgstr "" +"提供 %1$d 个项分配给第 '%4$s' 列中的第 %2$d 组,组的大小为 %3$d RHS 的长度必" +"须是 1(可以是单个值) 或完全符合 LHS 的长度如果您想回收(recycle) RHS,请使用 " +"rep() 向你的代码读者明确表达你的意图" #: dogroups.c:305 msgid "" "Internal error: Trying to add new column by reference but tl is full; " "setalloccol should have run first at R level before getting to this point in " "dogroups" -msgstr "内部错误 : 尝试依照引用增加新列但 tl 已满" -"在进入 dogroups 之前,setalloccol 应该先在 R 运行" +msgstr "" +"内部错误 : 尝试依照引用增加新列但 tl 已满在进入 dogroups 之前,setalloccol 应" +"该先在 R 运行" #: dogroups.c:320 #, c-format @@ -1042,18 +1043,19 @@ msgid "" "groups (and those are replaced with NA of appropriate type and recycled) but " "not for the first. Please use a typed empty vector instead, such as " "integer() or numeric()." -msgstr "j 的结果中第 %d 列在第 1 组中为 NULL" -"我们依赖第 1 组的列类型去决定剩余组的类型(需要一致性)" -"空 (NULL) 列可以出现在后面的组(适当的以 NA 取代并回收)但不能是第 1 组" -"请输入空向量代替,例如 integer() 或 numeric()" +msgstr "" +"j 的结果中第 %d 列在第 1 组中为 NULL我们依赖第 1 组的列类型去决定剩余组的类型" +"(需要一致性)空 (NULL) 列可以出现在后面的组(适当的以 NA 取代并回收)但不能是第 " +"1 组请输入空向量代替,例如 integer() 或 numeric()" #: dogroups.c:364 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 " "list (which data.table optimizes) or an unnamed list() instead.\n" -msgstr "j 是名称向量,这可能使相同的名称不停重复创建导致速度变慢" -"请尝试输入名称列表(较适合 data.table)或是非名称列表代替\n" +msgstr "" +"j 是名称向量,这可能使相同的名称不停重复创建导致速度变慢请尝试输入名称列表(较" +"适合 data.table)或是非名称列表代替\n" #: dogroups.c:366 #, c-format @@ -1061,9 +1063,9 @@ msgid "" "Column %d of j is a named vector (each item down the rows is named, " "somehow). Please remove those names for efficiency (to save creating them " "over and over for each group). They are ignored anyway.\n" -msgstr "j 的第 %d 列是名称向量(整行的项都是名称)" -"为了效率请移除这些名称(避免在每组重复创建这些名称)" -"总之他们被忽略了\n" +msgstr "" +"j 的第 %d 列是名称向量(整行的项都是名称)为了效率请移除这些名称(避免在每组重复" +"创建这些名称)总之他们被忽略了\n" #: dogroups.c:374 msgid "" @@ -1072,10 +1074,10 @@ msgid "" "detected, removed and put back after grouping has completed, for efficiency. " "Using j=transform(), for example, prevents that speedup (consider changing " "to :=). This message may be upgraded to warning in future.\n" -msgstr "j 的结果是名称列表,在每组不停重复创建相同的名称很没效率" -"为了提高效率,当 j=list(...) 时侦测到的所有名称会被移出,待分组完成后再放回来" -"可以使用 j=transform() 避免这种加速" -"此讯息可能会在未来升级为警告\n" +msgstr "" +"j 的结果是名称列表,在每组不停重复创建相同的名称很没效率为了提高效率,当 " +"j=list(...) 时侦测到的所有名称会被移出,待分组完成后再放回来可以使用 " +"j=transform() 避免这种加速此讯息可能会在未来升级为警告\n" #: dogroups.c:386 #, c-format @@ -1094,17 +1096,18 @@ msgid "" "%d NAs to match the longest column in this result. Later groups may have a " "similar problem but only the first is reported to save filling the warning " "buffer." -msgstr "j 的结果第 %d 项在第 %d 组中为零长度(zero length)" -"将使用 %d 个 NA 填入以符合结果中最长列的长度" -"后面的分组也有相同问题,但只回报第一组以避免过多警告" +msgstr "" +"j 的结果第 %d 项在第 %d 组中为零长度(zero length)将使用 %d 个 NA 填入以符合结" +"果中最长列的长度后面的分组也有相同问题,但只回报第一组以避免过多警告" #: dogroups.c:427 #, c-format msgid "" "Column %d of result for group %d is type '%s' but expecting type '%s'. " "Column types must be consistent for each group." -msgstr "结果的第 %d 列在第 %d 组中是 '%s' 类别而非预期的 '%s' 类别" -"所有组的列类别必须一致" +msgstr "" +"结果的第 %d 列在第 %d 组中是 '%s' 类别而非预期的 '%s' 类别所有组的列类别必须" +"一致" #: dogroups.c:429 #, c-format @@ -1113,9 +1116,10 @@ msgid "" "length must either be 1 (single values are ok) or match the LHS length " "exactly. If you wish to 'recycle' the RHS please use rep() explicitly to " "make this intent clear to readers of your code." -msgstr "提供 %1$d 项给第 %3$d 組的第 %2$d 列,这组有 %4$d 行" -"RHS長度必須為 1 (可以使用單個值) 或與 LHS 長度完全匹配" -"如果您想回收(recycle) RHS,请使用 rep() 向你的代码读者明确表达你的意图" +msgstr "" +"提供 %1$d 项给第 %3$d 組的第 %2$d 列,这组有 %4$d 行RHS長度必須為 1 (可以使用" +"單個值) 或與 LHS 長度完全匹配如果您想回收(recycle) RHS,请使用 rep() 向你的代" +"码读者明确表达你的意图" #: dogroups.c:444 #, c-format @@ -1132,7 +1136,8 @@ msgstr "内部错误 : 区块 0 [%d] 与区块 1 [%d] 都运行了" msgid "" "\n" " %s took %.3fs for %d groups\n" -msgstr "\n" +msgstr "" +"\n" " %s 花了 %.3fs 在 %d 个组\n" #: dogroups.c:458 @@ -1669,622 +1674,661 @@ msgstr "" msgid "Internal error. Argument 'cols' to CanyNA is type '%s' not 'integer'" msgstr "" -#: fread.c:149 +#: fread.c:153 #, c-format msgid "System error %d unmapping view of file\n" msgstr "" -#: fread.c:152 +#: fread.c:156 #, c-format msgid "System errno %d unmapping file: %s\n" msgstr "" -#: fread.c:212 +#: fread.c:216 #, c-format msgid "Internal error: NUMTYPE(%d) > nLetters(%d)" msgstr "" -#: fread.c:437 +#: fread.c:441 #, c-format msgid "Unable to allocate %s of contiguous virtual RAM. %s allocation." msgstr "" -#: fread.c:442 +#: fread.c:446 #, c-format msgid "Avoidable %.3f seconds. %s time to copy.\n" msgstr "" -#: fread.c:443 +#: fread.c:447 #, c-format msgid " File copy in RAM took %.3f seconds.\n" msgstr "" -#: fread.c:1095 +#: fread.c:1099 msgid "" "Previous fread() session was not cleaned up properly. Cleaned up ok at the " "beginning of this fread() call.\n" msgstr "" -#: fread.c:1098 +#: fread.c:1102 msgid "[01] Check arguments\n" msgstr "" -#: fread.c:1105 +#: fread.c:1109 #, c-format msgid " Using %d threads (omp_get_max_threads()=%d, nth=%d)\n" msgstr "" -#: fread.c:1113 +#: fread.c:1117 msgid "" "Internal error: NAstrings is itself NULL. When empty it should be pointer to " "NULL." msgstr "" -#: fread.c:1131 +#: fread.c:1135 #, c-format msgid "freadMain: NAstring <<%s>> has whitespace at the beginning or end" msgstr "" -#: fread.c:1136 +#: fread.c:1140 #, c-format msgid "" "freadMain: NAstring <<%s>> is recognized as type boolean, this is not " "permitted." msgstr "" -#: fread.c:1146 +#: fread.c:1150 msgid " No NAstrings provided.\n" msgstr "" -#: fread.c:1148 +#: fread.c:1152 msgid " NAstrings = [" msgstr "" -#: fread.c:1151 +#: fread.c:1155 msgid "]\n" msgstr "" -#: fread.c:1153 +#: fread.c:1157 msgid " One or more of the NAstrings looks like a number.\n" msgstr "" -#: fread.c:1155 +#: fread.c:1159 msgid " None of the NAstrings look like numbers.\n" msgstr "" -#: fread.c:1157 +#: fread.c:1161 #, c-format msgid " skip num lines = %llu\n" msgstr "" -#: fread.c:1158 +#: fread.c:1162 #, c-format msgid " skip to string = <<%s>>\n" msgstr "" -#: fread.c:1159 +#: fread.c:1163 #, c-format msgid " show progress = %d\n" msgstr "" -#: fread.c:1160 +#: fread.c:1164 #, c-format msgid " 0/1 column will be read as %s\n" msgstr "" -#: fread.c:1168 +#: fread.c:1172 #, c-format msgid "sep == quote ('%c') is not allowed" msgstr "" -#: fread.c:1169 +#: fread.c:1173 msgid "dec='' not allowed. Should be '.' or ','" msgstr "" -#: fread.c:1170 +#: fread.c:1174 #, c-format msgid "sep == dec ('%c') is not allowed" msgstr "" -#: fread.c:1171 +#: fread.c:1175 #, c-format msgid "quote == dec ('%c') is not allowed" msgstr "" -#: fread.c:1188 +#: fread.c:1192 msgid "[02] Opening the file\n" msgstr "" -#: fread.c:1191 +#: fread.c:1195 msgid "" " `input` argument is provided rather than a file name, interpreting as raw " "text to read\n" msgstr "" -#: fread.c:1195 +#: fread.c:1199 msgid "Internal error: last byte of character input isn't \\0" msgstr "" -#: fread.c:1198 +#: fread.c:1202 #, c-format msgid " Opening file %s\n" msgstr "" -#: fread.c:1202 +#: fread.c:1206 #, c-format msgid "file not found: %s" msgstr "" -#: fread.c:1206 +#: fread.c:1210 #, c-format msgid "Opened file ok but couldn't obtain its size: %s" msgstr "文件能够打开但无法获知其大小:%s" -#: fread.c:1209 fread.c:1237 +#: fread.c:1213 fread.c:1241 #, c-format msgid "File is empty: %s" msgstr "文件是空的:%s" -#: fread.c:1210 fread.c:1238 +#: fread.c:1214 fread.c:1242 #, c-format msgid " File opened, size = %s.\n" msgstr "文件已打开,大小为 %s.\n" -#: fread.c:1227 +#: fread.c:1231 #, c-format msgid "File not found: %s" msgstr "文件没有找到:%s" -#: fread.c:1233 +#: fread.c:1237 #, c-format msgid "Unable to open file after %d attempts (error %d): %s" msgstr "经过 %d 次尝试后仍无法打开文件(错误 %d):%s" -#: fread.c:1235 +#: fread.c:1239 #, c-format msgid "GetFileSizeEx failed (returned 0) on file: %s" msgstr "GetFileSizeEx 未能成功执行(返回值为0)于文件:%s" -#: fread.c:1240 +#: fread.c:1244 #, c-format msgid "This is Windows, CreateFileMapping returned error %d for file %s" msgstr "现在在Windows下,CreateFileMapping 返回错误 %d 于文件 %s" -#: fread.c:1247 +#: fread.c:1251 #, c-format msgid "" "Opened %s file ok but could not memory map it. This is a %dbit process. %s." msgstr "能够打开文件 %s 但不能创建内存映射。这是一个 %d 位进程。 %s." -#: fread.c:1248 +#: fread.c:1252 msgid "Please upgrade to 64bit" msgstr "请升级到64位" -#: fread.c:1248 +#: fread.c:1252 msgid "There is probably not enough contiguous virtual memory available" msgstr "多半没有足够的连续虚拟内存" -#: fread.c:1251 +#: fread.c:1255 msgid " Memory mapped ok\n" msgstr " 内存映射正常\n" -#: fread.c:1253 +#: fread.c:1257 msgid "" "Internal error: Neither `input` nor `filename` are given, nothing to read." -msgstr "内部错误:既没有`input`(输入)也没有`filename`(文件名),没有什么可供读入。" +msgstr "" +"内部错误:既没有`input`(输入)也没有`filename`(文件名),没有什么可供读入。" -#: fread.c:1270 +#: fread.c:1274 msgid "[03] Detect and skip BOM\n" msgstr "[03] 检测并跳过字节顺序标记(BOM)\n" -#: fread.c:1274 +#: fread.c:1278 msgid "" " UTF-8 byte order mark EF BB BF found at the start of the file and " "skipped.\n" -msgstr "在文件头发现了UTF-8 字节顺序标记(BOM)EF BB BF 并已" -"跳过。\n" +msgstr "在文件头发现了UTF-8 字节顺序标记(BOM)EF BB BF 并已跳过。\n" -#: fread.c:1279 +#: fread.c:1283 msgid "" "GB-18030 encoding detected, however fread() is unable to decode it. Some " "character fields may be garbled.\n" -msgstr "检测到GB-18030 编码,但fread() 未能解码。某些 " -"字符字段可能有乱码。\n" +msgstr "检测到GB-18030 编码,但fread() 未能解码。某些 字符字段可能有乱码。\n" -#: fread.c:1282 +#: fread.c:1286 msgid "" "File is encoded in UTF-16, this encoding is not supported by fread(). Please " "recode the file to UTF-8." -msgstr "文件编码是UTF-16,fread()不支持此编码。请 " -"将文件转换为UTF-8。" +msgstr "文件编码是UTF-16,fread()不支持此编码。请 将文件转换为UTF-8。" -#: fread.c:1287 +#: fread.c:1291 #, c-format msgid " Last byte(s) of input found to be %s and removed.\n" msgstr " 发现输入的最后字节是 %s 并已去除。\n" -#: fread.c:1290 +#: fread.c:1294 msgid "Input is empty or only contains BOM or terminal control characters" msgstr "输入是空的或只有字节顺序标记(BOM)或终端控制字符" -#: fread.c:1297 +#: fread.c:1301 msgid "[04] Arrange mmap to be \\0 terminated\n" msgstr "[04] 设定mmap为 \\0 终止\n" -#: fread.c:1304 +#: fread.c:1308 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" +msgstr "" +" 文件中完全没有换行符\\n,所以单个 \\r(如果有的话)将被当成一行的结束。这不" +"太常见但如果没有\\r 的话属于正常;例如单个行没有行尾结束符。\n" -#: fread.c:1305 +#: fread.c:1309 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" -msgstr " 输入中有\\n 并且不同行可以有不同的 " -"行尾结束符(如在一个文件中混合使用 \\n 和\\r\\n)。这很常见" -"也是理想情况。\n" +msgstr "" +" 输入中有\\n 并且不同行可以有不同的 行尾结束符(如在一个文件中混合使用 \\n " +"和\\r\\n)。这很常见也是理想情况。\n" -#: fread.c:1329 +#: fread.c:1333 #, c-format msgid "" " File ends abruptly with '%c'. Final end-of-line is missing. Using cow page " "to write 0 to the last byte.\n" -msgstr " 文件突然中止于 '%c'。没有最后一个行尾结束符。正使用写时复制页(cow, copy-on-write)" -"写入 0 到最后一个字节。\n" +msgstr "" +" 文件突然中止于 '%c'。没有最后一个行尾结束符。正使用写时复制页(cow, copy-" +"on-write)写入 0 到最后一个字节。\n" -#: fread.c:1335 +#: fread.c:1339 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 " "with a newline using for example 'echo >> file' to avoid this " -msgstr "这个文件非常不正常:它突然中止而没有最后的换行,并且其大小是4096 字节的整数倍。请用一个换行(例如 'echo >> file')来恰当地结束最后一行以避免此错误" +msgstr "" +"这个文件非常不正常:它突然中止而没有最后的换行,并且其大小是4096 字节的整数" +"倍。请用一个换行(例如 'echo >> file')来恰当地结束最后一行以避免此错误" -#: fread.c:1336 +#: fread.c:1340 #, c-format msgid " File ends abruptly with '%c'. Copying file in RAM. %s copy.\n" msgstr " 文件突然中止于 '%c'。正在从内存中复制文件。%s 复制。\n" -#: fread.c:1370 +#: fread.c:1374 msgid "[05] Skipping initial rows if needed\n" msgstr "[05] 如需要的话跳过起始行\n" -#: fread.c:1376 +#: fread.c:1380 #, c-format msgid "" "skip='%s' not found in input (it is case sensitive and literal; i.e., no " "patterns, wildcards or regex)" -msgstr "在输入中没有发现 skip='%s' (这里大小写敏感并需要是字面形式,也就是说不能使用模式,适配符或正则表达式)" +msgstr "" +"在输入中没有发现 skip='%s' (这里大小写敏感并需要是字面形式,也就是说不能使用" +"模式,适配符或正则表达式)" -#: fread.c:1382 +#: fread.c:1386 #, c-format msgid "" "Found skip='%s' on line %llu. Taking this to be header row or first row of " "data.\n" msgstr "在行 %2$llu 发现了 skip='%1$s'。将此当做表头或数据的第一行。\n" -#: fread.c:1395 +#: fread.c:1399 #, c-format msgid " Skipped to line %llu in the file" msgstr " 跳到文件的第 %llu 行" -#: fread.c:1396 +#: fread.c:1400 #, c-format msgid "skip=%llu but the input only has %llu line%s" msgstr "skip=%llu 但输入只有 %llu 行 %s" -#: fread.c:1405 +#: fread.c:1409 msgid "" "Input is either empty, fully whitespace, or skip has been set after the last " "non-whitespace." msgstr "输入是空,或全部为空白,或跳过设置是在最后一个非空白字符之后。" -#: fread.c:1407 +#: fread.c:1411 #, c-format msgid " Moved forward to first non-blank line (%d)\n" msgstr " 前移到第一个非空行 (%d)\n" -#: fread.c:1408 +#: fread.c:1412 #, c-format msgid " Positioned on line %d starting: <<%s>>\n" msgstr " 定位到行 %d 开始于: <<%s>>\n" -#: fread.c:1426 +#: fread.c:1430 msgid "[06] Detect separator, quoting rule, and ncolumns\n" msgstr "[06] 检测分隔符,引用规则,以及列数\n" -#: fread.c:1430 +#: fread.c:1434 msgid " sep='\\n' passed in meaning read lines as single character column\n" msgstr " sep='\\n' 设定意味着将把所有行读作一个字符列\n" -#: fread.c:1449 +#: fread.c:1453 msgid " Detecting sep automatically ...\n" msgstr " 自动检测分隔符中 ...\n" -#: fread.c:1456 +#: fread.c:1460 #, c-format msgid " Using supplied sep '%s'\n" msgstr " 使用提供的分隔符 '%s'\n" -#: fread.c:1490 +#: fread.c:1494 #, c-format msgid " with %d fields using quote rule %d\n" msgstr " 对 %d 个字段使用引用规则 %d\n" -#: fread.c:1540 +#: fread.c:1544 #, c-format msgid " with %d lines of %d fields using quote rule %d\n" msgstr " 对 %d 行的 %d 字段使用引用规则 %d\n" -#: fread.c:1547 +#: fread.c:1551 msgid "" " No sep and quote rule found a block of 2x2 or greater. Single column " "input.\n" msgstr " 没有分隔符并且引用规则发现了一个大于或等于2x2的区块。输入是单列。\n" -#: fread.c:1563 +#: fread.c:1567 msgid "" "Single column input contains invalid quotes. Self healing only effective " "when ncol>1" msgstr "单列输入包含了不合法的引用。自我修正只有在列数大于1(ncol>1)时才有效" -#: fread.c:1568 +#: fread.c:1572 #, c-format msgid "" "Found and resolved improper quoting in first %d rows. If the fields are not " "quoted (e.g. field separator does not appear within any field), try quote=" "\"\" to avoid this warning." -msgstr "在前 %d 行中发现并修正了不合适的引号用法。如果字段没有" -"加引号(例如字段间隔符没有在任何字段内出现),可以尝试使用 quote=" -"\"\" 来避免此警告。" +msgstr "" +"在前 %d 行中发现并修正了不合适的引号用法。如果字段没有加引号(例如字段间隔符" +"没有在任何字段内出现),可以尝试使用 quote=\"\" 来避免此警告。" -#: fread.c:1584 +#: fread.c:1588 #, c-format msgid "" "Internal error: ncol==%d line==%d after detecting sep, ncol and first line" msgstr "" -#: fread.c:1587 +#: fread.c:1591 #, c-format msgid "Internal error: first line has field count %d but expecting %d" msgstr "" -#: fread.c:1589 +#: fread.c:1593 #, c-format msgid "" " Detected %d columns on line %d. This line is either column names or first " "data row. Line starts as: <<%s>>\n" msgstr "" -#: fread.c:1591 +#: fread.c:1595 #, c-format msgid " Quote rule picked = %d\n" msgstr "" -#: fread.c:1592 +#: fread.c:1596 #, c-format msgid " fill=%s and the most number of columns found is %d\n" msgstr "" -#: fread.c:1598 +#: fread.c:1602 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 is a multiple of 4096, too." msgstr "" -#: fread.c:1599 +#: fread.c:1603 #, c-format msgid " Copying file in RAM. %s\n" msgstr "" -#: fread.c:1605 +#: fread.c:1609 msgid "" " 1-column file ends with 2 or more end-of-line. Restoring last eol using " "extra byte in cow page.\n" msgstr "" -#: fread.c:1624 +#: fread.c:1628 msgid "" "[07] Detect column types, good nrow estimate and whether first row is column " "names\n" msgstr "" -#: fread.c:1625 +#: fread.c:1629 #, c-format msgid " 'header' changed by user from 'auto' to %s\n" msgstr "" -#: fread.c:1629 +#: fread.c:1633 #, c-format msgid "Failed to allocate 2 x %d bytes for type and tmpType: %s" msgstr "" -#: fread.c:1650 +#: fread.c:1654 #, c-format msgid " Number of sampling jump points = %d because " msgstr "" -#: fread.c:1651 +#: fread.c:1655 #, c-format msgid "nrow limit (%llu) supplied\n" msgstr "" -#: fread.c:1652 +#: fread.c:1656 msgid "jump0size==0\n" msgstr "" -#: fread.c:1653 +#: fread.c:1657 #, c-format msgid "(%llu bytes from row 1 to eof) / (2 * %llu jump0size) == %llu\n" msgstr "" -#: fread.c:1691 +#: fread.c:1695 #, c-format msgid "" " A line with too-%s fields (%d/%d) was found on line %d of sample jump %d. " "%s\n" msgstr "" -#: fread.c:1718 +#: fread.c:1696 +msgid "few" +msgstr "" + +#: fread.c:1696 +msgid "many" +msgstr "" + +#: fread.c:1696 +msgid "" +"Most likely this jump landed awkwardly so type bumps here will be skipped." +msgstr "" + +#: fread.c:1722 #, c-format msgid " Type codes (jump %03d) : %s Quote rule %d\n" msgstr "" -#: fread.c:1731 +#: fread.c:1735 #, c-format msgid "" " 'header' determined to be true due to column %d containing a string on row " "1 and a lower type (%s) in the rest of the %d sample rows\n" msgstr "" -#: fread.c:1743 +#: fread.c:1747 msgid "" "Internal error: row before first data row has the same number of fields but " "we're not using it." msgstr "" -#: fread.c:1744 +#: fread.c:1748 msgid "" "Internal error: ch!=pos after counting fields in the line before the first " "data row." msgstr "" -#: fread.c:1745 +#: fread.c:1749 #, c-format msgid "" "Types in 1st data row match types in 2nd data row but previous row has %d " "fields. Taking previous row as column names." msgstr "" -#: fread.c:1748 +#: fread.c:1752 #, c-format msgid "" "Detected %d column names but the data has %d columns (i.e. invalid file). " "Added %d extra default column name%s\n" msgstr "" -#: fread.c:1751 +#: fread.c:1753 +msgid "" +" for the first column which is guessed to be row names or an index. Use " +"setnames() afterwards if this guess is not correct, or fix the file write " +"command that created the file to create a valid file." +msgstr "" + +#: fread.c:1753 +msgid "s at the end." +msgstr "" + +#: fread.c:1755 msgid "" "Internal error: fill=true but there is a previous row which should already " "have been filled." msgstr "" -#: fread.c:1752 +#: fread.c:1756 #, c-format msgid "" "Detected %d column names but the data has %d columns. Filling rows " "automatically. Set fill=TRUE explicitly to avoid this warning.\n" msgstr "" -#: fread.c:1756 +#: fread.c:1760 #, c-format msgid "Failed to realloc 2 x %d bytes for type and tmpType: %s" msgstr "" -#: fread.c:1776 +#: fread.c:1780 #, c-format msgid "" " 'header' determined to be %s because there are%s number fields in the " "first and only row\n" msgstr "" -#: fread.c:1779 +#: fread.c:1780 +msgid "true" +msgstr "" + +#: fread.c:1780 +msgid "false" +msgstr "" + +#: fread.c:1780 +msgid " no" +msgstr "" + +#: fread.c:1783 msgid "" " 'header' determined to be true because all columns are type string and a " "better guess is not possible\n" msgstr "" -#: fread.c:1781 +#: fread.c:1785 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" msgstr "" -#: fread.c:1797 +#: fread.c:1801 #, c-format msgid " Type codes (first row) : %s Quote rule %d\n" msgstr "" -#: fread.c:1806 +#: fread.c:1810 #, c-format msgid "" " All rows were sampled since file is small so we know nrow=%llu exactly\n" msgstr "" -#: fread.c:1818 fread.c:1825 +#: fread.c:1822 fread.c:1829 msgid " =====\n" msgstr "" -#: fread.c:1819 +#: fread.c:1823 #, c-format msgid "" " Sampled %llu rows (handled \\n inside quoted fields) at %d jump points\n" msgstr "" -#: fread.c:1820 +#: fread.c:1824 #, c-format msgid " Bytes from first data row on line %d to the end of last row: %llu\n" msgstr "" -#: fread.c:1821 +#: fread.c:1825 #, c-format msgid " Line length: mean=%.2f sd=%.2f min=%d max=%d\n" msgstr "" -#: fread.c:1822 +#: fread.c:1826 #, c-format msgid " Estimated number of rows: %llu / %.2f = %llu\n" msgstr "" -#: fread.c:1823 +#: fread.c:1827 #, c-format msgid "" " Initial alloc = %llu rows (%llu + %d%%) using bytes/max(mean-2*sd,min) " "clamped between [1.1*estn, 2.0*estn]\n" msgstr "" -#: fread.c:1827 +#: fread.c:1831 #, c-format msgid "Internal error: sampleLines(%llu) > allocnrow(%llu)" msgstr "" -#: fread.c:1831 +#: fread.c:1835 #, c-format msgid " Alloc limited to lower nrows=%llu passed in.\n" msgstr "" -#: fread.c:1843 +#: fread.c:1847 msgid "[08] Assign column names\n" msgstr "" -#: fread.c:1851 +#: fread.c:1855 #, c-format msgid "Unable to allocate %d*%d bytes for column name pointers: %s" msgstr "" -#: fread.c:1873 +#: fread.c:1877 #, c-format msgid "Internal error: reading colnames ending on '%c'" msgstr "" -#: fread.c:1891 +#: fread.c:1895 msgid "[09] Apply user overrides on column types\n" msgstr "" -#: fread.c:1895 +#: fread.c:1899 msgid " Cancelled by user: userOverride() returned false." msgstr "" -#: fread.c:1905 +#: fread.c:1909 #, c-format msgid "Failed to allocate %d bytes for size array: %s" msgstr "" -#: fread.c:1912 +#: fread.c:1916 #, c-format msgid "" "Attempt to override column %d <<%.*s>> of inherent type '%s' down to '%s' " @@ -2292,89 +2336,101 @@ msgid "" "was intended, please coerce to the lower type afterwards." msgstr "" -#: fread.c:1926 +#: fread.c:1930 #, c-format msgid " After %d type and %d drop user overrides : %s\n" msgstr "" -#: fread.c:1934 +#: fread.c:1938 msgid "[10] Allocate memory for the datatable\n" msgstr "" -#: fread.c:1935 +#: fread.c:1939 #, c-format msgid " Allocating %d column slots (%d - %d dropped) with %llu rows\n" msgstr "" -#: fread.c:1989 +#: fread.c:1993 #, c-format msgid "Buffer size %lld is too large\n" msgstr "" -#: fread.c:1992 +#: fread.c:1996 msgid "[11] Read the data\n" msgstr "" -#: fread.c:1995 +#: fread.c:1999 #, c-format msgid " jumps=[%d..%d), chunk_size=%llu, total_size=%llu\n" msgstr "" -#: fread.c:2215 +#: fread.c:2011 +#, c-format +msgid "Internal error: Master thread is not thread 0 but thread %d.\n" +msgstr "" + +#: fread.c:2219 #, c-format msgid "" "Column %d (\"%.*s\") bumped from '%s' to '%s' due to <<%.*s>> on row %llu\n" msgstr "" -#: fread.c:2337 +#: fread.c:2268 +#, c-format +msgid "" +"Internal error: invalid head position. jump=%d, headPos=%p, thisJumpStart=" +"%p, sof=%p" +msgstr "" + +#: fread.c:2341 #, c-format msgid "" " Too few rows allocated. Allocating additional %llu rows (now nrows=%llu) " "and continue reading from jump %d\n" msgstr "" -#: fread.c:2344 +#: fread.c:2348 #, c-format msgid " Restarting team from jump %d. nSwept==%d quoteRule==%d\n" msgstr "" -#: fread.c:2364 +#: fread.c:2368 #, c-format msgid " %d out-of-sample type bumps: %s\n" msgstr "" -#: fread.c:2400 +#: fread.c:2404 #, c-format msgid "" "Read %llu rows x %d columns from %s file in %02d:%06.3f wall clock time\n" msgstr "" -#: fread.c:2407 +#: fread.c:2411 msgid "[12] Finalizing the datatable\n" msgstr "" -#: fread.c:2408 +#: fread.c:2412 msgid " Type counts:\n" msgstr "" -#: fread.c:2410 +#: fread.c:2414 #, c-format msgid "%10d : %-9s '%c'\n" msgstr "" -#: fread.c:2426 +#: fread.c:2430 #, c-format msgid "Discarded single-line footer: <<%s>>" msgstr "" -#: fread.c:2431 +#: fread.c:2435 #, c-format msgid "" "Stopped early on line %llu. Expected %d fields but found %d. Consider " "fill=TRUE and comment.char=. First discarded non-empty line: <<%s>>" msgstr "" -#: fread.c:2437 +#: fread.c:2441 #, c-format msgid "" "Found and resolved improper quoting out-of-sample. First healed line %llu: <<" @@ -2382,67 +2438,67 @@ msgid "" "within any field), try quote=\"\" to avoid this warning." msgstr "" -#: fread.c:2441 +#: fread.c:2445 msgid "=============================\n" msgstr "" -#: fread.c:2443 +#: fread.c:2447 #, c-format msgid "%8.3fs (%3.0f%%) Memory map %.3fGB file\n" msgstr "" -#: fread.c:2444 +#: fread.c:2448 #, c-format msgid "%8.3fs (%3.0f%%) sep=" msgstr "" -#: fread.c:2446 +#: fread.c:2450 #, c-format msgid " ncol=%d and header detection\n" msgstr "" -#: fread.c:2447 +#: fread.c:2451 #, c-format msgid "%8.3fs (%3.0f%%) Column type detection using %llu sample rows\n" msgstr "" -#: fread.c:2449 +#: fread.c:2453 #, c-format msgid "" "%8.3fs (%3.0f%%) Allocation of %llu rows x %d cols (%.3fGB) of which %llu " "(%3.0f%%) rows used\n" msgstr "" -#: fread.c:2453 +#: fread.c:2457 #, c-format msgid "" "%8.3fs (%3.0f%%) Reading %d chunks (%d swept) of %.3fMB (each chunk %d rows) " "using %d threads\n" msgstr "" -#: fread.c:2455 +#: fread.c:2459 #, c-format msgid "" " + %8.3fs (%3.0f%%) Parse to row-major thread buffers (grown %d times)\n" msgstr "" -#: fread.c:2456 +#: fread.c:2460 #, c-format msgid " + %8.3fs (%3.0f%%) Transpose\n" msgstr "" -#: fread.c:2457 +#: fread.c:2461 #, c-format msgid " + %8.3fs (%3.0f%%) Waiting\n" msgstr "" -#: fread.c:2458 +#: fread.c:2462 #, c-format msgid "" "%8.3fs (%3.0f%%) Rereading %d columns due to out-of-sample type exceptions\n" msgstr "" -#: fread.c:2460 +#: fread.c:2464 #, c-format msgid "%8.3fs Total\n" msgstr "" @@ -2696,16 +2752,15 @@ msgstr "" 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的" -"输入并当心NA值\n" +msgstr "%s: NA (或其他非有限长度值) 出现在输入中, 跳过非NA的输入并当心NA值\n" #: froll.c:141 froll.c:339 #, c-format msgid "" "%s: running in parallel for input length %llu, window %d, hasna %d, narm %d\n" msgstr "" -"%s: 正在并行运行, 输入长度 (input length) %llu, 窗口 (window) %d, hasna %d, narm %d\n" +"%s: 正在并行运行, 输入长度 (input length) %llu, 窗口 (window) %d, hasna %d, " +"narm %d\n" #: froll.c:179 froll.c:372 frolladaptive.c:157 frolladaptive.c:336 #, c-format @@ -2713,8 +2768,8 @@ 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 " -"因此在'exact'实现中, NA值已经被处理, 不需要重新运行\n" +"%s: NA (或其他非有限长度值) 出现在输入中, na.rm 为 FALSE 因此在'exact'实现" +"中, NA值已经被处理, 不需要重新运行\n" #: froll.c:428 #, c-format @@ -2727,8 +2782,8 @@ 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" +"%s: 所提供的函数 (FUN) 的结果不是双精度 (double) 类型, 对整数或逻辑值的类型转" +"换会在每个循环中执行\n" #: froll.c:438 #, c-format @@ -2746,7 +2801,9 @@ msgstr "x 必须是数值或者逻辑类型" #: frollR.c:26 msgid "x must be list, data.frame or data.table of numeric or logical types" -msgstr "x 必须是列表 (list), 或由数值或者逻辑类型组成的数据框 (data.frame 或 data.table)" +msgstr "" +"x 必须是列表 (list), 或由数值或者逻辑类型组成的数据框 (data.frame 或 data." +"table)" #: frollR.c:47 frollR.c:264 msgid "n must be non 0 length" @@ -2786,23 +2843,22 @@ 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" msgstr "" -"同时使用 hasNA FALSE 和 na.rm TRUE 没有意义, 如果明确有" -"NA值, 那就用 hasNA TRUE, 在其他情况可以让它保留默认值NA" +"同时使用 hasNA FALSE 和 na.rm TRUE 没有意义, 如果明确有NA值, 那就用 hasNA " +"TRUE, 在其他情况可以让它保留默认值NA" #: frollR.c:119 frollR.c:275 msgid "" "Internal error: invalid align argument in rolling function, should have been " "caught before. please report to data.table issue tracker." msgstr "" -"内部错误: 在 rolling 函数内无效的 align 参数, 理应在更早阶段排除" -"请向data.table issue tracker报告" +"内部错误: 在 rolling 函数内无效的 align 参数, 理应在更早阶段排除请向data." +"table issue tracker报告" #: frollR.c:122 msgid "" "using adaptive TRUE and align argument different than 'right' is not " "implemented" -msgstr "" -"同时使用 adaptive TRUE 和不是 'right' 的align参数还未能实现" +msgstr "同时使用 adaptive TRUE 和不是 'right' 的align参数还未能实现" #: frollR.c:126 frollR.c:297 types.c:64 #, c-format @@ -2816,24 +2872,22 @@ msgid "" "function on list having variable length of elements call it for each field " "separately" msgstr "" -"adaptive rolling 函数只能处理长度同为" -"的 'x', 比如 data.table 或数据框; 如果想在含有不同长度元素的列表上执行 rolling" -"函数, 需要分开单独地在每一项上面执行." +"adaptive rolling 函数只能处理长度同为的 'x', 比如 data.table 或数据框; 如果想" +"在含有不同长度元素的列表上执行 rolling函数, 需要分开单独地在每一项上面执行." #: frollR.c:137 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' 中的观察数量" +msgstr "'n' 列表中整数向量的长度必须等于 'x' 中的观察数量" #: frollR.c:151 msgid "" "Internal error: invalid fun argument in rolling function, should have been " "caught before. please report to data.table issue tracker." msgstr "" -"内部错误: 在 rolling 函数中无效的 fun 参数, 理应在更早阶段排除" -"请向data.table issue tracker报告" +"内部错误: 在 rolling 函数中无效的 fun 参数, 理应在更早阶段排除请向data.table " +"issue tracker报告" #: frollR.c:155 frollR.c:279 nafill.c:136 shift.c:21 msgid "fill must be a vector of length 1" @@ -2848,8 +2902,8 @@ msgid "" "Internal error: invalid algo argument in rolling function, should have been " "caught before. please report to data.table issue tracker." msgstr "" -"内部错误: 在 rolling 函数内无效的 algo 参数, 理应在更早阶段排除" -"请向data.table issue tracker报告" +"内部错误: 在 rolling 函数内无效的 algo 参数, 理应在更早阶段排除请向data." +"table issue tracker报告" #: frollR.c:190 #, c-format @@ -2869,8 +2923,8 @@ msgid "" "%s: %d column(s) and %d window(s), not entering parallel execution here " "because algo='exact' will compute results in parallel\n" msgstr "" -"%s: %d column(s) 和 %d window(s), 未能进入并行执行," -"因为 algo='exact' 会并行计算结果\n" +"%s: %d column(s) 和 %d window(s), 未能进入并行执行,因为 algo='exact' 会并行计" +"算结果\n" #: frollR.c:219 #, c-format @@ -2956,7 +3010,7 @@ msgstr "" msgid "%lld " msgstr "" -#: fsort.c:246 fwrite.c:690 fwrite.c:947 +#: fsort.c:246 fwrite.c:693 fwrite.c:951 msgid "\n" msgstr "" @@ -2975,31 +3029,31 @@ msgstr "" msgid "%d: %.3f (%4.1f%%)\n" msgstr "" -#: fwrite.c:601 +#: fwrite.c:603 #, c-format msgid "buffMB=%d outside [1,1024]" msgstr "" -#: fwrite.c:608 +#: fwrite.c:610 #, c-format msgid "" "eol must be 1 or more bytes (usually either \\n or \\r\\n) but is length %d" msgstr "" -#: fwrite.c:611 +#: fwrite.c:613 msgid "Column writers: " msgstr "" -#: fwrite.c:613 fwrite.c:615 fwrite.c:617 +#: fwrite.c:615 fwrite.c:617 fwrite.c:619 #, c-format msgid "%d " msgstr "" -#: fwrite.c:616 +#: fwrite.c:618 msgid "... " msgstr "" -#: fwrite.c:619 +#: fwrite.c:621 #, c-format msgid "" "\n" @@ -3007,17 +3061,17 @@ msgid "" "eolLen=%d\n" msgstr "" -#: fwrite.c:652 +#: fwrite.c:654 #, c-format msgid "Internal error: type %d has no max length method implemented" msgstr "" -#: fwrite.c:659 +#: fwrite.c:662 #, c-format msgid "maxLineLen=%zd. Found in %.3fs\n" msgstr "" -#: fwrite.c:679 +#: fwrite.c:682 #, c-format msgid "" "%s: '%s'. Failed to open existing file for writing. Do you have write " @@ -3025,7 +3079,7 @@ msgid "" "have it open?" msgstr "" -#: fwrite.c:680 +#: fwrite.c:683 #, c-format msgid "" "%s: '%s'. Unable to create new file for writing (it does not exist already). " @@ -3033,61 +3087,65 @@ msgid "" "the path exist?" msgstr "" -#: fwrite.c:688 +#: fwrite.c:691 #, c-format msgid "Writing bom (%s), yaml (%d characters) and column names (%s) ... " msgstr "" -#: fwrite.c:701 +#: fwrite.c:704 #, c-format msgid "Unable to allocate %d MiB for header: %s" msgstr "" -#: fwrite.c:729 fwrite.c:789 +#: fwrite.c:732 fwrite.c:793 msgid "Can't allocate gzip stream structure" msgstr "" -#: fwrite.c:735 +#: fwrite.c:738 #, c-format msgid "Unable to allocate %d MiB for zbuffer: %s" msgstr "" -#: fwrite.c:750 +#: fwrite.c:753 #, c-format msgid "Compress gzip error: %d" msgstr "" -#: fwrite.c:751 fwrite.c:759 fwrite.c:953 +#: fwrite.c:754 fwrite.c:763 fwrite.c:957 #, c-format msgid "%s: '%s'" msgstr "" -#: fwrite.c:756 +#: fwrite.c:760 #, c-format msgid "done in %.3fs\n" msgstr "" -#: fwrite.c:758 +#: fwrite.c:762 msgid "No data rows present (nrow==0)\n" msgstr "" -#: fwrite.c:776 +#: fwrite.c:780 #, c-format msgid "" "Writing %lld rows in %d batches of %d rows (each buffer size %dMB, " "showProgress=%d, nth=%d)\n" msgstr "" -#: fwrite.c:961 +#: fwrite.c:965 #, c-format -msgid "zlib v%s deflate() returned error %d with z_stream.msg '%s'. %s\n" +msgid "" +"zlib %s (zlib.h %s) deflate() returned error %d with z_stream->msg==\"%s\" " +"Z_FINISH=%d Z_BLOCK=%d. %s" msgstr "" -#: fwrite.c:962 -msgid "Please include the full output above in your data.table bug report." +#: fwrite.c:967 +msgid "" +"Please include the full output above and below this message in your data." +"table bug report." msgstr "" -#: fwrite.c:963 +#: fwrite.c:968 msgid "" "Please retry fwrite() with verbose=TRUE and include the full output with " "your data.table bug report." diff --git a/src/fread.c b/src/fread.c index 1d566827cc..1b11fcdf31 100644 --- a/src/fread.c +++ b/src/fread.c @@ -102,6 +102,10 @@ typedef struct FieldParseContext { // Forward declarations static void Field(FieldParseContext *ctx); +// note -- because ASSERT is doing literal char array concatenation, it is +// not possible to do translation of its messages without refactoring -- +// essentially that would come down to creating f() g() in the code after +// macro expansion, which is not valid. These are internal errors, so just concede. #define ASSERT(cond, msg, ...) \ if (!(cond)) STOP("Internal error in line %d of fread.c, please report on data.table GitHub: " msg, __LINE__, __VA_ARGS__) // # nocov @@ -1495,7 +1499,7 @@ int freadMain(freadMainArgs _args) { const char *prevLineStart=ch, *lineStart=ch; int lastncol = countfields(&ch); if (lastncol<0) continue; // invalid file with this sep and quote rule, skip - ASSERT(lastncol>0, _("Internal error: first non-empty row should always be at least one field; %c %d"), sep, quoteRule); // # nocov + ASSERT(lastncol>0, "first non-empty row should always be at least one field; %c %d", sep, quoteRule); // # nocov const char *thisBlockStart=lineStart; const char *thisBlockPrevStart = NULL; int thisBlockLines=1, thisRow=0; @@ -1546,7 +1550,7 @@ int freadMain(freadMainArgs _args) { if (!firstJumpEnd) { if (verbose) DTPRINT(_(" No sep and quote rule found a block of 2x2 or greater. Single column input.\n")); topNumFields = 1; - ASSERT(topSep==127, _("Single column input has topSep=%d"), topSep); + ASSERT(topSep==127, "Single column input has topSep=%d", topSep); sep = topSep; // no self healing quote rules, as we don't have >1 field to disambiguate // choose quote rule 0 or 1 based on for which 100 rows gets furthest into file @@ -1597,7 +1601,7 @@ int freadMain(freadMainArgs _args) { if (fileSize%4096==0) { const char *msg = _("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 is a multiple of 4096, too."); if (verbose) DTPRINT(_(" Copying file in RAM. %s\n"), msg); - ASSERT(mmp_copy==NULL, _("Internal error: mmp has already been copied due to abrupt non-eol ending, so it does not end with 2 or more eol."), 1/*dummy arg for macro*/); // #nocov + ASSERT(mmp_copy==NULL, "mmp has already been copied due to abrupt non-eol ending, so it does not end with 2 or more eol.", 1/*dummy arg for macro*/); // #nocov copyFile(fileSize, msg, verbose); pos = sof + (pos-(const char *)mmp); firstJumpEnd = sof + (firstJumpEnd-(const char *)mmp); @@ -2342,7 +2346,7 @@ int freadMain(freadMainArgs _args) { } if (restartTeam) { if (verbose) DTPRINT(_(" Restarting team from jump %d. nSwept==%d quoteRule==%d\n"), jump0, nSwept, quoteRule); - ASSERT(nSwept>0 || quoteRuleBumpedCh!=NULL, _("Internal error: team restart but nSwept==%d and quoteRuleBumpedCh==%p"), nSwept, quoteRuleBumpedCh); // # nocov + ASSERT(nSwept>0 || quoteRuleBumpedCh!=NULL, "Internal error: team restart but nSwept==%d and quoteRuleBumpedCh==%p", nSwept, quoteRuleBumpedCh); // # nocov goto read; } // else nrowLimit applied and stopped early normally diff --git a/src/po.h b/src/po.h index 8392f6b375..37e8435fd6 100644 --- a/src/po.h +++ b/src/po.h @@ -1,6 +1,6 @@ #ifdef ENABLE_NLS #include -#define _(String) dgettext ("data.table", String) +#define _(String) dgettext("data.table", String) #else #define _(String) (String) #endif From b761b7c3b876d751a9f51c67f74a640e3c0762ee Mon Sep 17 00:00:00 2001 From: Xianghui Dong Date: Sun, 17 Nov 2019 11:21:31 -0500 Subject: [PATCH 17/17] Update according to @shrektan's comments --- po/R-zh_CN.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/R-zh_CN.po b/po/R-zh_CN.po index 2cd1e9c689..effddafecd 100644 --- a/po/R-zh_CN.po +++ b/po/R-zh_CN.po @@ -1007,7 +1007,7 @@ msgid "%s:%d" msgstr "" msgid "The first entry with fewer than" -msgstr "第一个少于" +msgstr "第一个长度少于" msgid "entries is" msgstr "的输入项是" @@ -1045,7 +1045,7 @@ msgid "" "). For robustness, no recycling is allowed (other than of length 1 RHS). " "Consider %in% instead." msgstr "" -")。为了鲁棒性考虑,不进行回收重用(recycling)(除非右手侧长度为 1 )。" +")。考虑到程序的稳健性,只有在右侧元素长度为 1 的情况下,我们才会对之进行循环。" "考虑改用 %in% 。" msgid ""