Feature/expanded minimap (#4902)

* [feat] Add formatKeySequence function to format keybindings for commands

* [feat] Add lock and unlock canvas commands with keybindings and update localization

* feat: Implement canvas scale synchronization and zoom level adjustment

* feat: Enhance GraphCanvasMenu with zoom controls and improved button functionality

* feat: Refactor MiniMap component layout and remove unused bottomPanelStore

* feat: Update zoom control shortcuts to use formatted key sequences

* feat: Add tests for ZoomControlsModal and enhance GraphCanvasMenu tests

* Update locales [skip ci]

* Fix browser tests

* ui: align minimap properly

* Update locales [skip ci]

* feat: focus zoom input when zoom modal loads

* style: improve styling of zoom controls and add focus effect

* fix styling and tests

* styling: add divider to graph canvas menu

* styling: position minimap properly

* styling: add close button for minimap

* styling: add horizontal divider to minimap

* styling: update minimap toggle button text and remove old styles

* Update locales [skip ci]

* Update locales [skip ci]

* feat: disable canvas menu in viewport settings after zoom adjustments

* Update test expectations [skip ci]

* fix: update canvas read-only property access to use state object

* Update locales [skip ci]

* fix: adjust button group and minimap positioning

* feat: enhance zoom controls and adjust minimap positioning per PR comments

* feat: implement zoom controls composable

* feat: add timeout delays for headless tests

* fix: update zoom input validation range in applyZoom function

* [refactor] Update positioning and styles for GraphCanvasMenu, MiniMap, and ZoomControlsModal components

* [refactor] Adjust z-index and positioning for GraphCanvasMenu, MiniMap, and ZoomControlsModal components

* [style] Adjust margin for minimap button styles in GraphCanvasMenu component

* [refactor] minimap should show on focus mode

* [refactor] Update LiteGraphCanvasSplitterOverlay to conditionally render side and bottom panels based on focus mode

* [style] Adjust right positioning for MiniMap and ZoomControlsModal components

* [style] Adjust right positioning for MiniMap and ZoomControlsModal components

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Christian Byrne <cbyrne@comfy.org>
This commit is contained in:
Johnpaul Chiwetelu
2025-08-21 19:16:29 +01:00
committed by GitHub
parent 23b3914714
commit 84379d9522
37 changed files with 1062 additions and 147 deletions

View File

@@ -47,6 +47,9 @@
"Comfy_Canvas_FitView": {
"label": "تعديل العرض ليناسب العقد المحددة"
},
"Comfy_Canvas_Lock": {
"label": "قفل اللوحة"
},
"Comfy_Canvas_MoveSelectedNodes_Down": {
"label": "تحريك العقد المحددة للأسفل"
},
@@ -89,6 +92,9 @@
"Comfy_Canvas_ToggleSelected_Pin": {
"label": "تثبيت/إلغاء تثبيت العناصر المحددة"
},
"Comfy_Canvas_Unlock": {
"label": "فتح اللوحة"
},
"Comfy_Canvas_ZoomIn": {
"label": "تكبير"
},

View File

@@ -410,12 +410,17 @@
},
"graphCanvasMenu": {
"fitView": "ملائمة العرض",
"focusMode": "وضع التركيز",
"hand": "يد",
"hideLinks": "إخفاء الروابط",
"panMode": "وضع التحريك",
"resetView": "إعادة تعيين العرض",
"select": "تحديد",
"selectMode": "وضع التحديد",
"toggleLinkVisibility": "تبديل ظهور الروابط",
"showLinks": "إظهار الروابط",
"toggleMinimap": "تبديل الخريطة المصغرة",
"zoomIn": "تكبير",
"zoomOptions": "خيارات التكبير",
"zoomOut": "تصغير"
},
"groupNode": {
@@ -801,6 +806,7 @@
"Increase Brush Size in MaskEditor": "زيادة حجم الفرشاة في محرر القناع",
"Interrupt": "إيقاف مؤقت",
"Load Default Workflow": "تحميل سير العمل الافتراضي",
"Lock Canvas": "قفل اللوحة",
"Manage group nodes": "إدارة عقد المجموعة",
"Manager": "المدير",
"Minimap": "خريطة مصغرة",
@@ -855,6 +861,7 @@
"Toggle the Custom Nodes Manager Progress Bar": "تبديل شريط تقدم مدير العقد المخصصة",
"Undo": "تراجع",
"Ungroup selected group nodes": "فك تجميع عقد المجموعة المحددة",
"Unlock Canvas": "فتح قفل اللوحة",
"Unpack the selected Subgraph": "فك تجميع الرسم البياني الفرعي المحدد",
"Workflows": "سير العمل",
"Zoom In": "تكبير",
@@ -1694,5 +1701,11 @@
"enterFilename": "أدخل اسم الملف",
"exportWorkflow": "تصدير سير العمل",
"saveWorkflow": "حفظ سير العمل"
},
"zoomControls": {
"hideMinimap": "إخفاء الخريطة المصغرة",
"label": "عناصر التحكم في التكبير",
"showMinimap": "إظهار الخريطة المصغرة",
"zoomToFit": "تكبير لتناسب الشاشة"
}
}

