claude-ws 0.3.97 → 0.3.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/locales/de.json +374 -12
  2. package/locales/en.json +374 -12
  3. package/locales/es.json +398 -11
  4. package/locales/fr.json +398 -11
  5. package/locales/ja.json +398 -11
  6. package/locales/ko.json +398 -11
  7. package/locales/vi.json +374 -12
  8. package/locales/zh.json +398 -11
  9. package/package.json +1 -1
  10. package/server.ts +283 -6
  11. package/src/app/[locale]/not-found.tsx +6 -3
  12. package/src/app/[locale]/page.tsx +14 -4
  13. package/src/app/api/attempts/[id]/workflow/route.ts +76 -0
  14. package/src/app/api/questions/answer/route.ts +58 -0
  15. package/src/app/api/questions/route.ts +68 -0
  16. package/src/app/api/tasks/[id]/compact/route.ts +62 -0
  17. package/src/components/access-anywhere/api-access-key-setup-modal.tsx +2 -2
  18. package/src/components/access-anywhere/tunnel-settings-dialog.tsx +6 -6
  19. package/src/components/access-anywhere/wizard-step-ctunnel.tsx +8 -8
  20. package/src/components/agent-factory/dependency-tree.tsx +5 -3
  21. package/src/components/agent-factory/discovery-dialog.tsx +26 -22
  22. package/src/components/agent-factory/plugin-detail-dialog.tsx +41 -38
  23. package/src/components/agent-factory/plugin-form-dialog.tsx +23 -20
  24. package/src/components/agent-factory/plugin-list.tsx +20 -17
  25. package/src/components/agent-factory/upload-dialog.tsx +17 -14
  26. package/src/components/auth/agent-provider-dialog.tsx +67 -65
  27. package/src/components/auth/api-key-dialog.tsx +14 -11
  28. package/src/components/auth/auth-error-message.tsx +6 -3
  29. package/src/components/editor/code-editor-with-inline-edit.tsx +4 -2
  30. package/src/components/editor/file-diff-resolver-modal.tsx +31 -26
  31. package/src/components/editor/inline-edit-dialog.tsx +9 -6
  32. package/src/components/editor/selection-mention-popup.tsx +3 -1
  33. package/src/components/header/project-selector.tsx +7 -4
  34. package/src/components/header.tsx +70 -4
  35. package/src/components/kanban/column.tsx +11 -0
  36. package/src/components/kanban/task-card.tsx +70 -4
  37. package/src/components/project-settings/component-selector.tsx +3 -1
  38. package/src/components/project-settings/plugin-upload-dialog.tsx +7 -5
  39. package/src/components/project-settings/project-settings-dialog.tsx +5 -3
  40. package/src/components/questions/questions-panel.tsx +136 -0
  41. package/src/components/settings/folder-browser-dialog.tsx +29 -25
  42. package/src/components/settings/settings-page.tsx +64 -18
  43. package/src/components/settings/setup-dialog.tsx +26 -23
  44. package/src/components/setup/unified-setup-wizard.tsx +12 -9
  45. package/src/components/sidebar/file-browser/file-create-buttons.tsx +7 -3
  46. package/src/components/sidebar/file-browser/file-tab-content.tsx +19 -15
  47. package/src/components/sidebar/file-browser/file-tabs-panel.tsx +7 -4
  48. package/src/components/sidebar/file-browser/file-tree.tsx +3 -1
  49. package/src/components/sidebar/git-changes/branch-checkout-modal.tsx +6 -4
  50. package/src/components/sidebar/git-changes/commit-details-modal.tsx +5 -3
  51. package/src/components/sidebar/git-changes/diff-tabs-panel.tsx +3 -1
  52. package/src/components/sidebar/git-changes/git-file-item.tsx +8 -6
  53. package/src/components/sidebar/git-changes/git-graph.tsx +8 -5
  54. package/src/components/sidebar/git-changes/git-panel.tsx +28 -27
  55. package/src/components/sidebar/git-changes/git-section.tsx +5 -3
  56. package/src/components/sidebar/shells/shell-panel.tsx +3 -1
  57. package/src/components/task/attachment-bar.tsx +4 -1
  58. package/src/components/task/attempt-item.tsx +7 -5
  59. package/src/components/task/conversation-view.tsx +21 -13
  60. package/src/components/task/floating-chat-window.tsx +14 -5
  61. package/src/components/task/interactive-command/checkpoint-list.tsx +5 -3
  62. package/src/components/task/interactive-command/confirm-dialog.tsx +9 -4
  63. package/src/components/task/interactive-command/interactive-command-overlay.tsx +23 -9
  64. package/src/components/task/interactive-command/question-prompt.tsx +12 -8
  65. package/src/components/task/pending-question-indicator.tsx +5 -3
  66. package/src/components/task/prompt-input.tsx +1 -1
  67. package/src/components/task/shell-log-view.tsx +3 -1
  68. package/src/components/task/status-line.tsx +84 -23
  69. package/src/components/task/task-detail-panel.tsx +27 -27
  70. package/src/components/task/task-shell-indicator.tsx +10 -6
  71. package/src/components/terminal/terminal-context-menu.tsx +6 -4
  72. package/src/components/terminal/terminal-instance.tsx +11 -3
  73. package/src/components/terminal/terminal-panel.tsx +6 -3
  74. package/src/components/terminal/terminal-shortcut-bar.tsx +3 -1
  75. package/src/components/terminal/terminal-tab-bar.tsx +5 -3
  76. package/src/components/workflow/workflow-panel.tsx +181 -0
  77. package/src/hooks/use-attempt-stream.ts +96 -3
  78. package/src/lib/agent-manager.ts +89 -3
  79. package/src/lib/db/index.ts +18 -0
  80. package/src/lib/db/schema.ts +29 -0
  81. package/src/lib/process-manager.ts +28 -7
  82. package/src/lib/session-manager.ts +60 -0
  83. package/src/lib/usage-tracker.ts +19 -19
  84. package/src/lib/workflow-tracker.ts +118 -20
  85. package/src/stores/questions-store.ts +76 -0
  86. package/src/stores/workflow-store.ts +71 -0
