@univerjs/sheets-data-validation 1.0.0-insiders.20260809-70eefdd → 1.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/LICENSE +176 -0
  2. package/README.md +10 -2
  3. package/lib/cjs/index.js +35 -25
  4. package/lib/cjs/locale/ar-SA.js +5 -25
  5. package/lib/cjs/locale/ca-ES.js +5 -25
  6. package/lib/cjs/locale/de-DE.js +5 -25
  7. package/lib/cjs/locale/en-US.js +5 -25
  8. package/lib/cjs/locale/es-ES.js +5 -25
  9. package/lib/cjs/locale/fa-IR.js +5 -25
  10. package/lib/cjs/locale/fr-FR.js +5 -25
  11. package/lib/cjs/locale/id-ID.js +5 -25
  12. package/lib/cjs/locale/it-IT.js +5 -25
  13. package/lib/cjs/locale/ja-JP.js +5 -25
  14. package/lib/cjs/locale/ko-KR.js +5 -25
  15. package/lib/cjs/locale/pl-PL.js +5 -25
  16. package/lib/cjs/locale/pt-BR.js +5 -25
  17. package/lib/cjs/locale/ru-RU.js +5 -25
  18. package/lib/cjs/locale/sk-SK.js +5 -25
  19. package/lib/cjs/locale/vi-VN.js +5 -25
  20. package/lib/cjs/locale/zh-CN.js +5 -25
  21. package/lib/cjs/locale/zh-HK.js +5 -25
  22. package/lib/cjs/locale/zh-TW.js +5 -25
  23. package/lib/es/index.js +36 -26
  24. package/lib/es/locale/ar-SA.js +5 -25
  25. package/lib/es/locale/ca-ES.js +5 -25
  26. package/lib/es/locale/de-DE.js +5 -25
  27. package/lib/es/locale/en-US.js +5 -25
  28. package/lib/es/locale/es-ES.js +5 -25
  29. package/lib/es/locale/fa-IR.js +5 -25
  30. package/lib/es/locale/fr-FR.js +5 -25
  31. package/lib/es/locale/id-ID.js +5 -25
  32. package/lib/es/locale/it-IT.js +5 -25
  33. package/lib/es/locale/ja-JP.js +5 -25
  34. package/lib/es/locale/ko-KR.js +5 -25
  35. package/lib/es/locale/pl-PL.js +5 -25
  36. package/lib/es/locale/pt-BR.js +5 -25
  37. package/lib/es/locale/ru-RU.js +5 -25
  38. package/lib/es/locale/sk-SK.js +5 -25
  39. package/lib/es/locale/vi-VN.js +5 -25
  40. package/lib/es/locale/zh-CN.js +5 -25
  41. package/lib/es/locale/zh-HK.js +5 -25
  42. package/lib/es/locale/zh-TW.js +5 -25
  43. package/lib/index.js +36 -26
  44. package/lib/locale/ar-SA.js +5 -25
  45. package/lib/locale/ca-ES.js +5 -25
  46. package/lib/locale/de-DE.js +5 -25
  47. package/lib/locale/en-US.js +5 -25
  48. package/lib/locale/es-ES.js +5 -25
  49. package/lib/locale/fa-IR.js +5 -25
  50. package/lib/locale/fr-FR.js +5 -25
  51. package/lib/locale/id-ID.js +5 -25
  52. package/lib/locale/it-IT.js +5 -25
  53. package/lib/locale/ja-JP.js +5 -25
  54. package/lib/locale/ko-KR.js +5 -25
  55. package/lib/locale/pl-PL.js +5 -25
  56. package/lib/locale/pt-BR.js +5 -25
  57. package/lib/locale/ru-RU.js +5 -25
  58. package/lib/locale/sk-SK.js +5 -25
  59. package/lib/locale/vi-VN.js +5 -25
  60. package/lib/locale/zh-CN.js +5 -25
  61. package/lib/locale/zh-HK.js +5 -25
  62. package/lib/locale/zh-TW.js +5 -25
  63. package/lib/types/locale/en-US.d.ts +0 -18
  64. package/lib/types/validators/date-validator.d.ts +3 -1
  65. package/lib/umd/index.js +1 -1
  66. package/lib/umd/locale/ar-SA.js +1 -1
  67. package/lib/umd/locale/ca-ES.js +1 -1
  68. package/lib/umd/locale/de-DE.js +1 -1
  69. package/lib/umd/locale/en-US.js +1 -1
  70. package/lib/umd/locale/es-ES.js +1 -1
  71. package/lib/umd/locale/fa-IR.js +1 -1
  72. package/lib/umd/locale/fr-FR.js +1 -1
  73. package/lib/umd/locale/id-ID.js +1 -1
  74. package/lib/umd/locale/it-IT.js +1 -1
  75. package/lib/umd/locale/ja-JP.js +1 -1
  76. package/lib/umd/locale/ko-KR.js +1 -1
  77. package/lib/umd/locale/pl-PL.js +1 -1
  78. package/lib/umd/locale/pt-BR.js +1 -1
  79. package/lib/umd/locale/ru-RU.js +1 -1
  80. package/lib/umd/locale/sk-SK.js +1 -1
  81. package/lib/umd/locale/vi-VN.js +1 -1
  82. package/lib/umd/locale/zh-CN.js +1 -1
  83. package/lib/umd/locale/zh-HK.js +1 -1
  84. package/lib/umd/locale/zh-TW.js +1 -1
  85. package/package.json +9 -9
