@univerjs/sheets 0.24.0 → 0.25.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 (102) hide show
  1. package/lib/cjs/facade.js +462 -235
  2. package/lib/cjs/index.js +68 -56
  3. package/lib/cjs/locale/ar-SA.js +52 -0
  4. package/lib/cjs/locale/ca-ES.js +36 -1
  5. package/lib/cjs/locale/de-DE.js +52 -0
  6. package/lib/cjs/locale/en-US.js +36 -1
  7. package/lib/cjs/locale/es-ES.js +36 -1
  8. package/lib/cjs/locale/fa-IR.js +36 -1
  9. package/lib/cjs/locale/fr-FR.js +36 -1
  10. package/lib/cjs/locale/id-ID.js +52 -0
  11. package/lib/cjs/locale/it-IT.js +52 -0
  12. package/lib/cjs/locale/ja-JP.js +36 -1
  13. package/lib/cjs/locale/ko-KR.js +36 -1
  14. package/lib/cjs/locale/pl-PL.js +52 -0
  15. package/lib/cjs/locale/pt-BR.js +52 -0
  16. package/lib/cjs/locale/ru-RU.js +36 -1
  17. package/lib/cjs/locale/sk-SK.js +36 -1
  18. package/lib/cjs/locale/vi-VN.js +36 -1
  19. package/lib/cjs/locale/zh-CN.js +36 -1
  20. package/lib/cjs/locale/zh-HK.js +52 -0
  21. package/lib/cjs/locale/zh-TW.js +36 -1
  22. package/lib/es/facade.js +462 -235
  23. package/lib/es/index.js +67 -57
  24. package/lib/es/locale/ar-SA.js +51 -0
  25. package/lib/es/locale/ca-ES.js +36 -1
  26. package/lib/es/locale/de-DE.js +51 -0
  27. package/lib/es/locale/en-US.js +36 -1
  28. package/lib/es/locale/es-ES.js +36 -1
  29. package/lib/es/locale/fa-IR.js +36 -1
  30. package/lib/es/locale/fr-FR.js +36 -1
  31. package/lib/es/locale/id-ID.js +51 -0
  32. package/lib/es/locale/it-IT.js +51 -0
  33. package/lib/es/locale/ja-JP.js +36 -1
  34. package/lib/es/locale/ko-KR.js +36 -1
  35. package/lib/es/locale/pl-PL.js +51 -0
  36. package/lib/es/locale/pt-BR.js +51 -0
  37. package/lib/es/locale/ru-RU.js +36 -1
  38. package/lib/es/locale/sk-SK.js +36 -1
  39. package/lib/es/locale/vi-VN.js +36 -1
  40. package/lib/es/locale/zh-CN.js +36 -1
  41. package/lib/es/locale/zh-HK.js +51 -0
  42. package/lib/es/locale/zh-TW.js +36 -1
  43. package/lib/facade.js +462 -235
  44. package/lib/index.js +67 -57
  45. package/lib/locale/ar-SA.js +51 -0
  46. package/lib/locale/ca-ES.js +36 -1
  47. package/lib/locale/de-DE.js +51 -0
  48. package/lib/locale/en-US.js +36 -1
  49. package/lib/locale/es-ES.js +36 -1
  50. package/lib/locale/fa-IR.js +36 -1
  51. package/lib/locale/fr-FR.js +36 -1
  52. package/lib/locale/id-ID.js +51 -0
  53. package/lib/locale/it-IT.js +51 -0
  54. package/lib/locale/ja-JP.js +36 -1
  55. package/lib/locale/ko-KR.js +36 -1
  56. package/lib/locale/pl-PL.js +51 -0
  57. package/lib/locale/pt-BR.js +51 -0
  58. package/lib/locale/ru-RU.js +36 -1
  59. package/lib/locale/sk-SK.js +36 -1
  60. package/lib/locale/vi-VN.js +36 -1
  61. package/lib/locale/zh-CN.js +36 -1
  62. package/lib/locale/zh-HK.js +51 -0
  63. package/lib/locale/zh-TW.js +36 -1
  64. package/lib/types/basics/utils.d.ts +2 -0
  65. package/lib/types/facade/f-range.d.ts +184 -92
  66. package/lib/types/facade/f-selection.d.ts +15 -8
  67. package/lib/types/facade/f-workbook.d.ts +12 -5
  68. package/lib/types/facade/f-worksheet.d.ts +202 -101
  69. package/lib/types/facade/permission/f-range-permission.d.ts +8 -4
  70. package/lib/types/facade/permission/f-range-protection-rule.d.ts +18 -9
  71. package/lib/types/facade/permission/f-worksheet-permission.d.ts +36 -18
  72. package/lib/types/index.d.ts +1 -1
  73. package/lib/types/locale/ar-SA.d.ts +18 -0
  74. package/lib/types/locale/de-DE.d.ts +18 -0
  75. package/lib/types/locale/en-US.d.ts +39 -0
  76. package/lib/types/locale/id-ID.d.ts +18 -0
  77. package/lib/types/locale/it-IT.d.ts +18 -0
  78. package/lib/types/locale/pl-PL.d.ts +18 -0
  79. package/lib/types/locale/pt-BR.d.ts +18 -0
  80. package/lib/types/locale/zh-HK.d.ts +18 -0
  81. package/lib/umd/facade.js +1 -1
  82. package/lib/umd/index.js +2 -2
  83. package/lib/umd/locale/ar-SA.js +1 -0
  84. package/lib/umd/locale/ca-ES.js +1 -1
  85. package/lib/umd/locale/de-DE.js +1 -0
  86. package/lib/umd/locale/en-US.js +1 -1
  87. package/lib/umd/locale/es-ES.js +1 -1
  88. package/lib/umd/locale/fa-IR.js +1 -1
  89. package/lib/umd/locale/fr-FR.js +1 -1
  90. package/lib/umd/locale/id-ID.js +1 -0
  91. package/lib/umd/locale/it-IT.js +1 -0
  92. package/lib/umd/locale/ja-JP.js +1 -1
  93. package/lib/umd/locale/ko-KR.js +1 -1
  94. package/lib/umd/locale/pl-PL.js +1 -0
  95. package/lib/umd/locale/pt-BR.js +1 -0
  96. package/lib/umd/locale/ru-RU.js +1 -1
  97. package/lib/umd/locale/sk-SK.js +1 -1
  98. package/lib/umd/locale/vi-VN.js +1 -1
  99. package/lib/umd/locale/zh-CN.js +1 -1
  100. package/lib/umd/locale/zh-HK.js +1 -0
  101. package/lib/umd/locale/zh-TW.js +1 -1
  102. package/package.json +9 -9
