@univerjs/slides-ui 1.0.0-alpha.6 → 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/es/index.js CHANGED
@@ -1,17 +1,17 @@
1
- import { CommandType, DEFAULT_EMPTY_DOCUMENT_VALUE, Direction, Disposable, DisposableCollection, DocumentDataModel, DocumentFlavor, EDITOR_ACTIVATED, FOCUSING_COMMON_DRAWINGS, FOCUSING_EDITOR_BUT_HIDDEN, FOCUSING_EDITOR_STANDALONE, FOCUSING_UNIVER_EDITOR, FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE, FORMULA_EDITOR_ACTIVATED, HorizontalAlign, ICommandService, IConfigService, IContextService, IImageIoService, IUndoRedoService, IUniverInstanceService, Inject, Injector, LocaleService, Plugin, RxDisposable, UniverInstanceType, VerticalAlign, WrapStrategy, createIdentifier, createInternalEditorID, createParagraphId, createSectionId, debounce, generateRandomId, getColorStyle, merge, mergeOverrideWithDependencies, toDisposable } from "@univerjs/core";
2
- import { DeviceInputEventType, FIX_ONE_PIXEL_BLUR_OFFSET, IRenderManagerService, ObjectType, Rect, Scene, ScrollBar, Slide, Viewport, convertTextRotation, fixLineWidthByScale, getCurrentTypeOfRenderer, pxToNum } from "@univerjs/engine-render";
3
- import { BasicShapes, ObjectProvider, PageElementType, SLIDE_KEY } from "@univerjs/slides";
4
- import { DRAWING_IMAGE_ALLOW_IMAGE_LIST, getImageSize } from "@univerjs/drawing";
5
- import { BuiltInUIPart, ComponentManager, DISABLE_AUTO_FOCUS_KEY, ICanvasPopupService, ILayoutService, ILocalFileService, IMenuManagerService, IShortcutService, ISidebarService, IUIPartsService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonStartGroup, connectInjector, getMenuHiddenObservable, useDependency, useObservable } from "@univerjs/ui";
1
+ import { CommandType, DEFAULT_EMPTY_DOCUMENT_VALUE, DependentOn, Direction, Disposable, DisposableCollection, DocumentDataModel, DocumentFlavor, EDITOR_ACTIVATED, FOCUSING_COMMON_DRAWINGS, FOCUSING_EDITOR_STANDALONE, FOCUSING_UNIVER_EDITOR, FOCUSING_UNIVER_EDITOR_STANDALONE_SINGLE_MODE, FORMULA_EDITOR_ACTIVATED, HorizontalAlign, ICommandService, IConfigService, IContextService, IImageIoService, IUndoRedoService, IUniverInstanceService, Inject, Injector, LocaleService, Plugin, RxDisposable, UniverInstanceType, VerticalAlign, WrapStrategy, createIdentifier, createInternalEditorID, createParagraphId, debounce, generateRandomId, getColorStyle, merge, mergeOverrideWithDependencies, toDisposable } from "@univerjs/core";
2
+ import { DeviceInputEventType, FIX_ONE_PIXEL_BLUR_OFFSET, IRenderManagerService, ObjectType, Rect, Scene, ScrollBar, Slide, UniverRenderEnginePlugin, Viewport, convertTextRotation, fixLineWidthByScale, getCurrentTypeOfRenderer, pxToNum } from "@univerjs/engine-render";
3
+ import { BasicShapes, ObjectProvider, PageElementType, SLIDE_KEY, UniverSlidesPlugin } from "@univerjs/slides";
4
+ import { DRAWING_IMAGE_ALLOW_IMAGE_LIST, UniverDrawingPlugin, getImageSize } from "@univerjs/drawing";
5
+ import { BuiltInUIPart, ComponentManager, DISABLE_AUTO_FOCUS_KEY, ICanvasPopupService, ILayoutService, ILocalFileService, IMenuManagerService, IShortcutService, ISidebarService, IUIPartsService, IconManager, KeyCode, MenuItemType, MetaKeys, RibbonStartGroup, UniverUIPlugin, connectInjector, getMenuHiddenObservable, useDependency, useObservable } from "@univerjs/ui";
6
6
  import { Button, ColorPicker, Dropdown, InputNumber, borderClassName, borderTopClassName, clsx, scrollbarClassName } from "@univerjs/design";