package/locales/fr.json CHANGED
@@ -37,7 +37,38 @@
37
37
  "newTask": "Nouvelle tâche",
38
38
  "agentFactory": "Agent Factory",
39
39
  "agentProvider": "Agent Provider",
40
- "accessAnywhere": "Accès Partout"
40
+ "accessAnywhere": "Accès Partout",
41
+ "unsavedChangesConfirm": "\"{fileName}\" a des modifications non enregistrées. Fermer quand même ?",
42
+ "paste": "Coller",
43
+ "clearTerminal": "Effacer le terminal",
44
+ "configured": "Configuré",
45
+ "default": "Par défaut",
46
+ "noProjectsConfigured": "Aucun projet configuré",
47
+ "setUpProject": "Configurer un projet",
48
+ "loadingApp": "Chargement de Claude.WS",
49
+ "allProjects": "Tous les projets",
50
+ "noProjectsYet": "Aucun projet pour l'instant",
51
+ "selectProject": "Sélectionner un projet",
52
+ "clearSearch": "Effacer la recherche",
53
+ "no": "Non",
54
+ "yes": "Oui",
55
+ "browse": "Parcourir",
56
+ "creating": "Création...",
57
+ "opening": "Ouverture...",
58
+ "saving": "Enregistrement...",
59
+ "verifying": "Vérification...",
60
+ "generating": "Génération...",
61
+ "scanning": "Analyse...",
62
+ "importing": "Importation...",
63
+ "checking": "Vérification...",
64
+ "renaming": "Renommage...",
65
+ "rename": "Renommer",
66
+ "new": "Nouveau",
67
+ "refresh": "Actualiser",
68
+ "discover": "Découvrir",
69
+ "upload": "Téléverser",
70
+ "create": "Créer",
71
+ "editTitle": "Modifier le titre"
41
72
  },
42
73
  "header": {
43
74
  "projects": "Projets",
@@ -76,7 +107,9 @@
76
107
  "messageRequired": "Le message est requis",
77
108
  "pleaseSelectProject": "Veuillez sélectionner un projet",
78
109
  "waitFileUpload": "Veuillez attendre que les fichiers finissent de télécharger",
79
- "failedToCreate": "Échec de la création de la tâche"
110
+ "failedToCreate": "Échec de la création de la tâche",
111
+ "dragToReorder": "Glisser pour réorganiser",
112
+ "deleteTask": "Supprimer la tâche"
80
113
  },