package/lib/cjs/index.js CHANGED
@@ -159,7 +159,7 @@ const RangeThemeInterceptorId = "sheet.interceptor.range-theme-id";
159
159
  const IgnoreRangeThemeInterceptorKey = "sheet.interceptor.ignore-range-theme";
160
160
 
161
161
  //#endregion
162
- //#region \0@oxc-project+runtime@0.129.0/helpers/typeof.js
162
+ //#region \0@oxc-project+runtime@0.133.0/helpers/esm/typeof.js
163
163
  function _typeof(o) {
164
164
  "@babel/helpers - typeof";
165
165
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -170,7 +170,7 @@ function _typeof(o) {
170
170
  }
171
171
 
172
172
  //#endregion
173
- //#region \0@oxc-project+runtime@0.129.0/helpers/toPrimitive.js
173
+ //#region \0@oxc-project+runtime@0.133.0/helpers/esm/toPrimitive.js
174
174
  function toPrimitive(t, r) {
175
175
  if ("object" != _typeof(t) || !t) return t;
176
176
  var e = t[Symbol.toPrimitive];
@@ -183,14 +183,14 @@ function toPrimitive(t, r) {
183
183
  }
184
184
 
185
185
  //#endregion
186
- //#region \0@oxc-project+runtime@0.129.0/helpers/toPropertyKey.js
186
+ //#region \0@oxc-project+runtime@0.133.0/helpers/esm/toPropertyKey.js
187
187
  function toPropertyKey(t) {
188
188
  var i = toPrimitive(t, "string");
189
189
  return "symbol" == _typeof(i) ? i : i + "";
190
190
  }
191
191
 
192
192
  //#endregion
193
- //#region \0@oxc-project+runtime@0.129.0/helpers/defineProperty.js
193
+ //#region \0@oxc-project+runtime@0.133.0/helpers/esm/defineProperty.js
194
194
  function _defineProperty(e, r, t) {
195
195
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
196
196
  value: t,
@@ -201,7 +201,7 @@ function _defineProperty(e, r, t) {
201
201
  }
202
202
 
203
203
  //#endregion
204
- //#region \0@oxc-project+runtime@0.129.0/helpers/decorateParam.js
204
+ //#region \0@oxc-project+runtime@0.133.0/helpers/esm/decorateParam.js
205
205
  function __decorateParam(paramIndex, decorator) {
206
206
  return function(target, key) {
207
207
  decorator(target, key, paramIndex);
@@ -209,7 +209,7 @@ function __decorateParam(paramIndex, decorator) {
209
209
  }
210
210
 
211
211
  //#endregion
212
- //#region \0@oxc-project+runtime@0.129.0/helpers/decorate.js
212
+ //#region \0@oxc-project+runtime@0.133.0/helpers/esm/decorate.js
213
213
  function __decorate(decorators, target, key, desc) {
214
214
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
215
215
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -3078,21 +3078,21 @@ function getSkeletonChangedEffectedRange(commandInfo, columnCount) {
3078
3078
  //#endregion
3079
3079
  //#region src/basics/defined-name-utils.ts
3080
3080
  function validateDefinedName(name, options) {
3081
- if (name.length === 0) return "definedName.nameEmpty";
3081
+ if (name.length === 0) return "sheets.definedName.nameEmpty";
3082
3082
  const { unitId, formulaOrRefString, univerInstanceService, definedNamesService, superTableService, functionService, id } = options;
3083
3083
  /**
3084
3084
  * The defined name can't be duplicate with existing defined names.
3085
3085
  * If id is provided, it means we are updating an existing defined name. We should allow the name to be the same as itself.
3086
3086
  */
3087
3087
  const existingDefinedName = definedNamesService.getValueByName(unitId, name);
3088
- if (existingDefinedName && (id === null || id === void 0 || id.length === 0 || existingDefinedName.id !== id)) return "definedName.nameDuplicate";
3089
- if (superTableService.hasTable(unitId, name)) return "definedName.nameDuplicate";
3090
- if (!_univerjs_core.Tools.isValidParameter(name) || (0, _univerjs_engine_formula.isReferenceStringWithEffectiveColumn)(name) || !_univerjs_core.Tools.isStartValidPosition(name) && !(0, _univerjs_engine_render.hasCJKText)(name.substring(0, 1))) return "definedName.nameInvalid";
3088
+ if (existingDefinedName && (id === null || id === void 0 || id.length === 0 || existingDefinedName.id !== id)) return "sheets.definedName.nameDuplicate";
3089
+ if (superTableService.hasTable(unitId, name)) return "sheets.definedName.nameDuplicate";
3090
+ if (!_univerjs_core.Tools.isValidParameter(name) || (0, _univerjs_engine_formula.isReferenceStringWithEffectiveColumn)(name) || !_univerjs_core.Tools.isStartValidPosition(name) && !(0, _univerjs_engine_render.hasCJKText)(name.substring(0, 1))) return "sheets.definedName.nameInvalid";
3091
3091
  const workbook = univerInstanceService.getUnit(unitId, _univerjs_core.UniverInstanceType.UNIVER_SHEET);
3092
3092
  if (!workbook) throw new Error(`Workbook not found for unitId: ${unitId}`);
3093
- if (workbook.getSheets().some((sheet) => sheet.getName() === name)) return "definedName.nameSheetConflict";
3094
- if (formulaOrRefString.length === 0) return "definedName.formulaOrRefStringEmpty";
3095
- if (functionService.hasExecutor(name.toUpperCase())) return "definedName.nameConflict";
3093
+ if (workbook.getSheets().some((sheet) => sheet.getName() === name)) return "sheets.definedName.nameSheetConflict";
3094
+ if (formulaOrRefString.length === 0) return "sheets.definedName.formulaOrRefStringEmpty";
3095
+ if (functionService.hasExecutor(name.toUpperCase())) return "sheets.definedName.nameConflict";
3096
3096
  return true;
3097
3097
  }
3098
3098
 
@@ -3689,14 +3689,11 @@ function getDelimiterRegexItem(delimiter, treatMultipleDelimitersAsOne, customDe
3689
3689
  if ((delimiter & 4) > 0) delimiterList.push(";");
3690
3690
  if ((delimiter & 8) > 0) delimiterList.push(" ");
3691
3691
  let str = "";
3692
- for (const delimiter of delimiterList) str += escapeRegExp(delimiter);
3692
+ for (const delimiter of delimiterList) str += (0, _univerjs_core.escapeRegExp)(delimiter);
3693
3693
  let allStr = "[".concat(str, "]");
3694
3694
  if (treatMultipleDelimitersAsOne) allStr += "+";
3695
3695
  return new RegExp(allStr);
3696
3696
  }
3697
- function escapeRegExp(str) {
3698
- return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
3699
- }
3700
3697
  const getStringFromDataStream = (data) => {
3701
3698
  var _data$body;
3702
3699
  return ((_data$body = data.body) === null || _data$body === void 0 ? void 0 : _data$body.dataStream.replace(/\r\n$/, "")) || "";
@@ -3889,6 +3886,16 @@ function getVisibleRanges(ranges, accessor, unitId, subUnitId) {
3889
3886
  }
3890
3887
  return visibleRanges;
3891
3888
  }
3889
+ function serializeListOptions(options) {
3890
+ return JSON.stringify(options.filter(Boolean));
3891
+ }
3892
+ function deserializeListOptions(optionsStr) {
3893
+ try {
3894
+ const options = JSON.parse(optionsStr);
3895
+ if (Array.isArray(options) && options.every((option) => typeof option === "string")) return options.filter(Boolean);
3896
+ } catch {}
3897
+ return optionsStr.split(",").filter(Boolean);
3898
+ }
3892
3899
 
3893
3900
  //#endregion
3894
3901
  //#region src/model/range-protection-rule.model.ts
@@ -4325,7 +4332,10 @@ let SheetsSelectionsService = class SheetsSelectionsService extends _univerjs_co
4325
4332
  this._init();
4326
4333
  }
4327
4334
  _init() {
4328
- const c$ = this._instanceSrv.getCurrentTypeOfUnit$(_univerjs_core.UniverInstanceType.UNIVER_SHEET).pipe((0, rxjs.shareReplay)(1), (0, rxjs.takeUntil)(this.dispose$));
4335
+ const c$ = this._instanceSrv.getCurrentTypeOfUnit$(_univerjs_core.UniverInstanceType.UNIVER_SHEET).pipe((0, rxjs.shareReplay)({
4336
+ bufferSize: 1,
4337
+ refCount: true
4338
+ }), (0, rxjs.takeUntil)(this.dispose$));
4329
4339
  this.selectionMoveStart$ = c$.pipe((0, rxjs.switchMap)((workbook) => !workbook ? (0, rxjs.of)() : this._ensureWorkbookSelection(workbook.getUnitId()).selectionMoveStart$), (0, rxjs.takeUntil)(this.dispose$));
4330
4340
  this.selectionMoving$ = c$.pipe((0, rxjs.switchMap)((workbook) => !workbook ? (0, rxjs.of)() : this._ensureWorkbookSelection(workbook.getUnitId()).selectionMoving$), (0, rxjs.takeUntil)(this.dispose$));
4331
4341
  this.selectionMoveEnd$ = c$.pipe((0, rxjs.switchMap)((workbook) => !workbook ? (0, rxjs.of)([]) : this._ensureWorkbookSelection(workbook.getUnitId()).selectionMoveEnd$), (0, rxjs.takeUntil)(this.dispose$));
@@ -9806,10 +9816,10 @@ const AddWorksheetMergeCommand = {
9806
9816
  const localeService = accessor.get(_univerjs_core.LocaleService);
9807
9817
  if (!await confirmService.confirm({
9808
9818
  id: "merge.confirm.add-worksheet-merge",
9809
- title: { title: "merge.confirm.warning" },
9810
- children: { title: "merge.confirm.title" },
9811
- cancelText: localeService.t("merge.confirm.cancel"),
9812
- confirmText: localeService.t("merge.confirm.confirm")
9819
+ title: { title: "sheets.merge.confirm.warning" },
9820
+ children: { title: "sheets.merge.confirm.title" },
9821
+ cancelText: localeService.t("sheets.merge.confirm.cancel"),
9822
+ confirmText: localeService.t("sheets.merge.confirm.confirm")
9813
9823
  })) return false;
9814
9824
  }
9815
9825
  const redoMutations = [];
@@ -11746,22 +11756,22 @@ let AutoFillService = class AutoFillService extends _univerjs_core.Disposable {
11746
11756
  _defineProperty(this, "applyType$", this._applyType$.asObservable());
11747
11757
  _defineProperty(this, "_menu$", new rxjs.BehaviorSubject([
11748
11758
  {
11749
- label: "autoFill.copy",
11759
+ label: "sheets.autoFill.copy",
11750
11760
  value: "COPY",
11751
11761
  disable: false
11752
11762
  },
11753
11763
  {
11754
- label: "autoFill.series",
11764
+ label: "sheets.autoFill.series",
11755
11765
  value: "SERIES",
11756
11766
  disable: false
11757
11767
  },
11758
11768
  {
11759
- label: "autoFill.formatOnly",
11769
+ label: "sheets.autoFill.formatOnly",
11760
11770
  value: "ONLY_FORMAT",
11761
11771
  disable: false
11762
11772
  },
11763
11773
  {
11764
- label: "autoFill.noFormat",
11774
+ label: "sheets.autoFill.noFormat",
11765
11775
  value: "NO_FORMAT",
11766
11776
  disable: false
11767
11777
  }
@@ -17886,14 +17896,14 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
17886
17896
  params = commandInfo.params;
17887
17897
  if ((0, _univerjs_core.isICellData)(params.value) && params.value.f) {
17888
17898
  permission = this._permissionCheckWithFormula(params);
17889
- errorMsg = this._localeService.t("permission.dialog.formulaErr");
17899
+ errorMsg = this._localeService.t("sheets.permission.dialog.formulaErr");
17890
17900
  } else {
17891
17901
  permission = this._permissionCheckBySetRangeValue({
17892
17902
  workbookTypes: [WorkbookEditablePermission],
17893
17903
  worksheetTypes: [WorksheetSetCellValuePermission, WorksheetEditPermission],
17894
17904
  rangeTypes: [RangeProtectionPermissionEditPoint]
17895
17905
  }, params);
17896
- errorMsg = this._localeService.t("permission.dialog.editErr");
17906
+ errorMsg = this._localeService.t("sheets.permission.dialog.editErr");
17897
17907
  }
17898
17908
  break;
17899
17909
  case SetStyleCommand.id:
@@ -17903,7 +17913,7 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
17903
17913
  worksheetTypes: [WorksheetSetCellStylePermission, WorksheetEditPermission],
17904
17914
  rangeTypes: [RangeProtectionPermissionEditPoint]
17905
17915
  }, params.range ? [params.range] : void 0, params.unitId, params.subUnitId);
17906
- errorMsg = this._localeService.t("permission.dialog.setStyleErr");
17916
+ errorMsg = this._localeService.t("sheets.permission.dialog.setStyleErr");
17907
17917
  break;
17908
17918
  case SetBorderCommand.id:
17909
17919
  params = commandInfo.params;
@@ -17912,7 +17922,7 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
17912
17922
  worksheetTypes: [WorksheetSetCellStylePermission, WorksheetEditPermission],
17913
17923
  rangeTypes: [RangeProtectionPermissionEditPoint]
17914
17924
  }, params === null || params === void 0 ? void 0 : params.ranges, params === null || params === void 0 ? void 0 : params.unitId, params === null || params === void 0 ? void 0 : params.subUnitId);
17915
- errorMsg = this._localeService.t("permission.dialog.setStyleErr");
17925
+ errorMsg = this._localeService.t("sheets.permission.dialog.setStyleErr");
17916
17926
  break;
17917
17927
  case ClearSelectionAllCommand.id:
17918
17928
  params = commandInfo.params;
@@ -17925,7 +17935,7 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
17925
17935
  ],
17926
17936
  rangeTypes: [RangeProtectionPermissionEditPoint]
17927
17937
  }, params === null || params === void 0 ? void 0 : params.ranges, params === null || params === void 0 ? void 0 : params.unitId, params === null || params === void 0 ? void 0 : params.subUnitId);
17928
- errorMsg = this._localeService.t("permission.dialog.editErr");
17938
+ errorMsg = this._localeService.t("sheets.permission.dialog.editErr");
17929
17939
  break;
17930
17940
  case ClearSelectionContentCommand.id:
17931
17941
  params = commandInfo.params;
@@ -17934,7 +17944,7 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
17934
17944
  worksheetTypes: [WorksheetSetCellValuePermission, WorksheetEditPermission],
17935
17945
  rangeTypes: [RangeProtectionPermissionEditPoint]
17936
17946
  }, params === null || params === void 0 ? void 0 : params.ranges, params === null || params === void 0 ? void 0 : params.unitId, params === null || params === void 0 ? void 0 : params.subUnitId);
17937
- errorMsg = this._localeService.t("permission.dialog.editErr");
17947
+ errorMsg = this._localeService.t("sheets.permission.dialog.editErr");
17938
17948
  break;
17939
17949
  case ClearSelectionFormatCommand.id:
17940
17950
  params = commandInfo.params;
@@ -17943,43 +17953,43 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
17943
17953
  worksheetTypes: [WorksheetSetCellStylePermission, WorksheetEditPermission],
17944
17954
  rangeTypes: [RangeProtectionPermissionEditPoint]
17945
17955
  }, params === null || params === void 0 ? void 0 : params.ranges, params === null || params === void 0 ? void 0 : params.unitId, params === null || params === void 0 ? void 0 : params.subUnitId);