7
7
  import { AddImageIcon, AutofillDoubleIcon, BottomIcon, GraphIcon, MoreDownIcon, MoveDownIcon, MoveUpIcon, PaintBucketDoubleIcon, TextIcon, TopmostIcon } from "@univerjs/icons";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  import { createRef, useCallback, useEffect, useMemo, useRef, useState } from "react";
10
- import { DOCS_COMPONENT_MAIN_LAYER_INDEX, DOCS_VIEW_KEY, DeleteLeftCommand, DocSelectionRenderService, IEditorService, MoveCursorOperation, MoveSelectionOperation, VIEWPORT_KEY } from "@univerjs/docs-ui";
10
+ import { DOCS_COMPONENT_MAIN_LAYER_INDEX, DOCS_VIEW_KEY, DeleteLeftCommand, DocSelectionRenderService, IEditorService, MoveCursorOperation, MoveSelectionOperation, ReplaceSnapshotCommand, UniverDocsUIPlugin, VIEWPORT_KEY } from "@univerjs/docs-ui";
11
11
  import { BehaviorSubject, Subject, filter, scan, takeUntil } from "rxjs";
12
- import { DocSelectionManagerService, DocSkeletonManagerService, RichTextEditingMutation } from "@univerjs/docs";
12
+ import { DocSelectionManagerService, DocSkeletonManagerService, RichTextEditingMutation, UniverDocsPlugin } from "@univerjs/docs";
13
13
 