81
114
  "task": {
82
115
  "title": "Titre",
@@ -95,7 +128,35 @@
95
128
  "runAgain": "Réexécuter",
96
129
  "viewDiff": "Voir les différences",
97
130
  "checkpoint": "Point de contrôle",
98
- "restore": "Restaurer"
131
+ "restore": "Restaurer",
132
+ "noAttemptRunning": "Aucune tentative en cours. Envoyez un message pour commencer.",
133
+ "waitingForTracking": "En attente des données de suivi...",
134
+ "tokens": "tokens",
135
+ "turn": "tour",
136
+ "turns": "tours",
137
+ "file": "fichier",
138
+ "files": "fichiers",
139
+ "questionsPending": "{count} question(s) en attente",
140
+ "moreQuestions": "+{count} autre(s) question(s)",
141
+ "open": "Ouvrir",
142
+ "stopShell": "Arrêter le shell (K)",
143
+ "runningBackgroundTasks": "{count} tâche(s) en arrière-plan",
144
+ "navigateHint": "naviguer",
145
+ "viewLogsHint": "voir les logs",
146
+ "killHint": "tuer",
147
+ "closeHint": "fermer",
148
+ "loadingQuestion": "Chargement de la question...",
149
+ "statusRunning": "En cours",
150
+ "statusCompleted": "Terminé",
151
+ "statusFailed": "Échoué",
152
+ "statusCancelled": "Annulé",
153
+ "deleteTaskConfirm": "Supprimer la tâche \"{title}\" ?",
154
+ "dragToReorder": "Glisser pour réorganiser",
155
+ "submitAnswers": "Soumettre les réponses",
156
+ "reviewAnswers": "Vérifiez vos réponses",
157
+ "notAllAnswered": "Vous n'avez pas répondu à toutes les questions",
158
+ "readyToSubmit": "Prêt à soumettre vos réponses ?",
159
+ "typeSomething": "Tapez quelque chose."
99
160
  },
100
161
  "editor": {
101
162
  "openFile": "Ouvrir le fichier",
@@ -105,7 +166,55 @@
105
166
  "find": "Rechercher",
106
167
  "replace": "Remplacer",
107
168
  "format": "Formater",
108
- "toggleWordWrap": "Activer/Désactiver le retour à la ligne"
169
+ "toggleWordWrap": "Activer/Désactiver le retour à la ligne",
170
+ "closeAllTabs": "Fermer tous les onglets",
171
+ "searchPlaceholder": "Rechercher...",
172
+ "previousMatch": "Précédent",
173
+ "nextMatch": "Suivant",
174
+ "undo": "Annuler",
175
+ "redo": "Rétablir",
176
+ "showSourceCode": "Afficher le code source",
177
+ "showPreview": "Afficher l'aperçu",
178
+ "export": "Exporter",
179
+ "checkingForChanges": "Vérification des modifications...",
180
+ "externalChangesDetected": "Modifications externes détectées - cliquez pour résoudre",
181
+ "addLinesToChat": "Ajouter les lignes L{startLine}-{endLine} au chat",
182
+ "addFileToChat": "Ajouter le fichier au chat",
183
+ "fileChangedExternally": "Fichier modifié en externe",
184
+ "hasBeenModified": "a été modifié sur le disque. Cliquez",
185
+ "toInsertRemoteLines": "pour insérer les lignes distantes dans votre version.",
186
+ "differences": "Différences :",
187
+ "newInRemote": "nouveau en distant",
188
+ "onlyInLocal": "uniquement en local",
189
+ "filesIdentical": "Les fichiers sont identiques",
190
+ "modifiedFromOriginal": "Modifié par rapport à l'original",
191
+ "local": "Local",
192
+ "modified": "(modifié)",
193
+ "copyLocalContent": "Copier le contenu local",
194
+ "remoteDisk": "Distant (Disque)",
195
+ "copyRemoteContent": "Copier le contenu distant",
196
+ "keepLocalOnly": "Conserver uniquement le local",
197
+ "acceptRemoteOnly": "Accepter uniquement le distant",
198
+ "applyMerged": "Appliquer la fusion",
199
+ "lineInserted": "Ligne insérée avec marqueur",
200
+ "linesInserted": "{count} ligne(s) insérée(s) avec marqueurs",
201
+ "deletionMarkersInserted": "Marqueurs de suppression insérés",
202
+ "deletionMarkerInserted": "Marqueur de suppression inséré",
203
+ "keptLocalChanges": "Modifications locales conservées",
204
+ "acceptedRemoteChanges": "Modifications distantes acceptées",
205
+ "appliedMergedChanges": "Modifications fusionnées appliquées",
206
+ "copiedToClipboard": "{label} copié dans le presse-papiers",
207
+ "linesInRemote": "{count} ligne(s) en distant",
208
+ "insertAllLines": "Insérer les {count} lignes",
209
+ "linesDeletedInRemote": "{count} ligne(s) supprimée(s) en distant",
210
+ "markAsDeleted": "Marquer comme supprimé",
211
+ "insertLineIntoLocal": "Insérer cette ligne en local",
212
+ "selectTaskFirst": "Sélectionnez d'abord une tâche pour ajouter du contexte",
213
+ "accept": "Accepter",
214
+ "reject": "Rejeter",
215
+ "describeChange": "Décrivez la modification souhaitée...",
216
+ "error": "Erreur",
217
+ "addMoreFiles": "Ajouter d'autres fichiers"
109
218
  },