17946
- errorMsg = this._localeService.t("permission.dialog.setStyleErr");
17956
+ errorMsg = this._localeService.t("sheets.permission.dialog.setStyleErr");
17947
17957
  break;
17948
17958
  case DeltaColumnWidthCommand.id:
17949
17959
  permission = this.permissionCheckWithoutRange({ worksheetTypes: [WorksheetSetColumnStylePermission] });
17950
- errorMsg = this._localeService.t("permission.dialog.setRowColStyleErr");
17960
+ errorMsg = this._localeService.t("sheets.permission.dialog.setRowColStyleErr");
17951
17961
  break;
17952
17962
  case SetColWidthCommand.id:
17953
17963
  params = commandInfo.params;
17954
17964
  permission = this.permissionCheckWithoutRange({ worksheetTypes: [WorksheetSetColumnStylePermission] }, params.unitId, params.subUnitId);
17955
- errorMsg = this._localeService.t("permission.dialog.setRowColStyleErr");
17965
+ errorMsg = this._localeService.t("sheets.permission.dialog.setRowColStyleErr");
17956
17966
  break;
17957
17967
  case DeltaRowHeightCommand.id:
17958
17968
  permission = this.permissionCheckWithoutRange({ worksheetTypes: [WorksheetSetRowStylePermission] });
