Add consent prompt view (#2268)

Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
bymyself
2025-01-17 15:39:50 -07:00
committed by GitHub
parent af26b9ad6d
commit 3df911c1bf
11 changed files with 163 additions and 14 deletions

9
package-lock.json generated
View File

@@ -10,7 +10,7 @@
"license": "GPL-3.0-only", "license": "GPL-3.0-only",
"dependencies": { "dependencies": {
"@atlaskit/pragmatic-drag-and-drop": "^1.3.1", "@atlaskit/pragmatic-drag-and-drop": "^1.3.1",
"@comfyorg/comfyui-electron-types": "^0.4.9", "@comfyorg/comfyui-electron-types": "^0.4.10",
"@comfyorg/litegraph": "^0.8.60", "@comfyorg/litegraph": "^0.8.60",
"@primevue/themes": "^4.0.5", "@primevue/themes": "^4.0.5",
"@sentry/vue": "^8.48.0", "@sentry/vue": "^8.48.0",
@@ -1936,10 +1936,9 @@
"dev": true "dev": true
}, },
"node_modules/@comfyorg/comfyui-electron-types": { "node_modules/@comfyorg/comfyui-electron-types": {
"version": "0.4.9", "version": "0.4.10",
"resolved": "https://registry.npmjs.org/@comfyorg/comfyui-electron-types/-/comfyui-electron-types-0.4.9.tgz", "resolved": "https://registry.npmjs.org/@comfyorg/comfyui-electron-types/-/comfyui-electron-types-0.4.10.tgz",
"integrity": "sha512-040f9E3wE3Vhu+jG+w3hoN4fvw76lavA3hsZfcJ21pU+i/6aiqiopSXm76rppURf+Tk689dm+0FGq3V60rZ68Q==", "integrity": "sha512-UWBgyuWeV7vussYZVUYhCe0jj+XbIq2nglrCUy6IgFgXp9pbE8Ktg5D36WxE0RWj6SvVXErlCL9wWnMktaRbCA=="
"license": "GPL-3.0-only"
}, },
"node_modules/@comfyorg/litegraph": { "node_modules/@comfyorg/litegraph": {
"version": "0.8.60", "version": "0.8.60",

View File

@@ -83,7 +83,7 @@
}, },
"dependencies": { "dependencies": {
"@atlaskit/pragmatic-drag-and-drop": "^1.3.1", "@atlaskit/pragmatic-drag-and-drop": "^1.3.1",
"@comfyorg/comfyui-electron-types": "^0.4.9", "@comfyorg/comfyui-electron-types": "^0.4.10",
"@comfyorg/litegraph": "^0.8.60", "@comfyorg/litegraph": "^0.8.60",
"@primevue/themes": "^4.0.5", "@primevue/themes": "^4.0.5",
"@sentry/vue": "^8.48.0", "@sentry/vue": "^8.48.0",

View File

@@ -70,7 +70,9 @@
"keybinding": "Keybinding", "keybinding": "Keybinding",
"upload": "Upload", "upload": "Upload",
"export": "Export", "export": "Export",
"workflow": "Workflow" "workflow": "Workflow",
"success": "Success",
"ok": "OK"
}, },
"issueReport": { "issueReport": {
"submitErrorReport": "Submit Error Report (Optional)", "submitErrorReport": "Submit Error Report (Optional)",
@@ -182,6 +184,8 @@
"settings": { "settings": {
"autoUpdate": "Automatic Updates", "autoUpdate": "Automatic Updates",
"allowMetrics": "Usage Metrics", "allowMetrics": "Usage Metrics",
"errorUpdatingConsent": "Error Updating Consent",
"errorUpdatingConsentDetail": "Failed to update metrics consent settings",
"autoUpdateDescription": "Automatically download updates when they become available. You will be notified before updates are installed.", "autoUpdateDescription": "Automatically download updates when they become available. You will be notified before updates are installed.",
"allowMetricsDescription": "Help improve ComfyUI by sending anonymous usage metrics. No personal information or workflow content will be collected.", "allowMetricsDescription": "Help improve ComfyUI by sending anonymous usage metrics. No personal information or workflow content will be collected.",
"learnMoreAboutData": "Learn more about data collection", "learnMoreAboutData": "Learn more about data collection",
@@ -204,7 +208,13 @@
} }
}, },
"customNodes": "Custom Nodes", "customNodes": "Custom Nodes",
"customNodesDescription": "Reinstall custom nodes from existing ComfyUI installations." "customNodesDescription": "Reinstall custom nodes from existing ComfyUI installations.",
"helpImprove": "Please help improve ComfyUI",
"moreInfo": "For more info, please read our",
"privacyPolicy": "privacy policy",
"metricsEnabled": "Metrics Enabled",
"metricsDisabled": "Metrics Disabled",
"updateConsent": "You previously opted in to reporting crashes. We are now tracking event-based metrics to help identify bugs and improve the app. No personal identifiable information is collected."
}, },
"serverStart": { "serverStart": {
"reinstall": "Reinstall", "reinstall": "Reinstall",

View File

@@ -107,6 +107,7 @@
"noTasksFound": "Aucune tâche trouvée", "noTasksFound": "Aucune tâche trouvée",
"noTasksFoundMessage": "Il n'y a pas de tâches dans la file d'attente.", "noTasksFoundMessage": "Il n'y a pas de tâches dans la file d'attente.",
"noWorkflowsFound": "Aucun flux de travail trouvé.", "noWorkflowsFound": "Aucun flux de travail trouvé.",
"ok": "OK",
"openNewIssue": "Ouvrir un nouveau problème", "openNewIssue": "Ouvrir un nouveau problème",
"overwrite": "Écraser", "overwrite": "Écraser",
"reconnected": "Reconnecté", "reconnected": "Reconnecté",
@@ -129,6 +130,7 @@
"searchWorkflows": "Rechercher des flux de travail", "searchWorkflows": "Rechercher des flux de travail",
"settings": "Paramètres", "settings": "Paramètres",
"showReport": "Afficher le rapport", "showReport": "Afficher le rapport",
"success": "Succès",
"systemInfo": "Informations système", "systemInfo": "Informations système",
"terminal": "Terminal", "terminal": "Terminal",
"upload": "Téléverser", "upload": "Téléverser",
@@ -186,6 +188,7 @@
"selectGpu": "Sélectionnez le GPU", "selectGpu": "Sélectionnez le GPU",
"selectGpuDescription": "Sélectionnez le type de GPU que vous avez" "selectGpuDescription": "Sélectionnez le type de GPU que vous avez"
}, },
"helpImprove": "Veuillez aider à améliorer ComfyUI",
"installLocation": "Emplacement d'installation", "installLocation": "Emplacement d'installation",
"installLocationDescription": "Sélectionnez le répertoire pour les données utilisateur de ComfyUI. Un environnement python sera installé à l'emplacement sélectionné. Veuillez vous assurer que le disque sélectionné a suffisamment d'espace (~15GB) restant.", "installLocationDescription": "Sélectionnez le répertoire pour les données utilisateur de ComfyUI. Un environnement python sera installé à l'emplacement sélectionné. Veuillez vous assurer que le disque sélectionné a suffisamment d'espace (~15GB) restant.",
"installLocationTooltip": "Répertoire des données utilisateur de ComfyUI. Stocke :\n- Environnement Python\n- Modèles\n- Nœuds personnalisés\n", "installLocationTooltip": "Répertoire des données utilisateur de ComfyUI. Stocke :\n- Environnement Python\n- Modèles\n- Nœuds personnalisés\n",
@@ -197,13 +200,17 @@
"title": "Configuration manuelle", "title": "Configuration manuelle",
"virtualEnvironmentPath": "Chemin de l'environnement virtuel" "virtualEnvironmentPath": "Chemin de l'environnement virtuel"
}, },
"metricsDisabled": "Métriques désactivées",
"metricsEnabled": "Métriques activées",
"migrateFromExistingInstallation": "Migrer à partir d'une installation existante", "migrateFromExistingInstallation": "Migrer à partir d'une installation existante",
"migration": "Migration", "migration": "Migration",
"migrationOptional": "La migration est facultative. Si vous n'avez pas d'installation existante, vous pouvez sauter cette étape.", "migrationOptional": "La migration est facultative. Si vous n'avez pas d'installation existante, vous pouvez sauter cette étape.",
"migrationSourcePathDescription": "Si vous avez une installation existante de ComfyUI, nous pouvons copier/lier vos fichiers utilisateur et modèles existants à la nouvelle installation. Votre installation existante de ComfyUI ne sera pas affectée.", "migrationSourcePathDescription": "Si vous avez une installation existante de ComfyUI, nous pouvons copier/lier vos fichiers utilisateur et modèles existants à la nouvelle installation. Votre installation existante de ComfyUI ne sera pas affectée.",
"moreInfo": "Pour plus d'informations, veuillez lire notre",
"parentMissing": "Le chemin n'existe pas - créez d'abord le répertoire contenant", "parentMissing": "Le chemin n'existe pas - créez d'abord le répertoire contenant",
"pathExists": "Le répertoire existe déjà - veuillez vous assurer que vous avez sauvegardé toutes les données", "pathExists": "Le répertoire existe déjà - veuillez vous assurer que vous avez sauvegardé toutes les données",
"pathValidationFailed": "Échec de la validation du chemin", "pathValidationFailed": "Échec de la validation du chemin",
"privacyPolicy": "politique de confidentialité",
"selectItemsToMigrate": "Sélectionnez les éléments à migrer", "selectItemsToMigrate": "Sélectionnez les éléments à migrer",
"settings": { "settings": {
"allowMetrics": "Métriques d'utilisation", "allowMetrics": "Métriques d'utilisation",
@@ -227,10 +234,13 @@
"whatWeCollect": "Ce que nous collectons :", "whatWeCollect": "Ce que nous collectons :",
"whatWeDoNotCollect": "Ce que nous ne collectons pas :" "whatWeDoNotCollect": "Ce que nous ne collectons pas :"
}, },
"errorUpdatingConsent": "Erreur de mise à jour du consentement",
"errorUpdatingConsentDetail": "Échec de la mise à jour des paramètres de consentement aux métriques",
"learnMoreAboutData": "En savoir plus sur la collecte de données" "learnMoreAboutData": "En savoir plus sur la collecte de données"
}, },
"systemLocations": "Emplacements système", "systemLocations": "Emplacements système",
"unhandledError": "Erreur inconnue" "unhandledError": "Erreur inconnue",
"updateConsent": "Vous avez précédemment accepté de signaler les plantages. Nous suivons maintenant des métriques basées sur les événements pour aider à identifier les bugs et améliorer l'application. Aucune information personnelle identifiable n'est collectée."
}, },
"issueReport": { "issueReport": {
"contactFollowUp": "Contactez-moi pour un suivi", "contactFollowUp": "Contactez-moi pour un suivi",

View File

@@ -107,6 +107,7 @@
"noTasksFound": "タスクが見つかりません", "noTasksFound": "タスクが見つかりません",
"noTasksFoundMessage": "キューにタスクがありません。", "noTasksFoundMessage": "キューにタスクがありません。",
"noWorkflowsFound": "ワークフローが見つかりません。", "noWorkflowsFound": "ワークフローが見つかりません。",
"ok": "OK",
"openNewIssue": "新しい問題を開く", "openNewIssue": "新しい問題を開く",
"overwrite": "上書き", "overwrite": "上書き",
"reconnected": "再接続されました", "reconnected": "再接続されました",
@@ -129,6 +130,7 @@
"searchWorkflows": "ワークフローを検索", "searchWorkflows": "ワークフローを検索",
"settings": "設定", "settings": "設定",
"showReport": "レポートを表示", "showReport": "レポートを表示",
"success": "成功",
"systemInfo": "システム情報", "systemInfo": "システム情報",
"terminal": "ターミナル", "terminal": "ターミナル",
"upload": "アップロード", "upload": "アップロード",
@@ -186,6 +188,7 @@
"selectGpu": "GPUを選択", "selectGpu": "GPUを選択",
"selectGpuDescription": "所有しているGPUのタイプを選択してください" "selectGpuDescription": "所有しているGPUのタイプを選択してください"
}, },
"helpImprove": "ComfyUIの改善にご協力ください",
"installLocation": "インストール先", "installLocation": "インストール先",
"installLocationDescription": "ComfyUIのユーザーデータを保存するディレクトリを選択してください。Python環境が選択した場所にインストールされます。選択したディスクに約15GBの空き容量が必要です。", "installLocationDescription": "ComfyUIのユーザーデータを保存するディレクトリを選択してください。Python環境が選択した場所にインストールされます。選択したディスクに約15GBの空き容量が必要です。",
"installLocationTooltip": "ComfyUIのユーザーデータディレクトリ。保存内容:\n- Python環境\n- モデル\n- カスタムノード\n", "installLocationTooltip": "ComfyUIのユーザーデータディレクトリ。保存内容:\n- Python環境\n- モデル\n- カスタムノード\n",
@@ -197,13 +200,17 @@
"title": "マニュアル設定", "title": "マニュアル設定",
"virtualEnvironmentPath": "仮想環境のパス" "virtualEnvironmentPath": "仮想環境のパス"
}, },
"metricsDisabled": "メトリクス無効",
"metricsEnabled": "メトリクス有効",
"migrateFromExistingInstallation": "既存のインストールから移行", "migrateFromExistingInstallation": "既存のインストールから移行",
"migration": "移行", "migration": "移行",
"migrationOptional": "移行は任意です。既存のインストールがない場合、このステップをスキップできます。", "migrationOptional": "移行は任意です。既存のインストールがない場合、このステップをスキップできます。",
"migrationSourcePathDescription": "既存のComfyUIインストールがある場合、既存のユーザーファイルとモデルを新しいインストールにコピー/リンクすることができます。既存のComfyUIインストールは影響を受けません。", "migrationSourcePathDescription": "既存のComfyUIインストールがある場合、既存のユーザーファイルとモデルを新しいインストールにコピー/リンクすることができます。既存のComfyUIインストールは影響を受けません。",
"moreInfo": "詳細は、私たちの",
"parentMissing": "パスが存在しません - 最初に含まれるディレクトリを作成してください", "parentMissing": "パスが存在しません - 最初に含まれるディレクトリを作成してください",
"pathExists": "ディレクトリはすでに存在します - すべてのデータをバックアップしたことを確認してください", "pathExists": "ディレクトリはすでに存在します - すべてのデータをバックアップしたことを確認してください",
"pathValidationFailed": "パスの検証に失敗しました", "pathValidationFailed": "パスの検証に失敗しました",
"privacyPolicy": "プライバシーポリシー",
"selectItemsToMigrate": "移行する項目を選択", "selectItemsToMigrate": "移行する項目を選択",
"settings": { "settings": {
"allowMetrics": "使用状況のメトリクス", "allowMetrics": "使用状況のメトリクス",
@@ -227,10 +234,13 @@
"whatWeCollect": "収集内容:", "whatWeCollect": "収集内容:",
"whatWeDoNotCollect": "収集しない内容:" "whatWeDoNotCollect": "収集しない内容:"
}, },
"errorUpdatingConsent": "同意の更新エラー",
"errorUpdatingConsentDetail": "メトリクスの同意設定の更新に失敗しました",
"learnMoreAboutData": "データ収集の詳細を見る" "learnMoreAboutData": "データ収集の詳細を見る"
}, },
"systemLocations": "システムの場所", "systemLocations": "システムの場所",
"unhandledError": "未知のエラー" "unhandledError": "未知のエラー",
"updateConsent": "以前はクラッシュの報告に同意していました。現在、バグの特定とアプリの改善を助けるためにイベントベースのメトリクスを追跡しています。個人を特定できる情報は収集されません。"
}, },
"issueReport": { "issueReport": {
"contactFollowUp": "フォローアップのために私に連絡する", "contactFollowUp": "フォローアップのために私に連絡する",

View File

@@ -107,6 +107,7 @@
"noTasksFound": "작업을 찾을 수 없습니다.", "noTasksFound": "작업을 찾을 수 없습니다.",
"noTasksFoundMessage": "대기열에 작업이 없습니다.", "noTasksFoundMessage": "대기열에 작업이 없습니다.",
"noWorkflowsFound": "워크플로를 찾을 수 없습니다.", "noWorkflowsFound": "워크플로를 찾을 수 없습니다.",
"ok": "확인",
"openNewIssue": "새 문제 열기", "openNewIssue": "새 문제 열기",
"overwrite": "덮어쓰기", "overwrite": "덮어쓰기",
"reconnected": "재연결됨", "reconnected": "재연결됨",
@@ -129,6 +130,7 @@
"searchWorkflows": "워크플로 검색", "searchWorkflows": "워크플로 검색",
"settings": "설정", "settings": "설정",
"showReport": "보고서 보기", "showReport": "보고서 보기",
"success": "성공",
"systemInfo": "시스템 정보", "systemInfo": "시스템 정보",
"terminal": "터미널", "terminal": "터미널",
"upload": "업로드", "upload": "업로드",
@@ -186,6 +188,7 @@
"selectGpu": "GPU 선택", "selectGpu": "GPU 선택",
"selectGpuDescription": "소유한 GPU 유형을 선택하세요" "selectGpuDescription": "소유한 GPU 유형을 선택하세요"
}, },
"helpImprove": "ComfyUI 개선에 도움을 주세요",
"installLocation": "설치 위치", "installLocation": "설치 위치",
"installLocationDescription": "ComfyUI의 사용자 데이터 디렉토리를 선택하십시오. 선택한 위치에 Python 환경이 설치됩니다. 선택한 디스크에 충분한 공간(~15GB)이 남아 있는지 확인하십시오.", "installLocationDescription": "ComfyUI의 사용자 데이터 디렉토리를 선택하십시오. 선택한 위치에 Python 환경이 설치됩니다. 선택한 디스크에 충분한 공간(~15GB)이 남아 있는지 확인하십시오.",
"installLocationTooltip": "ComfyUI의 사용자 데이터 디렉토리. 저장소:\n- Python 환경\n- 모델\n- 사용자 정의 노드\n", "installLocationTooltip": "ComfyUI의 사용자 데이터 디렉토리. 저장소:\n- Python 환경\n- 모델\n- 사용자 정의 노드\n",
@@ -197,13 +200,17 @@
"title": "수동 구성", "title": "수동 구성",
"virtualEnvironmentPath": "가상 환경 경로" "virtualEnvironmentPath": "가상 환경 경로"
}, },
"metricsDisabled": "메트릭스 비활성화",
"metricsEnabled": "메트릭스 활성화",
"migrateFromExistingInstallation": "기존 설치에서 마이그레이션", "migrateFromExistingInstallation": "기존 설치에서 마이그레이션",
"migration": "마이그레이션", "migration": "마이그레이션",
"migrationOptional": "마이그레이션은 선택 사항입니다. 기존에 설치된 것이 없다면, 이 단계를 건너뛸 수 있습니다.", "migrationOptional": "마이그레이션은 선택 사항입니다. 기존에 설치된 것이 없다면, 이 단계를 건너뛸 수 있습니다.",
"migrationSourcePathDescription": "기존의 ComfyUI 설치가 있으면, 기존 사용자 파일과 모델을 새 설치로 복사/링크할 수 있습니다. 기존의 ComfyUI 설치는 영향을 받지 않습니다.", "migrationSourcePathDescription": "기존의 ComfyUI 설치가 있으면, 기존 사용자 파일과 모델을 새 설치로 복사/링크할 수 있습니다. 기존의 ComfyUI 설치는 영향을 받지 않습니다.",
"moreInfo": "자세한 정보는 우리의",
"parentMissing": "경로가 존재하지 않습니다 - 먼저 포함하는 디렉토리를 생성하세요", "parentMissing": "경로가 존재하지 않습니다 - 먼저 포함하는 디렉토리를 생성하세요",
"pathExists": "디렉토리가 이미 존재합니다 - 모든 데이터를 백업했는지 확인해 주세요", "pathExists": "디렉토리가 이미 존재합니다 - 모든 데이터를 백업했는지 확인해 주세요",
"pathValidationFailed": "경로 유효성 검사 실패", "pathValidationFailed": "경로 유효성 검사 실패",
"privacyPolicy": "개인정보 보호정책",
"selectItemsToMigrate": "마이그레이션 항목 선택", "selectItemsToMigrate": "마이그레이션 항목 선택",
"settings": { "settings": {
"allowMetrics": "사용 통계", "allowMetrics": "사용 통계",
@@ -227,10 +234,13 @@
"whatWeCollect": "수집하는 정보:", "whatWeCollect": "수집하는 정보:",
"whatWeDoNotCollect": "수집하지 않는 정보:" "whatWeDoNotCollect": "수집하지 않는 정보:"
}, },
"errorUpdatingConsent": "동의 업데이트 오류",
"errorUpdatingConsentDetail": "메트릭스 동의 설정 업데이트에 실패했습니다",
"learnMoreAboutData": "데이터 수집에 대해 더 알아보기" "learnMoreAboutData": "데이터 수집에 대해 더 알아보기"
}, },
"systemLocations": "시스템 위치", "systemLocations": "시스템 위치",
"unhandledError": "알 수 없는 오류" "unhandledError": "알 수 없는 오류",
"updateConsent": "당신은 이전에 충돌 보고에 동의했습니다. 이제 버그를 식별하고 앱을 개선하기 위해 이벤트 기반 메트릭스를 추적하고 있습니다. 개인 식별 정보는 수집하지 않습니다."
}, },
"issueReport": { "issueReport": {
"contactFollowUp": "추적 조사를 위해 연락해 주세요", "contactFollowUp": "추적 조사를 위해 연락해 주세요",

View File

@@ -107,6 +107,7 @@
"noTasksFound": "Задачи не найдены", "noTasksFound": "Задачи не найдены",
"noTasksFoundMessage": "В очереди нет задач.", "noTasksFoundMessage": "В очереди нет задач.",
"noWorkflowsFound": "Рабочие процессы не найдены.", "noWorkflowsFound": "Рабочие процессы не найдены.",
"ok": "ОК",
"openNewIssue": "Открыть новую проблему", "openNewIssue": "Открыть новую проблему",
"overwrite": "Перезаписать", "overwrite": "Перезаписать",
"reconnected": "Переподключено", "reconnected": "Переподключено",
@@ -129,6 +130,7 @@
"searchWorkflows": "Поиск рабочих процессов", "searchWorkflows": "Поиск рабочих процессов",
"settings": "Настройки", "settings": "Настройки",
"showReport": "Показать отчет", "showReport": "Показать отчет",
"success": "Успех",
"systemInfo": "Информация о системе", "systemInfo": "Информация о системе",
"terminal": "Терминал", "terminal": "Терминал",
"upload": "Загрузить", "upload": "Загрузить",
@@ -186,6 +188,7 @@
"selectGpu": "Выберите GPU", "selectGpu": "Выберите GPU",
"selectGpuDescription": "Выберите тип GPU, который у вас есть" "selectGpuDescription": "Выберите тип GPU, который у вас есть"
}, },
"helpImprove": "Пожалуйста, помогите улучшить ComfyUI",
"installLocation": "Место установки", "installLocation": "Место установки",
"installLocationDescription": "Выберите директорию для пользовательских данных ComfyUI. В выбранном месте будет установлена среда Python. Пожалуйста, убедитесь, что на выбранном диске достаточно места (~15 ГБ).", "installLocationDescription": "Выберите директорию для пользовательских данных ComfyUI. В выбранном месте будет установлена среда Python. Пожалуйста, убедитесь, что на выбранном диске достаточно места (~15 ГБ).",
"installLocationTooltip": "Директория пользовательских данных ComfyUI. Хранит:\n- Среда Python\n- Модели\n- Пользовательские узлы\n", "installLocationTooltip": "Директория пользовательских данных ComfyUI. Хранит:\n- Среда Python\n- Модели\n- Пользовательские узлы\n",
@@ -197,13 +200,17 @@
"title": "Ручная Конфигурация", "title": "Ручная Конфигурация",
"virtualEnvironmentPath": "Путь виртуального окружения" "virtualEnvironmentPath": "Путь виртуального окружения"
}, },
"metricsDisabled": "Метрики отключены",
"metricsEnabled": "Метрики включены",
"migrateFromExistingInstallation": "Миграция из существующей установки", "migrateFromExistingInstallation": "Миграция из существующей установки",
"migration": "Миграция", "migration": "Миграция",
"migrationOptional": "Миграция является необязательной. Если у вас нет существующей установки, вы можете пропустить этот шаг.", "migrationOptional": "Миграция является необязательной. Если у вас нет существующей установки, вы можете пропустить этот шаг.",
"migrationSourcePathDescription": "Если у вас уже есть установка ComfyUI, мы можем скопировать/связать ваши существующие пользовательские файлы и модели с новой установкой. Ваша существующая установка ComfyUI не будет затронута.", "migrationSourcePathDescription": "Если у вас уже есть установка ComfyUI, мы можем скопировать/связать ваши существующие пользовательские файлы и модели с новой установкой. Ваша существующая установка ComfyUI не будет затронута.",
"moreInfo": "Для получения дополнительной информации, пожалуйста, прочтите нашу",
"parentMissing": "Путь не существует - сначала создайте родительский каталог", "parentMissing": "Путь не существует - сначала создайте родительский каталог",
"pathExists": "Директория уже существует - пожалуйста, убедитесь, что вы сделали резервное копирование всех данных", "pathExists": "Директория уже существует - пожалуйста, убедитесь, что вы сделали резервное копирование всех данных",
"pathValidationFailed": "Не удалось проверить путь", "pathValidationFailed": "Не удалось проверить путь",
"privacyPolicy": "политику конфиденциальности",
"selectItemsToMigrate": "Выберите элементы для миграции", "selectItemsToMigrate": "Выберите элементы для миграции",
"settings": { "settings": {
"allowMetrics": "Метрики использования", "allowMetrics": "Метрики использования",
@@ -227,10 +234,13 @@
"whatWeCollect": "Что мы собираем:", "whatWeCollect": "Что мы собираем:",
"whatWeDoNotCollect": "Что мы не собираем:" "whatWeDoNotCollect": "Что мы не собираем:"
}, },
"errorUpdatingConsent": "Ошибка обновления согласия",
"errorUpdatingConsentDetail": "Не удалось обновить настройки согласия на метрики",
"learnMoreAboutData": "Узнать больше о сборе данных" "learnMoreAboutData": "Узнать больше о сборе данных"
}, },
"systemLocations": "Системные места", "systemLocations": "Системные места",
"unhandledError": "Неизвестная ошибка" "unhandledError": "Неизвестная ошибка",
"updateConsent": "Вы ранее согласились на отчетность об ошибках. Теперь мы отслеживаем событийные метрики, чтобы помочь выявить ошибки и улучшить приложение. Личная идентифицируемая информация не собирается."
}, },
"issueReport": { "issueReport": {
"contactFollowUp": "Свяжитесь со мной для уточнения", "contactFollowUp": "Свяжитесь со мной для уточнения",

View File

@@ -107,6 +107,7 @@
"noTasksFound": "未找到任务", "noTasksFound": "未找到任务",
"noTasksFoundMessage": "队列中没有任务。", "noTasksFoundMessage": "队列中没有任务。",
"noWorkflowsFound": "未找到工作流。", "noWorkflowsFound": "未找到工作流。",
"ok": "确定",
"openNewIssue": "打开新问题", "openNewIssue": "打开新问题",
"overwrite": "覆盖", "overwrite": "覆盖",
"reconnected": "已重新连接", "reconnected": "已重新连接",
@@ -129,6 +130,7 @@
"searchWorkflows": "搜索工作流", "searchWorkflows": "搜索工作流",
"settings": "设置", "settings": "设置",
"showReport": "显示报告", "showReport": "显示报告",
"success": "成功",
"systemInfo": "系统信息", "systemInfo": "系统信息",
"terminal": "终端", "terminal": "终端",
"upload": "上传", "upload": "上传",
@@ -186,6 +188,7 @@
"selectGpu": "选择 GPU", "selectGpu": "选择 GPU",
"selectGpuDescription": "选择你拥有的 GPU 类型" "selectGpuDescription": "选择你拥有的 GPU 类型"
}, },
"helpImprove": "请帮助我们改进ComfyUI",
"installLocation": "安装位置", "installLocation": "安装位置",
"installLocationDescription": "选择 ComfyUI 用户数据的存放目录。将安装一个 Python 环境到所选位置。请确保所选磁盘有足够的空间(约 15GB。", "installLocationDescription": "选择 ComfyUI 用户数据的存放目录。将安装一个 Python 环境到所选位置。请确保所选磁盘有足够的空间(约 15GB。",
"installLocationTooltip": "ComfyUI 的用户数据目录。存储:\n- Python 环境\n- 模型\n- 自定义节点\n", "installLocationTooltip": "ComfyUI 的用户数据目录。存储:\n- Python 环境\n- 模型\n- 自定义节点\n",
@@ -197,13 +200,17 @@
"title": "手动配置", "title": "手动配置",
"virtualEnvironmentPath": "虚拟环境路径" "virtualEnvironmentPath": "虚拟环境路径"
}, },
"metricsDisabled": "禁用度量",
"metricsEnabled": "启用度量",
"migrateFromExistingInstallation": "从现有安装迁移", "migrateFromExistingInstallation": "从现有安装迁移",
"migration": "迁移", "migration": "迁移",
"migrationOptional": "迁移是可选的。如果您之前没有安装过 ComfyUI可以跳过此步骤。", "migrationOptional": "迁移是可选的。如果您之前没有安装过 ComfyUI可以跳过此步骤。",
"migrationSourcePathDescription": "如果您已有现有的ComfyUI安装我们可以复制/链接您现有的用户文件和模型到新的安装。您现有的ComfyUI安装将不会受到影响。", "migrationSourcePathDescription": "如果您已有现有的ComfyUI安装我们可以复制/链接您现有的用户文件和模型到新的安装。您现有的ComfyUI安装将不会受到影响。",
"moreInfo": "有关更多信息,请阅读我们的",
"parentMissing": "路径不存在 - 请先创建包含该路径的目录", "parentMissing": "路径不存在 - 请先创建包含该路径的目录",
"pathExists": "目录已存在 - 请确保您已备份全部数据", "pathExists": "目录已存在 - 请确保您已备份全部数据",
"pathValidationFailed": "路径验证失败", "pathValidationFailed": "路径验证失败",
"privacyPolicy": "隐私政策",
"selectItemsToMigrate": "选择要迁移的项目", "selectItemsToMigrate": "选择要迁移的项目",
"settings": { "settings": {
"allowMetrics": "使用情况指标", "allowMetrics": "使用情况指标",
@@ -227,10 +234,13 @@
"whatWeCollect": "我们收集的内容:", "whatWeCollect": "我们收集的内容:",
"whatWeDoNotCollect": "我们不收集的内容:" "whatWeDoNotCollect": "我们不收集的内容:"
}, },
"errorUpdatingConsent": "更新同意错误",
"errorUpdatingConsentDetail": "无法更新度量同意设置",
"learnMoreAboutData": "了解更多关于数据收集的信息" "learnMoreAboutData": "了解更多关于数据收集的信息"
}, },
"systemLocations": "系统位置", "systemLocations": "系统位置",
"unhandledError": "未知错误" "unhandledError": "未知错误",
"updateConsent": "您之前选择了报告崩溃。我们现在正在跟踪基于事件的度量,以帮助识别错误并改进应用程序。我们不收集任何个人可识别信息。"
}, },
"issueReport": { "issueReport": {
"contactFollowUp": "跟进联系我", "contactFollowUp": "跟进联系我",

View File

@@ -93,6 +93,12 @@ const router = createRouter({
component: () => import('@/views/ManualConfigurationView.vue'), component: () => import('@/views/ManualConfigurationView.vue'),
beforeEnter: guardElectronAccess beforeEnter: guardElectronAccess
}, },
{
path: '/metrics-consent',
name: 'MetricsConsentView',
component: () => import('@/views/MetricsConsentView.vue'),
beforeEnter: guardElectronAccess
},
{ {
path: 'desktop-start', path: 'desktop-start',
name: 'DesktopStartView', name: 'DesktopStartView',

View File

@@ -0,0 +1,83 @@
<template>
<BaseViewTemplate dark>
<div class="h-full p-8 2xl:p-16 flex flex-col items-center justify-center">
<div
class="bg-neutral-800 rounded-lg shadow-lg p-6 w-full max-w-[600px] flex flex-col gap-6"
>
<h2 class="text-3xl font-semibold text-neutral-100">
{{ $t('install.helpImprove') }}
</h2>
<p class="text-neutral-400">
{{ $t('install.updateConsent') }}
</p>
<p class="text-neutral-400">
{{ $t('install.moreInfo') }}
<a
href="https://comfy.org/privacy"
target="_blank"
class="text-blue-400 hover:text-blue-300 underline"
>
{{ $t('install.privacyPolicy') }} </a
>.
</p>
<div class="flex items-center gap-4">
<ToggleSwitch
v-model="allowMetrics"
aria-describedby="metricsDescription"
/>
<span id="metricsDescription" class="text-neutral-100">
{{
allowMetrics
? $t('install.metricsEnabled')
: $t('install.metricsDisabled')
}}
</span>
</div>
<div class="flex pt-6 justify-end">
<Button
:label="$t('g.ok')"
icon="pi pi-check"
:loading="isUpdating"
iconPos="right"
@click="updateConsent"
/>
</div>
</div>
</div>
</BaseViewTemplate>
</template>
<script setup lang="ts">
import Button from 'primevue/button'
import ToggleSwitch from 'primevue/toggleswitch'
import { useToast } from 'primevue/usetoast'
import { ref } from 'vue'
import { useI18n } from 'vue-i18n'
import { useRouter } from 'vue-router'
import { electronAPI } from '@/utils/envUtil'
const toast = useToast()
const { t } = useI18n()
const allowMetrics = ref(true)
const router = useRouter()
const isUpdating = ref(false)
const updateConsent = async () => {
isUpdating.value = true
try {
await electronAPI().setMetricsConsent(allowMetrics.value)
} catch (error) {
toast.add({
severity: 'error',
summary: t('install.errorUpdatingConsent'),
detail: t('install.errorUpdatingConsentDetail'),
life: 3000
})
} finally {
isUpdating.value = false
}
router.push('/')
}
</script>

View File

@@ -67,7 +67,8 @@ const mockElectronAPI: Plugin = {
incrementUserProperty: (property, value) => { incrementUserProperty: (property, value) => {
console.log('incrementUserProperty', property, value) console.log('incrementUserProperty', property, value)
} }
} },
setMetricsConsent: (consent) => {}
};` };`
} }
] ]