110
219
  "sidebar": {
111
220
  "files": "Fichiers",
@@ -205,7 +314,40 @@
205
314
  "noChangesToCommit": "Aucune modification à committer",
206
315
  "noChanges": "Aucune modification",
207
316
  "enterCommitMessage": "Entrer le message de commit",
208
- "staged": "Indexés"
317
+ "staged": "Indexés",
318
+ "discardChangesConfirm": "Annuler les modifications de {filePath} ?",
319
+ "discardAllConfirm": "Annuler TOUTES les modifications ? Cette action est irréversible !",
320
+ "failedToAddGitignore": "Échec de l'ajout au .gitignore",
321
+ "failedToCommit": "Échec du commit",
322
+ "failedToGenerateCommit": "Échec de la génération du message de commit",
323
+ "failedToPush": "Échec de l'envoi des modifications",
324
+ "failedToFetchBranches": "Échec de la récupération des branches",
325
+ "clickToSwitchBranches": "Cliquez pour changer de branche",
326
+ "noBranch": "Aucune branche",
327
+ "changes": "Modifications",
328
+ "discardAllChanges": "Annuler toutes les modifications",
329
+ "stageAllChanges": "Indexer toutes les modifications",
330
+ "unstageAllChanges": "Désindexer toutes les modifications",
331
+ "commitTitle": "Titre du commit",
332
+ "descriptionOptional": "Description (facultatif)",
333
+ "syncChanges": "Synchroniser les modifications",
334
+ "commitChanges": "Committer les modifications",
335
+ "noChangesToGenerate": "Aucune modification pour générer un message de commit",
336
+ "generateCommitMessage": "Générer un message de commit avec l'IA",
337
+ "workingTreeClean": "Arbre de travail propre",
338
+ "addToGitignore": "Ajouter au .gitignore",
339
+ "unstageChanges": "Désindexer les modifications",
340
+ "discardChanges": "Annuler les modifications",
341
+ "stageChanges": "Indexer les modifications",
342
+ "showAllBranches": "Afficher toutes les branches",
343
+ "showCurrentBranchOnly": "Afficher uniquement la branche courante",
344
+ "fetch": "Fetch",
345
+ "searchBranches": "Rechercher des branches...",
346
+ "copyFullHash": "Copier le hash complet",
347
+ "checkoutCommit": "Extraire ce commit (état HEAD détaché)",
348
+ "createBranchFromCommit": "Créer une nouvelle branche depuis ce commit",
349
+ "closeAllTabs": "Fermer tous les onglets",
350
+ "newFile": "Nouveau"
209
351
  },