17959
- errorMsg = this._localeService.t("permission.dialog.setRowColStyleErr");
17969
+ errorMsg = this._localeService.t("sheets.permission.dialog.setRowColStyleErr");
17960
17970
  break;
17961
17971
  case SetRowHeightCommand.id:
17962
17972
  case SetWorksheetRowIsAutoHeightCommand.id:
17963
17973
  params = commandInfo.params;
17964
17974
  permission = this.permissionCheckWithoutRange({ worksheetTypes: [WorksheetSetRowStylePermission] }, params.unitId, params.subUnitId);
17965
- errorMsg = this._localeService.t("permission.dialog.setRowColStyleErr");
17975
+ errorMsg = this._localeService.t("sheets.permission.dialog.setRowColStyleErr");
17966
17976
  break;
17967
17977
  case MoveRowsCommand.id:
17968
17978
  case MoveColsCommand.id:
17969
17979
  params = commandInfo.params;
17970
17980
  permission = this._permissionCheckByMoveRowsColsCommand(params);
17971
- errorMsg = this._localeService.t("permission.dialog.moveRowColErr");
17981
+ errorMsg = this._localeService.t("sheets.permission.dialog.moveRowColErr");
17972
17982
  break;
17973
17983
  case MoveRangeCommand.id:
17974
17984
  params = commandInfo.params;
17975
17985
  permission = this._permissionCheckByMoveRangeCommand(params);
17976
- errorMsg = this._localeService.t("permission.dialog.moveRangeErr");
17986
+ errorMsg = this._localeService.t("sheets.permission.dialog.moveRangeErr");
17977
17987
  break;
17978
17988
  case InsertRowByRangeCommand.id:
17979
17989
  case InsertColByRangeCommand.id:
17980
17990
  params = commandInfo.params;
17981
17991
  permission = this._permissionCheckByInsertRowColCommand(params);
17982
- errorMsg = this._localeService.t("permission.dialog.insertRowColErr");
17992
+ errorMsg = this._localeService.t("sheets.permission.dialog.insertRowColErr");
17983
17993
  break;
17984
17994
  case RemoveRowByRangeCommand.id:
17985
17995
  params = commandInfo.params;
@@ -17988,7 +17998,7 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
17988
17998
  worksheetTypes: [WorksheetEditPermission, WorksheetDeleteRowPermission],
17989
17999
  rangeTypes: [RangeProtectionPermissionEditPoint]
17990
18000
  }, [params.range], params.unitId, params.subUnitId);
17991
- errorMsg = this._localeService.t("permission.dialog.removeRowColErr");
18001
+ errorMsg = this._localeService.t("sheets.permission.dialog.removeRowColErr");
17992
18002
  break;
17993
18003
  case RemoveColByRangeCommand.id:
17994
18004
  params = commandInfo.params;
@@ -17997,22 +18007,22 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
17997
18007
  worksheetTypes: [WorksheetEditPermission, WorksheetDeleteColumnPermission],
17998
18008
  rangeTypes: [RangeProtectionPermissionEditPoint]
17999
18009
  }, [params.range], params.unitId, params.subUnitId);
