Refactor app menu items (#4665)

* Restructures the application menu
- rename Workflow to File
- move new & template items to top level
- add View menu and related sub items

Commands
- add "active" state getter shown as checkmark in the menu

Node side panel
- add refresh node defs
- change reset view icon

Help center
- change to use store for visibility

Fixes
- Fix bug with mouse down where if you drag mouse out, mouse up wasn't caught
- Fix issue with canvas info setting not triggering a redraw on change

* Fix missing translation warnings

* Add separator under new

* tidy

* Update locales [skip ci]

* fix some tests

* fix

* Hide icon if there is an active state within the menu item group

* Update locales [skip ci]

* Fix tests

* Implement feedback
- Remove queue, node lib, model lib, workflows, manager, help center
- Add minimap, link visibility

* Update locales [skip ci]

* Add plus icon on "New" menu item

* Update locales [skip ci]

* Fix test

* Fix translations

* Update locales [skip ci]

* Update locales [skip ci]

---------

Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
pythongosssss
2025-08-14 22:53:46 +01:00
committed by GitHub
parent 1e41c6dc45
commit 4ca6220adf
35 changed files with 451 additions and 139 deletions

View File

@@ -50,7 +50,7 @@ export class Topbar {
workflowName: string, workflowName: string,
command: 'Save' | 'Save As' | 'Export' command: 'Save' | 'Save As' | 'Export'
) { ) {
await this.triggerTopbarCommand(['Workflow', command]) await this.triggerTopbarCommand(['File', command])
await this.getSaveDialog().fill(workflowName) await this.getSaveDialog().fill(workflowName)
await this.page.keyboard.press('Enter') await this.page.keyboard.press('Enter')
@@ -72,8 +72,8 @@ export class Topbar {
} }
async triggerTopbarCommand(path: string[]) { async triggerTopbarCommand(path: string[]) {
if (path.length < 2) { if (path.length < 1) {
throw new Error('Path is too short') throw new Error('Path cannot be empty')
} }
const menu = await this.openTopbarMenu() const menu = await this.openTopbarMenu()
@@ -85,6 +85,13 @@ export class Topbar {
.locator('.p-tieredmenu-item') .locator('.p-tieredmenu-item')
.filter({ has: topLevelMenuItem }) .filter({ has: topLevelMenuItem })
await topLevelMenu.waitFor({ state: 'visible' }) await topLevelMenu.waitFor({ state: 'visible' })
// Handle top-level commands (like "New")
if (path.length === 1) {
await topLevelMenuItem.click()
return
}
await topLevelMenu.hover() await topLevelMenu.hover()
let currentMenu = topLevelMenu let currentMenu = topLevelMenu

View File

@@ -268,10 +268,7 @@ test.describe('Group Node', () => {
await comfyPage.setSetting('Comfy.ConfirmClear', false) await comfyPage.setSetting('Comfy.ConfirmClear', false)
// Clear workflow // Clear workflow
await comfyPage.menu.topbar.triggerTopbarCommand([ await comfyPage.executeCommand('Comfy.ClearWorkflow')
'Edit',
'Clear Workflow'
])
await comfyPage.ctrlV() await comfyPage.ctrlV()
await verifyNodeLoaded(comfyPage, 1) await verifyNodeLoaded(comfyPage, 1)
@@ -280,7 +277,7 @@ test.describe('Group Node', () => {
test('Copies and pastes group node into a newly created blank workflow', async ({ test('Copies and pastes group node into a newly created blank workflow', async ({
comfyPage comfyPage
}) => { }) => {
await comfyPage.menu.topbar.triggerTopbarCommand(['Workflow', 'New']) await comfyPage.menu.topbar.triggerTopbarCommand(['New'])
await comfyPage.ctrlV() await comfyPage.ctrlV()
await verifyNodeLoaded(comfyPage, 1) await verifyNodeLoaded(comfyPage, 1)
}) })
@@ -296,7 +293,7 @@ test.describe('Group Node', () => {
test('Serializes group node after copy and paste across workflows', async ({ test('Serializes group node after copy and paste across workflows', async ({
comfyPage comfyPage
}) => { }) => {
await comfyPage.menu.topbar.triggerTopbarCommand(['Workflow', 'New']) await comfyPage.menu.topbar.triggerTopbarCommand(['New'])
await comfyPage.ctrlV() await comfyPage.ctrlV()
const currentGraphState = await comfyPage.page.evaluate(() => const currentGraphState = await comfyPage.page.evaluate(() =>
window['app'].graph.serialize() window['app'].graph.serialize()

View File

@@ -684,7 +684,7 @@ test.describe('Load workflow', () => {
workflowA = generateUniqueFilename() workflowA = generateUniqueFilename()
await comfyPage.menu.topbar.saveWorkflow(workflowA) await comfyPage.menu.topbar.saveWorkflow(workflowA)
workflowB = generateUniqueFilename() workflowB = generateUniqueFilename()
await comfyPage.menu.topbar.triggerTopbarCommand(['Workflow', 'New']) await comfyPage.menu.topbar.triggerTopbarCommand(['New'])
await comfyPage.menu.topbar.saveWorkflow(workflowB) await comfyPage.menu.topbar.saveWorkflow(workflowB)
// Wait for localStorage to persist the workflow paths before reloading // Wait for localStorage to persist the workflow paths before reloading

View File

@@ -75,7 +75,7 @@ test.describe('Menu', () => {
test('Displays keybinding next to item', async ({ comfyPage }) => { test('Displays keybinding next to item', async ({ comfyPage }) => {
await comfyPage.menu.topbar.openTopbarMenu() await comfyPage.menu.topbar.openTopbarMenu()
const workflowMenuItem = comfyPage.menu.topbar.getMenuItem('Workflow') const workflowMenuItem = comfyPage.menu.topbar.getMenuItem('File')
await workflowMenuItem.hover() await workflowMenuItem.hover()
const exportTag = comfyPage.page.locator('.keybinding-tag', { const exportTag = comfyPage.page.locator('.keybinding-tag', {
hasText: 'Ctrl + s' hasText: 'Ctrl + s'

View File

@@ -18,7 +18,7 @@ test.describe('Reroute Node', () => {
[workflowName]: workflowName [workflowName]: workflowName
}) })
await comfyPage.setup() await comfyPage.setup()
await comfyPage.menu.topbar.triggerTopbarCommand(['Workflow', 'New']) await comfyPage.menu.topbar.triggerTopbarCommand(['New'])
// Insert the workflow // Insert the workflow
const workflowsTab = comfyPage.menu.workflowsTab const workflowsTab = comfyPage.menu.workflowsTab

View File

@@ -63,7 +63,7 @@ test.describe('Workflow Tab Thumbnails', () => {
test('Should show thumbnail when hovering over a non-active tab', async ({ test('Should show thumbnail when hovering over a non-active tab', async ({
comfyPage comfyPage
}) => { }) => {
await comfyPage.menu.topbar.triggerTopbarCommand(['Workflow', 'New']) await comfyPage.menu.topbar.triggerTopbarCommand(['New'])
const thumbnailImg = await getTabThumbnailImage( const thumbnailImg = await getTabThumbnailImage(
comfyPage, comfyPage,
0, 0,
@@ -73,7 +73,7 @@ test.describe('Workflow Tab Thumbnails', () => {
}) })
test('Should not show thumbnail for active tab', async ({ comfyPage }) => { test('Should not show thumbnail for active tab', async ({ comfyPage }) => {
await comfyPage.menu.topbar.triggerTopbarCommand(['Workflow', 'New']) await comfyPage.menu.topbar.triggerTopbarCommand(['New'])
const thumbnailImg = await getTabThumbnailImage( const thumbnailImg = await getTabThumbnailImage(
comfyPage, comfyPage,
1, 1,
@@ -105,7 +105,7 @@ test.describe('Workflow Tab Thumbnails', () => {
await comfyPage.nextFrame() await comfyPage.nextFrame()
// Create a new workflow (tab 1) which will be empty // Create a new workflow (tab 1) which will be empty
await comfyPage.menu.topbar.triggerTopbarCommand(['Workflow', 'New']) await comfyPage.menu.topbar.triggerTopbarCommand(['New'])
await comfyPage.nextFrame() await comfyPage.nextFrame()
// Now we have two tabs: tab 0 (default workflow with nodes) and tab 1 (empty) // Now we have two tabs: tab 0 (default workflow with nodes) and tab 1 (empty)

View File

@@ -58,11 +58,12 @@
<script setup lang="ts"> <script setup lang="ts">
import { storeToRefs } from 'pinia' import { storeToRefs } from 'pinia'
import { computed, onMounted, ref } from 'vue' import { computed, onMounted } from 'vue'
import HelpCenterMenuContent from '@/components/helpcenter/HelpCenterMenuContent.vue' import HelpCenterMenuContent from '@/components/helpcenter/HelpCenterMenuContent.vue'
import ReleaseNotificationToast from '@/components/helpcenter/ReleaseNotificationToast.vue' import ReleaseNotificationToast from '@/components/helpcenter/ReleaseNotificationToast.vue'
import WhatsNewPopup from '@/components/helpcenter/WhatsNewPopup.vue' import WhatsNewPopup from '@/components/helpcenter/WhatsNewPopup.vue'
import { useHelpCenterStore } from '@/stores/helpCenterStore'
import { useReleaseStore } from '@/stores/releaseStore' import { useReleaseStore } from '@/stores/releaseStore'
import { useSettingStore } from '@/stores/settingStore' import { useSettingStore } from '@/stores/settingStore'
@@ -70,8 +71,9 @@ import SidebarIcon from './SidebarIcon.vue'
const settingStore = useSettingStore() const settingStore = useSettingStore()
const releaseStore = useReleaseStore() const releaseStore = useReleaseStore()
const helpCenterStore = useHelpCenterStore()
const { shouldShowRedDot } = storeToRefs(releaseStore) const { shouldShowRedDot } = storeToRefs(releaseStore)
const isHelpCenterVisible = ref(false) const { isVisible: isHelpCenterVisible } = storeToRefs(helpCenterStore)
const sidebarLocation = computed(() => const sidebarLocation = computed(() =>
settingStore.get('Comfy.Sidebar.Location') settingStore.get('Comfy.Sidebar.Location')
@@ -80,11 +82,11 @@ const sidebarLocation = computed(() =>
const sidebarSize = computed(() => settingStore.get('Comfy.Sidebar.Size')) const sidebarSize = computed(() => settingStore.get('Comfy.Sidebar.Size'))
const toggleHelpCenter = () => { const toggleHelpCenter = () => {
isHelpCenterVisible.value = !isHelpCenterVisible.value helpCenterStore.toggle()
} }
const closeHelpCenter = () => { const closeHelpCenter = () => {
isHelpCenterVisible.value = false helpCenterStore.hide()
} }
// Initialize release store on mount // Initialize release store on mount
@@ -130,6 +132,7 @@ onMounted(async () => {
opacity: 0; opacity: 0;
transform: translateY(20px); transform: translateY(20px);
} }
to { to {
opacity: 1; opacity: 1;
transform: translateY(0); transform: translateY(0);

View File

@@ -30,11 +30,18 @@
/> />
<Button <Button
v-tooltip.bottom="$t('sideToolbar.nodeLibraryTab.resetView')" v-tooltip.bottom="$t('sideToolbar.nodeLibraryTab.resetView')"
icon="pi pi-refresh" icon="pi pi-filter-slash"
text text
severity="secondary" severity="secondary"
@click="resetOrganization" @click="resetOrganization"
/> />
<Button
v-tooltip.bottom="$t('menu.refresh')"
icon="pi pi-refresh"
text
severity="secondary"
@click="() => commandStore.execute('Comfy.RefreshNodeDefinitions')"
/>
<Popover ref="groupingPopover"> <Popover ref="groupingPopover">
<div class="flex flex-col gap-1 p-2"> <div class="flex flex-col gap-1 p-2">
<Button <Button
@@ -139,6 +146,7 @@ import {
DEFAULT_SORTING_ID, DEFAULT_SORTING_ID,
nodeOrganizationService nodeOrganizationService
} from '@/services/nodeOrganizationService' } from '@/services/nodeOrganizationService'
import { useCommandStore } from '@/stores/commandStore'
import { useNodeBookmarkStore } from '@/stores/nodeBookmarkStore' import { useNodeBookmarkStore } from '@/stores/nodeBookmarkStore'
import { ComfyNodeDefImpl, useNodeDefStore } from '@/stores/nodeDefStore' import { ComfyNodeDefImpl, useNodeDefStore } from '@/stores/nodeDefStore'
import { useNodeHelpStore } from '@/stores/workspace/nodeHelpStore' import { useNodeHelpStore } from '@/stores/workspace/nodeHelpStore'
@@ -155,6 +163,7 @@ import NodeBookmarkTreeExplorer from './nodeLibrary/NodeBookmarkTreeExplorer.vue
const nodeDefStore = useNodeDefStore() const nodeDefStore = useNodeDefStore()
const nodeBookmarkStore = useNodeBookmarkStore() const nodeBookmarkStore = useNodeBookmarkStore()
const nodeHelpStore = useNodeHelpStore() const nodeHelpStore = useNodeHelpStore()
const commandStore = useCommandStore()
const expandedKeys = ref<Record<string, boolean>>({}) const expandedKeys = ref<Record<string, boolean>>({})
const { expandNode, toggleNodeOnEvent } = useTreeExpansion(expandedKeys) const { expandNode, toggleNodeOnEvent } = useTreeExpansion(expandedKeys)

View File

@@ -55,9 +55,30 @@
v-bind="props.action" v-bind="props.action"
:href="item.url" :href="item.url"
target="_blank" target="_blank"
:class="typeof item.class === 'function' ? item.class() : item.class"
@mousedown="
isZoomCommand(item) ? handleZoomMouseDown(item, $event) : undefined
"
@click="isZoomCommand(item) ? handleZoomClick($event) : undefined"
> >
<span v-if="item.icon" class="p-menubar-item-icon" :class="item.icon" /> <i
v-if="hasActiveStateSiblings(item)"
class="p-menubar-item-icon pi pi-check text-sm"
:class="{ invisible: !item.comfyCommand?.active?.() }"
/>
<span
v-else-if="
item.icon && item.comfyCommand?.id !== 'Comfy.NewBlankWorkflow'
"
class="p-menubar-item-icon"
:class="item.icon"
/>
<span class="p-menubar-item-label text-nowrap">{{ item.label }}</span> <span class="p-menubar-item-label text-nowrap">{{ item.label }}</span>
<i
v-if="item.comfyCommand?.id === 'Comfy.NewBlankWorkflow'"
class="ml-auto"
:class="item.icon"
/>
<span <span
v-if="item?.comfyCommand?.keybinding" v-if="item?.comfyCommand?.keybinding"
class="ml-auto border border-surface rounded text-muted text-xs text-nowrap p-1 keybinding-tag" class="ml-auto border border-surface rounded text-muted text-xs text-nowrap p-1 keybinding-tag"
@@ -94,6 +115,7 @@ import { useSettingStore } from '@/stores/settingStore'
import { useColorPaletteStore } from '@/stores/workspace/colorPaletteStore' import { useColorPaletteStore } from '@/stores/workspace/colorPaletteStore'
import { showNativeSystemMenu } from '@/utils/envUtil' import { showNativeSystemMenu } from '@/utils/envUtil'
import { normalizeI18nKey } from '@/utils/formatUtil' import { normalizeI18nKey } from '@/utils/formatUtil'
import { whileMouseDown } from '@/utils/mouseDownUtil'
const colorPaletteStore = useColorPaletteStore() const colorPaletteStore = useColorPaletteStore()
const menuItemsStore = useMenuItemStore() const menuItemsStore = useMenuItemStore()
@@ -163,16 +185,22 @@ const extraMenuItems: MenuItem[] = [
}, },
{ separator: true }, { separator: true },
{ {
key: 'manage-extensions', key: 'browse-templates',
label: t('menu.manageExtensions'), label: t('menuLabels.Browse Templates'),
icon: 'mdi mdi-puzzle-outline', icon: 'pi pi-folder-open',
command: showManageExtensions command: () => commandStore.execute('Comfy.BrowseTemplates')
}, },
{ {
key: 'settings', key: 'settings',
label: t('g.settings'), label: t('g.settings'),
icon: 'mdi mdi-cog-outline', icon: 'mdi mdi-cog-outline',
command: () => showSettings() command: () => showSettings()
},
{
key: 'manage-extensions',
label: t('menu.manageExtensions'),
icon: 'mdi mdi-puzzle-outline',
command: showManageExtensions
} }
] ]
@@ -237,6 +265,36 @@ const onMenuShow = () => {
} }
}) })
} }
const isZoomCommand = (item: MenuItem) => {
return (
item.comfyCommand?.id === 'Comfy.Canvas.ZoomIn' ||
item.comfyCommand?.id === 'Comfy.Canvas.ZoomOut'
)
}
const handleZoomMouseDown = (item: MenuItem, event: MouseEvent) => {
if (item.comfyCommand) {
whileMouseDown(
event,
async () => {
await commandStore.execute(item.comfyCommand!.id)
},
50
)
}
}
const handleZoomClick = (event: MouseEvent) => {
event.preventDefault()
event.stopPropagation()
// Prevent the menu from closing for zoom commands
return false
}
const hasActiveStateSiblings = (item: MenuItem): boolean => {
return menuItemsStore.menuItemHasActiveStateChildren[item.parentPath]
}
</script> </script>
<style scoped> <style scoped>

View File

@@ -21,6 +21,7 @@ import { useWorkflowService } from '@/services/workflowService'
import type { ComfyCommand } from '@/stores/commandStore' import type { ComfyCommand } from '@/stores/commandStore'
import { useExecutionStore } from '@/stores/executionStore' import { useExecutionStore } from '@/stores/executionStore'
import { useCanvasStore, useTitleEditorStore } from '@/stores/graphStore' import { useCanvasStore, useTitleEditorStore } from '@/stores/graphStore'
import { useHelpCenterStore } from '@/stores/helpCenterStore'
import { useNodeOutputStore } from '@/stores/imagePreviewStore' import { useNodeOutputStore } from '@/stores/imagePreviewStore'
import { useQueueSettingsStore, useQueueStore } from '@/stores/queueStore' import { useQueueSettingsStore, useQueueStore } from '@/stores/queueStore'
import { useSettingStore } from '@/stores/settingStore' import { useSettingStore } from '@/stores/settingStore'
@@ -278,6 +279,7 @@ export function useCoreCommands(): ComfyCommand[] {
id: 'Comfy.Canvas.FitView', id: 'Comfy.Canvas.FitView',
icon: 'pi pi-expand', icon: 'pi pi-expand',
label: 'Fit view to selected nodes', label: 'Fit view to selected nodes',
menubarLabel: 'Zoom to fit',
category: 'view-controls' as const, category: 'view-controls' as const,
function: () => { function: () => {
if (app.canvas.empty) { if (app.canvas.empty) {
@@ -303,6 +305,7 @@ export function useCoreCommands(): ComfyCommand[] {
id: 'Comfy.Canvas.ToggleLinkVisibility', id: 'Comfy.Canvas.ToggleLinkVisibility',
icon: 'pi pi-eye', icon: 'pi pi-eye',
label: 'Canvas Toggle Link Visibility', label: 'Canvas Toggle Link Visibility',
menubarLabel: 'Node Links',
versionAdded: '1.3.6', versionAdded: '1.3.6',
function: (() => { function: (() => {
@@ -324,12 +327,15 @@ export function useCoreCommands(): ComfyCommand[] {
) )
} }
} }
})() })(),
active: () =>
useSettingStore().get('Comfy.LinkRenderMode') !== LiteGraph.HIDDEN_LINK
}, },
{ {
id: 'Comfy.Canvas.ToggleMinimap', id: 'Comfy.Canvas.ToggleMinimap',
icon: 'pi pi-map', icon: 'pi pi-map',
label: 'Canvas Toggle Minimap', label: 'Canvas Toggle Minimap',
menubarLabel: 'Minimap',
versionAdded: '1.24.1', versionAdded: '1.24.1',
function: async () => { function: async () => {
const settingStore = useSettingStore() const settingStore = useSettingStore()
@@ -337,7 +343,8 @@ export function useCoreCommands(): ComfyCommand[] {
'Comfy.Minimap.Visible', 'Comfy.Minimap.Visible',
!settingStore.get('Comfy.Minimap.Visible') !settingStore.get('Comfy.Minimap.Visible')
) )
} },
active: () => useSettingStore().get('Comfy.Minimap.Visible')
}, },
{ {
id: 'Comfy.QueuePrompt', id: 'Comfy.QueuePrompt',
@@ -541,21 +548,25 @@ export function useCoreCommands(): ComfyCommand[] {
id: 'Workspace.ToggleBottomPanel', id: 'Workspace.ToggleBottomPanel',
icon: 'pi pi-list', icon: 'pi pi-list',
label: 'Toggle Bottom Panel', label: 'Toggle Bottom Panel',
menubarLabel: 'Bottom Panel',
versionAdded: '1.3.22', versionAdded: '1.3.22',
category: 'view-controls' as const, category: 'view-controls' as const,
function: () => { function: () => {
bottomPanelStore.toggleBottomPanel() bottomPanelStore.toggleBottomPanel()
} },
active: () => bottomPanelStore.bottomPanelVisible
}, },
{ {
id: 'Workspace.ToggleFocusMode', id: 'Workspace.ToggleFocusMode',
icon: 'pi pi-eye', icon: 'pi pi-eye',
label: 'Toggle Focus Mode', label: 'Toggle Focus Mode',
menubarLabel: 'Focus Mode',
versionAdded: '1.3.27', versionAdded: '1.3.27',
category: 'view-controls' as const, category: 'view-controls' as const,
function: () => { function: () => {
useWorkspaceStore().toggleFocusMode() useWorkspaceStore().toggleFocusMode()
} },
active: () => useWorkspaceStore().focusMode
}, },
{ {
id: 'Comfy.Graph.FitGroupToContents', id: 'Comfy.Graph.FitGroupToContents',
@@ -815,6 +826,34 @@ export function useCoreCommands(): ComfyCommand[] {
graph.unpackSubgraph(subgraphNode) graph.unpackSubgraph(subgraphNode)
} }
}, },
{
id: 'Comfy.OpenManagerDialog',
icon: 'mdi mdi-puzzle-outline',
label: 'Manager',
function: () => {
dialogService.showManagerDialog()
}
},
{
id: 'Comfy.ToggleHelpCenter',
icon: 'pi pi-question-circle',
label: 'Help Center',
function: () => {
useHelpCenterStore().toggle()
},
active: () => useHelpCenterStore().isVisible
},
{
id: 'Comfy.ToggleCanvasInfo',
icon: 'pi pi-info-circle',
label: 'Canvas Performance',
function: async () => {
const settingStore = useSettingStore()
const currentValue = settingStore.get('Comfy.Graph.CanvasInfo')
await settingStore.set('Comfy.Graph.CanvasInfo', !currentValue)
},
active: () => useSettingStore().get('Comfy.Graph.CanvasInfo')
},
{ {
id: 'Workspace.ToggleBottomPanel.Shortcuts', id: 'Workspace.ToggleBottomPanel.Shortcuts',
icon: 'pi pi-key', icon: 'pi pi-key',

View File

@@ -19,6 +19,7 @@ export const useLitegraphSettings = () => {
const canvasInfoEnabled = settingStore.get('Comfy.Graph.CanvasInfo') const canvasInfoEnabled = settingStore.get('Comfy.Graph.CanvasInfo')
if (canvasStore.canvas) { if (canvasStore.canvas) {
canvasStore.canvas.show_info = canvasInfoEnabled canvasStore.canvas.show_info = canvasInfoEnabled
canvasStore.canvas.draw(false, true)
} }
}) })

View File

@@ -1,8 +1,9 @@
export const CORE_MENU_COMMANDS = [ export const CORE_MENU_COMMANDS = [
[['Workflow'], ['Comfy.NewBlankWorkflow']], [[], ['Comfy.NewBlankWorkflow']],
[['Workflow'], ['Comfy.OpenWorkflow', 'Comfy.BrowseTemplates']], [[], []], // Separator after New
[['File'], ['Comfy.OpenWorkflow']],
[ [
['Workflow'], ['File'],
[ [
'Comfy.SaveWorkflow', 'Comfy.SaveWorkflow',
'Comfy.SaveWorkflowAs', 'Comfy.SaveWorkflowAs',
@@ -11,8 +12,6 @@ export const CORE_MENU_COMMANDS = [
] ]
], ],
[['Edit'], ['Comfy.Undo', 'Comfy.Redo']], [['Edit'], ['Comfy.Undo', 'Comfy.Redo']],
[['Edit'], ['Comfy.RefreshNodeDefinitions']],
[['Edit'], ['Comfy.ClearWorkflow']],
[['Edit'], ['Comfy.OpenClipspace']], [['Edit'], ['Comfy.OpenClipspace']],
[ [
['Help'], ['Help'],

View File

@@ -185,6 +185,9 @@
"Comfy_OpenClipspace": { "Comfy_OpenClipspace": {
"label": "Clipspace" "label": "Clipspace"
}, },
"Comfy_OpenManagerDialog": {
"label": "مدير"
},
"Comfy_OpenWorkflow": { "Comfy_OpenWorkflow": {
"label": "فتح سير عمل" "label": "فتح سير عمل"
}, },
@@ -212,6 +215,12 @@
"Comfy_ShowSettingsDialog": { "Comfy_ShowSettingsDialog": {
"label": "عرض نافذة الإعدادات" "label": "عرض نافذة الإعدادات"
}, },
"Comfy_ToggleCanvasInfo": {
"label": "أداء اللوحة"
},
"Comfy_ToggleHelpCenter": {
"label": "مركز المساعدة"
},
"Comfy_ToggleTheme": { "Comfy_ToggleTheme": {
"label": "تبديل النمط (فاتح/داكن)" "label": "تبديل النمط (فاتح/داكن)"
}, },

View File

@@ -749,6 +749,7 @@
"manageExtensions": "إدارة الإضافات", "manageExtensions": "إدارة الإضافات",
"onChange": "عند التغيير", "onChange": "عند التغيير",
"onChangeTooltip": "سيتم وضع سير العمل في قائمة الانتظار عند إجراء تغيير", "onChangeTooltip": "سيتم وضع سير العمل في قائمة الانتظار عند إجراء تغيير",
"queue": "لوحة الانتظار",
"refresh": "تحديث تعريفات العقد", "refresh": "تحديث تعريفات العقد",
"resetView": "إعادة تعيين عرض اللوحة", "resetView": "إعادة تعيين عرض اللوحة",
"run": "تشغيل", "run": "تشغيل",
@@ -762,11 +763,11 @@
"menuLabels": { "menuLabels": {
"About ComfyUI": "حول ComfyUI", "About ComfyUI": "حول ComfyUI",
"Add Edit Model Step": "إضافة خطوة تعديل النموذج", "Add Edit Model Step": "إضافة خطوة تعديل النموذج",
"Bottom Panel": "لوحة سفلية",
"Browse Templates": "تصفح القوالب", "Browse Templates": "تصفح القوالب",
"Bypass/Unbypass Selected Nodes": "تجاوز/إلغاء تجاوز العقد المحددة", "Bypass/Unbypass Selected Nodes": "تجاوز/إلغاء تجاوز العقد المحددة",
"Canvas Toggle Link Visibility": "تبديل ظهور الروابط على اللوحة", "Canvas Performance": "أداء اللوحة",
"Canvas Toggle Lock": "تبديل قفل اللوحة", "Canvas Toggle Lock": "تبديل قفل اللوحة",
"Canvas Toggle Minimap": "تبديل الخريطة المصغرة على اللوحة",
"Check for Updates": "التحقق من التحديثات", "Check for Updates": "التحقق من التحديثات",
"Clear Pending Tasks": "مسح المهام المعلقة", "Clear Pending Tasks": "مسح المهام المعلقة",
"Clear Workflow": "مسح سير العمل", "Clear Workflow": "مسح سير العمل",
@@ -788,15 +789,20 @@
"Exit Subgraph": "الخروج من الرسم الفرعي", "Exit Subgraph": "الخروج من الرسم الفرعي",
"Export": "تصدير", "Export": "تصدير",
"Export (API)": "تصدير (API)", "Export (API)": "تصدير (API)",
"File": "ملف",
"Fit Group To Contents": "ملائمة المجموعة للمحتويات", "Fit Group To Contents": "ملائمة المجموعة للمحتويات",
"Fit view to selected nodes": "تعديل العرض للعقد المحددة", "Focus Mode": "وضع التركيز",
"Give Feedback": "تقديم ملاحظات", "Give Feedback": "تقديم ملاحظات",
"Group Selected Nodes": "تجميع العقد المحددة", "Group Selected Nodes": "تجميع العقد المحددة",
"Help": "مساعدة", "Help": "مساعدة",
"Help Center": "مركز المساعدة",
"Increase Brush Size in MaskEditor": "زيادة حجم الفرشاة في محرر القناع", "Increase Brush Size in MaskEditor": "زيادة حجم الفرشاة في محرر القناع",
"Interrupt": "إيقاف مؤقت", "Interrupt": "إيقاف مؤقت",
"Load Default Workflow": "تحميل سير العمل الافتراضي", "Load Default Workflow": "تحميل سير العمل الافتراضي",
"Manage group nodes": "إدارة عقد المجموعة", "Manage group nodes": "إدارة عقد المجموعة",
"Manager": "المدير",
"Minimap": "خريطة مصغرة",
"Model Library": "مكتبة النماذج",
"Move Selected Nodes Down": "تحريك العقد المحددة للأسفل", "Move Selected Nodes Down": "تحريك العقد المحددة للأسفل",
"Move Selected Nodes Left": "تحريك العقد المحددة لليسار", "Move Selected Nodes Left": "تحريك العقد المحددة لليسار",
"Move Selected Nodes Right": "تحريك العقد المحددة لليمين", "Move Selected Nodes Right": "تحريك العقد المحددة لليمين",
@@ -804,6 +810,8 @@
"Mute/Unmute Selected Nodes": "كتم/إلغاء كتم العقد المحددة", "Mute/Unmute Selected Nodes": "كتم/إلغاء كتم العقد المحددة",
"New": "جديد", "New": "جديد",
"Next Opened Workflow": "سير العمل التالي المفتوح", "Next Opened Workflow": "سير العمل التالي المفتوح",
"Node Library": "مكتبة العقد",
"Node Links": "روابط العقد",
"Open": "فتح", "Open": "فتح",
"Open 3D Viewer (Beta) for Selected Node": "فتح عارض ثلاثي الأبعاد (بيتا) للعقدة المحددة", "Open 3D Viewer (Beta) for Selected Node": "فتح عارض ثلاثي الأبعاد (بيتا) للعقدة المحددة",
"Open Custom Nodes Folder": "فتح مجلد العقد المخصصة", "Open Custom Nodes Folder": "فتح مجلد العقد المخصصة",
@@ -818,6 +826,7 @@
"Pin/Unpin Selected Items": "تثبيت/إلغاء تثبيت العناصر المحددة", "Pin/Unpin Selected Items": "تثبيت/إلغاء تثبيت العناصر المحددة",
"Pin/Unpin Selected Nodes": "تثبيت/إلغاء تثبيت العقد المحددة", "Pin/Unpin Selected Nodes": "تثبيت/إلغاء تثبيت العقد المحددة",
"Previous Opened Workflow": "سير العمل السابق المفتوح", "Previous Opened Workflow": "سير العمل السابق المفتوح",
"Queue Panel": "لوحة الانتظار",
"Queue Prompt": "قائمة انتظار التعليمات", "Queue Prompt": "قائمة انتظار التعليمات",
"Queue Prompt (Front)": "قائمة انتظار التعليمات (أمامي)", "Queue Prompt (Front)": "قائمة انتظار التعليمات (أمامي)",
"Queue Selected Output Nodes": "قائمة انتظار عقد المخرجات المحددة", "Queue Selected Output Nodes": "قائمة انتظار عقد المخرجات المحددة",
@@ -833,26 +842,21 @@
"Show Keybindings Dialog": "عرض مربع حوار اختصارات لوحة المفاتيح", "Show Keybindings Dialog": "عرض مربع حوار اختصارات لوحة المفاتيح",
"Show Settings Dialog": "عرض نافذة الإعدادات", "Show Settings Dialog": "عرض نافذة الإعدادات",
"Sign Out": "تسجيل خروج", "Sign Out": "تسجيل خروج",
"Toggle Bottom Panel": "تبديل اللوحة السفلية",
"Toggle Essential Bottom Panel": "تبديل اللوحة السفلية الأساسية", "Toggle Essential Bottom Panel": "تبديل اللوحة السفلية الأساسية",
"Toggle Focus Mode": "تبديل وضع التركيز",
"Toggle Logs Bottom Panel": "تبديل لوحة السجلات السفلية", "Toggle Logs Bottom Panel": "تبديل لوحة السجلات السفلية",
"Toggle Model Library Sidebar": "تبديل الشريط الجانبي لمكتبة النماذج",
"Toggle Node Library Sidebar": "تبديل الشريط الجانبي لمكتبة العقد",
"Toggle Queue Sidebar": "تبديل الشريط الجانبي لقائمة الانتظار",
"Toggle Search Box": "تبديل مربع البحث", "Toggle Search Box": "تبديل مربع البحث",
"Toggle Terminal Bottom Panel": "تبديل لوحة الطرفية السفلية", "Toggle Terminal Bottom Panel": "تبديل لوحة الطرفية السفلية",
"Toggle Theme (Dark/Light)": "تبديل السمة (داكن/فاتح)", "Toggle Theme (Dark/Light)": "تبديل السمة (داكن/فاتح)",
"Toggle View Controls Bottom Panel": "تبديل لوحة التحكم في العرض السفلية", "Toggle View Controls Bottom Panel": "تبديل لوحة التحكم في العرض السفلية",
"Toggle Workflows Sidebar": "تبديل الشريط الجانبي لسير العمل",
"Toggle the Custom Nodes Manager": "تبديل مدير العقد المخصصة", "Toggle the Custom Nodes Manager": "تبديل مدير العقد المخصصة",
"Toggle the Custom Nodes Manager Progress Bar": "تبديل شريط تقدم مدير العقد المخصصة", "Toggle the Custom Nodes Manager Progress Bar": "تبديل شريط تقدم مدير العقد المخصصة",
"Undo": "تراجع", "Undo": "تراجع",
"Ungroup selected group nodes": "فك تجميع عقد المجموعة المحددة", "Ungroup selected group nodes": "فك تجميع عقد المجموعة المحددة",
"Unpack the selected Subgraph": "فك تجميع الرسم البياني الفرعي المحدد", "Unpack the selected Subgraph": "فك تجميع الرسم البياني الفرعي المحدد",
"Workflow": "سير العمل", "Workflows": "سير العمل",
"Zoom In": "تكبير", "Zoom In": "تكبير",
"Zoom Out": "تصغير" "Zoom Out": "تصغير",
"Zoom to fit": "تكبير لتناسب"
}, },
"minimap": { "minimap": {
"nodeColors": "ألوان العقد", "nodeColors": "ألوان العقد",

View File

@@ -185,6 +185,9 @@
"Comfy_OpenClipspace": { "Comfy_OpenClipspace": {
"label": "Clipspace" "label": "Clipspace"
}, },
"Comfy_OpenManagerDialog": {
"label": "Manager"
},
"Comfy_OpenWorkflow": { "Comfy_OpenWorkflow": {
"label": "Open Workflow" "label": "Open Workflow"
}, },
@@ -212,6 +215,12 @@
"Comfy_ShowSettingsDialog": { "Comfy_ShowSettingsDialog": {
"label": "Show Settings Dialog" "label": "Show Settings Dialog"
}, },
"Comfy_ToggleCanvasInfo": {
"label": "Canvas Performance"
},
"Comfy_ToggleHelpCenter": {
"label": "Help Center"
},
"Comfy_ToggleTheme": { "Comfy_ToggleTheme": {
"label": "Toggle Theme (Dark/Light)" "label": "Toggle Theme (Dark/Light)"
}, },

View File

@@ -546,7 +546,8 @@
"light": "Light", "light": "Light",
"manageExtensions": "Manage Extensions", "manageExtensions": "Manage Extensions",
"settings": "Settings", "settings": "Settings",
"help": "Help" "help": "Help",
"queue": "Queue Panel"
}, },
"tabMenu": { "tabMenu": {
"duplicateTab": "Duplicate Tab", "duplicateTab": "Duplicate Tab",
@@ -940,7 +941,7 @@
"Image Layer": "Image Layer" "Image Layer": "Image Layer"
}, },
"menuLabels": { "menuLabels": {
"Workflow": "Workflow", "File": "File",
"Edit": "Edit", "Edit": "Edit",
"Help": "Help", "Help": "Help",
"Check for Updates": "Check for Updates", "Check for Updates": "Check for Updates",
@@ -959,16 +960,16 @@
"Browse Templates": "Browse Templates", "Browse Templates": "Browse Templates",
"Add Edit Model Step": "Add Edit Model Step", "Add Edit Model Step": "Add Edit Model Step",
"Delete Selected Items": "Delete Selected Items", "Delete Selected Items": "Delete Selected Items",
"Fit view to selected nodes": "Fit view to selected nodes", "Zoom to fit": "Zoom to fit",
"Move Selected Nodes Down": "Move Selected Nodes Down", "Move Selected Nodes Down": "Move Selected Nodes Down",
"Move Selected Nodes Left": "Move Selected Nodes Left", "Move Selected Nodes Left": "Move Selected Nodes Left",
"Move Selected Nodes Right": "Move Selected Nodes Right", "Move Selected Nodes Right": "Move Selected Nodes Right",
"Move Selected Nodes Up": "Move Selected Nodes Up", "Move Selected Nodes Up": "Move Selected Nodes Up",
"Reset View": "Reset View", "Reset View": "Reset View",
"Resize Selected Nodes": "Resize Selected Nodes", "Resize Selected Nodes": "Resize Selected Nodes",
"Canvas Toggle Link Visibility": "Canvas Toggle Link Visibility", "Node Links": "Node Links",
"Canvas Toggle Lock": "Canvas Toggle Lock", "Canvas Toggle Lock": "Canvas Toggle Lock",
"Canvas Toggle Minimap": "Canvas Toggle Minimap", "Minimap": "Minimap",
"Pin/Unpin Selected Items": "Pin/Unpin Selected Items", "Pin/Unpin Selected Items": "Pin/Unpin Selected Items",
"Bypass/Unbypass Selected Nodes": "Bypass/Unbypass Selected Nodes", "Bypass/Unbypass Selected Nodes": "Bypass/Unbypass Selected Nodes",
"Collapse/Expand Selected Nodes": "Collapse/Expand Selected Nodes", "Collapse/Expand Selected Nodes": "Collapse/Expand Selected Nodes",
@@ -1005,6 +1006,7 @@
"Open Mask Editor for Selected Node": "Open Mask Editor for Selected Node", "Open Mask Editor for Selected Node": "Open Mask Editor for Selected Node",
"New": "New", "New": "New",
"Clipspace": "Clipspace", "Clipspace": "Clipspace",
"Manager": "Manager",
"Open": "Open", "Open": "Open",
"Queue Prompt": "Queue Prompt", "Queue Prompt": "Queue Prompt",
"Queue Prompt (Front)": "Queue Prompt (Front)", "Queue Prompt (Front)": "Queue Prompt (Front)",
@@ -1014,6 +1016,8 @@
"Save": "Save", "Save": "Save",
"Save As": "Save As", "Save As": "Save As",
"Show Settings Dialog": "Show Settings Dialog", "Show Settings Dialog": "Show Settings Dialog",
"Canvas Performance": "Canvas Performance",
"Help Center": "Help Center",
"Toggle Theme (Dark/Light)": "Toggle Theme (Dark/Light)", "Toggle Theme (Dark/Light)": "Toggle Theme (Dark/Light)",
"Undo": "Undo", "Undo": "Undo",
"Open Sign In Dialog": "Open Sign In Dialog", "Open Sign In Dialog": "Open Sign In Dialog",
@@ -1022,17 +1026,17 @@
"Next Opened Workflow": "Next Opened Workflow", "Next Opened Workflow": "Next Opened Workflow",
"Previous Opened Workflow": "Previous Opened Workflow", "Previous Opened Workflow": "Previous Opened Workflow",
"Toggle Search Box": "Toggle Search Box", "Toggle Search Box": "Toggle Search Box",
"Toggle Bottom Panel": "Toggle Bottom Panel", "Bottom Panel": "Bottom Panel",
"Show Keybindings Dialog": "Show Keybindings Dialog", "Show Keybindings Dialog": "Show Keybindings Dialog",
"Toggle Terminal Bottom Panel": "Toggle Terminal Bottom Panel", "Toggle Terminal Bottom Panel": "Toggle Terminal Bottom Panel",
"Toggle Logs Bottom Panel": "Toggle Logs Bottom Panel", "Toggle Logs Bottom Panel": "Toggle Logs Bottom Panel",
"Toggle Essential Bottom Panel": "Toggle Essential Bottom Panel", "Toggle Essential Bottom Panel": "Toggle Essential Bottom Panel",
"Toggle View Controls Bottom Panel": "Toggle View Controls Bottom Panel", "Toggle View Controls Bottom Panel": "Toggle View Controls Bottom Panel",
"Toggle Focus Mode": "Toggle Focus Mode", "Focus Mode": "Focus Mode",
"Toggle Model Library Sidebar": "Toggle Model Library Sidebar", "Model Library": "Model Library",
"Toggle Node Library Sidebar": "Toggle Node Library Sidebar", "Node Library": "Node Library",
"Toggle Queue Sidebar": "Toggle Queue Sidebar", "Queue Panel": "Queue Panel",
"Toggle Workflows Sidebar": "Toggle Workflows Sidebar" "Workflows": "Workflows"
}, },
"desktopMenu": { "desktopMenu": {
"reinstall": "Reinstall", "reinstall": "Reinstall",

View File

@@ -185,6 +185,9 @@
"Comfy_OpenClipspace": { "Comfy_OpenClipspace": {
"label": "Abrir espacio de clips" "label": "Abrir espacio de clips"
}, },
"Comfy_OpenManagerDialog": {
"label": "Administrador"
},
"Comfy_OpenWorkflow": { "Comfy_OpenWorkflow": {
"label": "Abrir Flujo de Trabajo" "label": "Abrir Flujo de Trabajo"
}, },
@@ -212,6 +215,12 @@
"Comfy_ShowSettingsDialog": { "Comfy_ShowSettingsDialog": {
"label": "Mostrar Diálogo de Configuraciones" "label": "Mostrar Diálogo de Configuraciones"
}, },
"Comfy_ToggleCanvasInfo": {
"label": "Rendimiento del lienzo"
},
"Comfy_ToggleHelpCenter": {
"label": "Centro de ayuda"
},
"Comfy_ToggleTheme": { "Comfy_ToggleTheme": {
"label": "Cambiar Tema (Oscuro/Claro)" "label": "Cambiar Tema (Oscuro/Claro)"
}, },

View File

@@ -749,6 +749,7 @@
"manageExtensions": "Gestionar extensiones", "manageExtensions": "Gestionar extensiones",
"onChange": "Al cambiar", "onChange": "Al cambiar",
"onChangeTooltip": "El flujo de trabajo se encolará una vez que se haga un cambio", "onChangeTooltip": "El flujo de trabajo se encolará una vez que se haga un cambio",
"queue": "Panel de cola",
"refresh": "Actualizar definiciones de nodos", "refresh": "Actualizar definiciones de nodos",
"resetView": "Restablecer vista del lienzo", "resetView": "Restablecer vista del lienzo",
"run": "Ejecutar", "run": "Ejecutar",
@@ -762,11 +763,11 @@
"menuLabels": { "menuLabels": {
"About ComfyUI": "Acerca de ComfyUI", "About ComfyUI": "Acerca de ComfyUI",
"Add Edit Model Step": "Agregar paso de edición de modelo", "Add Edit Model Step": "Agregar paso de edición de modelo",
"Bottom Panel": "Panel inferior",
"Browse Templates": "Explorar plantillas", "Browse Templates": "Explorar plantillas",
"Bypass/Unbypass Selected Nodes": "Evitar/No evitar nodos seleccionados", "Bypass/Unbypass Selected Nodes": "Evitar/No evitar nodos seleccionados",
"Canvas Toggle Link Visibility": "Alternar visibilidad de enlace en lienzo", "Canvas Performance": "Rendimiento del lienzo",
"Canvas Toggle Lock": "Alternar bloqueo en lienzo", "Canvas Toggle Lock": "Alternar bloqueo en lienzo",
"Canvas Toggle Minimap": "Lienzo: Alternar minimapa",
"Check for Updates": "Buscar actualizaciones", "Check for Updates": "Buscar actualizaciones",
"Clear Pending Tasks": "Borrar tareas pendientes", "Clear Pending Tasks": "Borrar tareas pendientes",
"Clear Workflow": "Borrar flujo de trabajo", "Clear Workflow": "Borrar flujo de trabajo",
@@ -788,15 +789,20 @@
"Exit Subgraph": "Salir de subgrafo", "Exit Subgraph": "Salir de subgrafo",
"Export": "Exportar", "Export": "Exportar",
"Export (API)": "Exportar (API)", "Export (API)": "Exportar (API)",
"File": "Archivo",
"Fit Group To Contents": "Ajustar grupo a contenidos", "Fit Group To Contents": "Ajustar grupo a contenidos",
"Fit view to selected nodes": "Ajustar vista a los nodos seleccionados", "Focus Mode": "Modo de enfoque",
"Give Feedback": "Dar retroalimentación", "Give Feedback": "Dar retroalimentación",
"Group Selected Nodes": "Agrupar nodos seleccionados", "Group Selected Nodes": "Agrupar nodos seleccionados",
"Help": "Ayuda", "Help": "Ayuda",
"Help Center": "Centro de ayuda",
"Increase Brush Size in MaskEditor": "Aumentar tamaño del pincel en MaskEditor", "Increase Brush Size in MaskEditor": "Aumentar tamaño del pincel en MaskEditor",
"Interrupt": "Interrumpir", "Interrupt": "Interrumpir",
"Load Default Workflow": "Cargar flujo de trabajo predeterminado", "Load Default Workflow": "Cargar flujo de trabajo predeterminado",
"Manage group nodes": "Gestionar nodos de grupo", "Manage group nodes": "Gestionar nodos de grupo",
"Manager": "Administrador",
"Minimap": "Minimapa",
"Model Library": "Biblioteca de modelos",
"Move Selected Nodes Down": "Mover nodos seleccionados hacia abajo", "Move Selected Nodes Down": "Mover nodos seleccionados hacia abajo",
"Move Selected Nodes Left": "Mover nodos seleccionados hacia la izquierda", "Move Selected Nodes Left": "Mover nodos seleccionados hacia la izquierda",
"Move Selected Nodes Right": "Mover nodos seleccionados hacia la derecha", "Move Selected Nodes Right": "Mover nodos seleccionados hacia la derecha",
@@ -804,6 +810,8 @@
"Mute/Unmute Selected Nodes": "Silenciar/Activar sonido de nodos seleccionados", "Mute/Unmute Selected Nodes": "Silenciar/Activar sonido de nodos seleccionados",
"New": "Nuevo", "New": "Nuevo",
"Next Opened Workflow": "Siguiente flujo de trabajo abierto", "Next Opened Workflow": "Siguiente flujo de trabajo abierto",
"Node Library": "Biblioteca de nodos",
"Node Links": "Enlaces de nodos",
"Open": "Abrir", "Open": "Abrir",
"Open 3D Viewer (Beta) for Selected Node": "Abrir visor 3D (Beta) para el nodo seleccionado", "Open 3D Viewer (Beta) for Selected Node": "Abrir visor 3D (Beta) para el nodo seleccionado",
"Open Custom Nodes Folder": "Abrir carpeta de nodos personalizados", "Open Custom Nodes Folder": "Abrir carpeta de nodos personalizados",
@@ -818,6 +826,7 @@
"Pin/Unpin Selected Items": "Anclar/Desanclar elementos seleccionados", "Pin/Unpin Selected Items": "Anclar/Desanclar elementos seleccionados",
"Pin/Unpin Selected Nodes": "Anclar/Desanclar nodos seleccionados", "Pin/Unpin Selected Nodes": "Anclar/Desanclar nodos seleccionados",
"Previous Opened Workflow": "Flujo de trabajo abierto anterior", "Previous Opened Workflow": "Flujo de trabajo abierto anterior",
"Queue Panel": "Panel de cola",
"Queue Prompt": "Indicador de cola", "Queue Prompt": "Indicador de cola",
"Queue Prompt (Front)": "Indicador de cola (Frente)", "Queue Prompt (Front)": "Indicador de cola (Frente)",
"Queue Selected Output Nodes": "Encolar nodos de salida seleccionados", "Queue Selected Output Nodes": "Encolar nodos de salida seleccionados",
@@ -833,26 +842,21 @@
"Show Keybindings Dialog": "Mostrar diálogo de combinaciones de teclas", "Show Keybindings Dialog": "Mostrar diálogo de combinaciones de teclas",
"Show Settings Dialog": "Mostrar diálogo de configuración", "Show Settings Dialog": "Mostrar diálogo de configuración",
"Sign Out": "Cerrar sesión", "Sign Out": "Cerrar sesión",
"Toggle Bottom Panel": "Alternar panel inferior",
"Toggle Essential Bottom Panel": "Alternar panel inferior esencial", "Toggle Essential Bottom Panel": "Alternar panel inferior esencial",
"Toggle Focus Mode": "Alternar modo de enfoque",
"Toggle Logs Bottom Panel": "Alternar panel inferior de registros", "Toggle Logs Bottom Panel": "Alternar panel inferior de registros",
"Toggle Model Library Sidebar": "Alternar barra lateral de la biblioteca de modelos",
"Toggle Node Library Sidebar": "Alternar barra lateral de la biblioteca de nodos",
"Toggle Queue Sidebar": "Alternar barra lateral de la cola",
"Toggle Search Box": "Alternar caja de búsqueda", "Toggle Search Box": "Alternar caja de búsqueda",
"Toggle Terminal Bottom Panel": "Alternar panel inferior de terminal", "Toggle Terminal Bottom Panel": "Alternar panel inferior de terminal",
"Toggle Theme (Dark/Light)": "Alternar tema (Oscuro/Claro)", "Toggle Theme (Dark/Light)": "Alternar tema (Oscuro/Claro)",
"Toggle View Controls Bottom Panel": "Alternar panel inferior de controles de vista", "Toggle View Controls Bottom Panel": "Alternar panel inferior de controles de vista",
"Toggle Workflows Sidebar": "Alternar barra lateral de los flujos de trabajo",
"Toggle the Custom Nodes Manager": "Alternar el Administrador de Nodos Personalizados", "Toggle the Custom Nodes Manager": "Alternar el Administrador de Nodos Personalizados",
"Toggle the Custom Nodes Manager Progress Bar": "Alternar la Barra de Progreso del Administrador de Nodos Personalizados", "Toggle the Custom Nodes Manager Progress Bar": "Alternar la Barra de Progreso del Administrador de Nodos Personalizados",
"Undo": "Deshacer", "Undo": "Deshacer",
"Ungroup selected group nodes": "Desagrupar nodos de grupo seleccionados", "Ungroup selected group nodes": "Desagrupar nodos de grupo seleccionados",
"Unpack the selected Subgraph": "Desempaquetar el Subgrafo seleccionado", "Unpack the selected Subgraph": "Desempaquetar el Subgrafo seleccionado",
"Workflow": "Flujo de trabajo", "Workflows": "Flujos de trabajo",
"Zoom In": "Acercar", "Zoom In": "Acercar",
"Zoom Out": "Alejar" "Zoom Out": "Alejar",
"Zoom to fit": "Ajustar al tamaño"
}, },
"minimap": { "minimap": {
"nodeColors": "Colores de nodos", "nodeColors": "Colores de nodos",

View File

@@ -185,6 +185,9 @@
"Comfy_OpenClipspace": { "Comfy_OpenClipspace": {
"label": "Espace de clip" "label": "Espace de clip"
}, },
"Comfy_OpenManagerDialog": {
"label": "Gestionnaire"
},
"Comfy_OpenWorkflow": { "Comfy_OpenWorkflow": {
"label": "Ouvrir le flux de travail" "label": "Ouvrir le flux de travail"
}, },
@@ -212,6 +215,12 @@
"Comfy_ShowSettingsDialog": { "Comfy_ShowSettingsDialog": {
"label": "Afficher la boîte de dialogue des paramètres" "label": "Afficher la boîte de dialogue des paramètres"
}, },
"Comfy_ToggleCanvasInfo": {
"label": "Performance du canvas"
},
"Comfy_ToggleHelpCenter": {
"label": "Centre d'aide"
},
"Comfy_ToggleTheme": { "Comfy_ToggleTheme": {
"label": "Changer de thème (Sombre/Clair)" "label": "Changer de thème (Sombre/Clair)"
}, },

View File

@@ -749,6 +749,7 @@
"manageExtensions": "Gérer les extensions", "manageExtensions": "Gérer les extensions",
"onChange": "Sur modification", "onChange": "Sur modification",
"onChangeTooltip": "Le flux de travail sera mis en file d'attente une fois une modification effectuée", "onChangeTooltip": "Le flux de travail sera mis en file d'attente une fois une modification effectuée",
"queue": "Panneau de file dattente",
"refresh": "Actualiser les définitions des nœuds", "refresh": "Actualiser les définitions des nœuds",
"resetView": "Réinitialiser la vue du canevas", "resetView": "Réinitialiser la vue du canevas",
"run": "Exécuter", "run": "Exécuter",
@@ -762,11 +763,11 @@
"menuLabels": { "menuLabels": {
"About ComfyUI": "À propos de ComfyUI", "About ComfyUI": "À propos de ComfyUI",
"Add Edit Model Step": "Ajouter une étape dédition de modèle", "Add Edit Model Step": "Ajouter une étape dédition de modèle",
"Bottom Panel": "Panneau inférieur",
"Browse Templates": "Parcourir les modèles", "Browse Templates": "Parcourir les modèles",
"Bypass/Unbypass Selected Nodes": "Contourner/Ne pas contourner les nœuds sélectionnés", "Bypass/Unbypass Selected Nodes": "Contourner/Ne pas contourner les nœuds sélectionnés",
"Canvas Toggle Link Visibility": "Basculer la visibilité du lien de la toile", "Canvas Performance": "Performance du canevas",
"Canvas Toggle Lock": "Basculer le verrouillage de la toile", "Canvas Toggle Lock": "Basculer le verrouillage de la toile",
"Canvas Toggle Minimap": "Basculer la mini-carte du canevas",
"Check for Updates": "Vérifier les mises à jour", "Check for Updates": "Vérifier les mises à jour",
"Clear Pending Tasks": "Effacer les tâches en attente", "Clear Pending Tasks": "Effacer les tâches en attente",
"Clear Workflow": "Effacer le flux de travail", "Clear Workflow": "Effacer le flux de travail",
@@ -788,15 +789,20 @@
"Exit Subgraph": "Quitter le sous-graphe", "Exit Subgraph": "Quitter le sous-graphe",
"Export": "Exporter", "Export": "Exporter",
"Export (API)": "Exporter (API)", "Export (API)": "Exporter (API)",
"File": "Fichier",
"Fit Group To Contents": "Ajuster le groupe au contenu", "Fit Group To Contents": "Ajuster le groupe au contenu",
"Fit view to selected nodes": "Ajuster la vue aux nœuds sélectionnés", "Focus Mode": "Mode focus",
"Give Feedback": "Donnez votre avis", "Give Feedback": "Donnez votre avis",
"Group Selected Nodes": "Grouper les nœuds sélectionnés", "Group Selected Nodes": "Grouper les nœuds sélectionnés",
"Help": "Aide", "Help": "Aide",
"Help Center": "Centre daide",
"Increase Brush Size in MaskEditor": "Augmenter la taille du pinceau dans MaskEditor", "Increase Brush Size in MaskEditor": "Augmenter la taille du pinceau dans MaskEditor",
"Interrupt": "Interrompre", "Interrupt": "Interrompre",
"Load Default Workflow": "Charger le flux de travail par défaut", "Load Default Workflow": "Charger le flux de travail par défaut",
"Manage group nodes": "Gérer les nœuds de groupe", "Manage group nodes": "Gérer les nœuds de groupe",
"Manager": "Gestionnaire",
"Minimap": "Minicarte",
"Model Library": "Bibliothèque de modèles",
"Move Selected Nodes Down": "Déplacer les nœuds sélectionnés vers le bas", "Move Selected Nodes Down": "Déplacer les nœuds sélectionnés vers le bas",
"Move Selected Nodes Left": "Déplacer les nœuds sélectionnés vers la gauche", "Move Selected Nodes Left": "Déplacer les nœuds sélectionnés vers la gauche",
"Move Selected Nodes Right": "Déplacer les nœuds sélectionnés vers la droite", "Move Selected Nodes Right": "Déplacer les nœuds sélectionnés vers la droite",
@@ -804,6 +810,8 @@
"Mute/Unmute Selected Nodes": "Mettre en sourdine/Activer le son des nœuds sélectionnés", "Mute/Unmute Selected Nodes": "Mettre en sourdine/Activer le son des nœuds sélectionnés",
"New": "Nouveau", "New": "Nouveau",
"Next Opened Workflow": "Prochain flux de travail ouvert", "Next Opened Workflow": "Prochain flux de travail ouvert",
"Node Library": "Bibliothèque de nœuds",
"Node Links": "Liens de nœuds",
"Open": "Ouvrir", "Open": "Ouvrir",
"Open 3D Viewer (Beta) for Selected Node": "Ouvrir le visualiseur 3D (bêta) pour le nœud sélectionné", "Open 3D Viewer (Beta) for Selected Node": "Ouvrir le visualiseur 3D (bêta) pour le nœud sélectionné",
"Open Custom Nodes Folder": "Ouvrir le dossier des nœuds personnalisés", "Open Custom Nodes Folder": "Ouvrir le dossier des nœuds personnalisés",
@@ -818,6 +826,7 @@
"Pin/Unpin Selected Items": "Épingler/Désépingler les éléments sélectionnés", "Pin/Unpin Selected Items": "Épingler/Désépingler les éléments sélectionnés",
"Pin/Unpin Selected Nodes": "Épingler/Désépingler les nœuds sélectionnés", "Pin/Unpin Selected Nodes": "Épingler/Désépingler les nœuds sélectionnés",
"Previous Opened Workflow": "Flux de travail ouvert précédent", "Previous Opened Workflow": "Flux de travail ouvert précédent",
"Queue Panel": "Panneau de file dattente",
"Queue Prompt": "Invite de file d'attente", "Queue Prompt": "Invite de file d'attente",
"Queue Prompt (Front)": "Invite de file d'attente (Front)", "Queue Prompt (Front)": "Invite de file d'attente (Front)",
"Queue Selected Output Nodes": "Mettre en file dattente les nœuds de sortie sélectionnés", "Queue Selected Output Nodes": "Mettre en file dattente les nœuds de sortie sélectionnés",
@@ -833,26 +842,21 @@
"Show Keybindings Dialog": "Afficher la boîte de dialogue des raccourcis clavier", "Show Keybindings Dialog": "Afficher la boîte de dialogue des raccourcis clavier",
"Show Settings Dialog": "Afficher la boîte de dialogue des paramètres", "Show Settings Dialog": "Afficher la boîte de dialogue des paramètres",
"Sign Out": "Se déconnecter", "Sign Out": "Se déconnecter",
"Toggle Bottom Panel": "Basculer le panneau inférieur",
"Toggle Essential Bottom Panel": "Afficher/Masquer le panneau inférieur essentiel", "Toggle Essential Bottom Panel": "Afficher/Masquer le panneau inférieur essentiel",
"Toggle Focus Mode": "Basculer le mode focus",
"Toggle Logs Bottom Panel": "Basculer le panneau inférieur des journaux", "Toggle Logs Bottom Panel": "Basculer le panneau inférieur des journaux",
"Toggle Model Library Sidebar": "Afficher/Masquer la barre latérale de la bibliothèque de modèles",
"Toggle Node Library Sidebar": "Afficher/Masquer la barre latérale de la bibliothèque de nœuds",
"Toggle Queue Sidebar": "Afficher/Masquer la barre latérale de la file dattente",
"Toggle Search Box": "Basculer la boîte de recherche", "Toggle Search Box": "Basculer la boîte de recherche",
"Toggle Terminal Bottom Panel": "Basculer le panneau inférieur du terminal", "Toggle Terminal Bottom Panel": "Basculer le panneau inférieur du terminal",
"Toggle Theme (Dark/Light)": "Basculer le thème (Sombre/Clair)", "Toggle Theme (Dark/Light)": "Basculer le thème (Sombre/Clair)",
"Toggle View Controls Bottom Panel": "Afficher/Masquer le panneau inférieur des contrôles de vue", "Toggle View Controls Bottom Panel": "Afficher/Masquer le panneau inférieur des contrôles de vue",
"Toggle Workflows Sidebar": "Afficher/Masquer la barre latérale des workflows",
"Toggle the Custom Nodes Manager": "Basculer le gestionnaire de nœuds personnalisés", "Toggle the Custom Nodes Manager": "Basculer le gestionnaire de nœuds personnalisés",
"Toggle the Custom Nodes Manager Progress Bar": "Basculer la barre de progression du gestionnaire de nœuds personnalisés", "Toggle the Custom Nodes Manager Progress Bar": "Basculer la barre de progression du gestionnaire de nœuds personnalisés",
"Undo": "Annuler", "Undo": "Annuler",
"Ungroup selected group nodes": "Dégrouper les nœuds de groupe sélectionnés", "Ungroup selected group nodes": "Dégrouper les nœuds de groupe sélectionnés",
"Unpack the selected Subgraph": "Décompresser le Subgraph sélectionné", "Unpack the selected Subgraph": "Décompresser le Subgraph sélectionné",
"Workflow": "Flux de travail", "Workflows": "Flux de travail",
"Zoom In": "Zoom avant", "Zoom In": "Zoom avant",
"Zoom Out": "Zoom arrière" "Zoom Out": "Zoom arrière",
"Zoom to fit": "Ajuster à lécran"
}, },
"minimap": { "minimap": {
"nodeColors": "Couleurs des nœuds", "nodeColors": "Couleurs des nœuds",

View File

@@ -185,6 +185,9 @@
"Comfy_OpenClipspace": { "Comfy_OpenClipspace": {
"label": "クリップスペース" "label": "クリップスペース"
}, },
"Comfy_OpenManagerDialog": {
"label": "マネージャー"
},
"Comfy_OpenWorkflow": { "Comfy_OpenWorkflow": {
"label": "ワークフローを開く" "label": "ワークフローを開く"
}, },
@@ -212,6 +215,12 @@
"Comfy_ShowSettingsDialog": { "Comfy_ShowSettingsDialog": {
"label": "設定ダイアログを表示" "label": "設定ダイアログを表示"
}, },
"Comfy_ToggleCanvasInfo": {
"label": "キャンバスパフォーマンス"
},
"Comfy_ToggleHelpCenter": {
"label": "ヘルプセンター"
},
"Comfy_ToggleTheme": { "Comfy_ToggleTheme": {
"label": "テーマの切り替え(ダーク/ライト)" "label": "テーマの切り替え(ダーク/ライト)"
}, },

View File

@@ -749,6 +749,7 @@
"manageExtensions": "拡張機能の管理", "manageExtensions": "拡張機能の管理",
"onChange": "変更時", "onChange": "変更時",
"onChangeTooltip": "変更が行われるとワークフローがキューに追加されます", "onChangeTooltip": "変更が行われるとワークフローがキューに追加されます",
"queue": "キューパネル",
"refresh": "ノードを更新", "refresh": "ノードを更新",
"resetView": "ビューをリセット", "resetView": "ビューをリセット",
"run": "実行する", "run": "実行する",
@@ -762,11 +763,11 @@
"menuLabels": { "menuLabels": {
"About ComfyUI": "ComfyUIについて", "About ComfyUI": "ComfyUIについて",
"Add Edit Model Step": "モデル編集ステップを追加", "Add Edit Model Step": "モデル編集ステップを追加",
"Bottom Panel": "下部パネル",
"Browse Templates": "テンプレートを参照", "Browse Templates": "テンプレートを参照",
"Bypass/Unbypass Selected Nodes": "選択したノードのバイパス/バイパス解除", "Bypass/Unbypass Selected Nodes": "選択したノードのバイパス/バイパス解除",
"Canvas Toggle Link Visibility": "キャンバスのリンク表示を切り替え", "Canvas Performance": "キャンバスパフォーマンス",
"Canvas Toggle Lock": "キャンバスのロックを切り替え", "Canvas Toggle Lock": "キャンバスのロックを切り替え",
"Canvas Toggle Minimap": "キャンバス ミニマップの切り替え",
"Check for Updates": "更新を確認する", "Check for Updates": "更新を確認する",
"Clear Pending Tasks": "保留中のタスクをクリア", "Clear Pending Tasks": "保留中のタスクをクリア",
"Clear Workflow": "ワークフローをクリア", "Clear Workflow": "ワークフローをクリア",
@@ -788,15 +789,20 @@
"Exit Subgraph": "サブグラフを終了", "Exit Subgraph": "サブグラフを終了",
"Export": "エクスポート", "Export": "エクスポート",
"Export (API)": "エクスポート (API)", "Export (API)": "エクスポート (API)",
"File": "ファイル",
"Fit Group To Contents": "グループを内容に合わせる", "Fit Group To Contents": "グループを内容に合わせる",
"Fit view to selected nodes": "選択したノードにビューを合わせる", "Focus Mode": "フォーカスモード",
"Give Feedback": "フィードバックを送る", "Give Feedback": "フィードバックを送る",
"Group Selected Nodes": "選択したノードをグループ化", "Group Selected Nodes": "選択したノードをグループ化",
"Help": "ヘルプ", "Help": "ヘルプ",
"Help Center": "ヘルプセンター",
"Increase Brush Size in MaskEditor": "マスクエディタでブラシサイズを大きくする", "Increase Brush Size in MaskEditor": "マスクエディタでブラシサイズを大きくする",
"Interrupt": "中断", "Interrupt": "中断",
"Load Default Workflow": "デフォルトワークフローを読み込む", "Load Default Workflow": "デフォルトワークフローを読み込む",
"Manage group nodes": "グループノードを管理", "Manage group nodes": "グループノードを管理",
"Manager": "マネージャー",
"Minimap": "ミニマップ",
"Model Library": "モデルライブラリ",
"Move Selected Nodes Down": "選択したノードを下へ移動", "Move Selected Nodes Down": "選択したノードを下へ移動",
"Move Selected Nodes Left": "選択したノードを左へ移動", "Move Selected Nodes Left": "選択したノードを左へ移動",
"Move Selected Nodes Right": "選択したノードを右へ移動", "Move Selected Nodes Right": "選択したノードを右へ移動",
@@ -804,6 +810,8 @@
"Mute/Unmute Selected Nodes": "選択したノードのミュート/ミュート解除", "Mute/Unmute Selected Nodes": "選択したノードのミュート/ミュート解除",
"New": "新規", "New": "新規",
"Next Opened Workflow": "次に開いたワークフロー", "Next Opened Workflow": "次に開いたワークフロー",
"Node Library": "ノードライブラリ",
"Node Links": "ノードリンク",
"Open": "開く", "Open": "開く",
"Open 3D Viewer (Beta) for Selected Node": "選択したードの3Dビューアーベータを開く", "Open 3D Viewer (Beta) for Selected Node": "選択したードの3Dビューアーベータを開く",
"Open Custom Nodes Folder": "カスタムノードフォルダを開く", "Open Custom Nodes Folder": "カスタムノードフォルダを開く",
@@ -818,6 +826,7 @@
"Pin/Unpin Selected Items": "選択したアイテムのピン留め/ピン留め解除", "Pin/Unpin Selected Items": "選択したアイテムのピン留め/ピン留め解除",
"Pin/Unpin Selected Nodes": "選択したノードのピン留め/ピン留め解除", "Pin/Unpin Selected Nodes": "選択したノードのピン留め/ピン留め解除",
"Previous Opened Workflow": "前に開いたワークフロー", "Previous Opened Workflow": "前に開いたワークフロー",
"Queue Panel": "キューパネル",
"Queue Prompt": "キューのプロンプト", "Queue Prompt": "キューのプロンプト",
"Queue Prompt (Front)": "キューのプロンプト (前面)", "Queue Prompt (Front)": "キューのプロンプト (前面)",
"Queue Selected Output Nodes": "選択した出力ノードをキューに追加", "Queue Selected Output Nodes": "選択した出力ノードをキューに追加",
@@ -833,26 +842,21 @@
"Show Keybindings Dialog": "キーバインドダイアログを表示", "Show Keybindings Dialog": "キーバインドダイアログを表示",
"Show Settings Dialog": "設定ダイアログを表示", "Show Settings Dialog": "設定ダイアログを表示",
"Sign Out": "サインアウト", "Sign Out": "サインアウト",
"Toggle Bottom Panel": "下部パネルの切り替え",
"Toggle Essential Bottom Panel": "エッセンシャル下部パネルの切り替え", "Toggle Essential Bottom Panel": "エッセンシャル下部パネルの切り替え",
"Toggle Focus Mode": "フォーカスモードの切り替え",
"Toggle Logs Bottom Panel": "ログパネル下部を切り替え", "Toggle Logs Bottom Panel": "ログパネル下部を切り替え",
"Toggle Model Library Sidebar": "モデルライブラリサイドバーを切り替え",
"Toggle Node Library Sidebar": "ノードライブラリサイドバーを切り替え",
"Toggle Queue Sidebar": "キューサイドバーを切り替え",
"Toggle Search Box": "検索ボックスの切り替え", "Toggle Search Box": "検索ボックスの切り替え",
"Toggle Terminal Bottom Panel": "ターミナルパネル下部を切り替え", "Toggle Terminal Bottom Panel": "ターミナルパネル下部を切り替え",
"Toggle Theme (Dark/Light)": "テーマを切り替え(ダーク/ライト)", "Toggle Theme (Dark/Light)": "テーマを切り替え(ダーク/ライト)",
"Toggle View Controls Bottom Panel": "ビューコントロール下部パネルの切り替え", "Toggle View Controls Bottom Panel": "ビューコントロール下部パネルの切り替え",
"Toggle Workflows Sidebar": "ワークフローサイドバーを切り替え",
"Toggle the Custom Nodes Manager": "カスタムノードマネージャーを切り替え", "Toggle the Custom Nodes Manager": "カスタムノードマネージャーを切り替え",
"Toggle the Custom Nodes Manager Progress Bar": "カスタムノードマネージャーの進行状況バーを切り替え", "Toggle the Custom Nodes Manager Progress Bar": "カスタムノードマネージャーの進行状況バーを切り替え",
"Undo": "元に戻す", "Undo": "元に戻す",
"Ungroup selected group nodes": "選択したグループノードのグループ解除", "Ungroup selected group nodes": "選択したグループノードのグループ解除",
"Unpack the selected Subgraph": "選択したサブグラフを展開", "Unpack the selected Subgraph": "選択したサブグラフを展開",
"Workflow": "ワークフロー", "Workflows": "ワークフロー",
"Zoom In": "ズームイン", "Zoom In": "ズームイン",
"Zoom Out": "ズームアウト" "Zoom Out": "ズームアウト",
"Zoom to fit": "全体表示にズーム"
}, },
"minimap": { "minimap": {
"nodeColors": "ノードの色", "nodeColors": "ノードの色",

View File

@@ -185,6 +185,9 @@
"Comfy_OpenClipspace": { "Comfy_OpenClipspace": {
"label": "클립스페이스" "label": "클립스페이스"
}, },
"Comfy_OpenManagerDialog": {
"label": "매니저"
},
"Comfy_OpenWorkflow": { "Comfy_OpenWorkflow": {
"label": "워크플로 열기" "label": "워크플로 열기"
}, },
@@ -212,6 +215,12 @@
"Comfy_ShowSettingsDialog": { "Comfy_ShowSettingsDialog": {
"label": "설정 대화상자 보기" "label": "설정 대화상자 보기"
}, },
"Comfy_ToggleCanvasInfo": {
"label": "캔버스 성능"
},
"Comfy_ToggleHelpCenter": {
"label": "도움말 센터"
},
"Comfy_ToggleTheme": { "Comfy_ToggleTheme": {
"label": "밝기 테마 전환 (어두운/밝은)" "label": "밝기 테마 전환 (어두운/밝은)"
}, },

View File

@@ -749,6 +749,7 @@
"manageExtensions": "확장 프로그램 관리", "manageExtensions": "확장 프로그램 관리",
"onChange": "변경 시", "onChange": "변경 시",
"onChangeTooltip": "변경이 있는 경우에만 워크플로를 실행 대기열에 추가합니다.", "onChangeTooltip": "변경이 있는 경우에만 워크플로를 실행 대기열에 추가합니다.",
"queue": "대기열 패널",
"refresh": "노드 정의 새로 고침", "refresh": "노드 정의 새로 고침",
"resetView": "캔버스 보기 재설정", "resetView": "캔버스 보기 재설정",
"run": "실행", "run": "실행",
@@ -762,11 +763,11 @@
"menuLabels": { "menuLabels": {
"About ComfyUI": "ComfyUI에 대하여", "About ComfyUI": "ComfyUI에 대하여",
"Add Edit Model Step": "모델 편집 단계 추가", "Add Edit Model Step": "모델 편집 단계 추가",
"Bottom Panel": "하단 패널",
"Browse Templates": "템플릿 탐색", "Browse Templates": "템플릿 탐색",
"Bypass/Unbypass Selected Nodes": "선택한 노드 우회/우회 해제", "Bypass/Unbypass Selected Nodes": "선택한 노드 우회/우회 해제",
"Canvas Toggle Link Visibility": "캔버스 토글 링크 가시성", "Canvas Performance": "캔버스 성",
"Canvas Toggle Lock": "캔버스 토글 잠금", "Canvas Toggle Lock": "캔버스 토글 잠금",
"Canvas Toggle Minimap": "캔버스 미니맵 전환",
"Check for Updates": "업데이트 확인", "Check for Updates": "업데이트 확인",
"Clear Pending Tasks": "보류 중인 작업 제거하기", "Clear Pending Tasks": "보류 중인 작업 제거하기",
"Clear Workflow": "워크플로 지우기", "Clear Workflow": "워크플로 지우기",
@@ -788,15 +789,20 @@
"Exit Subgraph": "서브그래프 종료", "Exit Subgraph": "서브그래프 종료",
"Export": "내보내기", "Export": "내보내기",
"Export (API)": "내보내기 (API)", "Export (API)": "내보내기 (API)",
"File": "파일",
"Fit Group To Contents": "그룹을 내용에 맞게 조정", "Fit Group To Contents": "그룹을 내용에 맞게 조정",
"Fit view to selected nodes": "선택한 노드에 맞게 보기 조정", "Focus Mode": "포커스 모드",
"Give Feedback": "피드백 제공", "Give Feedback": "피드백 제공",
"Group Selected Nodes": "선택한 노드 그룹화", "Group Selected Nodes": "선택한 노드 그룹화",
"Help": "도움말", "Help": "도움말",
"Help Center": "도움말 센터",
"Increase Brush Size in MaskEditor": "마스크 편집기에서 브러시 크기 늘리기", "Increase Brush Size in MaskEditor": "마스크 편집기에서 브러시 크기 늘리기",
"Interrupt": "중단", "Interrupt": "중단",
"Load Default Workflow": "기본 워크플로 불러오기", "Load Default Workflow": "기본 워크플로 불러오기",
"Manage group nodes": "그룹 노드 관리", "Manage group nodes": "그룹 노드 관리",
"Manager": "매니저",
"Minimap": "미니맵",
"Model Library": "모델 라이브러리",
"Move Selected Nodes Down": "선택한 노드 아래로 이동", "Move Selected Nodes Down": "선택한 노드 아래로 이동",
"Move Selected Nodes Left": "선택한 노드 왼쪽으로 이동", "Move Selected Nodes Left": "선택한 노드 왼쪽으로 이동",
"Move Selected Nodes Right": "선택한 노드 오른쪽으로 이동", "Move Selected Nodes Right": "선택한 노드 오른쪽으로 이동",
@@ -804,6 +810,8 @@
"Mute/Unmute Selected Nodes": "선택한 노드 활성화/비활성화", "Mute/Unmute Selected Nodes": "선택한 노드 활성화/비활성화",
"New": "새로 만들기", "New": "새로 만들기",
"Next Opened Workflow": "다음 열린 워크플로", "Next Opened Workflow": "다음 열린 워크플로",
"Node Library": "노드 라이브러리",
"Node Links": "노드 링크",
"Open": "열기", "Open": "열기",
"Open 3D Viewer (Beta) for Selected Node": "선택한 노드에 대해 3D 뷰어(베타) 열기", "Open 3D Viewer (Beta) for Selected Node": "선택한 노드에 대해 3D 뷰어(베타) 열기",
"Open Custom Nodes Folder": "사용자 정의 노드 폴더 열기", "Open Custom Nodes Folder": "사용자 정의 노드 폴더 열기",
@@ -818,6 +826,7 @@
"Pin/Unpin Selected Items": "선택한 항목 고정/고정 해제", "Pin/Unpin Selected Items": "선택한 항목 고정/고정 해제",
"Pin/Unpin Selected Nodes": "선택한 노드 고정/고정 해제", "Pin/Unpin Selected Nodes": "선택한 노드 고정/고정 해제",
"Previous Opened Workflow": "이전 열린 워크플로", "Previous Opened Workflow": "이전 열린 워크플로",
"Queue Panel": "대기열 패널",
"Queue Prompt": "실행 대기열에 프롬프트 추가", "Queue Prompt": "실행 대기열에 프롬프트 추가",
"Queue Prompt (Front)": "실행 대기열 맨 앞에 프롬프트 추가", "Queue Prompt (Front)": "실행 대기열 맨 앞에 프롬프트 추가",
"Queue Selected Output Nodes": "선택한 출력 노드 대기열에 추가", "Queue Selected Output Nodes": "선택한 출력 노드 대기열에 추가",
@@ -833,26 +842,21 @@
"Show Keybindings Dialog": "키 바인딩 대화상자 표시", "Show Keybindings Dialog": "키 바인딩 대화상자 표시",
"Show Settings Dialog": "설정 대화상자 표시", "Show Settings Dialog": "설정 대화상자 표시",
"Sign Out": "로그아웃", "Sign Out": "로그아웃",
"Toggle Bottom Panel": "하단 패널 전환",
"Toggle Essential Bottom Panel": "필수 하단 패널 전환", "Toggle Essential Bottom Panel": "필수 하단 패널 전환",
"Toggle Focus Mode": "포커스 모드 전환",
"Toggle Logs Bottom Panel": "로그 하단 패널 전환", "Toggle Logs Bottom Panel": "로그 하단 패널 전환",
"Toggle Model Library Sidebar": "모델 라이브러리 사이드바 전환",
"Toggle Node Library Sidebar": "노드 라이브러리 사이드바 전환",
"Toggle Queue Sidebar": "실행 대기열 사이드바 전환",
"Toggle Search Box": "검색 상자 전환", "Toggle Search Box": "검색 상자 전환",
"Toggle Terminal Bottom Panel": "터미널 하단 패널 전환", "Toggle Terminal Bottom Panel": "터미널 하단 패널 전환",
"Toggle Theme (Dark/Light)": "테마 전환 (어두운/밝은)", "Toggle Theme (Dark/Light)": "테마 전환 (어두운/밝은)",
"Toggle View Controls Bottom Panel": "뷰 컨트롤 하단 패널 전환", "Toggle View Controls Bottom Panel": "뷰 컨트롤 하단 패널 전환",
"Toggle Workflows Sidebar": "워크플로 사이드바 전환",
"Toggle the Custom Nodes Manager": "커스텀 노드 매니저 전환", "Toggle the Custom Nodes Manager": "커스텀 노드 매니저 전환",
"Toggle the Custom Nodes Manager Progress Bar": "커스텀 노드 매니저 진행률 표시줄 전환", "Toggle the Custom Nodes Manager Progress Bar": "커스텀 노드 매니저 진행률 표시줄 전환",
"Undo": "실행 취소", "Undo": "실행 취소",
"Ungroup selected group nodes": "선택한 그룹 노드 그룹 해제", "Ungroup selected group nodes": "선택한 그룹 노드 그룹 해제",
"Unpack the selected Subgraph": "선택한 서브그래프 풀기", "Unpack the selected Subgraph": "선택한 서브그래프 풀기",
"Workflow": "워크플로", "Workflows": "워크플로",
"Zoom In": "확대", "Zoom In": "확대",
"Zoom Out": "축소" "Zoom Out": "축소",
"Zoom to fit": "화면에 맞추기"
}, },
"minimap": { "minimap": {
"nodeColors": "노드 색상", "nodeColors": "노드 색상",

View File

@@ -185,6 +185,9 @@
"Comfy_OpenClipspace": { "Comfy_OpenClipspace": {
"label": "Клипспейс" "label": "Клипспейс"
}, },
"Comfy_OpenManagerDialog": {
"label": "Менеджер"
},
"Comfy_OpenWorkflow": { "Comfy_OpenWorkflow": {
"label": "Открыть рабочий процесс" "label": "Открыть рабочий процесс"
}, },
@@ -212,6 +215,12 @@
"Comfy_ShowSettingsDialog": { "Comfy_ShowSettingsDialog": {
"label": "Показать диалог настроек" "label": "Показать диалог настроек"
}, },
"Comfy_ToggleCanvasInfo": {
"label": "Производительность холста"
},
"Comfy_ToggleHelpCenter": {
"label": "Центр поддержки"
},
"Comfy_ToggleTheme": { "Comfy_ToggleTheme": {
"label": "Переключить тему (Тёмная/Светлая)" "label": "Переключить тему (Тёмная/Светлая)"
}, },

View File

@@ -749,6 +749,7 @@
"manageExtensions": "Управление расширениями", "manageExtensions": "Управление расширениями",
"onChange": "При изменении", "onChange": "При изменении",
"onChangeTooltip": "Рабочий процесс будет поставлен в очередь после внесения изменений", "onChangeTooltip": "Рабочий процесс будет поставлен в очередь после внесения изменений",
"queue": "Панель очереди",
"refresh": "Обновить определения нод", "refresh": "Обновить определения нод",
"resetView": "Сбросить вид холста", "resetView": "Сбросить вид холста",
"run": "Запустить", "run": "Запустить",
@@ -762,11 +763,11 @@
"menuLabels": { "menuLabels": {
"About ComfyUI": "О ComfyUI", "About ComfyUI": "О ComfyUI",
"Add Edit Model Step": "Добавить или изменить шаг модели", "Add Edit Model Step": "Добавить или изменить шаг модели",
"Bottom Panel": "Нижняя панель",
"Browse Templates": "Просмотреть шаблоны", "Browse Templates": "Просмотреть шаблоны",
"Bypass/Unbypass Selected Nodes": "Обойти/восстановить выбранные ноды", "Bypass/Unbypass Selected Nodes": "Обойти/восстановить выбранные ноды",
"Canvas Toggle Link Visibility": "Переключение видимости ссылки на холст", "Canvas Performance": "Производительность холста",
"Canvas Toggle Lock": "Переключение блокировки холста", "Canvas Toggle Lock": "Переключение блокировки холста",
"Canvas Toggle Minimap": "Показать/скрыть миникарту на холсте",
"Check for Updates": "Проверить наличие обновлений", "Check for Updates": "Проверить наличие обновлений",
"Clear Pending Tasks": "Очистить ожидающие задачи", "Clear Pending Tasks": "Очистить ожидающие задачи",
"Clear Workflow": "Очистить рабочий процесс", "Clear Workflow": "Очистить рабочий процесс",
@@ -788,15 +789,20 @@
"Exit Subgraph": "Выйти из подграфа", "Exit Subgraph": "Выйти из подграфа",
"Export": "Экспортировать", "Export": "Экспортировать",
"Export (API)": "Экспорт (API)", "Export (API)": "Экспорт (API)",
"File": "Файл",
"Fit Group To Contents": "Подогнать группу под содержимое", "Fit Group To Contents": "Подогнать группу под содержимое",
"Fit view to selected nodes": "Подогнать вид под выбранные ноды", "Focus Mode": "Режим фокуса",
"Give Feedback": "Оставить отзыв", "Give Feedback": "Оставить отзыв",
"Group Selected Nodes": "Сгруппировать выбранные ноды", "Group Selected Nodes": "Сгруппировать выбранные ноды",
"Help": "Помощь", "Help": "Помощь",
"Help Center": "Центр поддержки",
"Increase Brush Size in MaskEditor": "Увеличить размер кисти в MaskEditor", "Increase Brush Size in MaskEditor": "Увеличить размер кисти в MaskEditor",
"Interrupt": "Прервать", "Interrupt": "Прервать",
"Load Default Workflow": "Загрузить стандартный рабочий процесс", "Load Default Workflow": "Загрузить стандартный рабочий процесс",
"Manage group nodes": "Управление групповыми нодами", "Manage group nodes": "Управление групповыми нодами",
"Manager": "Менеджер",
"Minimap": "Мини-карта",
"Model Library": "Библиотека моделей",
"Move Selected Nodes Down": "Переместить выбранные узлы вниз", "Move Selected Nodes Down": "Переместить выбранные узлы вниз",
"Move Selected Nodes Left": "Переместить выбранные узлы влево", "Move Selected Nodes Left": "Переместить выбранные узлы влево",
"Move Selected Nodes Right": "Переместить выбранные узлы вправо", "Move Selected Nodes Right": "Переместить выбранные узлы вправо",
@@ -804,6 +810,8 @@
"Mute/Unmute Selected Nodes": "Отключить/включить звук для выбранных нод", "Mute/Unmute Selected Nodes": "Отключить/включить звук для выбранных нод",
"New": "Новый", "New": "Новый",
"Next Opened Workflow": "Следующий открытый рабочий процесс", "Next Opened Workflow": "Следующий открытый рабочий процесс",
"Node Library": "Библиотека узлов",
"Node Links": "Связи узлов",
"Open": "Открыть", "Open": "Открыть",
"Open 3D Viewer (Beta) for Selected Node": "Открыть 3D-просмотрщик (бета) для выбранного узла", "Open 3D Viewer (Beta) for Selected Node": "Открыть 3D-просмотрщик (бета) для выбранного узла",
"Open Custom Nodes Folder": "Открыть папку пользовательских нод", "Open Custom Nodes Folder": "Открыть папку пользовательских нод",
@@ -818,6 +826,7 @@
"Pin/Unpin Selected Items": "Закрепить/открепить выбранные элементы", "Pin/Unpin Selected Items": "Закрепить/открепить выбранные элементы",
"Pin/Unpin Selected Nodes": "Закрепить/открепить выбранные ноды", "Pin/Unpin Selected Nodes": "Закрепить/открепить выбранные ноды",
"Previous Opened Workflow": "Предыдущий открытый рабочий процесс", "Previous Opened Workflow": "Предыдущий открытый рабочий процесс",
"Queue Panel": "Панель очереди",
"Queue Prompt": "Запрос в очереди", "Queue Prompt": "Запрос в очереди",
"Queue Prompt (Front)": "Запрос в очереди (спереди)", "Queue Prompt (Front)": "Запрос в очереди (спереди)",
"Queue Selected Output Nodes": "Добавить выбранные выходные узлы в очередь", "Queue Selected Output Nodes": "Добавить выбранные выходные узлы в очередь",
@@ -833,26 +842,21 @@
"Show Keybindings Dialog": "Показать диалог клавиш быстрого доступа", "Show Keybindings Dialog": "Показать диалог клавиш быстрого доступа",
"Show Settings Dialog": "Показать диалог настроек", "Show Settings Dialog": "Показать диалог настроек",
"Sign Out": "Выйти", "Sign Out": "Выйти",
"Toggle Bottom Panel": "Переключить нижнюю панель",
"Toggle Essential Bottom Panel": "Показать/скрыть основную нижнюю панель", "Toggle Essential Bottom Panel": "Показать/скрыть основную нижнюю панель",
"Toggle Focus Mode": "Переключить режим фокуса",
"Toggle Logs Bottom Panel": "Переключение нижней панели журналов", "Toggle Logs Bottom Panel": "Переключение нижней панели журналов",
"Toggle Model Library Sidebar": "Показать/скрыть боковую панель библиотеки моделей",
"Toggle Node Library Sidebar": "Показать/скрыть боковую панель библиотеки узлов",
"Toggle Queue Sidebar": "Показать/скрыть боковую панель очереди",
"Toggle Search Box": "Переключить поисковую панель", "Toggle Search Box": "Переключить поисковую панель",
"Toggle Terminal Bottom Panel": "Переключение нижней панели терминала", "Toggle Terminal Bottom Panel": "Переключение нижней панели терминала",
"Toggle Theme (Dark/Light)": "Переключение темы (Тёмная/Светлая)", "Toggle Theme (Dark/Light)": "Переключение темы (Тёмная/Светлая)",
"Toggle View Controls Bottom Panel": "Показать/скрыть панель управления просмотром", "Toggle View Controls Bottom Panel": "Показать/скрыть панель управления просмотром",
"Toggle Workflows Sidebar": "Показать/скрыть боковую панель рабочих процессов",
"Toggle the Custom Nodes Manager": "Переключить менеджер пользовательских узлов", "Toggle the Custom Nodes Manager": "Переключить менеджер пользовательских узлов",
"Toggle the Custom Nodes Manager Progress Bar": "Переключить индикатор выполнения менеджера пользовательских узлов", "Toggle the Custom Nodes Manager Progress Bar": "Переключить индикатор выполнения менеджера пользовательских узлов",
"Undo": "Отменить", "Undo": "Отменить",
"Ungroup selected group nodes": "Разгруппировать выбранные групповые ноды", "Ungroup selected group nodes": "Разгруппировать выбранные групповые ноды",
"Unpack the selected Subgraph": "Распаковать выбранный подграф", "Unpack the selected Subgraph": "Распаковать выбранный подграф",
"Workflow": "Рабочий процесс", "Workflows": "Рабочие процессы",
"Zoom In": "Увеличить", "Zoom In": "Увеличить",
"Zoom Out": "Уменьшить" "Zoom Out": "Уменьшить",
"Zoom to fit": "Масштабировать по размеру"
}, },
"minimap": { "minimap": {
"nodeColors": "Цвета узлов", "nodeColors": "Цвета узлов",

View File

@@ -185,6 +185,9 @@
"Comfy_OpenClipspace": { "Comfy_OpenClipspace": {
"label": "Clipspace" "label": "Clipspace"
}, },
"Comfy_OpenManagerDialog": {
"label": "管理器"
},
"Comfy_OpenWorkflow": { "Comfy_OpenWorkflow": {
"label": "開啟工作流程" "label": "開啟工作流程"
}, },
@@ -212,6 +215,12 @@
"Comfy_ShowSettingsDialog": { "Comfy_ShowSettingsDialog": {
"label": "顯示設定對話框" "label": "顯示設定對話框"
}, },
"Comfy_ToggleCanvasInfo": {
"label": "畫布效能"
},
"Comfy_ToggleHelpCenter": {
"label": "說明中心"
},
"Comfy_ToggleTheme": { "Comfy_ToggleTheme": {
"label": "切換主題(深色/淺色)" "label": "切換主題(深色/淺色)"
}, },

View File

@@ -749,6 +749,7 @@
"manageExtensions": "管理擴充功能", "manageExtensions": "管理擴充功能",
"onChange": "變更時", "onChange": "變更時",
"onChangeTooltip": "每當有變更時,工作流程會排入佇列", "onChangeTooltip": "每當有變更時,工作流程會排入佇列",
"queue": "佇列面板",
"refresh": "重新整理節點定義", "refresh": "重新整理節點定義",
"resetView": "重設畫布視圖", "resetView": "重設畫布視圖",
"run": "執行", "run": "執行",
@@ -762,11 +763,11 @@
"menuLabels": { "menuLabels": {
"About ComfyUI": "關於 ComfyUI", "About ComfyUI": "關於 ComfyUI",
"Add Edit Model Step": "新增編輯模型步驟", "Add Edit Model Step": "新增編輯模型步驟",
"Bottom Panel": "底部面板",
"Browse Templates": "瀏覽範本", "Browse Templates": "瀏覽範本",
"Bypass/Unbypass Selected Nodes": "繞過/取消繞過選取節點", "Bypass/Unbypass Selected Nodes": "繞過/取消繞過選取節點",
"Canvas Toggle Link Visibility": "切換連結可見性", "Canvas Performance": "畫布效能",
"Canvas Toggle Lock": "切換畫布鎖定", "Canvas Toggle Lock": "切換畫布鎖定",
"Canvas Toggle Minimap": "畫布切換小地圖",
"Check for Updates": "檢查更新", "Check for Updates": "檢查更新",
"Clear Pending Tasks": "清除待處理任務", "Clear Pending Tasks": "清除待處理任務",
"Clear Workflow": "清除工作流程", "Clear Workflow": "清除工作流程",
@@ -788,15 +789,20 @@
"Exit Subgraph": "離開子圖", "Exit Subgraph": "離開子圖",
"Export": "匯出", "Export": "匯出",
"Export (API)": "匯出API", "Export (API)": "匯出API",
"File": "檔案",
"Fit Group To Contents": "群組貼合內容", "Fit Group To Contents": "群組貼合內容",
"Fit view to selected nodes": "視圖貼合選取節點", "Focus Mode": "專注模式",
"Give Feedback": "提供意見回饋", "Give Feedback": "提供意見回饋",
"Group Selected Nodes": "群組選取節點", "Group Selected Nodes": "群組選取節點",
"Help": "說明", "Help": "說明",
"Help Center": "說明中心",
"Increase Brush Size in MaskEditor": "在 MaskEditor 中增大筆刷大小", "Increase Brush Size in MaskEditor": "在 MaskEditor 中增大筆刷大小",
"Interrupt": "中斷", "Interrupt": "中斷",
"Load Default Workflow": "載入預設工作流程", "Load Default Workflow": "載入預設工作流程",
"Manage group nodes": "管理群組節點", "Manage group nodes": "管理群組節點",
"Manager": "管理員",
"Minimap": "縮圖地圖",
"Model Library": "模型庫",
"Move Selected Nodes Down": "選取節點下移", "Move Selected Nodes Down": "選取節點下移",
"Move Selected Nodes Left": "選取節點左移", "Move Selected Nodes Left": "選取節點左移",
"Move Selected Nodes Right": "選取節點右移", "Move Selected Nodes Right": "選取節點右移",
@@ -804,6 +810,8 @@
"Mute/Unmute Selected Nodes": "靜音/取消靜音選取節點", "Mute/Unmute Selected Nodes": "靜音/取消靜音選取節點",
"New": "新增", "New": "新增",
"Next Opened Workflow": "下一個已開啟的工作流程", "Next Opened Workflow": "下一個已開啟的工作流程",
"Node Library": "節點庫",
"Node Links": "節點連結",
"Open": "開啟", "Open": "開啟",
"Open 3D Viewer (Beta) for Selected Node": "為選取的節點開啟 3D 檢視器Beta 版)", "Open 3D Viewer (Beta) for Selected Node": "為選取的節點開啟 3D 檢視器Beta 版)",
"Open Custom Nodes Folder": "開啟自訂節點資料夾", "Open Custom Nodes Folder": "開啟自訂節點資料夾",
@@ -818,6 +826,7 @@
"Pin/Unpin Selected Items": "釘選/取消釘選選取項目", "Pin/Unpin Selected Items": "釘選/取消釘選選取項目",
"Pin/Unpin Selected Nodes": "釘選/取消釘選選取節點", "Pin/Unpin Selected Nodes": "釘選/取消釘選選取節點",
"Previous Opened Workflow": "上一個已開啟的工作流程", "Previous Opened Workflow": "上一個已開啟的工作流程",
"Queue Panel": "佇列面板",
"Queue Prompt": "加入提示至佇列", "Queue Prompt": "加入提示至佇列",
"Queue Prompt (Front)": "將提示加入佇列前端", "Queue Prompt (Front)": "將提示加入佇列前端",
"Queue Selected Output Nodes": "將選取的輸出節點加入佇列", "Queue Selected Output Nodes": "將選取的輸出節點加入佇列",
@@ -833,26 +842,21 @@
"Show Keybindings Dialog": "顯示快捷鍵對話框", "Show Keybindings Dialog": "顯示快捷鍵對話框",
"Show Settings Dialog": "顯示設定對話框", "Show Settings Dialog": "顯示設定對話框",
"Sign Out": "登出", "Sign Out": "登出",
"Toggle Bottom Panel": "切換下方面板",
"Toggle Essential Bottom Panel": "切換基本下方面板", "Toggle Essential Bottom Panel": "切換基本下方面板",
"Toggle Focus Mode": "切換專注模式",
"Toggle Logs Bottom Panel": "切換日誌下方面板", "Toggle Logs Bottom Panel": "切換日誌下方面板",
"Toggle Model Library Sidebar": "切換模型庫側邊欄",
"Toggle Node Library Sidebar": "切換節點庫側邊欄",
"Toggle Queue Sidebar": "切換佇列側邊欄",
"Toggle Search Box": "切換搜尋框", "Toggle Search Box": "切換搜尋框",
"Toggle Terminal Bottom Panel": "切換終端機底部面板", "Toggle Terminal Bottom Panel": "切換終端機底部面板",
"Toggle Theme (Dark/Light)": "切換主題(深色/淺色)", "Toggle Theme (Dark/Light)": "切換主題(深色/淺色)",
"Toggle View Controls Bottom Panel": "切換檢視控制下方面板", "Toggle View Controls Bottom Panel": "切換檢視控制下方面板",
"Toggle Workflows Sidebar": "切換工作流程側邊欄",
"Toggle the Custom Nodes Manager": "切換自訂節點管理器", "Toggle the Custom Nodes Manager": "切換自訂節點管理器",
"Toggle the Custom Nodes Manager Progress Bar": "切換自訂節點管理器進度條", "Toggle the Custom Nodes Manager Progress Bar": "切換自訂節點管理器進度條",
"Undo": "復原", "Undo": "復原",
"Ungroup selected group nodes": "取消群組選取的群組節點", "Ungroup selected group nodes": "取消群組選取的群組節點",
"Unpack the selected Subgraph": "解包所選子圖", "Unpack the selected Subgraph": "解包所選子圖",
"Workflow": "工作流程", "Workflows": "工作流程",
"Zoom In": "放大", "Zoom In": "放大",
"Zoom Out": "縮小" "Zoom Out": "縮小",
"Zoom to fit": "縮放至適合大小"
}, },
"minimap": { "minimap": {
"nodeColors": "節點顏色", "nodeColors": "節點顏色",

View File

@@ -185,6 +185,9 @@
"Comfy_OpenClipspace": { "Comfy_OpenClipspace": {
"label": "打开剪贴板" "label": "打开剪贴板"
}, },
"Comfy_OpenManagerDialog": {
"label": "管理器"
},
"Comfy_OpenWorkflow": { "Comfy_OpenWorkflow": {
"label": "打开工作流" "label": "打开工作流"
}, },
@@ -212,6 +215,12 @@
"Comfy_ShowSettingsDialog": { "Comfy_ShowSettingsDialog": {
"label": "显示设置对话框" "label": "显示设置对话框"
}, },
"Comfy_ToggleCanvasInfo": {
"label": "畫布效能"
},
"Comfy_ToggleHelpCenter": {
"label": "說明中心"
},
"Comfy_ToggleTheme": { "Comfy_ToggleTheme": {
"label": "切换主题" "label": "切换主题"
}, },

View File

@@ -749,6 +749,7 @@
"manageExtensions": "管理擴充功能", "manageExtensions": "管理擴充功能",
"onChange": "更改时", "onChange": "更改时",
"onChangeTooltip": "一旦进行更改,工作流将添加到执行队列", "onChangeTooltip": "一旦进行更改,工作流将添加到执行队列",
"queue": "佇列面板",
"refresh": "刷新节点", "refresh": "刷新节点",
"resetView": "重置视图", "resetView": "重置视图",
"run": "运行", "run": "运行",
@@ -762,11 +763,11 @@
"menuLabels": { "menuLabels": {
"About ComfyUI": "关于ComfyUI", "About ComfyUI": "关于ComfyUI",
"Add Edit Model Step": "添加编辑模型步骤", "Add Edit Model Step": "添加编辑模型步骤",
"Bottom Panel": "底部面板",
"Browse Templates": "浏览模板", "Browse Templates": "浏览模板",
"Bypass/Unbypass Selected Nodes": "忽略/取消忽略选定节点", "Bypass/Unbypass Selected Nodes": "忽略/取消忽略选定节点",
"Canvas Toggle Link Visibility": "切换连线可见性", "Canvas Performance": "畫布效能",
"Canvas Toggle Lock": "切换视图锁定", "Canvas Toggle Lock": "切换视图锁定",
"Canvas Toggle Minimap": "畫布切換小地圖",
"Check for Updates": "检查更新", "Check for Updates": "检查更新",
"Clear Pending Tasks": "清除待处理任务", "Clear Pending Tasks": "清除待处理任务",
"Clear Workflow": "清除工作流", "Clear Workflow": "清除工作流",
@@ -788,15 +789,20 @@
"Exit Subgraph": "退出子圖", "Exit Subgraph": "退出子圖",
"Export": "导出", "Export": "导出",
"Export (API)": "导出 (API)", "Export (API)": "导出 (API)",
"File": "檔案",
"Fit Group To Contents": "适应组内容", "Fit Group To Contents": "适应组内容",
"Fit view to selected nodes": "适应视图到选中节点", "Focus Mode": "專注模式",
"Give Feedback": "提供反馈", "Give Feedback": "提供反馈",
"Group Selected Nodes": "将选中节点转换为组节点", "Group Selected Nodes": "将选中节点转换为组节点",
"Help": "帮助", "Help": "帮助",
"Help Center": "說明中心",
"Increase Brush Size in MaskEditor": "在 MaskEditor 中增大筆刷大小", "Increase Brush Size in MaskEditor": "在 MaskEditor 中增大筆刷大小",
"Interrupt": "中断", "Interrupt": "中断",
"Load Default Workflow": "加载默认工作流", "Load Default Workflow": "加载默认工作流",
"Manage group nodes": "管理组节点", "Manage group nodes": "管理组节点",
"Manager": "管理員",
"Minimap": "縮圖地圖",
"Model Library": "模型庫",
"Move Selected Nodes Down": "下移所选节点", "Move Selected Nodes Down": "下移所选节点",
"Move Selected Nodes Left": "左移所选节点", "Move Selected Nodes Left": "左移所选节点",
"Move Selected Nodes Right": "右移所选节点", "Move Selected Nodes Right": "右移所选节点",
@@ -804,6 +810,8 @@
"Mute/Unmute Selected Nodes": "静音/取消静音选定节点", "Mute/Unmute Selected Nodes": "静音/取消静音选定节点",
"New": "新建", "New": "新建",
"Next Opened Workflow": "下一个打开的工作流", "Next Opened Workflow": "下一个打开的工作流",
"Node Library": "節點庫",
"Node Links": "節點連結",
"Open": "打开", "Open": "打开",
"Open 3D Viewer (Beta) for Selected Node": "為所選節點開啟 3D 檢視器Beta 版)", "Open 3D Viewer (Beta) for Selected Node": "為所選節點開啟 3D 檢視器Beta 版)",
"Open Custom Nodes Folder": "打开自定义节点文件夹", "Open Custom Nodes Folder": "打开自定义节点文件夹",
@@ -818,6 +826,7 @@
"Pin/Unpin Selected Items": "固定/取消固定选定项目", "Pin/Unpin Selected Items": "固定/取消固定选定项目",
"Pin/Unpin Selected Nodes": "固定/取消固定选定节点", "Pin/Unpin Selected Nodes": "固定/取消固定选定节点",
"Previous Opened Workflow": "上一个打开的工作流", "Previous Opened Workflow": "上一个打开的工作流",
"Queue Panel": "佇列面板",
"Queue Prompt": "执行提示词", "Queue Prompt": "执行提示词",
"Queue Prompt (Front)": "执行提示词 (优先执行)", "Queue Prompt (Front)": "执行提示词 (优先执行)",
"Queue Selected Output Nodes": "将所选输出节点加入队列", "Queue Selected Output Nodes": "将所选输出节点加入队列",
@@ -833,26 +842,21 @@
"Show Keybindings Dialog": "顯示快捷鍵對話框", "Show Keybindings Dialog": "顯示快捷鍵對話框",
"Show Settings Dialog": "显示设置对话框", "Show Settings Dialog": "显示设置对话框",
"Sign Out": "退出登录", "Sign Out": "退出登录",
"Toggle Bottom Panel": "切换底部面板",
"Toggle Essential Bottom Panel": "切換基本下方面板", "Toggle Essential Bottom Panel": "切換基本下方面板",
"Toggle Focus Mode": "切换专注模式",
"Toggle Logs Bottom Panel": "切换日志底部面板", "Toggle Logs Bottom Panel": "切换日志底部面板",
"Toggle Model Library Sidebar": "切換模型庫側邊欄",
"Toggle Node Library Sidebar": "切換節點庫側邊欄",
"Toggle Queue Sidebar": "切換佇列側邊欄",
"Toggle Search Box": "切换搜索框", "Toggle Search Box": "切换搜索框",
"Toggle Terminal Bottom Panel": "切换终端底部面板", "Toggle Terminal Bottom Panel": "切换终端底部面板",
"Toggle Theme (Dark/Light)": "切换主题(暗/亮)", "Toggle Theme (Dark/Light)": "切换主题(暗/亮)",
"Toggle View Controls Bottom Panel": "切換檢視控制下方面板", "Toggle View Controls Bottom Panel": "切換檢視控制下方面板",
"Toggle Workflows Sidebar": "切換工作流程側邊欄",
"Toggle the Custom Nodes Manager": "切换自定义节点管理器", "Toggle the Custom Nodes Manager": "切换自定义节点管理器",
"Toggle the Custom Nodes Manager Progress Bar": "切换自定义节点管理器进度条", "Toggle the Custom Nodes Manager Progress Bar": "切换自定义节点管理器进度条",
"Undo": "撤销", "Undo": "撤销",
"Ungroup selected group nodes": "解散选中组节点", "Ungroup selected group nodes": "解散选中组节点",
"Unpack the selected Subgraph": "解開所選子圖", "Unpack the selected Subgraph": "解開所選子圖",
"Workflow": "工作流", "Workflows": "工作流",
"Zoom In": "放大画面", "Zoom In": "放大画面",
"Zoom Out": "缩小画面" "Zoom Out": "缩小画面",
"Zoom to fit": "縮放至適合大小"
}, },
"minimap": { "minimap": {
"nodeColors": "節點顏色", "nodeColors": "節點顏色",

View File

@@ -17,6 +17,7 @@ export interface ComfyCommand {
versionAdded?: string versionAdded?: string
confirmation?: string // If non-nullish, this command will prompt for confirmation confirmation?: string // If non-nullish, this command will prompt for confirmation
source?: string source?: string
active?: () => boolean // Getter to check if the command is active/toggled on
category?: 'essentials' | 'view-controls' // For shortcuts panel organization category?: 'essentials' | 'view-controls' // For shortcuts panel organization
} }
@@ -30,6 +31,7 @@ export class ComfyCommandImpl implements ComfyCommand {
versionAdded?: string versionAdded?: string
confirmation?: string confirmation?: string
source?: string source?: string
active?: () => boolean
category?: 'essentials' | 'view-controls' category?: 'essentials' | 'view-controls'
constructor(command: ComfyCommand) { constructor(command: ComfyCommand) {
@@ -42,6 +44,7 @@ export class ComfyCommandImpl implements ComfyCommand {
this.versionAdded = command.versionAdded this.versionAdded = command.versionAdded
this.confirmation = command.confirmation this.confirmation = command.confirmation
this.source = command.source this.source = command.source
this.active = command.active
this.category = command.category this.category = command.category
} }

View File

@@ -0,0 +1,25 @@
import { defineStore } from 'pinia'
import { ref } from 'vue'
export const useHelpCenterStore = defineStore('helpCenter', () => {
const isVisible = ref(false)
const toggle = () => {
isVisible.value = !isVisible.value
}
const show = () => {
isVisible.value = true
}
const hide = () => {
isVisible.value = false
}
return {
isVisible,
toggle,
show,
hide
}
})

View File

@@ -10,6 +10,7 @@ import { useCommandStore } from './commandStore'
export const useMenuItemStore = defineStore('menuItem', () => { export const useMenuItemStore = defineStore('menuItem', () => {
const commandStore = useCommandStore() const commandStore = useCommandStore()
const menuItems = ref<MenuItem[]>([]) const menuItems = ref<MenuItem[]>([])
const menuItemHasActiveStateChildren = ref<Record<string, boolean>>({})
const registerMenuGroup = (path: string[], items: MenuItem[]) => { const registerMenuGroup = (path: string[], items: MenuItem[]) => {
let currentLevel = menuItems.value let currentLevel = menuItems.value
@@ -45,6 +46,14 @@ export const useMenuItemStore = defineStore('menuItem', () => {
} }
// Add the new items to the last level // Add the new items to the last level
currentLevel.push(...items) currentLevel.push(...items)
// Store if any of the children have active state as we will hide the icon if they do
const parentPath = path.join('.')
if (!menuItemHasActiveStateChildren.value[parentPath]) {
menuItemHasActiveStateChildren.value[parentPath] = items.some(
(item) => item.comfyCommand?.active
)
}
} }
const registerCommands = (path: string[], commandIds: string[]) => { const registerCommands = (path: string[], commandIds: string[]) => {
@@ -57,7 +66,8 @@ export const useMenuItemStore = defineStore('menuItem', () => {
label: command.menubarLabel, label: command.menubarLabel,
icon: command.icon, icon: command.icon,
tooltip: command.tooltip, tooltip: command.tooltip,
comfyCommand: command comfyCommand: command,
parentPath: path.join('.')
}) as MenuItem }) as MenuItem
) )
registerMenuGroup(path, items) registerMenuGroup(path, items)
@@ -92,6 +102,7 @@ export const useMenuItemStore = defineStore('menuItem', () => {
registerMenuGroup, registerMenuGroup,
registerCommands, registerCommands,
loadExtensionMenuCommands, loadExtensionMenuCommands,
registerCoreMenuCommands registerCoreMenuCommands,
menuItemHasActiveStateChildren
} }
}) })

View File

@@ -7,6 +7,7 @@ import { useQueueSidebarTab } from '@/composables/sidebarTabs/useQueueSidebarTab
import { useWorkflowsSidebarTab } from '@/composables/sidebarTabs/useWorkflowsSidebarTab' import { useWorkflowsSidebarTab } from '@/composables/sidebarTabs/useWorkflowsSidebarTab'
import { t, te } from '@/i18n' import { t, te } from '@/i18n'
import { useCommandStore } from '@/stores/commandStore' import { useCommandStore } from '@/stores/commandStore'
import { useMenuItemStore } from '@/stores/menuItemStore'
import { SidebarTabExtension } from '@/types/extensionTypes' import { SidebarTabExtension } from '@/types/extensionTypes'
export const useSidebarTabStore = defineStore('sidebarTab', () => { export const useSidebarTabStore = defineStore('sidebarTab', () => {
@@ -38,16 +39,34 @@ export const useSidebarTabStore = defineStore('sidebarTab', () => {
: String(tab.tooltip) : String(tab.tooltip)
: undefined : undefined
const menubarLabelFunction = () => {
const menubarLabelKeys: Record<string, string> = {
queue: 'menu.queue',
'node-library': 'sideToolbar.nodeLibrary',
'model-library': 'sideToolbar.modelLibrary',
workflows: 'sideToolbar.workflows'
}
const key = menubarLabelKeys[tab.id]
if (key && te(key)) {
return t(key)
}
return tab.title
}
useCommandStore().registerCommand({ useCommandStore().registerCommand({
id: `Workspace.ToggleSidebarTab.${tab.id}`, id: `Workspace.ToggleSidebarTab.${tab.id}`,
icon: typeof tab.icon === 'string' ? tab.icon : undefined, icon: typeof tab.icon === 'string' ? tab.icon : undefined,
label: labelFunction, label: labelFunction,
menubarLabel: menubarLabelFunction,
tooltip: tooltipFunction, tooltip: tooltipFunction,
versionAdded: '1.3.9', versionAdded: '1.3.9',
category: 'view-controls' as const, category: 'view-controls' as const,
function: () => { function: () => {
toggleSidebarTab(tab.id) toggleSidebarTab(tab.id)
}, },
active: () => activeSidebarTab.value?.id === tab.id,
source: 'System' source: 'System'
}) })
} }
@@ -73,6 +92,25 @@ export const useSidebarTabStore = defineStore('sidebarTab', () => {
registerSidebarTab(useNodeLibrarySidebarTab()) registerSidebarTab(useNodeLibrarySidebarTab())
registerSidebarTab(useModelLibrarySidebarTab()) registerSidebarTab(useModelLibrarySidebarTab())
registerSidebarTab(useWorkflowsSidebarTab()) registerSidebarTab(useWorkflowsSidebarTab())
const menuStore = useMenuItemStore()
menuStore.registerCommands(
['View'],
[
'Workspace.ToggleBottomPanel',
'Comfy.BrowseTemplates',
'Workspace.ToggleFocusMode',
'Comfy.ToggleCanvasInfo',
'Comfy.Canvas.ToggleMinimap',
'Comfy.Canvas.ToggleLinkVisibility'
]
)
menuStore.registerCommands(
['View'],
['Comfy.Canvas.ZoomIn', 'Comfy.Canvas.ZoomOut', 'Comfy.Canvas.FitView']
)
} }
return { return {

View File

@@ -16,12 +16,17 @@ export const whileMouseDown = (
callback(iteration++) callback(iteration++)
}, interval) }, interval)
const dispose = useEventListener(element, 'mouseup', () => { const dispose = () => {
clearInterval(intervalId) clearInterval(intervalId)
dispose() disposeGlobal()
}) disposeLocal()
}
// Listen for mouseup globally to catch cases where user drags out of element
const disposeGlobal = useEventListener(document, 'mouseup', dispose)
const disposeLocal = useEventListener(element, 'mouseup', dispose)
return { return {
dispose dispose: dispose
} }
} }