210
352
  "settings": {
211
353
  "title": "Paramètres",
@@ -222,14 +364,73 @@
222
364
  "agentFactory": "Agent Factory",
223
365
  "plugins": "Plugins",
224
366
  "installPlugin": "Installer le plugin",
225
- "managePlugins": "Gérer les plugins"
367
+ "managePlugins": "Gérer les plugins",
368
+ "createFailed": "Échec de la création",
369
+ "manageSettings": "Gérez les paramètres et les préférences de votre projet.",
370
+ "currentProject": "Projet actuel",
371
+ "claudeApiConfig": "Configuration de l'API Claude",
372
+ "providerConfigured": "Un fournisseur est configuré",
373
+ "noProviderConfigured": "Aucun fournisseur configuré",
374
+ "configure": "Configurer",
375
+ "apiAccessKey": "Clé d'accès API",
376
+ "remoteAccessAuth": "Authentification d'accès à distance",
377
+ "apiKeyConfigured": "Une clé d'accès API est configurée",
378
+ "noApiKeyConfigured": "Aucune clé d'accès API configurée",
379
+ "setUpProject": "Configurer le projet",
380
+ "selectExistingDescription": "Sélectionnez un dossier de projet existant à ouvrir.",
381
+ "configureNewDescription": "Configurez un dossier de projet à utiliser avec Claude Code.",
382
+ "openExisting": "Ouvrir existant",
383
+ "createNew": "Créer nouveau",
384
+ "projectFolder": "Dossier du projet",
385
+ "openProject": "Ouvrir le projet",
386
+ "rootFolder": "Dossier racine",
387
+ "createProject": "Créer le projet",
388
+ "projectNameRequired": "Le nom du projet est requis",
389
+ "rootFolderRequired": "Le dossier racine est requis",
390
+ "projectNameAlphanumeric": "Le nom du projet doit contenir au moins un caractère alphanumérique",
391
+ "projectPathRequired": "Le chemin du projet est requis",
392
+ "enterAbsolutePath": "Veuillez entrer un chemin absolu",
393
+ "autoDetected": "(détecté automatiquement)",
394
+ "folderNameHint": "Ce sera le nom du dossier du projet",
395
+ "selectParentFolder": "Sélectionnez le dossier parent où le projet sera créé",
396
+ "projectCreatedAt": "Le projet sera créé à :",
397
+ "selectFolder": "Sélectionner le dossier",
398
+ "navigateAndSelect": "Naviguez jusqu'à votre dossier de projet et sélectionnez-le",
399
+ "up": "Haut",
400
+ "home": "Accueil",
401
+ "noSubdirectories": "Aucun sous-répertoire",
402
+ "renameFolderTitle": "Renommer le dossier",
403
+ "selectThisFolder": "Sélectionner ce dossier",
404
+ "createNewFolder": "Créer un nouveau dossier",
405
+ "enterFolderNameIn": "Entrez un nom pour le nouveau dossier dans",
406
+ "folderName": "Nom du dossier",
407
+ "renameFolder": "Renommer le dossier",
408
+ "enterNewNameFor": "Entrez un nouveau nom pour",
409
+ "newName": "Nouveau nom",
410
+ "folderCreated": "Dossier créé",
411
+ "folderRenamed": "Dossier renommé",
412
+ "renameFailed": "Échec du renommage",
413
+ "setUpWorkspace": "Configurer votre espace de travail",
414
+ "setUpWorkspaceDescription": "Configurez les paramètres essentiels de votre espace de travail. Vous pourrez toujours les modifier ultérieurement dans les Paramètres.",
415
+ "configureAuthDescription": "Configurez la méthode d'authentification avec l'API Claude",
416
+ "setUpRemoteAccess": "Configurer l'authentification pour l'accès à distance",
417
+ "projectSettings": "Paramètres du projet",
418
+ "noProjectsAvailable": "Aucun projet disponible"
226
419
  },
227
420
  "auth": {
228
421
  "apiKeyRequired": "Clé API requise",
229
422
  "enterApiKey": "Entrez votre clé API pour continuer",
230
423
  "apiKey": "Clé API",
231
424
  "verify": "Vérifier",
232
- "invalidApiKey": "Clé API invalide"
425
+ "invalidApiKey": "Clé API invalide",
426
+ "apiKeyIsRequired": "La clé API est requise",
427
+ "failedToVerifyApiKey": "Échec de la vérification de la clé API",
428
+ "serverRequiresApiKey": "Ce serveur nécessite une clé API pour y accéder. Entrez votre clé pour continuer.",
429
+ "enterYourApiKey": "Entrez votre clé API",
430
+ "apiKeyStoredLocally": "Votre clé API sera stockée localement dans votre navigateur",
431
+ "pressEnterOrSubmit": "Appuyez sur Entrée ou cliquez sur Soumettre pour vérifier",
432
+ "authenticationError": "Erreur d'authentification",
433
+ "configAgentProvider": "Configurer le fournisseur d'agent"
233
434
  },