18000
- errorMsg = this._localeService.t("permission.dialog.removeRowColErr");
18010
+ errorMsg = this._localeService.t("sheets.permission.dialog.removeRowColErr");
18001
18011
  break;
18002
18012
  case SetWorksheetOrderCommand.id:
18003
18013
  params = commandInfo.params;
18004
18014
  permission = this._permissionCheckByWorksheetCommand([WorkbookEditablePermission, WorkbookMoveSheetPermission], params);
18005
- errorMsg = this._localeService.t("permission.dialog.operatorSheetErr");
18015
+ errorMsg = this._localeService.t("sheets.permission.dialog.operatorSheetErr");
18006
18016
  break;
18007
18017
  case SetWorksheetNameCommand.id:
18008
18018
  params = commandInfo.params;
18009
18019
  permission = this._permissionCheckByWorksheetCommand([WorkbookEditablePermission, WorkbookRenameSheetPermission], params);
18010
- errorMsg = this._localeService.t("permission.dialog.operatorSheetErr");
18020
+ errorMsg = this._localeService.t("sheets.permission.dialog.operatorSheetErr");
18011
18021
  break;
18012
18022
  case SetWorksheetShowCommand.id:
18013
18023
  params = commandInfo.params;
18014
18024
  permission = this._permissionCheckByWorksheetCommand([WorkbookEditablePermission, WorkbookHideSheetPermission], params);
18015
- errorMsg = this._localeService.t("permission.dialog.operatorSheetErr");
18025
+ errorMsg = this._localeService.t("sheets.permission.dialog.operatorSheetErr");
18016
18026
  break;
18017
18027
  case SetSpecificColsVisibleCommand.id:
18018
18028
  params = commandInfo.params;
@@ -18021,7 +18031,7 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
18021
18031
  worksheetTypes: [WorksheetEditPermission, WorksheetSetColumnStylePermission],
18022
18032
  rangeTypes: [RangeProtectionPermissionEditPoint]
18023
18033
  }, params.ranges, params.unitId, params.subUnitId);
18024
- errorMsg = this._localeService.t("permission.dialog.setRowColStyleErr");
18034
+ errorMsg = this._localeService.t("sheets.permission.dialog.setRowColStyleErr");
18025
18035
  break;
18026
18036
  case SetSpecificRowsVisibleCommand.id:
18027
18037
  params = commandInfo.params;
@@ -18030,7 +18040,7 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
18030
18040
  worksheetTypes: [WorksheetEditPermission, WorksheetSetRowStylePermission],
18031
18041
  rangeTypes: [RangeProtectionPermissionEditPoint]
18032
18042
  }, params.ranges, params.unitId, params.subUnitId);
18033
- errorMsg = this._localeService.t("permission.dialog.setRowColStyleErr");
18043
+ errorMsg = this._localeService.t("sheets.permission.dialog.setRowColStyleErr");
18034
18044
  break;
18035
18045
  case SetSelectedColsVisibleCommand.id:
18036
18046
  permission = this.permissionCheckWithRanges({
@@ -18038,7 +18048,7 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
18038
18048
  worksheetTypes: [WorksheetEditPermission, WorksheetSetColumnStylePermission],
18039
18049
  rangeTypes: [RangeProtectionPermissionEditPoint]
18040
18050
  });
18041
- errorMsg = this._localeService.t("permission.dialog.setRowColStyleErr");
18051
+ errorMsg = this._localeService.t("sheets.permission.dialog.setRowColStyleErr");
18042
18052
  break;
18043
18053
  case SetSelectedRowsVisibleCommand.id:
18044
18054
  permission = this.permissionCheckWithRanges({
@@ -18046,27 +18056,27 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
18046
18056
  worksheetTypes: [WorksheetEditPermission, WorksheetSetRowStylePermission],
18047
18057
  rangeTypes: [RangeProtectionPermissionEditPoint]
18048
18058
  });
18049
- errorMsg = this._localeService.t("permission.dialog.setRowColStyleErr");
18059
+ errorMsg = this._localeService.t("sheets.permission.dialog.setRowColStyleErr");
18050
18060
  break;
18051
18061
  case InsertRangeMoveRightCommand.id:
18052
18062
  params = commandInfo.params;
18053
18063
  permission = this._permissionCheckWithInsertOrDeleteMoveRange("right", params);
18054
- errorMsg = this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");
18064
+ errorMsg = this._localeService.t("sheets.permission.dialog.insertOrDeleteMoveRangeErr");
18055
18065
  break;
18056
18066
  case InsertRangeMoveDownCommand.id:
18057
18067
  params = commandInfo.params;
18058
18068
  permission = this._permissionCheckWithInsertOrDeleteMoveRange("down", params);
18059
- errorMsg = this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");
18069
+ errorMsg = this._localeService.t("sheets.permission.dialog.insertOrDeleteMoveRangeErr");
18060
18070
  break;
18061
18071
  case DeleteRangeMoveLeftCommand.id:
18062
18072
  params = commandInfo.params;
18063
18073
  permission = this._permissionCheckWithInsertOrDeleteMoveRange("left", params);
18064
- errorMsg = this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");
18074
+ errorMsg = this._localeService.t("sheets.permission.dialog.insertOrDeleteMoveRangeErr");
18065
18075
  break;
18066
18076
  case DeleteRangeMoveUpCommand.id:
18067
18077
  params = commandInfo.params;
18068
18078
  permission = this._permissionCheckWithInsertOrDeleteMoveRange("up", params);
18069
- errorMsg = this._localeService.t("permission.dialog.insertOrDeleteMoveRangeErr");
18079
+ errorMsg = this._localeService.t("sheets.permission.dialog.insertOrDeleteMoveRangeErr");
18070
18080
  break;
18071
18081
  case AutoFillCommand.id:
18072
18082
  params = commandInfo.params;
@@ -18075,7 +18085,7 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
18075
18085
  worksheetTypes: [WorksheetSetCellValuePermission, WorksheetEditPermission],
18076
18086
  rangeTypes: [RangeProtectionPermissionEditPoint]
18077
18087
  }, [params.targetRange], params.unitId, params.subUnitId);
18078
- errorMsg = this._localeService.t("permission.dialog.autoFillErr");
18088
+ errorMsg = this._localeService.t("sheets.permission.dialog.autoFillErr");
18079
18089
  break;
18080
18090
  case InsertDefinedNameCommand.id:
18081
18091
  case SetDefinedNameCommand.id:
@@ -18086,7 +18096,7 @@ let SheetPermissionCheckController = class SheetPermissionCheckController extend
18086
18096
  workbookTypes: [WorkbookEditablePermission],
18087
18097
  worksheetTypes: [WorksheetEditPermission]
18088
18098
  }, params.unitId, params.localSheetId);