View File

@@ -47,6 +47,9 @@
"Comfy_Canvas_FitView": {
"label": "Fit view to selected nodes"
},
"Comfy_Canvas_Lock": {
"label": "Lock Canvas"
},
"Comfy_Canvas_MoveSelectedNodes_Down": {
"label": "Move Selected Nodes Down"
},
@@ -89,6 +92,9 @@
"Comfy_Canvas_ToggleSelectedNodes_Pin": {
"label": "Pin/Unpin Selected Nodes"
},
"Comfy_Canvas_Unlock": {
"label": "Unlock Canvas"
},
"Comfy_Canvas_ZoomIn": {
"label": "Zoom In"
},

View File

@@ -894,8 +894,19 @@
"fitView": "Fit View",
"selectMode": "Select Mode",
"panMode": "Pan Mode",
"toggleLinkVisibility": "Toggle Link Visibility",
"toggleMinimap": "Toggle Minimap"
"toggleMinimap": "Toggle Minimap",
"select": "Select",
"hand": "Hand",
"zoomOptions": "Zoom Options",
"focusMode": "Focus Mode",
"hideLinks": "Hide Links",
"showLinks": "Show Links"
},
"zoomControls": {
"label": "Zoom Controls",
"zoomToFit": "Zoom To Fit",
"showMinimap": "Show Minimap",
"hideMinimap": "Hide Minimap"
},
"groupNode": {
"create": "Create group node",
@@ -963,6 +974,7 @@
"Browse Templates": "Browse Templates",
"Delete Selected Items": "Delete Selected Items",
"Zoom to fit": "Zoom to fit",
"Lock Canvas": "Lock Canvas",
"Move Selected Nodes Down": "Move Selected Nodes Down",
"Move Selected Nodes Left": "Move Selected Nodes Left",
"Move Selected Nodes Right": "Move Selected Nodes Right",
@@ -977,6 +989,7 @@
"Collapse/Expand Selected Nodes": "Collapse/Expand Selected Nodes",
"Mute/Unmute Selected Nodes": "Mute/Unmute Selected Nodes",
"Pin/Unpin Selected Nodes": "Pin/Unpin Selected Nodes",
"Unlock Canvas": "Unlock Canvas",
"Zoom In": "Zoom In",
"Zoom Out": "Zoom Out",
"Clear Pending Tasks": "Clear Pending Tasks",

View File

@@ -47,6 +47,9 @@
"Comfy_Canvas_FitView": {
"label": "Ajustar vista a los nodos seleccionados"
},
"Comfy_Canvas_Lock": {
"label": "Bloquear lienzo"
},
"Comfy_Canvas_MoveSelectedNodes_Down": {
"label": "Mover nodos seleccionados hacia abajo"
},
@@ -89,6 +92,9 @@
"Comfy_Canvas_ToggleSelected_Pin": {
"label": "Anclar/Desanclar elementos seleccionados"
},
"Comfy_Canvas_Unlock": {
"label": "Desbloquear lienzo"
},
"Comfy_Canvas_ZoomIn": {
"label": "Acercar"
},

View File

@@ -410,12 +410,17 @@
},
"graphCanvasMenu": {
"fitView": "Ajustar vista",
"focusMode": "Modo de enfoque",
"hand": "Mano",
"hideLinks": "Ocultar enlaces",
"panMode": "Modo de desplazamiento",
"resetView": "Restablecer vista",
"select": "Seleccionar",
"selectMode": "Modo de selección",
"toggleLinkVisibility": "Alternar visibilidad de enlace",
"showLinks": "Mostrar enlaces",
"toggleMinimap": "Alternar minimapa",
"zoomIn": "Acercar",
"zoomOptions": "Opciones de zoom",
"zoomOut": "Alejar"
},
"groupNode": {
@@ -801,6 +806,7 @@
"Increase Brush Size in MaskEditor": "Aumentar tamaño del pincel en MaskEditor",
"Interrupt": "Interrumpir",
"Load Default Workflow": "Cargar flujo de trabajo predeterminado",
"Lock Canvas": "Bloquear lienzo",
"Manage group nodes": "Gestionar nodos de grupo",
"Manager": "Administrador",
"Minimap": "Minimapa",
@@ -855,6 +861,7 @@
"Toggle the Custom Nodes Manager Progress Bar": "Alternar la Barra de Progreso del Administrador de Nodos Personalizados",
"Undo": "Deshacer",
"Ungroup selected group nodes": "Desagrupar nodos de grupo seleccionados",
"Unlock Canvas": "Desbloquear lienzo",
"Unpack the selected Subgraph": "Desempaquetar el Subgrafo seleccionado",
"Workflows": "Flujos de trabajo",
"Zoom In": "Acercar",
@@ -1694,5 +1701,11 @@
"enterFilename": "Introduzca el nombre del archivo",
"exportWorkflow": "Exportar flujo de trabajo",
"saveWorkflow": "Guardar flujo de trabajo"
},
"zoomControls": {
"hideMinimap": "Ocultar minimapa",
"label": "Controles de zoom",
"showMinimap": "Mostrar minimapa",
"zoomToFit": "Ajustar al zoom"
}
}