package/lib/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { CellValueType, CommandType, DataValidationOperator, DataValidationRenderMode, DataValidationStatus, DataValidationType, DependentOn, Disposable, ICommandService, IConfigService, IPermissionService, IUndoRedoService, IUniverInstanceService, Inject, Injector, LifecycleService, LifecycleStages, ObjectMatrix, Plugin, RBush, Range, Rectangle, RxDisposable, Tools, UniverInstanceType, WrapStrategy, bufferDebounceTime, dateKit, debounce, generateRandomId, getIntersectRange, getOriginCellValue, isFormulaString, isRangesEqual, merge, numfmt, sequenceExecute, toDisposable } from "@univerjs/core";
1
+ import { CellValueType, CommandType, DataValidationOperator, DataValidationRenderMode, DataValidationStatus, DataValidationType, DateSystem, DependentOn, Disposable, ICommandService, IConfigService, IPermissionService, IUndoRedoService, IUniverInstanceService, Inject, Injector, LifecycleService, LifecycleStages, ObjectMatrix, Plugin, RBush, Range, Rectangle, RxDisposable, Tools, UniverInstanceType, WrapStrategy, bufferDebounceTime, debounce, excelSerialToDateTimeParts, generateRandomId, getIntersectRange, getNumfmtLocaleTag, getOriginCellValue, isFormulaString, isRangesEqual, merge, numfmt, sequenceExecute, toDisposable } from "@univerjs/core";
2
2
  import { AddDataValidationMutation, BaseDataValidator, DataValidationModel, DataValidatorRegistryService, RemoveDataValidationMutation, UniverDataValidationPlugin, UpdateDataValidationMutation, UpdateRuleType, getRuleOptions, getRuleSetting } from "@univerjs/data-validation";
3
3
  import { ERROR_TYPE_SET, LexerTreeBuilder, OtherFormulaBizType, RegisterOtherFormulaService, UniverFormulaEnginePlugin, deserializeRangeWithSheet, deserializeRangeWithSheetWithCache, isReferenceString, operatorToken, sequenceNodeType } from "@univerjs/engine-formula";
4
4
  import { ClearSelectionAllCommand, CopySheetCommand, RefRangeService, RemoveSheetCommand, RemoveSheetMutation, SetRangeValuesMutation, SetRangeValuesUndoMutationFactory, SheetInterceptorService, SheetsSelectionsService, UniverSheetsPlugin, WorksheetViewPermission, deserializeListOptions, getSheetCommandTarget, handleCommonDefaultRangeChangeWithEffectRefCommands } from "@univerjs/sheets";
