deel-local-cli 1.8.0 → 1.12.0
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.ko.md +10 -25
- package/README.md +43 -51
- package/bin/deel.js +56 -13
- package/package.json +60 -60
- package/src/acp/serve.js +810 -732
- package/src/agent/budget.js +156 -153
- package/src/agent/compact.js +420 -296
- package/src/agent/effort.js +308 -177
- package/src/agent/evidence.js +2 -0
- package/src/agent/evolve.js +263 -213
- package/src/agent/filemem.js +155 -0
- package/src/agent/grade.js +51 -1
- package/src/agent/loop.js +1707 -1349
- package/src/agent/memory.js +156 -152
- package/src/agent/mention.js +210 -210
- package/src/agent/session.js +1049 -832
- package/src/agent/store.js +186 -9
- package/src/agent/threads.js +26 -1
- package/src/backend/adapter.js +1159 -615
- package/src/backend/cachemark.js +150 -0
- package/src/backend/detect.js +327 -288
- package/src/backend/learn.js +24 -0
- package/src/backend/mcp.js +96 -5
- package/src/backend/probe.js +131 -61
- package/src/backend/quota.js +250 -133
- package/src/backend/retry.js +30 -6
- package/src/backend/tokens.js +37 -0
- package/src/backend/toolfit.js +352 -0
- package/src/backend/wire.js +600 -0
- package/src/commands.js +3135 -2918
- package/src/config.js +47 -2
- package/src/i18n/en.js +544 -466
- package/src/i18n/index.js +18 -0
- package/src/i18n/ja.js +497 -417
- package/src/i18n/ko.js +591 -466
- package/src/i18n/zh.js +497 -417
- package/src/lsp/client.js +49 -5
- package/src/oneshot.js +620 -471
- package/src/pack/sbom.js +30 -4
- package/src/pack/selfpack.js +25 -9
- package/src/pack/sheet.en.js +288 -0
- package/src/pack/tar.js +65 -2
- package/src/plugins/manage.js +46 -9
- package/src/providers/bedrock.js +17 -0
- package/src/repl.js +2602 -2286
- package/src/safety/audit.js +92 -8
- package/src/safety/authcmd.js +14 -3
- package/src/safety/guard.js +143 -0
- package/src/safety/keystore.js +62 -39
- package/src/safety/undo.js +24 -6
- package/src/tools/fsutil.js +265 -250
- package/src/tools/index.js +239 -34
- package/src/tools/jobs.js +158 -29
- package/src/tools/verify.js +358 -328
- package/src/tools/webfetch.js +92 -9
- package/src/ui/md.js +201 -5
- package/src/ui/motion.js +0 -1
- package/src/ui/pastechip.js +50 -3
- package/src/ui/pick.js +115 -0
- package/src/ui/screen.js +23 -3
- package/src/ui/status.js +613 -610
package/src/i18n/ko.js
CHANGED
|
@@ -1,466 +1,591 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 한국어 — 이쪽이 원본이다.
|
|
3
|
-
*
|
|
4
|
-
* 여기 없는 열쇠는 어느 언어에도 없다. en.js 는 여기 있는 것만 옮긴다.
|
|
5
|
-
* 열쇠를 새로 만들 때는 **반드시 여기부터** 적는다 — 반대로 하면 영어에만
|
|
6
|
-
* 있고 한국어에는 없는 말이 생기고, 그건 한국 사람 화면에 열쇠 이름이
|
|
7
|
-
* 그대로 찍히는 것으로 나타난다.
|
|
8
|
-
*
|
|
9
|
-
* 열쇠 이름은 `자리.무엇` 꼴이다. `cmd.*` 는 슬래시 명령, `head.*` 는 켤 때
|
|
10
|
-
* 머리말, `seg.*` 는 상태줄 조각 이름, 그 밖은 그 명령의 화면 글이다.
|
|
11
|
-
*/
|
|
12
|
-
export const ko = {
|
|
13
|
-
// ── 슬래시 명령 ───────────────────────────────────────────────────────
|
|
14
|
-
'cmd.help.desc': '명령 목록',
|
|
15
|
-
'cmd.clear.desc': '대화 비우기',
|
|
16
|
-
'cmd.context.desc': '컨텍스트 사용량 보기',
|
|
17
|
-
'cmd.ctx.desc': '컨텍스트 길이 — 모델에 맞춰 다시 재거나 직접 지정',
|
|
18
|
-
'cmd.ctx.arg': '[auto|숫자|640k]',
|
|
19
|
-
'cmd.out.desc': '한 번에 받을 답 길이 상한 — 큰 파일이 잘리면 여기를 올린다',
|
|
20
|
-
'cmd.out.arg': '[숫자|32k|auto]',
|
|
21
|
-
'cmd.grade.desc': '모델 급 — 얼마나 알아서 하나. 창 크기와는 다른 축',
|
|
22
|
-
'cmd.grade.arg': '[작음|보통|큼|auto]',
|
|
23
|
-
'cmd.compact.desc': '오래된 대화 줄이기',
|
|
24
|
-
'cmd.model.desc': '연결·모델 바꾸기 · `카드` 면 이 모델을 겪어 본 결과',
|
|
25
|
-
'cmd.model.arg': '[이름|list|models|카드]',
|
|
26
|
-
'cmd.think.desc': '추론 강도 (off/low/medium/high/max)',
|
|
27
|
-
'cmd.think.arg': '<수준>',
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
'
|
|
33
|
-
'
|
|
34
|
-
'
|
|
35
|
-
'
|
|
36
|
-
'
|
|
37
|
-
'
|
|
38
|
-
'
|
|
39
|
-
'
|
|
40
|
-
'
|
|
41
|
-
'
|
|
42
|
-
'
|
|
43
|
-
'
|
|
44
|
-
'
|
|
45
|
-
'
|
|
46
|
-
'
|
|
47
|
-
'
|
|
48
|
-
'
|
|
49
|
-
'
|
|
50
|
-
'
|
|
51
|
-
'
|
|
52
|
-
'cmd.
|
|
53
|
-
'cmd.
|
|
54
|
-
'cmd.
|
|
55
|
-
'cmd.
|
|
56
|
-
'cmd.
|
|
57
|
-
'cmd.
|
|
58
|
-
'cmd.
|
|
59
|
-
'cmd.
|
|
60
|
-
'cmd.
|
|
61
|
-
'cmd.
|
|
62
|
-
'cmd.
|
|
63
|
-
'cmd.
|
|
64
|
-
'cmd.
|
|
65
|
-
'cmd.
|
|
66
|
-
'cmd.
|
|
67
|
-
'cmd.
|
|
68
|
-
'cmd.
|
|
69
|
-
'cmd.
|
|
70
|
-
'cmd.
|
|
71
|
-
'cmd.
|
|
72
|
-
'cmd.
|
|
73
|
-
'cmd.
|
|
74
|
-
'cmd.
|
|
75
|
-
'cmd.
|
|
76
|
-
'cmd.
|
|
77
|
-
'cmd.
|
|
78
|
-
'cmd.
|
|
79
|
-
'cmd.
|
|
80
|
-
'cmd.
|
|
81
|
-
'cmd.
|
|
82
|
-
'cmd.
|
|
83
|
-
'cmd.
|
|
84
|
-
|
|
85
|
-
'cmd.
|
|
86
|
-
'cmd.
|
|
87
|
-
'
|
|
88
|
-
'
|
|
89
|
-
'
|
|
90
|
-
'
|
|
91
|
-
'
|
|
92
|
-
'
|
|
93
|
-
'
|
|
94
|
-
'
|
|
95
|
-
'
|
|
96
|
-
'
|
|
97
|
-
'
|
|
98
|
-
'
|
|
99
|
-
'
|
|
100
|
-
'
|
|
101
|
-
|
|
102
|
-
'
|
|
103
|
-
'
|
|
104
|
-
'
|
|
105
|
-
'
|
|
106
|
-
'
|
|
107
|
-
'
|
|
108
|
-
|
|
109
|
-
'
|
|
110
|
-
'
|
|
111
|
-
'
|
|
112
|
-
'
|
|
113
|
-
'
|
|
114
|
-
'
|
|
115
|
-
'
|
|
116
|
-
'
|
|
117
|
-
'
|
|
118
|
-
'
|
|
119
|
-
'
|
|
120
|
-
'
|
|
121
|
-
'
|
|
122
|
-
'
|
|
123
|
-
'
|
|
124
|
-
'
|
|
125
|
-
|
|
126
|
-
'
|
|
127
|
-
|
|
128
|
-
'head.
|
|
129
|
-
'head.
|
|
130
|
-
'head.
|
|
131
|
-
'head.
|
|
132
|
-
'head.
|
|
133
|
-
'head.
|
|
134
|
-
'head.
|
|
135
|
-
'head.
|
|
136
|
-
'head.
|
|
137
|
-
'head.
|
|
138
|
-
|
|
139
|
-
'
|
|
140
|
-
'
|
|
141
|
-
'
|
|
142
|
-
'head.
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
'
|
|
146
|
-
'
|
|
147
|
-
'
|
|
148
|
-
'
|
|
149
|
-
'
|
|
150
|
-
'
|
|
151
|
-
'
|
|
152
|
-
'
|
|
153
|
-
'
|
|
154
|
-
'
|
|
155
|
-
'
|
|
156
|
-
'
|
|
157
|
-
'
|
|
158
|
-
'
|
|
159
|
-
'
|
|
160
|
-
'
|
|
161
|
-
'
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
'
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
'
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
'
|
|
172
|
-
'
|
|
173
|
-
'
|
|
174
|
-
'
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
'
|
|
178
|
-
'
|
|
179
|
-
'
|
|
180
|
-
'
|
|
181
|
-
'
|
|
182
|
-
'
|
|
183
|
-
'
|
|
184
|
-
'
|
|
185
|
-
'
|
|
186
|
-
'
|
|
187
|
-
'
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
'
|
|
191
|
-
'
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
'
|
|
195
|
-
'
|
|
196
|
-
'
|
|
197
|
-
'
|
|
198
|
-
'
|
|
199
|
-
'
|
|
200
|
-
'
|
|
201
|
-
'
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
'
|
|
206
|
-
'
|
|
207
|
-
'
|
|
208
|
-
'
|
|
209
|
-
'
|
|
210
|
-
'
|
|
211
|
-
'
|
|
212
|
-
'
|
|
213
|
-
'
|
|
214
|
-
'
|
|
215
|
-
'
|
|
216
|
-
|
|
217
|
-
'
|
|
218
|
-
'
|
|
219
|
-
'
|
|
220
|
-
'
|
|
221
|
-
|
|
222
|
-
'
|
|
223
|
-
'
|
|
224
|
-
'
|
|
225
|
-
'
|
|
226
|
-
'
|
|
227
|
-
'
|
|
228
|
-
'
|
|
229
|
-
'
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
'
|
|
233
|
-
'
|
|
234
|
-
'
|
|
235
|
-
'
|
|
236
|
-
'
|
|
237
|
-
'
|
|
238
|
-
'
|
|
239
|
-
'
|
|
240
|
-
'
|
|
241
|
-
|
|
242
|
-
'
|
|
243
|
-
'
|
|
244
|
-
'
|
|
245
|
-
'
|
|
246
|
-
'
|
|
247
|
-
'
|
|
248
|
-
|
|
249
|
-
'
|
|
250
|
-
'
|
|
251
|
-
'
|
|
252
|
-
'
|
|
253
|
-
'
|
|
254
|
-
'
|
|
255
|
-
'
|
|
256
|
-
'
|
|
257
|
-
'
|
|
258
|
-
'
|
|
259
|
-
'
|
|
260
|
-
'
|
|
261
|
-
'
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
'
|
|
266
|
-
'
|
|
267
|
-
'
|
|
268
|
-
|
|
269
|
-
'
|
|
270
|
-
'
|
|
271
|
-
'
|
|
272
|
-
'
|
|
273
|
-
'
|
|
274
|
-
'
|
|
275
|
-
'
|
|
276
|
-
'
|
|
277
|
-
'
|
|
278
|
-
'
|
|
279
|
-
'
|
|
280
|
-
'
|
|
281
|
-
'
|
|
282
|
-
'
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
'
|
|
286
|
-
'
|
|
287
|
-
'
|
|
288
|
-
'
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
// ──
|
|
292
|
-
'
|
|
293
|
-
'
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
'
|
|
309
|
-
'
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
'
|
|
324
|
-
'
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
'
|
|
328
|
-
'
|
|
329
|
-
'
|
|
330
|
-
'
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
'
|
|
339
|
-
'
|
|
340
|
-
'
|
|
341
|
-
'
|
|
342
|
-
|
|
343
|
-
'
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
'
|
|
347
|
-
'
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
'
|
|
364
|
-
'
|
|
365
|
-
|
|
366
|
-
'
|
|
367
|
-
'
|
|
368
|
-
'
|
|
369
|
-
'
|
|
370
|
-
'
|
|
371
|
-
'
|
|
372
|
-
|
|
373
|
-
'
|
|
374
|
-
'
|
|
375
|
-
'
|
|
376
|
-
'
|
|
377
|
-
'
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
'
|
|
382
|
-
'
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
'
|
|
386
|
-
'
|
|
387
|
-
'
|
|
388
|
-
'
|
|
389
|
-
'
|
|
390
|
-
'
|
|
391
|
-
'
|
|
392
|
-
'
|
|
393
|
-
'
|
|
394
|
-
'
|
|
395
|
-
'
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
'
|
|
399
|
-
'
|
|
400
|
-
'
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
'
|
|
404
|
-
'
|
|
405
|
-
'
|
|
406
|
-
'
|
|
407
|
-
'
|
|
408
|
-
'
|
|
409
|
-
'
|
|
410
|
-
'
|
|
411
|
-
'
|
|
412
|
-
'
|
|
413
|
-
'
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
'
|
|
417
|
-
'
|
|
418
|
-
'
|
|
419
|
-
'
|
|
420
|
-
|
|
421
|
-
'
|
|
422
|
-
'
|
|
423
|
-
|
|
424
|
-
'
|
|
425
|
-
'
|
|
426
|
-
'
|
|
427
|
-
'
|
|
428
|
-
'
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
'
|
|
432
|
-
'
|
|
433
|
-
'
|
|
434
|
-
'
|
|
435
|
-
'
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
'
|
|
439
|
-
'
|
|
440
|
-
'
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
'
|
|
444
|
-
'
|
|
445
|
-
'
|
|
446
|
-
'
|
|
447
|
-
|
|
448
|
-
//
|
|
449
|
-
'
|
|
450
|
-
|
|
451
|
-
'
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
'
|
|
463
|
-
'
|
|
464
|
-
'
|
|
465
|
-
'
|
|
466
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* 한국어 — 이쪽이 원본이다.
|
|
3
|
+
*
|
|
4
|
+
* 여기 없는 열쇠는 어느 언어에도 없다. en.js 는 여기 있는 것만 옮긴다.
|
|
5
|
+
* 열쇠를 새로 만들 때는 **반드시 여기부터** 적는다 — 반대로 하면 영어에만
|
|
6
|
+
* 있고 한국어에는 없는 말이 생기고, 그건 한국 사람 화면에 열쇠 이름이
|
|
7
|
+
* 그대로 찍히는 것으로 나타난다.
|
|
8
|
+
*
|
|
9
|
+
* 열쇠 이름은 `자리.무엇` 꼴이다. `cmd.*` 는 슬래시 명령, `head.*` 는 켤 때
|
|
10
|
+
* 머리말, `seg.*` 는 상태줄 조각 이름, 그 밖은 그 명령의 화면 글이다.
|
|
11
|
+
*/
|
|
12
|
+
export const ko = {
|
|
13
|
+
// ── 슬래시 명령 ───────────────────────────────────────────────────────
|
|
14
|
+
'cmd.help.desc': '명령 목록',
|
|
15
|
+
'cmd.clear.desc': '대화 비우기',
|
|
16
|
+
'cmd.context.desc': '컨텍스트 사용량 보기',
|
|
17
|
+
'cmd.ctx.desc': '컨텍스트 길이 — 모델에 맞춰 다시 재거나 직접 지정',
|
|
18
|
+
'cmd.ctx.arg': '[auto|숫자|640k]',
|
|
19
|
+
'cmd.out.desc': '한 번에 받을 답 길이 상한 — 큰 파일이 잘리면 여기를 올린다',
|
|
20
|
+
'cmd.out.arg': '[숫자|32k|auto]',
|
|
21
|
+
'cmd.grade.desc': '모델 급 — 얼마나 알아서 하나. 창 크기와는 다른 축',
|
|
22
|
+
'cmd.grade.arg': '[작음|보통|큼|auto]',
|
|
23
|
+
'cmd.compact.desc': '오래된 대화 줄이기',
|
|
24
|
+
'cmd.model.desc': '연결·모델 바꾸기 · `카드` 면 이 모델을 겪어 본 결과',
|
|
25
|
+
'cmd.model.arg': '[이름|list|models|카드]',
|
|
26
|
+
'cmd.think.desc': '추론 강도 (off/low/medium/high/max)',
|
|
27
|
+
'cmd.think.arg': '<수준>',
|
|
28
|
+
|
|
29
|
+
// ── /think 화면 ────────────────────────────────────────────────────
|
|
30
|
+
// 표의 틀만 옮기고 알맹이(단계 이름)를 안 옮기면 아무것도 안 읽힌다.
|
|
31
|
+
// 단계 이름·배분 이름은 agent/effort.js 가 들고 있다 — modes.js 와 같은 방식.
|
|
32
|
+
'run.noTools': '도구 호출이 확인되지 않았습니다 — deel diagnose 로 점검하세요',
|
|
33
|
+
'think.effort': '추론 강도',
|
|
34
|
+
'think.profile': '배분',
|
|
35
|
+
'think.detail': '자세히',
|
|
36
|
+
'think.harder': '더 세게',
|
|
37
|
+
'think.faster': '더 빠르게',
|
|
38
|
+
'think.eg': '예',
|
|
39
|
+
'think.col.stage': '단계',
|
|
40
|
+
'think.col.level': '강도',
|
|
41
|
+
'think.col.cap': '출력상한',
|
|
42
|
+
'think.col.when': '언제',
|
|
43
|
+
'think.cap.head': '출력 상한은',
|
|
44
|
+
'think.cap.tail': ' 안에서 나눕니다 —',
|
|
45
|
+
'think.cap.you': '(직접 정하신 값)',
|
|
46
|
+
'think.cap.server': '(서버에서 알아낸 값)',
|
|
47
|
+
'think.cap.guess': '(모르는 값이라 기본값)',
|
|
48
|
+
'think.ctx': '컨텍스트',
|
|
49
|
+
'think.ctx.used': ' · 지금 찬 양 ',
|
|
50
|
+
'think.nomodel': '이 연결은 모델 층 강도 조절이 적용되지 않습니다.',
|
|
51
|
+
'think.nomodel.note': '출력 상한만 단계별로 적용됩니다.',
|
|
52
|
+
'cmd.mode.desc': '승인 정책 — 얼마나 물어보나 (auto/confirm/strict)',
|
|
53
|
+
'cmd.mode.arg': '<모드>',
|
|
54
|
+
'cmd.work.desc': '작업 모드 — 무슨 일을 하는 중인가 (종합이면 저절로)',
|
|
55
|
+
'cmd.work.arg': '[모드]',
|
|
56
|
+
'cmd.auto.desc': '작업 모드 → 종합 (요청에 따라 저절로 옮겨 감. /mode 와 다름)',
|
|
57
|
+
'cmd.code.desc': '작업 모드 → 코드 (고치고 만든다)',
|
|
58
|
+
'cmd.plan.desc': '작업 모드 → 계획 (먼저 계획만)',
|
|
59
|
+
'cmd.architect.desc': '작업 모드 → 설계 (구조를 짠다)',
|
|
60
|
+
'cmd.debug.desc': '작업 모드 → 디버그 (원인을 찾는다)',
|
|
61
|
+
'cmd.ask.desc': '작업 모드 → 묻기 (설명만)',
|
|
62
|
+
'cmd.orchestrator.desc': '작업 모드 → 총괄 (큰 일을 쪼개서)',
|
|
63
|
+
'cmd.undo.desc': '직전 작업 되돌리기 — 파일과 대화를 같이',
|
|
64
|
+
'cmd.undo.arg': '[턴수]',
|
|
65
|
+
'cmd.diff.desc': '이번 대화에서 바뀐 파일 · 바뀐 자리 보기',
|
|
66
|
+
'cmd.diff.arg': '[파일]',
|
|
67
|
+
'cmd.preview.desc': '만든 웹을 이 자리에서 띄워 본다 — 올릴 필요 없음',
|
|
68
|
+
'cmd.preview.arg': '[폴더|off]',
|
|
69
|
+
'cmd.tools.desc': '쓸 수 있는 도구 보기',
|
|
70
|
+
'cmd.skills.desc': '스킬 보기·검색·골라 올리기',
|
|
71
|
+
'cmd.skills.arg': '[검색어|all|off]',
|
|
72
|
+
'cmd.plugin.desc': '플러그인 목록·설치·삭제·반입묶음',
|
|
73
|
+
'cmd.plugin.arg': '[install|remove|pack]',
|
|
74
|
+
'cmd.cost.desc': '이번 세션 사용량',
|
|
75
|
+
'cmd.status.desc': '연결 상태',
|
|
76
|
+
'cmd.scan.desc': '이 PC 의 로컬 모델 서버 훑기',
|
|
77
|
+
'cmd.scan.arg': '[save]',
|
|
78
|
+
'cmd.thread.desc': '대화 갈래 — 곁가지를 딴 자리에서. 연결·되돌리기는 같이 씀',
|
|
79
|
+
'cmd.thread.arg': '[new|fork|close|번호|이름]',
|
|
80
|
+
'cmd.learned.desc': '쓰면서 저절로 알게 된 것 — 되는 명령·이 모델의 버릇',
|
|
81
|
+
'cmd.learned.arg': '[지우기|clear]',
|
|
82
|
+
'cmd.pin.desc': '못 박기 — 접거나 요약해도 안 지워지는 말',
|
|
83
|
+
'cmd.pin.arg': '[말|clear 번호|clear all]',
|
|
84
|
+
'cmd.evidence.desc': '증거 — 무엇을 바꿨고 무엇이 그걸 증명하나. 안 된 것도 적는다',
|
|
85
|
+
'cmd.evidence.arg': '[파일]',
|
|
86
|
+
'cmd.commit.desc': '커밋 — 이번 대화가 바꾼 것만 담고, diff 와 증거로 메시지를 짓는다',
|
|
87
|
+
'cmd.review.desc': '바꾼 것을 새 창에서 한 번 더 본다 — 찾은 것만 말하고 아무것도 안 고친다',
|
|
88
|
+
'cmd.paste.desc': '클립보드에 든 화면 캡처를 붙인다 (캡처 → /paste)',
|
|
89
|
+
'cmd.commit.arg': '[전부|미리보기|제목]',
|
|
90
|
+
'cmd.sessions.desc': '이 폴더의 지난 대화 목록',
|
|
91
|
+
'cmd.recall.desc': '지난 대화에서 찾기 — 목록 말고 내용으로',
|
|
92
|
+
'cmd.recall.arg': '<찾을 말>',
|
|
93
|
+
'cmd.mcp.desc': '밖에서 붙인 도구(MCP) 서버 보기',
|
|
94
|
+
'cmd.memory.desc': '대화가 끝나도 남는 기억 — 보기·지우기',
|
|
95
|
+
'cmd.memory.arg': '[forget <번호>|clear|<적을 말>]',
|
|
96
|
+
'cmd.level.desc': '사용자 수준 (쉬움/개발자)',
|
|
97
|
+
'cmd.level.arg': '[수준]',
|
|
98
|
+
'cmd.keys.desc': '이 터미널이 무슨 키를 보내는지 눌러서 확인 — 줄바꿈이 안 될 때',
|
|
99
|
+
'cmd.bell.desc': '다 됐을 때·물어볼 때 종소리와 창 제목 (on/off)',
|
|
100
|
+
'cmd.bell.arg': '[on|off]',
|
|
101
|
+
'cmd.motion.desc': '일하는 동안 뭐가 도나 — 기사·동물·사무실',
|
|
102
|
+
'cmd.motion.arg': '[기사|동물|사무실|기본|끔]',
|
|
103
|
+
'cmd.lang.desc': '화면 말 — 한국어 / English',
|
|
104
|
+
'cmd.lang.arg': '[ko|en] [시킬말]',
|
|
105
|
+
'cmd.init.desc': 'DEEL.md 규칙 파일 만들기',
|
|
106
|
+
'cmd.exit.desc': '끝내기',
|
|
107
|
+
'cmd.quit.desc': '끝내기',
|
|
108
|
+
|
|
109
|
+
'cmd.consult.desc': '다른 모델에게 한 번 물어보기 — 지금 쓰는 것은 안 바꿈',
|
|
110
|
+
'cmd.consult.arg': '[프로필 <질문>]',
|
|
111
|
+
'consult.title': '이 PC 에 적어 둔 모델들',
|
|
112
|
+
'consult.noProfiles': '설정에 프로필이 하나도 없습니다. /scan 으로 이 PC 를 훑어 보세요.',
|
|
113
|
+
'consult.current': '(지금 쓰는 것)',
|
|
114
|
+
'consult.usage': '쓰기: /consult <프로필> <질문> 예) /consult small 이 정규식이 무슨 뜻이야?',
|
|
115
|
+
'consult.questionOnly': '친 질문만 보냅니다 — 지금 대화는 안 딸려 갑니다. 필요한 배경은 질문에 적어 주세요.',
|
|
116
|
+
'consult.candidates': '이런 것들이 걸립니다:',
|
|
117
|
+
'consult.have': '있는 것:',
|
|
118
|
+
'consult.needQuestion': '{이름} 에게 무엇을 물어볼지 같이 적어 주세요. 예) /consult {이름} 이 오류가 무슨 뜻이야?',
|
|
119
|
+
'consult.goesOut': '— 이 질문은 바깥으로 나갑니다',
|
|
120
|
+
'consult.asking': '{모델} 에게 물어보는 중…',
|
|
121
|
+
'consult.system': '너는 다른 코딩 에이전트가 옆에서 물어보는 모델이다. 짧고 정확하게 답해라. 모르면 모른다고 해라. 파일을 고치라는 말이 아니라 묻는 말이다.',
|
|
122
|
+
'consult.failed': '못 물어봤습니다 — {왜}',
|
|
123
|
+
'consult.empty': '빈 답이 왔습니다. 그 모델이 도구 없이 답을 못 내는 것일 수 있습니다.',
|
|
124
|
+
'consult.added': '이 답을 대화에도 넣었습니다 — 누가 한 말인지 표를 달아서.',
|
|
125
|
+
// ── 연결 진단 ─────────────────────────────────────────────────────────
|
|
126
|
+
'probe.codexOnly': '{모델} 계열은 이 문(/chat/completions)으로는 안 나옵니다 — OpenAI 가 Responses API(/responses)로만 내주는 모델인데, deel 은 아직 그 문을 못 씁니다. 지금은 다른 모델을 고르세요.',
|
|
127
|
+
// ── 켤 때 머리말 ──────────────────────────────────────────────────────
|
|
128
|
+
'head.spec.ollama': 'Ollama 자체 규격',
|
|
129
|
+
'head.spec.openai': 'OpenAI 호환 규격',
|
|
130
|
+
'head.spec.anthropic': 'Anthropic 규격',
|
|
131
|
+
'head.mode.default': '이 안 (기본)',
|
|
132
|
+
'head.mode.online': '바깥 (online)',
|
|
133
|
+
'head.mode.offline': '봉인 (offline)',
|
|
134
|
+
'head.model': '모델',
|
|
135
|
+
'head.tokens': '토큰',
|
|
136
|
+
'head.grade': '급',
|
|
137
|
+
'head.guess': '짐작',
|
|
138
|
+
'head.send': '보냄',
|
|
139
|
+
'head.inside': '이 컴퓨터 안',
|
|
140
|
+
'head.outside': '바깥',
|
|
141
|
+
'head.offlineLock': '[오프라인 잠금]',
|
|
142
|
+
'head.viaProxy': '프록시 {프록시} 거침',
|
|
143
|
+
'head.proxyBad': '[프록시 설정을 못 씀 — /status 참고]',
|
|
144
|
+
'head.nowhereElse': '← 여기 말고는 어디로도 안 갑니다',
|
|
145
|
+
'head.glyphHint': '상태줄 맨 앞 {안:이가} 이 뜻입니다. 바깥으로 가면 {밖:으로} 바뀝니다.',
|
|
146
|
+
'head.conn': '연결',
|
|
147
|
+
'head.streaming': '스트리밍',
|
|
148
|
+
'head.noStreaming': '스트리밍 없음',
|
|
149
|
+
'head.tools': '도구',
|
|
150
|
+
'head.toolsUnknown': '도구 미확인',
|
|
151
|
+
'head.thinkCtl': '추론 조절',
|
|
152
|
+
'head.noThinkCtl': '추론 조절 없음',
|
|
153
|
+
'head.folder': '폴더',
|
|
154
|
+
'head.approve': '승인',
|
|
155
|
+
'head.shiftTab': 'Shift+Tab',
|
|
156
|
+
'head.shiftTabHint': '으로 바꿉니다 · ',
|
|
157
|
+
'head.tabHint': 'Tab 은 치던 / 명령을 채웁니다',
|
|
158
|
+
'head.newlineHint': '줄바꿈: Alt+Enter(맥은 Option+Enter) 로 상자 안에서 줄이 바뀝니다 · 안 먹는 터미널이면 줄 끝에 빈칸+` 를 붙이고 Enter',
|
|
159
|
+
'head.star': '쓸 만하면 별 하나 주세요 —',
|
|
160
|
+
'head.thisPC': '이 PC',
|
|
161
|
+
'head.skills': '스킬 {n}',
|
|
162
|
+
'head.commands': '명령 {n}',
|
|
163
|
+
'head.plugins': '플러그인 {n}',
|
|
164
|
+
|
|
165
|
+
'grade.small': '작음',
|
|
166
|
+
'grade.medium': '보통',
|
|
167
|
+
'grade.large': '큼',
|
|
168
|
+
'head.gradeSuffix': ' · {급} {급이름}{짐작}',
|
|
169
|
+
|
|
170
|
+
// ── 상태줄 조각 이름 (/status 와 설정이 본다) ─────────────────────────
|
|
171
|
+
'seg.dir': '작업 폴더 (앞의 ⌂/↗ 는 소스가 어디로 나가나)',
|
|
172
|
+
'seg.ver': '판 번호',
|
|
173
|
+
'seg.thread': '대화 갈래',
|
|
174
|
+
'seg.model': '모델 이름',
|
|
175
|
+
'seg.grade': '모델 급 (얼마나 알아서 하나)',
|
|
176
|
+
'seg.ctx': '컨텍스트 사용량 (눈금 = 접기·요약 자리)',
|
|
177
|
+
'seg.work': '작업 모드',
|
|
178
|
+
'seg.think': '추론 강도·배분',
|
|
179
|
+
'seg.mode': '승인 방식',
|
|
180
|
+
'seg.edits': '이번 대화에서 바뀐 파일',
|
|
181
|
+
'seg.verify': '확인한 것 (Verify)',
|
|
182
|
+
'seg.undoable': '되돌릴 수 있는 턴',
|
|
183
|
+
'seg.tok': '주고받은 토큰',
|
|
184
|
+
'seg.cost': '여태 쓴 돈 (요금을 알 때만)',
|
|
185
|
+
'seg.tools': '도구 호출 수',
|
|
186
|
+
'seg.skills': '이 PC 에서 찾은 스킬',
|
|
187
|
+
'seg.time': '켠 지 얼마나',
|
|
188
|
+
|
|
189
|
+
// ── 켤 때 도는 글자 모션 ──────────────────────────────────────────────
|
|
190
|
+
'intro.inside': '이 컴퓨터 안에서만',
|
|
191
|
+
'intro.outside': '바깥으로 나갑니다',
|
|
192
|
+
|
|
193
|
+
// ── 되돌리기 ──────────────────────────────────────────────────────────
|
|
194
|
+
'undo.nothing': '되돌릴 것이 없습니다.',
|
|
195
|
+
'undo.done': '{turns}개 턴, 파일 {files}개를 되돌렸습니다.',
|
|
196
|
+
'undo.alsoTalk': '대화도 {n}개 걷어냈습니다 — 모델이 되돌린 코드를 아직 있는 줄 알면 그 위에 이어 일합니다.',
|
|
197
|
+
'undo.repaired': '(짝 없는 도구 호출 {n}개도 같이 정리)',
|
|
198
|
+
'undo.saidWas': '시켰던 말:',
|
|
199
|
+
'undo.failed': '{n}개는 못 되돌렸습니다 — 그 파일은 고쳐진 그대로입니다. 기록을 남겨 뒀으니 /undo 를 다시 해 보세요.',
|
|
200
|
+
'undo.talkKept': '대화는 그대로 둡니다 — 그 턴의 말이 이미 접혀 없어졌습니다.',
|
|
201
|
+
'undo.talkKeptWhy': '모델이 되돌린 것을 아직 있는 줄 알 수 있으니, 이어 시킬 때 한 번 짚어 주세요.',
|
|
202
|
+
|
|
203
|
+
// ── 종소리 ────────────────────────────────────────────────────────────
|
|
204
|
+
'bell.stateOn': '켜져',
|
|
205
|
+
'bell.stateOff': '꺼져',
|
|
206
|
+
'bell.now': '종소리는 지금 {상태} 있습니다.',
|
|
207
|
+
'bell.when': '{초}초 넘게 걸린 턴이 끝났을 때, 그리고 무언가 물어볼 때 한 번 울립니다.',
|
|
208
|
+
'bell.title': '창 제목에도 상태가 뜹니다 — 탭 이름만 봐도 도는 중인지 알 수 있게.',
|
|
209
|
+
'bell.howto': '바꾸려면',
|
|
210
|
+
'bell.notATty': '(지금은 터미널이 아니라 소리도 제목도 안 나갑니다 — 파이프를 깨지 않으려고 그렇습니다.)',
|
|
211
|
+
'bell.needOnOff': 'on 이나 off 로 적어 주세요.',
|
|
212
|
+
'bell.turnedOn': '종소리를 켰습니다.',
|
|
213
|
+
'bell.turnedOff': '종소리를 껐습니다.',
|
|
214
|
+
'bell.justRang': '방금 한 번 울렸습니다. 안 들렸으면 터미널 설정에서 소리를 확인해 주세요.',
|
|
215
|
+
'bell.appliesNow': '이 세션에도 바로 먹습니다.',
|
|
216
|
+
|
|
217
|
+
'motion.now': '지금:',
|
|
218
|
+
'motion.plain': '한 칸짜리 돌림표. 조용합니다',
|
|
219
|
+
'motion.knight': '중세 기사가 칼을 휘두릅니다. 가끔 깔려서 넘어집니다',
|
|
220
|
+
'motion.animal': '픽셀 동물들이 돌아다닙니다',
|
|
221
|
+
'motion.office': '입력칸 위에 사무실 12줄. 지금 무슨 일이 도는지를 방으로',
|
|
222
|
+
'motion.off': '그림을 아예 끕니다 (화면 읽기 프로그램을 쓰는 자리)',
|
|
223
|
+
'motion.set': '{것:으로} 바꿨습니다.',
|
|
224
|
+
'motion.appliesNow': '다음 판부터 바로 보입니다. 설정에도 남았습니다.',
|
|
225
|
+
'motion.unknown': '"{값}"{~값:은는} 모르는 그림입니다.',
|
|
226
|
+
'motion.pickOne': '고를 수 있는 것:',
|
|
227
|
+
'motion.envWins': '환경변수(DEEL_MOTION·DEEL_OFFICE)가 켜져 있어 그쪽이 이깁니다.',
|
|
228
|
+
'motion.tooSmall': '이 터미널은 {줄}줄 × {칸}칸입니다 — 사무실은 {최소줄}줄 × {최소칸}칸부터 뜹니다.',
|
|
229
|
+
'motion.appleTerminal': '맥 기본 터미널은 줄 간격이 넓어 방에 가로줄이 그어집니다 — 터미널 › 설정 › 프로파일 › 텍스트 › 글꼴 「변경」 › 행간을 1.0 으로. (iTerm2 는 기본이 1.0 이라 멀쩡합니다)',
|
|
230
|
+
|
|
231
|
+
// ── 화면 말 (/lang) ───────────────────────────────────────────────────
|
|
232
|
+
'lang.now': '화면 말은 지금 {이름} 입니다.',
|
|
233
|
+
'lang.ko': '한국어',
|
|
234
|
+
'lang.ja': '日本語 (일본어)',
|
|
235
|
+
'lang.zh': '中文 (중국어)',
|
|
236
|
+
'lang.en': 'English (영어)',
|
|
237
|
+
'lang.howto': '바꾸려면',
|
|
238
|
+
'lang.changed': '화면 말을 {이름:으로} 바꿨습니다.',
|
|
239
|
+
'lang.unknown': 'ko 나 en 으로 적어 주세요.',
|
|
240
|
+
'lang.progress': '{언어}: {옮김}/{전체} 마디가 옮겨져 있습니다. 나머지는 한국어로 나옵니다.',
|
|
241
|
+
'lang.partial': '아직 다 안 옮겼습니다 — 빈칸을 내는 대신 한국어를 그대로 냅니다.',
|
|
242
|
+
'lang.codeStays': '따로 안 정하면 모델이 읽는 글도 화면 말을 따라갑니다. 코드와 도구·인자 이름은 그대로입니다.',
|
|
243
|
+
'lang.promptNow': '모델에게 시키는 말은 {이름}.',
|
|
244
|
+
'lang.follows': '화면 말을 따라갑니다',
|
|
245
|
+
'lang.splitHowto': '영어로 시키고 한국어로 받으려면',
|
|
246
|
+
'lang.promptChanged': '시키는 말은 {이름}, 답은 {답:으로} 받습니다 — 8k 창에서 고정 몫이 23% 줄어듭니다.',
|
|
247
|
+
'lang.envHint': '켤 때부터 영어로 쓰려면 DEEL_LANG=en (시키는 말만 영어로는 DEEL_PROMPT_LANG=en)',
|
|
248
|
+
|
|
249
|
+
'cmd.lsp.desc': '언어 서버 — 무엇이 깔려 있고 Def·Refs 를 쓸 수 있는지',
|
|
250
|
+
'cmd.lsp.arg': '[on|off]',
|
|
251
|
+
'lsp.found': '이 PC 에 있는 언어 서버 {수}개',
|
|
252
|
+
'lsp.none': '이 PC 에는 언어 서버가 없습니다. Grep · Outline 으로 갑니다.',
|
|
253
|
+
'lsp.thisFolder': '이 폴더의 언어:',
|
|
254
|
+
'lsp.noneHere': '쓸 수 있는 것 없음',
|
|
255
|
+
'lsp.fileCount': '{수}개 파일',
|
|
256
|
+
'lsp.tools': '도구:',
|
|
257
|
+
'lsp.toolsHidden': '안 보여 줍니다 (서버가 없어서)',
|
|
258
|
+
'lsp.diag': '고친 뒤 진단:',
|
|
259
|
+
'lsp.stateOn': '켜짐',
|
|
260
|
+
'lsp.stateOff': '꺼짐',
|
|
261
|
+
'lsp.ready': '준비됨',
|
|
262
|
+
'lsp.starting': '켜는 중',
|
|
263
|
+
'lsp.diagOn': '고친 뒤 진단을 켰습니다.',
|
|
264
|
+
'lsp.diagOff': '고친 뒤 진단을 껐습니다. Def · Refs 는 그대로 씁니다.',
|
|
265
|
+
'lsp.installHint': '깔면 Def · Refs 가 생깁니다:',
|
|
266
|
+
'lsp.neverInstalls': 'deel 은 아무것도 깔지 않습니다. 위 명령은 사람이 직접 칠 것입니다.',
|
|
267
|
+
'lsp.howto': '고친 뒤 진단 켜고 끄기:',
|
|
268
|
+
|
|
269
|
+
'cmd.export.desc': '이 대화를 보고서 한 장(HTML)으로 — 시킨 것·바뀐 것·확인한 것',
|
|
270
|
+
'cmd.export.arg': '[파일이름]',
|
|
271
|
+
'export.untitled': '제목 없는 대화',
|
|
272
|
+
'export.model': '모델',
|
|
273
|
+
'export.calls': '도구 {수}회',
|
|
274
|
+
'export.conversation': '오간 말',
|
|
275
|
+
'export.you': '나',
|
|
276
|
+
'export.nothing': '오간 말이 없습니다.',
|
|
277
|
+
'export.changed': '바뀐 파일',
|
|
278
|
+
'export.file': '파일',
|
|
279
|
+
'export.times': '몇 번',
|
|
280
|
+
'export.noChanges': '바뀐 파일이 없습니다.',
|
|
281
|
+
'export.evidence': '돌려 본 것',
|
|
282
|
+
'export.nothingRan': '돌린 명령이 없습니다.',
|
|
283
|
+
'export.unproven': '증명 안 된 것',
|
|
284
|
+
'export.allProven': '없습니다 — 바꾼 것마다 뒤에 돌린 확인이 있습니다.',
|
|
285
|
+
'export.footer': 'deel 이 만든 보고서입니다. 바깥으로 나가는 주소가 없어 어느 망에서든 열립니다.',
|
|
286
|
+
'export.saved': '보고서를 남겼습니다:',
|
|
287
|
+
'export.openHint': '더블클릭으로 열립니다. 그대로 결재·보고에 첨부하면 됩니다.',
|
|
288
|
+
'export.failed': '보고서를 못 남겼습니다. 폴더 권한을 확인해 주세요.',
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
// ── 도움말 · 승인 방식 · 수준 ─────────────────────────────────────────
|
|
292
|
+
'help.titleCommon': '명령 (자주 쓰는 것)',
|
|
293
|
+
'help.title': '명령',
|
|
294
|
+
'help.moreHidden': '이 밖에 {n}개가 더 있습니다 — 직접 입력하면 그대로 실행됩니다.',
|
|
295
|
+
'help.showAll': '전부 보려면',
|
|
296
|
+
'help.restGoesToModel': '그 밖의 입력은 모델에게 보냅니다. 빈 줄에서 Ctrl+C 로 끝냅니다.',
|
|
297
|
+
'approve.auto.name': '자동 승인',
|
|
298
|
+
'approve.auto.short': '자동',
|
|
299
|
+
'approve.auto.line': '안 묻고 고칩니다. 되돌리기(/undo)가 안전망입니다',
|
|
300
|
+
'approve.confirm.name': '위험만 확인',
|
|
301
|
+
'approve.confirm.short': '위험만',
|
|
302
|
+
'approve.confirm.line': '되돌릴 수 없는 명령만 물어봅니다. 파일은 안 묻고 고칩니다',
|
|
303
|
+
'approve.strict.name': '모두 확인',
|
|
304
|
+
'approve.strict.short': '모두',
|
|
305
|
+
'approve.strict.line': '파일을 고치거나 명령을 돌리기 전에 매번 물어봅니다',
|
|
306
|
+
'level.beginner.name': '쉬움',
|
|
307
|
+
'level.beginner.hint': '권장값으로 바로 시작',
|
|
308
|
+
'level.developer.name': '개발자',
|
|
309
|
+
'level.developer.hint': '전부 직접 만짐',
|
|
310
|
+
|
|
311
|
+
// ── 되묻기 상자 (Ask 도구) ────────────────────────────────────────────
|
|
312
|
+
/*
|
|
313
|
+
* 계획 상자.
|
|
314
|
+
*
|
|
315
|
+
* 여태 이 줄은 한국어가 글자 그대로 박혀 있었다 — `/lang en` 을 켠
|
|
316
|
+
* 사람이 계획을 승인하는 자리에서만 한글을 봤다. 하필 「무엇을 치면
|
|
317
|
+
* 되나」 를 말하는 줄이라, 못 읽으면 그 자리에서 막힌다.
|
|
318
|
+
*
|
|
319
|
+
* 셋을 한 줄에 보여 준다. ⏎ 하나로 진행되는 것을 맨 앞에 둔다 —
|
|
320
|
+
* 그게 열에 아홉이고, 여기서 뭘 더 치게 하면 사람은 애초에 계획
|
|
321
|
+
* 같은 걸 안 보려 든다.
|
|
322
|
+
*/
|
|
323
|
+
'plan.ask': '이대로 진행할까요?',
|
|
324
|
+
'plan.hint': '⏎ 진행 · y 한마디 붙여 진행 · 3 그 단계에 한마디 · n 취소',
|
|
325
|
+
'plan.cancelled': '그만뒀습니다. 계획은 위에 남아 있으니 이어서 말씀하셔도 됩니다.',
|
|
326
|
+
'plan.going': '계획대로 진행합니다.',
|
|
327
|
+
'plan.goingWith': '한마디를 얹어 진행합니다 — {말}',
|
|
328
|
+
'plan.replan': '그 점을 반영해 계획을 다시 냅니다.',
|
|
329
|
+
'plan.replanStep': '{단계}단계에 대한 말을 반영해 계획을 다시 냅니다.',
|
|
330
|
+
'ask.title': '물어봅니다',
|
|
331
|
+
/*
|
|
332
|
+
* 「번호 + 하고 싶은 말」 을 여기서 한 줄로 알려 준다.
|
|
333
|
+
*
|
|
334
|
+
* 되는 줄 모르면 아무도 안 쓴다. 그렇다고 세 줄로 적으면 물음보다
|
|
335
|
+
* 안내가 길어져서 정작 물음을 안 읽는다. 보기 하나로 보여 준다 —
|
|
336
|
+
* 보기 하나가 설명 세 줄보다 잘 읽힌다.
|
|
337
|
+
*/
|
|
338
|
+
'ask.pickHint': '숫자로 고르세요. 하고 싶은 말이 있으면 뒤에 붙이면 됩니다 (2 파일은 나눠서)',
|
|
339
|
+
'ask.freeHint': '답을 쳐 주세요',
|
|
340
|
+
'ask.pickPrompt': '1-{끝} (뒤에 의견을 붙여도 됩니다) 또는 직접 입력',
|
|
341
|
+
'ask.freePrompt': '답',
|
|
342
|
+
// 물어보는 도중에 ESC 를 눌렀다. 물음이 화면에 걸린 채로 남으면 안 된다.
|
|
343
|
+
'ask.stopped': '멈췄습니다 — 답하지 않은 것으로 넘어갑니다.',
|
|
344
|
+
|
|
345
|
+
// ── 잠깐 막혔을 때 (backend/retry.js) ─────────────────────────────────
|
|
346
|
+
'loop.backoff': '서버가 잠시 막았습니다 ({무엇}) — {초}초 뒤 다시 부릅니다 ({n}/{max})',
|
|
347
|
+
'cost.retries': '다시 부름',
|
|
348
|
+
|
|
349
|
+
/*
|
|
350
|
+
* ── 세는 말 ───────────────────────────────────────────────────────────
|
|
351
|
+
*
|
|
352
|
+
* 도구 결과 한 줄(`└ 1개 파일 · 3건 · rg`)은 이 조각들을 ` · ` 로 이어
|
|
353
|
+
* 만든다. 통짜 문장으로 안 두는 까닭은, 같은 조각이 열두 자리에서 다른
|
|
354
|
+
* 순서로 섞이기 때문이다 — 통짜로 두면 열쇠가 마흔 개가 되고, 그러면
|
|
355
|
+
* 새 자리를 만들 때마다 표를 네 번 고쳐야 해서 결국 아무도 안 고친다.
|
|
356
|
+
*
|
|
357
|
+
* 영어는 단수·복수를 갈라야 해서 {n} 하나로는 모자란 자리가 있다.
|
|
358
|
+
* 그런 자리는 열쇠를 둘로 나눠 뒀다(files/file1 처럼). 부르는 쪽에서
|
|
359
|
+
* n === 1 을 보고 고른다 — 한국어 표에서는 두 열쇠가 같은 값이라
|
|
360
|
+
* 한국어 화면은 한 글자도 안 바뀐다.
|
|
361
|
+
*/
|
|
362
|
+
'unit.files': '{n}개 파일',
|
|
363
|
+
'unit.files1': '1개 파일',
|
|
364
|
+
'unit.hits': '{n}건',
|
|
365
|
+
'unit.hits1': '1건',
|
|
366
|
+
'unit.lines': '{n}줄',
|
|
367
|
+
'unit.lines1': '1줄',
|
|
368
|
+
'unit.spots': '{n}군데',
|
|
369
|
+
'unit.spots1': '1군데',
|
|
370
|
+
'unit.places': '{n}곳',
|
|
371
|
+
'unit.places1': '1곳',
|
|
372
|
+
'unit.count': '{n}개',
|
|
373
|
+
'unit.count1': '1개',
|
|
374
|
+
'unit.chars': '{n}자',
|
|
375
|
+
'unit.kchars': '{n}k자',
|
|
376
|
+
'unit.calls': '{n}회',
|
|
377
|
+
'unit.sec': '{n}초',
|
|
378
|
+
'unit.min': '{n}분',
|
|
379
|
+
|
|
380
|
+
// ── 도구 결과 한 줄 ──────────────────────────────────────────────────
|
|
381
|
+
'sum.done': '완료',
|
|
382
|
+
'sum.ok': '성공',
|
|
383
|
+
'sum.exitCode': '종료코드 {code}',
|
|
384
|
+
'sum.killedBy': '{시그널} 로 죽음',
|
|
385
|
+
'sum.tooMuchOut': '출력이 너무 많아 받다 말았습니다',
|
|
386
|
+
'sum.cantRun': '못 돌렸습니다 ({왜})',
|
|
387
|
+
'sum.partial': '일부만',
|
|
388
|
+
'sum.cut': '일부 잘림',
|
|
389
|
+
'sum.notAllSeen': '다 못 봄',
|
|
390
|
+
'sum.filesFailed': '{n}개 실패',
|
|
391
|
+
'sum.spotsFailed': '{n}군데 실패',
|
|
392
|
+
'sum.moved': '{n}개 옮김',
|
|
393
|
+
'sum.total': '전체 {줄}',
|
|
394
|
+
'sum.addedLines': '+{줄}',
|
|
395
|
+
'sum.noVision': '이 모델은 못 봄',
|
|
396
|
+
'sum.emptyAnswer': '빈 답',
|
|
397
|
+
'sum.unread': '못 읽음 {n}개',
|
|
398
|
+
'sum.doneOf': '{끝}/{전체} 완료',
|
|
399
|
+
'sum.justDone': '방금 {n}개',
|
|
400
|
+
'sum.noChange': '그대로 (바뀐 것 없음)',
|
|
401
|
+
'sum.verified': '확인 {n}개',
|
|
402
|
+
'sum.readAs': '{쓴것} 로 바꿔 읽음',
|
|
403
|
+
'sum.encGuess': '{인코딩} (추정)',
|
|
404
|
+
'sum.linesOf': '{준}/{전체}줄',
|
|
405
|
+
'sum.countOf': '{n}/{전체}개',
|
|
406
|
+
'sum.remembered': '기억했습니다 ({n}줄)',
|
|
407
|
+
'sum.rememberFull': '자리가 차서 오래된 것을 뺐습니다',
|
|
408
|
+
'sum.recall': '지난 대화에서 {전체}건 중 {맞음}건',
|
|
409
|
+
'sum.jobStarted': '{n}번으로 띄움',
|
|
410
|
+
'sum.jobRunning': '도는중',
|
|
411
|
+
'sum.jobEndedAlready': '이미 끝남',
|
|
412
|
+
'sum.jobNotStopped': '안 끝났습니다 — 아직 살아 있습니다',
|
|
413
|
+
'sum.jobStopped': '끝냄',
|
|
414
|
+
|
|
415
|
+
// Edit 이 어떤 느슨함으로 자리를 찾았나 (tools/edit-match.js 의 TIERS).
|
|
416
|
+
'tier.exact': '정확히 일치',
|
|
417
|
+
'tier.trail': '줄 끝 공백·줄바꿈 차이 무시',
|
|
418
|
+
'tier.indent': '들여쓰기 차이 무시',
|
|
419
|
+
'tier.space': '모든 공백 차이 무시',
|
|
420
|
+
|
|
421
|
+
'sum.image': '그림',
|
|
422
|
+
'sum.imageDropped': '그림 {크기} 생략',
|
|
423
|
+
|
|
424
|
+
'sum.broken': '탈 {n}개',
|
|
425
|
+
'sum.unverified': '못 확인 {n}개',
|
|
426
|
+
'lsp.noDef': '정의를 못 찾았습니다. Grep 으로 찾아보세요.',
|
|
427
|
+
'lsp.defs': '정의 {n}',
|
|
428
|
+
'lsp.noRefs': '쓰는 자리가 없습니다.',
|
|
429
|
+
'lsp.refs': '쓰는 자리 {자리} · 파일 {파일}',
|
|
430
|
+
|
|
431
|
+
'sum.nothingToCheck': '확인할 것이 없었습니다',
|
|
432
|
+
'job.no': '{n}번',
|
|
433
|
+
'job.stop': '끝내기',
|
|
434
|
+
'more.files': '외 {n}개',
|
|
435
|
+
'more.spots': '외 {n}군데',
|
|
436
|
+
|
|
437
|
+
// ── 도구 오류 ────────────────────────────────────────────────────────
|
|
438
|
+
'err.noSuchFile': '파일이 없습니다: {경로}',
|
|
439
|
+
'err.alreadyThere': '이미 있습니다: {경로}',
|
|
440
|
+
'err.overwriteHint': '덮어쓰려면 overwrite: true 를 주세요.',
|
|
441
|
+
|
|
442
|
+
// ── 대화 화면 ────────────────────────────────────────────────────────
|
|
443
|
+
'run.ctxProbe': '모델에 걸린 컨텍스트 길이를 확인하는 중…',
|
|
444
|
+
'run.noStream': '스트리밍이 없어 응답이 한 번에 나옵니다',
|
|
445
|
+
'run.hintHelp': '/help 명령 목록',
|
|
446
|
+
'run.hintEsc': 'ESC 중단',
|
|
447
|
+
'run.hintQuit': 'Ctrl+C 중단·끝내기',
|
|
448
|
+
// 줄 화면에는 상자가 없다. 눌린 것이 닿았다는 신호를 여기 한 줄로 낸다.
|
|
449
|
+
'run.stopping': '멈추는 중…',
|
|
450
|
+
// 탈이 나기 전까지 흘러온 반쪽을 대화에 남겼다. 안 말하면 다시 처음부터 친다.
|
|
451
|
+
'run.errKept': '여기까지 받은 것은 대화에 남겼습니다 — 이어서 말씀하셔도 됩니다.',
|
|
452
|
+
|
|
453
|
+
/*
|
|
454
|
+
* ── 대화창 말고 다른 앞면이 쓰는 한 줄 (한 방 실행 · ACP) ─────────────
|
|
455
|
+
*
|
|
456
|
+
* 대화창은 이 소식들을 저마다 여러 줄로 풀어 쓴다. 한 방 실행과 에디터
|
|
457
|
+
* 붙임에는 그럴 자리가 없어서 한 줄짜리가 따로 있어야 했는데, 그게
|
|
458
|
+
* 없어서 **아예 아무 말도 안 하고 있었다.** 잘린 답이 온전한 답인 척
|
|
459
|
+
* `deel -p` 뒤 스크립트로 넘어가던 것이 그 탓이다.
|
|
460
|
+
*/
|
|
461
|
+
'ev.capped': '답이 {한계} 토큰에서 잘렸습니다 — /out 으로 상한을 올리거나, 파일은 나눠 쓰게 하세요',
|
|
462
|
+
'ev.cutoff': '서버가 끝났다는 말 없이 답을 멈췄습니다 — 중간에서 끊겼을 수 있습니다',
|
|
463
|
+
'ev.nudgeMissed': '시킨 것 {n}가지를 빼놓고 끝내려고 해서 한 번 되밀었습니다',
|
|
464
|
+
'ev.nudgeRead': '읽기만 하고 끝내려고 해서 한 번 되밀었습니다',
|
|
465
|
+
'ev.learnedCtx': '서버가 알려 준 컨텍스트 한계 {한계} 로 맞추고 다시 부릅니다',
|
|
466
|
+
'ev.learnedOut': '서버가 알려 준 답 길이 한계 {한계} 로 맞추고 다시 부릅니다',
|
|
467
|
+
/*
|
|
468
|
+
* 자리가 다 차서 기억을 비운 자리. **오류가 아니다.**
|
|
469
|
+
*
|
|
470
|
+
* 붉게 말하면 사람은 하던 일이 엎어진 줄 알고 /clear 를 친다 — 정작
|
|
471
|
+
* 지금은 시킨 말과 남은 할 일을 들고 그대로 이어 가는 중인데도.
|
|
472
|
+
* 무엇을 버렸고 무엇을 들고 가는지 한 줄로 사실대로 말한다.
|
|
473
|
+
*/
|
|
474
|
+
'ev.reset': '자리가 모자라 앞선 대화 {버린수}개를 비우고 이어갑니다 — 남은 할 일 {할일}개',
|
|
475
|
+
'ev.resetBare': '자리가 모자라 앞선 대화 {버린수}개를 비우고 이어갑니다',
|
|
476
|
+
/*
|
|
477
|
+
* 붙여넣기 표에 쓰는 낱말.
|
|
478
|
+
*
|
|
479
|
+
* 이 말은 화면에 찍고 **다시 찾아 읽는다.** 보낼 때 표를 원문으로
|
|
480
|
+
* 펴야 하기 때문이다. 그래서 낱말을 바꾸면 무늬(pastechip.js 의 표무늬)가
|
|
481
|
+
* 저절로 따라간다 — 네 말을 다 넣어 짓는다. 옛 말로 찍어 둔 표도
|
|
482
|
+
* 계속 알아본다.
|
|
483
|
+
*/
|
|
484
|
+
'paste.chip': '붙여넣기',
|
|
485
|
+
'paste.chipLines': '{n}줄',
|
|
486
|
+
'paste.folded': '{표} — 접어 뒀습니다. 보낼 때 그대로 펴집니다.',
|
|
487
|
+
'paste.pasted': '{n}줄을 붙여넣었습니다 — Enter 로 한 번에 보냅니다',
|
|
488
|
+
'run.thinking': '생각 중…',
|
|
489
|
+
'run.thinkingChars': '생각 중… {n}자',
|
|
490
|
+
'run.turnFoot': '{초}초 · 도구 {n}회 · ↑{입력} ↓{출력}',
|
|
491
|
+
'run.bye': '끝냅니다.',
|
|
492
|
+
'run.byeStats': '모델 호출 {n}회 · 도구 시간 {초}초 · ↑{입력} ↓{출력}',
|
|
493
|
+
'run.notMade': '— 만들어지지 않았습니다',
|
|
494
|
+
'store.notSaving': '이 대화가 파일에 안 적히고 있습니다 ({까닭}) — {n}줄을 잃었습니다. 지금 창을 닫으면 이어할 수 없습니다.',
|
|
495
|
+
|
|
496
|
+
// 생각 중 앞에 붙는 단계 꼬리표 (agent/effort.js 의 STAGES).
|
|
497
|
+
'stage.plan': '첫 판단',
|
|
498
|
+
'stage.work': '이어가기',
|
|
499
|
+
'stage.fix': '막혔을 때',
|
|
500
|
+
|
|
501
|
+
// ── /tools · /status · /cost 화면 ────────────────────────────────────
|
|
502
|
+
'scr.tools': '도구',
|
|
503
|
+
'scr.conn': '연결',
|
|
504
|
+
'scr.session': '이번 세션',
|
|
505
|
+
'status.kind': '규격',
|
|
506
|
+
'status.url': '주소',
|
|
507
|
+
'status.proxy': '프록시',
|
|
508
|
+
'status.proxyOff': '못 씀',
|
|
509
|
+
'status.model': '모델',
|
|
510
|
+
'status.root': '작업 폴더',
|
|
511
|
+
'status.shell': '셸',
|
|
512
|
+
'status.keyStore': '열쇠 보관',
|
|
513
|
+
'status.rules': '규칙',
|
|
514
|
+
'status.noRules': '없음 (/init 으로 만들 수 있습니다)',
|
|
515
|
+
'status.rulesUnread': '{이름} 이 있는데 못 읽었습니다 ({까닭}) — 이 폴더 규칙이 안 걸려 있습니다',
|
|
516
|
+
'status.caps': '지원',
|
|
517
|
+
'status.capTools': '도구',
|
|
518
|
+
'status.capStream': '스트림',
|
|
519
|
+
'status.capSchema': '스키마',
|
|
520
|
+
'status.capThink': '추론',
|
|
521
|
+
'cost.calls': '모델 호출',
|
|
522
|
+
'cost.tokIn': '입력 토큰',
|
|
523
|
+
'cost.tokOut': '출력 토큰',
|
|
524
|
+
'cost.toolMs': '도구 시간',
|
|
525
|
+
'cost.elapsed': '경과',
|
|
526
|
+
'cost.money': '요금',
|
|
527
|
+
// ── 캐시·전선·자동 강도 (backend/wire.js · backend/cachemark.js) ──────
|
|
528
|
+
'status.wire': '전선',
|
|
529
|
+
'wire.think': '생각',
|
|
530
|
+
'run.refusal': '모델이 이 요청을 거절했습니다 — 되밀지 않고 여기서 멈춥니다',
|
|
531
|
+
'run.refusalWhy': '까닭 {왜}',
|
|
532
|
+
'wire.rungs': '눈금',
|
|
533
|
+
'wire.cache': '캐시',
|
|
534
|
+
'wire.none': '없음',
|
|
535
|
+
'wire.cacheMarked': '표식',
|
|
536
|
+
'wire.cacheKey': '열쇠',
|
|
537
|
+
'wire.cacheAuto': '서버자동',
|
|
538
|
+
'cost.cache': '캐시',
|
|
539
|
+
'cost.think': '생각',
|
|
540
|
+
'cost.thinkLine': '{토큰} 토큰 · 답의 {몫}%',
|
|
541
|
+
'cost.cacheLine': '읽음 {읽음} · 씀 {씀} · 적중 {몫}%',
|
|
542
|
+
'cost.cacheColdWarn': '쓰기만 있고 읽기가 없습니다 — 앞머리가 매번 새로 엮이는 중입니다',
|
|
543
|
+
'think.auto': '자동',
|
|
544
|
+
'think.autoNote': '정한 값은 천장입니다 ({천장}) — 가벼운 말은 {지금} 까지 낮춰 씁니다',
|
|
545
|
+
'think.autoOn': '시킨 말에 맞춰 강도를 고릅니다 — 정한 값이 천장이 됩니다',
|
|
546
|
+
'think.autoOff': '정한 강도를 그대로 씁니다',
|
|
547
|
+
'think.wire': '전선',
|
|
548
|
+
'think.wireSends': '지금 나가는 값 {값}',
|
|
549
|
+
'loop.wire': '서버가 안 받는 칸이 있어 맞춰 다시 부릅니다 ({무엇})',
|
|
550
|
+
'loop.quotaAhead': '할당량이 바닥나서 {초}초 기다렸다 보냅니다',
|
|
551
|
+
'cost.quota': '서버 할당량',
|
|
552
|
+
'cost.quotaAge': '{초}초 전 응답 기준',
|
|
553
|
+
|
|
554
|
+
// ── /context 표 ──────────────────────────────────────────────────────
|
|
555
|
+
'scr.context': '컨텍스트',
|
|
556
|
+
'unit.tokens': '{n} 토큰',
|
|
557
|
+
'ctx.system': '시스템 프롬프트',
|
|
558
|
+
'ctx.rules': '규칙 ({이름})',
|
|
559
|
+
'ctx.rulesNone': '규칙 (없음)',
|
|
560
|
+
'ctx.memory': '기억 ({n}줄)',
|
|
561
|
+
'ctx.learned': '겪어 본 것',
|
|
562
|
+
'ctx.skills': '스킬 목록 ({실림}/{전체}개)',
|
|
563
|
+
'ctx.tools': '도구 정의',
|
|
564
|
+
'ctx.history': '대화 이력',
|
|
565
|
+
'ctx.toolResults': '도구 결과 (파일 {n}개)',
|
|
566
|
+
'ctx.left': '남음',
|
|
567
|
+
'ctx.compactHint': '대화 줄이기',
|
|
568
|
+
'ctx.clearHint': '통째로 비우기',
|
|
569
|
+
'ctx.calibrated': '서버가 알려 준 실제값에 맞춰 {부호}{퍼센트}% 보정했습니다 ({번}번 재봄).',
|
|
570
|
+
'ctx.estimate': '숫자는 추정입니다 — 정확한 토크나이저를 쓰지 않습니다.',
|
|
571
|
+
|
|
572
|
+
// ── 열쇠받기 (safety/authcmd.js) ─────────────────────────────────────
|
|
573
|
+
'auth.waiting': '회사 로그인을 기다리는 중…',
|
|
574
|
+
'auth.got': '열쇠를 받았습니다 — {분}분쯤 씁니다',
|
|
575
|
+
'auth.failed': '열쇠를 못 받았습니다 — {왜}',
|
|
576
|
+
'auth.from': '받아 옴',
|
|
577
|
+
'auth.fromPolicy': '받아 옴 (관리 정책)',
|
|
578
|
+
'auth.leftMin': '{분}분 남음',
|
|
579
|
+
'auth.notYet': '아직 안 받음',
|
|
580
|
+
|
|
581
|
+
// ── 되돌리기 결과 줄 ─────────────────────────────────────────────────
|
|
582
|
+
'undo.wayRestored': '되돌림',
|
|
583
|
+
'undo.wayDeleted': '삭제됨(원래 없던 파일)',
|
|
584
|
+
|
|
585
|
+
// ── 자주 나오는 것 ────────────────────────────────────────────────────
|
|
586
|
+
'common.unknownCommand': '모르는 명령입니다',
|
|
587
|
+
'common.seeHelp': '명령 목록은 /help',
|
|
588
|
+
'common.yes': '네',
|
|
589
|
+
'common.no': '아니요',
|
|
590
|
+
'common.cfgSaveFailed': '설정을 파일에 남기지 못했습니다 ({왜}) — 이번 판에는 먹지만 다시 켜면 돌아갑니다.',
|
|
591
|
+
};
|