View File

@@ -47,6 +47,9 @@
"Comfy_Canvas_FitView": {
"label": "Ajuster la vue aux nœuds sélectionnés"
},
"Comfy_Canvas_Lock": {
"label": "Verrouiller la toile"
},
"Comfy_Canvas_MoveSelectedNodes_Down": {
"label": "Déplacer les nœuds sélectionnés vers le bas"
},
@@ -89,6 +92,9 @@
"Comfy_Canvas_ToggleSelected_Pin": {
"label": "Épingler/Désépingler les éléments sélectionnés"
},
"Comfy_Canvas_Unlock": {
"label": "Déverrouiller le Canvas"
},
"Comfy_Canvas_ZoomIn": {
"label": "Zoom avant"
},

View File

@@ -410,12 +410,17 @@
},
"graphCanvasMenu": {
"fitView": "Adapter la vue",
"focusMode": "Mode focus",
"hand": "Main",
"hideLinks": "Masquer les liens",
"panMode": "Mode panoramique",
"resetView": "Réinitialiser la vue",
"select": "Sélectionner",
"selectMode": "Mode sélection",
"toggleLinkVisibility": "Basculer la visibilité des liens",
"showLinks": "Afficher les liens",
"toggleMinimap": "Afficher/Masquer la mini-carte",
"zoomIn": "Zoom avant",
"zoomOptions": "Options de zoom",
"zoomOut": "Zoom arrière"
},
"groupNode": {
@@ -801,6 +806,7 @@
"Increase Brush Size in MaskEditor": "Augmenter la taille du pinceau dans MaskEditor",
"Interrupt": "Interrompre",
"Load Default Workflow": "Charger le flux de travail par défaut",
"Lock Canvas": "Verrouiller le canevas",
"Manage group nodes": "Gérer les nœuds de groupe",
"Manager": "Gestionnaire",
"Minimap": "Minicarte",
@@ -855,6 +861,7 @@
"Toggle the Custom Nodes Manager Progress Bar": "Basculer la barre de progression du gestionnaire de nœuds personnalisés",
"Undo": "Annuler",
"Ungroup selected group nodes": "Dégrouper les nœuds de groupe sélectionnés",
"Unlock Canvas": "Déverrouiller le canevas",
"Unpack the selected Subgraph": "Décompresser le Subgraph sélectionné",
"Workflows": "Flux de travail",
"Zoom In": "Zoom avant",
@@ -1694,5 +1701,11 @@
"enterFilename": "Entrez le nom du fichier",
"exportWorkflow": "Exporter le flux de travail",
"saveWorkflow": "Enregistrer le flux de travail"
},
"zoomControls": {
"hideMinimap": "Masquer la mini-carte",
"label": "Contrôles de zoom",
"showMinimap": "Afficher la mini-carte",
"zoomToFit": "Ajuster à lécran"
}
}

