@moreai/code 0.0.0-stage → 0.1.0-beta.2

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 (43) hide show
  1. package/LICENSE +28 -0
  2. package/README.md +251 -2
  3. package/dist/THIRD_PARTY_LICENSES.txt +7412 -0
  4. package/dist/daemon.mjs +3796 -0
  5. package/dist/locales/am.json +1185 -0
  6. package/dist/locales/bho.json +1185 -0
  7. package/dist/locales/bn.json +1185 -0
  8. package/dist/locales/da.json +1185 -0
  9. package/dist/locales/de.json +1185 -0
  10. package/dist/locales/es-419.json +1187 -0
  11. package/dist/locales/es.json +1187 -0
  12. package/dist/locales/fi.json +1185 -0
  13. package/dist/locales/fil.json +1185 -0
  14. package/dist/locales/fr.json +1187 -0
  15. package/dist/locales/gu.json +1185 -0
  16. package/dist/locales/ha.json +1185 -0
  17. package/dist/locales/hi.json +1185 -0
  18. package/dist/locales/id.json +1149 -0
  19. package/dist/locales/it.json +1187 -0
  20. package/dist/locales/ja.json +1149 -0
  21. package/dist/locales/kn.json +1185 -0
  22. package/dist/locales/ko.json +1149 -0
  23. package/dist/locales/ml.json +1185 -0
  24. package/dist/locales/mr.json +1185 -0
  25. package/dist/locales/nb.json +1185 -0
  26. package/dist/locales/nl.json +1185 -0
  27. package/dist/locales/pt-BR.json +1187 -0
  28. package/dist/locales/ru.json +1261 -0
  29. package/dist/locales/sv.json +1185 -0
  30. package/dist/locales/sw.json +1185 -0
  31. package/dist/locales/ta.json +1185 -0
  32. package/dist/locales/te.json +1185 -0
  33. package/dist/locales/th.json +1149 -0
  34. package/dist/locales/tr.json +1185 -0
  35. package/dist/locales/uk.json +1261 -0
  36. package/dist/locales/vi.json +1149 -0
  37. package/dist/locales/zh-TW.json +1148 -0
  38. package/dist/locales/zh.json +1148 -0
  39. package/dist/moreai.mjs +504 -0
  40. package/dist/resources/file-acl/macos/moreai-file-acl +0 -0
  41. package/media/helpers.webp +0 -0
  42. package/media/session.webp +0 -0
  43. package/package.json +69 -4