@@ -1273,14 +1273,15 @@ function getTransformedFormula(lexerTreeBuilder, rule, position) {
1273
1273
 
1274
1274
  //#endregion
1275
1275
  //#region src/validators/date-validator.ts
1276
- const transformDate2SerialNumber = (value) => {
1277
- var _numfmt$parseDate, _numfmt$parseDate2;
1276
+ const transformDate2SerialNumber = (value, options = {}) => {
1277
+ var _numfmt$parseDate;
1278
1278
  if (value === void 0 || value === null || typeof value === "boolean") return;
1279
1279
  if (typeof value === "number" || !Number.isNaN(+value)) return +value;
1280
- const v = (_numfmt$parseDate = numfmt.parseDate(value)) === null || _numfmt$parseDate === void 0 ? void 0 : _numfmt$parseDate.v;
1281
- if (Tools.isDefine(v)) return v;
1282
- return (_numfmt$parseDate2 = numfmt.parseDate(dateKit(value).format("YYYY-MM-DD HH:mm:ss"))) === null || _numfmt$parseDate2 === void 0 ? void 0 : _numfmt$parseDate2.v;
1280
+ return (_numfmt$parseDate = numfmt.parseDate(value, options)) === null || _numfmt$parseDate === void 0 ? void 0 : _numfmt$parseDate.v;
1283
1281
  };
1282
+ function pad(value) {
1283
+ return String(value).padStart(2, "0");
1284
+ }
1284
1285
  var DateValidator = class extends BaseSheetValidator {
1285
1286
  constructor(..._args) {
1286
1287
  super(..._args);
@@ -1300,6 +1301,14 @@ var DateValidator = class extends BaseSheetValidator {
1300
1301
  _defineProperty(this, "scopes", ["sheet"]);
1301
1302
  _defineProperty(this, "_customFormulaService", this.injector.get(DataValidationCustomFormulaService));
1302
1303
  _defineProperty(this, "_lexerTreeBuilder", this.injector.get(LexerTreeBuilder));
1304
+ _defineProperty(this, "_univerInstanceService", this.injector.get(IUniverInstanceService));
1305
+ }
1306
+ _getParseOptions(unitId, workbook) {
1307
+ const targetWorkbook = workbook ?? (unitId ? this._univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_SHEET) : void 0);
1308
+ return targetWorkbook ? {
1309
+ locale: getNumfmtLocaleTag(targetWorkbook.getSnapshot().locale),
1310
+ dateSystem: targetWorkbook.getDateSystem()
1311
+ } : { dateSystem: DateSystem.Date1900 };
1303
1312
  }
1304
1313
  async parseFormula(rule, unitId, subUnitId, row, column) {
1305
1314
  const formulaResult1 = await this._customFormulaService.getCellFormulaValue(unitId, subUnitId, rule.uid, row, column);
@@ -1307,27 +1316,29 @@ var DateValidator = class extends BaseSheetValidator {
1307
1316
  const { formula1, formula2 } = rule;
1308
1317
  const isFormulaValid = isLegalFormulaResult(String(formulaResult1 === null || formulaResult1 === void 0 ? void 0 : formulaResult1.v)) && isLegalFormulaResult(String(formulaResult2 === null || formulaResult2 === void 0 ? void 0 : formulaResult2.v));
1309
1318
  return {
1310
- formula1: transformDate2SerialNumber(isFormulaString(formula1) ? formulaResult1 === null || formulaResult1 === void 0 ? void 0 : formulaResult1.v : formula1),
1311
- formula2: transformDate2SerialNumber(isFormulaString(formula2) ? formulaResult2 === null || formulaResult2 === void 0 ? void 0 : formulaResult2.v : formula2),
1319
+ formula1: transformDate2SerialNumber(isFormulaString(formula1) ? formulaResult1 === null || formulaResult1 === void 0 ? void 0 : formulaResult1.v : formula1, this._getParseOptions(unitId)),
1320
+ formula2: transformDate2SerialNumber(isFormulaString(formula2) ? formulaResult2 === null || formulaResult2 === void 0 ? void 0 : formulaResult2.v : formula2, this._getParseOptions(unitId)),
1312
1321
  isFormulaValid
1313
1322
  };
1314
1323
  }
1315
1324
  async isValidType(info) {
1316
1325
  const { interceptValue, value } = info;
1317
- if (typeof value === "number" && typeof interceptValue === "string") return Boolean(numfmt.parseDate(interceptValue));
1318
- if (typeof interceptValue === "string") return Boolean(numfmt.parseDate(interceptValue));
1326
+ const options = this._getParseOptions(info.unitId, info.workbook);
1327
+ if (typeof value === "number" && typeof interceptValue === "string") return Boolean(numfmt.parseDate(interceptValue, options));
1328
+ if (typeof interceptValue === "string") return Boolean(numfmt.parseDate(interceptValue, options));
1319
1329
  return false;
1320
1330
  }
1321
- _validatorSingleFormula(formula) {
1322
- return !Tools.isBlank(formula) && (isFormulaString(formula) || !Number.isNaN(+formula) || Boolean(formula && numfmt.parseDate(formula)));
1331
+ _validatorSingleFormula(formula, options) {
1332
+ return !Tools.isBlank(formula) && (isFormulaString(formula) || !Number.isNaN(+formula) || Boolean(formula && numfmt.parseDate(formula, options)));
1323
1333
  }
1324
1334
  validatorFormula(rule, unitId, subUnitId) {
1325
1335
  const operator = rule.operator;
1326
1336
  if (!operator) return { success: true };
1327
- const formula1Success = this._validatorSingleFormula(rule.formula1);
1337
+ const options = this._getParseOptions(unitId);
1338
+ const formula1Success = this._validatorSingleFormula(rule.formula1, options);
1328
1339
  const errorMsg = this.localeService.t("sheets-data-validation.validFail.date");
1329
1340
  if (TWO_FORMULA_OPERATOR_COUNT.includes(operator)) {
1330
- const formula2Success = this._validatorSingleFormula(rule.formula2);
1341
+ const formula2Success = this._validatorSingleFormula(rule.formula2, options);
1331
1342
  return {
1332
1343
  success: formula1Success && formula2Success,
1333
1344
  formula1: formula1Success ? void 0 : errorMsg,
@@ -1339,19 +1350,18 @@ var DateValidator = class extends BaseSheetValidator {
1339
1350
  formula1: formula1Success ? void 0 : errorMsg
1340
1351
  };
1341
1352
  }
1342
- normalizeFormula(rule, _unitId, _subUnitId) {
1353
+ normalizeFormula(rule, unitId, _subUnitId) {
1343
1354
  const { formula1, formula2, bizInfo } = rule;
1355
+ const options = this._getParseOptions(unitId);
1344
1356
  const normlizeSingleFormula = (formula) => {
1357
+ var _numfmt$parseDate2;
1345
1358
  if (!formula) return formula;
1346
- let date;
1347
- if (!Number.isNaN(+formula)) date = numfmt.dateFromSerial(+formula);
1348
- else {
1349
- var _numfmt$parseDate3;
1350
- const res = (_numfmt$parseDate3 = numfmt.parseDate(formula)) === null || _numfmt$parseDate3 === void 0 ? void 0 : _numfmt$parseDate3.v;
1351
- if (res === void 0 || res === null) return "";
1352
- date = numfmt.dateFromSerial(res);
1353
- }
1354
- return dateKit(`${date[0]}/${date[1]}/${date[2]} ${date[3]}:${date[4]}:${date[5]}`).format((bizInfo === null || bizInfo === void 0 ? void 0 : bizInfo.showTime) ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD");
1359
+ const serial = !Number.isNaN(+formula) ? +formula : (_numfmt$parseDate2 = numfmt.parseDate(formula, options)) === null || _numfmt$parseDate2 === void 0 ? void 0 : _numfmt$parseDate2.v;
1360
+ if (typeof serial !== "number") return "";
1361
+ const date = excelSerialToDateTimeParts(serial, { dateSystem: options.dateSystem ?? DateSystem.Date1900 });
1362
+ if (!date) return "";
1363
+ const dateText = `${String(date.year).padStart(4, "0")}-${pad(date.month)}-${pad(date.day)}`;
1364
+ return (bizInfo === null || bizInfo === void 0 ? void 0 : bizInfo.showTime) ? `${dateText} ${pad(date.hours)}:${pad(date.minutes)}:${pad(date.seconds)}` : dateText;
1355
1365
  };
1356
1366
  return {
1357
1367
  formula1: isFormulaString(formula1) ? formula1 : normlizeSingleFormula(`${formula1}`),
@@ -1362,7 +1372,7 @@ var DateValidator = class extends BaseSheetValidator {
1362
1372
  const { value } = cellInfo;
1363
1373
  return {
1364
1374
  ...cellInfo,
1365
- value: transformDate2SerialNumber(value)
1375
+ value: transformDate2SerialNumber(value, this._getParseOptions(cellInfo.unitId, cellInfo.workbook))
1366
1376
  };
1367
1377
  }
1368
1378
  get operatorNames() {
@@ -2299,7 +2309,7 @@ DataValidationFormulaController = __decorate([
2299
2309
  //#endregion
2300
2310
  //#region package.json
2301
2311
  var name = "@univerjs/sheets-data-validation";
2302
- var version = "1.0.0-insiders.20260809-70eefdd";
2312
+ var version = "1.0.0-rc.0";
2303
2313
 
2304
2314
  //#endregion
2305
2315
  //#region src/config/config.ts
@@ -8,8 +8,7 @@ const locale = { "sheets-data-validation": {
8
8
  lessThanOrEqual: "أقل من أو يساوي",
9
9
  equal: "يساوي",
10
10
  notEqual: "لا يساوي",
11
- notBetween: "ليس بين",
12
- legal: "نوع قانوني"
11
+ notBetween: "ليس بين"
13
12
  },
14
13
  ruleName: {
15
14
  between: "بين {FORMULA1} و{FORMULA2}",
@@ -42,8 +41,7 @@ const locale = { "sheets-data-validation": {
42
41
  lessThanOrEqual: "في أو قبل",
43
42
  equal: "يساوي",
44
43
  notEqual: "لا يساوي",
45
- notBetween: "ليس بين",
46
- legal: "تاريخ قانوني"
44
+ notBetween: "ليس بين"
47
45
  },
48
46
  ruleName: {
49
47
  between: "بين {FORMULA1} و{FORMULA2}",
@@ -85,20 +83,16 @@ const locale = { "sheets-data-validation": {
85
83
  custom: {
86
84
  ruleName: "الصيغة المخصصة هي {FORMULA1}",
87
85
  title: "صيغة مخصصة",
88
- validFail: "يرجى إدخال صيغة صالحة",
89
86
  error: "محتويات هذه الخلية تنتهك قاعدة التحقق"
90
87
  },
91
88
  validFail: {
92
89
  value: "يرجى إدخال قيمة",
93
- common: "يرجى إدخال قيمة أو صيغة",
94
90
  number: "يرجى إدخال رقم أو صيغة",
95
91
  formula: "يرجى إدخال صيغة",
96
- integer: "يرجى إدخال عدد صحيح أو صيغة",
97
92
  date: "يرجى إدخال تاريخ أو صيغة",
98
93
  list: "يرجى إدخال خيارات",
99
94
  listInvalid: "يجب أن يكون مصدر القائمة قائمة محددة بفواصل أو مرجعًا لصف أو عمود واحد",
100
95
  checkboxEqual: "أدخل قيمًا مختلفة لمحتويات الخلية المحددة وغير المحددة.",
101
- formulaError: "يحتوي نطاق المرجع على بيانات غير مرئية، يرجى إعادة ضبط النطاق",
102
96
  listIntersects: "لا يمكن أن يتقاطع النطاق المحدد مع نطاق القواعد",
103
97
  primitive: "غير مسموح بالصيغ لقيم المحدد وغير المحدد المخصصة."
104
98
  },
@@ -109,28 +103,14 @@ const locale = { "sheets-data-validation": {
109
103
  list: {
110
104
  title: "قائمة منسدلة",
111
105
  name: "القيمة تحتوي على واحدة من النطاق",
112
- error: "يجب أن يكون الإدخال ضمن النطاق المحدد",
113
- emptyError: "يرجى إدخال قيمة",
114
- add: "إضافة",
115
- dropdown: "تحديد",
116
- options: "خيارات",
117
- customOptions: "مخصص",
118
- refOptions: "من نطاق",
119
- formulaError: "يجب أن يكون مصدر القائمة قائمة بيانات محددة بفواصل، أو مرجعًا لصف أو عمود واحد.",
120
- edit: "تحرير"
121
- },
122
- listMultiple: {
123
- title: "قائمة منسدلة - متعددة",
124
- dropdown: "تحديد متعدد"
106
+ error: "يجب أن يكون الإدخال ضمن النطاق المحدد"
125
107
  },
108
+ listMultiple: { title: "قائمة منسدلة - متعددة" },
126
109
  decimal: { title: "رقم" },
127
110
  whole: { title: "عدد صحيح" },
128
111
  checkbox: {
129
112
  title: "خانة اختيار",
130
- error: "محتويات هذه الخلية تنتهك قاعدة التحقق",
131
- tips: "استخدم قيمًا مخصصة داخل الخلايا",
132
- checked: "القيمة المحددة",
133
- unchecked: "القيمة غير المحددة"
113
+ error: "محتويات هذه الخلية تنتهك قاعدة التحقق"
134
114
  }
135
115
  } };
136
116
 
@@ -8,8 +8,7 @@ const locale = { "sheets-data-validation": {
8
8
  lessThanOrEqual: "menys o igual que",
9
9
  equal: "igual",
10
10
  notEqual: "no igual",
11
- notBetween: "no entre",
12
- legal: "és tipus legal"
11
+ notBetween: "no entre"
13
12
  },
14
13
  ruleName: {
15
14
  between: "Està entre {FORMULA1} i {FORMULA2}",
@@ -42,8 +41,7 @@ const locale = { "sheets-data-validation": {
42
41
  lessThanOrEqual: "en o abans de",
43
42
  equal: "igual",
44
43
  notEqual: "no igual",
45
- notBetween: "no entre",
46
- legal: "és una data legal"
44
+ notBetween: "no entre"
47
45
  },
48
46
  ruleName: {
49
47
  between: "està entre {FORMULA1} i {FORMULA2}",
@@ -85,20 +83,16 @@ const locale = { "sheets-data-validation": {
85
83
  custom: {
86
84
  ruleName: "La fórmula personalitzada és {FORMULA1}",
87
85
  title: "Fórmula personalitzada",
88
- validFail: "Si us plau, introdueix una fórmula vàlida",
89
86
  error: "El contingut d’aquesta cel·la incompleix la seva regla de validació"
90
87
  },
91
88
  validFail: {
92
89
  value: "Si us plau, introdueix un valor",
93
- common: "Si us plau, introdueix un valor o una fórmula",
94
90
  number: "Si us plau, introdueix un número o una fórmula",
95
91
  formula: "Si us plau, introdueix una fórmula",
96
- integer: "Si us plau, introdueix un enter o una fórmula",
97
92
  date: "Si us plau, introdueix una data o una fórmula",
98
93
  list: "Si us plau, introdueix opcions",
99
94
  listInvalid: "La font de la llista ha de ser una llista delimitada o una referència a una sola fila o columna",
100
95
  checkboxEqual: "Introdueix valors diferents per als continguts de cel·la marcats i desmarcats.",
101
- formulaError: "L’interval de referència conté dades invisibles, ajusta l’interval",
102
96
  listIntersects: "L’interval seleccionat no pot creuar-se amb l’àmbit de les regles",
103
97
  primitive: "No es permeten fórmules per a valors personalitzats marcats i desmarcats."
104
98
  },
@@ -109,28 +103,14 @@ const locale = { "sheets-data-validation": {
109
103
  list: {
110
104
  title: "Desplegable",
111
105
  name: "El valor conté un del rang",
112
- error: "L’entrada ha d’estar dins del rang especificat",
113
- emptyError: "Si us plau, introdueix un valor",
114
- add: "Afegeix",
115
- dropdown: "Selecciona",
116
- options: "Opcions",
117
- customOptions: "Personalitzat",
118
- refOptions: "D’un interval",
119
- formulaError: "La font de la llista ha de ser una llista delimitada de dades o una referència a una sola fila o columna.",
120
- edit: "Edita"
121
- },
122
- listMultiple: {
123
- title: "Desplegable-múltiple",
124
- dropdown: "Selecció múltiple"
106
+ error: "L’entrada ha d’estar dins del rang especificat"
125
107
  },
108
+ listMultiple: { title: "Desplegable-múltiple" },
126
109
  decimal: { title: "Número" },
127
110
  whole: { title: "Enter" },
128
111
  checkbox: {
129
112
  title: "Casella de selecció",
130
- error: "El contingut d’aquesta cel·la incompleix la seva regla de validació",
131
- tips: "Utilitza valors personalitzats dins de les cel·les",
132
- checked: "Valor seleccionat",
133
- unchecked: "Valor no seleccionat"
113
+ error: "El contingut d’aquesta cel·la incompleix la seva regla de validació"
134
114
  }
135
115
  } };
136
116
 
@@ -8,8 +8,7 @@ const locale = { "sheets-data-validation": {
8
8
  lessThanOrEqual: "kleiner als oder gleich",
9
9
  equal: "gleich",
10
10
  notEqual: "ungleich",
11
- notBetween: "nicht zwischen",
12
- legal: "ist gültiger Typ"
11
+ notBetween: "nicht zwischen"
13
12
  },
14
13
  ruleName: {
15
14
  between: "Ist zwischen {FORMULA1} und {FORMULA2}",
@@ -42,8 +41,7 @@ const locale = { "sheets-data-validation": {
42
41
  lessThanOrEqual: "am oder vor",
43
42
  equal: "gleich",
44
43
  notEqual: "ungleich",
45
- notBetween: "nicht zwischen",
46
- legal: "ist ein gültiges Datum"
44
+ notBetween: "nicht zwischen"
47
45
  },
48
46
  ruleName: {
49
47
  between: "ist zwischen {FORMULA1} und {FORMULA2}",
@@ -85,20 +83,16 @@ const locale = { "sheets-data-validation": {
85
83
  custom: {
86
84
  ruleName: "Benutzerdefinierte Formel ist {FORMULA1}",
87
85
  title: "Benutzerdefinierte Formel",
88
- validFail: "Bitte geben Sie eine gültige Formel ein",
89
86
  error: "Der Inhalt dieser Zelle verstößt gegen die Überprüfungsregel"
90
87
  },
91
88
  validFail: {
92
89
  value: "Bitte geben Sie einen Wert ein",
93
- common: "Bitte geben Sie einen Wert oder eine Formel ein",
94
90
  number: "Bitte geben Sie eine Zahl oder eine Formel ein",
95
91
  formula: "Bitte geben Sie eine Formel ein",
96
- integer: "Bitte geben Sie eine ganze Zahl oder eine Formel ein",
97
92
  date: "Bitte geben Sie ein Datum oder eine Formel ein",
98
93
  list: "Bitte geben Sie Optionen ein",
99
94
  listInvalid: "Die Listenquelle muss eine durch Trennzeichen getrennte Liste oder ein Bezug auf eine einzelne Zeile oder Spalte sein",
100
95
  checkboxEqual: "Geben Sie unterschiedliche Werte für angekreuzte und nicht angekreuzte Zelleninhalte ein.",
101
- formulaError: "Der Bezugsbereich enthält unsichtbare Daten, bitte passen Sie den Bereich an",
102
96
  listIntersects: "Der ausgewählte Bereich darf sich nicht mit dem Geltungsbereich der Regeln überschneiden",
103
97
  primitive: "Formeln sind für benutzerdefinierte angekreuzte und nicht angekreuzte Werte nicht zulässig."
104
98
  },
@@ -109,28 +103,14 @@ const locale = { "sheets-data-validation": {
109
103
  list: {
110
104
  title: "Dropdown",
111
105
  name: "Wert enthält einen aus dem Bereich",
112
- error: "Eingabe muss im angegebenen Bereich liegen",
113
- emptyError: "Bitte geben Sie einen Wert ein",
114
- add: "Hinzufügen",
115
- dropdown: "Auswählen",
116
- options: "Optionen",
117
- customOptions: "Benutzerdefiniert",
118
- refOptions: "Aus einem Bereich",
119
- formulaError: "Die Listenquelle muss eine durch Trennzeichen getrennte Datenliste oder ein Bezug auf eine einzelne Zeile oder Spalte sein.",
120
- edit: "Bearbeiten"
121
- },
122
- listMultiple: {
123
- title: "Dropdown-Mehrfachauswahl",
124
- dropdown: "Mehrfachauswahl"
106
+ error: "Eingabe muss im angegebenen Bereich liegen"
125
107
  },
108
+ listMultiple: { title: "Dropdown-Mehrfachauswahl" },
126
109
  decimal: { title: "Zahl" },
127
110
  whole: { title: "Ganze Zahl" },
128
111
  checkbox: {
129
112
  title: "Kontrollkästchen",
130
- error: "Der Inhalt dieser Zelle verstößt gegen die Überprüfungsregel",
131
- tips: "Benutzerdefinierte Werte in Zellen verwenden",
132
- checked: "Ausgewählter Wert",
133
- unchecked: "Nicht ausgewählter Wert"
113
+ error: "Der Inhalt dieser Zelle verstößt gegen die Überprüfungsregel"
134
114
  }
135
115
  } };
136
116
 
@@ -23,8 +23,7 @@ const locale = { "sheets-data-validation": {
23
23
  lessThanOrEqual: "less than or equal",
24
24
  equal: "equal",
25
25
  notEqual: "not equal",
26
- notBetween: "not between",
27
- legal: "is legal type"
26
+ notBetween: "not between"
28
27
  },
29
28
  ruleName: {
30
29
  between: "Is between {FORMULA1} and {FORMULA2}",
@@ -57,8 +56,7 @@ const locale = { "sheets-data-validation": {
57
56
  lessThanOrEqual: "on or before",
58
57
  equal: "equal",
59
58
  notEqual: "not equal",
60
- notBetween: "not between",
61
- legal: "is a legal date"
59
+ notBetween: "not between"
62
60
  },
63
61
  ruleName: {
64
62
  between: "is between {FORMULA1} and {FORMULA2}",
@@ -100,20 +98,16 @@ const locale = { "sheets-data-validation": {
100
98
  custom: {
101
99
  ruleName: "Custom formula is {FORMULA1}",
102
100
  title: "Custom formula",
103
- validFail: "Please input a valid formula",
104
101
  error: "This cell's contents violate its validation rule"
105
102
  },
106
103
  validFail: {
107
104
  value: "Please input a value",
108
- common: "Please input value or formula",
109
105
  number: "Please input number or formula",
110
106
  formula: "Please input formula",
111
- integer: "Please input integer or formula",
112
107
  date: "Please input date or formula",
113
108
  list: "Please input options",
114
109
  listInvalid: "The list source must be a delimited list or a reference to a single row or column",
115
110
  checkboxEqual: "Enter different values for ticked and unticked cell contents.",
116
- formulaError: "The reference range contains invisible data, please readjust the range",
117
111
  listIntersects: "The selected range cannot intersect with the scope of the rules",
118
112
  primitive: "Formulas are not permitted for custom ticked and unticked values."
119
113
  },
@@ -124,28 +118,14 @@ const locale = { "sheets-data-validation": {
124
118
  list: {
125
119
  title: "Dropdown",
126
120
  name: "Value contains one from range",
127
- error: "Input must fall within specified range",
128
- emptyError: "Please enter a value",
129
- add: "Add",
130
- dropdown: "Select",
131
- options: "Options",
132
- customOptions: "Custom",
133
- refOptions: "From a range",
134
- formulaError: "The list source must be a delimited list of data, or a reference to a single row or column.",
135
- edit: "Edit"
136
- },
137
- listMultiple: {
138
- title: "Dropdown-Multiple",
139
- dropdown: "Multiple select"
121
+ error: "Input must fall within specified range"
140
122
  },
123
+ listMultiple: { title: "Dropdown-Multiple" },
141
124
  decimal: { title: "Number" },
142
125
  whole: { title: "Integer" },
143
126
  checkbox: {
144
127
  title: "Checkbox",
145
- error: "This cell's contents violate its validation rule",
146
- tips: "Use custom values within cells",
147
- checked: "Selected value",
148
- unchecked: "Unselected value"
128
+ error: "This cell's contents violate its validation rule"
149
129
  }
150
130
  } };
151
131
 
@@ -8,8 +8,7 @@ const locale = { "sheets-data-validation": {
8
8
  lessThanOrEqual: "menor o igual que",
9
9
  equal: "igual",
10
10
  notEqual: "no igual",
11
- notBetween: "no entre",
12
- legal: "es tipo legal"
11
+ notBetween: "no entre"
13
12
  },
14
13
  ruleName: {
15
14
  between: "Está entre {FORMULA1} y {FORMULA2}",
@@ -42,8 +41,7 @@ const locale = { "sheets-data-validation": {
42
41
  lessThanOrEqual: "en o antes de",
43
42
  equal: "igual",
44
43
  notEqual: "no igual",
45
- notBetween: "no entre",
46
- legal: "es una fecha legal"
44
+ notBetween: "no entre"
47
45
  },
48
46
  ruleName: {
49
47
  between: "está entre {FORMULA1} y {FORMULA2}",
@@ -85,20 +83,16 @@ const locale = { "sheets-data-validation": {
85
83
  custom: {
86
84
  ruleName: "La fórmula personalizada es {FORMULA1}",
87
85
  title: "Fórmula personalizada",
88
- validFail: "Por favor, introduce una fórmula válida",
89
86
  error: "El contenido de esta celda viola su regla de validación"
90
87
  },
91
88
  validFail: {
92
89
  value: "Por favor, introduce un valor",
93
- common: "Por favor, introduce un valor o fórmula",
94
90
  number: "Por favor, introduce un número o fórmula",
95
91
  formula: "Por favor, introduce una fórmula",
96
- integer: "Por favor, introduce un entero o fórmula",
97
92
  date: "Por favor, introduce una fecha o fórmula",
98
93
  list: "Por favor, introduce opciones",
99
94
  listInvalid: "La fuente de la lista debe ser una lista delimitada o una referencia a una sola fila o columna",
100
95
  checkboxEqual: "Introduce valores diferentes para los contenidos de celda marcados y desmarcados.",
101
- formulaError: "El rango de referencia contiene datos invisibles, ajusta el rango",
102
96
  listIntersects: "El rango seleccionado no puede cruzarse con el ámbito de las reglas",
103
97
  primitive: "No se permiten fórmulas para valores personalizados marcados y desmarcados."
104
98
  },
@@ -109,28 +103,14 @@ const locale = { "sheets-data-validation": {
109
103
  list: {
110
104
  title: "Desplegable",
111
105
  name: "El valor contiene uno del rango",
112
- error: "La entrada debe estar dentro del rango especificado",
113
- emptyError: "Por favor, introduce un valor",
114
- add: "Añadir",
115
- dropdown: "Seleccionar",
116
- options: "Opciones",
117
- customOptions: "Personalizado",
118
- refOptions: "De un rango",
119
- formulaError: "La fuente de la lista debe ser una lista delimitada de datos o una referencia a una sola fila o columna.",
120
- edit: "Editar"
121
- },
122
- listMultiple: {
123
- title: "Desplegable-múltiple",
124
- dropdown: "Selección múltiple"
106
+ error: "La entrada debe estar dentro del rango especificado"
125
107
  },
108
+ listMultiple: { title: "Desplegable-múltiple" },
126
109
  decimal: { title: "Número" },
127
110
  whole: { title: "Entero" },
128
111
  checkbox: {
129
112
  title: "Casilla de verificación",
130
- error: "El contenido de esta celda viola su regla de validación",
131
- tips: "Usa valores personalizados dentro de las celdas",
132
- checked: "Valor seleccionado",
133
- unchecked: "Valor no seleccionado"
113
+ error: "El contenido de esta celda viola su regla de validación"
134
114
  }
135
115
  } };
136
116
 
@@ -8,8 +8,7 @@ const locale = { "sheets-data-validation": {
8
8
  lessThanOrEqual: "کوچکتر از یا برابر با",
9
9
  equal: "برابر با",
10
10
  notEqual: "نابرابر با",
11
- notBetween: "بین نیست",
12
- legal: "نوع قانونی است"
11
+ notBetween: "بین نیست"
13
12
  },
14
13
  ruleName: {
15
14
  between: "بین {FORMULA1} و {FORMULA2} است",
@@ -42,8 +41,7 @@ const locale = { "sheets-data-validation": {
42
41
  lessThanOrEqual: "روی یا قبل از",
43
42
  equal: "برابر است با",
44
43
  notEqual: "برابر نیست با",
45
- notBetween: "بین ... و ... نیست",
46
- legal: "یک تاریخ قانونی است"
44
+ notBetween: "بین ... و ... نیست"
47
45
  },
48
46
  ruleName: {
49
47
  between: "بین {FORMULA1} و {FORMULA2} است",
@@ -85,20 +83,16 @@ const locale = { "sheets-data-validation": {
85
83
  custom: {
86
84
  ruleName: "فرمول سفارشی {FORMULA1}",
87
85
  title: "فرمول سفارشی ",
88
- validFail: "لطفا یک فرمول معتبر وارد کنید",
89
86
  error: "محتوای این سلول با قانون اعتبارسنجی آن نقض می‌شود"
90
87
  },
91
88
  validFail: {
92
89
  value: "لطفا یک مقدار وارد کنید",
93
- common: "لطفا مقدار یا فرمول را وارد کنید",
94
90
  number: "لطفا عدد یا فرمول را وارد کنید",
95
91
  formula: "لطفا فرمول را وارد کنید",
96
- integer: "لطفا عدد صحیح یا فرمول را وارد کنید",
97
92
  date: "لطفا تاریخ یا فرمول را وارد کنید",
98
93
  list: "لطفا گزینه‌ها را وارد کنید",
99
94
  listInvalid: "منبع لیست باید یک لیست جدا شده یا یک مرجع به یک سطر یا ستون منفرد باشد",
100
95
  checkboxEqual: "برای محتوای سلول‌های علامت‌دار و علامت‌گذاری نشده، مقادیر متفاوتی وارد کنید.",
101
- formulaError: "محدوده مرجع حاوی داده‌های نامرئی است، لطفا محدوده را دوباره تنظیم کنید",
102
96
  listIntersects: "محدوده انتخاب شده نمی‌تواند با دامنه قوانین تداخل داشته باشد",
103
97
  primitive: "فرمول‌ها برای مقادیر سفارشی علامت‌دار و علامت‌گذاری نشده مجاز نیستند."
104
98
  },
@@ -109,28 +103,14 @@ const locale = { "sheets-data-validation": {
109
103
  list: {
110
104
  title: "لیست کشویی",
111
105
  name: "مقدار شامل یکی از محدوده است",
112
- error: "ورود باید در محدوده مشخص شده قرار گیرد",
113
- emptyError: "لطفا یک مقدار وارد کنید",
114
- add: "افزودن",
115
- dropdown: "انتخاب",
116
- options: "گزینه‌ها",
117
- customOptions: "سفارشی",
118
- refOptions: "از یک محدوده",
119
- formulaError: "منبع لیست باید یک لیست جدا شده از داده‌ها یا یک مرجع به یک سطر یا ستون منفرد باشد.",
120
- edit: "ویرایش"
121
- },
122
- listMultiple: {
123
- title: "لیست کشویی چندگانه",
124
- dropdown: "انتخاب چندگانه"
106
+ error: "ورود باید در محدوده مشخص شده قرار گیرد"
125
107
  },
108
+ listMultiple: { title: "لیست کشویی چندگانه" },
126
109
  decimal: { title: "عدد" },
127
110
  whole: { title: "عدد صحیح" },
128
111
  checkbox: {
129
112
  title: "کادر انتخاب",
130
- error: "محتوای این سلول با قانون اعتبارسنجی آن نقض می‌شود",
131
- tips: "از مقادیر سفارشی در سلول‌ها استفاده کنید",
132
- checked: "مقدار انتخاب شده",
133
- unchecked: "مقدار انتخاب نشده"
113
+ error: "محتوای این سلول با قانون اعتبارسنجی آن نقض می‌شود"
134
114
  }
135
115
  } };
136
116
 
@@ -8,8 +8,7 @@ const locale = { "sheets-data-validation": {
8
8
  lessThanOrEqual: "inférieur ou égal à",
9
9
  equal: "égal à",
10
10
  notEqual: "différent de",
11
- notBetween: "pas entre",
12
- legal: "est de type légal"
11
+ notBetween: "pas entre"
13
12
  },
14
13
  ruleName: {
15
14
  between: "est entre {FORMULA1} et {FORMULA2}",
@@ -42,8 +41,7 @@ const locale = { "sheets-data-validation": {
42
41
  lessThanOrEqual: "le ou avant",
43
42
  equal: "égal à",
44
43
  notEqual: "différent de",
45
- notBetween: "pas entre",
46
- legal: "est une date légale"
44
+ notBetween: "pas entre"
47
45
  },
48
46
  ruleName: {
49
47
  between: "est entre {FORMULA1} et {FORMULA2}",
@@ -85,20 +83,16 @@ const locale = { "sheets-data-validation": {
85
83
  custom: {
86
84
  ruleName: "La formule personnalisée est {FORMULA1}",
87
85
  title: "Formule personnalisée",
88
- validFail: "Veuillez entrer une formule valide",
89
86
  error: "Le contenu de cette cellule viole sa règle de validation"
90
87
  },
91
88
  validFail: {
92
89
  value: "Veuillez entrer une valeur",
93
- common: "Veuillez entrer une valeur ou une formule",
94
90
  number: "Veuillez entrer un nombre ou une formule",
95
91
  formula: "Veuillez entrer une formule",
96
- integer: "Veuillez entrer un entier ou une formule",
97
92
  date: "Veuillez entrer une date ou une formule",
98
93
  list: "Veuillez entrer des options",
99
94
  listInvalid: "La source de la liste doit être une liste délimitée ou une référence à une seule ligne ou colonne",
100
95
  checkboxEqual: "Entrez des valeurs différentes pour les contenus des cellules cochées et décochées.",
101
- formulaError: "La plage de référence contient des données invisibles, veuillez réajuster la plage",
102
96
  listIntersects: "La plage sélectionnée ne peut pas croiser le champ des règles",
103
97
  primitive: "Les formules ne sont pas autorisées pour les valeurs personnalisées cochées et décochées."
104
98
  },
@@ -109,28 +103,14 @@ const locale = { "sheets-data-validation": {
109
103
  list: {
110
104
  title: "Liste déroulante",
111
105
  name: "La valeur contient une de la plage",
112
- error: "L'entrée doit être dans la plage spécifiée",
113
- emptyError: "Veuillez entrer une valeur",
114
- add: "Ajouter",
115
- dropdown: "Sélectionner",
116
- options: "Options",
117
- customOptions: "Personnalisé",
118
- refOptions: "D'une plage",
119
- formulaError: "La source de la liste doit être une liste délimitée de données, ou une référence à une seule ligne ou colonne.",
120
- edit: "Éditer"
121
- },
122
- listMultiple: {
123
- title: "Liste déroulante-Multiple",
124
- dropdown: "Sélection multiple"
106
+ error: "L'entrée doit être dans la plage spécifiée"
125
107
  },
108
+ listMultiple: { title: "Liste déroulante-Multiple" },
126
109
  decimal: { title: "Nombre" },
127
110
  whole: { title: "Entier" },
128
111
  checkbox: {
129
112
  title: "Case à cocher",
130
- error: "Le contenu de cette cellule viole sa règle de validation",
131
- tips: "Utiliser des valeurs personnalisées dans les cellules",
132
- checked: "Valeur sélectionnée",
133
- unchecked: "Valeur non sélectionnée"
113
+ error: "Le contenu de cette cellule viole sa règle de validation"
134
114
  }
135
115
  } };
136
116