View File

@@ -47,6 +47,9 @@
"Comfy_Canvas_FitView": {
"label": "選択したノードにビューを合わせる"
},
"Comfy_Canvas_Lock": {
"label": "キャンバスをロック"
},
"Comfy_Canvas_MoveSelectedNodes_Down": {
"label": "選択したノードを下に移動"
},
@@ -89,6 +92,9 @@
"Comfy_Canvas_ToggleSelected_Pin": {
"label": "選択したアイテムのピン留め/ピン留め解除"
},
"Comfy_Canvas_Unlock": {
"label": "キャンバスをロック解除"
},
"Comfy_Canvas_ZoomIn": {
"label": "ズームイン"
},

View File

@@ -410,12 +410,17 @@
},
"graphCanvasMenu": {
"fitView": "ビューに合わせる",
"focusMode": "フォーカスモード",
"hand": "手のひら",
"hideLinks": "リンクを非表示",
"panMode": "パンモード",
"resetView": "ビューをリセット",
"select": "選択",
"selectMode": "選択モード",
"toggleLinkVisibility": "リンク表示切り替え",
"showLinks": "リンク表示",
"toggleMinimap": "ミニマップの切り替え",
"zoomIn": "拡大",
"zoomOptions": "ズームオプション",
"zoomOut": "縮小"
},
"groupNode": {
@@ -801,6 +806,7 @@
"Increase Brush Size in MaskEditor": "マスクエディタでブラシサイズを大きくする",
"Interrupt": "中断",
"Load Default Workflow": "デフォルトワークフローを読み込む",
"Lock Canvas": "キャンバスをロック",
"Manage group nodes": "グループノードを管理",
"Manager": "マネージャー",
"Minimap": "ミニマップ",
@@ -855,6 +861,7 @@
"Toggle the Custom Nodes Manager Progress Bar": "カスタムノードマネージャーの進行状況バーを切り替え",
"Undo": "元に戻す",
"Ungroup selected group nodes": "選択したグループノードのグループ解除",
"Unlock Canvas": "キャンバスのロックを解除",
"Unpack the selected Subgraph": "選択したサブグラフを展開",
"Workflows": "ワークフロー",
"Zoom In": "ズームイン",
@@ -1694,5 +1701,11 @@
"enterFilename": "ファイル名を入力",
"exportWorkflow": "ワークフローをエクスポート",
"saveWorkflow": "ワークフローを保存"
},
"zoomControls": {
"hideMinimap": "ミニマップを非表示",
"label": "ズームコントロール",
"showMinimap": "ミニマップを表示",
"zoomToFit": "全体表示にズーム"
}
}

View File

@@ -47,6 +47,9 @@
"Comfy_Canvas_FitView": {
"label": "선택한 노드에 뷰 맞추기"
},
"Comfy_Canvas_Lock": {
"label": "캔버스 잠금"
},
"Comfy_Canvas_MoveSelectedNodes_Down": {
"label": "선택한 노드 아래로 이동"
},
@@ -89,6 +92,9 @@
"Comfy_Canvas_ToggleSelected_Pin": {
"label": "선택한 항목 고정/고정 해제"
},
"Comfy_Canvas_Unlock": {
"label": "캔버스 잠금 해제"
},
"Comfy_Canvas_ZoomIn": {
"label": "확대"
},

View File