18089
- errorMsg = this._localeService.t("permission.dialog.editErr");
18099
+ errorMsg = this._localeService.t("sheets.permission.dialog.editErr");
18090
18100
  break;
18091
18101
  default: break;
18092
18102
  }
@@ -19223,7 +19233,7 @@ RangeProtectionCache = __decorate([
19223
19233
  //#endregion
19224
19234
  //#region package.json
19225
19235
  var name = "@univerjs/sheets";
19226
- var version = "0.24.0";
19236
+ var version = "0.25.0";
19227
19237
 
19228
19238
  //#endregion
19229
19239
  //#region src/controllers/active-worksheet.controller.ts
@@ -21678,6 +21688,7 @@ exports.createTopMatrixFromRanges = createTopMatrixFromRanges;
21678
21688
  exports.defaultLargeSheetOperationConfig = defaultLargeSheetOperationConfig;
21679
21689
  exports.defaultWorkbookPermissionPoints = defaultWorkbookPermissionPoints;
21680
21690
  exports.defaultWorksheetPermissionPoint = defaultWorksheetPermissionPoint;
21691
+ exports.deserializeListOptions = deserializeListOptions;
21681
21692
  exports.discreteRangeToRange = discreteRangeToRange;
21682
21693
  exports.expandToContinuousRange = expandToContinuousRange;
21683
21694
  exports.factoryRemoveNumfmtUndoMutation = factoryRemoveNumfmtUndoMutation;
@@ -21735,6 +21746,7 @@ exports.rangeMerge = rangeMerge;
21735
21746
  exports.rangeToDiscreteRange = rangeToDiscreteRange;
21736
21747
  exports.rotateRange = rotateRange;
21737
21748
  exports.runRefRangeMutations = runRefRangeMutations;
21749
+ exports.serializeListOptions = serializeListOptions;
21738
21750
  exports.setEndForRange = setEndForRange;
21739
21751
  exports.splitRangeText = splitRangeText;
21740
21752
  exports.transformCellsToRange = transformCellsToRange;
@@ -0,0 +1,52 @@
1
+
2
+ //#region src/locale/ar-SA.ts
3
+ const locale = { sheets: {
4
+ tabs: {
5
+ sheetCopy: "(نسخ{0})",
6
+ sheet: "ورقة"
7
+ },
8
+ info: {
9
+ overlappingSelections: "لا يمكن استخدام هذا الأمر على التحديدات المتداخلة",
10
+ acrossMergedCell: "عبر خلية مدمجة",
11
+ partOfCell: "تم تحديد جزء فقط من خلية مدمجة",
12
+ hideSheet: "لا توجد ورقة مرئية بعد إخفاء هذه الورقة"
13
+ },
14
+ definedName: {
15
+ nameEmpty: "لا يمكن أن يكون الاسم فارغًا",
16
+ nameDuplicate: "الاسم موجود بالفعل",
17
+ nameInvalid: "الاسم غير صالح",
18
+ nameSheetConflict: "يتعارض الاسم مع اسم الورقة",
19
+ formulaOrRefStringEmpty: "لا يمكن أن تكون الصيغة أو سلسلة المرجع فارغة",
20
+ nameConflict: "يتعارض الاسم مع اسم الدالة",
21
+ defaultName: "اسم معرّف"
22
+ },
23
+ permission: { dialog: {
24
+ autoFillErr: "النطاق محمي، وليس لديك إذن للتعبئة التلقائية. لاستخدام التعبئة التلقائية، يرجى الاتصال بالمنشئ.",
25
+ editErr: "النطاق محمي، وليس لديك إذن التحرير. للتحرير، يرجى الاتصال بالمنشئ.",
26
+ formulaErr: "النطاق أو النطاق المُشار إليه محمي، وليس لديك إذن التحرير. للتحرير، يرجى الاتصال بالمنشئ.",
27
+ insertOrDeleteMoveRangeErr: "يتقاطع النطاق المدرج أو المحذوف مع النطاق المحمي، وهذه العملية غير مدعومة حاليًا.",
28
+ insertRowColErr: "النطاق محمي، وليس لديك إذن لإدراج صفوف وأعمدة. لإدراج صفوف وأعمدة، يرجى الاتصال بالمنشئ.",
29
+ moveRangeErr: "النطاق محمي، وليس لديك إذن لنقل التحديد. لنقل التحديد، يرجى الاتصال بالمنشئ.",
30
+ moveRowColErr: "النطاق محمي، وليس لديك إذن لنقل الصفوف والأعمدة. لنقل الصفوف والأعمدة، يرجى الاتصال بالمنشئ.",
31
+ operatorSheetErr: "ورقة العمل محمية، وليس لديك إذن لتشغيل ورقة العمل. لتشغيل ورقة العمل، يرجى الاتصال بالمنشئ.",
32
+ removeRowColErr: "النطاق محمي، وليس لديك إذن لحذف الصفوف والأعمدة. لحذف الصفوف والأعمدة، يرجى الاتصال بالمنشئ.",
33
+ setRowColStyleErr: "النطاق محمي، وليس لديك إذن لتعيين أنماط الصفوف والأعمدة. لتعيين أنماط الصفوف والأعمدة، يرجى الاتصال بالمنشئ.",
34
+ setStyleErr: "النطاق محمي، وليس لديك إذن لتعيين الأنماط. لتعيين الأنماط، يرجى الاتصال بالمنشئ."
35
+ } },
36
+ autoFill: {
37
+ copy: "نسخ الخلية",
38
+ series: "تعبئة السلسلة",
39
+ formatOnly: "التنسيق فقط",
40
+ noFormat: "بدون تنسيق"
41
+ },
42
+ merge: { confirm: {
43
+ title: "سيؤدي الاستمرار في الدمج إلى الاحتفاظ بقيمة الخلية العلوية اليسرى فقط، وسيتم تجاهل القيم الأخرى. هل أنت متأكد من الاستمرار؟",
44
+ cancel: "إلغاء الدمج",
45
+ confirm: "الاستمرار في الدمج",
46
+ warning: "تحذير",
47
+ dismantleMergeCellWarning: "سيؤدي هذا إلى تقسيم بعض الخلايا المدمجة. هل تريد الاستمرار؟"
48
+ } }
49
+ } };
50
+
51
+ //#endregion
52
+ module.exports = locale;
@@ -10,7 +10,42 @@ const locale = { sheets: {
10
10
  acrossMergedCell: "A través d'una cel·la combinada",
11
11
  partOfCell: "Només una part d'una cel·la combinada està seleccionada",
12
12
  hideSheet: "No hi ha fulls visibles després d'ocultar aquest"
13
- }
13
+ },
14
+ definedName: {
15
+ nameEmpty: "名称不能为空",
16
+ nameDuplicate: "名称已存在",
17
+ nameInvalid: "名称无效",
18
+ nameSheetConflict: "名称与工作表名称冲突",
19
+ formulaOrRefStringEmpty: "公式或引用字符串不能为空",
20
+ nameConflict: "名称与函数名称冲突",
21
+ defaultName: "NomDefinit"
22
+ },
23
+ permission: { dialog: {
24
+ autoFillErr: "L'interval està protegit i no teniu permís per a l'emplenament automàtic. Per utilitzar l'emplenament automàtic, contacteu amb el creador.",
25
+ editErr: "L'interval està protegit i no teniu permís d'edició. Per editar, contacteu amb el creador.",
26
+ formulaErr: "L'interval o l'interval referenciat està protegit, i no teniu permís d'edició. Per editar, contacteu amb el creador.",
27
+ insertOrDeleteMoveRangeErr: "L'interval inserit o suprimit s'interseca amb l'interval protegit, i aquesta operació no és compatible per ara.",
28
+ insertRowColErr: "L'interval está protegido y no tienes permiso para insertar filas y columnas. Para insertar filas y columnas, contacta con el creador.",
29
+ moveRangeErr: "L'interval està protegit i no teniu permís per moure la selecció. Per moure la selecció, contacteu amb el creador.",
30
+ moveRowColErr: "L'interval està protegit i no teniu permís per moure files i columnes. Per moure files i columnes, contacteu amb el creador.",
31
+ operatorSheetErr: "El full de càlcul està protegit i no teniu permís per operar-hi. Per operar al full de càlcul, contacteu amb el creador.",
32
+ removeRowColErr: "L'interval está protegido y no tienes permiso para eliminar filas y columnas. Para eliminar filas y columnas, contacta con el creador.",
33
+ setRowColStyleErr: "L'interval està protegit i no teniu permís per establir estils de fila i columna. Per establir estils de fila i columna, contacteu amb el creador.",
34
+ setStyleErr: "L'interval està protegit i no teniu permís per establir estils. Per establir estils, contacteu amb el creador."
35
+ } },
36
+ autoFill: {
37
+ copy: "复制单元格",
38
+ series: "填充序列",
39
+ formatOnly: "仅格式",
40
+ noFormat: "无格式"
41
+ },
42
+ merge: { confirm: {
43
+ title: "Continuar la fusió només conservarà el valor de la cel·la superior esquerra, descartant els altres valors. Estàs segur de continuar?",
44
+ cancel: "Cancel·lar fusió",
45
+ confirm: "Continuar fusió",
46
+ warning: "Avís",
47
+ dismantleMergeCellWarning: "Això dividirà algunes cel·les fusionades. Vols continuar?"
48
+ } }
14
49
  } };
