luckytri 1.0.0 → 1.0.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.
- package/.github/SECURITY.md +4 -4
- package/README.en.md +252 -250
- package/README.md +252 -250
- package/bin/luckytri.js +5 -1
- package/docs/en/CHANGELOG.md +8 -0
- package/docs/en/connect.md +18 -18
- package/docs/en/guide.md +202 -216
- package/docs/en/npm-release.md +25 -25
- package/docs/zh/CHANGELOG.md +8 -0
- package/docs/zh/connect.md +17 -17
- package/docs/zh/guide.md +202 -216
- package/docs/zh/npm-release.md +33 -33
- package/package.json +110 -108
- package/plugins/sdk/index.d.ts +155 -155
- package/plugins/sdk/testing.js +58 -58
- package/plugins/weather/index.js +82 -82
- package/plugins/weather/luckytri-plugin.json +29 -29
- package/public/app/assets/ChatsPage-BhlJHseG.js +3 -0
- package/public/app/assets/Empty-DP6WMGHi.js +2 -0
- package/public/app/assets/Field-CtbdqaiB.js +1 -0
- package/public/app/assets/HeartPage-32BeTPn2.js +1 -0
- package/public/app/assets/LifePage-CxSm0XKI.js +1 -0
- package/public/app/assets/MemoryPage-BeKBcPCY.js +1 -0
- package/public/app/assets/NaturePage-NEPYl2HS.js +3 -0
- package/public/app/assets/PeoplePage-DxtpekwM.js +1 -0
- package/public/app/assets/PluginsPage-CVVQwEBI.css +1 -0
- package/public/app/assets/PluginsPage-DksEZbUU.js +2 -0
- package/public/app/assets/{SystemPage-CAMPoYqM.css → SystemPage-BkRu0Rvx.css} +1 -1
- package/public/app/assets/SystemPage-BvzJlHuY.js +1 -0
- package/public/app/assets/TimePage-7-awH5XL.js +3 -0
- package/public/app/assets/index-4rItIkD-.js +4 -0
- package/public/app/assets/{index-YDz1ree1.css → index-DY4e15Kh.css} +1 -1
- package/public/app/assets/{knowledge-DG0e0uKw.js → knowledge-C6_HvoyB.js} +1 -1
- package/public/app/assets/media-SMfTT-yc.js +1 -0
- package/public/app/index.html +3 -3
- package/public/guide.en.html +72 -99
- package/public/guide.html +44 -86
- package/public/tutorial.en.md +25 -39
- package/public/tutorial.md +25 -39
- package/scripts/backup.js +311 -311
- package/scripts/browser.js +41 -41
- package/scripts/import-data.js +128 -0
- package/scripts/launch.js +101 -94
- package/scripts/plugin.js +150 -150
- package/scripts/reset-password.js +22 -0
- package/scripts/runtime.js +25 -25
- package/scripts/service.js +56 -47
- package/scripts/setup.js +50 -50
- package/scripts/start-server.js +41 -41
- package/scripts/stop.js +36 -36
- package/server/app.js +112 -96
- package/server/auth.js +217 -0
- package/server/channels/contract.js +57 -57
- package/server/channels/hub.js +165 -165
- package/server/channels/index.js +28 -25
- package/server/channels/onebot/index.js +335 -336
- package/server/channels/onebot/token.js +22 -3
- package/server/core/capabilities.js +208 -208
- package/server/core/events.js +64 -60
- package/server/core/image-preprocessor.js +208 -208
- package/server/core/model-manager.js +1213 -1213
- package/server/core/net-guard.js +49 -49
- package/server/core/orchestrator.js +569 -569
- package/server/core/perceivers.js +91 -91
- package/server/core/persona-manager.js +243 -243
- package/server/core/repository.js +293 -293
- package/server/core/response-validator.js +508 -508
- package/server/core/turn-processor.js +630 -630
- package/server/core/turn.js +236 -236
- package/server/core/vision-manager.js +633 -633
- package/server/i18n/errors.js +548 -497
- package/server/i18n/labels.js +649 -653
- package/server/index.js +151 -102
- package/server/knowledge/manager.js +386 -386
- package/server/knowledge/schema.js +12 -8
- package/server/local-access.js +32 -0
- package/server/mind/anticipations.js +507 -507
- package/server/mind/api.js +703 -703
- package/server/mind/budget.js +152 -152
- package/server/mind/context-selection.js +61 -61
- package/server/mind/day-planner.js +324 -324
- package/server/mind/evidence.js +148 -148
- package/server/mind/index.js +445 -445
- package/server/mind/life/diary.js +786 -786
- package/server/mind/life/index.js +1049 -1049
- package/server/mind/observations.js +84 -84
- package/server/mind/own-day.js +324 -324
- package/server/mind/own-voice.js +318 -318
- package/server/mind/senses.js +53 -53
- package/server/mind/time/activity-clock.js +196 -196
- package/server/mind/time/availability.js +69 -69
- package/server/mind/time/commitment-review.js +198 -198
- package/server/mind/time/executor.js +512 -512
- package/server/mind/time/experiences.js +128 -128
- package/server/mind/time/games.js +562 -562
- package/server/mind/time/index.js +739 -739
- package/server/mind/time/intent.js +166 -166
- package/server/mind/time/kinds.js +171 -171
- package/server/mind/time/plugin-activity.js +207 -207
- package/server/mind/time/tasks.js +587 -587
- package/server/mind/util.js +110 -110
- package/server/mind/view.js +273 -273
- package/server/paths.js +102 -102
- package/server/plugins/api.js +204 -204
- package/server/plugins/host.js +967 -967
- package/server/plugins/install.js +295 -295
- package/server/plugins/manifest.js +201 -201
- package/server/plugins/permissions.js +42 -42
- package/server/plugins/runner/guard.mjs +36 -36
- package/server/plugins/runner/worker.mjs +250 -250
- package/server/plugins/schema.js +91 -91
- package/server/plugins/zip.js +112 -112
- package/server/startup-lock.js +118 -118
- package/server/storage/archive.js +242 -241
- package/server/storage/backup-cleanup-worker.js +8 -8
- package/server/storage/backup-cleanup.js +415 -414
- package/server/storage/backup-lock.js +76 -76
- package/server/storage/backup-scheduler.js +131 -131
- package/server/storage/data-package.js +298 -0
- package/server/storage/data-transfer-api.js +50 -0
- package/server/storage/data-transfer-worker.js +18 -0
- package/server/storage/data-transfer.js +415 -0
- package/server/storage/store.js +202 -199
- package/server/studio/readiness.js +181 -190
- package/server/studio/settings.js +236 -236
- package/public/app/assets/ChatsPage-C-FcRapR.js +0 -3
- package/public/app/assets/Empty-CpP5kQHH.js +0 -2
- package/public/app/assets/Field-D4gY-INU.js +0 -1
- package/public/app/assets/HeartPage-CPy_thQd.js +0 -1
- package/public/app/assets/LifePage-CxWvwmSf.js +0 -1
- package/public/app/assets/MemoryPage-DC4rhQ68.js +0 -1
- package/public/app/assets/NaturePage-IvYw04Zq.js +0 -3
- package/public/app/assets/PeoplePage-Cqefm9-q.js +0 -1
- package/public/app/assets/PluginsPage-DKSaKvXb.js +0 -2
- package/public/app/assets/PluginsPage-HyBe5D8w.css +0 -1
- package/public/app/assets/SystemPage-CJmtJkrK.js +0 -1
- package/public/app/assets/TimePage-Cw44inM4.js +0 -3
- package/public/app/assets/index-BheRW-1t.js +0 -4
- package/public/app/assets/media-BzPDBm7e.js +0 -1
package/server/i18n/labels.js
CHANGED
|
@@ -1,653 +1,649 @@
|
|
|
1
|
-
// English for the interface wording the server writes itself: labels, states,
|
|
2
|
-
// readiness steps, and the reasons shown in timelines. The Chinese text is the
|
|
3
|
-
// key, exactly as the code writes it. Only a whole string that equals a key is
|
|
4
|
-
// translated, so what she writes herself is never touched.
|
|
5
|
-
export const LABELS = {
|
|
6
|
-
存在运行伴随文件: "Runtime sidecar files exist",
|
|
7
|
-
近期自动恢复点: "Recent automatic restore point",
|
|
8
|
-
// feedback.js
|
|
9
|
-
挺自然: "Feels natural",
|
|
10
|
-
太长了: "Too long",
|
|
11
|
-
太端着: "Too stiff",
|
|
12
|
-
梗太多: "Too many memes",
|
|
13
|
-
|
|
14
|
-
// readiness.js
|
|
15
|
-
"QQ 官方机器人凭据": "QQ official bot credentials",
|
|
16
|
-
"在「系统 → 连接 QQ」填写机器人的 AppID 和 AppSecret":
|
|
17
|
-
"Enter the bot's AppID and AppSecret under System → Connect QQ",
|
|
18
|
-
"QQ 连接": "QQ connection",
|
|
19
|
-
"已连接 QQ 开放平台;群里目前只收到 @ 她的消息,在开放平台开启「接收所有消息」后她才能看到整个群":
|
|
20
|
-
"Connected to the QQ Open Platform. Groups only deliver messages that @ her for now; turn on “Receive all messages” on the platform so she can see the whole group.",
|
|
21
|
-
"已连接 QQ 开放平台": "Connected to the QQ Open Platform",
|
|
22
|
-
"正在连接 QQ 开放平台": "Connecting to the QQ Open Platform",
|
|
23
|
-
填写凭据后自动连接: "Connects automatically once credentials are entered",
|
|
24
|
-
"
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
|
|
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
|
-
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
"
|
|
60
|
-
|
|
61
|
-
"
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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
|
-
"The
|
|
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
|
-
"The
|
|
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
|
-
"The
|
|
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
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
"
|
|
476
|
-
"
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
"
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
"The
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
"The provider
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
"
|
|
490
|
-
"
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
"
|
|
494
|
-
"
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
"
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
"
|
|
515
|
-
"
|
|
516
|
-
"
|
|
517
|
-
"
|
|
518
|
-
"
|
|
519
|
-
"
|
|
520
|
-
|
|
521
|
-
"
|
|
522
|
-
"
|
|
523
|
-
"
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
"
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
"
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
"
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
"
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
["
|
|
574
|
-
["
|
|
575
|
-
["
|
|
576
|
-
["
|
|
577
|
-
["
|
|
578
|
-
["
|
|
579
|
-
["
|
|
580
|
-
["
|
|
581
|
-
["
|
|
582
|
-
["{0}
|
|
583
|
-
["{0}
|
|
584
|
-
["{0}
|
|
585
|
-
["{0}
|
|
586
|
-
["{0}
|
|
587
|
-
["{0}
|
|
588
|
-
["{0}
|
|
589
|
-
["{0}
|
|
590
|
-
["
|
|
591
|
-
[
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
[
|
|
596
|
-
"
|
|
597
|
-
"Looked back over these days and
|
|
598
|
-
],
|
|
599
|
-
[
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
],
|
|
603
|
-
[
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
[
|
|
608
|
-
"被别人的话碰到过 {0}
|
|
609
|
-
"Touched by others' words {0} times;
|
|
610
|
-
],
|
|
611
|
-
[
|
|
612
|
-
"被别人的话碰到过 {0}
|
|
613
|
-
"Touched by others' words {0} times;
|
|
614
|
-
],
|
|
615
|
-
[
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
[
|
|
622
|
-
"
|
|
623
|
-
"
|
|
624
|
-
],
|
|
625
|
-
[
|
|
626
|
-
|
|
627
|
-
"
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
[
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
[
|
|
637
|
-
"
|
|
638
|
-
"
|
|
639
|
-
],
|
|
640
|
-
[
|
|
641
|
-
"
|
|
642
|
-
"
|
|
643
|
-
],
|
|
644
|
-
[
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
],
|
|
648
|
-
["
|
|
649
|
-
|
|
650
|
-
["{0},保存了《{1}》草稿", "{0}, saved a draft of “{1}”"],
|
|
651
|
-
["扫了一眼({0}),没细看", "Glanced over it ({0}); did not look closely"],
|
|
652
|
-
["{0}知道的", "learned {0}"],
|
|
653
|
-
];
|
|
1
|
+
// English for the interface wording the server writes itself: labels, states,
|
|
2
|
+
// readiness steps, and the reasons shown in timelines. The Chinese text is the
|
|
3
|
+
// key, exactly as the code writes it. Only a whole string that equals a key is
|
|
4
|
+
// translated, so what she writes herself is never touched.
|
|
5
|
+
export const LABELS = {
|
|
6
|
+
存在运行伴随文件: "Runtime sidecar files exist",
|
|
7
|
+
近期自动恢复点: "Recent automatic restore point",
|
|
8
|
+
// feedback.js
|
|
9
|
+
挺自然: "Feels natural",
|
|
10
|
+
太长了: "Too long",
|
|
11
|
+
太端着: "Too stiff",
|
|
12
|
+
梗太多: "Too many memes",
|
|
13
|
+
|
|
14
|
+
// readiness.js
|
|
15
|
+
"QQ 官方机器人凭据": "QQ official bot credentials",
|
|
16
|
+
"在「系统 → 连接 QQ」填写机器人的 AppID 和 AppSecret":
|
|
17
|
+
"Enter the bot's AppID and AppSecret under System → Connect QQ",
|
|
18
|
+
"QQ 连接": "QQ connection",
|
|
19
|
+
"已连接 QQ 开放平台;群里目前只收到 @ 她的消息,在开放平台开启「接收所有消息」后她才能看到整个群":
|
|
20
|
+
"Connected to the QQ Open Platform. Groups only deliver messages that @ her for now; turn on “Receive all messages” on the platform so she can see the whole group.",
|
|
21
|
+
"已连接 QQ 开放平台": "Connected to the QQ Open Platform",
|
|
22
|
+
"正在连接 QQ 开放平台": "Connecting to the QQ Open Platform",
|
|
23
|
+
填写凭据后自动连接: "Connects automatically once credentials are entered",
|
|
24
|
+
"本机接入无需单独令牌,请确认接入端已登录并启用反向 WebSocket 客户端":
|
|
25
|
+
"Local clients need no separate token. Check that the client is signed in and its reverse WebSocket client is enabled.",
|
|
26
|
+
"OneBot 11 反向 WebSocket 已连接": "OneBot 11 reverse WebSocket connected",
|
|
27
|
+
当前模型已测试: "Current model tested",
|
|
28
|
+
"模型配置已变更,请重新测试": "The model settings changed. Test again.",
|
|
29
|
+
"保存模型配置后,点击测试模型连接":
|
|
30
|
+
"After saving the model settings, click Test model connection",
|
|
31
|
+
开启真实回复: "Turn on real replies",
|
|
32
|
+
"当前是模拟模式,不向 QQ 发言":
|
|
33
|
+
"Simulation mode is on; nothing is said to QQ",
|
|
34
|
+
总开关已关闭: "The master switch is off",
|
|
35
|
+
真实模式与总开关已开启: "Real mode and the master switch are on",
|
|
36
|
+
选择参与的会话: "Choose sessions to take part in",
|
|
37
|
+
"到「对话」里开启一个群聊或私聊":
|
|
38
|
+
"Turn on a group or private chat under Chats",
|
|
39
|
+
|
|
40
|
+
// core/conversation-cues.js: parts of the day
|
|
41
|
+
凌晨: "Small hours",
|
|
42
|
+
早上: "Morning",
|
|
43
|
+
中午: "Midday",
|
|
44
|
+
下午: "Afternoon",
|
|
45
|
+
晚上: "Evening",
|
|
46
|
+
|
|
47
|
+
// core
|
|
48
|
+
通过人格接口修改: "Changed through the persona API",
|
|
49
|
+
"开不开口由 TA 自己决定,会话里不再设置概率、冷却、主动安慰或群人格;TA 在各群的样子见「人际」":
|
|
50
|
+
"Whether to speak is TA's own decision; sessions no longer set probability, cooldown, proactive comfort, or a group persona. See People for how TA is in each group.",
|
|
51
|
+
体验用户: "Trial user",
|
|
52
|
+
模拟: "Simulated",
|
|
53
|
+
未命名的群: "Unnamed group",
|
|
54
|
+
未命名的人: "Unnamed person",
|
|
55
|
+
"发送前配置或语境变化,取消剩余气泡":
|
|
56
|
+
"Settings or context changed before sending; the remaining bubbles were cancelled",
|
|
57
|
+
"这个会话还没有阶段性记忆总结。消息积累后会自动整理,也可以点击“立即整理”。":
|
|
58
|
+
"This session has no memory summary yet. It is sorted automatically as messages build up, or click “Sort now”.",
|
|
59
|
+
星空与时间: "Stars and time",
|
|
60
|
+
未命名文档: "Untitled document",
|
|
61
|
+
知识向量: "Knowledge vectors",
|
|
62
|
+
自动备份完成: "Automatic backup finished",
|
|
63
|
+
|
|
64
|
+
// mind/affect.js
|
|
65
|
+
很开心: "Very happy",
|
|
66
|
+
心情不错: "In a good mood",
|
|
67
|
+
挺好: "Pretty good",
|
|
68
|
+
安静: "Quiet",
|
|
69
|
+
平静: "Calm",
|
|
70
|
+
有点烦: "A bit annoyed",
|
|
71
|
+
有点低落: "A little low",
|
|
72
|
+
很烦躁: "Very irritable",
|
|
73
|
+
不太好: "Not great",
|
|
74
|
+
有精神: "Energetic",
|
|
75
|
+
还行: "Okay",
|
|
76
|
+
有点累: "A bit tired",
|
|
77
|
+
很困: "Very sleepy",
|
|
78
|
+
这阵子挺开心: "Quite happy lately",
|
|
79
|
+
这阵子有点低落: "A bit low lately",
|
|
80
|
+
|
|
81
|
+
// mind/anticipations.js
|
|
82
|
+
答应的事: "Promises",
|
|
83
|
+
想做的事: "Things she wants to do",
|
|
84
|
+
别人的安排: "Others' plans",
|
|
85
|
+
每年的日子: "Yearly days",
|
|
86
|
+
"原事项已放下,重复整理不能恢复":
|
|
87
|
+
"The original item was let go; sorting again cannot bring it back",
|
|
88
|
+
今天: "today",
|
|
89
|
+
明天: "tomorrow",
|
|
90
|
+
后天: "the day after tomorrow",
|
|
91
|
+
昨天: "yesterday",
|
|
92
|
+
前天: "the day before yesterday",
|
|
93
|
+
"作品完成,尚未交付": "Work finished, not yet delivered",
|
|
94
|
+
正在做: "Doing it",
|
|
95
|
+
"已有草稿,尚未完成": "A draft exists, not finished yet",
|
|
96
|
+
还没做: "Not done yet",
|
|
97
|
+
|
|
98
|
+
// mind/attention.js
|
|
99
|
+
看到有人好像很难受: "Saw that someone seemed to be hurting",
|
|
100
|
+
"睡着了,醒来再看": "Asleep; will look after waking",
|
|
101
|
+
睡着了: "Asleep",
|
|
102
|
+
有人在叫我: "Someone was calling me",
|
|
103
|
+
"今天的话已经说得够多了,先只听":
|
|
104
|
+
"I have said enough today; just listening for now",
|
|
105
|
+
刚才还在聊: "Was just chatting",
|
|
106
|
+
不久前说过话: "Spoke not long ago",
|
|
107
|
+
有人在问大家: "Someone was asking everyone",
|
|
108
|
+
聊到了我正在过的事: "The talk reached something I am living through",
|
|
109
|
+
聊到了我在意的东西: "The talk reached something I care about",
|
|
110
|
+
熟悉的人在说话: "Someone familiar was speaking",
|
|
111
|
+
攒了不少消息: "Plenty of messages piled up",
|
|
112
|
+
攒了一些消息: "Some messages piled up",
|
|
113
|
+
有一阵没看群了: "Have not looked at the group for a while",
|
|
114
|
+
上次的话碰到了我正在过的事:
|
|
115
|
+
"What was said last time touched something I am living through",
|
|
116
|
+
这是我在的地方: "This is a place I am in",
|
|
117
|
+
看了一眼: "Took a look",
|
|
118
|
+
"扫了一眼,群友在聊别的":
|
|
119
|
+
"Glanced over; the group was talking about something else",
|
|
120
|
+
|
|
121
|
+
// mind/bonds.js
|
|
122
|
+
已经很熟悉这里: "Very familiar with this place",
|
|
123
|
+
在这里待了一阵: "Been here a while",
|
|
124
|
+
刚来这里不久: "Only just arrived here",
|
|
125
|
+
有归属感: "Feels like she belongs",
|
|
126
|
+
最近气氛有点紧: "The mood here has been a bit tense lately",
|
|
127
|
+
好久没在这里说话了: "Have not spoken here for a long time",
|
|
128
|
+
很熟: "Very familiar",
|
|
129
|
+
认识一段时间了: "Known for a while",
|
|
130
|
+
不太熟: "Not very familiar",
|
|
131
|
+
几乎不认识: "Hardly knows them",
|
|
132
|
+
很亲近: "Very close",
|
|
133
|
+
挺亲近: "Fairly close",
|
|
134
|
+
信任: "Trust",
|
|
135
|
+
有点防备: "A little guarded",
|
|
136
|
+
好久不见了: "Long time no see",
|
|
137
|
+
最近没怎么说上话: "Have hardly spoken lately",
|
|
138
|
+
还没怎么说过话: "Have hardly spoken yet",
|
|
139
|
+
|
|
140
|
+
// mind/clock.js
|
|
141
|
+
刚才: "just now",
|
|
142
|
+
今天早些时候: "earlier today",
|
|
143
|
+
好几天前: "several days ago",
|
|
144
|
+
很久以前: "a long time ago",
|
|
145
|
+
还未相遇: "Not met yet",
|
|
146
|
+
"还没有真实聊天,时间暂时没有可以延续的落点。":
|
|
147
|
+
"There is no real chat yet, so time has nothing to continue from.",
|
|
148
|
+
仍在对话里: "Still in the conversation",
|
|
149
|
+
"刚才的语气和话题仍然清晰,适合自然接着聊。":
|
|
150
|
+
"The tone and topic from a moment ago are still clear; easy to carry on naturally.",
|
|
151
|
+
留有余韵: "Lingering",
|
|
152
|
+
"聊天刚安静下来,刚才没说完的事还会留在注意里。":
|
|
153
|
+
"The chat has just gone quiet, and what was left unsaid stays in mind.",
|
|
154
|
+
各自生活: "Each in their own life",
|
|
155
|
+
"注意力已经离开即时对话,但重要的事仍可能被想起。":
|
|
156
|
+
"Attention has left the live conversation, but important things may still come to mind.",
|
|
157
|
+
安静了一阵: "Quiet for a while",
|
|
158
|
+
"旧话题正在降温,未完成的事情比普通闲聊更容易被想起。":
|
|
159
|
+
"The old topic is cooling; unfinished matters come to mind more easily than small talk.",
|
|
160
|
+
偶尔想起: "Occasionally remembered",
|
|
161
|
+
"相隔已有几天,熟悉感还在,但重新开口需要具体缘由。":
|
|
162
|
+
"It has been a few days; the familiarity is still there, but speaking up again needs a concrete reason.",
|
|
163
|
+
等待重逢: "Waiting to meet again",
|
|
164
|
+
"已经隔了很久,旧事只保留为背景,新的消息会成为新的相遇。":
|
|
165
|
+
"It has been a long time; old matters stay as background, and a new message becomes a new encounter.",
|
|
166
|
+
|
|
167
|
+
// mind/day-planner.js
|
|
168
|
+
自己决定先做这一段: "Decided to do this span first",
|
|
169
|
+
"想具体做什么、几点开始和做多久":
|
|
170
|
+
"Thinking through what to do, when to start and for how long",
|
|
171
|
+
还缺少实际执行条件: "Still missing a real way to carry it out",
|
|
172
|
+
这会儿想先歇着: "Wants to rest for now",
|
|
173
|
+
|
|
174
|
+
// mind/days.js
|
|
175
|
+
我来到这里: "I arrived here",
|
|
176
|
+
|
|
177
|
+
// mind/life/diary.js
|
|
178
|
+
"这一天有留在私下的事,原文不带到回顾里。":
|
|
179
|
+
"Some of this day stayed private; the original text is not carried into the reflection.",
|
|
180
|
+
今天没有写下什么: "Nothing was written today",
|
|
181
|
+
写完了今天的日记: "Finished today's diary",
|
|
182
|
+
没有需要整理的: "Nothing to sort",
|
|
183
|
+
回顾这一段日子: "Look back over this stretch",
|
|
184
|
+
这次没有写下回顾: "No reflection was written this time",
|
|
185
|
+
回顾了这段日子: "Looked back over these days",
|
|
186
|
+
"日记格式无效,未保存": "The diary format was invalid; not saved",
|
|
187
|
+
"回顾格式无效,未保存": "The reflection format was invalid; not saved",
|
|
188
|
+
|
|
189
|
+
// mind/life/presence.js
|
|
190
|
+
此刻没有适合分享这个念头的地方:
|
|
191
|
+
"No place suits sharing this thought right now",
|
|
192
|
+
"念头已留下,等待合适的交流空隙":
|
|
193
|
+
"The thought is kept; waiting for a good gap in conversation",
|
|
194
|
+
"对话忙着,稍后重新看看":
|
|
195
|
+
"The conversation is busy; she will look again later",
|
|
196
|
+
"愿望保留,等待对话空隙":
|
|
197
|
+
"The wish is kept; waiting for a gap in conversation",
|
|
198
|
+
"调用失败,稍后重新决定": "The call failed; she will decide again later",
|
|
199
|
+
"尚未发送,想说的话仍保留": "Not sent yet; what she wants to say is kept",
|
|
200
|
+
此刻不想聊这件事: "Does not want to talk about this right now",
|
|
201
|
+
没能联系: "Could not reach out",
|
|
202
|
+
"调用未完成,稍后重新决定":
|
|
203
|
+
"The call did not finish; she will decide again later",
|
|
204
|
+
"调用未完成,想说的话仍保留":
|
|
205
|
+
"The call did not finish; what she wants to say is kept",
|
|
206
|
+
"主动联系的投递不确定,不再重试":
|
|
207
|
+
"Delivery of the proactive message is uncertain; not retrying",
|
|
208
|
+
|
|
209
|
+
// mind/life/index.js
|
|
210
|
+
已有后台任务或服务已停止:
|
|
211
|
+
"A background task is running or the service has stopped",
|
|
212
|
+
正在推进自己的活动步骤: "Working through her own activity step",
|
|
213
|
+
"先写日记或整理今天,保留续接位置":
|
|
214
|
+
"Writing the diary or sorting today first; the place to resume is kept",
|
|
215
|
+
"自己的活动在继续,普通交流可以伴随进行":
|
|
216
|
+
"Her own activity continues; ordinary chat can go on alongside it",
|
|
217
|
+
正在做自己的事: "Doing her own thing",
|
|
218
|
+
独处未开启: "Time alone is off",
|
|
219
|
+
今天用于独处的预算已经用完: "Today's budget for time alone is used up",
|
|
220
|
+
尚未配置模型: "No model is configured yet",
|
|
221
|
+
"没有正在参与、开启记忆的会话":
|
|
222
|
+
"No session is taking part with memory turned on",
|
|
223
|
+
还没有真实的经历: "No real experience yet",
|
|
224
|
+
"还在聊天,等一个安静的空隙": "Still chatting; waiting for a quiet gap",
|
|
225
|
+
对话处理中: "A conversation is being processed",
|
|
226
|
+
距离上次独处太近: "Too soon after the last time alone",
|
|
227
|
+
新经历还不多: "Not much new experience yet",
|
|
228
|
+
"连着几次独处都没有新的理解,等新的经历":
|
|
229
|
+
"Several times alone gave no new understanding; waiting for new experience",
|
|
230
|
+
这次自己选择留下的打算: "An intention she chose to keep this time",
|
|
231
|
+
放下了: "Let go",
|
|
232
|
+
自己的活动步骤尚未结束: "Her own activity step has not finished",
|
|
233
|
+
"正在做自己的事,保留专注时段": "Doing her own thing; the focus span is kept",
|
|
234
|
+
"安静下来,重新看看最近的事": "Quiet now; looking over recent events again",
|
|
235
|
+
没有新的理解: "No new understanding",
|
|
236
|
+
"服务停止了,这次想法不作数":
|
|
237
|
+
"The service stopped; this thought does not count",
|
|
238
|
+
"天性改了,这次想法不作数": "Nature changed; this thought does not count",
|
|
239
|
+
独处: "Alone",
|
|
240
|
+
"想着想着又有了新对话;": "A new conversation began as she was thinking; ",
|
|
241
|
+
留下了新的理解: "Left with a new understanding",
|
|
242
|
+
"没有新想法,但心情有了变化": "No new thoughts, but her mood changed",
|
|
243
|
+
独处时模型超时: "The model timed out during time alone",
|
|
244
|
+
"独处输出格式无效,未保存":
|
|
245
|
+
"The output format from time alone was invalid; not saved",
|
|
246
|
+
有了新的理解: "Reached a new understanding",
|
|
247
|
+
"安排调整:先写日记,保留续接位置":
|
|
248
|
+
"Plan adjusted: write the diary first; the place to resume is kept",
|
|
249
|
+
|
|
250
|
+
// mind/meetings.js
|
|
251
|
+
对方: "The other person",
|
|
252
|
+
有人: "Someone",
|
|
253
|
+
",那次没出声": ", and she stayed quiet that time",
|
|
254
|
+
没出声: "said nothing",
|
|
255
|
+
出了声: "spoke up",
|
|
256
|
+
开口: "Spoke up",
|
|
257
|
+
应了一下: "Gave a quick reply",
|
|
258
|
+
说了不想聊: "Said she did not want to talk",
|
|
259
|
+
|
|
260
|
+
// mind/memory.js
|
|
261
|
+
这里: "here",
|
|
262
|
+
私聊里: "in a private chat",
|
|
263
|
+
别的群里: "in another group",
|
|
264
|
+
|
|
265
|
+
// mind/nature.js
|
|
266
|
+
醒着: "Awake",
|
|
267
|
+
刚醒: "Just woke up",
|
|
268
|
+
有点困了: "Getting sleepy",
|
|
269
|
+
|
|
270
|
+
// mind/own-day.js
|
|
271
|
+
独处回看有没有漏下约定:
|
|
272
|
+
"Checking in her time alone whether any promise was missed",
|
|
273
|
+
想想接下来愿意做点什么: "Thinking about what she would like to do next",
|
|
274
|
+
把说过的约定重新理清了: "Sorted her promises out again",
|
|
275
|
+
"回看过这一段,没有漏下的新约定":
|
|
276
|
+
"Reviewed this stretch; no new promises were missed",
|
|
277
|
+
这会儿想留一点空白: "Wants to leave some open time",
|
|
278
|
+
想做的事情还缺少条件: "What she wants to do still lacks conditions",
|
|
279
|
+
空下来时自己想做的事: "Something she wanted to do when free",
|
|
280
|
+
给自己留下一件想做的事: "Left herself something to do",
|
|
281
|
+
这件事已经有所安排: "This is already planned",
|
|
282
|
+
|
|
283
|
+
// mind/self.js
|
|
284
|
+
喜欢: "Likes",
|
|
285
|
+
看法: "Views",
|
|
286
|
+
特质: "Traits",
|
|
287
|
+
习惯: "Habits",
|
|
288
|
+
放在心上: "Keeping in mind",
|
|
289
|
+
好奇: "Curiosity",
|
|
290
|
+
|
|
291
|
+
// mind/thoughts.js
|
|
292
|
+
后来想到: "Thought later",
|
|
293
|
+
重新理解: "Understood anew",
|
|
294
|
+
仍放在心上: "Still on her mind",
|
|
295
|
+
久别想起: "Remembered after a long time",
|
|
296
|
+
自己的念头: "Her own thought",
|
|
297
|
+
在工作台里放下: "Let go from the console",
|
|
298
|
+
|
|
299
|
+
// mind/time/activity-clock.js
|
|
300
|
+
本段剧情与场景体验: "Experiencing this stretch of plot and scenes",
|
|
301
|
+
"写作、推敲与收尾": "Writing, polishing and wrapping up",
|
|
302
|
+
阅读与消化本段内容: "Reading and digesting this passage",
|
|
303
|
+
思考与整理本段想法: "Thinking and sorting out these thoughts",
|
|
304
|
+
本段活动: "This span's activity",
|
|
305
|
+
本段: "this span",
|
|
306
|
+
|
|
307
|
+
// mind/time/agenda.js
|
|
308
|
+
"自己选择暂停,等待重新安排": "She chose to pause; waiting to be rescheduled",
|
|
309
|
+
准备中: "Preparing",
|
|
310
|
+
准备时段: "Preparation span",
|
|
311
|
+
已发生: "Happened",
|
|
312
|
+
"暂时停下来,进度已保存": "Paused for now; progress saved",
|
|
313
|
+
"原安排已过去,等她重新选时间":
|
|
314
|
+
"The original plan has passed; waiting for her to choose a new time",
|
|
315
|
+
"事情已经记下,等她选择几点做、做多久":
|
|
316
|
+
"Noted; waiting for her to choose when and for how long",
|
|
317
|
+
安排在今天之外: "Planned for a day other than today",
|
|
318
|
+
正在执行这份安排: "Carrying out this plan",
|
|
319
|
+
管理台安排: "Set from the console",
|
|
320
|
+
她选定的安排: "A plan she chose",
|
|
321
|
+
这次投入: "Spent this time",
|
|
322
|
+
作息中的睡眠时间: "Sleeping time in her daily rhythm",
|
|
323
|
+
有主活动在继续: "A main activity continues",
|
|
324
|
+
正在想自己的安排: "Thinking about her own plans",
|
|
325
|
+
在睡觉: "Sleeping",
|
|
326
|
+
这会儿还没有主活动: "No main activity right now",
|
|
327
|
+
这会儿没有正在推进的主活动: "No main activity is in progress right now",
|
|
328
|
+
普通交流可以伴随进行: "Ordinary chat can go on alongside",
|
|
329
|
+
"把想做的事、开始时间和投入时长想清楚":
|
|
330
|
+
"Think through what to do, when to start and how long to spend",
|
|
331
|
+
醒来后再接着自己的安排: "Back to her own plans after waking",
|
|
332
|
+
"下一项已经选好时间,之前可以聊天、歇着或随手折腾":
|
|
333
|
+
"The next item has a time; until then she can chat, rest or tinker",
|
|
334
|
+
"有活动保留了续接位置,之后由她重新安排":
|
|
335
|
+
"An activity kept its place to resume; she will reschedule it later",
|
|
336
|
+
"待办已经记下,等她选择具体时间":
|
|
337
|
+
"The to-do is noted; waiting for her to choose a time",
|
|
338
|
+
"可以自己找件小事做,也可以选择歇着":
|
|
339
|
+
"She can find something small to do, or choose to rest",
|
|
340
|
+
"下方是她已选定的开始时间和这次想投入的时长。实际经过单独记录;提前完成、暂停或优先级切换后会保留原安排并重新选择。空白不代表已经在做什么。":
|
|
341
|
+
"Below are the start times she chose and how long she wants to spend. What actually happens is recorded separately; after finishing early, pausing or a priority switch, the original plan is kept and she chooses again. Blank space does not mean she is doing something.",
|
|
342
|
+
|
|
343
|
+
// mind/time/api.js
|
|
344
|
+
正在玩: "Playing",
|
|
345
|
+
开发中: "In development",
|
|
346
|
+
相关的人: "People involved",
|
|
347
|
+
|
|
348
|
+
// mind/time/availability.js
|
|
349
|
+
"除了她此刻真正能做的事,没有下单或实拍的执行能力,需要调整这条约定;仍未兑现":
|
|
350
|
+
"Apart from what she can actually do right now, she cannot place orders or take real photos; this promise needs adjusting and is still unfulfilled",
|
|
351
|
+
所需插件已停用: "The plugin this needs is switched off",
|
|
352
|
+
来源已经撤销: "The source was undone",
|
|
353
|
+
等待前一件事完成: "Waiting for the previous item to finish",
|
|
354
|
+
书架这段内容已不可用: "This bookshelf passage is no longer available",
|
|
355
|
+
实例已停止: "The instance stopped",
|
|
356
|
+
自己的活动目前关闭: "Her own activity is off for now",
|
|
357
|
+
来源会话目前未启用: "The source session is not enabled right now",
|
|
358
|
+
"精力较低,先恢复一会儿再投入":
|
|
359
|
+
"Energy is low; recovering a while before getting started",
|
|
360
|
+
书架没有可读资料: "The bookshelf has nothing to read",
|
|
361
|
+
|
|
362
|
+
// mind/time/commitment-review.js, delivery-links.js, executor.js
|
|
363
|
+
独处回看时补回自己实际说出口的约定:
|
|
364
|
+
"Filled in promises she actually spoke aloud while reviewing in her time alone",
|
|
365
|
+
等待明确交付给谁: "Waiting to know who it is for",
|
|
366
|
+
从实际说出口的话中补回约定: "Recovered a promise from what was actually said",
|
|
367
|
+
"分享承诺归回已有作品,未新增创作待办":
|
|
368
|
+
"The sharing promise was linked to an existing work; no new creative to-do was added",
|
|
369
|
+
已归入已有作品的交付记录:
|
|
370
|
+
"Filed under the delivery record of an existing work",
|
|
371
|
+
"交付有真实作品与送达记录,归回原事项":
|
|
372
|
+
"The delivery has a real work and a delivery record; returned to the original item",
|
|
373
|
+
"先处理一件优先级更高的事,保留续接位置":
|
|
374
|
+
"Handling a higher-priority item first; the place to resume is kept",
|
|
375
|
+
更高优先级事项先做: "A higher-priority item goes first",
|
|
376
|
+
这次还不想做: "Does not want to do it this time",
|
|
377
|
+
接着做这一段: "Continuing this span",
|
|
378
|
+
任务或服务状态已经变化: "The task or service state has changed",
|
|
379
|
+
接着推敲与整理这一段: "Continuing to polish and sort this span",
|
|
380
|
+
"草稿已保存,接着完成这一段": "Draft saved; continuing to finish this span",
|
|
381
|
+
自己选择暂时放下这个项目: "She chose to set this project aside for now",
|
|
382
|
+
|
|
383
|
+
// mind/time/experiences.js
|
|
384
|
+
游玩: "Playing",
|
|
385
|
+
创作: "Creating",
|
|
386
|
+
阅读: "Reading",
|
|
387
|
+
独处思考: "Thinking alone",
|
|
388
|
+
探索: "Exploring",
|
|
389
|
+
这次活动的记录: "Record of this activity",
|
|
390
|
+
活动: "Activity",
|
|
391
|
+
保存完成稿: "Saved the finished piece",
|
|
392
|
+
|
|
393
|
+
// mind/time/games.js
|
|
394
|
+
按这次安排接着体验这一小段:
|
|
395
|
+
"Continuing to experience this short stretch as planned",
|
|
396
|
+
建议生成期间状态发生变化:
|
|
397
|
+
"The state changed while the suggestion was being made",
|
|
398
|
+
等待她明确决定是否采纳整理建议:
|
|
399
|
+
"Waiting for her to decide whether to take the suggestion",
|
|
400
|
+
未得到明确选择: "No clear choice was made",
|
|
401
|
+
自己选择不采纳: "She chose not to take it",
|
|
402
|
+
她选择不采纳这个建议: "She chose not to take this suggestion",
|
|
403
|
+
"已自行采纳,下一步检索本章资料":
|
|
404
|
+
"She took it up herself; next she looks up material for this chapter",
|
|
405
|
+
"需要明确游戏名称(例如《游戏名》)":
|
|
406
|
+
"The game name must be clear (for example “Game Name”)",
|
|
407
|
+
需要明确游戏名称: "The game name must be clear",
|
|
408
|
+
内容与第一印象: "Content and first impressions",
|
|
409
|
+
简介: "Introduction",
|
|
410
|
+
资料返回时任务已经变化: "The task changed while the material was coming back",
|
|
411
|
+
"没有新的可接触资料,进度保留": "No new material to look at; progress kept",
|
|
412
|
+
资料不足: "Not enough material",
|
|
413
|
+
没有目标章节资料: "No material for the target chapter",
|
|
414
|
+
"模型知识整理,未经联网核验":
|
|
415
|
+
"Organized from model knowledge, not verified online",
|
|
416
|
+
联网检索资料: "Material from web search",
|
|
417
|
+
"接着体验这一段剧情,留下自己的感受":
|
|
418
|
+
"Continue this stretch of the story and leave her own feelings",
|
|
419
|
+
"模型整理了资料,按实际内容安排接触时间":
|
|
420
|
+
"The model organized the material; time is planned by its actual content",
|
|
421
|
+
"检索到资料,按实际内容安排接触时间":
|
|
422
|
+
"Material was found; time is planned by its actual content",
|
|
423
|
+
接着玩这一段: "Keep playing this span",
|
|
424
|
+
本段资料已不可用: "This span's material is no longer available",
|
|
425
|
+
资料不可用: "Material unavailable",
|
|
426
|
+
"只接触了这一小段,剩余内容已保留,不表示整份资料或整章结束":
|
|
427
|
+
"Only this short stretch was covered; the rest is kept and it does not mean the whole material or chapter is done",
|
|
428
|
+
本段实际接触的内容: "What was actually covered in this span",
|
|
429
|
+
任务已经变化: "The task has changed",
|
|
430
|
+
"资料不足以形成这一段体验,不能算整章完成":
|
|
431
|
+
"Not enough material to form this experience; the chapter cannot count as done",
|
|
432
|
+
选择下一段资料: "Choose the next passage of material",
|
|
433
|
+
"玩过这一段,留下自己的感受": "Played this span and left her own feelings",
|
|
434
|
+
游玩时留下的感受: "Feelings left while playing",
|
|
435
|
+
自己决定暂时放下: "She decided to set it aside for now",
|
|
436
|
+
保存本段游玩记录与进度: "Saved this span's play record and progress",
|
|
437
|
+
|
|
438
|
+
// mind/time/index.js
|
|
439
|
+
睡眠期间不推进自己的活动:
|
|
440
|
+
"Her own activity does not advance while she sleeps",
|
|
441
|
+
"运行间隔中断,未补算停机时间":
|
|
442
|
+
"The run was interrupted; downtime was not made up",
|
|
443
|
+
"专注段结束,歇一会再接着做":
|
|
444
|
+
"The focus span ended; rest a moment, then continue",
|
|
445
|
+
开始接着做: "Started continuing",
|
|
446
|
+
"保存位置,下次接着做": "Place saved; continue next time",
|
|
447
|
+
"写下了一部分,还没完成": "Part is written; not finished yet",
|
|
448
|
+
"还没完成,得真正动笔写下来":
|
|
449
|
+
"Not finished; it has to actually be written down",
|
|
450
|
+
还没有完整交付: "Not fully delivered yet",
|
|
451
|
+
在做自己的事: "Doing her own thing",
|
|
452
|
+
整理想分享的话: "Sorting out what she wants to share",
|
|
453
|
+
"回看自己的成果,挑想聊的内容":
|
|
454
|
+
"Reviewing her results and picking what she wants to talk about",
|
|
455
|
+
回看这一段: "Reviewing this span",
|
|
456
|
+
整理成几句自己的话: "Putting it into a few sentences of her own",
|
|
457
|
+
回看说过的话: "Reviewing what she said",
|
|
458
|
+
想自己的安排: "Thinking about her own plans",
|
|
459
|
+
整理有没有漏下的约定: "Sorting out whether any promise was missed",
|
|
460
|
+
"一边做自己的事,一边交流": "Doing her own thing while chatting",
|
|
461
|
+
先认真回应眼前的紧急情况:
|
|
462
|
+
"Responding seriously to the urgent matter at hand first",
|
|
463
|
+
自己选择换一下注意力: "She chose to shift her attention",
|
|
464
|
+
留下了实际成果: "Left an actual result",
|
|
465
|
+
实际活动已完成: "The actual activity is done",
|
|
466
|
+
|
|
467
|
+
// mind/time/model-material.js, presentation.js, search.js
|
|
468
|
+
用模型整理资料主题: "Sorting the material topic with the model",
|
|
469
|
+
游玩体验: "Play experience",
|
|
470
|
+
本段游玩记录: "This span's play record",
|
|
471
|
+
"留下第一印象,想好接下来要做什么":
|
|
472
|
+
"Leave first impressions and decide what to do next",
|
|
473
|
+
继续游玩: "Keep playing",
|
|
474
|
+
自己的游玩体验: "Her own play experience",
|
|
475
|
+
"实例中断,查询结果未确认":
|
|
476
|
+
"The instance was interrupted; the query result is unconfirmed",
|
|
477
|
+
"资料查询条件已恢复,重新按优先级安排":
|
|
478
|
+
"The conditions for the material query are back; rescheduled by priority",
|
|
479
|
+
今日资料查询次数已用完: "Today's material query allowance is used up",
|
|
480
|
+
请核对独立密钥与权限: "Check the separate key and its permissions",
|
|
481
|
+
提供方限制了请求频率或账户额度:
|
|
482
|
+
"The provider limited the request rate or account quota",
|
|
483
|
+
请核对提供方与完整搜索地址: "Check the provider and the full search URL",
|
|
484
|
+
请检查搜索服务与请求配置: "Check the search service and the request settings",
|
|
485
|
+
"搜索返回格式与选定提供方不匹配,请核对提供方与完整搜索地址":
|
|
486
|
+
"The search response format does not match the chosen provider. Check the provider and the full search URL.",
|
|
487
|
+
"搜索连接超时,请检查网络、代理或增加超时":
|
|
488
|
+
"The search connection timed out. Check the network and proxy, or raise the timeout.",
|
|
489
|
+
"基于模型已有知识,具体剧情与章节仍需核验。":
|
|
490
|
+
"Based on what the model already knows; specific plot and chapters still need verification.",
|
|
491
|
+
|
|
492
|
+
// mind/time/sharing.js
|
|
493
|
+
"实例中断,先核对送达情况":
|
|
494
|
+
"The instance was interrupted; check delivery first",
|
|
495
|
+
"暂缓,稍后再决定": "Postponed; she will decide later",
|
|
496
|
+
"对方没有开启主动消息,等对方来找她":
|
|
497
|
+
"They have proactive messages off; waiting for them to come to her",
|
|
498
|
+
回看成果后整理的汇报已确认送达:
|
|
499
|
+
"The report sorted out after reviewing the result was confirmed delivered",
|
|
500
|
+
作品已全部确认交付: "The work was fully confirmed delivered",
|
|
501
|
+
整理后的汇报已逐句送达:
|
|
502
|
+
"The sorted report was delivered sentence by sentence",
|
|
503
|
+
作品已完整确认交付: "The work was completely confirmed delivered",
|
|
504
|
+
"送达状态不确定,需要核对": "Delivery is uncertain and needs checking",
|
|
505
|
+
保存部分交付位置: "Saved where the partial delivery stopped",
|
|
506
|
+
正在回看自己的成果: "Reviewing her own result",
|
|
507
|
+
已整理成几句想说的话: "Sorted into a few sentences she wants to say",
|
|
508
|
+
|
|
509
|
+
// mind/time/task-links.js
|
|
510
|
+
"归回原事项,保留已完成或已放下的决定":
|
|
511
|
+
"Returned to the original item; the finished or let-go decision is kept",
|
|
512
|
+
"同一未完成事项补充来源,不新建待办":
|
|
513
|
+
"Added a source to the same unfinished item; no new to-do",
|
|
514
|
+
"重复事项已整理为一个执行计划;原约定未因此兑现":
|
|
515
|
+
"Duplicates were folded into one execution plan; the original promise is not counted as fulfilled",
|
|
516
|
+
"重复事项已合并,原记录保留":
|
|
517
|
+
"Duplicates were merged; the original records are kept",
|
|
518
|
+
"归入唯一事项,保留原文与时间":
|
|
519
|
+
"Filed under a single item; the original text and time are kept",
|
|
520
|
+
根据管理台明确请求重新整理并安排:
|
|
521
|
+
"Re-sorted and scheduled at the console's explicit request",
|
|
522
|
+
"合并重复来源,保留任务决定":
|
|
523
|
+
"Merged duplicate sources; the task decision is kept",
|
|
524
|
+
|
|
525
|
+
// mind/time/tasks.js
|
|
526
|
+
低: "Low",
|
|
527
|
+
普通: "Normal",
|
|
528
|
+
高: "High",
|
|
529
|
+
最高: "Highest",
|
|
530
|
+
写作: "Writing",
|
|
531
|
+
等待澄清: "Waiting for clarification",
|
|
532
|
+
"事项已放下,不因重新整理来源而恢复":
|
|
533
|
+
"The item was let go and is not restored by re-sorting sources",
|
|
534
|
+
需要明确可以执行的内容: "A clear, actionable content is needed",
|
|
535
|
+
留下一个可以接着做的安排: "Left a plan that can be continued",
|
|
536
|
+
原约定已撤销: "The original promise was undone",
|
|
537
|
+
"事项已放下,不自动重建待办":
|
|
538
|
+
"The item was let go; the to-do is not rebuilt automatically",
|
|
539
|
+
从自己留下的约定继续做: "Continuing from a promise she left herself",
|
|
540
|
+
这是我实际说出口的打算: "This is an intention I actually said aloud",
|
|
541
|
+
等待约定的条件澄清: "Waiting for the promise's conditions to be clarified",
|
|
542
|
+
自己选定开始时间与投入时长: "She chose the start time and duration herself",
|
|
543
|
+
调整优先级: "Adjusted the priority",
|
|
544
|
+
这件事被放下了: "This was let go",
|
|
545
|
+
|
|
546
|
+
// mind/time/works.js
|
|
547
|
+
接着上一段往下写: "Continue writing from the previous part",
|
|
548
|
+
保存一个完整小段: "Save a complete short passage",
|
|
549
|
+
管理台提出的建议: "A suggestion from the console",
|
|
550
|
+
"外部建议,等待她决定是否采纳":
|
|
551
|
+
"An outside suggestion; waiting for her to decide whether to take it",
|
|
552
|
+
|
|
553
|
+
// mind/view.js, schema.js, traits.js
|
|
554
|
+
"(很久没想起了)": "(not thought of for a long time)",
|
|
555
|
+
从旧人格迁移: "Migrated from the old persona",
|
|
556
|
+
联网检索: "Web search",
|
|
557
|
+
|
|
558
|
+
// studio/management.js
|
|
559
|
+
测试连接: "Test connection",
|
|
560
|
+
"连接超时,请检查 API 地址或网络":
|
|
561
|
+
"The connection timed out. Check the API URL or the network.",
|
|
562
|
+
"无法连接模型服务,请检查地址或网络":
|
|
563
|
+
"Could not reach the model service. Check the address or the network.",
|
|
564
|
+
};
|
|
565
|
+
|
|
566
|
+
// Wording that carries a value. `{0}`, `{1}` are filled with what the code put
|
|
567
|
+
// in, and each value goes through the dictionaries again.
|
|
568
|
+
export const LABEL_PATTERNS = [
|
|
569
|
+
["定时备份整理调度失败:{0}", "Scheduling backup cleanup failed: {0}"],
|
|
570
|
+
["定时备份整理完成:{0} 份", "Scheduled backup cleanup finished: {0} copies"],
|
|
571
|
+
["定时备份整理失败:{0}", "Scheduled backup cleanup failed: {0}"],
|
|
572
|
+
["检查自动备份失败:{0}", "Checking the automatic backup failed: {0}"],
|
|
573
|
+
["退出码 {0}", "Exit code {0}"],
|
|
574
|
+
["自动备份失败:{0}", "The automatic backup failed: {0}"],
|
|
575
|
+
["后台维护失败:{0}", "Background maintenance failed: {0}"],
|
|
576
|
+
["自动备份调度失败:{0}", "Scheduling the automatic backup failed: {0}"],
|
|
577
|
+
["测试成功 · {0} ms", "Test passed · {0} ms"],
|
|
578
|
+
["{0} 个会话已开启", "{0} sessions turned on"],
|
|
579
|
+
["{0} 天后", "in {0} days"],
|
|
580
|
+
["{0} 天前", "{0} days ago"],
|
|
581
|
+
["{0} 周前", "{0} weeks ago"],
|
|
582
|
+
["{0} 个月前", "{0} months ago"],
|
|
583
|
+
["{0} 年前", "{0} years ago"],
|
|
584
|
+
["{0}满 {1} 年", "{0}: {1} years"],
|
|
585
|
+
["{0}的第 {1} 天", "{0}: day {1}"],
|
|
586
|
+
["认识{0}", "Met {0}"],
|
|
587
|
+
["写 {0} 的日记", "Write the diary for {0}"],
|
|
588
|
+
["写下了 {0} 的日记", "Wrote the diary for {0}"],
|
|
589
|
+
["夜里整理「{0}」里的事", "Sorting what happened in “{0}” at night"],
|
|
590
|
+
["夜里整理了「{0}」的 {1} 条消息", "Sorted {1} messages of “{0}” at night"],
|
|
591
|
+
[
|
|
592
|
+
"回顾了这段日子,翻开了第 {0} 章",
|
|
593
|
+
"Looked back over these days and opened chapter {0}",
|
|
594
|
+
],
|
|
595
|
+
[
|
|
596
|
+
"回顾了这段日子,写下了第 {0} 章",
|
|
597
|
+
"Looked back over these days and wrote chapter {0}",
|
|
598
|
+
],
|
|
599
|
+
["读了《{0}》,没多想", "Read “{0}” without thinking much of it"],
|
|
600
|
+
["读了《{0}》,留下了新的理解", "Read “{0}” and gained a new understanding"],
|
|
601
|
+
["想说:{0}", "Wants to say: {0}"],
|
|
602
|
+
["想说:{0}。{1}", "Wants to say: {0}. {1}"],
|
|
603
|
+
[
|
|
604
|
+
"被别人的话碰到过 {0} 次,后来那次{1}",
|
|
605
|
+
"Touched by others' words {0} times; that later time she {1}",
|
|
606
|
+
],
|
|
607
|
+
[
|
|
608
|
+
"被别人的话碰到过 {0} 次,刚才那次{1}",
|
|
609
|
+
"Touched by others' words {0} times; just now she {1}",
|
|
610
|
+
],
|
|
611
|
+
[
|
|
612
|
+
"被别人的话碰到过 {0} 次,上一次{1},那次{2}",
|
|
613
|
+
"Touched by others' words {0} times; last {1}, and she {2}",
|
|
614
|
+
],
|
|
615
|
+
["第 {0} / {1} 段", "Passage {0} / {1}"],
|
|
616
|
+
["主题片段 {0}", "Topic passage {0}"],
|
|
617
|
+
[
|
|
618
|
+
"正在玩,本段预计约 {0} 分钟",
|
|
619
|
+
"Playing; this span should take about {0} min",
|
|
620
|
+
],
|
|
621
|
+
[
|
|
622
|
+
"我完成了《{0}》的第 {1} 篇,正文保存在作品库;其中情节和人物是创作。",
|
|
623
|
+
"I finished piece {1} of “{0}”. The text is saved in the works library; the plot and characters in it are made up.",
|
|
624
|
+
],
|
|
625
|
+
["接续《{0}》第 {1} 篇", "Continue piece {1} of “{0}”"],
|
|
626
|
+
[
|
|
627
|
+
"玩过第 {0} 段,留下自己的游玩记录",
|
|
628
|
+
"Played passage {0} and left her own play record",
|
|
629
|
+
],
|
|
630
|
+
["{0},已保存 {1} 字完成稿", "{0}, saved a finished piece of {1} characters"],
|
|
631
|
+
["{0},已保存 {1} 字正文", "{0}, saved {1} characters of text"],
|
|
632
|
+
[
|
|
633
|
+
"我玩了《{0}》的第 {1} 段,留下自己的游玩记录。",
|
|
634
|
+
"I played passage {1} of “{0}” and left my own play record.",
|
|
635
|
+
],
|
|
636
|
+
[
|
|
637
|
+
"模型无法确认{0}资料;保留进度,等待补充资料",
|
|
638
|
+
"The model could not confirm material for {0}; progress is kept, waiting for more material",
|
|
639
|
+
],
|
|
640
|
+
[
|
|
641
|
+
"只找到简介,没有{0}资料;保留原计划",
|
|
642
|
+
"Only an introduction was found, with no material for {0}; the original plan is kept",
|
|
643
|
+
],
|
|
644
|
+
["做自己的{0}时的感受", "Feelings while doing her own {0}"],
|
|
645
|
+
["{0},保存了《{1}》完成稿", "{0}, saved the finished piece of “{1}”"],
|
|
646
|
+
["{0},保存了《{1}》草稿", "{0}, saved a draft of “{1}”"],
|
|
647
|
+
["扫了一眼({0}),没细看", "Glanced over it ({0}); did not look closely"],
|
|
648
|
+
["{0}知道的", "learned {0}"],
|
|
649
|
+
];
|