diff --git a/src/i18n.ts b/src/i18n.ts index 15e3e57fd..1453a3d02 100644 --- a/src/i18n.ts +++ b/src/i18n.ts @@ -1,466 +1,16 @@ import { createI18n } from 'vue-i18n' - -const messages = { - en: { - welcome: { - title: 'Welcome to ComfyUI', - getStarted: 'Get Started' - }, - install: { - installLocation: 'Install Location', - migration: 'Migration', - desktopSettings: 'Desktop Settings', - chooseInstallationLocation: 'Choose Installation Location', - systemLocations: 'System Locations', - failedToSelectDirectory: 'Failed to select directory', - pathValidationFailed: 'Failed to validate path', - installLocationDescription: - "Select the directory for ComfyUI's user data. A python environment will be installed to the selected location. Please make sure the selected disk has enough space (~15GB) left.", - installLocationTooltip: - "ComfyUI's user data directory. Stores:\n- Python Environment\n- Models\n- Custom nodes\n", - appDataLocationTooltip: - "ComfyUI's app data directory. Stores:\n- Logs\n- Server configs", - appPathLocationTooltip: - "ComfyUI's app asset directory. Stores the ComfyUI code and assets", - migrateFromExistingInstallation: 'Migrate from Existing Installation', - migrationSourcePathDescription: - 'If you have an existing ComfyUI installation, we can copy/link your existing user files and models to the new installation.', - selectItemsToMigrate: 'Select Items to Migrate', - migrationOptional: - "Migration is optional. If you don't have an existing installation, you can skip this step.", - desktopAppSettings: 'Desktop App Settings', - desktopAppSettingsDescription: - 'Configure how ComfyUI behaves on your desktop. You can change these settings later.', - settings: { - autoUpdate: 'Automatic Updates', - allowMetrics: 'Crash Reports', - autoUpdateDescription: - "Automatically download and install updates when they become available. You'll always be notified before updates are installed.", - allowMetricsDescription: - 'Help improve ComfyUI by sending anonymous crash reports. No personal information or workflow content will be collected. This can be disabled at any time in the settings menu.', - learnMoreAboutData: 'Learn more about data collection', - dataCollectionDialog: { - title: 'About Data Collection', - whatWeCollect: 'What we collect:', - whatWeDoNotCollect: "What we don't collect:", - errorReports: 'Error message and stack trace', - systemInfo: 'Hardware, OS type, and app version', - personalInformation: 'Personal information', - workflowContent: 'Workflow content', - fileSystemInformation: 'File system information', - workflowContents: 'Workflow contents', - customNodeConfigurations: 'Custom node configurations' - } - }, - customNodes: 'Custom Nodes', - customNodesDescription: - 'Reference custom node files from existing ComfyUI installations and install their dependencies.' - }, - serverStart: { - reinstall: 'Reinstall', - reportIssue: 'Report Issue', - openLogs: 'Open Logs', - process: { - 'initial-state': 'Loading...', - 'python-setup': 'Setting up Python Environment...', - 'starting-server': 'Starting ComfyUI server...', - ready: 'Finishing...', - error: 'Unable to start ComfyUI' - } - }, - serverConfig: { - modifiedConfigs: - 'You have modified the following server configurations. Restart to apply changes.', - revertChanges: 'Revert Changes', - restart: 'Restart' - }, - comingSoon: 'Coming Soon', - firstTimeUIMessage: - 'This is the first time you use the new UI. Choose "Menu > Use New Menu > Disabled" to restore the old UI.', - download: 'Download', - loadAllFolders: 'Load All Folders', - refresh: 'Refresh', - terminal: 'Terminal', - logs: 'Logs', - videoFailedToLoad: 'Video failed to load', - extensionName: 'Extension Name', - reloadToApplyChanges: 'Reload to apply changes', - insert: 'Insert', - systemInfo: 'System Info', - devices: 'Devices', - about: 'About', - add: 'Add', - confirm: 'Confirm', - reset: 'Reset', - resetKeybindingsTooltip: 'Reset keybindings to default', - customizeFolder: 'Customize Folder', - icon: 'Icon', - color: 'Color', - bookmark: 'Bookmark', - folder: 'Folder', - star: 'Star', - heart: 'Heart', - file: 'File', - inbox: 'Inbox', - box: 'Box', - briefcase: 'Briefcase', - error: 'Error', - loading: 'Loading', - findIssues: 'Find Issues', - reportIssue: 'Send Report', - reportIssueTooltip: 'Submit the error report to Comfy Org', - reportSent: 'Report Submitted', - copyToClipboard: 'Copy to Clipboard', - openNewIssue: 'Open New Issue', - showReport: 'Show Report', - imageFailedToLoad: 'Image failed to load', - reconnecting: 'Reconnecting', - reconnected: 'Reconnected', - delete: 'Delete', - rename: 'Rename', - customize: 'Customize', - experimental: 'BETA', - deprecated: 'DEPR', - loadWorkflow: 'Load Workflow', - goToNode: 'Go to Node', - settings: 'Settings', - searchWorkflows: 'Search Workflows', - searchSettings: 'Search Settings', - searchNodes: 'Search Nodes', - searchModels: 'Search Models', - searchKeybindings: 'Search Keybindings', - searchExtensions: 'Search Extensions', - noResultsFound: 'No Results Found', - searchFailedMessage: - "We couldn't find any settings matching your search. Try adjusting your search terms.", - noTasksFound: 'No Tasks Found', - noTasksFoundMessage: 'There are no tasks in the queue.', - newFolder: 'New Folder', - sideToolbar: { - themeToggle: 'Toggle Theme', - queue: 'Queue', - nodeLibrary: 'Node Library', - workflows: 'Workflows', - browseTemplates: 'Browse example templates', - openWorkflow: 'Open workflow in local file system', - newBlankWorkflow: 'Create a new blank workflow', - nodeLibraryTab: { - sortOrder: 'Sort Order' - }, - modelLibrary: 'Model Library', - downloads: 'Downloads', - queueTab: { - showFlatList: 'Show Flat List', - backToAllTasks: 'Back to All Tasks', - containImagePreview: 'Fill Image Preview', - coverImagePreview: 'Fit Image Preview', - clearPendingTasks: 'Clear Pending Tasks', - filter: 'Filter Outputs', - filters: { - hideCached: 'Hide Cached', - hideCanceled: 'Hide Canceled' - } - } - }, - menu: { - hideMenu: 'Hide Menu', - showMenu: 'Show Menu', - batchCount: 'Batch Count', - batchCountTooltip: - 'The number of times the workflow generation should be queued', - autoQueue: 'Auto Queue', - disabled: 'Disabled', - disabledTooltip: 'The workflow will not be automatically queued', - instant: 'Instant', - instantTooltip: - 'The workflow will be queued instantly after a generation finishes', - change: 'On Change', - changeTooltip: 'The workflow will be queued once a change is made', - queueWorkflow: 'Queue workflow (Shift to queue at front)', - queueWorkflowFront: 'Queue workflow at front', - queue: 'Queue', - interrupt: 'Cancel current run', - refresh: 'Refresh node definitions', - clipspace: 'Open Clipspace', - resetView: 'Reset canvas view', - clear: 'Clear workflow', - toggleBottomPanel: 'Toggle Bottom Panel' - }, - templateWorkflows: { - title: 'Get Started with a Template', - template: { - default: 'Image Generation', - image2image: 'Image to Image', - upscale: '2 Pass Upscale', - flux_schnell: 'Flux Schnell' - } - }, - graphCanvasMenu: { - zoomIn: 'Zoom In', - zoomOut: 'Zoom Out', - resetView: 'Reset View', - fitView: 'Fit View', - selectMode: 'Select Mode', - panMode: 'Pan Mode', - toggleLinkVisibility: 'Toggle Link Visibility' - }, - electronFileDownload: { - inProgress: 'In Progress', - pause: 'Pause Download', - paused: 'Paused', - resume: 'Resume Download', - cancel: 'Cancel Download', - cancelled: 'Cancelled' - } - }, - zh: { - firstTimeUIMessage: - '这是您第一次使用新界面。选择“Menu > Use New Menu > Disabled”以恢复旧界面。', - download: '下载', - loadAllFolders: '加载所有文件夹', - refresh: '刷新', - terminal: '终端', - videoFailedToLoad: '视频加载失败', - extensionName: '扩展名称', - reloadToApplyChanges: '重新加载以应用更改', - insert: '插入', - systemInfo: '系统信息', - devices: '设备', - about: '关于', - add: '添加', - confirm: '确认', - reset: '重置', - resetKeybindingsTooltip: '重置键位', - customizeFolder: '定制文件夹', - icon: '图标', - color: '颜色', - bookmark: '书签', - folder: '文件夹', - star: '星星', - heart: '心', - file: '文件', - inbox: '收件箱', - box: '盒子', - briefcase: '公文包', - error: '错误', - loading: '加载中', - findIssues: '查找 Issue', - copyToClipboard: '复制到剪贴板', - openNewIssue: '开启新 Issue', - showReport: '显示报告', - imageFailedToLoad: '图像加载失败', - reconnecting: '重新连接中', - reconnected: '已重新连接', - delete: '删除', - rename: '重命名', - customize: '定制', - experimental: 'BETA', - deprecated: '弃用', - loadWorkflow: '加载工作流', - goToNode: '前往节点', - settings: '设置', - searchWorkflows: '搜索工作流', - searchSettings: '搜索设置', - searchNodes: '搜索节点', - searchModels: '搜索模型', - searchKeybindings: '搜索键位', - searchExtensions: '搜索插件', - noResultsFound: '未找到结果', - searchFailedMessage: - '我们找不到与您的搜索匹配的任何设置。请尝试调整搜索条件。', - noContent: '(无内容)', - noTasksFound: '未找到任务', - noTasksFoundMessage: '队列中没有任务。', - newFolder: '新建文件夹', - sideToolbar: { - themeToggle: '主题切换', - queue: '队列', - nodeLibrary: '节点库', - workflows: '工作流', - browseTemplates: '浏览示例模板', - openWorkflow: '在本地文件系统中打开工作流', - newBlankWorkflow: '创建一个新空白工作流', - nodeLibraryTab: { - sortOrder: '排序顺序' - }, - modelLibrary: '模型库', - queueTab: { - showFlatList: '平铺结果', - backToAllTasks: '返回', - containImagePreview: '填充图像预览', - coverImagePreview: '适应图像预览', - clearPendingTasks: '清除待处理任务' - } - }, - menu: { - hideMenu: '隐藏菜单', - showMenu: '显示菜单', - batchCount: '批次数量', - batchCountTooltip: '工作流生成次数', - autoQueue: '自动执行', - disabled: '禁用', - disabledTooltip: '工作流将不会自动执行', - instant: '实时', - instantTooltip: '工作流将会在生成完成后立即执行', - change: '变动', - changeTooltip: '工作流将会在改变后执行', - queueWorkflow: '执行 (Shift 执行到队列首)', - queueWorkflowFront: '执行到队列首', - queue: '队列', - interrupt: '取消当前任务', - refresh: '刷新节点', - clipspace: '打开剪贴板', - resetView: '重置画布视图', - clear: '清空工作流', - toggleBottomPanel: '底部面板' - }, - templateWorkflows: { - title: '从模板开始', - template: { - default: 'Image Generation', - image2image: 'Image to Image', - upscale: '2 Pass Upscale', - flux_schnell: 'Flux Schnell' - } - }, - graphCanvasMenu: { - zoomIn: '放大', - zoomOut: '缩小', - resetView: '重置视图', - fitView: '适应视图', - selectMode: '选择模式', - panMode: '平移模式', - toggleLinkVisibility: '切换链接可见性' - } - }, - ru: { - download: 'Скачать', - refresh: 'Обновить', - loadAllFolders: 'Загрузить все папки', - terminal: 'Терминал', - videoFailedToLoad: 'Видео не удалось загрузить', - extensionName: 'Название расширения', - reloadToApplyChanges: 'Перезагрузите, чтобы применить изменения', - insert: 'Вставить', - systemInfo: 'Информация о системе', - devices: 'Устройства', - about: 'О', - add: 'Добавить', - confirm: 'Подтвердить', - reset: 'Сбросить', - resetKeybindingsTooltip: 'Сбросить сочетания клавиш по умолчанию', - customizeFolder: 'Настроить папку', - icon: 'Иконка', - color: 'Цвет', - bookmark: 'Закладка', - folder: 'Папка', - star: 'Звёздочка', - heart: 'Сердце', - file: 'Файл', - inbox: 'Входящие', - box: 'Ящик', - briefcase: 'Чемодан', - error: 'Ошибка', - loading: 'Загрузка', - findIssues: 'Найти Issue', - copyToClipboard: 'Копировать в буфер обмена', - openNewIssue: 'Открыть новый Issue', - showReport: 'Показать отчёт', - imageFailedToLoad: 'Изображение не удалось загрузить', - reconnecting: 'Переподключение', - reconnected: 'Переподключено', - delete: 'Удалить', - rename: 'Переименовать', - customize: 'Настроить', - experimental: 'БЕТА', - deprecated: 'УСТАР', - loadWorkflow: 'Загрузить рабочий процесс', - goToNode: 'Перейти к узлу', - settings: 'Настройки', - searchWorkflows: 'Поиск рабочих процессов', - searchSettings: 'Поиск настроек', - searchNodes: 'Поиск узлов', - searchModels: 'Поиск моделей', - searchKeybindings: 'Поиск сочетаний клавиш', - searchExtensions: 'Поиск расширений', - noResultsFound: 'Ничего не найдено', - searchFailedMessage: - 'Не удалось найти ни одной настройки, соответствующей вашему запросу. Попробуйте скорректировать поисковый запрос.', - noContent: '(Нет контента)', - noTasksFound: 'Задачи не найдены', - noTasksFoundMessage: 'В очереди нет задач.', - newFolder: 'Новая папка', - sideToolbar: { - themeToggle: 'Переключить тему', - queue: 'Очередь', - nodeLibrary: 'Библиотека узлов', - workflows: 'Рабочие процессы', - browseTemplates: 'Просмотреть примеры шаблонов', - openWorkflow: 'Открыть рабочий процесс в локальной файловой системе', - newBlankWorkflow: 'Создайте новый пустой рабочий процесс', - nodeLibraryTab: { - sortOrder: 'Порядок сортировки' - }, - modelLibrary: 'Библиотека моделей', - queueTab: { - showFlatList: 'Показать плоский список', - backToAllTasks: 'Вернуться ко всем задачам', - containImagePreview: 'Предпросмотр заливающего изображения', - coverImagePreview: 'Предпросмотр подходящего изображения', - clearPendingTasks: 'Очистить отложенные задачи' - } - }, - menu: { - hideMenu: 'Скрыть меню', - showMenu: 'Показать меню', - batchCount: 'Количество пакетов', - batchCountTooltip: - 'Количество раз, когда генерация рабочего процесса должна быть помещена в очередь', - autoQueue: 'Автоочередь', - disabled: 'Отключено', - disabledTooltip: - 'Рабочий процесс не будет автоматически помещён в очередь', - instant: 'Мгновенно', - instantTooltip: - 'Рабочий процесс будет помещён в очередь сразу же после завершения генерации', - change: 'При изменении', - changeTooltip: - 'Рабочий процесс будет поставлен в очередь после внесения изменений', - queueWorkflow: 'Очередь рабочего процесса (Shift для вставки спереди)', - queueWorkflowFront: 'Очередь рабочего процесса (Вставка спереди)', - queue: 'Очередь', - interrupt: 'Отменить текущее выполнение', - refresh: 'Обновить определения узлов', - clipspace: 'Открыть Clipspace', - resetView: 'Сбросить вид холста', - clear: 'Очистить рабочий процесс' - }, - templateWorkflows: { - title: 'Начните работу с шаблона', - template: { - default: 'Image Generation', - image2image: 'Image to Image', - upscale: '2 Pass Upscale', - flux_schnell: 'Flux Schnell' - } - }, - graphCanvasMenu: { - zoomIn: 'Увеличить', - zoomOut: 'Уменьшить', - resetView: 'Сбросить вид', - fitView: 'Подгонять под выделенные', - selectMode: 'Выбрать режим', - panMode: 'Режим панорамирования', - toggleLinkVisibility: 'Переключить видимость ссылок' - } - } - // TODO: Add more languages -} +import en from './locales/en' +import zh from './locales/zh' +import ru from './locales/ru' export const i18n = createI18n({ // Must set `false`, as Vue I18n Legacy API is for Vue 2 legacy: false, locale: navigator.language.split('-')[0] || 'en', fallbackLocale: 'en', - messages + messages: { + en, + zh, + ru + } }) diff --git a/src/locales/en.ts b/src/locales/en.ts new file mode 100644 index 000000000..e3ad3da67 --- /dev/null +++ b/src/locales/en.ts @@ -0,0 +1,212 @@ +export default { + welcome: { + title: 'Welcome to ComfyUI', + getStarted: 'Get Started' + }, + install: { + installLocation: 'Install Location', + migration: 'Migration', + desktopSettings: 'Desktop Settings', + chooseInstallationLocation: 'Choose Installation Location', + systemLocations: 'System Locations', + failedToSelectDirectory: 'Failed to select directory', + pathValidationFailed: 'Failed to validate path', + installLocationDescription: + "Select the directory for ComfyUI's user data. A python environment will be installed to the selected location. Please make sure the selected disk has enough space (~15GB) left.", + installLocationTooltip: + "ComfyUI's user data directory. Stores:\n- Python Environment\n- Models\n- Custom nodes\n", + appDataLocationTooltip: + "ComfyUI's app data directory. Stores:\n- Logs\n- Server configs", + appPathLocationTooltip: + "ComfyUI's app asset directory. Stores the ComfyUI code and assets", + migrateFromExistingInstallation: 'Migrate from Existing Installation', + migrationSourcePathDescription: + 'If you have an existing ComfyUI installation, we can copy/link your existing user files and models to the new installation.', + selectItemsToMigrate: 'Select Items to Migrate', + migrationOptional: + "Migration is optional. If you don't have an existing installation, you can skip this step.", + desktopAppSettings: 'Desktop App Settings', + desktopAppSettingsDescription: + 'Configure how ComfyUI behaves on your desktop. You can change these settings later.', + settings: { + autoUpdate: 'Automatic Updates', + allowMetrics: 'Crash Reports', + autoUpdateDescription: + "Automatically download and install updates when they become available. You'll always be notified before updates are installed.", + allowMetricsDescription: + 'Help improve ComfyUI by sending anonymous crash reports. No personal information or workflow content will be collected. This can be disabled at any time in the settings menu.', + learnMoreAboutData: 'Learn more about data collection', + dataCollectionDialog: { + title: 'About Data Collection', + whatWeCollect: 'What we collect:', + whatWeDoNotCollect: "What we don't collect:", + errorReports: 'Error message and stack trace', + systemInfo: 'Hardware, OS type, and app version', + personalInformation: 'Personal information', + workflowContent: 'Workflow content', + fileSystemInformation: 'File system information', + workflowContents: 'Workflow contents', + customNodeConfigurations: 'Custom node configurations' + } + }, + customNodes: 'Custom Nodes', + customNodesDescription: + 'Reference custom node files from existing ComfyUI installations and install their dependencies.' + }, + serverStart: { + reinstall: 'Reinstall', + reportIssue: 'Report Issue', + openLogs: 'Open Logs', + process: { + 'initial-state': 'Loading...', + 'python-setup': 'Setting up Python Environment...', + 'starting-server': 'Starting ComfyUI server...', + ready: 'Finishing...', + error: 'Unable to start ComfyUI' + } + }, + serverConfig: { + modifiedConfigs: + 'You have modified the following server configurations. Restart to apply changes.', + revertChanges: 'Revert Changes', + restart: 'Restart' + }, + comingSoon: 'Coming Soon', + firstTimeUIMessage: + 'This is the first time you use the new UI. Choose "Menu > Use New Menu > Disabled" to restore the old UI.', + download: 'Download', + loadAllFolders: 'Load All Folders', + refresh: 'Refresh', + terminal: 'Terminal', + logs: 'Logs', + videoFailedToLoad: 'Video failed to load', + extensionName: 'Extension Name', + reloadToApplyChanges: 'Reload to apply changes', + insert: 'Insert', + systemInfo: 'System Info', + devices: 'Devices', + about: 'About', + add: 'Add', + confirm: 'Confirm', + reset: 'Reset', + resetKeybindingsTooltip: 'Reset keybindings to default', + customizeFolder: 'Customize Folder', + icon: 'Icon', + color: 'Color', + bookmark: 'Bookmark', + folder: 'Folder', + star: 'Star', + heart: 'Heart', + file: 'File', + inbox: 'Inbox', + box: 'Box', + briefcase: 'Briefcase', + error: 'Error', + loading: 'Loading', + findIssues: 'Find Issues', + reportIssue: 'Send Report', + reportIssueTooltip: 'Submit the error report to Comfy Org', + reportSent: 'Report Submitted', + copyToClipboard: 'Copy to Clipboard', + openNewIssue: 'Open New Issue', + showReport: 'Show Report', + imageFailedToLoad: 'Image failed to load', + reconnecting: 'Reconnecting', + reconnected: 'Reconnected', + delete: 'Delete', + rename: 'Rename', + customize: 'Customize', + experimental: 'BETA', + deprecated: 'DEPR', + loadWorkflow: 'Load Workflow', + goToNode: 'Go to Node', + settings: 'Settings', + searchWorkflows: 'Search Workflows', + searchSettings: 'Search Settings', + searchNodes: 'Search Nodes', + searchModels: 'Search Models', + searchKeybindings: 'Search Keybindings', + searchExtensions: 'Search Extensions', + noResultsFound: 'No Results Found', + searchFailedMessage: + "We couldn't find any settings matching your search. Try adjusting your search terms.", + noTasksFound: 'No Tasks Found', + noTasksFoundMessage: 'There are no tasks in the queue.', + newFolder: 'New Folder', + sideToolbar: { + themeToggle: 'Toggle Theme', + queue: 'Queue', + nodeLibrary: 'Node Library', + workflows: 'Workflows', + browseTemplates: 'Browse example templates', + openWorkflow: 'Open workflow in local file system', + newBlankWorkflow: 'Create a new blank workflow', + nodeLibraryTab: { + sortOrder: 'Sort Order' + }, + modelLibrary: 'Model Library', + downloads: 'Downloads', + queueTab: { + showFlatList: 'Show Flat List', + backToAllTasks: 'Back to All Tasks', + containImagePreview: 'Fill Image Preview', + coverImagePreview: 'Fit Image Preview', + clearPendingTasks: 'Clear Pending Tasks', + filter: 'Filter Outputs', + filters: { + hideCached: 'Hide Cached', + hideCanceled: 'Hide Canceled' + } + } + }, + menu: { + hideMenu: 'Hide Menu', + showMenu: 'Show Menu', + batchCount: 'Batch Count', + batchCountTooltip: + 'The number of times the workflow generation should be queued', + autoQueue: 'Auto Queue', + disabled: 'Disabled', + disabledTooltip: 'The workflow will not be automatically queued', + instant: 'Instant', + instantTooltip: + 'The workflow will be queued instantly after a generation finishes', + change: 'On Change', + changeTooltip: 'The workflow will be queued once a change is made', + queueWorkflow: 'Queue workflow (Shift to queue at front)', + queueWorkflowFront: 'Queue workflow at front', + queue: 'Queue', + interrupt: 'Cancel current run', + refresh: 'Refresh node definitions', + clipspace: 'Open Clipspace', + resetView: 'Reset canvas view', + clear: 'Clear workflow', + toggleBottomPanel: 'Toggle Bottom Panel' + }, + templateWorkflows: { + title: 'Get Started with a Template', + template: { + default: 'Image Generation', + image2image: 'Image to Image', + upscale: '2 Pass Upscale', + flux_schnell: 'Flux Schnell' + } + }, + graphCanvasMenu: { + zoomIn: 'Zoom In', + zoomOut: 'Zoom Out', + resetView: 'Reset View', + fitView: 'Fit View', + selectMode: 'Select Mode', + panMode: 'Pan Mode', + toggleLinkVisibility: 'Toggle Link Visibility' + }, + electronFileDownload: { + inProgress: 'In Progress', + pause: 'Pause Download', + paused: 'Paused', + resume: 'Resume Download', + cancel: 'Cancel Download', + cancelled: 'Cancelled' + } +} diff --git a/src/locales/ru.ts b/src/locales/ru.ts new file mode 100644 index 000000000..459f1e284 --- /dev/null +++ b/src/locales/ru.ts @@ -0,0 +1,120 @@ +export default { + download: 'Скачать', + refresh: 'Обновить', + loadAllFolders: 'Загрузить все папки', + terminal: 'Терминал', + videoFailedToLoad: 'Видео не удалось загрузить', + extensionName: 'Название расширения', + reloadToApplyChanges: 'Перезагрузите, чтобы применить изменения', + insert: 'Вставить', + systemInfo: 'Информация о системе', + devices: 'Устройства', + about: 'О', + add: 'Добавить', + confirm: 'Подтвердить', + reset: 'Сбросить', + resetKeybindingsTooltip: 'Сбросить сочетания клавиш по умолчанию', + customizeFolder: 'Настроить папку', + icon: 'Иконка', + color: 'Цвет', + bookmark: 'Закладка', + folder: 'Папка', + star: 'Звёздочка', + heart: 'Сердце', + file: 'Файл', + inbox: 'Входящие', + box: 'Ящик', + briefcase: 'Чемодан', + error: 'Ошибка', + loading: 'Загрузка', + findIssues: 'Найти Issue', + copyToClipboard: 'Копировать в буфер обмена', + openNewIssue: 'Открыть новый Issue', + showReport: 'Показать отчёт', + imageFailedToLoad: 'Изображение не удалось загрузить', + reconnecting: 'Переподключение', + reconnected: 'Переподключено', + delete: 'Удалить', + rename: 'Переименовать', + customize: 'Настроить', + experimental: 'БЕТА', + deprecated: 'УСТАР', + loadWorkflow: 'Загрузить рабочий процесс', + goToNode: 'Перейти к узлу', + settings: 'Настройки', + searchWorkflows: 'Поиск рабочих процессов', + searchSettings: 'Поиск настроек', + searchNodes: 'Поиск узлов', + searchModels: 'Поиск моделей', + searchKeybindings: 'Поиск сочетаний клавиш', + searchExtensions: 'Поиск расширений', + noResultsFound: 'Ничего не найдено', + searchFailedMessage: + 'Не удалось найти ни одной настройки, соответствующей вашему запросу. Попробуйте скорректировать поисковый запрос.', + noContent: '(Нет контента)', + noTasksFound: 'Задачи не найдены', + noTasksFoundMessage: 'В очереди нет задач.', + newFolder: 'Новая папка', + sideToolbar: { + themeToggle: 'Переключить тему', + queue: 'Очередь', + nodeLibrary: 'Библиотека узлов', + workflows: 'Рабочие процессы', + browseTemplates: 'Просмотреть примеры шаблонов', + openWorkflow: 'Открыть рабочий процесс в локальной файловой системе', + newBlankWorkflow: 'Создайте новый пустой рабочий процесс', + nodeLibraryTab: { + sortOrder: 'Порядок сортировки' + }, + modelLibrary: 'Библиотека моделей', + queueTab: { + showFlatList: 'Показать плоский список', + backToAllTasks: 'Вернуться ко всем задачам', + containImagePreview: 'Предпросмотр заливающего изображения', + coverImagePreview: 'Предпросмотр подходящего изображения', + clearPendingTasks: 'Очистить отложенные задачи' + } + }, + menu: { + hideMenu: 'Скрыть меню', + showMenu: 'Показать меню', + batchCount: 'Количество пакетов', + batchCountTooltip: + 'Количество раз, когда генерация рабочего процесса должна быть помещена в очередь', + autoQueue: 'Автоочередь', + disabled: 'Отключено', + disabledTooltip: 'Рабочий процесс не будет автоматически помещён в очередь', + instant: 'Мгновенно', + instantTooltip: + 'Рабочий процесс будет помещён в очередь сразу же после завершения генерации', + change: 'При изменении', + changeTooltip: + 'Рабочий процесс будет поставлен в очередь после внесения изменений', + queueWorkflow: 'Очередь рабочего процесса (Shift для вставки спереди)', + queueWorkflowFront: 'Очередь рабочего процесса (Вставка спереди)', + queue: 'Очередь', + interrupt: 'Отменить текущее выполнение', + refresh: 'Обновить определения узлов', + clipspace: 'Открыть Clipspace', + resetView: 'Сбросить вид холста', + clear: 'Очистить рабочий процесс' + }, + templateWorkflows: { + title: 'Начните работу с шаблона', + template: { + default: 'Image Generation', + image2image: 'Image to Image', + upscale: '2 Pass Upscale', + flux_schnell: 'Flux Schnell' + } + }, + graphCanvasMenu: { + zoomIn: 'Увеличить', + zoomOut: 'Уменьшить', + resetView: 'Сбросить вид', + fitView: 'Подгонять под выделенные', + selectMode: 'Выбрать режим', + panMode: 'Режим панорамирования', + toggleLinkVisibility: 'Переключить видимость ссылок' + } +} diff --git a/src/locales/zh.ts b/src/locales/zh.ts new file mode 100644 index 000000000..fc47e44d5 --- /dev/null +++ b/src/locales/zh.ts @@ -0,0 +1,120 @@ +export default { + firstTimeUIMessage: + '这是您第一次使用新界面。选择“Menu > Use New Menu > Disabled”以恢复旧界面。', + download: '下载', + loadAllFolders: '加载所有文件夹', + refresh: '刷新', + terminal: '终端', + videoFailedToLoad: '视频加载失败', + extensionName: '扩展名称', + reloadToApplyChanges: '重新加载以应用更改', + insert: '插入', + systemInfo: '系统信息', + devices: '设备', + about: '关于', + add: '添加', + confirm: '确认', + reset: '重置', + resetKeybindingsTooltip: '重置键位', + customizeFolder: '定制文件夹', + icon: '图标', + color: '颜色', + bookmark: '书签', + folder: '文件夹', + star: '星星', + heart: '心', + file: '文件', + inbox: '收件箱', + box: '盒子', + briefcase: '公文包', + error: '错误', + loading: '加载中', + findIssues: '查找 Issue', + copyToClipboard: '复制到剪贴板', + openNewIssue: '开启新 Issue', + showReport: '显示报告', + imageFailedToLoad: '图像加载失败', + reconnecting: '重新连接中', + reconnected: '已重新连接', + delete: '删除', + rename: '重命名', + customize: '定制', + experimental: 'BETA', + deprecated: '弃用', + loadWorkflow: '加载工作流', + goToNode: '前往节点', + settings: '设置', + searchWorkflows: '搜索工作流', + searchSettings: '搜索设置', + searchNodes: '搜索节点', + searchModels: '搜索模型', + searchKeybindings: '搜索键位', + searchExtensions: '搜索插件', + noResultsFound: '未找到结果', + searchFailedMessage: + '我们找不到与您的搜索匹配的任何设置。请尝试调整搜索条件。', + noContent: '(无内容)', + noTasksFound: '未找到任务', + noTasksFoundMessage: '队列中没有任务。', + newFolder: '新建文件夹', + sideToolbar: { + themeToggle: '主题切换', + queue: '队列', + nodeLibrary: '节点库', + workflows: '工作流', + browseTemplates: '浏览示例模板', + openWorkflow: '在本地文件系统中打开工作流', + newBlankWorkflow: '创建一个新空白工作流', + nodeLibraryTab: { + sortOrder: '排序顺序' + }, + modelLibrary: '模型库', + queueTab: { + showFlatList: '平铺结果', + backToAllTasks: '返回', + containImagePreview: '填充图像预览', + coverImagePreview: '适应图像预览', + clearPendingTasks: '清除待处理任务' + } + }, + menu: { + hideMenu: '隐藏菜单', + showMenu: '显示菜单', + batchCount: '批次数量', + batchCountTooltip: '工作流生成次数', + autoQueue: '自动执行', + disabled: '禁用', + disabledTooltip: '工作流将不会自动执行', + instant: '实时', + instantTooltip: '工作流将会在生成完成后立即执行', + change: '变动', + changeTooltip: '工作流将会在改变后执行', + queueWorkflow: '执行 (Shift 执行到队列首)', + queueWorkflowFront: '执行到队列首', + queue: '队列', + interrupt: '取消当前任务', + refresh: '刷新节点', + clipspace: '打开剪贴板', + resetView: '重置画布视图', + clear: '清空工作流', + toggleBottomPanel: '底部面板' + }, + templateWorkflows: { + title: '从模板开始', + template: { + default: 'Image Generation', + image2image: 'Image to Image', + upscale: '2 Pass Upscale', + flux_schnell: 'Flux Schnell' + } + }, + graphCanvasMenu: { + zoomIn: '放大', + zoomOut: '缩小', + resetView: '重置视图', + fitView: '适应视图', + selectMode: '选择模式', + panMode: '平移模式', + toggleLinkVisibility: '切换链接可见性' + } +}