234
435
  "agentFactory": {
235
436
  "title": "Usine d'agents",
@@ -242,7 +443,88 @@
242
443
  "viewFiles": "Voir les fichiers",
243
444
  "compare": "Comparer",
244
445
  "import": "Importer",
245
- "export": "Exporter"
446
+ "export": "Exporter",
447
+ "description": "Ceci est votre pool de plugins. Pour installer des plugins dans un projet spécifique, accédez aux Paramètres du projet et sélectionnez les plugins à installer.",
448
+ "searchPlugins": "Rechercher des plugins...",
449
+ "loadingPlugins": "Chargement des plugins...",
450
+ "noDescription": "Aucune description",
451
+ "noPluginsFound": "Aucun plugin trouvé",
452
+ "adjustFilters": "Essayez d'ajuster vos filtres ou votre recherche",
453
+ "getStartedDiscover": "Commencez par découvrir des plugins existants ou en créer un nouveau",
454
+ "deletePluginConfirm": "Êtes-vous sûr de vouloir supprimer ce plugin ?",
455
+ "skills": "Skills",
456
+ "commands": "Commands",
457
+ "agents": "Agents",
458
+ "agentSets": "Agent Sets",
459
+ "all": "Tous",
460
+ "discoverPlugins": "Découvrir les plugins",
461
+ "scanDescription": "Analysez votre système de fichiers pour trouver les plugins Claude existants et les importer dans Agent Factory.",
462
+ "clickScanToSearch": "Cliquez sur le bouton Analyser pour rechercher des plugins",
463
+ "scan": "Analyser",
464
+ "scanningForPlugins": "Analyse des plugins en cours...",
465
+ "noPluginsFoundScan": "Aucun plugin trouvé dans /skills, /commands, ou /agents",
466
+ "rescan": "Réanalyser",
467
+ "pluginsFound": "plugins trouvés",
468
+ "newStatus": "nouveau",
469
+ "updates": "mises à jour",
470
+ "current": "actuel",
471
+ "importAll": "Tout importer",
472
+ "importSelected": "Importer {count} sélectionné(s)",
473
+ "editPlugin": "Modifier le plugin",
474
+ "createNewPlugin": "Créer un nouveau plugin",
475
+ "updatePluginDescription": "Modifiez les détails du plugin ci-dessous.",
476
+ "addPluginDescription": "Ajoutez un nouveau plugin au registre Agent Factory.",
477
+ "type": "Type",
478
+ "skill": "Skill",
479
+ "command": "Command",
480
+ "agent": "Agent",
481
+ "name": "Nom",
482
+ "pluginName": "Nom du plugin",
483
+ "pluginDescription": "Brève description du plugin",
484
+ "sourcePath": "Chemin source",
485
+ "pathAutoGenerated": "Le chemin sera généré automatiquement en fonction du type et du nom du plugin",
486
+ "storageType": "Type de stockage",
487
+ "local": "Local",
488
+ "imported": "Importé",
489
+ "external": "Externe",
490
+ "update": "Mettre à jour",
491
+ "details": "Détails",
492
+ "files": "Fichiers",
493
+ "noFilesFound": "Aucun fichier trouvé",
494
+ "reResolve": "Résoudre à nouveau",
495
+ "reResolving": "Résolution en cours...",
496
+ "noDependenciesFound": "Aucune dépendance trouvée",
497
+ "libraryDependencies": "Dépendances de bibliothèque",
498
+ "noExternalLibraries": "Aucune bibliothèque externe trouvée",
499
+ "installScripts": "Scripts d'installation",
500
+ "pluginDependencies": "Dépendances de plugins",
501
+ "noPluginDependencies": "Aucune dépendance de plugin trouvée",
502
+ "circularDependencies": "Dépendances circulaires détectées",
503
+ "discovered": "Découvert",
504
+ "pluginDetails": "Détails et fichiers du plugin",
505
+ "discoveredPluginDetails": "Détails et fichiers du plugin découvert",
506
+ "metadata": "Métadonnées",
507
+ "storage": "Stockage :",
508
+ "failedToLoadFiles": "Échec du chargement des fichiers",
509
+ "failedToLoadFile": "Échec du chargement du fichier",
510
+ "failedToLoadDependencies": "Échec du chargement des dépendances",
511
+ "failedToReResolveDependencies": "Échec de la résolution des dépendances",
512
+ "failedToAnalyzeDependencies": "Échec de l'analyse des dépendances",
513
+ "failedToUninstallComponent": "Échec de la désinstallation du composant",
514
+ "cycle": "Cycle",
515
+ "missing": "Manquant",
516
+ "maxDepth": "Profondeur maximale",
517
+ "confirmImport": "Confirmer l'importation",
518
+ "importFromArchive": "Importer des plugins depuis une archive",
519
+ "analyzingArchive": "Analyse de l'archive...",
520
+ "clickToUploadOrDrag": "Cliquez pour téléverser ou glisser-déposer",
521
+ "supportedFormats": "Fichiers .zip, .tar, .gz, .gzip, ou .tgz",
522
+ "invalidFileType": "Type de fichier invalide. Veuillez téléverser un fichier .zip, .tar, .gz, .gzip, ou .tgz.",
523
+ "automaticOrganization": "Organisation automatique :",
524
+ "itemsToImport": "Éléments à importer",
525
+ "archiveAnalyzed": "Archive analysée avec succès. Cliquez sur Importer pour ajouter ces plugins à votre Agent Factory.",
526
+ "importingPlugins": "Importation des plugins...",
527
+ "importGlobally": "Importer globalement"
246
528
  },