14
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/typeof.js
14
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/typeof.js
15
15
  function _typeof(o) {
16
16
  "@babel/helpers - typeof";
17
17
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -22,7 +22,7 @@ function _typeof(o) {
22
22
  }
23
23
 
24
24
  //#endregion
25
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPrimitive.js
25
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPrimitive.js
26
26
  function toPrimitive(t, r) {
27
27
  if ("object" != _typeof(t) || !t) return t;
28
28
  var e = t[Symbol.toPrimitive];
@@ -35,14 +35,14 @@ function toPrimitive(t, r) {
35
35
  }
36
36
 
37
37
  //#endregion
38
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/toPropertyKey.js
38
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/toPropertyKey.js
39
39
  function toPropertyKey(t) {
40
40
  var i = toPrimitive(t, "string");
41
41
  return "symbol" == _typeof(i) ? i : i + "";
42
42
  }
43
43
 
44
44
  //#endregion
45
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/defineProperty.js
45
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/defineProperty.js
46
46
  function _defineProperty(e, r, t) {
47
47
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
48
48
  value: t,
@@ -53,7 +53,7 @@ function _defineProperty(e, r, t) {
53
53
  }
54
54
 
55
55
  //#endregion
56
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorateParam.js
56
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorateParam.js
57
57
  function __decorateParam(paramIndex, decorator) {
58
58
  return function(target, key) {
59
59
  decorator(target, key, paramIndex);
@@ -61,7 +61,7 @@ function __decorateParam(paramIndex, decorator) {
61
61
  }
62
62
 
63
63
  //#endregion
64
- //#region \0@oxc-project+runtime@0.137.0/helpers/esm/decorate.js
64
+ //#region \0@oxc-project+runtime@0.140.0/helpers/esm/decorate.js
65
65
  function __decorate(decorators, target, key, desc) {
66
66
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
67
67
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -199,7 +199,7 @@ let SlideRenderController = class SlideRenderController extends RxDisposable {
199
199
  };
200
200
  }
201
201
  _thumbSceneRender(pageId, slide) {
202
- const render = this._renderManagerService.getRenderById(pageId);
202
+ const render = this._renderManagerService.getRenderUnitById(pageId);
203
203
  if (render == null) return;
204
204
  const { engine: thumbEngine } = render;
205
205
  if (thumbEngine == null) return;
@@ -374,7 +374,7 @@ let CanvasView = class CanvasView extends RxDisposable {
374
374
  this._renderManagerService = _renderManagerService;
375
375
  }
376
376
  _getSlideRenderControllerFromRenderUnit(unitId) {
377
- return this._renderManagerService.getRenderById(unitId).with(SlideRenderController);
377
+ return this._renderManagerService.getRenderUnitById(unitId).with(SlideRenderController);
378
378
  }
379
379
  createThumbs(unitId) {
380
380
  this._getSlideRenderControllerFromRenderUnit(unitId).createThumbs();
@@ -1149,10 +1149,22 @@ function SlideAddTextMenuItemFactory(_accessor) {
1149
1149
  const menuSchema = { [RibbonStartGroup.FORMAT]: {
1150
1150
  [SlideAddTextCommand.id]: {
1151
1151
  order: 0,
1152
+ gridLayout: {
1153
+ row: 1,
1154
+ column: 1,
1155
+ rowSpan: 2,
1156
+ showLabel: true
1157
+ },
1152
1158
  menuItemFactory: SlideAddTextMenuItemFactory
1153
1159
  },
1154
1160
  [SLIDES_IMAGE_MENU_ID]: {
1155
1161
  order: 0,
1162
+ gridLayout: {
1163
+ row: 1,
1164
+ column: 2,
1165
+ rowSpan: 2,
1166
+ showLabel: true
1167
+ },
1156
1168
  menuItemFactory: SlideImageMenuFactory,
1157
1169
  [InsertSlideFloatImageCommand.id]: {
1158
1170
  order: 0,
@@ -1161,6 +1173,12 @@ const menuSchema = { [RibbonStartGroup.FORMAT]: {
1161
1173
  },
1162
1174
  [SHAPE_MENU_ID]: {
1163
1175
  order: 0,
1176
+ gridLayout: {
1177
+ row: 1,
1178
+ column: 3,
1179
+ rowSpan: 2,
1180
+ showLabel: true
1181
+ },
1164
1182
  menuItemFactory: SlideShapeMenuFactory,
1165
1183
  [InsertSlideShapeRectangleCommand.id]: {
1166
1184
  order: 0,
@@ -1302,7 +1320,7 @@ function SlideSideBar() {
1302
1320
  if (ref.current) {
1303
1321
  var _renderManagerService;
1304
1322
  const slide = slideList[index];
1305
- (_renderManagerService = renderManagerService.getRenderById(slide.id)) === null || _renderManagerService === void 0 || _renderManagerService.engine.setContainer(ref.current);
1323
+ (_renderManagerService = renderManagerService.getRenderUnitById(slide.id)) === null || _renderManagerService === void 0 || _renderManagerService.engine.mount(ref.current);
1306
1324
  }
1307
1325
  });
1308
1326
  if (divRefs.length > 0) commandService.syncExecuteCommand(SetSlidePageThumbOperation.id, { unitId: currentSlide === null || currentSlide === void 0 ? void 0 : currentSlide.getUnitId() });
@@ -1482,7 +1500,7 @@ SlidesUIController = __decorate([
1482
1500
  //#endregion
1483
1501
  //#region package.json
1484
1502
  var name = "@univerjs/slides-ui";
1485
- var version = "1.0.0-alpha.6";
1503
+ var version = "1.0.0-alpha.8";
1486
1504
 
1487
1505
  //#endregion
1488
1506
  //#region src/config/config.ts
@@ -1627,7 +1645,6 @@ let SlideEditorBridgeService = class SlideEditorBridgeService extends Disposable
1627
1645
  _defineProperty(this, "visible$", this._visible$.asObservable());
1628
1646
  _defineProperty(this, "_afterVisible$", new BehaviorSubject(this._visibleParam));
1629
1647
  _defineProperty(this, "afterVisible$", this._afterVisible$.asObservable());
1630
- _defineProperty(this, "endEditing$", new Subject());
1631
1648
  _defineProperty(this, "_currentEditRectInfo", void 0);
1632
1649
  }
1633
1650
  dispose() {
@@ -1706,7 +1723,7 @@ let SlideEditorBridgeService = class SlideEditorBridgeService extends Disposable
1706
1723
  left: 0,
1707
1724
  top: 0
1708
1725
  };
1709
- const renderUnit = this._renderManagerService.getRenderById(unitId);
1726
+ const renderUnit = this._renderManagerService.getRenderUnitById(unitId);
1710
1727
  const mainScene = renderUnit === null || renderUnit === void 0 ? void 0 : renderUnit.scene;
1711
1728
  const mainViewport = mainScene === null || mainScene === void 0 ? void 0 : mainScene.getViewport(SLIDE_KEY.VIEW);
1712
1729
  const slideMainRect = mainScene === null || mainScene === void 0 ? void 0 : mainScene.getObject(SLIDE_KEY.COMPONENT);
@@ -1745,52 +1762,6 @@ let SlideEditorBridgeService = class SlideEditorBridgeService extends Disposable
1745
1762
  getCurrentEditorId() {
1746
1763
  return this._editorUnitId;
1747
1764
  }
1748
- /**
1749
- * @deprecated
1750
- */
1751
- genDocData(target) {
1752
- const editorUnitId = this.getCurrentEditorId();
1753
- const content = target.text;
1754
- const fontSize = target.fs;
1755
- return {
1756
- id: editorUnitId,
1757
- body: {
1758
- dataStream: `${content}\r\n`,
1759
- textRuns: [{
1760
- st: 0,
1761
- ed: content.length
1762
- }],
1763
- paragraphs: [{
1764
- paragraphStyle: {},
1765
- startIndex: content.length + 1
1766
- }],
1767
- sectionBreaks: [{
1768
- sectionId: createSectionId(/* @__PURE__ */ new Set()),
1769
- startIndex: content.length + 2
1770
- }]
1771
- },
1772
- documentStyle: {
1773
- marginBottom: 0,
1774
- marginLeft: 0,
1775
- marginRight: 0,
1776
- marginTop: 0,
1777
- pageSize: {
1778
- width: Infinity,
1779
- height: Infinity
1780
- },
1781
- textStyle: { fs: fontSize },
1782
- renderConfig: {
1783
- verticalAlign: VerticalAlign.MIDDLE,
1784
- centerAngle: 0,
1785
- vertexAngle: 0,
1786
- wrapStrategy: 0
1787
- }
1788
- },
1789
- drawings: {},
1790
- drawingsOrder: [],
1791
- settings: { zoomRatio: 1 }
1792
- };
1793
- }
1794
1765
  };
1795
1766
  SlideEditorBridgeService = __decorate([
1796
1767
  __decorateParam(0, IEditorService),
@@ -1877,11 +1848,11 @@ let SlideEditingRenderController = class SlideEditingRenderController extends Di
1877
1848
  }
1878
1849
  _getEditorSkeleton(editorId) {
1879
1850
  var _this$_renderManagerS;
1880
- return (_this$_renderManagerS = this._renderManagerService.getRenderById(editorId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.with(DocSkeletonManagerService).getSkeleton();
1851
+ return (_this$_renderManagerS = this._renderManagerService.getRenderUnitById(editorId)) === null || _this$_renderManagerS === void 0 ? void 0 : _this$_renderManagerS.with(DocSkeletonManagerService).getSkeleton();
1881
1852
  }
1882
1853
  _getEditorViewModel(editorId) {
1883
1854
  var _this$_renderManagerS2;
1884
- return (_this$_renderManagerS2 = this._renderManagerService.getRenderById(editorId)) === null || _this$_renderManagerS2 === void 0 ? void 0 : _this$_renderManagerS2.with(DocSkeletonManagerService).getViewModel();
1855
+ return (_this$_renderManagerS2 = this._renderManagerService.getRenderUnitById(editorId)) === null || _this$_renderManagerS2 === void 0 ? void 0 : _this$_renderManagerS2.with(DocSkeletonManagerService).getViewModel();
1885
1856
  }
1886
1857
  _initialCursorSync(d) {
1887
1858
  d.add(this._cellEditorManagerService.focus$.pipe(filter((f) => !!f)).subscribe(() => {
@@ -1902,9 +1873,14 @@ let SlideEditingRenderController = class SlideEditingRenderController extends Di
1902
1873
  const { vertexAngle: angle } = convertTextRotation(textRotation);
1903
1874
  documentModel.updateDocumentId(editorUnitId);
1904
1875
  if (wrapStrategy === WrapStrategy.WRAP && angle === 0) documentModel.updateDocumentDataPageSize((endX - startX) / scaleX);
1905
- this._instanceSrv.changeDoc(editorUnitId, documentModel);
1906
- this._contextService.setContextValue(FOCUSING_EDITOR_BUT_HIDDEN, true);
1907
- this._textSelectionManagerService.replaceTextRanges([{
1876
+ const snapshot = documentModel.getSnapshot();
1877
+ if (this._instanceSrv.getUnit(editorUnitId, UniverInstanceType.UNIVER_DOC) == null) this._instanceSrv.createUnit(UniverInstanceType.UNIVER_DOC, snapshot);
1878
+ else this._commandService.syncExecuteCommand(ReplaceSnapshotCommand.id, {
1879
+ unitId: editorUnitId,
1880
+ snapshot
1881
+ });
1882
+ this._instanceSrv.setCurrentUnitForType(editorUnitId);
1883
+ this._textSelectionManagerService.replaceDocRanges([{
1908
1884
  startOffset: 0,
1909
1885
  endOffset: 0
1910
1886
  }]);
@@ -2091,11 +2067,11 @@ let SlideEditingRenderController = class SlideEditingRenderController extends Di
2091
2067
  this._fitTextSize(position, canvasOffset, skeleton, documentLayoutObject, scaleX, scaleY);
2092
2068
  const cursor = documentDataModel.getBody().dataStream.length - 2 || 0;
2093
2069
  (_scene$getViewport = scene.getViewport(VIEWPORT_KEY.VIEW_MAIN)) === null || _scene$getViewport === void 0 || _scene$getViewport.scrollToViewportPos({ viewportScrollX: Number.POSITIVE_INFINITY });
2094
- this._textSelectionManagerService.replaceTextRanges([{
2070
+ this._textSelectionManagerService.replaceDocRanges([{
2095
2071
  startOffset: cursor,
2096
2072
  endOffset: cursor
2097
2073
  }]);
2098
- (_this$_renderManagerS3 = this._renderManagerService.getRenderById(unitId)) === null || _this$_renderManagerS3 === void 0 || _this$_renderManagerS3.scene.resetCursor();
2074
+ (_this$_renderManagerS3 = this._renderManagerService.getRenderUnitById(unitId)) === null || _this$_renderManagerS3 === void 0 || _this$_renderManagerS3.scene.resetCursor();
2099
2075
  }
2100
2076
  _resetBodyStyle(body, removeStyle = false) {
2101
2077
  body.dataStream = DEFAULT_EMPTY_DOCUMENT_VALUE;
@@ -2237,7 +2213,7 @@ SlideEditingRenderController = __decorate([
2237
2213
  ], SlideEditingRenderController);
2238
2214
  function getEditorObject(unitId, renderManagerService) {
2239
2215
  if (unitId == null) return;
2240
- const currentRender = renderManagerService.getRenderById(unitId);
2216
+ const currentRender = renderManagerService.getRenderUnitById(unitId);
2241
2217
  if (currentRender == null) return;
2242
2218
  const { mainComponent, scene, engine, components } = currentRender;
2243
2219
  return {
@@ -2343,7 +2319,6 @@ let SlideEditorBridgeRenderController = class SlideEditorBridgeRenderController
2343
2319
  if (!this._instanceSrv.getCurrentUnitOfType(UniverInstanceType.UNIVER_SLIDE)) return false;
2344
2320
  curRichText.refreshDocumentByDocData();
2345
2321
  curRichText.resizeToContentSize();
2346
- this._editorBridgeService.endEditing$.next(curRichText);
2347
2322
  const richText = {
2348
2323
  bl: 1,
2349
2324
  fs: curRichText.fs,
@@ -2463,7 +2438,7 @@ let SlideCanvasPopMangerService = class SlideCanvasPopMangerService extends Disp
2463
2438
  }
2464
2439
  attachPopupToObject(targetObject, popup) {
2465
2440
  const unitId = this._univerInstanceService.getCurrentUnitOfType(UniverInstanceType.UNIVER_SLIDE).getUnitId();
2466
- const currentRender = this._renderManagerService.getRenderById(unitId);
2441
+ const currentRender = this._renderManagerService.getRenderUnitById(unitId);
2467
2442
  if (!currentRender) return { dispose: () => {} };
2468
2443
  const { position, position$, disposable } = this._createObjectPositionObserver(targetObject, currentRender);
2469
2444
  const id = this._globalPopupManagerService.addPopup({
@@ -2705,6 +2680,7 @@ _defineProperty(UniverSlidesUIPlugin, "packageName", name);
2705
2680
  _defineProperty(UniverSlidesUIPlugin, "version", version);
2706
2681
  _defineProperty(UniverSlidesUIPlugin, "type", UniverInstanceType.UNIVER_SLIDE);
2707
2682
  UniverSlidesUIPlugin = __decorate([
2683
+ DependentOn(UniverDocsPlugin, UniverDrawingPlugin, UniverRenderEnginePlugin, UniverSlidesPlugin, UniverUIPlugin, UniverDocsUIPlugin),
2708
2684
  __decorateParam(1, Inject(Injector)),
2709
2685
  __decorateParam(2, IRenderManagerService),
2710
2686
  __decorateParam(3, IUniverInstanceService),
@@ -1,43 +1,43 @@
1
1
  //#region src/locale/ru-RU.ts
2
2
  const locale = { "slides-ui": {
3
- append: "Append Slide",
4
- text: { insert: { title: "Insert Text" } },
3
+ append: "Добавить слайд",
4
+ text: { insert: { title: "Вставить текст" } },
5
5
  shape: { insert: {
6
- title: "Insert Shape",
7
- rectangle: "Insert Rectangle",
8
- ellipse: "Insert Ellipse"
6
+ title: "Вставить фигуру",
7
+ rectangle: "Вставить прямоугольник",
8
+ ellipse: "Вставить эллипс"
9
9
  } },
10
10
  image: { insert: {
11
- title: "Insert Image",
12
- float: "Insert Float Image"
11
+ title: "Вставить изображение",
12
+ float: "Вставить плавающее изображение"
13
13
  } },
14
14
  popup: {
15
- edit: "Edit",
16
- delete: "Delete"
15
+ edit: "Изменить",
16
+ delete: "Удалить"
17
17
  },
18
18
  sidebar: {
19
- text: "Edit Text",
20
- shape: "Edit Shape",
21
- image: "Edit Image"
19
+ text: "Изменить текст",
20
+ shape: "Изменить фигуру",
21
+ image: "Изменить изображение"
22
22
  },
23
23
  "image-panel": {
24
24
  arrange: {
25
- title: "Arrange",
26
- forward: "Bring Forward",
27
- backward: "Send Backward",
28
- front: "Bring to Front",
29
- back: "Send to Back"
25
+ title: "Упорядочить",
26
+ forward: "Переложить вперёд",
27
+ backward: "Переложить назад",
28
+ front: "На передний план",
29
+ back: "На задний план"
30
30
  },
31
31
  transform: {
32
- title: "Transform",
33
- width: "Width (px)",
34
- height: "Height (px)",
35
- x: "X (px)",
36
- y: "Y (px)",
37
- rotate: "Rotate (°)"
32
+ title: "Преобразование",
33
+ width: "Ширина (пкс)",
34
+ height: "Высота (пкс)",
35
+ x: "X (пкс)",
36
+ y: "Y (пкс)",
37
+ rotate: "Повернуть (°)"
38
38
  }
39
39
  },
40
- panel: { fill: { title: "Fill Color" } }
40
+ panel: { fill: { title: "Цвет заливки" } }
41
41
  } };
42
42
 
43
43
  //#endregion
@@ -1,43 +1,43 @@
1
1
  //#region src/locale/vi-VN.ts
2
2
  const locale = { "slides-ui": {
3
- append: "Append Slide",
4
- text: { insert: { title: "Insert Text" } },
3
+ append: "Thêm trang chiếu",
4
+ text: { insert: { title: "Chèn văn bản" } },
5
5
  shape: { insert: {
6
- title: "Insert Shape",
7
- rectangle: "Insert Rectangle",
8
- ellipse: "Insert Ellipse"
6
+ title: "Chèn hình",
7
+ rectangle: "Chèn hình chữ nhật",
8
+ ellipse: "Chèn hình elip"
9
9
  } },
10
10
  image: { insert: {
11
- title: "Insert Image",
12
- float: "Insert Float Image"
11
+ title: "Chèn hình ảnh",
12
+ float: "Chèn hình ảnh nổi"
13
13
  } },
14
14
  popup: {
15
- edit: "Edit",
16
- delete: "Delete"
15
+ edit: "Chỉnh sửa",
16
+ delete: "Xóa"
17
17
  },
18
18
  sidebar: {
19
- text: "Edit Text",
20
- shape: "Edit Shape",
21
- image: "Edit Image"
19
+ text: "Chỉnh sửa văn bản",
20
+ shape: "Chỉnh sửa hình",
21
+ image: "Chỉnh sửa hình ảnh"
22
22
  },
23
23
  "image-panel": {
24
24
  arrange: {
25
- title: "Arrange",
26
- forward: "Bring Forward",
27
- backward: "Send Backward",
28
- front: "Bring to Front",
29
- back: "Send to Back"
25
+ title: "Sắp xếp",
26
+ forward: "Chuyển lên trên",
27
+ backward: "Chuyển xuống dưới",
28
+ front: "Đưa lên trên cùng",
29
+ back: "Đưa xuống dưới cùng"
30
30
  },
31
31
  transform: {
32
- title: "Transform",
33
- width: "Width (px)",
34
- height: "Height (px)",
32
+ title: "Biến đổi",
33
+ width: "Chiều rộng (px)",
34
+ height: "Chiều cao (px)",
35
35
  x: "X (px)",
36
36
  y: "Y (px)",
37
- rotate: "Rotate (°)"
37
+ rotate: "Xoay (°)"
38
38
  }
39
39
  },
40
- panel: { fill: { title: "Fill Color" } }
40
+ panel: { fill: { title: "Màu " } }
41
41
  } };
42
42
 
43
43
  //#endregion
@@ -1,43 +1,43 @@
1
1
  //#region src/locale/zh-HK.ts
2
2
  const locale = { "slides-ui": {
3
- append: "Append Slide",
4
- text: { insert: { title: "Insert Text" } },
3
+ append: "新增幻灯片",
4
+ text: { insert: { title: "插入文字" } },
5
5
  shape: { insert: {
6
- title: "Insert Shape",
7
- rectangle: "Insert Rectangle",
8
- ellipse: "Insert Ellipse"
6
+ title: "插入圖形",
7
+ rectangle: "插入矩形",
8
+ ellipse: "插入橢圓"
9
9
  } },
10
10
  image: { insert: {
11
- title: "Insert Image",
12
- float: "Insert Float Image"
11
+ title: "插入圖片",
12
+ float: "插入浮動圖片"
13
13
  } },
14
14
  popup: {
15
- edit: "Edit",
16
- delete: "Delete"
15
+ edit: "編輯",
16
+ delete: "刪除"
17
17
  },
18
18
  sidebar: {
19
- text: "Edit Text",
20
- shape: "Edit Shape",
21
- image: "Edit Image"
19
+ text: "編輯文字",
20
+ shape: "編輯圖形",
21
+ image: "編輯圖片"
22
22
  },
23
23
  "image-panel": {
24
24
  arrange: {
25
- title: "Arrange",
26
- forward: "Bring Forward",
27
- backward: "Send Backward",
28
- front: "Bring to Front",
29
- back: "Send to Back"
25
+ title: "排列",
26
+ forward: "上移一層",
27
+ backward: "下移一層",
28
+ front: "至頂",
29
+ back: "至底"
30
30
  },
31
31
  transform: {
32
- title: "Transform",
33
- width: "Width (px)",
34
- height: "Height (px)",
32
+ title: "變換",
33
+ width: "寬度 (px)",
34
+ height: "高度 (px)",
35
35
  x: "X (px)",
36
36
  y: "Y (px)",
37
- rotate: "Rotate (°)"
37
+ rotate: "旋轉 (°)"
38
38
  }
39
39
  },
40
- panel: { fill: { title: "Fill Color" } }
40
+ panel: { fill: { title: "填色" } }
41
41
  } };
42
42
 
43
43
  //#endregion
@@ -1,43 +1,43 @@
1
1
  //#region src/locale/zh-TW.ts
2
2
  const locale = { "slides-ui": {
3
- append: "Append Slide",
4
- text: { insert: { title: "Insert Text" } },
3
+ append: "新增幻灯片",
4
+ text: { insert: { title: "插入文字" } },
5
5
  shape: { insert: {
6
- title: "Insert Shape",
7
- rectangle: "Insert Rectangle",
8
- ellipse: "Insert Ellipse"
6
+ title: "插入圖形",
7
+ rectangle: "插入矩形",
8
+ ellipse: "插入橢圓"
9
9
  } },
10
10
  image: { insert: {
11
- title: "Insert Image",
12
- float: "Insert Float Image"
11
+ title: "插入圖片",
12
+ float: "插入浮動圖片"
13
13
  } },
14
14
  popup: {
15
- edit: "Edit",
16
- delete: "Delete"
15
+ edit: "編輯",
16
+ delete: "刪除"
17
17
  },
18
18
  sidebar: {
19
- text: "Edit Text",
20
- shape: "Edit Shape",
21
- image: "Edit Image"
19
+ text: "編輯文字",
20
+ shape: "編輯圖形",
21
+ image: "編輯圖片"
22
22
  },
23
23
  "image-panel": {
24
24
  arrange: {
25
- title: "Arrange",
26
- forward: "Bring Forward",
27
- backward: "Send Backward",
28
- front: "Bring to Front",
29
- back: "Send to Back"
25
+ title: "排列",
26
+ forward: "上移一層",
27
+ backward: "下移一層",
28
+ front: "至頂",
29
+ back: "至底"
30
30
  },
31
31
  transform: {
32
- title: "Transform",
33
- width: "Width (px)",
34
- height: "Height (px)",
32
+ title: "變換",
33
+ width: "寬度 (px)",
34
+ height: "高度 (px)",
35
35
  x: "X (px)",
36
36
  y: "Y (px)",
37
- rotate: "Rotate (°)"
37
+ rotate: "旋轉 (°)"
38
38
  }
39
39
  },
40
- panel: { fill: { title: "Fill Color" } }
40
+ panel: { fill: { title: "填色" } }
41
41
  } };
42
42
 
43
43
  //#endregion