15
50
 
16
51
  //#endregion
@@ -0,0 +1,52 @@
1
+
2
+ //#region src/locale/de-DE.ts
3
+ const locale = { sheets: {
4
+ tabs: {
5
+ sheetCopy: "(Kopie{0})",
6
+ sheet: "Blatt"
7
+ },
8
+ info: {
9
+ overlappingSelections: "Dieser Befehl kann nicht für überlappende Auswahlen verwendet werden",
10
+ acrossMergedCell: "Über eine verbundene Zelle",
11
+ partOfCell: "Es ist nur ein Teil einer verbundenen Zelle ausgewählt",
12
+ hideSheet: "Nach dem Ausblenden ist kein Blatt mehr sichtbar"
13
+ },
14
+ definedName: {
15
+ nameEmpty: "Name darf nicht leer sein",
16
+ nameDuplicate: "Name existiert bereits",
17
+ nameInvalid: "Der Name ist ungültig",
18
+ nameSheetConflict: "Der Name steht im Konflikt mit dem Blattnamen",
19
+ formulaOrRefStringEmpty: "Formel oder Referenzzeichenfolge darf nicht leer sein",
20
+ nameConflict: "Der Name steht im Konflikt mit dem Funktionsnamen",
21
+ defaultName: "Definierter Name"
22
+ },
23
+ permission: { dialog: {
24
+ autoFillErr: "Der Bereich ist geschützt, und Sie haben keine Berechtigung für das automatische Ausfüllen. Um das automatische Ausfüllen zu verwenden, wenden Sie sich bitte an den Ersteller.",
25
+ editErr: "Der Bereich ist geschützt, und Sie haben keine Bearbeitungsberechtigung. Um zu bearbeiten, wenden Sie sich bitte an den Ersteller.",
26
+ formulaErr: "Der Bereich oder der referenzierte Bereich ist geschützt, und Sie haben keine Bearbeitungsberechtigung. Um zu bearbeiten, wenden Sie sich bitte an den Ersteller.",
27
+ insertOrDeleteMoveRangeErr: "Der eingefügte oder gelöschte Bereich überschneidet sich mit dem geschützten Bereich, und dieser Vorgang wird derzeit nicht unterstützt.",
28
+ insertRowColErr: "Der Bereich ist geschützt, und Sie haben keine Berechtigung, Zeilen und Spalten einzufügen. Um Zeilen und Spalten einzufügen, wenden Sie sich bitte an den Ersteller.",
29
+ moveRangeErr: "Der Bereich ist geschützt, und Sie haben keine Berechtigung, die Auswahl zu verschieben. Um die Auswahl zu verschieben, wenden Sie sich bitte an den Ersteller.",
30
+ moveRowColErr: "Der Bereich ist geschützt, und Sie haben keine Berechtigung, Zeilen und Spalten zu verschieben. Um Zeilen und Spalten zu verschieben, wenden Sie sich bitte an den Ersteller.",
31
+ operatorSheetErr: "Das Arbeitsblatt ist geschützt, und Sie haben keine Berechtigung, das Arbeitsblatt zu bearbeiten. Um das Arbeitsblatt zu bearbeiten, wenden Sie sich bitte an den Ersteller.",
32
+ removeRowColErr: "Der Bereich ist geschützt, und Sie haben keine Berechtigung, Zeilen und Spalten zu löschen. Um Zeilen und Spalten zu löschen, wenden Sie sich bitte an den Ersteller.",
33
+ setRowColStyleErr: "Der Bereich ist geschützt, und Sie haben keine Berechtigung, Zeilen- und Spaltenstile festzulegen. Um Zeilen- und Spaltenstile festzulegen, wenden Sie sich bitte an den Ersteller.",
34
+ setStyleErr: "Der Bereich ist geschützt, und Sie haben keine Berechtigung, Stile festzulegen. Um Stile festzulegen, wenden Sie sich bitte an den Ersteller."
35
+ } },
36
+ autoFill: {
37
+ copy: "Zelle kopieren",
38
+ series: "Reihe ausfüllen",
39
+ formatOnly: "Nur Format",
40
+ noFormat: "Kein Format"
41
+ },
42
+ merge: { confirm: {
43
+ title: "Beim Fortfahren mit dem Zusammenführen bleibt nur der Wert der oberen linken Zelle erhalten, andere Werte werden verworfen. Möchten Sie wirklich fortfahren?",
44
+ cancel: "Zusammenführen abbrechen",
45
+ confirm: "Zusammenführen fortsetzen",
46
+ warning: "Warnung",
47
+ dismantleMergeCellWarning: "Dadurch werden einige verbundene Zellen aufgeteilt. Möchten Sie fortfahren?"
48
+ } }
49
+ } };
50
+
51
+ //#endregion
52
+ module.exports = locale;
@@ -25,7 +25,42 @@ const locale = { sheets: {
25
25
  acrossMergedCell: "Across a merged cell",
26
26
  partOfCell: "Only part of a merged cell is selected",
27
27
  hideSheet: "No visible sheet after you hide this"
28
- }
28
+ },
29
+ definedName: {
30
+ nameEmpty: "Name cannot be empty",
31
+ nameDuplicate: "Name already exists",
32
+ nameInvalid: "The name is invalid",
33
+ nameSheetConflict: "The name conflicts with the sheet name",
34
+ formulaOrRefStringEmpty: "Formula or reference string cannot be empty",
35
+ nameConflict: "The name conflicts with the function name",
36
+ defaultName: "DefinedName"
37
+ },
38
+ permission: { dialog: {
39
+ autoFillErr: "The range is protected, and you do not have permission for auto-fill. To use auto-fill, please contact the creator.",
40
+ editErr: "The range is protected, and you do not have edit permission. To edit, please contact the creator.",
41
+ formulaErr: "The range or the referenced range is protected, and you do not have edit permission. To edit, please contact the creator.",
42
+ insertOrDeleteMoveRangeErr: "The inserted or deleted range intersects with the protected range, and this operation is not supported for now.",
43
+ insertRowColErr: "The range is protected, and you do not have permission to insert rows and columns. To insert rows and columns, please contact the creator.",
44
+ moveRangeErr: "The range is protected, and you do not have permission to move the selection. To move the selection, please contact the creator.",
45
+ moveRowColErr: "The range is protected, and you do not have permission to move rows and columns. To move rows and columns, please contact the creator.",
46
+ operatorSheetErr: "The worksheet is protected, and you do not have permission to operate the worksheet. To operate the worksheet, please contact the creator.",
47
+ removeRowColErr: "The range is protected, and you do not have permission to delete rows and columns. To delete rows and columns, please contact the creator.",
48
+ setRowColStyleErr: "The range is protected, and you do not have permission to set row and column styles. To set row and column styles, please contact the creator.",
49
+ setStyleErr: "The range is protected, and you do not have permission to set styles. To set styles, please contact the creator."
50
+ } },
51
+ autoFill: {
52
+ copy: "Copy Cell",
53
+ series: "Fill Series",
54
+ formatOnly: "Format Only",
55
+ noFormat: "No Format"
56
+ },
57
+ merge: { confirm: {
58
+ title: "Continue merging would only keep the upper-left cell value, discard other values. Are you sure to continue?",
59
+ cancel: "Cancel merging",
60
+ confirm: "Continue merging",
61
+ warning: "Warning",
62
+ dismantleMergeCellWarning: "This will cause some merged cells to be split. Do you want to continue?"
63
+ } }
29
64
  } };