247
529
  "shells": {
248
530
  "newShell": "Nouveau shell",
@@ -250,7 +532,17 @@
250
532
  "exited": "Arrêté",
251
533
  "restart": "Redémarrer",
252
534
  "kill": "Tuer",
253
- "clearOutput": "Effacer la sortie"
535
+ "clearOutput": "Effacer la sortie",
536
+ "creatingTerminal": "Création du terminal...",
537
+ "failedToCreateTerminal": "Échec de la création du terminal",
538
+ "copiedToClipboard": "Copié dans le presse-papiers",
539
+ "failedToCopy": "Échec de la copie",
540
+ "stopShell": "Arrêter le shell",
541
+ "selectionMode": "Mode de sélection",
542
+ "newTerminal": "Nouveau terminal",
543
+ "sendCtrlC": "Envoyer Ctrl+C (SIGINT)",
544
+ "closePanel": "Fermer le panneau",
545
+ "clipboardDenied": "Accès au presse-papiers refusé — utilisez le bouton Coller de la barre de raccourcis sur mobile"
254
546
  },
255
547
  "chat": {
256
548
  "taskCompleted": "Tâche terminée !",
@@ -289,7 +581,71 @@
289
581
  "commandsHint": "commandes",
290
582
  "filesHint": "fichiers",
291
583
  "pasteImageHint": "coller image",
292
- "cancelled": "Annulé"
584
+ "cancelled": "Annulé",
585
+ "detachToFloating": "Détacher en fenêtre flottante",
586
+ "maximizeToPanel": "Maximiser en panneau",
587
+ "clearConversation": "Effacer la conversation",
588
+ "clearConversationConfirm": "Êtes-vous sûr de vouloir effacer tous les messages ? Cette action est irréversible.",
589
+ "compactConversation": "Compacter la conversation",
590
+ "compactConversationConfirm": "Cela va résumer la conversation pour économiser l'espace de contexte. Continuer ?",
591
+ "compact": "Compacter",
592
+ "typeYourAnswer": "Tapez votre réponse...",
593
+ "rewoundToCheckpoint": "Conversation et fichiers ramenés au point de contrôle",
594
+ "rewoundConversationOnly": "Conversation seule ramenée en arrière",
595
+ "rewoundConversation": "Conversation ramenée au point de contrôle",
596
+ "waitForUpload": "Veuillez attendre que les fichiers finissent de téléverser"
597
+ },
598
+ "agentProvider": {
599
+ "configureTitle": "Configurer le Fournisseur d'Agent",
600
+ "configureDescription": "Choisissez comment vous souhaitez vous authentifier avec l'API Claude :",
601
+ "reloadShowConfig": "Recharger et Afficher",
602
+ "hideConfig": "Masquer",
603
+ "currentConfiguration": "Configuration Actuelle",
604
+ "loading": "Chargement...",
605
+ "activeProcessEnv": "Valeurs process.env actives :",
606
+ "noProviderConfig": "Aucune configuration de fournisseur chargée",
607
+ "loginWithClaude": "Se connecter avec un compte Claude",
608
+ "forClaudeSubscribers": "Pour les abonnés Claude Pro, Max, Team ou Enterprise",
609
+ "anthropicConsole": "Compte Anthropic Console",
610
+ "payAsYouGo": "Facturation à l'utilisation de l'API",
611
+ "claudeCodeSettings": "Paramètres Claude Code",
612
+ "useSettingsJson": "Utiliser la configuration settings.json",
613
+ "customApiKey": "Clé API personnalisée",
614
+ "useOwnApiKey": "Utiliser votre propre clé API Anthropic",
615
+ "howToLoginOAuth": "Comment se connecter avec OAuth :",
616
+ "ensureSubscription": "Assurez-vous d'avoir un abonnement Claude Pro, Max, Team ou Enterprise",
617
+ "openTerminal": "Ouvrez un terminal sur votre serveur",
618
+ "runClaudeLogin": "Exécutez :",
619
+ "chooseOAuthOption": "1. Compte Claude avec abonnement · Pro, Max, Team ou Enterprise",
620
+ "followAuthFlow": "Suivez le flux d'authentification dans le navigateur",
621
+ "restartAfterLogin": "Redémarrez l'application après la connexion",
622
+ "loggedInReload": "Je suis connecté - Recharger",
623
+ "howToUseConsole": "Comment utiliser un compte Anthropic Console :",
624
+ "chooseConsoleOption": "2. Compte Anthropic Console · Facturation à l'utilisation de l'API",
625
+ "usingClaudeCodeSettings": "Utilisation des paramètres Claude Code",
626
+ "settingsFileDescription": "Cette méthode utilise la configuration de votre fichier de paramètres Claude Code :",
627
+ "linuxMacOs": "Linux/macOS :",
628
+ "windows": "Windows :",
629
+ "envVarsDescription": "Les variables d'environnement suivantes sont lues depuis la section env :",
630
+ "required": "requis",
631
+ "settingsConfigured": "Settings.json est configuré et sera utilisé pour l'authentification.",
632
+ "settingsNotConfigured": "Settings.json ne contient pas ANTHROPIC_AUTH_TOKEN. Ajoutez-le pour utiliser cette méthode.",
633
+ "reloadToApply": "Recharger pour appliquer",
634
+ "leaveEmptyToKeep": "Laissez vide pour conserver la clé existante",
635
+ "existingKeyHint": "Une clé API est déjà configurée. Laissez vide pour la conserver, ou entrez-en une nouvelle pour la remplacer.",
636
+ "fillDefaultValues": "Remplir les valeurs par défaut",
637
+ "baseUrl": "URL de base",
638
+ "defaultModel": "Modèle par défaut",
639
+ "haikuModel": "Modèle Haiku",
640
+ "sonnetModel": "Modèle Sonnet",
641
+ "opusModel": "Modèle Opus",
642
+ "apiTimeout": "Délai d'expiration API (ms)",
643
+ "configSavedToEnv": "La configuration sera enregistrée dans le fichier .env dans le répertoire de l'application. Les champs vides utiliseront les valeurs par défaut.",
644
+ "dismissProvider": "Ignorer ce fournisseur",
645
+ "areYouSure": "Êtes-vous sûr ?",
646
+ "yesDismiss": "Oui, ignorer",
647
+ "saveConfiguration": "Enregistrer la configuration",
648
+ "afterLoginHint": "Après vous être connecté sur claude.ai, exécutez \"claude login\" dans votre terminal pour vous authentifier."
293
649
  },