@@ -0,0 +1,1187 @@
1
+ {
2
+ "app.account.next": "Vos sessions se synchronisent désormais avec les apps web et mobile. /connectors ajoute Gmail, GitHub et d'autres services.",
3
+ "app.account.signedIn": "Connecté en tant que {{email}}",
4
+ "app.analytics.state": "analyses : {{state}}",
5
+ "app.analytics.stateChange": "analyses : {{state}} · /analytics pour modifier",
6
+ "app.connectorFailed": "échec du connecteur : {{name}}",
7
+ "app.ctrlCAgain": "appuyez à nouveau sur ctrl+c pour quitter",
8
+ "app.decision.allowed": "autorisé",
9
+ "app.decision.awaiting": "en attente d'approbation",
10
+ "app.decision.denied": "refusé",
11
+ "app.engine.background": "moteur en arrière-plan",
12
+ "app.engine.connecting": "connexion",
13
+ "app.engine.connectingLine": "connexion au moteur More AI…",
14
+ "app.engine.desktop": "application de bureau",
15
+ "app.engine.failed": "échec",
16
+ "app.engine.lost": "moteur perdu — envoyez un message pour réessayer, ou lancez `moreai doctor`",
17
+ "app.engine.reconnected": "reconnecté au moteur",
18
+ "app.engine.reconnecting": "reconnexion",
19
+ "app.engine.reconnectingLine": "connexion au moteur perdue — reconnexion…",
20
+ "app.engine.retryHint": "envoyez un message pour réessayer · `moreai doctor` diagnostique · /quit quitte",
21
+ "app.engine.shared": "moteur partagé",
22
+ "app.engine.unreachable": "impossible de joindre le moteur",
23
+ "app.exit.resume": "reprendre “{{title}}” : {{command}}",
24
+ "app.firstRun.account": "Facultatif : /login ajoute la synchro web et mobile, la dictée et les services Google.",
25
+ "app.firstRun.choose": "Choisissez ci-dessous une clé API, une connexion par abonnement ou un modèle local.",
26
+ "app.firstRun.envFound": "{{names}} trouvé dans votre environnement — choisissez-le en haut de la liste.",
27
+ "app.firstRun.noProvider": "aucun fournisseur connecté — /auth pour en configurer un, puis renvoyez votre tâche",
28
+ "app.firstRun.title": "Connectez un fournisseur d'IA",
29
+ "app.held.hint": "demandez-le explicitement dans votre prochain message pour l'approuver",
30
+ "app.held.title": "retenu : {{command}}",
31
+ "app.question.answered": "répondue",
32
+ "app.question.awaiting": "en attente de réponse",
33
+ "app.question.dismissed": "ignorée",
34
+ "app.question.label": "question",
35
+ "app.run.buildPlan": "Mettez en œuvre le plan approuvé.",
36
+ "app.run.done": "terminé en {{elapsed}}",
37
+ "app.run.error": "erreur ({{code}})",
38
+ "app.run.escToInterrupt": "esc pour interrompre",
39
+ "app.run.helperTokens": "{{tokens}} par les auxiliaires",
40
+ "app.run.interrupted": "interrompu",
41
+ "app.run.thoughtFor": "Réflexion pendant {{elapsed}}",
42
+ "app.run.tokens": "{{tokens}} jetons",
43
+ "app.run.working": "en cours…",
44
+ "app.session.fromOtherSurface": "depuis une autre interface",
45
+ "app.session.messages_one": "{{count}} message",
46
+ "app.session.messages_other": "{{count}} messages",
47
+ "app.session.openWith": "ouvrez-la avec",
48
+ "app.session.otherSurfaceRunning": "une autre interface exécute cette session…",
49
+ "app.session.resumed": "reprise de “{{title}}”",
50
+ "app.session.switchedTo": "Passé à {{model}}",
51
+ "app.session.worksIn": "travaille dans {{path}}",
52
+ "app.sharedTree.body_one": "{{count}} autre exécution est active dans ce dossier — les modifications restent ciblées",
53
+ "app.sharedTree.body_other": "{{count}} autres exécutions sont actives dans ce dossier — les modifications restent ciblées",
54
+ "app.sharedTree.title": "arbre de travail partagé",
55
+ "app.status.aiChecking": "vérification de l'IA",
56
+ "app.status.aiReady": "IA prête",
57
+ "app.status.aiSetupNeeded": "IA à configurer",
58
+ "app.status.contextLeft": "{{percent}} % de contexte restant",
59
+ "app.status.defaultModel": "modèle par défaut",
60
+ "app.status.syncChecking": "vérification de la synchro",
61
+ "app.status.syncOff": "synchro désactivée",
62
+ "app.status.syncOn": "synchro activée",
63
+ "app.stepBudget.hint": "envoyez « continuer » pour poursuivre",
64
+ "app.stepBudget.outputLength": "limite de longueur de sortie atteinte",
65
+ "app.stepBudget.steps": "budget d'étapes atteint",
66
+ "app.toast.accessMode": "mode d'accès : {{mode}}",
67
+ "app.toast.analyticsUsage": "usage : /analytics [on|usage|off]",
68
+ "app.toast.browserOpened": "navigateur ouvert pour poursuivre la connexion",
69
+ "app.toast.claudeAgentKey": "Claude Agent nécessite une clé API Anthropic ou une clé Z.ai Coding Plan sélectionnée — connectez-en une avec /auth",
70
+ "app.toast.connectionLost": "connexion au moteur perdue — restauration de l'exécution…",
71
+ "app.toast.engineDisconnected": "moteur déconnecté — attendez que l'exécution se reconnecte",
72
+ "app.toast.notConnected": "le moteur n'est pas encore connecté",
73
+ "app.toast.providerConnected": "fournisseur connecté",
74
+ "app.toast.runRestored": "exécution restaurée",
75
+ "app.toast.sessionGone": "la session a disparu avant le début de l'exécution",
76
+ "app.welcome.runtime": "Moteur",
77
+ "app.welcome.runtimeBackground": "moteur en arrière-plan — pas besoin de l'application de bureau",
78
+ "app.welcome.runtimeDesktop": "application de bureau — sessions synchronisées en direct",
79
+ "app.welcome.start": "Démarrer",
80
+ "app.welcome.startLong": "Saisissez une tâche · /model changer de modèle · /help commandes · /login synchro",
81
+ "app.welcome.startShort": "Saisissez une tâche · /model · /help",
82
+ "app.welcome.workspace": "Espace de travail",
83
+ "auth.account.approvalClaimed": "L'approbation a déjà été utilisée. Recommencez la connexion.",
84
+ "auth.account.approvalDenied": "Approbation refusée. Recommencez la connexion.",
85
+ "auth.account.approvalExpired": "Approbation expirée. Recommencez la connexion.",
86
+ "auth.account.approveFooter": "En attente d'approbation · Enter utiliser l'e-mail · Esc fermer",
87
+ "auth.account.approveHint": "Ouvrez More AI sur un appareil connecté et vérifiez ce code :",
88
+ "auth.account.checking": "Vérification de la connexion…",
89
+ "auth.account.checkingCode": "Vérification du code…",
90
+ "auth.account.codeFooter": "Enter se connecter · R renvoyer le code · Esc fermer",
91
+ "auth.account.codeLabel": "Code",
92
+ "auth.account.codeSentTo": "Code à six chiffres envoyé à {{email}}",
93
+ "auth.account.connected": "Connecté",
94
+ "auth.account.emailFooter": "Enter continuer · Esc fermer · vos propres clés API marchent sans compte",
95
+ "auth.account.emailFooterPurpose": "Enter continuer · Esc retour",
96
+ "auth.account.emailLabel": "E-mail",
97
+ "auth.account.error.emailSendFailed": "L'e-mail n'a pas pu être envoyé. Réessayez dans un instant.",
98
+ "auth.account.error.expiredCode": "Ce code a expiré. Appuyez sur R pour en demander un nouveau.",
99
+ "auth.account.error.invalidCode": "Ce code ne correspond pas. Vérifiez le dernier e-mail et réessayez.",
100
+ "auth.account.error.keychain": "Le trousseau système est indisponible. Déverrouillez-le, puis réessayez.",
101
+ "auth.account.error.network": "Impossible de joindre More AI. Vérifiez votre connexion et réessayez.",
102
+ "auth.account.error.notConfigured": "La connexion au compte n'est pas disponible sur ce moteur. Mettez à jour More AI Code ou l'application en cours d'exécution.",
103
+ "auth.account.error.rateLimited": "Trop de tentatives. Patientez un peu avant de réessayer.",
104
+ "auth.account.error.staleCode": "Un code plus récent a été envoyé. Vérifiez le dernier e-mail.",
105
+ "auth.account.error.tooOld": "Ce moteur est trop ancien pour la connexion au compte. Mettez-le à jour ou redémarrez le moteur intégré.",
106
+ "auth.account.invalidCode": "Saisissez le code à six chiffres du dernier e-mail.",
107
+ "auth.account.invalidEmail": "Saisissez une adresse e-mail valide.",
108
+ "auth.account.optional": "facultatif",
109
+ "auth.account.sending": "Envoi de la demande de connexion…",
110
+ "auth.account.sendingCode": "Envoi d'un code par e-mail…",
111
+ "auth.account.signedInFooter": "La synchro démarre automatiquement · Enter ou Esc pour fermer",
112
+ "auth.account.step.approve": "APPROUVER LA CONNEXION",
113
+ "auth.account.step.email": "VOTRE E-MAIL",
114
+ "auth.account.step.verify": "VÉRIFIER L'E-MAIL",
115
+ "auth.account.syncLine": "Vos sessions sur le web et le mobile, la dictée vocale, Gmail, Calendar et Drive.",
116
+ "auth.account.title": "Compte More AI",
117
+ "auth.accountCmd.plan": "forfait : {{plan}}",
118
+ "auth.accountCmd.planOffline": "forfait actuel indisponible hors ligne",
119
+ "auth.accountCmd.planWithSync": "forfait : {{plan}} · synchro {{app}}",
120
+ "auth.accountCmd.signedOut": "déconnecté",
121
+ "auth.accountCmd.signedOutHint": "Lancez `moreai login` pour synchroniser le compte et les sessions. Vous pouvez toujours utiliser `moreai auth` avec vos propres clés.",
122
+ "auth.accountCmd.syncNote": "la synchro démarre automatiquement quand ce moteur tourne",
123
+ "auth.accountCmd.unknownAction": "moreai account : action inconnue \"{{action}}\" (essayez `moreai account`)",
124
+ "auth.characters_one": "{{count}} caractère",
125
+ "auth.characters_other": "{{count}} caractères",
126
+ "auth.cmd.connectedTitle": "Fournisseurs connectés",
127
+ "auth.cmd.doneConnected": "{{provider}} connecté — lancez {{moreai}} dans un dépôt, puis {{model}} pour choisir un modèle",
128
+ "auth.cmd.doneReady": "prêt — lancez {{moreai}} dans un dépôt, puis {{model}} pour choisir un modèle",
129
+ "auth.cmd.envConnected_one": "{{provider}} connecté avec {{name}} — {{count}} modèle",
130
+ "auth.cmd.envConnected_other": "{{provider}} connecté avec {{name}} — {{count}} modèles",
131
+ "auth.cmd.envFailed": "{{provider}} ({{name}}) : {{error}}",
132
+ "auth.cmd.envNone": "aucune clé API de fournisseur dans cet environnement (recherché : {{names}}, …)",
133
+ "auth.cmd.envNothingNew": "rien à connecter — tous les fournisseurs ayant une clé dans cet environnement sont déjà connectés",
134
+ "auth.cmd.envUnverified": "{{provider}} connecté avec {{name}} (non vérifié)",
135
+ "auth.cmd.hubOff": "l'application de bureau tourne avec son hub local DÉSACTIVÉ",
136
+ "auth.cmd.hubOffFix": "activez-le dans l'application de bureau → Paramètres → Outils d'agent → Clients externes, puis réessayez",
137
+ "auth.cmd.needsTerminal": "moreai auth nécessite un terminal — utilisez `moreai auth status` en cas de redirection",
138
+ "auth.cmd.noEngine": "aucun moteur en cours d'exécution — `moreai auth` en démarre un et connecte un fournisseur",
139
+ "auth.cmd.noProvider": "aucun fournisseur connecté",
140
+ "auth.cmd.noneConnected": "aucun fournisseur connecté sur ce moteur — lancez `moreai auth`",
141
+ "auth.cmd.olderHost": "cet hôte du moteur n'a pas de configuration des fournisseurs (version ancienne) — mettez à jour l'application More AI",
142
+ "auth.cmd.statusFailed": "impossible de lire l'état des fournisseurs : {{error}}",
143
+ "auth.cmd.unknownAction": "moreai auth : action inconnue \"{{action}}\" (essayez `moreai auth`, `moreai auth status` ou `moreai auth env`)",
144
+ "auth.connectedModels_one": "{{provider}} connecté — {{count}} modèle",
145
+ "auth.connectedModels_other": "{{provider}} connecté — {{count}} modèles",
146
+ "auth.connectedUnverified": "{{provider}} connecté (clé enregistrée — le point d'accès n'a pas de /models pour vérifier)",
147
+ "auth.disconnect.confirm": "Déconnecter {{provider}} ?",
148
+ "auth.disconnect.footer": "Y ou Enter confirmer · N ou Esc retour",
149
+ "auth.disconnected": "{{provider}} déconnecté",
150
+ "auth.error.olderHost": "cet hôte du moteur n'a pas de configuration des fournisseurs (version ancienne) — mettez à jour l'application de bureau / le démon More AI",
151
+ "auth.error.signInFailed": "échec de la connexion",
152
+ "auth.failedFooter": "Enter ou Esc fermer · moreai doctor vérifie le moteur",
153
+ "auth.key.checking": "Vérification de la connexion…",
154
+ "auth.key.footer": "La clé est masquée · Enter enregistrer · Esc retour",
155
+ "auth.key.getOne": "en obtenir une : {{url}}",
156
+ "auth.key.label": "Clé",
157
+ "auth.key.title": "Clé API {{provider}}",
158
+ "auth.keychainNote": "Les clés restent sur cette machine. CLI, bureau et VS Code partagent ce profil.",
159
+ "auth.loading": "Recherche des fournisseurs disponibles…",
160
+ "auth.login.alreadySignedIn": "déjà connecté en tant que {{email}}",
161
+ "auth.login.approvalCheckFailed": "échec de la vérification de l'approbation : {{error}}",
162
+ "auth.login.approvalDenied": "approbation de connexion refusée",
163
+ "auth.login.approvalDeniedRetry": "approbation de connexion refusée ; lancez `moreai login` pour réessayer",
164
+ "auth.login.approvalExpired": "approbation de connexion expirée",
165
+ "auth.login.approvalExpiredRetry": "approbation de connexion expirée ; lancez `moreai login` pour réessayer",
166
+ "auth.login.approvalTimeout": "l'approbation n'est pas arrivée ; passage à un code par e-mail",
167
+ "auth.login.approveOnDevice": "Approuvez cette connexion sur un appareil déjà connecté à More AI :",
168
+ "auth.login.challengeId": "id de la demande : {{id}}",
169
+ "auth.login.chooseService": "Connectez un service pour votre agent (facultatif — Esc pour passer) :",
170
+ "auth.login.codePrompt": "Code :",
171
+ "auth.login.codeSent": "code de connexion à six chiffres envoyé à {{email}}",
172
+ "auth.login.codeStdinNeedsPipe": "moreai login : --code-stdin nécessite un code redirigé sur stdin",
173
+ "auth.login.confirmationCode": "code de confirmation {{code}}",
174
+ "auth.login.emailCodePrompt": "Code à six chiffres reçu par e-mail :",
175
+ "auth.login.emailCodeSent": "code envoyé par e-mail",
176
+ "auth.login.emailPrompt": "E-mail :",
177
+ "auth.login.error.emailSendFailed": "l'e-mail de connexion n'a pas pu être envoyé — réessayez dans un instant",
178
+ "auth.login.error.expiredCode": "le code a expiré — lancez `moreai login` pour en demander un nouveau",
179
+ "auth.login.error.invalidCode": "code incorrect — vérifiez le dernier e-mail et réessayez",
180
+ "auth.login.error.network": "impossible de joindre More AI — vérifiez votre connexion et réessayez",
181
+ "auth.login.error.notConfigured": "la connexion au compte n'est pas disponible sur ce moteur ; mettez à jour More AI Code ou l'application de bureau en cours d'exécution",
182
+ "auth.login.error.rateLimited": "trop de tentatives — patientez un peu avant de réessayer",
183
+ "auth.login.error.staleCode": "ce code a été remplacé par un plus récent — utilisez le dernier e-mail",
184
+ "auth.login.error.tooOld": "ce moteur est trop ancien pour la connexion au compte ; mettez à jour l'application de bureau, ou fermez-la pour que la CLI démarre son moteur intégré",
185
+ "auth.login.fallbackFailed": "impossible d'envoyer un code par e-mail : {{error}}",
186
+ "auth.login.invalidCode": "saisissez le code à six chiffres du dernier e-mail More AI",
187
+ "auth.login.invalidEmail": "saisissez une adresse e-mail valide",
188
+ "auth.login.needsEmail": "moreai login : indiquez un e-mail hors terminal, par ex. `moreai login you@example.com`",
189
+ "auth.login.nextConnectors": "Ensuite, choisissez un service avec `moreai connectors` dans un terminal.",
190
+ "auth.login.noSession": "l'approbation a été reçue, mais ce moteur n'a pas de session de compte ; relancez `moreai login`",
191
+ "auth.login.notSaved": "L'approbation de connexion n'a pas été enregistrée par ce moteur. Relancez `moreai login`.",
192
+ "auth.login.pipeCodeHint": "Redirigez le code vers `{{command}}`.",
193
+ "auth.login.pipeCodeInto": "Redirigez le code vers : {{command}}",
194
+ "auth.login.pressEnterForEmail": "Appuyez sur Enter pour recevoir plutôt un code par e-mail :",
195
+ "auth.login.servicesLater": "Aucun service connecté — ajoutez Gmail, GitHub et d'autres à tout moment avec `moreai connectors`.",
196
+ "auth.login.signInFailed": "échec de la connexion : {{error}}",
197
+ "auth.login.signedInAs": "connecté en tant que {{email}}",
198
+ "auth.login.startFailed": "impossible de démarrer la connexion : {{error}}",
199
+ "auth.login.stillPending": "approbation toujours en attente — réessayez avec --wait, ou utilisez --fallback",
200
+ "auth.login.switchHint": "Pour changer de compte, lancez d'abord `moreai logout`.",
201
+ "auth.login.syncNote": "les données du compte et les sessions se synchronisent tant que le moteur tourne",
202
+ "auth.login.thenPipe": "puis redirigez le code à six chiffres vers : {{command}}",
203
+ "auth.login.toFallback": "Pour recevoir plutôt un code par e-mail :",
204
+ "auth.login.toWait": "Pour attendre l'approbation :",
205
+ "auth.login.unfinished": "Connexion inachevée. Lancez `moreai login` pour réessayer.",
206
+ "auth.login.waiting": "En attente de l'approbation sur votre appareil connecté…",
207
+ "auth.logout.alreadySignedOut": "déjà déconnecté",
208
+ "auth.logout.done": "déconnecté de More AI sur ce moteur",
209
+ "auth.logout.keysRemain": "Vos propres clés de fournisseur restent connectées.",
210
+ "auth.logout.noArgs": "moreai logout : aucun argument attendu",
211
+ "auth.managedByAccount": "géré par votre compte More AI — utilisez /login ou `moreai login`",
212
+ "auth.method.disconnect": "Déconnecter",
213
+ "auth.method.env": "Utiliser {{name}} de votre environnement",
214
+ "auth.method.key": "Coller une clé API",
215
+ "auth.method.keyWithHint": "Coller une clé API ({{hint}})",
216
+ "auth.method.keyless": "Se connecter au serveur local",
217
+ "auth.method.oauth": "Se connecter avec votre abonnement (navigateur)",
218
+ "auth.methodFooter": "↑↓ choisir · Enter continuer · Esc retour",
219
+ "auth.noMatch": "Aucun fournisseur ne correspond à “{{query}}”.",
220
+ "auth.oauth.codeFooter": "Le code est masqué · Enter valider · Esc annuler",
221
+ "auth.oauth.codeLabel": "Code",
222
+ "auth.oauth.completing": "Finalisation de la connexion…",
223
+ "auth.oauth.enterCodeInBrowser": "Saisissez le code dans le navigateur :",
224
+ "auth.oauth.open": "Ouvrir {{url}}",
225
+ "auth.oauth.remoteHint": "Via SSH ? Le navigateur revient vers localhost:{{port}} sur cette machine — redirigez d'abord ce port depuis votre ordinateur : ssh -L {{port}}:localhost:{{port}} <this host>",
226
+ "auth.oauth.title": "Se connecter à {{provider}}",
227
+ "auth.oauth.waiting": "En attente de l'approbation dans le navigateur… Esc annuler",
228
+ "auth.pasteHere": "collez ici",
229
+ "auth.pickFooter.clear": "tapez pour rechercher · ↑↓ choisir · Enter ouvrir · Esc effacer",
230
+ "auth.pickFooter.close": "tapez pour rechercher · ↑↓ choisir · Enter ouvrir · Esc fermer",
231
+ "auth.pickFooter.later": "tapez pour rechercher · ↑↓ choisir · Enter ouvrir · Esc plus tard",
232
+ "auth.searchHint_one": "{{count}} fournisseur — tapez un nom",
233
+ "auth.searchHint_other": "{{count}} fournisseurs — tapez un nom",
234
+ "auth.section.all": "Tous les fournisseurs",
235
+ "auth.section.connected": "Connectés",
236
+ "auth.section.found": "Trouvés dans votre environnement",
237
+ "auth.section.popular": "Populaires",
238
+ "auth.signIn.authorizeAnthropic": "Autorisez dans le navigateur, puis copiez le code affiché par Anthropic et collez-le ici.",
239
+ "auth.signIn.default": "Autorisez dans le navigateur, puis collez ici le code qu'il affiche.",
240
+ "auth.signedIn": "{{provider}} connecté",
241
+ "auth.signedInAs": "{{provider}} connecté en tant que {{account}}",
242
+ "auth.stage.choose": "CHOISIR",
243
+ "auth.stage.connect": "CONNECTER",
244
+ "auth.stage.disconnect": "DÉCONNECTER",
245
+ "auth.stage.method": "MÉTHODE",
246
+ "auth.status.account": "compte",
247
+ "auth.status.accountAs": "compte ({{account}})",
248
+ "auth.status.apiKey": "clé API",
249
+ "auth.status.local": "local",
250
+ "auth.status.signedIn": "connecté",
251
+ "auth.status.signedInAs": "connecté ({{account}})",
252
+ "auth.statusLine": "{{provider}} — {{status}}",
253
+ "auth.statusLineDefault": "{{provider}} (par défaut) — {{status}}",
254
+ "auth.subtitle": "Choisissez comment More AI Code accède à un modèle.",
255
+ "auth.tag.custom": "personnalisé",
256
+ "auth.tag.default": "par défaut",
257
+ "auth.tag.envFound": "{{name}} trouvé",
258
+ "auth.title": "Fournisseur d'IA",
259
+ "auth.way.key": "clé",
260
+ "auth.way.local": "local",
261
+ "auth.way.signIn": "connexion",
262
+ "cards.analytics.all": "Partager les analyses d'utilisation et les traces IA",
263
+ "cards.analytics.allDetail": "recommandé · inclut le contenu de vos exécutions",
264
+ "cards.analytics.explainer": "More AI collecte des analyses d'utilisation pour trouver des bugs et voir quelles\nfonctions marchent : commandes utilisées, erreurs et déroulement des exécutions.\nAvec les traces IA activées, le contenu des exécutions est aussi inclus pour\ndéboguer les échecs. Les clés API ne sont jamais envoyées. Modifiable à tout\nmoment : /analytics dans une session, ou `moreai analytics off`.",
265
+ "cards.analytics.footer": "↑↓ choisir · Enter confirmer",
266
+ "cards.analytics.footerCancel": "↑↓ choisir · Enter confirmer · Esc annuler",
267
+ "cards.analytics.label": "analyses",
268
+ "cards.analytics.notice": "les analyses d'utilisation sont activées. Désactivez-les avec `moreai analytics off` ou DO_NOT_TRACK=1.",
269
+ "cards.analytics.off": "Ne rien partager",
270
+ "cards.analytics.offDetail": "désactiver les analyses",
271
+ "cards.analytics.state.all": "activées, avec traces IA",
272
+ "cards.analytics.state.envOff": "désactivées — DO_NOT_TRACK / MOREAI_TELEMETRY=0 est défini pour le moteur",
273
+ "cards.analytics.state.off": "désactivées",
274
+ "cards.analytics.state.usage": "activées, utilisation seule (sans contenu de conversation)",
275
+ "cards.analytics.title": "Aidez-nous à améliorer More AI",
276
+ "cards.analytics.unreachable": "impossible de joindre le moteur More AI : {{error}}",
277
+ "cards.analytics.usage": "Partager uniquement les analyses d'utilisation",
278
+ "cards.analytics.usageDetail": "événements et rapports d'erreur, sans contenu de conversation",
279
+ "cards.analytics.usageLine": "usage : moreai analytics [status|on|usage|off]",
280
+ "cards.analytics.verbs": "`moreai analytics on` · `usage` (sans contenu de conversation) · `off`",
281
+ "cards.diff.edit": "Modifier({{path}})",
282
+ "cards.diff.moreLines_one": "… +{{count}} ligne de plus",
283
+ "cards.diff.moreLines_other": "… +{{count}} lignes de plus",
284
+ "cards.diff.truncated": "… diff tronqué",
285
+ "cards.diff.write": "Écrire({{path}})",
286
+ "cards.elapsed.minutes": "{{minutes}} min {{seconds}} s",
287
+ "cards.elapsed.seconds": "{{seconds}} s",
288
+ "cards.explore.done": "Exploré",
289
+ "cards.explore.live": "Exploration",
290
+ "cards.explore.steps_one": "{{count}} étape",
291
+ "cards.explore.steps_other": "{{count}} étapes",
292
+ "cards.helpers.background_one": "{{count}} auxiliaire travaille en arrière-plan",
293
+ "cards.helpers.background_other": "{{count}} auxiliaires travaillent en arrière-plan",
294
+ "cards.helpers.done": "Terminé",
295
+ "cards.helpers.failed": "Échec : {{error}}",
296
+ "cards.helpers.finished": "Auxiliaire terminé",
297
+ "cards.helpers.progress": "{{done}}/{{total}} terminés",
298
+ "cards.helpers.stopped": "Arrêté",
299
+ "cards.helpers.tokens": "{{tokens}} jetons",
300
+ "cards.helpers.toolUses_one": "{{count}} appel d'outil",
301
+ "cards.helpers.toolUses_other": "{{count}} appels d'outils",
302
+ "cards.moreLines_one": "… +{{count}} ligne",
303
+ "cards.moreLines_other": "… +{{count}} lignes",
304
+ "cards.permission.allowAlways": "Toujours autoriser",
305
+ "cards.permission.allowOnce": "Autoriser une fois",
306
+ "cards.permission.allowSession": "Autoriser pour cette session",
307
+ "cards.permission.deny": "Refuser",
308
+ "cards.permission.footer": "enter confirmer · 1–{{max}} choisir · esc refuser",
309
+ "cards.permission.title": "Autorisation",
310
+ "cards.permission.waiting": "lisez la demande…",
311
+ "cards.plan.heading": "Plan",
312
+ "cards.planCard.build": "Le mettre en œuvre maintenant",
313
+ "cards.planCard.hint": "approuvez pour le mettre en œuvre (s'exécute en accès auto)",
314
+ "cards.planCard.keepPlanning": "Continuer à planifier",
315
+ "cards.planCard.title": "Plan prêt",
316
+ "cards.question.footerMulti": "space sélectionner · enter confirmer · esc passer",
317
+ "cards.question.footerSingle": "enter sélectionner · esc passer",
318
+ "cards.question.other": "Autre…",
319
+ "cards.question.otherHint": "saisissez votre propre réponse",
320
+ "cli.args.challengeNeedsId": "--challenge nécessite un id",
321
+ "cli.args.challengeWithEmail": "indiquez un e-mail seulement pour démarrer ou vérifier la connexion, pas avec --challenge",
322
+ "cli.args.cloudOnlyRun": "--cloud, --finish et --detach servent à exécuter une tâche dans le cloud (`moreai cloud run \"task\"`)",
323
+ "cli.args.codeStdinWithChallenge": "--code-stdin ne peut pas être combiné à une option de demande push",
324
+ "cli.args.cwdNeedsDir": "--cwd nécessite un répertoire",
325
+ "cli.args.fallbackAndWait": "--fallback et --wait sont mutuellement exclusifs",
326
+ "cli.args.fallbackNeedsChallenge": "--fallback nécessite --challenge <id>",
327
+ "cli.args.finishInvalid": "--finish doit être l'un de : {{finishes}}",
328
+ "cli.args.installUpdateOnly": "--install est réservé à `moreai update`",
329
+ "cli.args.jsonNeedsPrint": "--json nécessite --print (-p)",
330
+ "cli.args.loginOnly": "--code-stdin, --challenge, --fallback et --wait sont réservés à `moreai login`",
331
+ "cli.args.modeInvalid": "--mode doit être l'un de : {{modes}}",
332
+ "cli.args.modelNeedsId": "--model nécessite un id de modèle",
333
+ "cli.args.providerNeedsId": "--provider nécessite un id de fournisseur",
334
+ "cli.args.sessionAndContinue": "--session et --continue sont mutuellement exclusifs",
335
+ "cli.args.sessionNeedsId": "--session nécessite un id de session",
336
+ "cli.args.tokenStdinNeedsAdd": "--token-stdin nécessite `moreai connectors add <id-or-url>`",
337
+ "cli.args.unknownOption": "option inconnue : {{option}}",
338
+ "cli.args.updateNoArgs": "`moreai update` ne prend aucun argument",
339
+ "cli.args.waitNeedsChallenge": "--wait nécessite --challenge <id>",
340
+ "cli.browser.connected": "un navigateur est connecté",
341
+ "cli.browser.enableHint": "activez-le dans l'application de bureau (Paramètres → Navigateur → Navigateur personnel)",
342
+ "cli.browser.forgotten": "le navigateur associé a été oublié",
343
+ "cli.browser.noBridge": "ce moteur n'exécute pas de pont navigateur — rien à associer",
344
+ "cli.browser.notPaired": "aucun navigateur associé pour l'instant — lancez {{command}}",
345
+ "cli.browser.notRunning": "le pont navigateur ne tourne pas sur ce moteur",
346
+ "cli.browser.pairedIdle": "associé, mais aucun navigateur n'est connecté",
347
+ "cli.browser.pairingCode": "code d'association {{code}}",
348
+ "cli.browser.pairingHint_one": "ouvrez le panneau latéral More AI dans Chrome et saisissez-le — expire dans {{count}} min",
349
+ "cli.browser.pairingHint_other": "ouvrez le panneau latéral More AI dans Chrome et saisissez-le — expire dans {{count}} min",
350
+ "cli.browser.unknownCommand": "commande browser inconnue : {{command}} — essayez pair, status ou unpair",
351
+ "cli.doctor.alive": "actif",
352
+ "cli.doctor.daemonMissing": "absent de cette installation",
353
+ "cli.doctor.daemonReady": "intégré et prêt",
354
+ "cli.doctor.dead": "inactif",
355
+ "cli.doctor.detailsFailed": "impossible d'inspecter la configuration du compte/des fournisseurs",
356
+ "cli.doctor.discovery": "pid {{pid}} ({{state}}) · port {{port}} · démarré {{started}}",
357
+ "cli.doctor.engineNone": "{{status}} — aucune application de bureau ni aucun démon n'a publié de hub",
358
+ "cli.doctor.healthIncompatible": "le moteur tourne avec un protocole incompatible",
359
+ "cli.doctor.healthOk": "ok — le hub est joignable",
360
+ "cli.doctor.healthStale": "injoignable (enregistrement de découverte obsolète)",
361
+ "cli.doctor.hubOff": "l'application de bureau tourne avec son hub local DÉSACTIVÉ",
362
+ "cli.doctor.hubOffClose": "Ou fermez l'application de bureau pour laisser la CLI lancer son moteur sans interface intégré.",
363
+ "cli.doctor.hubOffSteps": "application de bureau → Paramètres → Outils d'agent → Clients externes — activez-le.",
364
+ "cli.doctor.hubOffTitle": "La CLI ne peut pas se connecter tant que le hub n'est pas activé :",
365
+ "cli.doctor.label.account": "compte",
366
+ "cli.doctor.label.backend": "backend",
367
+ "cli.doctor.label.daemon": "démon",
368
+ "cli.doctor.label.dataDir": "données",
369
+ "cli.doctor.label.details": "détails",
370
+ "cli.doctor.label.discovery": "découverte",
371
+ "cli.doctor.label.endpoint": "point d'accès",
372
+ "cli.doctor.label.engine": "moteur",
373
+ "cli.doctor.label.health": "santé",
374
+ "cli.doctor.label.lookedIn": "cherché dans",
375
+ "cli.doctor.label.providers": "fournisseurs",
376
+ "cli.doctor.label.services": "services",
377
+ "cli.doctor.launchHint": "Lancer `moreai` démarrera automatiquement son moteur sans interface intégré.",
378
+ "cli.doctor.noneDiscovered": "aucun trouvé",
379
+ "cli.doctor.providersConnected_one": "{{count}} connecté",
380
+ "cli.doctor.providersConnected_other": "{{count}} connectés",
381
+ "cli.doctor.ready": "{{ready}} `moreai` se connectera à ce moteur.",
382
+ "cli.doctor.readyWord": "Prêt.",
383
+ "cli.doctor.servicesReady_one": "{{count}} prêt",
384
+ "cli.doctor.servicesReady_other": "{{count}} prêts",
385
+ "cli.doctor.setupHint": "Lancez `moreai setup` pour vous connecter et connecter un fournisseur d'IA sans l'application de bureau.",
386
+ "cli.doctor.signedIn": "connecté",
387
+ "cli.doctor.signedOut": "déconnecté — `moreai login`",
388
+ "cli.doctor.staleRecord": "L'enregistrement semble obsolète — `moreai` lancera un nouveau moteur sans interface.",
389
+ "cli.doctor.unavailable": "indisponible sur ce moteur",
390
+ "cli.doctor.updateBoth": "Mettez à jour la CLI et l'application de bureau, ou fermez l'ancien moteur avant de démarrer le moteur intégré.",
391
+ "cli.engineUnreachable": "impossible de joindre le moteur More AI : {{message}}",
392
+ "cli.errorHint.disconnected": "Le moteur a disparu en cours d'exécution (application de bureau fermée ou démon arrêté). Lancez `moreai doctor` pour vérifier, puis réessayez — la session est conservée.",
393
+ "cli.errorHint.harnessProvider": "L'agent de codage de la session ne peut pas piloter le fournisseur de ce modèle. Choisissez un modèle compatible (`/model`) ou changez d'agent avec `/harness native`.",
394
+ "cli.errorHint.noModel": "Le fournisseur n'a aucun modèle utilisable — indiquez-en un avec --model <id> ou choisissez-en un dans l'application de bureau.",
395
+ "cli.errorHint.noProvider": "Aucun fournisseur d'IA n'est encore connecté. Lancez /auth ici (ou `moreai auth`) pour coller une clé API,\nvous connecter avec un abonnement ou utiliser un modèle local. Une clé déjà présente dans ANTHROPIC_API_KEY,\nOPENAI_API_KEY… se connecte avec `moreai auth env`.",
396
+ "cli.errorHint.unsupported": "Cet hôte du moteur ne prend pas en charge l'opération (ancienne version de bureau ?). Mettez à jour l'application de bureau More AI.",
397
+ "cli.help.account": "afficher l'état du compte et de la synchro",
398
+ "cli.help.analytics": "afficher le réglage des analyses d'utilisation",
399
+ "cli.help.analyticsNote": "Les analyses d'utilisation sont activées par défaut ; la première session demande.\nDO_NOT_TRACK=1 ou MOREAI_TELEMETRY=0 les désactive pour un processus,\n`moreai analytics off` définitivement.",
400
+ "cli.help.analyticsSet": "le modifier (usage = sans contenu de conversation)",
401
+ "cli.help.auth": "connecter un fournisseur d'IA (clé API ou connexion)",
402
+ "cli.help.authEnv": "connecter les clés de ANTHROPIC_API_KEY, OPENAI_API_KEY…",
403
+ "cli.help.authStatus": "lister les fournisseurs connectés au moteur",
404
+ "cli.help.browserPair": "associer l'extension Chrome à ce moteur",
405
+ "cli.help.browserStatus": "un navigateur est-il associé / connecté en ce moment ?",
406
+ "cli.help.browserUnpair": "oublier le navigateur associé",
407
+ "cli.help.cloud": "lister les sessions cloud de votre compte",
408
+ "cli.help.cloudOpen": "afficher une session cloud et son lien",
409
+ "cli.help.cloudRun": "déplacer ce dossier dans le cloud et y exécuter la tâche",
410
+ "cli.help.connectors": "choisir un service externe dans le catalogue",
411
+ "cli.help.connectorsAdd": "connecter un service du catalogue ou une URL MCP personnalisée",
412
+ "cli.help.connectorsAddToken": "lire son jeton depuis stdin",
413
+ "cli.help.connectorsCatalog": "lister les services disponibles et leurs ID",
414
+ "cli.help.connectorsList": "lister les services configurés",
415
+ "cli.help.connectorsRemove": "déconnecter un service et effacer ses identifiants",
416
+ "cli.help.connectorsToggle": "activer ou désactiver un service connecté",
417
+ "cli.help.doctor": "diagnostiquer la connexion au moteur",
418
+ "cli.help.engine": "La CLI se connecte au moteur More AI partagé — l'application de bureau quand elle\ntourne (sessions synchronisées en direct dans les deux sens), sinon un démon\nsans interface intégré.",
419
+ "cli.help.headless": "Connexion sans interface",
420
+ "cli.help.inside": "Dans la session",
421
+ "cli.help.insideCommands": "/ commandes ({{commands}}) · ↑↓ historique",
422
+ "cli.help.insideKeys": "Enter envoyer · Ctrl+J nouvelle ligne · Esc interrompre · Shift+Tab changer le mode d'accès",
423
+ "cli.help.insideSteer": "Tapez pendant que l'agent travaille pour l'orienter en cours d'exécution.",
424
+ "cli.help.login": "se connecter à More AI : synchro, dictée, services",
425
+ "cli.help.loginCode": "vérifier un code redirigé sur stdin",
426
+ "cli.help.loginEmail": "envoyer un code par e-mail ou une demande push",
427
+ "cli.help.loginFallback": "recevoir plutôt un code par e-mail",
428
+ "cli.help.loginWait": "attendre l'approbation push",
429
+ "cli.help.logout": "se déconnecter du compte More AI",
430
+ "cli.help.optCloud": "exécuter la tâche dans une session cloud plutôt qu'ici",
431
+ "cli.help.optContinue": "continuer la session la plus récente de ce dépôt",
432
+ "cli.help.optCwd": "répertoire de travail (défaut : actuel)",
433
+ "cli.help.optDetach": "cloud : lancer la tâche et rendre la main sans la suivre",
434
+ "cli.help.optFinish": "cloud : rapatrier le travail en pr | push | branch | folder",
435
+ "cli.help.optHelp": "cette aide",
436
+ "cli.help.optHelper": "confier les recherches à des auxiliaires en parallèle (@explore, @scout, @general)",
437
+ "cli.help.optJson": "avec -p : un événement JSON par ligne",
438
+ "cli.help.optLang": "langue de l'interface (ru, de, ja… ; défaut : comme l'app/le système)",
439
+ "cli.help.optMode": "{{modes}} (défaut : auto)",
440
+ "cli.help.optModel": "modèle pour cette exécution (défaut : celui du moteur)",
441
+ "cli.help.optPrint": "mode non interactif (stdout seulement, quitte à la fin)",
442
+ "cli.help.optProvider": "fournisseur servant --model (défaut : déduit du modèle)",
443
+ "cli.help.optSession": "reprendre une session précise",
444
+ "cli.help.optVersion": "afficher la version",
445
+ "cli.help.options": "Options",
446
+ "cli.help.print": "non interactif : exécute une fois, affiche, quitte",
447
+ "cli.help.run": "session interactive dans le dépôt actuel",
448
+ "cli.help.runTask": "interactif, exécute la tâche immédiatement",
449
+ "cli.help.sessions": "lister les sessions de ce dépôt",
450
+ "cli.help.setup": "configuration du compte/fournisseur au premier lancement",
451
+ "cli.help.title": "More AI Code — l'agent de codage du terminal, avec vos propres clés.",
452
+ "cli.help.update": "chercher une nouvelle version sur ce canal",
453
+ "cli.help.updateInstall": "installer cette version avec npm",
454
+ "cli.help.usage": "Utilisation",
455
+ "cli.main.needsTerminal": "le mode interactif nécessite un terminal — utilisez -p/--print en cas de redirection",
456
+ "cli.main.printNeedsTask": "--print nécessite une tâche (argument ou stdin redirigé)",
457
+ "cli.main.tryHelp": "essayez : moreai --help",
458
+ "cli.model.ambiguous": "plusieurs fournisseurs connectés proposent \"{{model}}\" ({{providers}}) — ajoutez --provider <id> pour choisir ; exécution sur le défaut du moteur pour l'instant",
459
+ "cli.model.cannotVerify": "Impossible de vérifier les fournisseurs pour cet agent de codage. Reconnectez le moteur et réessayez.",
460
+ "cli.model.claudeNeedsKey": "Claude Agent nécessite une clé API Anthropic ou une clé Z.ai Coding Plan.",
461
+ "cli.model.claudeNeedsSelectedKey": "Claude Agent nécessite une clé API Anthropic ou une clé Z.ai Coding Plan sélectionnée.",
462
+ "cli.model.codexNeedsKey": "Codex nécessite une clé API OpenAI, OpenRouter ou Z.ai Coding Plan.",
463
+ "cli.model.needsApiKey": "{{provider}} nécessite une clé API connectée pour cet agent de codage.",
464
+ "cli.model.notOffered": "Le modèle {{model}} n'est proposé par aucun fournisseur connecté. Choisissez d'abord un fournisseur compatible.",
465
+ "cli.model.notOfferedBy": "{{model}} n'est pas proposé par {{provider}}. Choisissez un modèle compatible avant de lancer.",
466
+ "cli.model.opencodeProtocol": "{{provider}} n'a pas de protocole OpenCode local vérifié.",
467
+ "cli.model.severalForAgent": "Plusieurs fournisseurs proposent {{model}} ; choisissez-en un avec --provider.",
468
+ "cli.print.connectorFailed": "échec du connecteur : {{name}}",
469
+ "cli.print.continueHint": "relancez avec -c pour continuer cette session",
470
+ "cli.print.declined": "refusé : {{title}}",
471
+ "cli.print.declinedDetail": "exécution non interactive — les approbations nécessitent la TUI ou l'application de bureau",
472
+ "cli.print.doctorHint": "lancez `moreai doctor` pour un diagnostic",
473
+ "cli.print.held": "retenu : {{command}}",
474
+ "cli.print.openedBrowser": "navigateur ouvert : {{url}}",
475
+ "cli.print.othersActive_one": "{{count}} autre exécution est active dans ce dossier — les modifications restent ciblées",
476
+ "cli.print.othersActive_other": "{{count}} autres exécutions sont actives dans ce dossier — les modifications restent ciblées",
477
+ "cli.print.outputDiverged": "la sortie enregistrée diffère de la sortie diffusée ; reprenez la session pour lire la réponse complète",
478
+ "cli.print.outputLimit": "limite de longueur de sortie atteinte",
479
+ "cli.print.planDetail": "lancez en mode interactif (ou dans l'application de bureau) pour l'approuver et le mettre en œuvre",
480
+ "cli.print.planTitle": "Plan présenté",
481
+ "cli.print.reconnectFailed": "la connexion n'a pas pu être rétablie",
482
+ "cli.print.reconnectFailedSession": "la connexion n'a pas pu être rétablie ; rouvrez la session {{id}} pour voir le résultat",
483
+ "cli.print.replayNoSession": "relecture de l'exécution indisponible : id de session manquant",
484
+ "cli.print.replayUnavailable": "relecture de l'exécution indisponible ; rouvrez la session {{id}} pour voir son résultat",
485
+ "cli.print.runError": "erreur ({{code}}) : {{message}}",
486
+ "cli.print.sessionGone": "la session a disparu avant le début de l'exécution",
487
+ "cli.print.sharedTree": "arbre de travail partagé",
488
+ "cli.print.startFailed": "échec du démarrage : {{message}}",
489
+ "cli.print.stepBudget": "budget d'étapes atteint",
490
+ "cli.session.defaultTitle": "Session {{name}}",
491
+ "cli.session.fallbackName": "session",
492
+ "cli.session.notFound": "session introuvable : {{id}}",
493
+ "cli.sessions.count_one": "{{count}} session · {{path}}",
494
+ "cli.sessions.count_other": "{{count}} sessions · {{path}}",
495
+ "cli.sessions.daysAgo_one": "il y a {{count}} j",
496
+ "cli.sessions.daysAgo_other": "il y a {{count}} j",
497
+ "cli.sessions.hoursAgo_one": "il y a {{count}} h",
498
+ "cli.sessions.hoursAgo_other": "il y a {{count}} h",
499
+ "cli.sessions.justNow": "à l'instant",
500
+ "cli.sessions.minutesAgo_one": "il y a {{count}} min",
501
+ "cli.sessions.minutesAgo_other": "il y a {{count}} min",
502
+ "cli.sessions.none": "aucune session pour {{path}} pour l'instant — lancez `moreai` pour en démarrer une",
503
+ "cli.setup.accountDetail": "Synchronisez maintenant ; connectez un modèle plus tard",
504
+ "cli.setup.accountReady": "Compte prêt · la synchro démarre quand le moteur tourne",
505
+ "cli.setup.accountTitle": "Compte + service",
506
+ "cli.setup.accountUnfinished": "La configuration du compte ou du service est inachevée. Lancez `moreai login` quand vous serez prêt.",
507
+ "cli.setup.analytics": "Analyses",
508
+ "cli.setup.analyticsSet": "Analyses {{state}} · modifiable avec {{command}}",
509
+ "cli.setup.fullDetail": "Synchronisez votre travail, connectez un service et commencez à coder",
510
+ "cli.setup.fullTitle": "Compte + service + modèle",
511
+ "cli.setup.invalidChoice": "Choisissez 1, 2 ou 3 (01, 02 et 03 fonctionnent aussi).",
512
+ "cli.setup.modelDetail": "Utilisez votre propre clé API ou la connexion d'un fournisseur",
513
+ "cli.setup.modelLater": "Connectez un modèle plus tard avec `moreai auth`.",
514
+ "cli.setup.modelReady": "Modèle prêt · ouvrez un projet et lancez {{command}}",
515
+ "cli.setup.modelTitle": "Modèle uniquement",
516
+ "cli.setup.modelUnfinished": "La configuration du modèle est inachevée. Lancez `moreai auth` quand vous serez prêt.",
517
+ "cli.setup.needsTerminal": "moreai setup nécessite un terminal. Pour les scripts, lancez `moreai login <email>` et `moreai auth` séparément.",
518
+ "cli.setup.select": "Choisir",
519
+ "cli.setup.stepAccount": "{{step}} / Compte",
520
+ "cli.setup.stepModel": "{{step}} / Modèle",
521
+ "cli.setup.tagline": "Votre espace de codage, partout où vous ouvrez un terminal.",
522
+ "cli.update.current": "More AI Code {{version}} est à jour sur {{channel}}.",
523
+ "cli.update.failed": "moreai update : {{message}}",
524
+ "cli.update.notPublished": "Aucune version {{channel}} de {{package}} n'est encore publiée. Actuelle : {{version}}.",
525
+ "cli.update.notice": "More AI Code {{version}} est disponible · moreai update --install",
526
+ "cli.update.registryReplied": "le registre npm a répondu {{status}}",
527
+ "cli.update.runInstall": "Lancez {{install}} ou {{npm}}.",
528
+ "cloud.blocked": "Ce dossier ne peut pas être déplacé dans le cloud : {{reason}}",
529
+ "cloud.cancelFailed": "Impossible d'arrêter la tâche.",
530
+ "cloud.cancelled": "Arrêt de la tâche demandé au cloud.",
531
+ "cloud.finish.branch": "Le travail est sur la branche locale {{branch}} ({{commits}} commits) — votre branche n'a pas été touchée.",
532
+ "cloud.finish.conflicts": "Vos modifications ont été conservées dans : {{files}}",
533
+ "cloud.finish.failed": "Impossible de rapatrier le travail ({{step}}) : {{error}}",
534
+ "cloud.finish.folder_one": "{{count}} fichier mis à jour dans ce dossier.",
535
+ "cloud.finish.folder_other": "{{count}} fichiers mis à jour dans ce dossier.",
536
+ "cloud.finish.fromCloud": "La pull request est ouverte depuis le cloud — voir la page de la session.",
537
+ "cloud.finish.none": "Rien à rapatrier depuis cet ordinateur pour cette session.",
538
+ "cloud.finish.openForm": "Ouvrir la pull request : {{url}}",
539
+ "cloud.finish.pullRequest": "Pull request : {{url}}",
540
+ "cloud.finish.pushed": "Branche {{branch}} poussée vers {{remote}}.",
541
+ "cloud.finish.retry": "Réessayez : moreai cloud finish {{id}}",
542
+ "cloud.finish.unchanged": "La tâche n'a rien modifié — il n'y a rien à rapatrier.",
543
+ "cloud.finish.working": "Rapatriement du travail…",
544
+ "cloud.follow.done": "terminé dans le cloud · {{elapsed}}",
545
+ "cloud.follow.failed": "la tâche cloud a échoué : {{error}}",
546
+ "cloud.follow.needsYou": "La tâche a besoin de vous — répondez dans le navigateur : {{url}}",
547
+ "cloud.follow.step": "étape {{step}}",
548
+ "cloud.follow.stopped": "la tâche cloud a été arrêtée",
549
+ "cloud.follow.working": "en cours dans le cloud",
550
+ "cloud.list.empty": "Aucune session cloud pour l'instant — `moreai cloud run \"task\"` y déplace ce dossier.",
551
+ "cloud.list.hint": "En ouvrir une : moreai cloud open <id> · dans un navigateur : {{url}}",
552
+ "cloud.list.title": "Sessions cloud",
553
+ "cloud.models.hint": "Choisissez-en un avec : moreai cloud run -m <model> \"task\"",
554
+ "cloud.models.key": "votre clé {{provider}}",
555
+ "cloud.models.plan": "votre forfait More AI",
556
+ "cloud.models.recommended": "recommandé",
557
+ "cloud.models.title": "Modèles pour les exécutions cloud",
558
+ "cloud.needsId": "moreai cloud {{action}} nécessite un id de session (voir `moreai cloud`)",
559
+ "cloud.needsTask": "moreai cloud run nécessite une tâche : moreai cloud run \"corrige les tests en échec\"",
560
+ "cloud.noModel": "Aucun modèle n'est disponible pour les exécutions cloud sur ce compte. Téléversez une clé de fournisseur dans l'application More AI (Paramètres → Confidentialité) ou vérifiez votre forfait.",
561
+ "cloud.olderEngine": "Ce moteur ne peut pas encore exécuter de sessions cloud — mettez à jour l'application More AI (ou fermez-la pour que la CLI démarre son propre moteur).",
562
+ "cloud.open.answer": "Agent",
563
+ "cloud.open.notFound": "Aucune session cloud {{id}} sur ce compte.",
564
+ "cloud.open.prompt": "Vous",
565
+ "cloud.run.changes_one": "{{count}} fichier modifié",
566
+ "cloud.run.changes_other": "{{count}} fichiers modifiés",
567
+ "cloud.run.detached": "Suivi arrêté — la tâche continue dans le cloud. Rouvrez-la avec : moreai cloud open {{id}}",
568
+ "cloud.run.folder_one": "dossier · {{count}} fichier",
569
+ "cloud.run.folder_other": "dossier · {{count}} fichiers",
570
+ "cloud.run.historyFull": "historique complet",
571
+ "cloud.run.historySnapshot": "dernier commit seulement (historique trop volumineux)",
572
+ "cloud.run.model": "modèle {{model}}",
573
+ "cloud.run.modelKey": "{{model}} · votre clé {{provider}} dans le cloud",
574
+ "cloud.run.modelPlan": "{{model}} · votre forfait More AI",
575
+ "cloud.run.moving": "Déplacement de {{name}} dans le cloud",
576
+ "cloud.run.repository": "branche {{branch}} · {{changes}} · {{history}}",
577
+ "cloud.run.skippedSecrets": "laissés de côté (ressemblent à des secrets) : {{files}}",
578
+ "cloud.run.started": "Session cloud démarrée — suivez-la ou continuez dans le navigateur :",
579
+ "cloud.run.workBack": "Le travail revient sur la branche {{branch}} quand la tâche se termine.",
580
+ "cloud.signedOut": "Les exécutions cloud utilisent votre compte More AI — connectez-vous d'abord : `moreai login` (ou /login dans une session).",
581
+ "cloud.stage.creating": "démarrage de la session cloud",
582
+ "cloud.stage.packaging": "empaquetage",
583
+ "cloud.stage.summarizing": "résumé de cette session pour l'agent cloud",
584
+ "cloud.stage.uploading": "envoi {{loaded}} / {{total}}",
585
+ "cloud.status.awaiting_user": "vous attend",
586
+ "cloud.status.cancelled": "arrêtée",
587
+ "cloud.status.done": "terminée",
588
+ "cloud.status.error": "échec",
589
+ "cloud.status.idle": "inactive",
590
+ "cloud.status.queued": "en file",
591
+ "cloud.status.running": "en cours",
592
+ "cloud.status.scheduled": "planifiée",
593
+ "cloud.usage": "usage : moreai cloud [list | open <id> | run \"task\" | finish <id> | cancel <id> | models]",
594
+ "common.language.auto": "Automatique",
595
+ "common.language.autoDetail": "comme l'application de bureau et votre système — {{name}}",
596
+ "common.language.current": "actuellement {{name}}",
597
+ "common.language.footer": "↑↓ déplacer · Enter choisir · Esc fermer",
598
+ "common.language.note": "Les commandes slash, les options et les touches restent en anglais.",
599
+ "common.language.search": "langues…",
600
+ "common.language.switched": "Langue : {{name}}",
601
+ "common.language.switchedAuto": "La langue suit l'application de bureau et votre système — {{name}}",
602
+ "common.language.title": "Langue",
603
+ "common.language.unknown": "Langue inconnue “{{tag}}”. /language liste les {{count}} disponibles.",
604
+ "common.noMatch": "Aucun résultat pour “{{query}}”.",
605
+ "common.search": "Rechercher",
606
+ "composer.hint.escAgain": "Esc à nouveau pour effacer le brouillon",
607
+ "composer.hint.idle": "Enter envoyer · / commandes · Shift+Tab accès · Ctrl+J nouvelle ligne · Ctrl+T voix",
608
+ "composer.hint.paste": "Enter envoyer · Ctrl+O déplier le collage · Backspace le retire",
609
+ "composer.hint.running": "Enter orienter · Esc interrompre",
610
+ "composer.menu.footer": "↑↓ choisir · Tab compléter · Enter lancer · Esc fermer",
611
+ "composer.menu.more_one": "{{count}} de plus",
612
+ "composer.menu.more_other": "{{count}} de plus",
613
+ "composer.moreLines_one": "{{count}} ligne de plus",
614
+ "composer.moreLines_other": "{{count}} lignes de plus",
615
+ "composer.pasted.chars_one": "{{n}} caractère",
616
+ "composer.pasted.chars_other": "{{n}} caractères",
617
+ "composer.pasted.label": "Texte collé n°{{n}}",
618
+ "composer.pasted.lines_one": "{{n}} ligne",
619
+ "composer.pasted.lines_other": "{{n}} lignes",
620
+ "composer.pasted.short": "Texte collé",
621
+ "composer.placeholder.idle": "Posez une question sur ce dépôt ou décrivez une tâche…",
622
+ "composer.placeholder.running": "Ajoutez des consignes pendant que l'agent travaille…",
623
+ "connectors.account.connecting": "Connexion…",
624
+ "connectors.account.deviceOnly": "Connecter sur cet ordinateur uniquement",
625
+ "connectors.account.deviceOnlyDetail": "sans compte — il n'atteindra ni vos autres appareils ni les exécutions cloud",
626
+ "connectors.account.footer": "Enter choisir · {{keys}} sélectionner · Esc retour",
627
+ "connectors.account.preferred": "{{name}} conserve sa connexion avec votre compte More AI, il fonctionne donc sur tous vos appareils et dans les exécutions cloud. Connectez-vous pour continuer.",
628
+ "connectors.account.required": "{{name}} se connecte via votre compte More AI. Connectez-vous une fois — il fonctionne ensuite ici, dans l'application de bureau, sur le web, sur votre téléphone et dans les exécutions cloud.",
629
+ "connectors.account.signIn": "Se connecter à More AI et connecter",
630
+ "connectors.account.signInDetail": "recommandé — gratuit, une minute avec un code par e-mail",
631
+ "connectors.account.title": "{{name}} nécessite un compte More AI",
632
+ "connectors.category.automation": "Automatisation",
633
+ "connectors.category.cms": "CMS et web",
634
+ "connectors.category.crm": "GRC",
635
+ "connectors.category.data": "Données et analyses",
636
+ "connectors.category.database": "Base de données",
637
+ "connectors.category.design": "Conception",
638
+ "connectors.category.dev": "Développement de logiciels",
639
+ "connectors.category.docs": "Documentation",
640
+ "connectors.category.lifestyle": "Voyage et style de vie",
641
+ "connectors.category.marketing": "Commercialisation",
642
+ "connectors.category.meetings": "Réunions et notes",
643
+ "connectors.category.other": "Autre",
644
+ "connectors.category.payments": "Paiements",
645
+ "connectors.category.pm": "Gestion de projet",
646
+ "connectors.category.productivity": "Productivité",
647
+ "connectors.category.research": "Recherche et sciences",
648
+ "connectors.category.search": "Recherche et recherche",
649
+ "connectors.category.storage": "Stockage et actifs",
650
+ "connectors.category.support": "Assistance client",
651
+ "connectors.closeHint": "Enter ou Esc pour fermer",
652
+ "connectors.cmd.addNeedsId": "indiquez un id issu de `moreai connectors catalog` ou une URL",
653
+ "connectors.cmd.catalogTitle": "Services disponibles",
654
+ "connectors.cmd.connected": "connecté",
655
+ "connectors.cmd.connectedId": "{{id}} connecté",
656
+ "connectors.cmd.disabled": "désactivé",
657
+ "connectors.cmd.disconnected": "{{name}} déconnecté",
658
+ "connectors.cmd.engineTooOld": "ce moteur est trop ancien pour les connecteurs ; mettez à jour l'application de bureau ou redémarrez le démon intégré",
659
+ "connectors.cmd.listTitle": "Services externes",
660
+ "connectors.cmd.needsId": "indiquez un id issu de `moreai connectors list`",
661
+ "connectors.cmd.needsSignIn": "connexion requise",
662
+ "connectors.cmd.needsTerminal": "moreai connectors nécessite un terminal ; utilisez `moreai connectors list` pour inspecter les connexions",
663
+ "connectors.cmd.noneChosen": "Aucun service choisi. Lancez `moreai connectors` quand vous serez prêt.",
664
+ "connectors.cmd.noneConfigured": "aucun service configuré — lancez `moreai connectors` pour en choisir un",
665
+ "connectors.cmd.notFound": "connecteur introuvable : {{id}}",
666
+ "connectors.cmd.pendingElsewhere": "La connexion dans le navigateur est en attente. Terminez-la sur un client interactif, puis lancez `moreai connectors list`.",
667
+ "connectors.cmd.ready": "prêt",
668
+ "connectors.cmd.serviceReady": "service prêt — utilisez ses outils depuis {{command}}",
669
+ "connectors.cmd.signInFirst": "Connectez-vous avec `moreai login`, puis relancez cette commande — ou ouvrez `moreai connectors` pour le connecter sur cet ordinateur uniquement.",
670
+ "connectors.cmd.signInPage": "Page de connexion : {{url}}",
671
+ "connectors.cmd.signInUnfinished": "la connexion n'a pas abouti",
672
+ "connectors.cmd.timedOut": "délai de connexion dépassé ; lancez `moreai connectors` pour réessayer",
673
+ "connectors.cmd.tokenEmpty": "stdin ne contenait aucun jeton",
674
+ "connectors.cmd.tokenNeedsPipe": "--token-stdin nécessite une entrée redirigée",
675
+ "connectors.cmd.toolsAvailable_one": "{{count}} outil disponible",
676
+ "connectors.cmd.toolsAvailable_other": "{{count}} outils disponibles",
677
+ "connectors.cmd.unexpectedArgument": "argument inattendu : {{arg}}",
678
+ "connectors.cmd.urlTakesNoTenant": "les URL personnalisées n'acceptent pas d'argument de tenant",
679
+ "connectors.cmd.usage": "utilisez `list`, `catalog`, `add <id-or-url>`, `on <id>`, `off <id>` ou `remove <id>`",
680
+ "connectors.cmd.waiting": "Terminez la connexion dans votre navigateur. En attente de la connexion…",
681
+ "connectors.confirmDisconnect": "Ctrl+D à nouveau pour déconnecter",
682
+ "connectors.connected": "{{name}} connecté",
683
+ "connectors.connectedTools_one": "{{name}} connecté — {{count}} outil",
684
+ "connectors.connectedTools_other": "{{name}} connecté — {{count}} outils",
685
+ "connectors.disconnected": "{{name}} déconnecté",
686
+ "connectors.error.addedInDesktop": "{{name}} a été ajouté dans l'application de bureau — reconnectez-le là-bas.",
687
+ "connectors.error.addedInDesktopUnnamed": "Ce service a été ajouté dans l'application de bureau — reconnectez-le là-bas.",
688
+ "connectors.error.engineTooOld": "Ce moteur est trop ancien pour cela. Mettez à jour More AI Code ou l'application de bureau.",
689
+ "connectors.error.signInUnfinished": "La connexion n'a pas abouti.",
690
+ "connectors.footer": "tapez pour rechercher · ↑↓ déplacer · Enter connecter · Space activer/désactiver · ^D déconnecter · Esc fermer",
691
+ "connectors.footerShort": "tapez · ↑↓ · Enter connecter · Space activer · ^D retirer · Esc",
692
+ "connectors.found_one": "{{count}} trouvé",
693
+ "connectors.found_other": "{{count}} trouvés",
694
+ "connectors.inCatalog_one": "{{count}} dans le catalogue",
695
+ "connectors.inCatalog_other": "{{count}} dans le catalogue",
696
+ "connectors.isConnected": "{{name}} est connecté — Space le désactive, Ctrl+D le déconnecte",
697
+ "connectors.isConnectedAs": "{{name}} est connecté en tant que {{account}} — Space le désactive, Ctrl+D le déconnecte",
698
+ "connectors.loading": "Chargement de vos services…",
699
+ "connectors.noMatch": "Aucun résultat pour “{{query}}”. Essayez un nom de service ou une catégorie.",
700
+ "connectors.onCount_one": "{{count}} activé",
701
+ "connectors.onCount_other": "{{count}} activés",
702
+ "connectors.searchPlaceholder": "services, catégories…",
703
+ "connectors.section.connected": "Connectés",
704
+ "connectors.state.apiKey": "clé API",
705
+ "connectors.state.needsAccount": "compte More AI",
706
+ "connectors.state.needsAddress": "votre adresse requise",
707
+ "connectors.state.needsAuth": "connexion requise",
708
+ "connectors.state.off": "désactivé",
709
+ "connectors.state.on": "activé",
710
+ "connectors.state.open": "sans connexion",
711
+ "connectors.state.signIn": "se connecter",
712
+ "connectors.subtitle": "services que votre agent peut utiliser",
713
+ "connectors.tenant.footer": "Enter continuer · Esc retour",
714
+ "connectors.title": "Connecteurs",
715
+ "connectors.token.footer": "Enter connecter · Esc retour · la clé reste dans le trousseau de cette machine",
716
+ "connectors.token.label": "Clé API ou jeton",
717
+ "connectors.token.placeholder": "collez le jeton ici",
718
+ "connectors.token.testing": "Test de la connexion…",
719
+ "connectors.turnedOff": "{{name}} désactivé",
720
+ "connectors.turnedOn": "{{name}} activé",
721
+ "connectors.wait.footer": "Esc retour à la liste (la connexion reste en attente)",
722
+ "connectors.wait.google": "Les services Google se connectent à votre compte More AI — ils fonctionnent sur tous vos appareils.",
723
+ "connectors.wait.signIn": "Connectez-vous à {{name}} dans votre navigateur…",
724
+ "connectors.wait.url": "Si aucun navigateur ne s'est ouvert : {{url}}",
725
+ "connectors.wait.waiting": "En attente d'autorisation…",
726
+ "pickers.cloud.footer": "tapez pour rechercher · ↑↓ déplacer · Enter afficher et suivre · Esc fermer",
727
+ "pickers.list.empty": "Rien ici pour l'instant.",
728
+ "pickers.list.more_one": "{{count}} de plus",
729
+ "pickers.list.more_other": "{{count}} de plus",
730
+ "pickers.model.count_one": "{{count}} modèle",
731
+ "pickers.model.count_other": "{{count}} modèles",
732
+ "pickers.model.current": "actuel {{model}}",
733
+ "pickers.model.footerMedium": "↑↓ déplacer · ←→ fournisseur · Enter utiliser · ^F épingler · Esc",
734
+ "pickers.model.footerNarrow": "↑↓ · Enter utiliser · Esc",
735
+ "pickers.model.footerWide": "↑↓ déplacer · ←→ fournisseur · Enter utiliser · ^F épingler · ^A ajouter un fournisseur · Esc fermer",
736
+ "pickers.model.free": "gratuit",
737
+ "pickers.model.loading": "Chargement des modèles…",
738
+ "pickers.model.matchCount": "{{shown}} sur {{total}}",
739
+ "pickers.model.noCurrent": "actuel : aucun pour l'instant",
740
+ "pickers.model.noMatch": "Aucun modèle ne correspond à “{{query}}”. Esc efface la recherche.",
741
+ "pickers.model.noProviders": "Aucun fournisseur connecté n'a encore de modèles.",
742
+ "pickers.model.noProvidersHint": "Ctrl+A en connecte un.",
743
+ "pickers.model.notInPlan": "hors forfait",
744
+ "pickers.model.pinNeedsNewerEngine": "L'épinglage nécessite un moteur plus récent — mettez à jour l'application de bureau.",
745
+ "pickers.model.pinned": "{{model}} épinglé — il apparaît sous Épinglés ici et dans l'application de bureau",
746
+ "pickers.model.planRequired": "forfait {{plan}}",
747
+ "pickers.model.scopeAll": "Tous",
748
+ "pickers.model.searchHint": "modèles, fournisseurs, éditeurs…",
749
+ "pickers.model.section.current": "Modèle actuel",
750
+ "pickers.model.section.pinned": "Épinglés",
751
+ "pickers.model.section.recent": "Récents",
752
+ "pickers.model.section.vendor": "{{provider}} › {{vendor}}",
753
+ "pickers.model.title": "Choisir un modèle",
754
+ "pickers.model.unpinned": "{{model}} désépinglé",
755
+ "pickers.sessions.current": "actuelle",
756
+ "pickers.sessions.daysAgo_one": "il y a {{count}} j",
757
+ "pickers.sessions.daysAgo_other": "il y a {{count}} j",
758
+ "pickers.sessions.footer": "tapez pour rechercher · ↑↓ déplacer · ←→ ce dossier / tous · Enter reprendre · Esc fermer",
759
+ "pickers.sessions.hoursAgo_one": "il y a {{count}} h",
760
+ "pickers.sessions.hoursAgo_other": "il y a {{count}} h",
761
+ "pickers.sessions.justNow": "à l'instant",
762
+ "pickers.sessions.minutesAgo_one": "il y a {{count}} min",
763
+ "pickers.sessions.minutesAgo_other": "il y a {{count}} min",
764
+ "pickers.sessions.noFolder": "aucun dossier",
765
+ "pickers.sessions.noMatch": "Aucune session ne correspond à “{{query}}”.",
766
+ "pickers.sessions.none": "Aucune session pour l'instant. Envoyez une tâche pour en créer une.",
767
+ "pickers.sessions.noneHere": "Aucune session dans ce dossier — ←→ affiche tous les dossiers.",
768
+ "pickers.sessions.older": "Plus ancien",
769
+ "pickers.sessions.scopeAll": "Tous les dossiers {{n}}",
770
+ "pickers.sessions.scopeHere": "Ce dossier {{n}}",
771
+ "pickers.sessions.searchHint": "titres et dossiers…",
772
+ "pickers.sessions.thisWeek": "Cette semaine",
773
+ "pickers.sessions.title": "Sessions",
774
+ "pickers.sessions.today": "Aujourd'hui",
775
+ "pickers.sessions.untitled": "Session sans titre",
776
+ "pickers.sessions.yesterday": "Hier",
777
+ "slash.cloudBusy": "une tâche cloud est déjà suivie — attendez-la, ou suivez la nouvelle plus tard avec /cloud",
778
+ "slash.desc.analytics": "analyses d'utilisation et traces IA",
779
+ "slash.desc.auth": "connecter un fournisseur d'IA (clé ou connexion)",
780
+ "slash.desc.cloud": "sessions cloud, ou exécuter une tâche dans le cloud",
781
+ "slash.desc.connectors": "vos services (Gmail, MCP…) et le catalogue",
782
+ "slash.desc.harness": "lister ou changer d'agent de codage",
783
+ "slash.desc.help": "touches et commandes",
784
+ "slash.desc.helperExplore": "auxiliaire qui cartographie le code et fait son rapport",
785
+ "slash.desc.helperGeneral": "auxiliaire polyvalent pour une question ciblée",
786
+ "slash.desc.helperScout": "auxiliaire qui se renseigne sur les bibliothèques, API et docs",
787
+ "slash.desc.language": "langue de l'interface",
788
+ "slash.desc.login": "se connecter à More AI : synchro, dictée, services Google",
789
+ "slash.desc.mode": "définir le mode d'accès",
790
+ "slash.desc.model": "rechercher et changer de modèle",
791
+ "slash.desc.models": "même sélecteur que /model",
792
+ "slash.desc.new": "démarrer une nouvelle session",
793
+ "slash.desc.quit": "quitter",
794
+ "slash.desc.sessions": "rechercher des sessions — ce dossier ou tous",
795
+ "slash.desc.status": "moteur · session · mode · modèle",
796
+ "slash.desc.voice": "dicter dans la zone de saisie (Ctrl+T)",
797
+ "slash.engineNotConnected": "le moteur n'est pas encore connecté",
798
+ "slash.finishRunFirst": "terminez ou interrompez d'abord l'exécution",
799
+ "slash.harness.claudeNeedsKey": "Claude Agent nécessite une clé API Anthropic ou une clé Z.ai Coding Plan sélectionnée — connectez-en une avec /auth",
800
+ "slash.harness.finishRunFirst": "terminez ou interrompez l'exécution avant de changer d'agent de codage",
801
+ "slash.harness.notLocal": "{{name}} n'est pas disponible pour les sessions locales",
802
+ "slash.harness.notReady": "{{name}} n'est pas prêt ({{state}})",
803
+ "slash.harness.state.builtIn": "intégré",
804
+ "slash.harness.state.error": "erreur",
805
+ "slash.harness.state.installing": "installation",
806
+ "slash.harness.state.missing": "absent",
807
+ "slash.harness.state.ready": "prêt",
808
+ "slash.harness.state.unsupported": "non pris en charge",
809
+ "slash.harness.state.updating": "mise à jour",
810
+ "slash.harness.switched": "agent de codage : {{name}}",
811
+ "slash.harness.title": "agents de codage",
812
+ "slash.harness.unavailable": "indisponible",
813
+ "slash.harness.unknown": "agent de codage inconnu : {{name}}",
814
+ "slash.harness.useHint": "Utilisez /harness <id> pour installer et basculer.",
815
+ "slash.help.clear": "{{ctrlC}} effacer la saisie (gardée dans l'historique) / deux fois pour quitter",
816
+ "slash.help.commands": "{{model}} rechercher et changer de modèle · {{sessions}} toutes les sessions · {{connectors}} services",
817
+ "slash.help.cursor": "{{altArrows}} mots · {{ctrlAE}} début/fin de ligne · {{ctrlUKW}} supprimer",
818
+ "slash.help.editing": "{{enter}} envoyer · {{ctrlJ}} ou {{backslash}} final : nouvelle ligne · {{arrows}} lignes, puis historique",
819
+ "slash.help.helpers": "{{at}} (ou @scout, @general) en début de tâche lance d'abord des agents auxiliaires en parallèle pour faire les recherches",
820
+ "slash.help.interrupt": "{{esc}} interrompre l'exécution (deux fois efface le brouillon) · {{shiftTab}} changer de mode d'accès",
821
+ "slash.help.paste": "un grand collage devient une seule ligne {{pasted}} · {{ctrlO}} la déplie",
822
+ "slash.help.steer": "tapez pendant que l'agent travaille pour l'**orienter** en cours d'exécution",
823
+ "slash.help.title": "aide",
824
+ "slash.help.voice": "{{ctrlT}} voix : parlez, puis {{enter}} insère le texte dans la saisie · {{esc}} abandonne",
825
+ "slash.modeMustBe": "le mode doit être l'un de : {{modes}}",
826
+ "slash.newSession": "nouvelle session",
827
+ "slash.noSessions": "aucune session pour l'instant — envoyez une tâche pour en démarrer une",
828
+ "slash.status.backend": "backend",
829
+ "slash.status.engine": "moteur",
830
+ "slash.status.engineDefault": "par défaut du moteur",
831
+ "slash.status.harness": "agent",
832
+ "slash.status.mode": "mode",
833
+ "slash.status.model": "modèle",
834
+ "slash.status.noSession": "aucune pour l'instant",
835
+ "slash.status.repo": "dépôt",
836
+ "slash.status.session": "session",
837
+ "slash.status.title": "état",
838
+ "slash.status.version": "version",
839
+ "slash.status.via": "via {{provider}}",
840
+ "subagents.backgrounded": "Suite en arrière-plan — son rapport arrive plus tard.",
841
+ "subagents.clear": "Effacer le sous-agent",
842
+ "subagents.done": "{{total}} terminé",
843
+ "subagents.menuTitle": "Sous-agents",
844
+ "subagents.none": "Aucun sous-agent : gérez-les dans les paramètres",
845
+ "subagents.nowLabel": "Maintenant :",
846
+ "subagents.running": "{{running}} en cours d'exécution · {{total}}",
847
+ "subagents.thinking": "Penser…",
848
+ "subagents.title": "Sous-agents",
849
+ "subagents.tokens": "{{value}} jetons",
850
+ "subagents.tools_many": "{{count}} outils",
851
+ "subagents.tools_one": "Outil {{count}}",
852
+ "subagents.tools_other": "{{count}} outils",
853
+ "toolSteps.actionFailed": "Échec : {{action}}",
854
+ "toolSteps.actions.browser.done": "Navigateur utilisé",
855
+ "toolSteps.actions.browser.group": "Actions du navigateur",
856
+ "toolSteps.actions.browser.running": "Utilisation du navigateur",
857
+ "toolSteps.actions.command.done": "Commande exécutée",
858
+ "toolSteps.actions.command.group": "Commandes exécutées",
859
+ "toolSteps.actions.command.running": "Commande en cours d'exécution",
860
+ "toolSteps.actions.connector.done": "Application connectée utilisée",
861
+ "toolSteps.actions.connector.group": "Actions des applications connectées",
862
+ "toolSteps.actions.connector.running": "Utilisation d'une application connectée",
863
+ "toolSteps.actions.context.done": "Action contextuelle terminée",
864
+ "toolSteps.actions.context.group": "Actions contextuelles",
865
+ "toolSteps.actions.context.running": "Gérer le contexte",
866
+ "toolSteps.actions.create.done": "Fichier créé",
867
+ "toolSteps.actions.create.group": "Fichiers créés",
868
+ "toolSteps.actions.create.running": "Création d'un fichier",
869
+ "toolSteps.actions.delete.done": "Fichier supprimé",
870
+ "toolSteps.actions.delete.group": "Fichiers supprimés",
871
+ "toolSteps.actions.delete.running": "Suppression du fichier",
872
+ "toolSteps.actions.document.done": "Document traité",
873
+ "toolSteps.actions.document.group": "Documents traités",
874
+ "toolSteps.actions.document.running": "Travailler avec un document",
875
+ "toolSteps.actions.edit.done": "Fichier modifié",
876
+ "toolSteps.actions.edit.group": "Fichiers modifiés",
877
+ "toolSteps.actions.edit.running": "Modification du fichier",
878
+ "toolSteps.actions.history.done": "Historique des conversations recherché",
879
+ "toolSteps.actions.history.group": "Recherches dans l'historique",
880
+ "toolSteps.actions.history.running": "Rechercher dans l'historique des conversations",
881
+ "toolSteps.actions.image.done": "Image générée",
882
+ "toolSteps.actions.image.group": "Images générées",
883
+ "toolSteps.actions.image.running": "Générer une image",
884
+ "toolSteps.actions.list.done": "Dossier répertorié",
885
+ "toolSteps.actions.list.group": "Dossiers répertoriés",
886
+ "toolSteps.actions.list.running": "Dossier de liste",
887
+ "toolSteps.actions.memory.done": "Action de mémoire terminée",
888
+ "toolSteps.actions.memory.group": "Actions de mémoire",
889
+ "toolSteps.actions.memory.running": "Travailler avec la mémoire",
890
+ "toolSteps.actions.permission.done": "Accès demandé",
891
+ "toolSteps.actions.permission.group": "Demandes d'accès",
892
+ "toolSteps.actions.permission.running": "Demande d'accès",
893
+ "toolSteps.actions.process.done": "Action de processus terminée",
894
+ "toolSteps.actions.process.group": "Actions de processus",
895
+ "toolSteps.actions.process.running": "Processus de gestion",
896
+ "toolSteps.actions.read.done": "Fichier lu",
897
+ "toolSteps.actions.read.group": "Fichiers lus",
898
+ "toolSteps.actions.read.running": "Lecture du fichier",
899
+ "toolSteps.actions.readMany.done": "Fichiers lus",
900
+ "toolSteps.actions.readMany.group": "Fichiers lus",
901
+ "toolSteps.actions.readMany.running": "Lecture de fichiers",
902
+ "toolSteps.actions.search.done": "Recherche terminée",
903
+ "toolSteps.actions.search.group": "Recherches terminées",
904
+ "toolSteps.actions.search.running": "Recherche",
905
+ "toolSteps.actions.skill.done": "Compétence utilisée",
906
+ "toolSteps.actions.skill.group": "Compétences utilisées",
907
+ "toolSteps.actions.skill.running": "Compétence de chargement",
908
+ "toolSteps.actions.tool.done": "Action terminée",
909
+ "toolSteps.actions.tool.group": "Actions",
910
+ "toolSteps.actions.tool.running": "Effectuer une action",
911
+ "toolSteps.actions.write.done": "Fichier enregistré",
912
+ "toolSteps.actions.write.group": "Fichiers enregistrés",
913
+ "toolSteps.actions.write.running": "Enregistrement du fichier",
914
+ "toolSteps.addSheet.done": "Feuille ajoutée {{name}}",
915
+ "toolSteps.addSheet.running": "Ajout de la feuille {{name}}",
916
+ "toolSteps.addSlide.done": "Ajout d'une diapositive de {{name}}",
917
+ "toolSteps.addSlide.running": "Ajout d'une diapositive de {{name}}",
918
+ "toolSteps.aggregateRange.done": "Agrégation d'une plage dans {{path}}",
919
+ "toolSteps.aggregateRange.running": "Agrégation d'une plage dans {{path}}",
920
+ "toolSteps.applyPatch.done": "Modifié {{path}}",
921
+ "toolSteps.applyPatch.running": "Modification de {{path}}",
922
+ "toolSteps.browserBatch.done": "Étapes du navigateur effectuées ({{query}})",
923
+ "toolSteps.browserBatch.running": "Étapes du navigateur ({{query}})",
924
+ "toolSteps.browserClick.done": "J'ai cliqué sur {{name}}",
925
+ "toolSteps.browserClick.running": "En cliquant sur {{name}}",
926
+ "toolSteps.browserDevtools.done": "Lecture du journal du navigateur",
927
+ "toolSteps.browserDevtools.running": "Lecture du journal du navigateur",
928
+ "toolSteps.browserDownload.done": "Fichier téléchargé",
929
+ "toolSteps.browserDownload.running": "Récupération du fichier téléchargé",
930
+ "toolSteps.browserDrag.done": "Glissé {{name}}",
931
+ "toolSteps.browserDrag.running": "Faire glisser {{name}}",
932
+ "toolSteps.browserEval.done": "JavaScript a été exécuté",
933
+ "toolSteps.browserEval.running": "Exécuter JavaScript dans la page",
934
+ "toolSteps.browserFind.done": "Trouvé sur la page : {{query}}",
935
+ "toolSteps.browserFind.running": "Recherche sur la page : {{query}}",
936
+ "toolSteps.browserGeneratePassword.done": "Mot de passe créé",
937
+ "toolSteps.browserGeneratePassword.running": "Création d'un mot de passe pour le nouveau compte",
938
+ "toolSteps.browserHandoff.done": "Vous avez terminé l'étape dans Chrome",
939
+ "toolSteps.browserHandoff.running": "Je vous attends dans Chrome",
940
+ "toolSteps.browserHover.done": "Survolé {{name}}",
941
+ "toolSteps.browserHover.running": "Survol de {{name}}",
942
+ "toolSteps.browserNavigate.done": "Consulté {{query}}",
943
+ "toolSteps.browserNavigate.running": "Navigation {{query}}",
944
+ "toolSteps.browserObservePage.done": "Lire la page du navigateur cloud",
945
+ "toolSteps.browserObservePage.running": "Lecture de la page du navigateur cloud",
946
+ "toolSteps.browserOpenLink.done": "Lien suivi sur {{query}}",
947
+ "toolSteps.browserOpenLink.running": "Lien suivant sur {{query}}",
948
+ "toolSteps.browserOpenResult.done": "Résultat de recherche ouvert à partir de {{query}}",
949
+ "toolSteps.browserOpenResult.running": "Ouverture du résultat de la recherche à partir de {{query}}",
950
+ "toolSteps.browserPress.done": "Appuyé sur {{name}}",
951
+ "toolSteps.browserPress.running": "En appuyant sur {{name}}",
952
+ "toolSteps.browserReadPage.done": "Lire la page",
953
+ "toolSteps.browserReadPage.running": "Lire la page",
954
+ "toolSteps.browserRequestTakeover.done": "Vous a demandé de prendre le contrôle du navigateur cloud",
955
+ "toolSteps.browserRequestTakeover.running": "Vous demandant de prendre le contrôle du navigateur cloud",
956
+ "toolSteps.browserResize.done": "Fenêtre d'affichage du périphérique appliquée",
957
+ "toolSteps.browserResize.running": "Basculer la page vers un autre appareil",
958
+ "toolSteps.browserScreenshot.done": "Capture d'écran prise",
959
+ "toolSteps.browserScreenshot.running": "Capture d'écran de la page",
960
+ "toolSteps.browserScroll.done": "J'ai fait défiler la page",
961
+ "toolSteps.browserScroll.running": "Faire défiler la page",
962
+ "toolSteps.browserScrollPage.done": "Page du navigateur cloud défilée",
963
+ "toolSteps.browserScrollPage.running": "Page du navigateur cloud défilante",
964
+ "toolSteps.browserSearch.done": "Recherche dans le navigateur cloud : {{query}}",
965
+ "toolSteps.browserSearch.running": "Recherche dans le navigateur cloud : {{query}}",
966
+ "toolSteps.browserTabs.done": "Onglets du navigateur mis à jour",
967
+ "toolSteps.browserTabs.running": "Gestion des onglets du navigateur",
968
+ "toolSteps.browserType.done": "Tapé dans le navigateur",
969
+ "toolSteps.browserType.running": "Saisir dans le navigateur",
970
+ "toolSteps.browserUpload.done": "Fichier joint",
971
+ "toolSteps.browserUpload.running": "Joindre le fichier",
972
+ "toolSteps.browserVisit.done": "Ouvert {{query}} dans le navigateur cloud",
973
+ "toolSteps.browserVisit.running": "Ouverture de {{query}} dans le navigateur cloud",
974
+ "toolSteps.cached": "mis en cache",
975
+ "toolSteps.cancelCheck.done": "Chèque programmé annulé",
976
+ "toolSteps.cancelCheck.running": "Annulation du chèque programmé",
977
+ "toolSteps.capturePage.done": "Capturé {{query}}",
978
+ "toolSteps.capturePage.running": "Capturer {{query}}",
979
+ "toolSteps.charm.0": "Je travaille toujours – celui-ci prend un moment…",
980
+ "toolSteps.charm.1": "Toujours là-dessus – une grande tâche en cours…",
981
+ "toolSteps.charm.2": "Pas coincé, juste minutieux…",
982
+ "toolSteps.checkContext.done": "Contexte restant vérifié",
983
+ "toolSteps.checkContext.running": "Vérification du contexte restant",
984
+ "toolSteps.cleanup.done": "Fichiers temporaires nettoyés ({{count}})",
985
+ "toolSteps.cleanup.running": "Nettoyage des fichiers temporaires ({{count}})",
986
+ "toolSteps.codeMode.done": "Exécuté un programme ({{count}} lignes)",
987
+ "toolSteps.codeMode.running": "Exécuter un programme ({{count}} lignes)",
988
+ "toolSteps.computerAccess.done": "Demandé d'utiliser {{name}}",
989
+ "toolSteps.computerAccess.running": "Demander à utiliser {{name}}",
990
+ "toolSteps.computerApps.done": "J'ai vérifié vos applications",
991
+ "toolSteps.computerApps.running": "Vérifier vos applications",
992
+ "toolSteps.computerHandoff.done": "Vous a remis une étape dans {{name}}",
993
+ "toolSteps.computerHandoff.running": "Je vous attends dans {{name}}",
994
+ "toolSteps.computerUse.done": "Utilisé {{name}}",
995
+ "toolSteps.computerUse.running": "Utilisation de {{name}}",
996
+ "toolSteps.connectorCall.done": "Outil de connecteur : {{name}}",
997
+ "toolSteps.connectorCall.running": "Démarrage de l'outil de connecteur : {{name}}",
998
+ "toolSteps.connectorFetch.done": "Récupéré : {{url}}",
999
+ "toolSteps.connectorFetch.running": "Récupération : {{url}}",
1000
+ "toolSteps.connectorFind.done": "Outils de connecteur trouvés : {{query}}",
1001
+ "toolSteps.connectorFind.running": "Recherche d'outils de connecteur : {{query}}",
1002
+ "toolSteps.connectorInspect.done": "Détails de l'outil : {{name}}",
1003
+ "toolSteps.connectorInspect.running": "Détails de l'outil de lecture : {{name}}",
1004
+ "toolSteps.connectorSearch.done": "Recherché : {{query}}",
1005
+ "toolSteps.connectorSearch.running": "Recherche : {{query}}",
1006
+ "toolSteps.connectorTools.done": "Outils de connexion trouvés",
1007
+ "toolSteps.connectorTools.running": "Choisir un outil de connexion",
1008
+ "toolSteps.convertMedia.done": "Converti {{path}}",
1009
+ "toolSteps.convertMedia.running": "Conversion de {{path}}",
1010
+ "toolSteps.createPr.done": "Demande d'extraction ouverte : {{name}}",
1011
+ "toolSteps.createPr.running": "Demande d'extraction d'ouverture : {{name}}",
1012
+ "toolSteps.delegate.done": "Sous-tâches terminées ({{count}})",
1013
+ "toolSteps.delegate.running": "Exécuter des sous-tâches ({{count}})",
1014
+ "toolSteps.deleteFile.done": "Supprimé {{path}}",
1015
+ "toolSteps.deleteFile.running": "Suppression de {{path}}",
1016
+ "toolSteps.details": "Détails",
1017
+ "toolSteps.diskCleanup.done": "Nettoyage du disque",
1018
+ "toolSteps.diskCleanup.running": "Nettoyage du disque",
1019
+ "toolSteps.documentInventory.done": "Mappé {{path}}",
1020
+ "toolSteps.documentInventory.running": "Mappage {{path}}",
1021
+ "toolSteps.editCells.done": "Cellules modifiées dans {{path}}",
1022
+ "toolSteps.editCells.running": "Modification des cellules dans {{path}}",
1023
+ "toolSteps.editDocument.done": "Document modifié {{path}}",
1024
+ "toolSteps.editDocument.running": "Modification du document {{path}}",
1025
+ "toolSteps.editFile.done": "Modifié {{path}}",
1026
+ "toolSteps.editFile.running": "Modification de {{path}}",
1027
+ "toolSteps.editPdf.done": "PDF modifié {{path}}",
1028
+ "toolSteps.editPdf.running": "Modification d'un PDF {{path}}",
1029
+ "toolSteps.editSlide.done": "Diapositive modifiée dans {{path}}",
1030
+ "toolSteps.editSlide.running": "Modification de la diapositive dans {{path}}",
1031
+ "toolSteps.extraToolCall.done": "Outil supplémentaire : {{name}}",
1032
+ "toolSteps.extraToolCall.running": "Exécution d'un outil supplémentaire : {{name}}",
1033
+ "toolSteps.extraToolInspect.done": "Détails de l'outil : {{name}}",
1034
+ "toolSteps.extraToolInspect.running": "Détails de l'outil de lecture : {{name}}",
1035
+ "toolSteps.fetchUrl.done": "Récupéré {{query}}",
1036
+ "toolSteps.fetchUrl.running": "Récupération de {{query}}",
1037
+ "toolSteps.file": "Fichier",
1038
+ "toolSteps.fileVersions.done": "Versions répertoriées de {{path}}",
1039
+ "toolSteps.fileVersions.running": "Liste des versions de {{path}}",
1040
+ "toolSteps.findCells.done": "Cellules recherchées : {{query}}",
1041
+ "toolSteps.findCells.running": "Recherche de cellules : {{query}}",
1042
+ "toolSteps.findFiles.done": "Fichiers trouvés : {{query}}",
1043
+ "toolSteps.findFiles.running": "Recherche de fichiers : {{query}}",
1044
+ "toolSteps.generateImage.done": "Dessiné : {{query}}",
1045
+ "toolSteps.generateImage.running": "Dessin : {{query}}",
1046
+ "toolSteps.generic.done": "Terminé {{name}}",
1047
+ "toolSteps.generic.running": "Exécution de {{name}}",
1048
+ "toolSteps.gitPush.done": "Poussé vers la télécommande",
1049
+ "toolSteps.gitPush.running": "Pousser vers la télécommande",
1050
+ "toolSteps.github.done": "GitHub: {{command}}",
1051
+ "toolSteps.github.running": "GitHub: {{command}}",
1052
+ "toolSteps.gitlab.done": "GitLab: {{command}}",
1053
+ "toolSteps.gitlab.running": "GitLab: {{command}}",
1054
+ "toolSteps.imageAlt": "Ce que l'agent a vu",
1055
+ "toolSteps.imageGone": "Cette photo n'est plus stockée",
1056
+ "toolSteps.killProcess.done": "Processus arrêté {{name}}",
1057
+ "toolSteps.killProcess.running": "Arrêt du processus {{name}}",
1058
+ "toolSteps.library.done": "Bibliothèque : {{query}}",
1059
+ "toolSteps.library.running": "Bibliothèque : {{query}}",
1060
+ "toolSteps.libraryUpload.done": "Enregistré dans la bibliothèque : {{path}}",
1061
+ "toolSteps.libraryUpload.running": "Enregistrement dans la bibliothèque : {{path}}",
1062
+ "toolSteps.listChecks.done": "Contrôles programmés répertoriés",
1063
+ "toolSteps.listChecks.running": "Liste des contrôles programmés",
1064
+ "toolSteps.listDir.done": "Répertorié {{path}}",
1065
+ "toolSteps.listDir.running": "Navigation {{path}}",
1066
+ "toolSteps.loadSkill.done": "Compétence utilisée : {{name}}",
1067
+ "toolSteps.loadSkill.running": "Compétence de chargement : {{name}}",
1068
+ "toolSteps.manageRoutines.done": "Routines : {{name}}",
1069
+ "toolSteps.manageRoutines.running": "Routines : {{name}}",
1070
+ "toolSteps.memory.done": "Mémoire mise à jour",
1071
+ "toolSteps.memory.running": "Mise à jour de la mémoire",
1072
+ "toolSteps.mergePdfs.done": "Fusion de fichiers PDF dans {{path}}",
1073
+ "toolSteps.mergePdfs.running": "Fusionner des PDF dans {{path}}",
1074
+ "toolSteps.monitorProcess.done": "Ensemble de surveillance : {{name}}",
1075
+ "toolSteps.monitorProcess.running": "Surveillance : {{name}}",
1076
+ "toolSteps.newContext.done": "Demandé un nouveau contexte",
1077
+ "toolSteps.newContext.running": "Demander un nouveau contexte",
1078
+ "toolSteps.noDetails": "Aucun détail supplémentaire n'a été enregistré.",
1079
+ "toolSteps.packDocument.done": "Emballé {{path}}",
1080
+ "toolSteps.packDocument.running": "Emballage {{path}}",
1081
+ "toolSteps.pollProcess.done": "Processus vérifié {{name}}",
1082
+ "toolSteps.pollProcess.running": "Processus de vérification {{name}}",
1083
+ "toolSteps.process": "A travaillé",
1084
+ "toolSteps.publishFile.done": "Publié {{path}}",
1085
+ "toolSteps.publishFile.running": "Publication {{path}}",
1086
+ "toolSteps.readArtifact.done": "Lire l'artefact {{name}}",
1087
+ "toolSteps.readArtifact.running": "Lecture de l'artefact {{name}}",
1088
+ "toolSteps.readDocument.done": "Lire le document {{path}}",
1089
+ "toolSteps.readDocument.running": "Lecture du document {{path}}",
1090
+ "toolSteps.readFile.done": "Lire {{path}}",
1091
+ "toolSteps.readFile.running": "Lecture de {{path}}",
1092
+ "toolSteps.readHistory.done": "Recherche effectuée plus tôt dans cette conversation : {{name}}",
1093
+ "toolSteps.readHistory.running": "Recherche plus tôt dans cette conversation : {{name}}",
1094
+ "toolSteps.readPdf.done": "Lire le PDF {{path}}",
1095
+ "toolSteps.readPdf.running": "Lecture du PDF {{path}}",
1096
+ "toolSteps.readResult.done": "Lire le résultat enregistré {{name}}",
1097
+ "toolSteps.readResult.running": "Lecture du résultat enregistré {{name}}",
1098
+ "toolSteps.readSheet.done": "Lire la feuille {{path}}",
1099
+ "toolSteps.readSheet.running": "Feuille de lecture {{path}}",
1100
+ "toolSteps.readSkillFile.done": "Lire le fichier de compétences {{path}}",
1101
+ "toolSteps.readSkillFile.running": "Lecture du fichier de compétences {{path}}",
1102
+ "toolSteps.readSlide.done": "Lire la diapositive dans {{path}}",
1103
+ "toolSteps.readSlide.running": "Lecture de la diapositive dans {{path}}",
1104
+ "toolSteps.recalcSheet.done": "Recalculé {{path}}",
1105
+ "toolSteps.recalcSheet.running": "Recalcul de {{path}}",
1106
+ "toolSteps.renderDocument.done": "Rendu {{path}}",
1107
+ "toolSteps.renderDocument.running": "Rendu {{path}}",
1108
+ "toolSteps.requestPermissions.done": "Accès demandé : {{name}}",
1109
+ "toolSteps.requestPermissions.running": "Demande d'accès : {{name}}",
1110
+ "toolSteps.rerunScript.done": "Réexécution {{path}}",
1111
+ "toolSteps.rerunScript.running": "Réexécution de {{path}}",
1112
+ "toolSteps.restoreFileVersion.done": "Restauration d'une version de {{path}}",
1113
+ "toolSteps.restoreFileVersion.running": "Restauration d'une version de {{path}}",
1114
+ "toolSteps.runAppleScript.done": "Exécuté AppleScript : {{name}}",
1115
+ "toolSteps.runAppleScript.running": "Exécution d'AppleScript : {{name}}",
1116
+ "toolSteps.runCommand.done": "A couru : {{command}}",
1117
+ "toolSteps.runCommand.running": "En cours d'exécution : {{command}}",
1118
+ "toolSteps.runScript.done": "Généré avec {{name}}",
1119
+ "toolSteps.runScript.running": "Générer avec {{name}}",
1120
+ "toolSteps.scheduleCheck.done": "Planifié : {{name}}",
1121
+ "toolSteps.scheduleCheck.running": "Planification : {{name}}",
1122
+ "toolSteps.searchResults_many": "{{count}} résultats",
1123
+ "toolSteps.searchResults_one": "{{count}} résultat",
1124
+ "toolSteps.searchResults_other": "{{count}} résultats",
1125
+ "toolSteps.searchText.done": "Recherche « {{query}} »",
1126
+ "toolSteps.searchText.running": "Recherche de « {{query}} »",
1127
+ "toolSteps.sendToAgent.done": "Agent continué {{name}}",
1128
+ "toolSteps.sendToAgent.running": "Agent continu {{name}}",
1129
+ "toolSteps.shell.backgroundBadge": "en arrière-plan",
1130
+ "toolSteps.shell.didNotComplete": "N'a pas terminé",
1131
+ "toolSteps.shell.exited": "Quitté avec le code {{code}}",
1132
+ "toolSteps.shell.movedToBackground": "Toujours en cours d'exécution – déplacé en arrière-plan ({{id}} ); s'arrête lorsque la tâche est réglée",
1133
+ "toolSteps.shell.sandboxed": "en bac à sable",
1134
+ "toolSteps.shell.timedOut": "Délai expiré",
1135
+ "toolSteps.simulatorBuild": "Construction du simulateur",
1136
+ "toolSteps.simulatorControl": "Simulateur iOS",
1137
+ "toolSteps.splitPdf.done": "Fractionner le PDF {{path}}",
1138
+ "toolSteps.splitPdf.running": "Fractionner un PDF {{path}}",
1139
+ "toolSteps.startProcess.done": "Démarré : {{command}}",
1140
+ "toolSteps.startProcess.running": "Début : {{command}}",
1141
+ "toolSteps.tellUser.done": "Je vous ai envoyé un message",
1142
+ "toolSteps.tellUser.running": "Vous envoyer un message",
1143
+ "toolSteps.traceFormula.done": "Trace d'une formule dans {{path}}",
1144
+ "toolSteps.traceFormula.running": "Traçage d'une formule dans {{path}}",
1145
+ "toolSteps.unpackDocument.done": "Déballé {{path}}",
1146
+ "toolSteps.unpackDocument.running": "Déballage {{path}}",
1147
+ "toolSteps.usedConnector": "Utilisé {{connector}} : {{tool}}",
1148
+ "toolSteps.videoFrames.done": "Vidéo regardée {{path}}",
1149
+ "toolSteps.videoFrames.running": "Regarder la vidéo {{path}}",
1150
+ "toolSteps.waitFor.done": "Attendu : {{command}}",
1151
+ "toolSteps.waitFor.running": "En attente : {{command}}",
1152
+ "toolSteps.waitingAnswer": "En attendant ta réponse",
1153
+ "toolSteps.waitingConfirmation": "En attente de votre confirmation",
1154
+ "toolSteps.webSearch.done": "Recherche sur le Web : {{query}}",
1155
+ "toolSteps.webSearch.running": "Recherche sur le Web : {{query}}",
1156
+ "toolSteps.writeFile.done": "A écrit {{path}}",
1157
+ "toolSteps.writeFile.running": "Écrire {{path}}",
1158
+ "toolSteps.writeStdin.done": "Processus répondu {{name}}",
1159
+ "toolSteps.writeStdin.running": "Processus de réponse {{name}}",
1160
+ "voice.engineTooOld": "ce moteur More AI ne gère pas encore la saisie vocale — mettez à jour l'application More AI",
1161
+ "voice.failed": "transcription impossible : {{message}}",
1162
+ "voice.hint.failed": "Ctrl+T enregistre à nouveau · toute autre touche ferme ce message",
1163
+ "voice.hint.failedRetry": "Ctrl+T réessaie · toute autre touche ferme ce message",
1164
+ "voice.hint.installLinux": "Installez pulseaudio-utils (parecord), alsa-utils (arecord), ffmpeg ou sox.",
1165
+ "voice.hint.installMac": "Installez l'application More AI, ou lancez : brew install ffmpeg",
1166
+ "voice.hint.installWindows": "Installez l'application More AI, ou lancez : winget install Gyan.FFmpeg",
1167
+ "voice.hint.linuxPermission": "Vérifiez qu'un micro est branché et qu'il n'est pas coupé.",
1168
+ "voice.hint.macPermission": "Autorisez {{app}} dans Réglages Système → Confidentialité et sécurité → Micro, puis relancez l'application.",
1169
+ "voice.hint.recording": "Enter ou Ctrl+T insère le texte dans la saisie · Esc abandonne",
1170
+ "voice.hint.waiting": "Esc arrête d'attendre",
1171
+ "voice.hint.windowsPermission": "Autorisez les applications de bureau à accéder au microphone dans Paramètres → Confidentialité et sécurité → Microphone ({{app}}).",
1172
+ "voice.left": "{{seconds}} s restantes",
1173
+ "voice.localNotReady": "le modèle vocal sur l'appareil n'est pas prêt — terminez sa configuration dans l'application More AI (Paramètres → Dictée)",
1174
+ "voice.micFailed": "impossible d'ouvrir le micro ({{reason}}).",
1175
+ "voice.noEngine": "non connecté au moteur More AI",
1176
+ "voice.noRecorder": "aucun programme pour enregistrer depuis le micro n'a été trouvé.",
1177
+ "voice.noSound": "aucun son n'est venu du micro.",
1178
+ "voice.noSoundYet": "aucun son du micro pour l'instant",
1179
+ "voice.notSetUp": "la dictée n'est pas configurée : /login active la dictée More AI, ou ajoutez un service de transcription dans l'application More AI (Paramètres → Dictée)",
1180
+ "voice.nothingHeard": "aucun mot n'a été reconnu dans l'enregistrement.",
1181
+ "voice.outOfMinutes": "les minutes de dictée de ce mois sont épuisées",
1182
+ "voice.retryHint": "L'enregistrement est conservé.",
1183
+ "voice.signIn": "connectez-vous avec /login pour utiliser la dictée More AI",
1184
+ "voice.starting": "activation du micro…",
1185
+ "voice.transcribing": "transcription…",
1186
+ "voice.yourTerminal": "votre application de terminal"
1187
+ }