@tunnelbox/core 0.1.10 → 0.1.16
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/src/types.ts +2 -0
package/locales/ko-KR.json
CHANGED
|
@@ -1,165 +1,166 @@
|
|
|
1
|
-
{
|
|
2
|
-
"agent.err.createSession": "세션 생성 실패",
|
|
3
|
-
"agent.err.httpClient": "opencode HTTP client에 접근할 수 없습니다",
|
|
4
|
-
"agent.err.unknownPerm": "알 수 없는 권한 요청: {id}",
|
|
5
|
-
"agent.err.unknownQuestion": "알 수 없는 질문 요청: {id}",
|
|
6
|
-
"agent.log.fallback404": "선호 엔드포인트가 404를 반환해 다른 엔드포인트로 대체: {message}",
|
|
7
|
-
"agent.log.gotPermReply": "휴대폰에서 권한 응답 수신 (id={id} {reply} {version})",
|
|
8
|
-
"agent.log.gotQuestionReply": "휴대폰에서 질문 응답 수신 (id={id} {status} {version})",
|
|
9
|
-
"agent.log.handleFailed": "{type} 처리 실패: {message}",
|
|
10
|
-
"agent.log.msgOk": "세션 메시지 조회 성공 session={session} data={count} 방식={limited} win={win} ms={ms}",
|
|
11
|
-
"agent.log.msgFailed": "세션 메시지 조회 실패 session={session} err={err} ms={ms}",
|
|
12
|
-
"agent.log.msgLimitFallback": "이 opencode는 limit 미지원 → 전체 조회로 폴백 (session={session})",
|
|
13
|
-
"agent.log.httpOk": "opencode HTTP {status} {path}",
|
|
14
|
-
"agent.log.pendingResent": "session.pending: {session} 보류 요청 {count}건 재전송",
|
|
15
|
-
"agent.log.unhandledType": "처리되지 않은 메시지 유형: {type}",
|
|
16
|
-
"events.log.fwdPermission": "권한 요청을 휴대폰으로 전달 (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": "세션 생성 실패",
|
|
3
|
+
"agent.err.httpClient": "opencode HTTP client에 접근할 수 없습니다",
|
|
4
|
+
"agent.err.unknownPerm": "알 수 없는 권한 요청: {id}",
|
|
5
|
+
"agent.err.unknownQuestion": "알 수 없는 질문 요청: {id}",
|
|
6
|
+
"agent.log.fallback404": "선호 엔드포인트가 404를 반환해 다른 엔드포인트로 대체: {message}",
|
|
7
|
+
"agent.log.gotPermReply": "휴대폰에서 권한 응답 수신 (id={id} {reply} {version})",
|
|
8
|
+
"agent.log.gotQuestionReply": "휴대폰에서 질문 응답 수신 (id={id} {status} {version})",
|
|
9
|
+
"agent.log.handleFailed": "{type} 처리 실패: {message}",
|
|
10
|
+
"agent.log.msgOk": "세션 메시지 조회 성공 session={session} data={count} 방식={limited} win={win} ms={ms}",
|
|
11
|
+
"agent.log.msgFailed": "세션 메시지 조회 실패 session={session} err={err} ms={ms}",
|
|
12
|
+
"agent.log.msgLimitFallback": "이 opencode는 limit 미지원 → 전체 조회로 폴백 (session={session})",
|
|
13
|
+
"agent.log.httpOk": "opencode HTTP {status} {path}",
|
|
14
|
+
"agent.log.pendingResent": "session.pending: {session} 보류 요청 {count}건 재전송",
|
|
15
|
+
"agent.log.unhandledType": "처리되지 않은 메시지 유형: {type}",
|
|
16
|
+
"events.log.fwdPermission": "권한 요청을 휴대폰으로 전달 (id={id} tool={tool} {version})",
|
|
17
|
+
"events.log.sessionDeleted": "session.deleted를 휴대폰으로 전달 (session={session})",
|
|
18
|
+
"events.log.permissionReplied": "opencode 응답 permission.replied (id={id} {response})",
|
|
19
|
+
"events.log.questionRejected": "opencode 응답 question.rejected (id={id})",
|
|
20
|
+
"events.log.questionReplied": "opencode 응답 question.replied (id={id})",
|
|
21
|
+
"index.error.connectRelay": "릴레이에 연결할 수 없습니다. 릴레이 주소를 확인한 후 다시 시도하세요",
|
|
22
|
+
"index.error.pairTimeout": "페어링 코드 대기 시간 초과(릴레이가 응답하지 않음)",
|
|
23
|
+
"index.log.claimed": "휴대폰 계정에 연결되었습니다. 이제 휴대폰은 「내 PC」에서 직접 연결하며 다시 스캔할 필요가 없습니다",
|
|
24
|
+
"index.log.connectedRelay": "릴레이에 연결됨 {url}",
|
|
25
|
+
"index.log.loaded": "tunnelbox opencode 플러그인을 시작했습니다(v{version})",
|
|
26
|
+
"index.log.disconnected": "릴레이 연결이 끊겨 자동으로 재연결 중…",
|
|
27
|
+
"index.log.exit": "종료됨",
|
|
28
|
+
"index.log.pairCode": "페어링 코드 생성: {code}",
|
|
29
|
+
"index.log.pairingStillClaimed": "이 페어링 코드는 같은 계정의 새 휴대폰 재연결 전용입니다. 이 PC는 이미 연결되어 휴대폰의 '내 컴퓨터'에서 계속 접속할 수 있습니다.",
|
|
30
|
+
"index.log.pairingPreparing": "릴레이에 연결하여 페어링 코드를 생성하는 중입니다…",
|
|
31
|
+
"index.log.permissionToPhone": "권한 요청 → 휴대폰 승인 (id={id} tool={tool})",
|
|
32
|
+
"index.log.permissionTuiFallback": "앱 오프라인, 권한 요청은 opencode TUI가 처리 (id={id} tool={tool})",
|
|
33
|
+
"index.log.relayError": "릴레이 오류: {msg}",
|
|
34
|
+
"index.log.resetIdentity": "계정에서 해제되어 ID를 재설정하고 새 페어링 코드를 생성합니다…",
|
|
35
|
+
"index.log.unknown": "알 수 없음",
|
|
36
|
+
"install.codeLine": "페어링 코드: {code}",
|
|
37
|
+
"install.commandInstalled": "명령 설치됨: {path}",
|
|
38
|
+
"install.done": "완료. 릴레이에 연결해 이 PC의 페어링 정보를 출력합니다:",
|
|
39
|
+
"install.failConnect": "(페어링 정보를 출력하려고 릴레이에 즉시 연결하지 못했습니다 — 릴레이에 연결할 수 없거나 Node 버전이 너무 오래됐습니다.",
|
|
40
|
+
"install.failConnectHint": "opencode를 다시 시작한 뒤 --print-logs로 터미널 QR 코드를 확인하거나, opencode 안에서 “휴대폰 페어링 코드 표시” 또는 /pair를 입력하세요.)",
|
|
41
|
+
"install.hintFresh": "참고: 페어링 코드는 일회용이며 약 10분간 유효합니다. 나중에 opencode를 시작한다면 시작 시 출력되거나 /pair로 받은 최신 정보를 사용하세요.",
|
|
42
|
+
"install.pluginInstalled": "플러그인 설치됨: {path}",
|
|
43
|
+
"install.qrUnavailable": "(QR 코드를 표시할 수 없습니다 — 위의 페어링 코드를 사용하세요)",
|
|
44
|
+
"install.qrcodeEnsure": "qrcode를 opencode 설정 디렉터리에 설치하는 중…",
|
|
45
|
+
"install.qrcodeFail": "qrcode 설치 실패(사용에는 영향이 없으며 페어링 코드만 표시됩니다): {err}",
|
|
46
|
+
"install.relayError": "릴레이 오류 응답: {msg}",
|
|
47
|
+
"install.scanHint": "휴대폰에서 tunnelbox 앱 “스캔하여 연결”을 열고 위 QR 코드를 스캔하여 연결하세요:",
|
|
48
|
+
"pair.heading": "tunnelbox 휴대폰 페어링",
|
|
49
|
+
"pair.howTo": "휴대폰에서 tunnelbox 앱을 열고 “스캔하여 연결”로 위 QR 코드를 스캔하거나 페어링 코드를 직접 입력하세요.",
|
|
50
|
+
"pair.oneTime": "페어링 코드는 일회용이며 사용 후에는 만료됩니다. 새 코드가 필요하면 “페어링 코드 새로고침”을 요청하세요.",
|
|
51
|
+
"pair.promptBody": "이 PC의 휴대폰 원격 페어링 정보를 보여주세요: 페어링 코드와 스캔할 수 있는 QR 코드. QR 코드는 고정폭 코드 블록에 넣고 한 글자도 바꾸지 말고 그대로 표시해 주세요. 휴대폰으로 스캔할 수 있도록 하기 위함입니다.",
|
|
52
|
+
"pair.promptDescription": "휴대폰 원격 페어링의 페어링 코드·스캔용 QR 코드 표시",
|
|
53
|
+
"pair.scanIntro": "**스캔으로 연결**: 휴대폰에서 tunnelbox 앱 “스캔하여 연결”을 열고 아래 QR 코드를 스캔하면 자동으로 연결됩니다.",
|
|
54
|
+
"perm.promptAuthorize": "opencode가 권한을 요청합니다",
|
|
55
|
+
"perm.promptPatterns": "opencode가 접근을 요청: {list}",
|
|
56
|
+
"perm.promptResource": "opencode가 리소스 접근을 요청: {list}",
|
|
57
|
+
"perm.promptTool": "opencode가 {tool} 실행을 요청",
|
|
58
|
+
"qr.codeLabel": "페어링 코드",
|
|
59
|
+
"qr.fileWritten": "페어링 정보가 기록됨: {path}",
|
|
60
|
+
"qr.openHint": "tunnelbox 앱을 열고 위 QR 코드를 스캔하거나, 앱에서 페어링 코드를 직접 입력하세요.",
|
|
61
|
+
"qr.titleNoType": "tunnelbox 휴대폰 페어링",
|
|
62
|
+
"qr.titleWithType": "tunnelbox {type} 휴대폰 페어링",
|
|
63
|
+
"qr.unavailable": "(qrcode가 설치되지 않음 — 위의 페어링 코드를 사용하세요)",
|
|
64
|
+
"claude.errBusy": "이 세션이 실행 중입니다. 완료될 때까지 기다리거나 먼저 중지하세요",
|
|
65
|
+
"claude.errTurn": "생성 오류",
|
|
66
|
+
"claude.pairingStillClaimed": "이미 계정에 연결되어 있습니다. 이 코드는 같은 계정의 새 기기 연결 전용이며, 현재 기기는 '내 컴퓨터'에서 직접 연결할 수 있습니다",
|
|
67
|
+
"claude.pairForced": "--pair: 페어링 코드를 강제 요청했습니다(이번 실행만)",
|
|
68
|
+
"claude.pairUnclaimed": "연결된 계정을 감지하지 못했습니다. 페어링 안내를 시작합니다:",
|
|
69
|
+
"claude.claimedHint": "휴대폰 계정에 연결됨: 휴대폰의 '내 컴퓨터'에서 직접 연결하세요",
|
|
70
|
+
"claude.errStartFailed": "시작 실패:",
|
|
71
|
+
"claude.msgStarted": "Claude Code 어댑터가 시작되었습니다(Ctrl+C로 종료)",
|
|
72
|
+
"claude.warnInvalidMode": "잘못된 TUNNELBOX_CLAUDE_MODE 무시: {raw}(허용 {list})",
|
|
73
|
+
"claude.warnInvalidThinking": "잘못된 TUNNELBOX_CLAUDE_THINKING 무시: {raw}(off|adaptive|enabled[:budget])",
|
|
74
|
+
"claude.cmdNew": "새 세션",
|
|
75
|
+
"claude.cmdHelp": "도움말 보기",
|
|
76
|
+
"claude.errNoRelay": "릴레이 URL이 설정되지 않았습니다: --env로 기본값을 주입하거나 실행 시 TUNNELBOX_RELAY_URL로 덮어쓰세요",
|
|
77
|
+
"claude.logConnected": "릴레이 {url}에 연결됨",
|
|
78
|
+
"claude.logMsgUncaught": "메시지 처리 중 처리되지 않은 예외: {message}",
|
|
79
|
+
"claude.reasonDisconnect": "릴레이 연결 끊김(fail-closed 자동 거부)",
|
|
80
|
+
"claude.reasonUnbind": "계정 연결 해제(fail-closed 자동 거부)",
|
|
81
|
+
"claude.logDisconnected": "릴레이 연결이 끊어져 자동 재연결 중…",
|
|
82
|
+
"claude.logPairCode": "페어링 코드 생성: {code}",
|
|
83
|
+
"claude.logUnhandledType": "처리되지 않은 메시지 유형: {type}",
|
|
84
|
+
"claude.logHandleFailed": "{type} 처리 실패: {message}",
|
|
85
|
+
"claude.newSessionTitle": "새 세션",
|
|
86
|
+
"claude.helpText": "지원 명령:\n- /new 새 세션\n- /help 도움말 보기",
|
|
87
|
+
"claude.logPromptFailed": "session.prompt 실패: {message}",
|
|
88
|
+
"claude.logAbortSent": "중지 전송됨 (session={session})",
|
|
89
|
+
"claude.logAbortFailed": "중지 실패 (session={session}): {message}",
|
|
90
|
+
"claude.errBadWorkspaceEmpty": "작업 영역 경로가 없습니다",
|
|
91
|
+
"claude.errBadWorkspaceNotDir": "디렉터리가 없거나 사용할 수 없습니다",
|
|
92
|
+
"claude.logWorkspaceSwitched": "작업 영역 전환: {path}",
|
|
93
|
+
"claude.logUnknownQuestionReply": "일치하지 않는 구조화 질문 응답 (id={id})",
|
|
94
|
+
"claude.logFlushedQuestions": "대기 중 질문 {count}개 취소: {reason}",
|
|
95
|
+
"claude.logFlushedApprovals": "대기 중 요청 {count}개 거부: {reason}",
|
|
96
|
+
"claude.logPendingResent": "session.pending: {session}의 대기 항목 {count}개 재전송",
|
|
97
|
+
"claude.logSetModeFailed": "setPermissionMode 실패 (session={session}): {message}",
|
|
98
|
+
"claude.errWorkspaceMissing": "작업 영역이 없습니다: {dir}",
|
|
99
|
+
"claude.logSessionError": "세션 오류 (session={session}): {message}",
|
|
100
|
+
"claude.logOfflineDenyTool": "릴레이 오프라인, 도구 {tool} 자동 거부",
|
|
101
|
+
"claude.errOfflineDeny": "릴레이 오프라인, 자동 거부(fail-closed)",
|
|
102
|
+
"claude.logAuqDisabled": "AskUserQuestion 비활성화됨(TUNNELBOX_CLAUDE_ASK_USER_QUESTION=0), 자동 거부",
|
|
103
|
+
"claude.errAuqDisabled": "AskUserQuestion이 활성화되지 않았습니다",
|
|
104
|
+
"claude.logAuqParseFailed": "AskUserQuestion 입력 구문 분석 실패, 자동 거부(fail-closed)",
|
|
105
|
+
"claude.errAuqParse": "질문을 구문 분석할 수 없습니다",
|
|
106
|
+
"claude.logAuqSkipped": "AskUserQuestion 무응답/취소됨 (session={session})",
|
|
107
|
+
"claude.errAuqCancelled": "사용자가 선택하지 않음(취소됨)",
|
|
108
|
+
"claude.logAuqDone": "AskUserQuestion 답변 완료 (session={session})",
|
|
109
|
+
"claude.promptRunTool": "Claude Code가 {tool} 실행을 요청",
|
|
110
|
+
"claude.errApprovalTimeout": "승인 시간 초과, 자동 거부(fail-closed)",
|
|
111
|
+
"claude.errUserDenied": "사용자가 거부",
|
|
112
|
+
"claude.errAborted": "요청이 중단되었습니다",
|
|
113
|
+
"claude.logPermToPhone": "권한 요청(tool={tool}) → 휴대폰으로 전송 permissionID={id}",
|
|
114
|
+
"claude.errRelayUnreachable": "릴레이에 연결할 수 없음, 자동 거부(fail-closed)",
|
|
115
|
+
"claude.logQuestionOffline": "릴레이 오프라인, 구조화 질문 자동 취소",
|
|
116
|
+
"claude.logQuestionToPhone": "구조화 질문({count}개) → 휴대폰으로 전송 questionID={id}",
|
|
117
|
+
"claude.logDialogOffline": "릴레이 오프라인, 대화 상자 자동 취소({tool})",
|
|
118
|
+
"claude.logDialogToPhone": "대화 상자 요청(kind={kind} tool={tool}) → 휴대폰으로 전송 permissionID={id}",
|
|
119
|
+
"claude.logAuqDialogParse": "AskUserQuestion 페이로드 구문 분석 실패, 기본 동작 유지(session={session})",
|
|
120
|
+
"claude.logDialogUnmapped": "request_user_dialog(kind={kind}) 매핑 없음, 기본 동작 유지(session={session})",
|
|
121
|
+
"claude.promptMcpAuth": "MCP \"{server}\" 인증 요청",
|
|
122
|
+
"claude.logElicitUnmapped": "MCP elicitation(server={server}, mode={mode}) 미처리, 자동 거부(session={session})",
|
|
123
|
+
"claude.logResetIdentity": "계정 연결이 해제되었습니다. ID를 재설정하고 새 페어링 코드를 생성하는 중…",
|
|
124
|
+
"claude.dialogConfirm": "Claude Code가 확인을 요청({kind})",
|
|
125
|
+
"claude.resultTruncated": "…(결과가 너무 길어 잘림)",
|
|
126
|
+
"claude.streamError": "claude 스트리밍 오류",
|
|
127
|
+
"claude.errListSessions": "Claude 세션 목록을 읽지 못했습니다",
|
|
128
|
+
"claude.errReadHistory": "세션 기록을 읽지 못했습니다({id})",
|
|
129
|
+
"setup.langSet": "실행 언어를 설정했습니다",
|
|
130
|
+
"setup.langHint": "다시 시작하면 이 언어로 출력됩니다(실행 시 TUNNELBOX_LANG으로 재정의 가능). 상태 파일:",
|
|
131
|
+
"setup.langCurrent": "현재 실행 언어",
|
|
132
|
+
"hermes.errNoRelay": "릴레이 URL이 설정되지 않았습니다: --env로 기본값을 주입하거나 실행 시 TUNNELBOX_RELAY_URL로 재정의하세요",
|
|
133
|
+
"hermes.logConnected": "릴레이에 연결됨 {url}",
|
|
134
|
+
"hermes.logMsgUncaught": "메시지 처리 중 처리되지 않은 예외: {message}",
|
|
135
|
+
"hermes.logDisconnected": "릴레이와 연결 끊김, 자동 재연결 중…",
|
|
136
|
+
"hermes.logPairCode": "페어링 코드 생성: {code}",
|
|
137
|
+
"hermes.logUnhandledType": "처리되지 않은 메시지 유형: {type}",
|
|
138
|
+
"hermes.logHandleFailed": "{type} 처리 실패: {message}",
|
|
139
|
+
"hermes.logClaimed": "휴대폰 계정에 바인딩됨. 이제 휴대폰의 '내 컴퓨터'에서 직접 연결합니다",
|
|
140
|
+
"hermes.logResetIdentity": "계정에서 바인딩 해제됨, ID 재설정 및 새 페어링 코드 생성 중…",
|
|
141
|
+
"hermes.cmdNew": "새 세션",
|
|
142
|
+
"hermes.cmdHelp": "도움말 표시",
|
|
143
|
+
"hermes.newSessionTitle": "새 세션",
|
|
144
|
+
"hermes.helpText": "지원 명령:\n- /new 새 세션\n- /help 도움말 표시",
|
|
145
|
+
"hermes.errBusy": "이 세션이 생성 중입니다. 완료를 기다리거나 먼저 중지하세요",
|
|
146
|
+
"hermes.errBadWorkspace": "이 디렉토리는 존재하지 않거나 사용할 수 없습니다",
|
|
147
|
+
"hermes.logWorkspaceSwitched": "작업공간 전환: {path}",
|
|
148
|
+
"hermes.errWorkspaceMissing": "작업공간이 없습니다: {dir}",
|
|
149
|
+
"hermes.errStartFailed": "시작 실패: {message}",
|
|
150
|
+
"hermes.msgStarted": "Hermes 어댑터 시작됨 (Ctrl+C로 종료)",
|
|
151
|
+
"hermes.logAbortSent": "중지 전송됨 (session={session})",
|
|
152
|
+
"hermes.logPromptFailed": "session.prompt 실패: {message}",
|
|
153
|
+
"hermes.logTurnError": "턴 오류 (session={session}): {message}",
|
|
154
|
+
"hermes.logPairForced": "--pair: 페어링 코드 강제 요청 (이번에만)",
|
|
155
|
+
"hermes.pairingStillClaimed": "휴대폰 계정에 이미 바인딩됨: 이 코드는 같은 계정의 새 기기 재페어링용입니다. 현재 기기는 휴대폰의 '내 컴퓨터'에서 직접 연결할 수 있습니다",
|
|
156
|
+
"hermes.logPairNoRelay": "릴레이 URL이 설정되지 않아 페어링 코드를 요청할 수 없습니다",
|
|
157
|
+
"hermes.errSpawnHermes": "Hermes({bin})를 시작할 수 없습니다: 설치 여부를 확인하세요 ({err})",
|
|
158
|
+
"hermes.errHermesExit": "hermes 종료({code}): {err}",
|
|
159
|
+
"hermes.logSessionUpdated": "세션 업데이트됨 (session={session})",
|
|
160
|
+
"hermes.errNoInject": "휴대폰 메시지 주입을 사용할 수 없습니다(비대화형 세션 또는 프로세스 미준비)",
|
|
161
|
+
"hermes.pairNoRelay": "릴레이에 연결할 수 없습니다(릴레이 도달 불가 또는 websockets 누락)",
|
|
162
|
+
"hermes.pairTimeout": "페어링 코드 요청 시간 초과(릴레이 미응답)",
|
|
163
|
+
"hermes.errToolPair": "tunnelbox_pair 실패: {err}",
|
|
164
|
+
"hermes.errToolStatus": "tunnelbox_status 실패: {err}",
|
|
165
|
+
"hermes.cliUsage": "사용법: /tunnelbox <pair|status>\n pair 휴대폰 페어링 코드 요청/출력\n status 릴레이/바인딩/연결 상태 표시"
|
|
166
|
+
}
|