@@ -410,12 +410,17 @@
},
"graphCanvasMenu": {
"fitView": "보기 맞춤",
"focusMode": "포커스 모드",
"hand": "손 도구",
"hideLinks": "링크 숨기기",
"panMode": "팬 모드",
"resetView": "보기 재설정",
"select": "선택",
"selectMode": "선택 모드",
"toggleLinkVisibility": "링크 가시성 전환",
"showLinks": "링크 표시",
"toggleMinimap": "미니맵 전환",
"zoomIn": "확대",
"zoomOptions": "확대/축소 옵션",
"zoomOut": "축소"
},
"groupNode": {
@@ -801,6 +806,7 @@
"Increase Brush Size in MaskEditor": "마스크 편집기에서 브러시 크기 늘리기",
"Interrupt": "중단",
"Load Default Workflow": "기본 워크플로 불러오기",
"Lock Canvas": "캔버스 잠금",
"Manage group nodes": "그룹 노드 관리",
"Manager": "매니저",
"Minimap": "미니맵",
@@ -855,6 +861,7 @@
"Toggle the Custom Nodes Manager Progress Bar": "커스텀 노드 매니저 진행률 표시줄 전환",
"Undo": "실행 취소",
"Ungroup selected group nodes": "선택한 그룹 노드 그룹 해제",
"Unlock Canvas": "캔버스 잠금 해제",
"Unpack the selected Subgraph": "선택한 서브그래프 풀기",
"Workflows": "워크플로우",
"Zoom In": "확대",
@@ -1694,5 +1701,11 @@
"enterFilename": "파일 이름 입력",
"exportWorkflow": "워크플로 내보내기",
"saveWorkflow": "워크플로 저장"
},
"zoomControls": {
"hideMinimap": "미니맵 숨기기",
"label": "확대/축소 컨트롤",
"showMinimap": "미니맵 표시",
"zoomToFit": "화면에 맞게 확대"
}
}

View File

@@ -47,6 +47,9 @@
"Comfy_Canvas_FitView": {
"label": "Подогнать вид к выбранным нодам"
},
"Comfy_Canvas_Lock": {
"label": "Заблокировать холст"
},
"Comfy_Canvas_MoveSelectedNodes_Down": {
"label": "Переместить выбранные узлы вниз"
},
@@ -89,6 +92,9 @@
"Comfy_Canvas_ToggleSelected_Pin": {
"label": "Закрепить/Открепить выбранных нод"
},
"Comfy_Canvas_Unlock": {
"label": "Разблокировать Canvas"
},
"Comfy_Canvas_ZoomIn": {
"label": "Увеличить"
},

View File

@@ -410,12 +410,17 @@
},
"graphCanvasMenu": {
"fitView": "Подгонять под выделенные",
"focusMode": "Режим фокуса",
"hand": "Рука",
"hideLinks": "Скрыть связи",
"panMode": "Режим панорамирования",
"resetView": "Сбросить вид",
"select": "Выбрать",
"selectMode": "Выбрать режим",
"toggleLinkVisibility": "Переключить видимость ссылок",
"showLinks": "Показать связи",
"toggleMinimap": "Показать/скрыть миникарту",
"zoomIn": "Увеличить",
"zoomOptions": "Параметры масштабирования",
"zoomOut": "Уменьшить"
},
"groupNode": {
@@ -801,6 +806,7 @@
"Increase Brush Size in MaskEditor": "Увеличить размер кисти в MaskEditor",
"Interrupt": "Прервать",
"Load Default Workflow": "Загрузить стандартный рабочий процесс",
"Lock Canvas": "Заблокировать холст",
"Manage group nodes": "Управление групповыми нодами",
"Manager": "Менеджер",
"Minimap": "Мини-карта",
@@ -855,6 +861,7 @@
"Toggle the Custom Nodes Manager Progress Bar": "Переключить индикатор выполнения менеджера пользовательских узлов",
"Undo": "Отменить",
"Ungroup selected group nodes": "Разгруппировать выбранные групповые ноды",
"Unlock Canvas": "Разблокировать холст",
"Unpack the selected Subgraph": "Распаковать выбранный подграф",
"Workflows": "Рабочие процессы",
"Zoom In": "Увеличить",
@@ -1694,5 +1701,11 @@
"enterFilename": "Введите название файла",
"exportWorkflow": "Экспорт рабочего процесса",
"saveWorkflow": "Сохранить рабочий процесс"
},
"zoomControls": {
"hideMinimap": "Скрыть миникарту",
"label": "Элементы управления масштабом",
"showMinimap": "Показать миникарту",
"zoomToFit": "Масштабировать по размеру"
}
}

View File

@@ -47,6 +47,9 @@
"Comfy_Canvas_FitView": {
"label": "將視圖適應至所選節點"
},
"Comfy_Canvas_Lock": {
"label": "鎖定畫布"
},
"Comfy_Canvas_MoveSelectedNodes_Down": {
"label": "將選取的節點下移"
},
@@ -89,6 +92,9 @@
"Comfy_Canvas_ToggleSelected_Pin": {
"label": "釘選/取消釘選已選項目"
},
"Comfy_Canvas_Unlock": {
"label": "解鎖畫布"
},
"Comfy_Canvas_ZoomIn": {
"label": "放大"
},

