@tunnelbox/core 0.1.10 → 0.1.11
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.
- package/README.md +28 -28
- package/README.zh-CN.md +28 -28
- package/dist/index.js +67 -2
- package/locales/de-DE.json +166 -165
- package/locales/en-US.json +166 -165
- package/locales/es-ES.json +166 -165
- package/locales/fr-FR.json +166 -165
- package/locales/ja-JP.json +166 -165
- package/locales/ko-KR.json +166 -165
- package/locales/zh-CN.json +166 -165
- package/locales/zh-TW.json +166 -165
- package/package.json +1 -1
- package/src/messages.ts +171 -171
- package/src/qr.ts +108 -108
- package/src/relay.ts +67 -2
package/locales/fr-FR.json
CHANGED
|
@@ -1,165 +1,166 @@
|
|
|
1
|
-
{
|
|
2
|
-
"agent.err.createSession": "Échec de la création de la session",
|
|
3
|
-
"agent.err.httpClient": "Impossible d'accéder au client HTTP d'opencode",
|
|
4
|
-
"agent.err.unknownPerm": "Demande d'autorisation inconnue : {id}",
|
|
5
|
-
"agent.err.unknownQuestion": "Demande de question inconnue : {id}",
|
|
6
|
-
"agent.log.fallback404": "Le point d'accès préféré a renvoyé 404, bascule sur l'autre : {message}",
|
|
7
|
-
"agent.log.gotPermReply": "Réponse d'autorisation reçue du téléphone (id={id} {reply} {version})",
|
|
8
|
-
"agent.log.gotQuestionReply": "Réponse de question reçue du téléphone (id={id} {status} {version})",
|
|
9
|
-
"agent.log.handleFailed": "Échec du traitement de {type} : {message}",
|
|
10
|
-
"agent.log.msgOk": "Récupération des messages OK session={session} data={count} mode={limited} win={win} ms={ms}",
|
|
11
|
-
"agent.log.msgFailed": "Échec de la récupération des messages session={session} err={err} ms={ms}",
|
|
12
|
-
"agent.log.msgLimitFallback": "limit non pris en charge, repli sur la récupération complète (session={session})",
|
|
13
|
-
"agent.log.httpOk": "opencode HTTP {status} {path}",
|
|
14
|
-
"agent.log.pendingResent": "session.pending : renvoi de {count} demande(s) en attente pour {session}",
|
|
15
|
-
"agent.log.unhandledType": "Type de message non géré : {type}",
|
|
16
|
-
"events.log.fwdPermission": "Demande d'autorisation transmise au téléphone (id={id} tool={tool} {version})",
|
|
17
|
-
"events.log.
|
|
18
|
-
"events.log.
|
|
19
|
-
"events.log.
|
|
20
|
-
"
|
|
21
|
-
"index.error.
|
|
22
|
-
"index.
|
|
23
|
-
"index.log.
|
|
24
|
-
"index.log.
|
|
25
|
-
"index.log.
|
|
26
|
-
"index.log.
|
|
27
|
-
"index.log.
|
|
28
|
-
"index.log.
|
|
29
|
-
"index.log.
|
|
30
|
-
"index.log.
|
|
31
|
-
"index.log.
|
|
32
|
-
"index.log.
|
|
33
|
-
"index.log.
|
|
34
|
-
"index.log.
|
|
35
|
-
"
|
|
36
|
-
"install.
|
|
37
|
-
"install.
|
|
38
|
-
"install.
|
|
39
|
-
"install.
|
|
40
|
-
"install.
|
|
41
|
-
"install.
|
|
42
|
-
"install.
|
|
43
|
-
"install.
|
|
44
|
-
"install.
|
|
45
|
-
"install.
|
|
46
|
-
"install.
|
|
47
|
-
"
|
|
48
|
-
"pair.
|
|
49
|
-
"pair.
|
|
50
|
-
"pair.
|
|
51
|
-
"pair.
|
|
52
|
-
"pair.
|
|
53
|
-
"
|
|
54
|
-
"perm.
|
|
55
|
-
"perm.
|
|
56
|
-
"perm.
|
|
57
|
-
"
|
|
58
|
-
"qr.
|
|
59
|
-
"qr.
|
|
60
|
-
"qr.
|
|
61
|
-
"qr.
|
|
62
|
-
"qr.
|
|
63
|
-
"
|
|
64
|
-
"claude.
|
|
65
|
-
"claude.
|
|
66
|
-
"claude.
|
|
67
|
-
"claude.
|
|
68
|
-
"claude.
|
|
69
|
-
"claude.
|
|
70
|
-
"claude.
|
|
71
|
-
"claude.
|
|
72
|
-
"claude.
|
|
73
|
-
"claude.
|
|
74
|
-
"claude.
|
|
75
|
-
"claude.
|
|
76
|
-
"claude.
|
|
77
|
-
"claude.
|
|
78
|
-
"claude.
|
|
79
|
-
"claude.
|
|
80
|
-
"claude.
|
|
81
|
-
"claude.
|
|
82
|
-
"claude.
|
|
83
|
-
"claude.
|
|
84
|
-
"claude.
|
|
85
|
-
"claude.
|
|
86
|
-
"claude.
|
|
87
|
-
"claude.
|
|
88
|
-
"claude.
|
|
89
|
-
"claude.
|
|
90
|
-
"claude.
|
|
91
|
-
"claude.
|
|
92
|
-
"claude.
|
|
93
|
-
"claude.
|
|
94
|
-
"claude.
|
|
95
|
-
"claude.
|
|
96
|
-
"claude.
|
|
97
|
-
"claude.
|
|
98
|
-
"claude.
|
|
99
|
-
"claude.
|
|
100
|
-
"claude.
|
|
101
|
-
"claude.
|
|
102
|
-
"claude.
|
|
103
|
-
"claude.
|
|
104
|
-
"claude.
|
|
105
|
-
"claude.
|
|
106
|
-
"claude.
|
|
107
|
-
"claude.
|
|
108
|
-
"claude.
|
|
109
|
-
"claude.
|
|
110
|
-
"claude.
|
|
111
|
-
"claude.
|
|
112
|
-
"claude.
|
|
113
|
-
"claude.
|
|
114
|
-
"claude.
|
|
115
|
-
"claude.
|
|
116
|
-
"claude.
|
|
117
|
-
"claude.
|
|
118
|
-
"claude.
|
|
119
|
-
"claude.
|
|
120
|
-
"claude.
|
|
121
|
-
"claude.
|
|
122
|
-
"claude.
|
|
123
|
-
"claude.
|
|
124
|
-
"claude.
|
|
125
|
-
"claude.
|
|
126
|
-
"claude.
|
|
127
|
-
"claude.
|
|
128
|
-
"
|
|
129
|
-
"setup.
|
|
130
|
-
"setup.
|
|
131
|
-
"
|
|
132
|
-
"hermes.
|
|
133
|
-
"hermes.
|
|
134
|
-
"hermes.
|
|
135
|
-
"hermes.
|
|
136
|
-
"hermes.
|
|
137
|
-
"hermes.
|
|
138
|
-
"hermes.
|
|
139
|
-
"hermes.
|
|
140
|
-
"hermes.
|
|
141
|
-
"hermes.
|
|
142
|
-
"hermes.
|
|
143
|
-
"hermes.
|
|
144
|
-
"hermes.
|
|
145
|
-
"hermes.
|
|
146
|
-
"hermes.
|
|
147
|
-
"hermes.
|
|
148
|
-
"hermes.
|
|
149
|
-
"hermes.
|
|
150
|
-
"hermes.
|
|
151
|
-
"hermes.
|
|
152
|
-
"hermes.
|
|
153
|
-
"hermes.
|
|
154
|
-
"hermes.
|
|
155
|
-
"hermes.
|
|
156
|
-
"hermes.
|
|
157
|
-
"hermes.
|
|
158
|
-
"hermes.
|
|
159
|
-
"hermes.
|
|
160
|
-
"hermes.
|
|
161
|
-
"hermes.
|
|
162
|
-
"hermes.
|
|
163
|
-
"hermes.
|
|
164
|
-
"hermes.
|
|
165
|
-
|
|
1
|
+
{
|
|
2
|
+
"agent.err.createSession": "Échec de la création de la session",
|
|
3
|
+
"agent.err.httpClient": "Impossible d'accéder au client HTTP d'opencode",
|
|
4
|
+
"agent.err.unknownPerm": "Demande d'autorisation inconnue : {id}",
|
|
5
|
+
"agent.err.unknownQuestion": "Demande de question inconnue : {id}",
|
|
6
|
+
"agent.log.fallback404": "Le point d'accès préféré a renvoyé 404, bascule sur l'autre : {message}",
|
|
7
|
+
"agent.log.gotPermReply": "Réponse d'autorisation reçue du téléphone (id={id} {reply} {version})",
|
|
8
|
+
"agent.log.gotQuestionReply": "Réponse de question reçue du téléphone (id={id} {status} {version})",
|
|
9
|
+
"agent.log.handleFailed": "Échec du traitement de {type} : {message}",
|
|
10
|
+
"agent.log.msgOk": "Récupération des messages OK session={session} data={count} mode={limited} win={win} ms={ms}",
|
|
11
|
+
"agent.log.msgFailed": "Échec de la récupération des messages session={session} err={err} ms={ms}",
|
|
12
|
+
"agent.log.msgLimitFallback": "limit non pris en charge, repli sur la récupération complète (session={session})",
|
|
13
|
+
"agent.log.httpOk": "opencode HTTP {status} {path}",
|
|
14
|
+
"agent.log.pendingResent": "session.pending : renvoi de {count} demande(s) en attente pour {session}",
|
|
15
|
+
"agent.log.unhandledType": "Type de message non géré : {type}",
|
|
16
|
+
"events.log.fwdPermission": "Demande d'autorisation transmise au téléphone (id={id} tool={tool} {version})",
|
|
17
|
+
"events.log.sessionDeleted": "session.deleted transmise au téléphone (session={session})",
|
|
18
|
+
"events.log.permissionReplied": "opencode a accusé permission.replied (id={id} {response})",
|
|
19
|
+
"events.log.questionRejected": "opencode a accusé question.rejected (id={id})",
|
|
20
|
+
"events.log.questionReplied": "opencode a accusé question.replied (id={id})",
|
|
21
|
+
"index.error.connectRelay": "Impossible de se connecter au relais ; vérifiez son adresse et réessayez",
|
|
22
|
+
"index.error.pairTimeout": "Délai d'attente du code d'appairage dépassé (le relais ne répond pas)",
|
|
23
|
+
"index.log.claimed": "Lié à votre compte téléphone. Le téléphone se connecte désormais directement depuis « Mes PC » ; plus besoin de scanner",
|
|
24
|
+
"index.log.connectedRelay": "Connecté au relais {url}",
|
|
25
|
+
"index.log.loaded": "Plugin tunnelbox opencode démarré (v{version})",
|
|
26
|
+
"index.log.disconnected": "Déconnecté du relais, reconnexion automatique…",
|
|
27
|
+
"index.log.exit": "Arrêté",
|
|
28
|
+
"index.log.pairCode": "Code d'appairage généré : {code}",
|
|
29
|
+
"index.log.pairingStillClaimed": "Ce code d'appairage sert uniquement à ré-appairer un nouveau téléphone du même compte ; cet ordinateur est déjà lié et reste accessible depuis « Mes ordinateurs » sur votre téléphone.",
|
|
30
|
+
"index.log.pairingPreparing": "Connexion au relais et génération du code d'appairage…",
|
|
31
|
+
"index.log.permissionToPhone": "Demande d'autorisation → approbation sur téléphone (id={id} tool={tool})",
|
|
32
|
+
"index.log.permissionTuiFallback": "App hors ligne ; la demande est gérée par le TUI opencode (id={id} tool={tool})",
|
|
33
|
+
"index.log.relayError": "Erreur du relais : {msg}",
|
|
34
|
+
"index.log.resetIdentity": "Délié du compte ; réinitialisation de l'identité et génération d'un nouveau code d'appairage…",
|
|
35
|
+
"index.log.unknown": "Inconnu",
|
|
36
|
+
"install.codeLine": "Code d'appairage : {code}",
|
|
37
|
+
"install.commandInstalled": "Commande installée : {path}",
|
|
38
|
+
"install.done": "Terminé. Tentative de connexion au relais pour afficher les informations d'appairage :",
|
|
39
|
+
"install.failConnect": "(Impossible de se connecter au relais pour afficher l'appairage — relais injoignable ou version de Node trop ancienne.",
|
|
40
|
+
"install.failConnectHint": "Après le redémarrage d'opencode, consultez le QR code du terminal avec --print-logs, ou tapez “afficher le code d'appairage” / /pair dans opencode.)",
|
|
41
|
+
"install.hintFresh": "Remarque : le code d'appairage est à usage unique et valide environ 10 minutes. Si vous démarrez opencode plus tard, utilisez les informations imprimées au démarrage ou obtenues via /pair.",
|
|
42
|
+
"install.pluginInstalled": "Plugin installé : {path}",
|
|
43
|
+
"install.qrUnavailable": "(Rendu du QR indisponible — utilisez le code ci-dessus)",
|
|
44
|
+
"install.qrcodeEnsure": "Installation de qrcode dans le répertoire de configuration d'opencode…",
|
|
45
|
+
"install.qrcodeFail": "Échec de l'installation de qrcode (sans conséquence — seul le code d'appairage est affiché) : {err}",
|
|
46
|
+
"install.relayError": "Le relais a renvoyé une erreur : {msg}",
|
|
47
|
+
"install.scanHint": "Ouvrez tunnelbox sur votre téléphone, touchez “Scanner pour appairer”, puis scannez le QR ci-dessus pour connecter :",
|
|
48
|
+
"pair.heading": "Appairage téléphone tunnelbox",
|
|
49
|
+
"pair.howTo": "Ouvrez l'application tunnelbox sur votre téléphone, scannez le QR ci-dessus avec “Scanner pour appairer”, ou saisissez le code d'appairage manuellement.",
|
|
50
|
+
"pair.oneTime": "Le code d'appairage est à usage unique et expire après utilisation ; demandez à “raffraîchir le code d'appairage” pour en obtenir un nouveau.",
|
|
51
|
+
"pair.promptBody": "Veuillez afficher les informations d'appairage téléphone de cet ordinateur : le code d'appairage et un QR code scannable. Gardez le QR code dans un bloc de code à largeur fixe et reproduisez-le caractère par caractère pour que mon téléphone puisse le scanner.",
|
|
52
|
+
"pair.promptDescription": "Afficher le code d'appairage et le QR code scannable",
|
|
53
|
+
"pair.scanIntro": "**Appairer par scan** : ouvrez l'application tunnelbox sur votre téléphone, touchez “Scanner pour appairer”, puis scannez le QR ci-dessous pour vous connecter automatiquement.",
|
|
54
|
+
"perm.promptAuthorize": "opencode demande une autorisation",
|
|
55
|
+
"perm.promptPatterns": "opencode demande l'accès à : {list}",
|
|
56
|
+
"perm.promptResource": "opencode demande l'accès aux ressources : {list}",
|
|
57
|
+
"perm.promptTool": "opencode demande d'exécuter {tool}",
|
|
58
|
+
"qr.codeLabel": "Code d'appairage",
|
|
59
|
+
"qr.fileWritten": "Informations d'appairage écrites dans : {path}",
|
|
60
|
+
"qr.openHint": "Ouvrez l'application tunnelbox sur votre téléphone et scannez le QR ci-dessus, ou saisissez le code d'appairage manuellement dans l'application.",
|
|
61
|
+
"qr.titleNoType": "appairage téléphone tunnelbox",
|
|
62
|
+
"qr.titleWithType": "appairage téléphone tunnelbox {type}",
|
|
63
|
+
"qr.unavailable": "(qrcode non installé — utilisez le code d'appairage ci-dessus)",
|
|
64
|
+
"claude.errBusy": "Cette session est en cours d'exécution ; attendez la fin ou arrêtez-la d'abord",
|
|
65
|
+
"claude.errTurn": "erreur de génération",
|
|
66
|
+
"claude.pairingStillClaimed": "Déjà lié à un compte téléphone : ce code sert uniquement à appairer un nouvel appareil sur le même compte ; l'appareil actuel se connecte directement depuis Mes ordinateurs",
|
|
67
|
+
"claude.pairForced": "--pair : demande forcée d'un code d'appairage (cette exécution uniquement)",
|
|
68
|
+
"claude.pairUnclaimed": "Aucun compte lié détecté ; lancement du guide d'appairage :",
|
|
69
|
+
"claude.claimedHint": "Lié à un compte téléphone : connectez-vous directement depuis Mes ordinateurs sur le téléphone",
|
|
70
|
+
"claude.errStartFailed": "Échec du démarrage :",
|
|
71
|
+
"claude.msgStarted": "Adaptateur Claude Code démarré (Ctrl+C pour quitter)",
|
|
72
|
+
"claude.warnInvalidMode": "TUNNELBOX_CLAUDE_MODE invalide ignoré : {raw} (autorisé {list})",
|
|
73
|
+
"claude.warnInvalidThinking": "TUNNELBOX_CLAUDE_THINKING invalide ignoré : {raw} (off|adaptive|enabled[:budget])",
|
|
74
|
+
"claude.cmdNew": "Nouvelle session",
|
|
75
|
+
"claude.cmdHelp": "Afficher l'aide",
|
|
76
|
+
"claude.errNoRelay": "Aucune URL de relais configurée : injectez une valeur par défaut avec --env, ou remplacez-la via TUNNELBOX_RELAY_URL",
|
|
77
|
+
"claude.logConnected": "Connecté au relais {url}",
|
|
78
|
+
"claude.logMsgUncaught": "Exception non interceptée lors du traitement du message : {message}",
|
|
79
|
+
"claude.reasonDisconnect": "Relais déconnecté (rejet automatique fail-closed)",
|
|
80
|
+
"claude.reasonUnbind": "Compte dissocié (rejet automatique fail-closed)",
|
|
81
|
+
"claude.logDisconnected": "Déconnecté du relais, reconnexion automatique…",
|
|
82
|
+
"claude.logPairCode": "Code d'appairage généré : {code}",
|
|
83
|
+
"claude.logUnhandledType": "Type de message non géré : {type}",
|
|
84
|
+
"claude.logHandleFailed": "Échec du traitement de {type} : {message}",
|
|
85
|
+
"claude.newSessionTitle": "Nouvelle session",
|
|
86
|
+
"claude.helpText": "Commandes prises en charge :\n- /new nouvelle session\n- /help afficher l'aide",
|
|
87
|
+
"claude.logPromptFailed": "Échec de session.prompt : {message}",
|
|
88
|
+
"claude.logAbortSent": "Interruption envoyée (session={session})",
|
|
89
|
+
"claude.logAbortFailed": "Échec de l'interruption (session={session}) : {message}",
|
|
90
|
+
"claude.errBadWorkspaceEmpty": "Chemin de l'espace de travail manquant",
|
|
91
|
+
"claude.errBadWorkspaceNotDir": "Le répertoire n'existe pas ou est inutilisable",
|
|
92
|
+
"claude.logWorkspaceSwitched": "Espace de travail changé : {path}",
|
|
93
|
+
"claude.logUnknownQuestionReply": "Réponse de question structurée sans correspondance (id={id})",
|
|
94
|
+
"claude.logFlushedQuestions": "{count} question(s) en attente annulée(s) : {reason}",
|
|
95
|
+
"claude.logFlushedApprovals": "{count} demande(s) en attente rejetée(s) : {reason}",
|
|
96
|
+
"claude.logPendingResent": "session.pending : {count} élément(s) en attente renvoyé(s) pour {session}",
|
|
97
|
+
"claude.logSetModeFailed": "Échec de setPermissionMode (session={session}) : {message}",
|
|
98
|
+
"claude.errWorkspaceMissing": "L'espace de travail n'existe pas : {dir}",
|
|
99
|
+
"claude.logSessionError": "Erreur de session (session={session}) : {message}",
|
|
100
|
+
"claude.logOfflineDenyTool": "Relais hors ligne, rejet automatique de l'outil {tool}",
|
|
101
|
+
"claude.errOfflineDeny": "Relais hors ligne, rejet automatique (fail-closed)",
|
|
102
|
+
"claude.logAuqDisabled": "AskUserQuestion désactivé (TUNNELBOX_CLAUDE_ASK_USER_QUESTION=0), rejet automatique",
|
|
103
|
+
"claude.errAuqDisabled": "AskUserQuestion n'est pas activé",
|
|
104
|
+
"claude.logAuqParseFailed": "Échec de l'analyse de l'entrée AskUserQuestion, rejet automatique (fail-closed)",
|
|
105
|
+
"claude.errAuqParse": "Impossible d'analyser les questions",
|
|
106
|
+
"claude.logAuqSkipped": "AskUserQuestion sans réponse/annulée (session={session})",
|
|
107
|
+
"claude.errAuqCancelled": "L'utilisateur n'a pas fait de choix (annulé)",
|
|
108
|
+
"claude.logAuqDone": "AskUserQuestion répondue (session={session})",
|
|
109
|
+
"claude.promptRunTool": "Claude Code demande à exécuter {tool}",
|
|
110
|
+
"claude.errApprovalTimeout": "Approbation expirée, rejet automatique (fail-closed)",
|
|
111
|
+
"claude.errUserDenied": "Rejeté par l'utilisateur",
|
|
112
|
+
"claude.errAborted": "Requête interrompue",
|
|
113
|
+
"claude.logPermToPhone": "Demande d'autorisation (tool={tool}) → envoyée au téléphone permissionID={id}",
|
|
114
|
+
"claude.errRelayUnreachable": "Relais injoignable, rejet automatique (fail-closed)",
|
|
115
|
+
"claude.logQuestionOffline": "Relais hors ligne, question structurée annulée automatiquement",
|
|
116
|
+
"claude.logQuestionToPhone": "Question structurée ({count} élément(s)) → envoyée au téléphone questionID={id}",
|
|
117
|
+
"claude.logDialogOffline": "Relais hors ligne, dialogue annulé automatiquement ({tool})",
|
|
118
|
+
"claude.logDialogToPhone": "Demande de dialogue (kind={kind} tool={tool}) → envoyée au téléphone permissionID={id}",
|
|
119
|
+
"claude.logAuqDialogParse": "Échec de l'analyse du payload AskUserQuestion, comportement par défaut conservé (session={session})",
|
|
120
|
+
"claude.logDialogUnmapped": "request_user_dialog(kind={kind}) sans correspondance, comportement par défaut conservé (session={session})",
|
|
121
|
+
"claude.promptMcpAuth": "MCP « {server} » demande une autorisation",
|
|
122
|
+
"claude.logElicitUnmapped": "Élicitation MCP (server={server}, mode={mode}) non traitée, rejet automatique (session={session})",
|
|
123
|
+
"claude.logResetIdentity": "Compte dissocié ; réinitialisation de l'identité et génération d'un nouveau code d'appairage…",
|
|
124
|
+
"claude.dialogConfirm": "Claude Code demande une confirmation ({kind})",
|
|
125
|
+
"claude.resultTruncated": "… (résultat tronqué)",
|
|
126
|
+
"claude.streamError": "erreur de streaming claude",
|
|
127
|
+
"claude.errListSessions": "Échec de la lecture de la liste des sessions Claude",
|
|
128
|
+
"claude.errReadHistory": "Échec de la lecture de l'historique de session ({id})",
|
|
129
|
+
"setup.langSet": "Langue d'exécution définie sur",
|
|
130
|
+
"setup.langHint": "L'adaptateur utilisera cette langue au prochain démarrage (TUNNELBOX_LANG peut la remplacer). Fichier d'état :",
|
|
131
|
+
"setup.langCurrent": "Langue d'exécution actuelle",
|
|
132
|
+
"hermes.errNoRelay": "URL du relais non configurée : utilisez --env pour injecter une valeur par défaut, ou remplacez à l'exécution avec TUNNELBOX_RELAY_URL",
|
|
133
|
+
"hermes.logConnected": "Connecté au relais {url}",
|
|
134
|
+
"hermes.logMsgUncaught": "Exception non interceptée lors du traitement du message : {message}",
|
|
135
|
+
"hermes.logDisconnected": "Déconnecté du relais, reconnexion automatique…",
|
|
136
|
+
"hermes.logPairCode": "Code d'appairage généré : {code}",
|
|
137
|
+
"hermes.logUnhandledType": "Type de message non traité : {type}",
|
|
138
|
+
"hermes.logHandleFailed": "Échec du traitement de {type} : {message}",
|
|
139
|
+
"hermes.logClaimed": "Lié à votre compte téléphone. Le téléphone se connecte désormais directement depuis Mes ordinateurs",
|
|
140
|
+
"hermes.logResetIdentity": "Dissocié du compte ; réinitialisation de l'identité et génération d'un nouveau code d'appairage…",
|
|
141
|
+
"hermes.cmdNew": "Nouvelle session",
|
|
142
|
+
"hermes.cmdHelp": "Afficher l'aide",
|
|
143
|
+
"hermes.newSessionTitle": "Nouvelle session",
|
|
144
|
+
"hermes.helpText": "Commandes prises en charge :\n- /new nouvelle session\n- /help afficher l'aide",
|
|
145
|
+
"hermes.errBusy": "Cette session est en cours de génération ; attendez la fin ou arrêtez-la d'abord",
|
|
146
|
+
"hermes.errBadWorkspace": "Ce répertoire n'existe pas ou est inutilisable",
|
|
147
|
+
"hermes.logWorkspaceSwitched": "Espace de travail changé : {path}",
|
|
148
|
+
"hermes.errWorkspaceMissing": "L'espace de travail n'existe pas : {dir}",
|
|
149
|
+
"hermes.errStartFailed": "Échec du démarrage : {message}",
|
|
150
|
+
"hermes.msgStarted": "Adaptateur Hermes démarré (Ctrl+C pour quitter)",
|
|
151
|
+
"hermes.logAbortSent": "Interruption envoyée (session={session})",
|
|
152
|
+
"hermes.logPromptFailed": "session.prompt a échoué : {message}",
|
|
153
|
+
"hermes.logTurnError": "Erreur de tour (session={session}) : {message}",
|
|
154
|
+
"hermes.logPairForced": "--pair : demande forcée du code d'appairage (cet exécution uniquement)",
|
|
155
|
+
"hermes.pairingStillClaimed": "Déjà lié à un compte téléphone : ce code ne sert qu'à réappairer un nouvel appareil sur le même compte ; l'appareil actuel se connecte directement depuis Mes ordinateurs",
|
|
156
|
+
"hermes.logPairNoRelay": "Impossible de demander un code d'appairage : URL du relais non configurée",
|
|
157
|
+
"hermes.errSpawnHermes": "Impossible de démarrer Hermes ({bin}) : vérifiez qu'il est installé ({err})",
|
|
158
|
+
"hermes.errHermesExit": "hermes a quitté ({code}) : {err}",
|
|
159
|
+
"hermes.logSessionUpdated": "Session mise à jour (session={session})",
|
|
160
|
+
"hermes.errNoInject": "Injection du message téléphone indisponible (session non interactive ou processus non prêt)",
|
|
161
|
+
"hermes.pairNoRelay": "Impossible de joindre le relais (relais injoignable ou websockets manquant)",
|
|
162
|
+
"hermes.pairTimeout": "Délai dépassé pour le code d'appairage (relais sans réponse)",
|
|
163
|
+
"hermes.errToolPair": "échec de tunnelbox_pair : {err}",
|
|
164
|
+
"hermes.errToolStatus": "échec de tunnelbox_status : {err}",
|
|
165
|
+
"hermes.cliUsage": "Utilisation : /tunnelbox <pair|status>\n pair demander et afficher un code d'appairage\n status afficher l'état relais/liaison/connexion"
|
|
166
|
+
}
|