294
650
  "accessAnywhere": {
295
651
  "title": "Accès Partout",
@@ -370,6 +726,37 @@
370
726
  "configureTunnel": "Configurer le Tunnel",
371
727
  "addDnsRecord": "Ajouter un Enregistrement DNS",
372
728
  "runTunnel": "Exécuter le Tunnel",
373
- "orInstallAsService": "Ou installer comme service :"
729
+ "orInstallAsService": "Ou installer comme service :",
730
+ "apiAccessKeyRequired": "Clé d'accès API requise",
731
+ "apiAccessKeyDescription": "Pour activer l'Accès Partout, vous devez configurer une clé d'accès API. Cette clé protégera votre espace de travail contre les accès non autorisés lorsqu'il est exposé sur internet.",
732
+ "apiAccessKeyWarning": "Conservez cette clé en lieu sûr ! Vous en aurez besoin pour accéder à votre espace de travail à distance. La clé sera stockée dans votre fichier .env.",
733
+ "generatedApiKey": "Clé d'accès API",
734
+ "enterCustomKey": "Entrez votre clé personnalisée...",
735
+ "copyKey": "Copier la clé",
736
+ "copied": "Copié !",
737
+ "regenerateKey": "Générer une nouvelle clé",
738
+ "useCustomKey": "Utiliser ma propre clé personnalisée",
739
+ "apiKeyStorageNote": "Cette clé sera enregistrée dans votre fichier .env sous API_ACCESS_KEY. Vous devrez peut-être redémarrer le serveur pour que les modifications prennent effet.",
740
+ "apiKeyMinLength": "La clé API doit comporter au moins 16 caractères",
741
+ "apiKeyRequired": "La clé API est requise",
742
+ "cancel": "Annuler",
743
+ "saving": "Enregistrement...",
744
+ "saveAndContinue": "Enregistrer et Continuer",
745
+ "failedToSaveApiKey": "Échec de l'enregistrement de la clé API",
746
+ "noTunnelConfig": "Aucune configuration de tunnel trouvée. Veuillez d'abord configurer l'Accès Partout.",
747
+ "failedToStartTunnel": "Échec du démarrage du tunnel",
748
+ "failedToRegisterSubdomain": "Échec de l'enregistrement du sous-domaine",
749
+ "failedToConfirmSubdomain": "Échec de la confirmation du sous-domaine",
750
+ "confirmationCodeIsRequired": "Le code de confirmation est requis"
751
+ },
752
+ "notFound": {
753
+ "title": "404 - Page introuvable",
754
+ "description": "La page que vous recherchez n'existe pas.",
755
+ "goHome": "Retourner à l'accueil"
756
+ },
757
+ "globalError": {
758
+ "title": "Quelque chose s'est mal passé !",
759
+ "fallbackMessage": "Une erreur inattendue s'est produite",
760
+ "tryAgain": "Réessayer"
374
761
  }
375
762
  }