@univerjs/slides-ui 1.0.0-alpha.7 → 1.0.0-alpha.8

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.
package/lib/cjs/index.js CHANGED
@@ -12,7 +12,7 @@ let _univerjs_docs_ui = require("@univerjs/docs-ui");
12
12
  let rxjs = require("rxjs");
13
13
  let _univerjs_docs = require("@univerjs/docs");
14
14
 
15
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
15
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
16
16
  function _typeof(o) {
17
17
  "@babel/helpers - typeof";
18
18
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -23,7 +23,7 @@ function _typeof(o) {
23
23
  }
24
24
 
25
25
  //#endregion
26
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
26
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
27
27
  function toPrimitive(t, r) {
28
28
  if ("object" != _typeof(t) || !t) return t;
29
29
  var e = t[Symbol.toPrimitive];
@@ -36,14 +36,14 @@ function toPrimitive(t, r) {
36
36
  }
37
37
 
38
38
  //#endregion
39
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
39
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
40
40
  function toPropertyKey(t) {
41
41
  var i = toPrimitive(t, "string");
42
42
  return "symbol" == _typeof(i) ? i : i + "";
43
43
  }
44
44
 
45
45
  //#endregion
46
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
46
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
47
47
  function _defineProperty(e, r, t) {
48
48
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
49
49
  value: t,
@@ -54,7 +54,7 @@ function _defineProperty(e, r, t) {
54
54
  }
55
55
 
56
56
  //#endregion
57
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
57
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
58
58
  function __decorateParam(paramIndex, decorator) {
59
59
  return function(target, key) {
60
60
  decorator(target, key, paramIndex);
@@ -62,7 +62,7 @@ function __decorateParam(paramIndex, decorator) {
62
62
  }
63
63
 
64
64
  //#endregion
65
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
65
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
66
66
  function __decorate(decorators, target, key, desc) {
67
67
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
68
68
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -200,7 +200,7 @@ let SlideRenderController = class SlideRenderController extends _univerjs_core.R
200
200
  };
201
201
  }
202
202
  _thumbSceneRender(pageId, slide) {
203
- const render = this._renderManagerService.getRenderById(pageId);
203
+ const render = this._renderManagerService.getRenderUnitById(pageId);
204
204
  if (render == null) return;
205
205
  const { engine: thumbEngine } = render;
206
206
  if (thumbEngine == null) return;
@@ -375,7 +375,7 @@ let CanvasView = class CanvasView extends _univerjs_core.RxDisposable {
375
375
  this._renderManagerService = _renderManagerService;
376
376
  }
377
377
  _getSlideRenderControllerFromRenderUnit(unitId) {
378
- return this._renderManagerService.getRenderById(unitId).with(SlideRenderController);
378
+ return this._renderManagerService.getRenderUnitById(unitId).with(SlideRenderController);
379
379
  }
380
380
  createThumbs(unitId) {
381
381
  this._getSlideRenderControllerFromRenderUnit(unitId).createThumbs();
@@ -1321,7 +1321,7 @@ function SlideSideBar() {
1321
1321
  if (ref.current) {
1322
1322
  var _renderManagerService;
1323
1323
  const slide = slideList[index];
1324
- (_renderManagerService = renderManagerService.getRenderById(slide.id)) === null || _renderManagerService === void 0 || _renderManagerService.engine.setContainer(ref.current);
1324
+ (_renderManagerService = renderManagerService.getRenderUnitById(slide.id)) === null || _renderManagerService === void 0 || _renderManagerService.engine.mount(ref.current);
1325
1325
  }
1326
1326
  });
1327
1327
  if (divRefs.length > 0) commandService.syncExecuteCommand(SetSlidePageThumbOperation.id, { unitId: currentSlide === null || currentSlide === void 0 ? void 0 : currentSlide.getUnitId() });
@@ -1501,7 +1501,7 @@ SlidesUIController = __decorate([
1501
1501
  //#endregion
1502
1502
  //#region package.json
1503
1503
  var name = "@univerjs/slides-ui";
1504
- var version = "1.0.0-alpha.7";
1504
+ var version = "1.0.0-alpha.8";
1505
1505
 
1506
1506
  //#endregion
1507
1507
  //#region src/config/config.ts
@@ -1646,7 +1646,6 @@ let SlideEditorBridgeService = class SlideEditorBridgeService extends _univerjs_
1646
1646
  _defineProperty(this, "visible$", this._visible$.asObservable());
1647
1647
  _defineProperty(this, "_afterVisible$", new rxjs.BehaviorSubject(this._visibleParam));
1648
1648
  _defineProperty(this, "afterVisible$", this._afterVisible$.asObservable());
1649
- _defineProperty(this, "endEditing$", new rxjs.Subject());
1650
1649
  _defineProperty(this, "_currentEditRectInfo", void 0);
1651
1650
  }
1652
1651
  dispose() {
@@ -1725,7 +1724,7 @@ let SlideEditorBridgeService = class SlideEditorBridgeService extends _univerjs_
1725
1724
  left: 0,
1726
1725
  top: 0
1727
1726
  };
1728
- const renderUnit = this._renderManagerService.getRenderById(unitId);
1727
+ const renderUnit = this._renderManagerService.getRenderUnitById(unitId);
1729
1728
  const mainScene = renderUnit === null || renderUnit === void 0 ? void 0 : renderUnit.scene;
1730
1729
  const mainViewport = mainScene === null || mainScene === void 0 ? void 0 : mainScene.getViewport(_univerjs_slides.SLIDE_KEY.VIEW);
1731
1730
  const slideMainRect = mainScene === null || mainScene === void 0 ? void 0 : mainScene.getObject(_univerjs_slides.SLIDE_KEY.COMPONENT);
@@ -1764,52 +1763,6 @@ let SlideEditorBridgeService = class SlideEditorBridgeService extends _univerjs_
1764
1763
  getCurrentEditorId() {
1765
1764
  return this._editorUnitId;
1766
1765
  }
1767
- /**
1768
- * @deprecated
1769
- */
1770
- genDocData(target) {
1771
- const editorUnitId = this.getCurrentEditorId();
1772
- const content = target.text;
1773
- const fontSize = target.fs;
1774
- return {
1775
- id: editorUnitId,
1776
- body: {
1777
- dataStream: `${content}\r\n`,
1778
- textRuns: [{
1779
- st: 0,
1780
- ed: content.length
1781
- }],
1782
- paragraphs: [{
1783
- paragraphStyle: {},
1784
- startIndex: content.length + 1
1785
- }],
1786
- sectionBreaks: [{
1787
- sectionId: (0, _univerjs_core.createSectionId)(/* @__PURE__ */ new Set()),
1788
- startIndex: content.length + 2
1789
- }]
1790
- },
1791
- documentStyle: {
1792
- marginBottom: 0,
1793
- marginLeft: 0,
1794
- marginRight: 0,
1795
- marginTop: 0,
1796
- pageSize: {
1797
- width: Infinity,
1798
- height: Infinity
1799
- },
1800
- textStyle: { fs: fontSize },
1801
- renderConfig: {
1802
- verticalAlign: _univerjs_core.VerticalAlign.MIDDLE,
1803
- centerAngle: 0,
1804
- vertexAngle: 0,
1805
- wrapStrategy: 0
1806
- }
1807
- },
1808
- drawings: {},
1809
- drawingsOrder: [],
1810
- settings: { zoomRatio: 1 }
1811
- };
1812
- }
1813
1766
  };
1814
1767
  SlideEditorBridgeService = __decorate([
1815
1768
  __decorateParam(0, _univerjs_docs_ui.IEditorService),
@@ -1896,11 +1849,11 @@ let SlideEditingRenderController = class SlideEditingRenderController extends _u
1896
1849
  }
1897
1850
  _getEditorSkeleton(editorId) {
1898
1851
  var _this$_renderManagerS;
1899
- return (_this$_renderManagerS = this._renderManagerService.getRenderById(editorId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.with(_univerjs_docs.DocSkeletonManagerService).getSkeleton();
1852
+ return (_this$_renderManagerS = this._renderManagerService.getRenderUnitById(editorId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.with(_univerjs_docs.DocSkeletonManagerService).getSkeleton();
1900
1853
  }
1901
1854
  _getEditorViewModel(editorId) {
1902
1855
  var _this$_renderManagerS2;
1903
- return (_this$_renderManagerS2 = this._renderManagerService.getRenderById(editorId)) === null || _this$_renderManagerS2 === void 0 ? void 0 : _this$_renderManagerS2.with(_univerjs_docs.DocSkeletonManagerService).getViewModel();
1856
+ return (_this$_renderManagerS2 = this._renderManagerService.getRenderUnitById(editorId)) === null || _this$_renderManagerS2 === void 0 ? void 0 : _this$_renderManagerS2.with(_univerjs_docs.DocSkeletonManagerService).getViewModel();
1904
1857
  }
1905
1858
  _initialCursorSync(d) {
1906
1859
  d.add(this._cellEditorManagerService.focus$.pipe((0, rxjs.filter)((f) => !!f)).subscribe(() => {
@@ -1921,9 +1874,14 @@ let SlideEditingRenderController = class SlideEditingRenderController extends _u
1921
1874
  const { vertexAngle: angle } = (0, _univerjs_engine_render.convertTextRotation)(textRotation);
1922
1875
  documentModel.updateDocumentId(editorUnitId);
1923
1876
  if (wrapStrategy === _univerjs_core.WrapStrategy.WRAP && angle === 0) documentModel.updateDocumentDataPageSize((endX - startX) / scaleX);
1924
- this._instanceSrv.changeDoc(editorUnitId, documentModel);
1925
- this._contextService.setContextValue(_univerjs_core.FOCUSING_EDITOR_BUT_HIDDEN, true);
1926
- this._textSelectionManagerService.replaceTextRanges([{
1877
+ const snapshot = documentModel.getSnapshot();
1878
+ if (this._instanceSrv.getUnit(editorUnitId, _univerjs_core.UniverInstanceType.UNIVER_DOC) == null) this._instanceSrv.createUnit(_univerjs_core.UniverInstanceType.UNIVER_DOC, snapshot);
1879
+ else this._commandService.syncExecuteCommand(_univerjs_docs_ui.ReplaceSnapshotCommand.id, {
1880
+ unitId: editorUnitId,
1881
+ snapshot
1882
+ });
1883
+ this._instanceSrv.setCurrentUnitForType(editorUnitId);
1884
+ this._textSelectionManagerService.replaceDocRanges([{
1927
1885
  startOffset: 0,
1928
1886
  endOffset: 0
1929
1887
  }]);
@@ -2110,11 +2068,11 @@ let SlideEditingRenderController = class SlideEditingRenderController extends _u
2110
2068
  this._fitTextSize(position, canvasOffset, skeleton, documentLayoutObject, scaleX, scaleY);
2111
2069
  const cursor = documentDataModel.getBody().dataStream.length - 2 || 0;
2112
2070
  (_scene$getViewport = scene.getViewport(_univerjs_docs_ui.VIEWPORT_KEY.VIEW_MAIN)) === null || _scene$getViewport === void 0 || _scene$getViewport.scrollToViewportPos({ viewportScrollX: Number.POSITIVE_INFINITY });
2113
- this._textSelectionManagerService.replaceTextRanges([{
2071
+ this._textSelectionManagerService.replaceDocRanges([{
2114
2072
  startOffset: cursor,
2115
2073
  endOffset: cursor
2116
2074
  }]);
2117
- (_this$_renderManagerS3 = this._renderManagerService.getRenderById(unitId)) === null || _this$_renderManagerS3 === void 0 || _this$_renderManagerS3.scene.resetCursor();
2075
+ (_this$_renderManagerS3 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS3 === void 0 || _this$_renderManagerS3.scene.resetCursor();
2118
2076
  }
2119
2077
  _resetBodyStyle(body, removeStyle = false) {
2120
2078
  body.dataStream = _univerjs_core.DEFAULT_EMPTY_DOCUMENT_VALUE;
@@ -2256,7 +2214,7 @@ SlideEditingRenderController = __decorate([
2256
2214
  ], SlideEditingRenderController);
2257
2215
  function getEditorObject(unitId, renderManagerService) {
2258
2216
  if (unitId == null) return;
2259
- const currentRender = renderManagerService.getRenderById(unitId);
2217
+ const currentRender = renderManagerService.getRenderUnitById(unitId);
2260
2218
  if (currentRender == null) return;
2261
2219
  const { mainComponent, scene, engine, components } = currentRender;
2262
2220
  return {
@@ -2362,7 +2320,6 @@ let SlideEditorBridgeRenderController = class SlideEditorBridgeRenderController
2362
2320
  if (!this._instanceSrv.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_SLIDE)) return false;
2363
2321
  curRichText.refreshDocumentByDocData();
2364
2322
  curRichText.resizeToContentSize();
2365
- this._editorBridgeService.endEditing$.next(curRichText);
2366
2323
  const richText = {
2367
2324
  bl: 1,
2368
2325
  fs: curRichText.fs,
@@ -2482,7 +2439,7 @@ let SlideCanvasPopMangerService = class SlideCanvasPopMangerService extends _uni
2482
2439
  }
2483
2440
  attachPopupToObject(targetObject, popup) {
2484
2441
  const unitId = this._univerInstanceService.getCurrentUnitOfType(_univerjs_core.UniverInstanceType.UNIVER_SLIDE).getUnitId();
2485
- const currentRender = this._renderManagerService.getRenderById(unitId);
2442
+ const currentRender = this._renderManagerService.getRenderUnitById(unitId);
2486
2443
  if (!currentRender) return { dispose: () => {} };
2487
2444
  const { position, position$, disposable } = this._createObjectPositionObserver(targetObject, currentRender);
2488
2445
  const id = this._globalPopupManagerService.addPopup({
@@ -2724,6 +2681,7 @@ _defineProperty(UniverSlidesUIPlugin, "packageName", name);
2724
2681
  _defineProperty(UniverSlidesUIPlugin, "version", version);
2725
2682
  _defineProperty(UniverSlidesUIPlugin, "type", _univerjs_core.UniverInstanceType.UNIVER_SLIDE);
2726
2683
  UniverSlidesUIPlugin = __decorate([
2684
+ (0, _univerjs_core.DependentOn)(_univerjs_docs.UniverDocsPlugin, _univerjs_drawing.UniverDrawingPlugin, _univerjs_engine_render.UniverRenderEnginePlugin, _univerjs_slides.UniverSlidesPlugin, _univerjs_ui.UniverUIPlugin, _univerjs_docs_ui.UniverDocsUIPlugin),
2727
2685
  __decorateParam(1, (0, _univerjs_core.Inject)(_univerjs_core.Injector)),
2728
2686
  __decorateParam(2, _univerjs_engine_render.IRenderManagerService),
2729
2687
  __decorateParam(3, _univerjs_core.IUniverInstanceService),
@@ -1,44 +1,44 @@
1
1
 
2
2
  //#region src/locale/ru-RU.ts
3
3
  const locale = { "slides-ui": {
4
- append: "Append Slide",
5
- text: { insert: { title: "Insert Text" } },
4
+ append: "Добавить слайд",
5
+ text: { insert: { title: "Вставить текст" } },
6
6
  shape: { insert: {
7
- title: "Insert Shape",
8
- rectangle: "Insert Rectangle",
9
- ellipse: "Insert Ellipse"
7
+ title: "Вставить фигуру",
8
+ rectangle: "Вставить прямоугольник",
9
+ ellipse: "Вставить эллипс"
10
10
  } },
11
11
  image: { insert: {
12
- title: "Insert Image",
13
- float: "Insert Float Image"
12
+ title: "Вставить изображение",
13
+ float: "Вставить плавающее изображение"
14
14
  } },
15
15
  popup: {
16
- edit: "Edit",
17
- delete: "Delete"
16
+ edit: "Изменить",
17
+ delete: "Удалить"
18
18
  },
19
19
  sidebar: {
20
- text: "Edit Text",
21
- shape: "Edit Shape",
22
- image: "Edit Image"
20
+ text: "Изменить текст",
21
+ shape: "Изменить фигуру",
22
+ image: "Изменить изображение"
23
23
  },
24
24
  "image-panel": {
25
25
  arrange: {
26
- title: "Arrange",
27
- forward: "Bring Forward",
28
- backward: "Send Backward",
29
- front: "Bring to Front",
30
- back: "Send to Back"
26
+ title: "Упорядочить",
27
+ forward: "Переложить вперёд",
28
+ backward: "Переложить назад",
29
+ front: "На передний план",
30
+ back: "На задний план"
31
31
  },
32
32
  transform: {
33
- title: "Transform",
34
- width: "Width (px)",
35
- height: "Height (px)",
36
- x: "X (px)",
37
- y: "Y (px)",
38
- rotate: "Rotate (°)"
33
+ title: "Преобразование",
34
+ width: "Ширина (пкс)",
35
+ height: "Высота (пкс)",
36
+ x: "X (пкс)",
37
+ y: "Y (пкс)",
38
+ rotate: "Повернуть (°)"
39
39
  }
40
40
  },
41
- panel: { fill: { title: "Fill Color" } }
41
+ panel: { fill: { title: "Цвет заливки" } }
42
42
  } };
43
43
 
44
44
  //#endregion
@@ -1,44 +1,44 @@
1
1
 
2
2
  //#region src/locale/vi-VN.ts
3
3
  const locale = { "slides-ui": {
4
- append: "Append Slide",
5
- text: { insert: { title: "Insert Text" } },
4
+ append: "Thêm trang chiếu",
5
+ text: { insert: { title: "Chèn văn bản" } },
6
6
  shape: { insert: {
7
- title: "Insert Shape",
8
- rectangle: "Insert Rectangle",
9
- ellipse: "Insert Ellipse"
7
+ title: "Chèn hình",
8
+ rectangle: "Chèn hình chữ nhật",
9
+ ellipse: "Chèn hình elip"
10
10
  } },
11
11
  image: { insert: {
12
- title: "Insert Image",
13
- float: "Insert Float Image"
12
+ title: "Chèn hình ảnh",
13
+ float: "Chèn hình ảnh nổi"
14
14
  } },
15
15
  popup: {
16
- edit: "Edit",
17
- delete: "Delete"
16
+ edit: "Chỉnh sửa",
17
+ delete: "Xóa"
18
18
  },
19
19
  sidebar: {
20
- text: "Edit Text",
21
- shape: "Edit Shape",
22
- image: "Edit Image"
20
+ text: "Chỉnh sửa văn bản",
21
+ shape: "Chỉnh sửa hình",
22
+ image: "Chỉnh sửa hình ảnh"
23
23
  },
24
24
  "image-panel": {
25
25
  arrange: {
26
- title: "Arrange",
27
- forward: "Bring Forward",
28
- backward: "Send Backward",
29
- front: "Bring to Front",
30
- back: "Send to Back"
26
+ title: "Sắp xếp",
27
+ forward: "Chuyển lên trên",
28
+ backward: "Chuyển xuống dưới",
29
+ front: "Đưa lên trên cùng",
30
+ back: "Đưa xuống dưới cùng"
31
31
  },
32
32
  transform: {
33
- title: "Transform",
34
- width: "Width (px)",
35
- height: "Height (px)",
33
+ title: "Biến đổi",
34
+ width: "Chiều rộng (px)",
35
+ height: "Chiều cao (px)",
36
36
  x: "X (px)",
37
37
  y: "Y (px)",
38
- rotate: "Rotate (°)"
38
+ rotate: "Xoay (°)"
39
39
  }
40
40
  },
41
- panel: { fill: { title: "Fill Color" } }
41
+ panel: { fill: { title: "Màu " } }
42
42
  } };
43
43
 
44
44
  //#endregion
@@ -1,44 +1,44 @@
1
1
 
2
2
  //#region src/locale/zh-HK.ts
3
3
  const locale = { "slides-ui": {
4
- append: "Append Slide",
5
- text: { insert: { title: "Insert Text" } },
4
+ append: "新增幻灯片",
5
+ text: { insert: { title: "插入文字" } },
6
6
  shape: { insert: {
7
- title: "Insert Shape",
8
- rectangle: "Insert Rectangle",
9
- ellipse: "Insert Ellipse"
7
+ title: "插入圖形",
8
+ rectangle: "插入矩形",
9
+ ellipse: "插入橢圓"
10
10
  } },
11
11
  image: { insert: {
12
- title: "Insert Image",
13
- float: "Insert Float Image"
12
+ title: "插入圖片",
13
+ float: "插入浮動圖片"
14
14
  } },
15
15
  popup: {
16
- edit: "Edit",
17
- delete: "Delete"
16
+ edit: "編輯",
17
+ delete: "刪除"
18
18
  },
19
19
  sidebar: {
20
- text: "Edit Text",
21
- shape: "Edit Shape",
22
- image: "Edit Image"
20
+ text: "編輯文字",
21
+ shape: "編輯圖形",
22
+ image: "編輯圖片"
23
23
  },
24
24
  "image-panel": {
25
25
  arrange: {
26
- title: "Arrange",
27
- forward: "Bring Forward",
28
- backward: "Send Backward",
29
- front: "Bring to Front",
30
- back: "Send to Back"
26
+ title: "排列",
27
+ forward: "上移一層",
28
+ backward: "下移一層",
29
+ front: "至頂",
30
+ back: "至底"
31
31
  },
32
32
  transform: {
33
- title: "Transform",
34
- width: "Width (px)",
35
- height: "Height (px)",
33
+ title: "變換",
34
+ width: "寬度 (px)",
35
+ height: "高度 (px)",
36
36
  x: "X (px)",
37
37
  y: "Y (px)",
38
- rotate: "Rotate (°)"
38
+ rotate: "旋轉 (°)"
39
39
  }
40
40
  },
41
- panel: { fill: { title: "Fill Color" } }
41
+ panel: { fill: { title: "填色" } }
42
42
  } };
43
43
 
44
44
  //#endregion
@@ -1,44 +1,44 @@
1
1
 
2
2
  //#region src/locale/zh-TW.ts
3
3
  const locale = { "slides-ui": {
4
- append: "Append Slide",
5
- text: { insert: { title: "Insert Text" } },
4
+ append: "新增幻灯片",
5
+ text: { insert: { title: "插入文字" } },
6
6
  shape: { insert: {
7
- title: "Insert Shape",
8
- rectangle: "Insert Rectangle",
9
- ellipse: "Insert Ellipse"
7
+ title: "插入圖形",
8
+ rectangle: "插入矩形",
9
+ ellipse: "插入橢圓"
10
10
  } },
11
11
  image: { insert: {
12
- title: "Insert Image",
13
- float: "Insert Float Image"
12
+ title: "插入圖片",
13
+ float: "插入浮動圖片"
14
14
  } },
15
15
  popup: {
16
- edit: "Edit",
17
- delete: "Delete"
16
+ edit: "編輯",
17
+ delete: "刪除"
18
18
  },
19
19
  sidebar: {
20
- text: "Edit Text",
21
- shape: "Edit Shape",
22
- image: "Edit Image"
20
+ text: "編輯文字",
21
+ shape: "編輯圖形",
22
+ image: "編輯圖片"
23
23
  },
24
24
  "image-panel": {
25
25
  arrange: {
26
- title: "Arrange",
27
- forward: "Bring Forward",
28
- backward: "Send Backward",
29
- front: "Bring to Front",
30
- back: "Send to Back"
26
+ title: "排列",
27
+ forward: "上移一層",
28
+ backward: "下移一層",
29
+ front: "至頂",
30
+ back: "至底"
31
31
  },
32
32
  transform: {
33
- title: "Transform",
34
- width: "Width (px)",
35
- height: "Height (px)",
33
+ title: "變換",
34
+ width: "寬度 (px)",
35
+ height: "高度 (px)",
36
36
  x: "X (px)",
37
37
  y: "Y (px)",
38
- rotate: "Rotate (°)"
38
+ rotate: "旋轉 (°)"
39
39
  }
40
40
  },
41
- panel: { fill: { title: "Fill Color" } }
41
+ panel: { fill: { title: "填色" } }
42
42
  } };
43
43
 
44
44
  //#endregion