View File

@@ -410,12 +410,17 @@
},
"graphCanvasMenu": {
"fitView": "適合視窗",
"focusMode": "專注模式",
"hand": "拖曳",
"hideLinks": "隱藏連結",
"panMode": "平移模式",
"resetView": "重設視圖",
"select": "選取",
"selectMode": "選取模式",
"toggleLinkVisibility": "切換連結顯示",
"showLinks": "顯示連結",
"toggleMinimap": "切換小地圖",
"zoomIn": "放大",
"zoomOptions": "縮放選項",
"zoomOut": "縮小"
},
"groupNode": {
@@ -801,6 +806,7 @@
"Increase Brush Size in MaskEditor": "在 MaskEditor 中增大筆刷大小",
"Interrupt": "中斷",
"Load Default Workflow": "載入預設工作流程",
"Lock Canvas": "鎖定畫布",
"Manage group nodes": "管理群組節點",
"Manager": "管理員",
"Minimap": "縮圖地圖",
@@ -855,6 +861,7 @@
"Toggle the Custom Nodes Manager Progress Bar": "切換自訂節點管理器進度條",
"Undo": "復原",
"Ungroup selected group nodes": "取消群組選取的群組節點",
"Unlock Canvas": "解除鎖定畫布",
"Unpack the selected Subgraph": "解包所選子圖",
"Workflows": "工作流程",
"Zoom In": "放大",
@@ -1694,5 +1701,11 @@
"enterFilename": "輸入檔案名稱",
"exportWorkflow": "匯出工作流程",
"saveWorkflow": "儲存工作流程"
},
"zoomControls": {
"hideMinimap": "隱藏小地圖",
"label": "縮放控制",
"showMinimap": "顯示小地圖",
"zoomToFit": "縮放至適合大小"
}
}

View File

@@ -47,6 +47,9 @@
"Comfy_Canvas_FitView": {
"label": "适应视图到选中节点"
},
"Comfy_Canvas_Lock": {
"label": "鎖定畫布"
},
"Comfy_Canvas_MoveSelectedNodes_Down": {
"label": "下移选中的节点"
},
@@ -89,6 +92,9 @@
"Comfy_Canvas_ToggleSelected_Pin": {
"label": "固定/取消固定选中项"
},
"Comfy_Canvas_Unlock": {
"label": "解鎖畫布"
},
"Comfy_Canvas_ZoomIn": {
"label": "放大"
},

View File

@@ -410,12 +410,17 @@
},
"graphCanvasMenu": {
"fitView": "适应视图",
"focusMode": "專注模式",
"hand": "拖曳",
"hideLinks": "隱藏連結",
"panMode": "平移模式",
"resetView": "重置视图",
"select": "選取",
"selectMode": "选择模式",
"toggleLinkVisibility": "切换连线可见性",
"showLinks": "顯示連結",
"toggleMinimap": "切换小地图",
"zoomIn": "放大",
"zoomOptions": "縮放選項",
"zoomOut": "缩小"
},
"groupNode": {
@@ -801,6 +806,7 @@
"Increase Brush Size in MaskEditor": "在 MaskEditor 中增大笔刷大小",
"Interrupt": "中断",
"Load Default Workflow": "加载默认工作流",
"Lock Canvas": "鎖定畫布",
"Manage group nodes": "管理组节点",
"Manager": "管理器",
"Minimap": "小地图",
@@ -855,6 +861,7 @@
"Toggle the Custom Nodes Manager Progress Bar": "切换自定义节点管理器进度条",
"Undo": "撤销",
"Ungroup selected group nodes": "解散选中组节点",
"Unlock Canvas": "解除鎖定畫布",
"Unpack the selected Subgraph": "解包选中子图",
"Workflows": "工作流",
"Zoom In": "放大画面",
@@ -1694,5 +1701,11 @@
"enterFilename": "输入文件名",
"exportWorkflow": "导出工作流",
"saveWorkflow": "保存工作流"
},
"zoomControls": {
"hideMinimap": "隱藏小地圖",
"label": "縮放控制",
"showMinimap": "顯示小地圖",
"zoomToFit": "適合畫面"
}
}