mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-01-26 19:09:52 +00:00
Improve install path validation and i18n (#2042)
Co-authored-by: huchenlei <huchenlei@proton.me> Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
8
package-lock.json
generated
8
package-lock.json
generated
@@ -10,7 +10,7 @@
|
||||
"license": "GPL-3.0-only",
|
||||
"dependencies": {
|
||||
"@atlaskit/pragmatic-drag-and-drop": "^1.3.1",
|
||||
"@comfyorg/comfyui-electron-types": "^0.3.34",
|
||||
"@comfyorg/comfyui-electron-types": "^0.4.3",
|
||||
"@comfyorg/litegraph": "^0.8.48",
|
||||
"@primevue/themes": "^4.0.5",
|
||||
"@vueuse/core": "^11.0.0",
|
||||
@@ -1951,9 +1951,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@comfyorg/comfyui-electron-types": {
|
||||
"version": "0.3.34",
|
||||
"resolved": "https://registry.npmjs.org/@comfyorg/comfyui-electron-types/-/comfyui-electron-types-0.3.34.tgz",
|
||||
"integrity": "sha512-l4+llMrUh/nUxuBC1A1Zicu6EAZ74pDJPm14zQpyLleNeyj71FKIkgX/hIpbCegv5CwRgYXEdEN8FqTTKugf/A==",
|
||||
"version": "0.4.3",
|
||||
"resolved": "https://registry.npmjs.org/@comfyorg/comfyui-electron-types/-/comfyui-electron-types-0.4.3.tgz",
|
||||
"integrity": "sha512-hSM3mchpsYN0e7oZ7XLWjEvFDvE1rgzaB9YkCeqIiZYZgLL78T79ssM0n5ra17Zv7Mqwl6ErZblXvbQE/36RPw==",
|
||||
"license": "GPL-3.0-only"
|
||||
},
|
||||
"node_modules/@comfyorg/litegraph": {
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@atlaskit/pragmatic-drag-and-drop": "^1.3.1",
|
||||
"@comfyorg/comfyui-electron-types": "^0.3.34",
|
||||
"@comfyorg/comfyui-electron-types": "^0.4.3",
|
||||
"@comfyorg/litegraph": "^0.8.48",
|
||||
"@primevue/themes": "^4.0.5",
|
||||
"@vueuse/core": "^11.0.0",
|
||||
|
||||
@@ -26,9 +26,12 @@
|
||||
<Button icon="pi pi-folder" @click="browsePath" class="w-12" />
|
||||
</div>
|
||||
|
||||
<Message v-if="pathError" severity="error">
|
||||
<Message v-if="pathError" severity="error" class="whitespace-pre-line">
|
||||
{{ pathError }}
|
||||
</Message>
|
||||
<Message v-if="pathExists" severity="warn">
|
||||
{{ $t('install.pathExists') }}
|
||||
</Message>
|
||||
</div>
|
||||
|
||||
<!-- System Paths Info -->
|
||||
@@ -74,6 +77,7 @@ const { t } = useI18n()
|
||||
|
||||
const installPath = defineModel<string>('installPath', { required: true })
|
||||
const pathError = defineModel<string>('pathError', { required: true })
|
||||
const pathExists = ref(false)
|
||||
const appData = ref('')
|
||||
const appPath = ref('')
|
||||
|
||||
@@ -92,11 +96,25 @@ onMounted(async () => {
|
||||
const validatePath = async (path: string) => {
|
||||
try {
|
||||
pathError.value = ''
|
||||
pathExists.value = false
|
||||
const validation = await electron.validateInstallPath(path)
|
||||
|
||||
// Create a pre-formatted list of errors
|
||||
if (!validation.isValid) {
|
||||
pathError.value = validation.error
|
||||
const errors: string[] = []
|
||||
if (validation.cannotWrite) errors.push(t('install.cannotWrite'))
|
||||
if (validation.freeSpace < validation.requiredSpace) {
|
||||
const requiredGB = validation.requiredSpace / 1024 / 1024 / 1024
|
||||
errors.push(`${t('install.insufficientFreeSpace')}: ${requiredGB} GB`)
|
||||
}
|
||||
if (validation.parentMissing) errors.push(t('install.parentMissing'))
|
||||
if (validation.error)
|
||||
errors.push(`${t('install.unhandledError')}: ${validation.error}`)
|
||||
pathError.value = errors.join('\n')
|
||||
}
|
||||
|
||||
// Display the path exists warning
|
||||
if (validation.exists) pathExists.value = true
|
||||
} catch (error) {
|
||||
pathError.value = t('install.pathValidationFailed')
|
||||
}
|
||||
|
||||
@@ -128,6 +128,11 @@
|
||||
"systemLocations": "System Locations",
|
||||
"failedToSelectDirectory": "Failed to select directory",
|
||||
"pathValidationFailed": "Failed to validate path",
|
||||
"pathExists": "Directory already exists - please ensure you have backed up all data",
|
||||
"cannotWrite": "Unable to write to the selected path",
|
||||
"insufficientFreeSpace": "Insufficient space - minimum free space",
|
||||
"parentMissing": "Path does not exist - create the containing directory first",
|
||||
"unhandledError": "Unknown error",
|
||||
"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",
|
||||
|
||||
@@ -159,6 +159,7 @@
|
||||
"install": {
|
||||
"appDataLocationTooltip": "ComfyUIのアプリデータディレクトリ。保存内容:\n- ログ\n- サーバー設定",
|
||||
"appPathLocationTooltip": "ComfyUIのアプリ資産ディレクトリ。ComfyUIのコードとアセットを保存します",
|
||||
"cannotWrite": "選択したパスに書き込むことができません",
|
||||
"chooseInstallationLocation": "インストール先を選択",
|
||||
"customNodes": "カスタムノード",
|
||||
"customNodesDescription": "既存のComfyUIインストールからカスタムノードを再インストールします。",
|
||||
@@ -185,6 +186,7 @@
|
||||
"installLocation": "インストール先",
|
||||
"installLocationDescription": "ComfyUIのユーザーデータを保存するディレクトリを選択してください。Python環境が選択した場所にインストールされます。選択したディスクに約15GBの空き容量が必要です。",
|
||||
"installLocationTooltip": "ComfyUIのユーザーデータディレクトリ。保存内容:\n- Python環境\n- モデル\n- カスタムノード\n",
|
||||
"insufficientFreeSpace": "空き容量が不足しています - 最低限の空き容量",
|
||||
"manualConfiguration": {
|
||||
"createVenv": "次のディレクトリに仮想環境を作成する必要があります",
|
||||
"requirements": "要件",
|
||||
@@ -196,6 +198,8 @@
|
||||
"migration": "移行",
|
||||
"migrationOptional": "移行は任意です。既存のインストールがない場合、このステップをスキップできます。",
|
||||
"migrationSourcePathDescription": "既存のComfyUIインストールがある場合、既存のユーザーファイルやモデルを新しいインストールにコピー/リンクできます。",
|
||||
"parentMissing": "パスが存在しません - 最初に含まれるディレクトリを作成してください",
|
||||
"pathExists": "ディレクトリはすでに存在します - すべてのデータをバックアップしたことを確認してください",
|
||||
"pathValidationFailed": "パスの検証に失敗しました",
|
||||
"selectItemsToMigrate": "移行する項目を選択",
|
||||
"settings": {
|
||||
@@ -217,7 +221,8 @@
|
||||
},
|
||||
"learnMoreAboutData": "データ収集の詳細を見る"
|
||||
},
|
||||
"systemLocations": "システムの場所"
|
||||
"systemLocations": "システムの場所",
|
||||
"unhandledError": "未知のエラー"
|
||||
},
|
||||
"menu": {
|
||||
"autoQueue": "自動キュー",
|
||||
|
||||
@@ -159,6 +159,7 @@
|
||||
"install": {
|
||||
"appDataLocationTooltip": "ComfyUI의 앱 데이터 디렉토리. 저장소:\n- 로그\n- 서버 구성",
|
||||
"appPathLocationTooltip": "ComfyUI의 앱 에셋 디렉토리. ComfyUI 코드 및 에셋을 저장합니다.",
|
||||
"cannotWrite": "선택한 경로에 쓸 수 없습니다",
|
||||
"chooseInstallationLocation": "설치 위치 선택",
|
||||
"customNodes": "사용자 정의 노드",
|
||||
"customNodesDescription": "기존 ComfyUI 설치에서 사용자 정의 노드를 다시 설치합니다.",
|
||||
@@ -185,6 +186,7 @@
|
||||
"installLocation": "설치 위치",
|
||||
"installLocationDescription": "ComfyUI의 사용자 데이터 디렉토리를 선택하십시오. 선택한 위치에 Python 환경이 설치됩니다. 선택한 디스크에 충분한 공간(~15GB)이 남아 있는지 확인하십시오.",
|
||||
"installLocationTooltip": "ComfyUI의 사용자 데이터 디렉토리. 저장소:\n- Python 환경\n- 모델\n- 사용자 정의 노드\n",
|
||||
"insufficientFreeSpace": "공간이 부족합니다 - 최소한의 여유 공간",
|
||||
"manualConfiguration": {
|
||||
"createVenv": "다음 디렉토리에 가상 환경을 생성해야 합니다",
|
||||
"requirements": "요구 사항",
|
||||
@@ -196,6 +198,8 @@
|
||||
"migration": "마이그레이션",
|
||||
"migrationOptional": "마이그레이션은 선택 사항입니다. 기존에 설치된 것이 없다면, 이 단계를 건너뛸 수 있습니다.",
|
||||
"migrationSourcePathDescription": "기존에 설치된 ComfyUI가 있는 경우, 기존 사용자 파일과 모델을 새 설치에 복사하거나 링크할 수 있습니다",
|
||||
"parentMissing": "경로가 존재하지 않습니다 - 먼저 포함하는 디렉토리를 생성하세요",
|
||||
"pathExists": "디렉토리가 이미 존재합니다 - 모든 데이터를 백업했는지 확인해 주세요",
|
||||
"pathValidationFailed": "경로 유효성 검사 실패",
|
||||
"selectItemsToMigrate": "마이그레이션 항목 선택",
|
||||
"settings": {
|
||||
@@ -217,7 +221,8 @@
|
||||
},
|
||||
"learnMoreAboutData": "데이터 수집에 대해 더 알아보기"
|
||||
},
|
||||
"systemLocations": "시스템 위치"
|
||||
"systemLocations": "시스템 위치",
|
||||
"unhandledError": "알 수 없는 오류"
|
||||
},
|
||||
"menu": {
|
||||
"autoQueue": "자동 큐",
|
||||
|
||||
@@ -159,6 +159,7 @@
|
||||
"install": {
|
||||
"appDataLocationTooltip": "Директория данных приложения ComfyUI. Хранит:\n- Логи\n- Конфигурации сервера",
|
||||
"appPathLocationTooltip": "Директория активов приложения ComfyUI. Хранит код и активы ComfyUI",
|
||||
"cannotWrite": "Невозможно записать в выбранный путь",
|
||||
"chooseInstallationLocation": "Выберите место установки",
|
||||
"customNodes": "Пользовательские узлы",
|
||||
"customNodesDescription": "Переустановите пользовательские узлы из существующих установок ComfyUI.",
|
||||
@@ -185,6 +186,7 @@
|
||||
"installLocation": "Место установки",
|
||||
"installLocationDescription": "Выберите директорию для пользовательских данных ComfyUI. В выбранном месте будет установлена среда Python. Пожалуйста, убедитесь, что на выбранном диске достаточно места (~15 ГБ).",
|
||||
"installLocationTooltip": "Директория пользовательских данных ComfyUI. Хранит:\n- Среда Python\n- Модели\n- Пользовательские узлы\n",
|
||||
"insufficientFreeSpace": "Недостаточно места - минимально необходимое свободное место",
|
||||
"manualConfiguration": {
|
||||
"createVenv": "Вам потребуется создать виртуальное окружение в следующем каталоге",
|
||||
"requirements": "Требования",
|
||||
@@ -196,6 +198,8 @@
|
||||
"migration": "Миграция",
|
||||
"migrationOptional": "Миграция является необязательной. Если у вас нет существующей установки, вы можете пропустить этот шаг.",
|
||||
"migrationSourcePathDescription": "Если у вас есть существующая установка ComfyUI, мы можем скопировать/связать ваши существующие пользовательские файлы и модели в новую установку.",
|
||||
"parentMissing": "Путь не существует - сначала создайте родительский каталог",
|
||||
"pathExists": "Директория уже существует - пожалуйста, убедитесь, что вы сделали резервное копирование всех данных",
|
||||
"pathValidationFailed": "Не удалось проверить путь",
|
||||
"selectItemsToMigrate": "Выберите элементы для миграции",
|
||||
"settings": {
|
||||
@@ -217,7 +221,8 @@
|
||||
},
|
||||
"learnMoreAboutData": "Узнать больше о сборе данных"
|
||||
},
|
||||
"systemLocations": "Системные места"
|
||||
"systemLocations": "Системные места",
|
||||
"unhandledError": "Неизвестная ошибка"
|
||||
},
|
||||
"menu": {
|
||||
"autoQueue": "Автоочередь",
|
||||
|
||||
@@ -159,6 +159,7 @@
|
||||
"install": {
|
||||
"appDataLocationTooltip": "ComfyUI 的应用数据目录。存储:\n- 日志\n- 服务器配置",
|
||||
"appPathLocationTooltip": "ComfyUI 的应用资产目录。存储 ComfyUI 代码和资产",
|
||||
"cannotWrite": "无法写入所选路径",
|
||||
"chooseInstallationLocation": "选择安装位置",
|
||||
"customNodes": "自定义节点",
|
||||
"customNodesDescription": "从现有的ComfyUI安装中重新安装自定义节点。",
|
||||
@@ -185,6 +186,7 @@
|
||||
"installLocation": "安装位置",
|
||||
"installLocationDescription": "选择 ComfyUI 用户数据的目录。将安装一个 Python 环境到所选位置。请确保所选磁盘有足够的空间(约 15GB)。",
|
||||
"installLocationTooltip": "ComfyUI 的用户数据目录。存储:\n- Python 环境\n- 模型\n- 自定义节点\n",
|
||||
"insufficientFreeSpace": "空间不足 - 最小可用空间",
|
||||
"manualConfiguration": {
|
||||
"createVenv": "您需要在以下目录中创建虚拟环境",
|
||||
"requirements": "需求",
|
||||
@@ -196,6 +198,8 @@
|
||||
"migration": "迁移",
|
||||
"migrationOptional": "迁移是可选的。如果您没有现有安装,可以跳过此步骤。",
|
||||
"migrationSourcePathDescription": "如果您有现有的 ComfyUI 安装,我们可以将您的现有用户文件和模型复制/链接到新安装。",
|
||||
"parentMissing": "路径不存在 - 首先创建包含目录",
|
||||
"pathExists": "目录已存在 - 请确保您已备份所有数据",
|
||||
"pathValidationFailed": "路径验证失败",
|
||||
"selectItemsToMigrate": "选择要迁移的项目",
|
||||
"settings": {
|
||||
@@ -217,7 +221,8 @@
|
||||
},
|
||||
"learnMoreAboutData": "了解更多关于数据收集的信息"
|
||||
},
|
||||
"systemLocations": "系统位置"
|
||||
"systemLocations": "系统位置",
|
||||
"unhandledError": "未知错误"
|
||||
},
|
||||
"menu": {
|
||||
"autoQueue": "自动执行",
|
||||
|
||||
Reference in New Issue
Block a user