30
65
 
31
66
  //#endregion
@@ -10,7 +10,42 @@ const locale = { sheets: {
10
10
  acrossMergedCell: "A través de una celda combinada",
11
11
  partOfCell: "Solo una parte de una celda combinada está seleccionada",
12
12
  hideSheet: "No hay hojas visibles después de ocultar esta"
13
- }
13
+ },
14
+ definedName: {
15
+ nameEmpty: "El nombre no puede estar vacío",
16
+ nameDuplicate: "El nombre ya existe",
17
+ nameInvalid: "El nombre no es válido",
18
+ nameSheetConflict: "El nombre entra en conflicto con el nombre de la hoja",
19
+ formulaOrRefStringEmpty: "La fórmula o la cadena de referencia no pueden estar vacías",
20
+ nameConflict: "El nombre entra en conflicto con el nombre de la función",
21
+ defaultName: "NombreDefinido"
22
+ },
23
+ permission: { dialog: {
24
+ autoFillErr: "El rango está protegido y no tienes permiso para autorrellenar. Para usar el autorrellenado, contacta al creador.",
25
+ editErr: "El rango está protegido y no tienes permiso de edición. Para editar, contacta al creador.",
26
+ formulaErr: "El rango o el rango referenciado está protegido, y no tienes permiso de edición. Para editar, contacta al creador.",
27
+ insertOrDeleteMoveRangeErr: "El rango insertado o eliminado se cruza con el rango protegido, y esta operación no es compatible por ahora.",
28
+ insertRowColErr: "El rango está protegido y no tienes permiso para insertar filas y columnas. Para insertar filas y columnas, contacta al creador.",
29
+ moveRangeErr: "El rango está protegido y no tienes permiso para mover la selección. Para mover la selección, contacta al creador.",
30
+ moveRowColErr: "El rango está protegido y no tienes permiso para mover filas y columnas. Para mover filas y columnas, contacta al creador.",
31
+ operatorSheetErr: "La hoja de cálculo está protegida y no tienes permiso para operar en ella. Para operar en la hoja de cálculo, contacta al creador.",
32
+ removeRowColErr: "El rango está protegido y no tienes permiso para eliminar filas y columnas. Para eliminar filas y columnas, contacta al creador.",
33
+ setRowColStyleErr: "El rango está protegido y no tienes permiso para establecer estilos de fila y columna. Para establecer estilos de fila y columna, contacta al creador.",
34
+ setStyleErr: "El rango está protegido y no tienes permiso para establecer estilos. Para establecer estilos, contacta al creador."
35
+ } },
36
+ autoFill: {
37
+ copy: "Copiar celda",
38
+ series: "Rellenar serie",
39
+ formatOnly: "Solo formato",
40
+ noFormat: "Sin formato"
41
+ },
42
+ merge: { confirm: {
43
+ title: "Continuar la fusión solo conservará el valor de la celda superior izquierda, descartando los otros valores. ¿Estás seguro de continuar?",
44
+ cancel: "Cancelar fusión",
45
+ confirm: "Continuar fusión",
46
+ warning: "Advertencia",
47
+ dismantleMergeCellWarning: "Esto dividirá algunas celdas fusionadas. ¿Quieres continuar?"
48
+ } }
14
49
  } };
15
50
 
16
51
  //#endregion