@hope666/melu 1.0.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.
Files changed (87) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +57 -0
  3. package/dist/cli.d.ts +8 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +630 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/config.d.ts +45 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +135 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/embedder-client.d.ts +24 -0
  12. package/dist/embedder-client.d.ts.map +1 -0
  13. package/dist/embedder-client.js +164 -0
  14. package/dist/embedder-client.js.map +1 -0
  15. package/dist/embedder-daemon-client.d.ts +10 -0
  16. package/dist/embedder-daemon-client.d.ts.map +1 -0
  17. package/dist/embedder-daemon-client.js +185 -0
  18. package/dist/embedder-daemon-client.js.map +1 -0
  19. package/dist/embedder-daemon.d.ts +11 -0
  20. package/dist/embedder-daemon.d.ts.map +1 -0
  21. package/dist/embedder-daemon.js +284 -0
  22. package/dist/embedder-daemon.js.map +1 -0
  23. package/dist/embedder-ipc.d.ts +27 -0
  24. package/dist/embedder-ipc.d.ts.map +1 -0
  25. package/dist/embedder-ipc.js +60 -0
  26. package/dist/embedder-ipc.js.map +1 -0
  27. package/dist/embedder-main.d.ts +2 -0
  28. package/dist/embedder-main.d.ts.map +1 -0
  29. package/dist/embedder-main.js +6 -0
  30. package/dist/embedder-main.js.map +1 -0
  31. package/dist/embedder.d.ts +41 -0
  32. package/dist/embedder.d.ts.map +1 -0
  33. package/dist/embedder.js +231 -0
  34. package/dist/embedder.js.map +1 -0
  35. package/dist/extraction-queue.d.ts +53 -0
  36. package/dist/extraction-queue.d.ts.map +1 -0
  37. package/dist/extraction-queue.js +418 -0
  38. package/dist/extraction-queue.js.map +1 -0
  39. package/dist/extraction-stats.d.ts +15 -0
  40. package/dist/extraction-stats.d.ts.map +1 -0
  41. package/dist/extraction-stats.js +89 -0
  42. package/dist/extraction-stats.js.map +1 -0
  43. package/dist/extractor-worker-main.d.ts +2 -0
  44. package/dist/extractor-worker-main.d.ts.map +1 -0
  45. package/dist/extractor-worker-main.js +70 -0
  46. package/dist/extractor-worker-main.js.map +1 -0
  47. package/dist/extractor-worker.d.ts +17 -0
  48. package/dist/extractor-worker.d.ts.map +1 -0
  49. package/dist/extractor-worker.js +164 -0
  50. package/dist/extractor-worker.js.map +1 -0
  51. package/dist/extractor.d.ts +36 -0
  52. package/dist/extractor.d.ts.map +1 -0
  53. package/dist/extractor.js +244 -0
  54. package/dist/extractor.js.map +1 -0
  55. package/dist/i18n.d.ts +995 -0
  56. package/dist/i18n.d.ts.map +1 -0
  57. package/dist/i18n.js +1024 -0
  58. package/dist/i18n.js.map +1 -0
  59. package/dist/memory.d.ts +62 -0
  60. package/dist/memory.d.ts.map +1 -0
  61. package/dist/memory.js +293 -0
  62. package/dist/memory.js.map +1 -0
  63. package/dist/model-bootstrap.d.ts +29 -0
  64. package/dist/model-bootstrap.d.ts.map +1 -0
  65. package/dist/model-bootstrap.js +235 -0
  66. package/dist/model-bootstrap.js.map +1 -0
  67. package/dist/proxy-main.d.ts +5 -0
  68. package/dist/proxy-main.d.ts.map +1 -0
  69. package/dist/proxy-main.js +10 -0
  70. package/dist/proxy-main.js.map +1 -0
  71. package/dist/proxy.d.ts +9 -0
  72. package/dist/proxy.d.ts.map +1 -0
  73. package/dist/proxy.js +309 -0
  74. package/dist/proxy.js.map +1 -0
  75. package/dist/run-runtime.d.ts +34 -0
  76. package/dist/run-runtime.d.ts.map +1 -0
  77. package/dist/run-runtime.js +170 -0
  78. package/dist/run-runtime.js.map +1 -0
  79. package/dist/runtime-context.d.ts +12 -0
  80. package/dist/runtime-context.d.ts.map +1 -0
  81. package/dist/runtime-context.js +39 -0
  82. package/dist/runtime-context.js.map +1 -0
  83. package/dist/text-chunking.d.ts +7 -0
  84. package/dist/text-chunking.d.ts.map +1 -0
  85. package/dist/text-chunking.js +50 -0
  86. package/dist/text-chunking.js.map +1 -0
  87. package/package.json +46 -0
package/dist/i18n.d.ts ADDED
@@ -0,0 +1,995 @@
1
+ import { type MirrorName, type UiLanguage } from "./config.js";
2
+ type TranslationParams = Record<string, string | number>;
3
+ declare const MESSAGES: {
4
+ readonly en: {
5
+ readonly programDescription: "Melu - transparent AI memory proxy";
6
+ readonly cmdInitDescription: "Initial setup: create directories, config, and the default memory file";
7
+ readonly cmdRunDescription: "Run any agent with persistent memory";
8
+ readonly cmdStopDescription: "Stop the background proxy service";
9
+ readonly cmdListDescription: "List current memory entries";
10
+ readonly cmdDeleteDescription: "Delete a memory entry by ID prefix";
11
+ readonly cmdClearDescription: "Clear current memory entries (with confirmation)";
12
+ readonly cmdExportDescription: "Export current memory to a .memory file";
13
+ readonly cmdImportDescription: "Import memories from a .memory file";
14
+ readonly cmdStatusDescription: "Show service status, memory count, and model info";
15
+ readonly optMirrorDescription: "Model mirror source (huggingface | modelscope)";
16
+ readonly optMemoryDescription: "Memory file";
17
+ readonly optMemoryNameOrPathDescription: "Memory name or path";
18
+ readonly optAllDescription: "Include inactive memories";
19
+ readonly optYesDescription: "Skip confirmation";
20
+ readonly optPortDescription: "Proxy port";
21
+ readonly optOutputDescription: "Output file path";
22
+ readonly argCommandDescription: "Command to execute";
23
+ readonly initTitle: "Melu setup";
24
+ readonly labelDirectory: "Directory";
25
+ readonly labelConfig: "Config";
26
+ readonly labelMemory: "Memory";
27
+ readonly initComplete: "Setup complete!";
28
+ readonly labelMirrorSource: "Mirror source";
29
+ readonly embeddingModelReady: "Embedding model is ready.";
30
+ readonly usageRunClaude: "Usage: melu run -- claude";
31
+ readonly runProxy: "Proxy";
32
+ readonly runMemory: "Memory";
33
+ readonly memoryExtractionFailed: "[Melu] Memory extraction failed:";
34
+ readonly proxyNotRunning: "Proxy service is not running";
35
+ readonly proxyStopped: "Proxy service stopped (PID: {pid})";
36
+ readonly proxyAlreadyGone: "Proxy service is no longer running";
37
+ readonly memoryFileNotFound: "Memory file not found: {path}";
38
+ readonly noMemories: "No memories yet";
39
+ readonly memoriesTitle: "Memories ({count})";
40
+ readonly tableType: "Type";
41
+ readonly tableSubject: "Subject";
42
+ readonly tableSummary: "Summary";
43
+ readonly tableCreatedAt: "Created At";
44
+ readonly tableStatus: "Status";
45
+ readonly listShowHint: "Use \"melu show <id-prefix>\" to view full details of a memory.";
46
+ readonly memoryNotFoundByPrefix: "No memory found with ID prefix '{id}'";
47
+ readonly multipleMemoryMatches: "Multiple memories matched. Please provide a more specific ID.";
48
+ readonly deletedMemory: "Deleted: {summary}";
49
+ readonly memoryAlreadyEmpty: "Memory is already empty";
50
+ readonly confirmClearMemories: "Clear {count} memories? This cannot be undone (y/N): ";
51
+ readonly clearedMemories: "Cleared {count} memories";
52
+ readonly exportedTo: "Exported to: {path}";
53
+ readonly sourceFileNotFound: "File not found: {path}";
54
+ readonly importedMemories: "Imported {count} memories";
55
+ readonly statusRunning: "Proxy status: running (PID: {pid}, port: {port})";
56
+ readonly statusStopped: "Proxy status: stopped";
57
+ readonly statusMemoryFile: "Memory file: {path}";
58
+ readonly statusActiveMemories: "Active memories: {count}";
59
+ readonly statusEmbedding: "Embedding: {model}";
60
+ readonly statusMirrorSource: "Mirror source: {label}";
61
+ readonly statusModelFile: "Model file: {status}";
62
+ readonly statusDownloaded: "downloaded";
63
+ readonly statusNotDownloaded: "not downloaded";
64
+ readonly notSet: "Not set";
65
+ readonly portInUse: "Port {port} is already in use. Stop the conflicting process or choose a different port.";
66
+ readonly proxyStartupTimeout: "Proxy service startup timed out";
67
+ readonly extractingConversationMemories: "[Melu] Extracting memories from {count} conversations...";
68
+ readonly singleExtractionFailed: "[Melu] Failed to extract one queued item:";
69
+ readonly extractedNewMemories: "[Melu] Extracted {count} new memories this run";
70
+ readonly noNewMemories: "[Melu] No new memories this run";
71
+ readonly runSummaryTitle: "[Melu] Run summary ({runId})";
72
+ readonly runSummaryProcessed: "[Melu] Processed: {count}";
73
+ readonly runSummaryEffectiveNewMemories: "[Melu] Effective new memories: {count}";
74
+ readonly runSummaryFailed: "[Melu] Failed: {count}";
75
+ readonly runSummaryRemainingQueue: "[Melu] Remaining queue: {count}";
76
+ readonly languagePromptTitle: "Select the display language for Melu:";
77
+ readonly menuHint: "Use arrow keys to move, Enter to confirm.";
78
+ readonly languagePromptInput: "Select a language:";
79
+ readonly languagePromptRetry: "Please select a valid option.";
80
+ readonly languageSet: "Display language: {language}";
81
+ readonly mirrorPromptTitle: "Select the source for the GGUF embedding model:";
82
+ readonly mirrorPromptInput: "Select a model source:";
83
+ readonly mirrorPromptRetry: "Please select a valid option.";
84
+ readonly mirrorHintHuggingFace: "Best for global network access";
85
+ readonly mirrorHintModelScope: "Best for mainland China network access";
86
+ readonly mirrorSelectionRequired: "A mirror source must be selected before model setup. Run `melu init --mirror huggingface` or `melu init --mirror modelscope`.";
87
+ readonly embeddingDownload: "[Melu] Downloading embedding model: {file}";
88
+ readonly labelSource: "[Melu] Source: {label}";
89
+ readonly labelSavedTo: "[Melu] Saving to: {path}";
90
+ readonly downloadProgressDownloadingTo: "Downloading to";
91
+ readonly downloadProgressDownloadedTo: "Downloaded to";
92
+ readonly modelAlreadyAvailable: "[Melu] Embedding model already found: {path}";
93
+ readonly modelSkipDownload: "[Melu] Skipping download.";
94
+ readonly runtimeBinaryUnavailable: "No prebuilt llama.cpp runtime is available on this platform. Melu does not auto-compile local native dependencies. Use Node 20+ on macOS, Linux, or Windows arm64/x64.";
95
+ readonly memoryUpdated: "[Melu] Memory updated: '{summary}' replaced '{previous}'";
96
+ readonly memoryNew: "[Melu] New memory: [{category}] {summary}";
97
+ readonly embeddingFailed: "[Melu] Embedding failed:";
98
+ readonly claudePExtracting: "[Melu:DEBUG] Extracting memory via claude -p";
99
+ readonly claudePExitCode: "[Melu] claude -p exited with code {code}, stderr: {stderr}";
100
+ readonly claudePStartFailed: "[Melu] Failed to start claude -p: {message}";
101
+ };
102
+ readonly "zh-CN": {
103
+ readonly programDescription: "Melu - 透明 AI 记忆代理";
104
+ readonly cmdInitDescription: "首次初始化:创建目录、配置和默认记忆文件";
105
+ readonly cmdRunDescription: "带记忆启动任意 Agent";
106
+ readonly cmdStopDescription: "停止后台代理服务";
107
+ readonly cmdListDescription: "列出当前记忆条目";
108
+ readonly cmdDeleteDescription: "按 ID 前缀删除某条记忆";
109
+ readonly cmdClearDescription: "清空当前记忆(需确认)";
110
+ readonly cmdExportDescription: "导出当前记忆为 .memory 文件";
111
+ readonly cmdImportDescription: "从 .memory 文件导入记忆";
112
+ readonly cmdStatusDescription: "查看服务状态、记忆数量和模型信息";
113
+ readonly optMirrorDescription: "模型镜像源 (huggingface | modelscope)";
114
+ readonly optMemoryDescription: "记忆文件";
115
+ readonly optMemoryNameOrPathDescription: "记忆名称或路径";
116
+ readonly optAllDescription: "包含已失效的记忆";
117
+ readonly optYesDescription: "跳过确认";
118
+ readonly optPortDescription: "代理端口";
119
+ readonly optOutputDescription: "输出文件路径";
120
+ readonly argCommandDescription: "要执行的命令";
121
+ readonly initTitle: "Melu 初始化";
122
+ readonly labelDirectory: "目录";
123
+ readonly labelConfig: "配置";
124
+ readonly labelMemory: "记忆";
125
+ readonly initComplete: "初始化完成!";
126
+ readonly labelMirrorSource: "镜像源";
127
+ readonly embeddingModelReady: "Embedding 模型已准备完成。";
128
+ readonly usageRunClaude: "使用: melu run -- claude";
129
+ readonly runProxy: "代理";
130
+ readonly runMemory: "记忆";
131
+ readonly memoryExtractionFailed: "[Melu] 记忆提取失败:";
132
+ readonly proxyNotRunning: "代理服务未在运行";
133
+ readonly proxyStopped: "代理服务已停止 (PID: {pid})";
134
+ readonly proxyAlreadyGone: "代理服务已不存在";
135
+ readonly memoryFileNotFound: "记忆文件不存在: {path}";
136
+ readonly noMemories: "暂无记忆";
137
+ readonly memoriesTitle: "记忆 ({count} 条)";
138
+ readonly tableType: "类型";
139
+ readonly tableSubject: "主题";
140
+ readonly tableSummary: "摘要";
141
+ readonly tableCreatedAt: "创建时间";
142
+ readonly tableStatus: "状态";
143
+ readonly listShowHint: "使用 \"melu show <ID前缀>\" 查看记忆详情。";
144
+ readonly memoryNotFoundByPrefix: "未找到 ID 以 '{id}' 开头的记忆";
145
+ readonly multipleMemoryMatches: "匹配到多条记忆,请提供更精确的 ID。";
146
+ readonly deletedMemory: "已删除: {summary}";
147
+ readonly memoryAlreadyEmpty: "记忆已经是空的";
148
+ readonly confirmClearMemories: "确认清空 {count} 条记忆?此操作不可恢复 (y/N): ";
149
+ readonly clearedMemories: "已清空 {count} 条记忆";
150
+ readonly exportedTo: "已导出到: {path}";
151
+ readonly sourceFileNotFound: "文件不存在: {path}";
152
+ readonly importedMemories: "已导入 {count} 条记忆";
153
+ readonly statusRunning: "代理状态: 运行中 (PID: {pid}, 端口: {port})";
154
+ readonly statusStopped: "代理状态: 未运行";
155
+ readonly statusMemoryFile: "记忆文件: {path}";
156
+ readonly statusActiveMemories: "活跃记忆: {count} 条";
157
+ readonly statusEmbedding: "Embedding: {model}";
158
+ readonly statusMirrorSource: "镜像源: {label}";
159
+ readonly statusModelFile: "模型文件: {status}";
160
+ readonly statusDownloaded: "已下载";
161
+ readonly statusNotDownloaded: "未下载";
162
+ readonly notSet: "未设置";
163
+ readonly portInUse: "端口 {port} 已被占用,请先关闭占用进程或换一个端口。";
164
+ readonly proxyStartupTimeout: "代理服务启动超时";
165
+ readonly extractingConversationMemories: "[Melu] 正在提取 {count} 条对话的记忆...";
166
+ readonly singleExtractionFailed: "[Melu] 提取单条失败:";
167
+ readonly extractedNewMemories: "[Melu] 本次提取 {count} 条新记忆";
168
+ readonly noNewMemories: "[Melu] 本次无新记忆";
169
+ readonly runSummaryTitle: "[Melu] 运行摘要 ({runId})";
170
+ readonly runSummaryProcessed: "[Melu] 已处理: {count}";
171
+ readonly runSummaryEffectiveNewMemories: "[Melu] 有效新记忆: {count}";
172
+ readonly runSummaryFailed: "[Melu] 失败: {count}";
173
+ readonly runSummaryRemainingQueue: "[Melu] 剩余队列: {count}";
174
+ readonly languagePromptTitle: "请选择 Melu 的显示语言:";
175
+ readonly menuHint: "使用方向键切换,按 Enter 确认。";
176
+ readonly languagePromptInput: "请选择语言:";
177
+ readonly languagePromptRetry: "请选择有效选项。";
178
+ readonly languageSet: "显示语言: {language}";
179
+ readonly mirrorPromptTitle: "请选择 GGUF embedding 模型的来源:";
180
+ readonly mirrorPromptInput: "请选择模型来源:";
181
+ readonly mirrorPromptRetry: "请选择有效选项。";
182
+ readonly mirrorHintHuggingFace: "适合全球网络环境";
183
+ readonly mirrorHintModelScope: "适合中国大陆网络环境";
184
+ readonly mirrorSelectionRequired: "首次准备模型前需要先选择镜像源。请运行 `melu init --mirror huggingface` 或 `melu init --mirror modelscope`。";
185
+ readonly embeddingDownload: "[Melu] 下载 embedding 模型: {file}";
186
+ readonly labelSource: "[Melu] 来源: {label}";
187
+ readonly labelSavedTo: "[Melu] 保存到: {path}";
188
+ readonly downloadProgressDownloadingTo: "下载到";
189
+ readonly downloadProgressDownloadedTo: "已下载到";
190
+ readonly modelAlreadyAvailable: "[Melu] 已检测到 embedding 模型: {path}";
191
+ readonly modelSkipDownload: "[Melu] 跳过下载。";
192
+ readonly runtimeBinaryUnavailable: "当前平台没有可用的 llama.cpp 预编译运行时。Melu 默认不会在用户机器上自动编译本地依赖。请使用 Node 20+,并在 macOS、Linux 或 Windows 的 arm64/x64 环境运行。";
193
+ readonly memoryUpdated: "[Melu] 记忆更新: '{summary}' 取代 '{previous}'";
194
+ readonly memoryNew: "[Melu] 新记忆: [{category}] {summary}";
195
+ readonly embeddingFailed: "[Melu] Embedding 失败:";
196
+ readonly claudePExtracting: "[Melu:DEBUG] 通过 claude -p 提取记忆";
197
+ readonly claudePExitCode: "[Melu] claude -p 退出码: {code}, stderr: {stderr}";
198
+ readonly claudePStartFailed: "[Melu] claude -p 启动失败: {message}";
199
+ };
200
+ readonly "zh-TW": {
201
+ readonly programDescription: "Melu - 透明 AI 記憶代理";
202
+ readonly cmdInitDescription: "首次初始化:建立目錄、設定與預設記憶檔案";
203
+ readonly cmdRunDescription: "帶著記憶啟動任意 Agent";
204
+ readonly cmdStopDescription: "停止背景代理服務";
205
+ readonly cmdListDescription: "列出目前的記憶項目";
206
+ readonly cmdDeleteDescription: "依 ID 前綴刪除記憶";
207
+ readonly cmdClearDescription: "清空目前記憶(需確認)";
208
+ readonly cmdExportDescription: "將目前記憶匯出為 .memory 檔案";
209
+ readonly cmdImportDescription: "從 .memory 檔案匯入記憶";
210
+ readonly cmdStatusDescription: "查看服務狀態、記憶數量與模型資訊";
211
+ readonly optMirrorDescription: "模型鏡像來源 (huggingface | modelscope)";
212
+ readonly optMemoryDescription: "記憶檔案";
213
+ readonly optMemoryNameOrPathDescription: "記憶名稱或路徑";
214
+ readonly optAllDescription: "包含已失效記憶";
215
+ readonly optYesDescription: "跳過確認";
216
+ readonly optPortDescription: "代理埠";
217
+ readonly optOutputDescription: "輸出檔案路徑";
218
+ readonly argCommandDescription: "要執行的命令";
219
+ readonly initTitle: "Melu 初始化";
220
+ readonly labelDirectory: "目錄";
221
+ readonly labelConfig: "設定";
222
+ readonly labelMemory: "記憶";
223
+ readonly initComplete: "初始化完成!";
224
+ readonly labelMirrorSource: "鏡像來源";
225
+ readonly embeddingModelReady: "Embedding 模型已準備完成。";
226
+ readonly usageRunClaude: "用法: melu run -- claude";
227
+ readonly runProxy: "代理";
228
+ readonly runMemory: "記憶";
229
+ readonly memoryExtractionFailed: "[Melu] 記憶提取失敗:";
230
+ readonly proxyNotRunning: "代理服務尚未運行";
231
+ readonly proxyStopped: "代理服務已停止 (PID: {pid})";
232
+ readonly proxyAlreadyGone: "代理服務已不存在";
233
+ readonly memoryFileNotFound: "找不到記憶檔案: {path}";
234
+ readonly noMemories: "目前沒有記憶";
235
+ readonly memoriesTitle: "記憶({count} 條)";
236
+ readonly tableType: "類型";
237
+ readonly tableSubject: "主題";
238
+ readonly tableSummary: "摘要";
239
+ readonly tableCreatedAt: "建立時間";
240
+ readonly tableStatus: "狀態";
241
+ readonly listShowHint: "使用 \"melu show <ID前綴>\" 查看記憶詳情。";
242
+ readonly memoryNotFoundByPrefix: "找不到 ID 以前綴 '{id}' 開頭的記憶";
243
+ readonly multipleMemoryMatches: "找到多條相符記憶,請提供更精確的 ID。";
244
+ readonly deletedMemory: "已刪除: {summary}";
245
+ readonly memoryAlreadyEmpty: "記憶已經是空的";
246
+ readonly confirmClearMemories: "確認清空 {count} 條記憶?此操作無法復原 (y/N): ";
247
+ readonly clearedMemories: "已清空 {count} 條記憶";
248
+ readonly exportedTo: "已匯出到: {path}";
249
+ readonly sourceFileNotFound: "找不到檔案: {path}";
250
+ readonly importedMemories: "已匯入 {count} 條記憶";
251
+ readonly statusRunning: "代理狀態: 運行中 (PID: {pid}, 埠: {port})";
252
+ readonly statusStopped: "代理狀態: 未運行";
253
+ readonly statusMemoryFile: "記憶檔案: {path}";
254
+ readonly statusActiveMemories: "有效記憶: {count} 條";
255
+ readonly statusEmbedding: "Embedding: {model}";
256
+ readonly statusMirrorSource: "鏡像來源: {label}";
257
+ readonly statusModelFile: "模型檔案: {status}";
258
+ readonly statusDownloaded: "已下載";
259
+ readonly statusNotDownloaded: "未下載";
260
+ readonly notSet: "未設定";
261
+ readonly portInUse: "埠 {port} 已被占用,請先關閉占用程序或改用其他埠。";
262
+ readonly proxyStartupTimeout: "代理服務啟動逾時";
263
+ readonly extractingConversationMemories: "[Melu] 正在提取 {count} 條對話記憶...";
264
+ readonly singleExtractionFailed: "[Melu] 單條提取失敗:";
265
+ readonly extractedNewMemories: "[Melu] 本次提取了 {count} 條新記憶";
266
+ readonly noNewMemories: "[Melu] 本次沒有新記憶";
267
+ readonly runSummaryTitle: "[Melu] 運行摘要 ({runId})";
268
+ readonly runSummaryProcessed: "[Melu] 已處理: {count}";
269
+ readonly runSummaryEffectiveNewMemories: "[Melu] 有效新記憶: {count}";
270
+ readonly runSummaryFailed: "[Melu] 失敗: {count}";
271
+ readonly runSummaryRemainingQueue: "[Melu] 剩餘佇列: {count}";
272
+ readonly languagePromptTitle: "請選擇 Melu 的顯示語言:";
273
+ readonly menuHint: "使用方向鍵切換,按 Enter 確認。";
274
+ readonly languagePromptInput: "請選擇語言:";
275
+ readonly languagePromptRetry: "請選擇有效選項。";
276
+ readonly languageSet: "顯示語言: {language}";
277
+ readonly mirrorPromptTitle: "請選擇 GGUF embedding 模型來源:";
278
+ readonly mirrorPromptInput: "請選擇模型來源:";
279
+ readonly mirrorPromptRetry: "請選擇有效選項。";
280
+ readonly mirrorHintHuggingFace: "適合全球網路環境";
281
+ readonly mirrorHintModelScope: "適合中國大陸網路環境";
282
+ readonly mirrorSelectionRequired: "首次準備模型前需要先選擇鏡像來源。請執行 `melu init --mirror huggingface` 或 `melu init --mirror modelscope`。";
283
+ readonly embeddingDownload: "[Melu] 下載 embedding 模型: {file}";
284
+ readonly labelSource: "[Melu] 來源: {label}";
285
+ readonly labelSavedTo: "[Melu] 儲存到: {path}";
286
+ readonly downloadProgressDownloadingTo: "下載到";
287
+ readonly downloadProgressDownloadedTo: "已下載到";
288
+ readonly modelAlreadyAvailable: "[Melu] 已偵測到 embedding 模型: {path}";
289
+ readonly modelSkipDownload: "[Melu] 略過下載。";
290
+ readonly runtimeBinaryUnavailable: "目前平台沒有可用的 llama.cpp 預編譯執行環境。Melu 不會自動在使用者機器上編譯本地原生依賴。請使用 Node 20+,並在 macOS、Linux 或 Windows 的 arm64/x64 環境運行。";
291
+ readonly memoryUpdated: "[Melu] 記憶已更新: '{summary}' 取代 '{previous}'";
292
+ readonly memoryNew: "[Melu] 新記憶: [{category}] {summary}";
293
+ readonly embeddingFailed: "[Melu] Embedding 失敗:";
294
+ readonly claudePExtracting: "[Melu:DEBUG] 透過 claude -p 提取記憶";
295
+ readonly claudePExitCode: "[Melu] claude -p 結束碼: {code}, stderr: {stderr}";
296
+ readonly claudePStartFailed: "[Melu] 無法啟動 claude -p: {message}";
297
+ };
298
+ readonly ja: {
299
+ readonly programDescription: "Melu - 透過的な AI メモリプロキシ";
300
+ readonly cmdInitDescription: "初期設定: ディレクトリ、設定、既定メモリを作成";
301
+ readonly cmdRunDescription: "永続メモリ付きで任意の Agent を起動";
302
+ readonly cmdStopDescription: "バックグラウンドのプロキシサービスを停止";
303
+ readonly cmdListDescription: "現在のメモリエントリを一覧表示";
304
+ readonly cmdDeleteDescription: "ID プレフィックスでメモリを削除";
305
+ readonly cmdClearDescription: "現在のメモリを消去(確認あり)";
306
+ readonly cmdExportDescription: "現在のメモリを .memory ファイルとして書き出す";
307
+ readonly cmdImportDescription: ".memory ファイルからメモリを読み込む";
308
+ readonly cmdStatusDescription: "サービス状態、メモリ数、モデル情報を表示";
309
+ readonly optMirrorDescription: "モデルのミラー元 (huggingface | modelscope)";
310
+ readonly optMemoryDescription: "メモリファイル";
311
+ readonly optMemoryNameOrPathDescription: "メモリ名またはパス";
312
+ readonly optAllDescription: "無効なメモリも含める";
313
+ readonly optYesDescription: "確認を省略";
314
+ readonly optPortDescription: "プロキシポート";
315
+ readonly optOutputDescription: "出力ファイルのパス";
316
+ readonly argCommandDescription: "実行するコマンド";
317
+ readonly initTitle: "Melu セットアップ";
318
+ readonly labelDirectory: "ディレクトリ";
319
+ readonly labelConfig: "設定";
320
+ readonly labelMemory: "メモリ";
321
+ readonly initComplete: "セットアップが完了しました。";
322
+ readonly labelMirrorSource: "ミラー元";
323
+ readonly embeddingModelReady: "Embedding モデルの準備ができました。";
324
+ readonly usageRunClaude: "使い方: melu run -- claude";
325
+ readonly runProxy: "プロキシ";
326
+ readonly runMemory: "メモリ";
327
+ readonly memoryExtractionFailed: "[Melu] メモリ抽出に失敗しました:";
328
+ readonly proxyNotRunning: "プロキシサービスは実行されていません";
329
+ readonly proxyStopped: "プロキシサービスを停止しました (PID: {pid})";
330
+ readonly proxyAlreadyGone: "プロキシサービスはすでに存在しません";
331
+ readonly memoryFileNotFound: "メモリファイルが見つかりません: {path}";
332
+ readonly noMemories: "メモリはまだありません";
333
+ readonly memoriesTitle: "メモリ ({count})";
334
+ readonly tableType: "種類";
335
+ readonly tableSubject: "件名";
336
+ readonly tableSummary: "要約";
337
+ readonly tableCreatedAt: "作成日時";
338
+ readonly tableStatus: "状態";
339
+ readonly listShowHint: "\"melu show <IDプレフィックス>\" でメモリの詳細を表示できます。";
340
+ readonly memoryNotFoundByPrefix: "ID が '{id}' で始まるメモリは見つかりません";
341
+ readonly multipleMemoryMatches: "複数のメモリが一致しました。より具体的な ID を指定してください。";
342
+ readonly deletedMemory: "削除しました: {summary}";
343
+ readonly memoryAlreadyEmpty: "メモリはすでに空です";
344
+ readonly confirmClearMemories: "{count} 件のメモリを削除しますか?この操作は元に戻せません (y/N): ";
345
+ readonly clearedMemories: "{count} 件のメモリを削除しました";
346
+ readonly exportedTo: "書き出し先: {path}";
347
+ readonly sourceFileNotFound: "ファイルが見つかりません: {path}";
348
+ readonly importedMemories: "{count} 件のメモリを読み込みました";
349
+ readonly statusRunning: "プロキシ状態: 実行中 (PID: {pid}, ポート: {port})";
350
+ readonly statusStopped: "プロキシ状態: 停止中";
351
+ readonly statusMemoryFile: "メモリファイル: {path}";
352
+ readonly statusActiveMemories: "有効メモリ: {count}";
353
+ readonly statusEmbedding: "Embedding: {model}";
354
+ readonly statusMirrorSource: "ミラー元: {label}";
355
+ readonly statusModelFile: "モデルファイル: {status}";
356
+ readonly statusDownloaded: "ダウンロード済み";
357
+ readonly statusNotDownloaded: "未ダウンロード";
358
+ readonly notSet: "未設定";
359
+ readonly portInUse: "ポート {port} はすでに使用されています。競合するプロセスを停止するか、別のポートを指定してください。";
360
+ readonly proxyStartupTimeout: "プロキシサービスの起動がタイムアウトしました";
361
+ readonly extractingConversationMemories: "[Melu] {count} 件の会話からメモリを抽出しています...";
362
+ readonly singleExtractionFailed: "[Melu] 1 件の抽出に失敗しました:";
363
+ readonly extractedNewMemories: "[Melu] 今回新たに {count} 件のメモリを抽出しました";
364
+ readonly noNewMemories: "[Melu] 今回新しいメモリはありませんでした";
365
+ readonly runSummaryTitle: "[Melu] 実行サマリー ({runId})";
366
+ readonly runSummaryProcessed: "[Melu] 処理済み: {count}";
367
+ readonly runSummaryEffectiveNewMemories: "[Melu] 有効な新メモリ: {count}";
368
+ readonly runSummaryFailed: "[Melu] 失敗: {count}";
369
+ readonly runSummaryRemainingQueue: "[Melu] 残りキュー: {count}";
370
+ readonly languagePromptTitle: "Melu の表示言語を選択してください:";
371
+ readonly menuHint: "矢印キーで移動し、Enter で確定します。";
372
+ readonly languagePromptInput: "言語を選択してください:";
373
+ readonly languagePromptRetry: "有効な選択肢を選んでください。";
374
+ readonly languageSet: "表示言語: {language}";
375
+ readonly mirrorPromptTitle: "GGUF embedding モデルの取得元を選択してください:";
376
+ readonly mirrorPromptInput: "モデルの取得元を選択してください:";
377
+ readonly mirrorPromptRetry: "有効な選択肢を選んでください。";
378
+ readonly mirrorHintHuggingFace: "グローバルなネットワーク環境向け";
379
+ readonly mirrorHintModelScope: "中国本土のネットワーク環境向け";
380
+ readonly mirrorSelectionRequired: "モデル準備の前にミラー元の選択が必要です。`melu init --mirror huggingface` または `melu init --mirror modelscope` を実行してください。";
381
+ readonly embeddingDownload: "[Melu] Embedding モデルをダウンロードしています: {file}";
382
+ readonly labelSource: "[Melu] 取得元: {label}";
383
+ readonly labelSavedTo: "[Melu] 保存先: {path}";
384
+ readonly downloadProgressDownloadingTo: "ダウンロード先";
385
+ readonly downloadProgressDownloadedTo: "ダウンロード済み";
386
+ readonly modelAlreadyAvailable: "[Melu] 既存の embedding モデルを検出しました: {path}";
387
+ readonly modelSkipDownload: "[Melu] ダウンロードをスキップします。";
388
+ readonly runtimeBinaryUnavailable: "このプラットフォームでは利用可能な事前ビルド済み llama.cpp ランタイムがありません。Melu はローカルのネイティブ依存関係を自動コンパイルしません。Node 20+ を使用し、macOS / Linux / Windows の arm64/x64 環境で実行してください。";
389
+ readonly memoryUpdated: "[Melu] メモリを更新しました: '{summary}' が '{previous}' を置き換えました";
390
+ readonly memoryNew: "[Melu] 新しいメモリ: [{category}] {summary}";
391
+ readonly embeddingFailed: "[Melu] Embedding に失敗しました:";
392
+ readonly claudePExtracting: "[Melu:DEBUG] claude -p でメモリを抽出しています";
393
+ readonly claudePExitCode: "[Melu] claude -p の終了コード: {code}, stderr: {stderr}";
394
+ readonly claudePStartFailed: "[Melu] claude -p の起動に失敗しました: {message}";
395
+ };
396
+ readonly ko: {
397
+ readonly programDescription: "Melu - 투명한 AI 메모리 프록시";
398
+ readonly cmdInitDescription: "초기 설정: 디렉터리, 설정, 기본 메모리 파일 생성";
399
+ readonly cmdRunDescription: "지속 메모리와 함께 Agent 실행";
400
+ readonly cmdStopDescription: "백그라운드 프록시 서비스 중지";
401
+ readonly cmdListDescription: "현재 메모리 항목 표시";
402
+ readonly cmdDeleteDescription: "ID 접두사로 메모리 삭제";
403
+ readonly cmdClearDescription: "현재 메모리 비우기(확인 필요)";
404
+ readonly cmdExportDescription: "현재 메모리를 .memory 파일로 내보내기";
405
+ readonly cmdImportDescription: ".memory 파일에서 메모리 가져오기";
406
+ readonly cmdStatusDescription: "서비스 상태, 메모리 수, 모델 정보 표시";
407
+ readonly optMirrorDescription: "모델 미러 소스 (huggingface | modelscope)";
408
+ readonly optMemoryDescription: "메모리 파일";
409
+ readonly optMemoryNameOrPathDescription: "메모리 이름 또는 경로";
410
+ readonly optAllDescription: "비활성 메모리 포함";
411
+ readonly optYesDescription: "확인 건너뛰기";
412
+ readonly optPortDescription: "프록시 포트";
413
+ readonly optOutputDescription: "출력 파일 경로";
414
+ readonly argCommandDescription: "실행할 명령";
415
+ readonly initTitle: "Melu 설정";
416
+ readonly labelDirectory: "디렉터리";
417
+ readonly labelConfig: "설정";
418
+ readonly labelMemory: "메모리";
419
+ readonly initComplete: "설정이 완료되었습니다.";
420
+ readonly labelMirrorSource: "미러 소스";
421
+ readonly embeddingModelReady: "Embedding 모델이 준비되었습니다.";
422
+ readonly usageRunClaude: "사용법: melu run -- claude";
423
+ readonly runProxy: "프록시";
424
+ readonly runMemory: "메모리";
425
+ readonly memoryExtractionFailed: "[Melu] 메모리 추출 실패:";
426
+ readonly proxyNotRunning: "프록시 서비스가 실행 중이 아닙니다";
427
+ readonly proxyStopped: "프록시 서비스가 중지되었습니다 (PID: {pid})";
428
+ readonly proxyAlreadyGone: "프록시 서비스가 이미 종료되었습니다";
429
+ readonly memoryFileNotFound: "메모리 파일을 찾을 수 없습니다: {path}";
430
+ readonly noMemories: "메모리가 없습니다";
431
+ readonly memoriesTitle: "메모리 ({count})";
432
+ readonly tableType: "유형";
433
+ readonly tableSubject: "주제";
434
+ readonly tableSummary: "요약";
435
+ readonly tableCreatedAt: "생성 시간";
436
+ readonly tableStatus: "상태";
437
+ readonly listShowHint: "\"melu show <ID접두사>\" 로 메모리 세부 정보를 확인할 수 있습니다.";
438
+ readonly memoryNotFoundByPrefix: "ID가 '{id}'로 시작하는 메모리를 찾을 수 없습니다";
439
+ readonly multipleMemoryMatches: "여러 메모리가 일치합니다. 더 구체적인 ID를 입력하세요.";
440
+ readonly deletedMemory: "삭제됨: {summary}";
441
+ readonly memoryAlreadyEmpty: "메모리가 이미 비어 있습니다";
442
+ readonly confirmClearMemories: "{count}개의 메모리를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다 (y/N): ";
443
+ readonly clearedMemories: "{count}개의 메모리를 삭제했습니다";
444
+ readonly exportedTo: "내보낸 위치: {path}";
445
+ readonly sourceFileNotFound: "파일을 찾을 수 없습니다: {path}";
446
+ readonly importedMemories: "{count}개의 메모리를 가져왔습니다";
447
+ readonly statusRunning: "프록시 상태: 실행 중 (PID: {pid}, 포트: {port})";
448
+ readonly statusStopped: "프록시 상태: 중지됨";
449
+ readonly statusMemoryFile: "메모리 파일: {path}";
450
+ readonly statusActiveMemories: "활성 메모리: {count}";
451
+ readonly statusEmbedding: "Embedding: {model}";
452
+ readonly statusMirrorSource: "미러 소스: {label}";
453
+ readonly statusModelFile: "모델 파일: {status}";
454
+ readonly statusDownloaded: "다운로드됨";
455
+ readonly statusNotDownloaded: "다운로드되지 않음";
456
+ readonly notSet: "설정되지 않음";
457
+ readonly portInUse: "포트 {port}가 이미 사용 중입니다. 충돌하는 프로세스를 종료하거나 다른 포트를 선택하세요.";
458
+ readonly proxyStartupTimeout: "프록시 서비스 시작 시간이 초과되었습니다";
459
+ readonly extractingConversationMemories: "[Melu] {count}개의 대화에서 메모리를 추출하는 중...";
460
+ readonly singleExtractionFailed: "[Melu] 대기 항목 1개 추출 실패:";
461
+ readonly extractedNewMemories: "[Melu] 이번 실행에서 {count}개의 새 메모리를 추출했습니다";
462
+ readonly noNewMemories: "[Melu] 이번 실행에서는 새 메모리가 없습니다";
463
+ readonly runSummaryTitle: "[Melu] 실행 요약 ({runId})";
464
+ readonly runSummaryProcessed: "[Melu] 처리됨: {count}";
465
+ readonly runSummaryEffectiveNewMemories: "[Melu] 유효한 새 메모리: {count}";
466
+ readonly runSummaryFailed: "[Melu] 실패: {count}";
467
+ readonly runSummaryRemainingQueue: "[Melu] 남은 큐: {count}";
468
+ readonly languagePromptTitle: "Melu 표시 언어를 선택하세요:";
469
+ readonly menuHint: "방향키로 이동하고 Enter로 선택하세요.";
470
+ readonly languagePromptInput: "언어를 선택하세요:";
471
+ readonly languagePromptRetry: "유효한 항목을 선택하세요.";
472
+ readonly languageSet: "표시 언어: {language}";
473
+ readonly mirrorPromptTitle: "GGUF embedding 모델의 소스를 선택하세요:";
474
+ readonly mirrorPromptInput: "모델 소스를 선택하세요:";
475
+ readonly mirrorPromptRetry: "유효한 항목을 선택하세요.";
476
+ readonly mirrorHintHuggingFace: "전 세계 네트워크 환경에 적합";
477
+ readonly mirrorHintModelScope: "중국 본토 네트워크 환경에 적합";
478
+ readonly mirrorSelectionRequired: "모델 설정 전에 미러 소스를 선택해야 합니다. `melu init --mirror huggingface` 또는 `melu init --mirror modelscope`를 실행하세요.";
479
+ readonly embeddingDownload: "[Melu] Embedding 모델 다운로드 중: {file}";
480
+ readonly labelSource: "[Melu] 소스: {label}";
481
+ readonly labelSavedTo: "[Melu] 저장 위치: {path}";
482
+ readonly downloadProgressDownloadingTo: "다운로드 위치";
483
+ readonly downloadProgressDownloadedTo: "다운로드 완료 위치";
484
+ readonly modelAlreadyAvailable: "[Melu] 기존 embedding 모델을 찾았습니다: {path}";
485
+ readonly modelSkipDownload: "[Melu] 다운로드를 건너뜁니다.";
486
+ readonly runtimeBinaryUnavailable: "이 플랫폼에서는 사용할 수 있는 사전 빌드된 llama.cpp 런타임이 없습니다. Melu는 로컬 네이티브 의존성을 자동으로 컴파일하지 않습니다. Node 20+ 및 macOS / Linux / Windows arm64/x64 환경을 사용하세요.";
487
+ readonly memoryUpdated: "[Melu] 메모리 업데이트: '{summary}'가 '{previous}'를 대체했습니다";
488
+ readonly memoryNew: "[Melu] 새 메모리: [{category}] {summary}";
489
+ readonly embeddingFailed: "[Melu] Embedding 실패:";
490
+ readonly claudePExtracting: "[Melu:DEBUG] claude -p로 메모리를 추출하는 중";
491
+ readonly claudePExitCode: "[Melu] claude -p 종료 코드: {code}, stderr: {stderr}";
492
+ readonly claudePStartFailed: "[Melu] claude -p 시작 실패: {message}";
493
+ };
494
+ readonly fr: {
495
+ readonly programDescription: "Melu - proxy de mémoire IA transparent";
496
+ readonly cmdInitDescription: "Configuration initiale : créer les dossiers, la config et la mémoire par défaut";
497
+ readonly cmdRunDescription: "Exécuter un agent avec mémoire persistante";
498
+ readonly cmdStopDescription: "Arrêter le service proxy en arrière-plan";
499
+ readonly cmdListDescription: "Lister les entrées mémoire actuelles";
500
+ readonly cmdDeleteDescription: "Supprimer une mémoire via son préfixe d'ID";
501
+ readonly cmdClearDescription: "Vider la mémoire actuelle (avec confirmation)";
502
+ readonly cmdExportDescription: "Exporter la mémoire actuelle vers un fichier .memory";
503
+ readonly cmdImportDescription: "Importer des mémoires depuis un fichier .memory";
504
+ readonly cmdStatusDescription: "Afficher l'état du service, le nombre de mémoires et les infos du modèle";
505
+ readonly optMirrorDescription: "Source miroir du modèle (huggingface | modelscope)";
506
+ readonly optMemoryDescription: "Fichier mémoire";
507
+ readonly optMemoryNameOrPathDescription: "Nom ou chemin de la mémoire";
508
+ readonly optAllDescription: "Inclure les mémoires inactives";
509
+ readonly optYesDescription: "Ignorer la confirmation";
510
+ readonly optPortDescription: "Port du proxy";
511
+ readonly optOutputDescription: "Chemin du fichier de sortie";
512
+ readonly argCommandDescription: "Commande à exécuter";
513
+ readonly initTitle: "Configuration de Melu";
514
+ readonly labelDirectory: "Répertoire";
515
+ readonly labelConfig: "Config";
516
+ readonly labelMemory: "Mémoire";
517
+ readonly initComplete: "Configuration terminée.";
518
+ readonly labelMirrorSource: "Source miroir";
519
+ readonly embeddingModelReady: "Le modèle d'embedding est prêt.";
520
+ readonly usageRunClaude: "Utilisation : melu run -- claude";
521
+ readonly runProxy: "Proxy";
522
+ readonly runMemory: "Mémoire";
523
+ readonly memoryExtractionFailed: "[Melu] Échec de l'extraction de mémoire :";
524
+ readonly proxyNotRunning: "Le service proxy n'est pas en cours d'exécution";
525
+ readonly proxyStopped: "Service proxy arrêté (PID : {pid})";
526
+ readonly proxyAlreadyGone: "Le service proxy n'existe plus";
527
+ readonly memoryFileNotFound: "Fichier mémoire introuvable : {path}";
528
+ readonly noMemories: "Aucune mémoire pour le moment";
529
+ readonly memoriesTitle: "Mémoires ({count})";
530
+ readonly tableType: "Type";
531
+ readonly tableSubject: "Sujet";
532
+ readonly tableSummary: "Résumé";
533
+ readonly tableCreatedAt: "Créé le";
534
+ readonly tableStatus: "État";
535
+ readonly listShowHint: "Utilisez \"melu show <préfixe-ID>\" pour voir les détails d'une mémoire.";
536
+ readonly memoryNotFoundByPrefix: "Aucune mémoire trouvée avec le préfixe d'ID '{id}'";
537
+ readonly multipleMemoryMatches: "Plusieurs mémoires correspondent. Veuillez fournir un ID plus précis.";
538
+ readonly deletedMemory: "Supprimé : {summary}";
539
+ readonly memoryAlreadyEmpty: "La mémoire est déjà vide";
540
+ readonly confirmClearMemories: "Supprimer {count} mémoires ? Cette action est irréversible (y/N) : ";
541
+ readonly clearedMemories: "{count} mémoires supprimées";
542
+ readonly exportedTo: "Exporté vers : {path}";
543
+ readonly sourceFileNotFound: "Fichier introuvable : {path}";
544
+ readonly importedMemories: "{count} mémoires importées";
545
+ readonly statusRunning: "État du proxy : en cours (PID : {pid}, port : {port})";
546
+ readonly statusStopped: "État du proxy : arrêté";
547
+ readonly statusMemoryFile: "Fichier mémoire : {path}";
548
+ readonly statusActiveMemories: "Mémoires actives : {count}";
549
+ readonly statusEmbedding: "Embedding : {model}";
550
+ readonly statusMirrorSource: "Source miroir : {label}";
551
+ readonly statusModelFile: "Fichier modèle : {status}";
552
+ readonly statusDownloaded: "téléchargé";
553
+ readonly statusNotDownloaded: "non téléchargé";
554
+ readonly notSet: "non défini";
555
+ readonly portInUse: "Le port {port} est déjà utilisé. Arrêtez le processus en conflit ou choisissez un autre port.";
556
+ readonly proxyStartupTimeout: "Délai de démarrage du service proxy dépassé";
557
+ readonly extractingConversationMemories: "[Melu] Extraction des mémoires à partir de {count} conversations...";
558
+ readonly singleExtractionFailed: "[Melu] Échec de l'extraction d'un élément en attente :";
559
+ readonly extractedNewMemories: "[Melu] {count} nouvelles mémoires extraites lors de cette exécution";
560
+ readonly noNewMemories: "[Melu] Aucune nouvelle mémoire lors de cette exécution";
561
+ readonly runSummaryTitle: "[Melu] résumé d'exécution ({runId})";
562
+ readonly runSummaryProcessed: "[Melu] traités : {count}";
563
+ readonly runSummaryEffectiveNewMemories: "[Melu] nouvelles mémoires utiles : {count}";
564
+ readonly runSummaryFailed: "[Melu] échecs : {count}";
565
+ readonly runSummaryRemainingQueue: "[Melu] file restante : {count}";
566
+ readonly languagePromptTitle: "Sélectionnez la langue d'affichage de Melu :";
567
+ readonly menuHint: "Utilisez les flèches pour naviguer, puis Entrée pour confirmer.";
568
+ readonly languagePromptInput: "Sélectionnez une langue :";
569
+ readonly languagePromptRetry: "Veuillez sélectionner une option valide.";
570
+ readonly languageSet: "Langue d'affichage : {language}";
571
+ readonly mirrorPromptTitle: "Sélectionnez la source du modèle GGUF d'embedding :";
572
+ readonly mirrorPromptInput: "Sélectionnez une source de modèle :";
573
+ readonly mirrorPromptRetry: "Veuillez sélectionner une option valide.";
574
+ readonly mirrorHintHuggingFace: "Recommandé pour un accès réseau mondial";
575
+ readonly mirrorHintModelScope: "Recommandé pour le réseau de Chine continentale";
576
+ readonly mirrorSelectionRequired: "Une source miroir doit être choisie avant la configuration du modèle. Exécutez `melu init --mirror huggingface` ou `melu init --mirror modelscope`.";
577
+ readonly embeddingDownload: "[Melu] Téléchargement du modèle d'embedding : {file}";
578
+ readonly labelSource: "[Melu] Source : {label}";
579
+ readonly labelSavedTo: "[Melu] Enregistrement dans : {path}";
580
+ readonly downloadProgressDownloadingTo: "Téléchargement vers";
581
+ readonly downloadProgressDownloadedTo: "Téléchargé vers";
582
+ readonly modelAlreadyAvailable: "[Melu] Modèle d'embedding déjà détecté : {path}";
583
+ readonly modelSkipDownload: "[Melu] Téléchargement ignoré.";
584
+ readonly runtimeBinaryUnavailable: "Aucun runtime llama.cpp précompilé n'est disponible sur cette plateforme. Melu ne compile pas automatiquement les dépendances natives locales. Utilisez Node 20+ sur macOS, Linux ou Windows arm64/x64.";
585
+ readonly memoryUpdated: "[Melu] Mémoire mise à jour : '{summary}' a remplacé '{previous}'";
586
+ readonly memoryNew: "[Melu] Nouvelle mémoire : [{category}] {summary}";
587
+ readonly embeddingFailed: "[Melu] Échec de l'embedding :";
588
+ readonly claudePExtracting: "[Melu:DEBUG] Extraction de mémoire via claude -p";
589
+ readonly claudePExitCode: "[Melu] Code de sortie de claude -p : {code}, stderr : {stderr}";
590
+ readonly claudePStartFailed: "[Melu] Impossible de démarrer claude -p : {message}";
591
+ };
592
+ readonly ru: {
593
+ readonly programDescription: "Melu - прозрачный прокси долговременной памяти ИИ";
594
+ readonly cmdInitDescription: "Первичная настройка: создать каталоги, конфиг и файл памяти по умолчанию";
595
+ readonly cmdRunDescription: "Запустить любой Agent с постоянной памятью";
596
+ readonly cmdStopDescription: "Остановить фоновый прокси-сервис";
597
+ readonly cmdListDescription: "Показать текущие записи памяти";
598
+ readonly cmdDeleteDescription: "Удалить запись памяти по префиксу ID";
599
+ readonly cmdClearDescription: "Очистить текущую память (с подтверждением)";
600
+ readonly cmdExportDescription: "Экспортировать текущую память в файл .memory";
601
+ readonly cmdImportDescription: "Импортировать память из файла .memory";
602
+ readonly cmdStatusDescription: "Показать состояние сервиса, число записей памяти и сведения о модели";
603
+ readonly optMirrorDescription: "Источник зеркала модели (huggingface | modelscope)";
604
+ readonly optMemoryDescription: "Файл памяти";
605
+ readonly optMemoryNameOrPathDescription: "Имя памяти или путь";
606
+ readonly optAllDescription: "Включить неактивные записи памяти";
607
+ readonly optYesDescription: "Пропустить подтверждение";
608
+ readonly optPortDescription: "Порт прокси";
609
+ readonly optOutputDescription: "Путь к выходному файлу";
610
+ readonly argCommandDescription: "Команда для выполнения";
611
+ readonly initTitle: "Настройка Melu";
612
+ readonly labelDirectory: "Каталог";
613
+ readonly labelConfig: "Конфиг";
614
+ readonly labelMemory: "Память";
615
+ readonly initComplete: "Настройка завершена.";
616
+ readonly labelMirrorSource: "Источник зеркала";
617
+ readonly embeddingModelReady: "Модель embedding готова.";
618
+ readonly usageRunClaude: "Использование: melu run -- claude";
619
+ readonly runProxy: "Прокси";
620
+ readonly runMemory: "Память";
621
+ readonly memoryExtractionFailed: "[Melu] Не удалось извлечь память:";
622
+ readonly proxyNotRunning: "Прокси-сервис не запущен";
623
+ readonly proxyStopped: "Прокси-сервис остановлен (PID: {pid})";
624
+ readonly proxyAlreadyGone: "Прокси-сервис уже не существует";
625
+ readonly memoryFileNotFound: "Файл памяти не найден: {path}";
626
+ readonly noMemories: "Память пока пуста";
627
+ readonly memoriesTitle: "Память ({count})";
628
+ readonly tableType: "Тип";
629
+ readonly tableSubject: "Тема";
630
+ readonly tableSummary: "Сводка";
631
+ readonly tableCreatedAt: "Создано";
632
+ readonly tableStatus: "Статус";
633
+ readonly listShowHint: "Используйте \"melu show <префикс-ID>\" для просмотра подробностей.";
634
+ readonly memoryNotFoundByPrefix: "Запись памяти с префиксом ID '{id}' не найдена";
635
+ readonly multipleMemoryMatches: "Найдено несколько совпадений. Укажите более точный ID.";
636
+ readonly deletedMemory: "Удалено: {summary}";
637
+ readonly memoryAlreadyEmpty: "Память уже пуста";
638
+ readonly confirmClearMemories: "Очистить {count} записей памяти? Это действие нельзя отменить (y/N): ";
639
+ readonly clearedMemories: "Очищено {count} записей памяти";
640
+ readonly exportedTo: "Экспортировано в: {path}";
641
+ readonly sourceFileNotFound: "Файл не найден: {path}";
642
+ readonly importedMemories: "Импортировано {count} записей памяти";
643
+ readonly statusRunning: "Статус прокси: запущен (PID: {pid}, порт: {port})";
644
+ readonly statusStopped: "Статус прокси: остановлен";
645
+ readonly statusMemoryFile: "Файл памяти: {path}";
646
+ readonly statusActiveMemories: "Активных записей памяти: {count}";
647
+ readonly statusEmbedding: "Embedding: {model}";
648
+ readonly statusMirrorSource: "Источник зеркала: {label}";
649
+ readonly statusModelFile: "Файл модели: {status}";
650
+ readonly statusDownloaded: "загружен";
651
+ readonly statusNotDownloaded: "не загружен";
652
+ readonly notSet: "не задано";
653
+ readonly portInUse: "Порт {port} уже занят. Остановите конфликтующий процесс или выберите другой порт.";
654
+ readonly proxyStartupTimeout: "Истекло время запуска прокси-сервиса";
655
+ readonly extractingConversationMemories: "[Melu] Извлечение памяти из {count} диалогов...";
656
+ readonly singleExtractionFailed: "[Melu] Не удалось обработать один элемент очереди:";
657
+ readonly extractedNewMemories: "[Melu] За этот запуск извлечено {count} новых записей памяти";
658
+ readonly noNewMemories: "[Melu] В этом запуске новых записей памяти нет";
659
+ readonly runSummaryTitle: "[Melu] сводка запуска ({runId})";
660
+ readonly runSummaryProcessed: "[Melu] обработано: {count}";
661
+ readonly runSummaryEffectiveNewMemories: "[Melu] полезных новых записей: {count}";
662
+ readonly runSummaryFailed: "[Melu] ошибок: {count}";
663
+ readonly runSummaryRemainingQueue: "[Melu] очередь осталась: {count}";
664
+ readonly languagePromptTitle: "Выберите язык интерфейса Melu:";
665
+ readonly menuHint: "Используйте стрелки для выбора и Enter для подтверждения.";
666
+ readonly languagePromptInput: "Выберите язык:";
667
+ readonly languagePromptRetry: "Выберите корректный вариант.";
668
+ readonly languageSet: "Язык интерфейса: {language}";
669
+ readonly mirrorPromptTitle: "Выберите источник GGUF embedding модели:";
670
+ readonly mirrorPromptInput: "Выберите источник модели:";
671
+ readonly mirrorPromptRetry: "Выберите корректный вариант.";
672
+ readonly mirrorHintHuggingFace: "Подходит для глобального доступа к сети";
673
+ readonly mirrorHintModelScope: "Подходит для сетевой среды материкового Китая";
674
+ readonly mirrorSelectionRequired: "Перед настройкой модели нужно выбрать источник зеркала. Выполните `melu init --mirror huggingface` или `melu init --mirror modelscope`.";
675
+ readonly embeddingDownload: "[Melu] Загрузка embedding модели: {file}";
676
+ readonly labelSource: "[Melu] Источник: {label}";
677
+ readonly labelSavedTo: "[Melu] Сохранение в: {path}";
678
+ readonly downloadProgressDownloadingTo: "Загрузка в";
679
+ readonly downloadProgressDownloadedTo: "Загружено в";
680
+ readonly modelAlreadyAvailable: "[Melu] Embedding модель уже найдена: {path}";
681
+ readonly modelSkipDownload: "[Melu] Загрузка пропущена.";
682
+ readonly runtimeBinaryUnavailable: "Для этой платформы нет доступного предсобранного runtime llama.cpp. Melu не компилирует локальные нативные зависимости автоматически. Используйте Node 20+ на macOS, Linux или Windows arm64/x64.";
683
+ readonly memoryUpdated: "[Melu] Память обновлена: '{summary}' заменила '{previous}'";
684
+ readonly memoryNew: "[Melu] Новая память: [{category}] {summary}";
685
+ readonly embeddingFailed: "[Melu] Ошибка embedding:";
686
+ readonly claudePExtracting: "[Melu:DEBUG] Извлечение памяти через claude -p";
687
+ readonly claudePExitCode: "[Melu] Код выхода claude -p: {code}, stderr: {stderr}";
688
+ readonly claudePStartFailed: "[Melu] Не удалось запустить claude -p: {message}";
689
+ };
690
+ readonly de: {
691
+ readonly programDescription: "Melu - transparenter KI-Speicher-Proxy";
692
+ readonly cmdInitDescription: "Ersteinrichtung: Verzeichnisse, Konfiguration und Standard-Speicherdatei erstellen";
693
+ readonly cmdRunDescription: "Beliebigen Agent mit dauerhaftem Speicher ausführen";
694
+ readonly cmdStopDescription: "Den Hintergrund-Proxy-Dienst beenden";
695
+ readonly cmdListDescription: "Aktuelle Speichereinträge auflisten";
696
+ readonly cmdDeleteDescription: "Einen Speichereintrag per ID-Präfix löschen";
697
+ readonly cmdClearDescription: "Aktuellen Speicher leeren (mit Bestätigung)";
698
+ readonly cmdExportDescription: "Aktuellen Speicher in eine .memory-Datei exportieren";
699
+ readonly cmdImportDescription: "Speicher aus einer .memory-Datei importieren";
700
+ readonly cmdStatusDescription: "Dienststatus, Anzahl der Erinnerungen und Modellinfos anzeigen";
701
+ readonly optMirrorDescription: "Modell-Spiegelquelle (huggingface | modelscope)";
702
+ readonly optMemoryDescription: "Speicherdatei";
703
+ readonly optMemoryNameOrPathDescription: "Speichername oder Pfad";
704
+ readonly optAllDescription: "Inaktive Erinnerungen einschließen";
705
+ readonly optYesDescription: "Bestätigung überspringen";
706
+ readonly optPortDescription: "Proxy-Port";
707
+ readonly optOutputDescription: "Pfad der Ausgabedatei";
708
+ readonly argCommandDescription: "Auszuführender Befehl";
709
+ readonly initTitle: "Melu-Einrichtung";
710
+ readonly labelDirectory: "Verzeichnis";
711
+ readonly labelConfig: "Konfiguration";
712
+ readonly labelMemory: "Speicher";
713
+ readonly initComplete: "Einrichtung abgeschlossen!";
714
+ readonly labelMirrorSource: "Spiegelquelle";
715
+ readonly embeddingModelReady: "Das Embedding-Modell ist bereit.";
716
+ readonly usageRunClaude: "Verwendung: melu run -- claude";
717
+ readonly runProxy: "Proxy";
718
+ readonly runMemory: "Speicher";
719
+ readonly memoryExtractionFailed: "[Melu] Speicherauszug fehlgeschlagen:";
720
+ readonly proxyNotRunning: "Der Proxy-Dienst läuft nicht";
721
+ readonly proxyStopped: "Proxy-Dienst gestoppt (PID: {pid})";
722
+ readonly proxyAlreadyGone: "Der Proxy-Dienst existiert nicht mehr";
723
+ readonly memoryFileNotFound: "Speicherdatei nicht gefunden: {path}";
724
+ readonly noMemories: "Noch keine Erinnerungen";
725
+ readonly memoriesTitle: "Erinnerungen ({count})";
726
+ readonly tableType: "Typ";
727
+ readonly tableSubject: "Thema";
728
+ readonly tableSummary: "Zusammenfassung";
729
+ readonly tableCreatedAt: "Erstellt am";
730
+ readonly tableStatus: "Status";
731
+ readonly listShowHint: "Verwenden Sie \"melu show <ID-Präfix>\" für Details einer Erinnerung.";
732
+ readonly memoryNotFoundByPrefix: "Keine Erinnerung mit ID-Präfix '{id}' gefunden";
733
+ readonly multipleMemoryMatches: "Mehrere Erinnerungen gefunden. Bitte gib eine genauere ID an.";
734
+ readonly deletedMemory: "Gelöscht: {summary}";
735
+ readonly memoryAlreadyEmpty: "Der Speicher ist bereits leer";
736
+ readonly confirmClearMemories: "{count} Erinnerungen löschen? Dieser Vorgang kann nicht rückgängig gemacht werden (y/N): ";
737
+ readonly clearedMemories: "{count} Erinnerungen gelöscht";
738
+ readonly exportedTo: "Exportiert nach: {path}";
739
+ readonly sourceFileNotFound: "Datei nicht gefunden: {path}";
740
+ readonly importedMemories: "{count} Erinnerungen importiert";
741
+ readonly statusRunning: "Proxy-Status: läuft (PID: {pid}, Port: {port})";
742
+ readonly statusStopped: "Proxy-Status: gestoppt";
743
+ readonly statusMemoryFile: "Speicherdatei: {path}";
744
+ readonly statusActiveMemories: "Aktive Erinnerungen: {count}";
745
+ readonly statusEmbedding: "Embedding: {model}";
746
+ readonly statusMirrorSource: "Spiegelquelle: {label}";
747
+ readonly statusModelFile: "Modelldatei: {status}";
748
+ readonly statusDownloaded: "heruntergeladen";
749
+ readonly statusNotDownloaded: "nicht heruntergeladen";
750
+ readonly notSet: "Nicht festgelegt";
751
+ readonly portInUse: "Port {port} wird bereits verwendet. Beende den Konfliktprozess oder wähle einen anderen Port.";
752
+ readonly proxyStartupTimeout: "Zeitüberschreitung beim Start des Proxy-Dienstes";
753
+ readonly extractingConversationMemories: "[Melu] Extrahiere Erinnerungen aus {count} Unterhaltungen...";
754
+ readonly singleExtractionFailed: "[Melu] Ein Eintrag aus der Warteschlange konnte nicht extrahiert werden:";
755
+ readonly extractedNewMemories: "[Melu] Bei diesem Lauf wurden {count} neue Erinnerungen extrahiert";
756
+ readonly noNewMemories: "[Melu] Bei diesem Lauf wurden keine neuen Erinnerungen extrahiert";
757
+ readonly runSummaryTitle: "[Melu] Ausführungsübersicht ({runId})";
758
+ readonly runSummaryProcessed: "[Melu] verarbeitet: {count}";
759
+ readonly runSummaryEffectiveNewMemories: "[Melu] nützliche neue Erinnerungen: {count}";
760
+ readonly runSummaryFailed: "[Melu] fehlgeschlagen: {count}";
761
+ readonly runSummaryRemainingQueue: "[Melu] verbleibende Warteschlange: {count}";
762
+ readonly languagePromptTitle: "Wähle die Anzeigesprache für Melu:";
763
+ readonly menuHint: "Mit den Pfeiltasten navigieren, mit Enter bestätigen.";
764
+ readonly languagePromptInput: "Sprache auswählen:";
765
+ readonly languagePromptRetry: "Bitte eine gültige Option auswählen.";
766
+ readonly languageSet: "Anzeigesprache: {language}";
767
+ readonly mirrorPromptTitle: "Wähle die Quelle für das GGUF-Embedding-Modell:";
768
+ readonly mirrorPromptInput: "Modellquelle auswählen:";
769
+ readonly mirrorPromptRetry: "Bitte eine gültige Option auswählen.";
770
+ readonly mirrorHintHuggingFace: "Empfohlen für globale Netzwerke";
771
+ readonly mirrorHintModelScope: "Empfohlen für Netzwerke auf dem chinesischen Festland";
772
+ readonly mirrorSelectionRequired: "Vor der Modelleinrichtung muss eine Spiegelquelle gewählt werden. Führe `melu init --mirror huggingface` oder `melu init --mirror modelscope` aus.";
773
+ readonly embeddingDownload: "[Melu] Embedding-Modell wird heruntergeladen: {file}";
774
+ readonly labelSource: "[Melu] Quelle: {label}";
775
+ readonly labelSavedTo: "[Melu] Speichern nach: {path}";
776
+ readonly downloadProgressDownloadingTo: "Herunterladen nach";
777
+ readonly downloadProgressDownloadedTo: "Heruntergeladen nach";
778
+ readonly modelAlreadyAvailable: "[Melu] Embedding-Modell bereits gefunden: {path}";
779
+ readonly modelSkipDownload: "[Melu] Download wird übersprungen.";
780
+ readonly runtimeBinaryUnavailable: "Für diese Plattform ist keine vorgebaute llama.cpp-Laufzeit verfügbar. Melu kompiliert lokale native Abhängigkeiten nicht automatisch. Verwende Node 20+ unter macOS, Linux oder Windows arm64/x64.";
781
+ readonly memoryUpdated: "[Melu] Erinnerung aktualisiert: '{summary}' ersetzte '{previous}'";
782
+ readonly memoryNew: "[Melu] Neue Erinnerung: [{category}] {summary}";
783
+ readonly embeddingFailed: "[Melu] Embedding fehlgeschlagen:";
784
+ readonly claudePExtracting: "[Melu:DEBUG] Extrahiere Erinnerung über claude -p";
785
+ readonly claudePExitCode: "[Melu] claude -p wurde mit Code {code} beendet, stderr: {stderr}";
786
+ readonly claudePStartFailed: "[Melu] Start von claude -p fehlgeschlagen: {message}";
787
+ };
788
+ readonly es: {
789
+ readonly programDescription: "Melu - proxy transparente de memoria de IA";
790
+ readonly cmdInitDescription: "Configuración inicial: crear directorios, configuración y archivo de memoria predeterminado";
791
+ readonly cmdRunDescription: "Ejecutar cualquier agent con memoria persistente";
792
+ readonly cmdStopDescription: "Detener el servicio proxy en segundo plano";
793
+ readonly cmdListDescription: "Listar las entradas de memoria actuales";
794
+ readonly cmdDeleteDescription: "Eliminar una memoria por prefijo de ID";
795
+ readonly cmdClearDescription: "Vaciar la memoria actual (con confirmación)";
796
+ readonly cmdExportDescription: "Exportar la memoria actual a un archivo .memory";
797
+ readonly cmdImportDescription: "Importar memorias desde un archivo .memory";
798
+ readonly cmdStatusDescription: "Mostrar estado del servicio, cantidad de memorias e información del modelo";
799
+ readonly optMirrorDescription: "Origen espejo del modelo (huggingface | modelscope)";
800
+ readonly optMemoryDescription: "Archivo de memoria";
801
+ readonly optMemoryNameOrPathDescription: "Nombre o ruta de la memoria";
802
+ readonly optAllDescription: "Incluir memorias inactivas";
803
+ readonly optYesDescription: "Omitir confirmación";
804
+ readonly optPortDescription: "Puerto del proxy";
805
+ readonly optOutputDescription: "Ruta del archivo de salida";
806
+ readonly argCommandDescription: "Comando a ejecutar";
807
+ readonly initTitle: "Configuración de Melu";
808
+ readonly labelDirectory: "Directorio";
809
+ readonly labelConfig: "Configuración";
810
+ readonly labelMemory: "Memoria";
811
+ readonly initComplete: "¡Configuración completada!";
812
+ readonly labelMirrorSource: "Origen espejo";
813
+ readonly embeddingModelReady: "El modelo de embedding está listo.";
814
+ readonly usageRunClaude: "Uso: melu run -- claude";
815
+ readonly runProxy: "Proxy";
816
+ readonly runMemory: "Memoria";
817
+ readonly memoryExtractionFailed: "[Melu] Falló la extracción de memoria:";
818
+ readonly proxyNotRunning: "El servicio proxy no está en ejecución";
819
+ readonly proxyStopped: "Servicio proxy detenido (PID: {pid})";
820
+ readonly proxyAlreadyGone: "El servicio proxy ya no existe";
821
+ readonly memoryFileNotFound: "Archivo de memoria no encontrado: {path}";
822
+ readonly noMemories: "Aún no hay memorias";
823
+ readonly memoriesTitle: "Memorias ({count})";
824
+ readonly tableType: "Tipo";
825
+ readonly tableSubject: "Tema";
826
+ readonly tableSummary: "Resumen";
827
+ readonly tableCreatedAt: "Creado el";
828
+ readonly tableStatus: "Estado";
829
+ readonly listShowHint: "Use \"melu show <prefijo-ID>\" para ver los detalles de una memoria.";
830
+ readonly memoryNotFoundByPrefix: "No se encontró ninguna memoria con el prefijo de ID '{id}'";
831
+ readonly multipleMemoryMatches: "Se encontraron varias memorias. Proporciona un ID más específico.";
832
+ readonly deletedMemory: "Eliminado: {summary}";
833
+ readonly memoryAlreadyEmpty: "La memoria ya está vacía";
834
+ readonly confirmClearMemories: "¿Eliminar {count} memorias? Esta acción no se puede deshacer (y/N): ";
835
+ readonly clearedMemories: "Se eliminaron {count} memorias";
836
+ readonly exportedTo: "Exportado a: {path}";
837
+ readonly sourceFileNotFound: "Archivo no encontrado: {path}";
838
+ readonly importedMemories: "Se importaron {count} memorias";
839
+ readonly statusRunning: "Estado del proxy: en ejecución (PID: {pid}, puerto: {port})";
840
+ readonly statusStopped: "Estado del proxy: detenido";
841
+ readonly statusMemoryFile: "Archivo de memoria: {path}";
842
+ readonly statusActiveMemories: "Memorias activas: {count}";
843
+ readonly statusEmbedding: "Embedding: {model}";
844
+ readonly statusMirrorSource: "Origen espejo: {label}";
845
+ readonly statusModelFile: "Archivo del modelo: {status}";
846
+ readonly statusDownloaded: "descargado";
847
+ readonly statusNotDownloaded: "no descargado";
848
+ readonly notSet: "No establecido";
849
+ readonly portInUse: "El puerto {port} ya está en uso. Detén el proceso en conflicto o elige otro puerto.";
850
+ readonly proxyStartupTimeout: "Tiempo de espera agotado al iniciar el servicio proxy";
851
+ readonly extractingConversationMemories: "[Melu] Extrayendo memorias de {count} conversaciones...";
852
+ readonly singleExtractionFailed: "[Melu] No se pudo extraer un elemento en cola:";
853
+ readonly extractedNewMemories: "[Melu] En esta ejecución se extrajeron {count} memorias nuevas";
854
+ readonly noNewMemories: "[Melu] No se extrajeron memorias nuevas en esta ejecución";
855
+ readonly runSummaryTitle: "[Melu] resumen de ejecución ({runId})";
856
+ readonly runSummaryProcessed: "[Melu] procesadas: {count}";
857
+ readonly runSummaryEffectiveNewMemories: "[Melu] nuevas memorias útiles: {count}";
858
+ readonly runSummaryFailed: "[Melu] fallos: {count}";
859
+ readonly runSummaryRemainingQueue: "[Melu] cola restante: {count}";
860
+ readonly languagePromptTitle: "Selecciona el idioma de visualización de Melu:";
861
+ readonly menuHint: "Usa las flechas para moverte y Enter para confirmar.";
862
+ readonly languagePromptInput: "Selecciona un idioma:";
863
+ readonly languagePromptRetry: "Selecciona una opción válida.";
864
+ readonly languageSet: "Idioma de visualización: {language}";
865
+ readonly mirrorPromptTitle: "Selecciona el origen del modelo GGUF de embedding:";
866
+ readonly mirrorPromptInput: "Selecciona una fuente del modelo:";
867
+ readonly mirrorPromptRetry: "Selecciona una opción válida.";
868
+ readonly mirrorHintHuggingFace: "Recomendado para redes globales";
869
+ readonly mirrorHintModelScope: "Recomendado para redes de China continental";
870
+ readonly mirrorSelectionRequired: "Debes elegir un origen espejo antes de configurar el modelo. Ejecuta `melu init --mirror huggingface` o `melu init --mirror modelscope`.";
871
+ readonly embeddingDownload: "[Melu] Descargando modelo de embedding: {file}";
872
+ readonly labelSource: "[Melu] Origen: {label}";
873
+ readonly labelSavedTo: "[Melu] Guardando en: {path}";
874
+ readonly downloadProgressDownloadingTo: "Descargando en";
875
+ readonly downloadProgressDownloadedTo: "Descargado en";
876
+ readonly modelAlreadyAvailable: "[Melu] Modelo de embedding ya encontrado: {path}";
877
+ readonly modelSkipDownload: "[Melu] Omitiendo descarga.";
878
+ readonly runtimeBinaryUnavailable: "No hay un runtime precompilado de llama.cpp disponible para esta plataforma. Melu no compila automáticamente dependencias nativas locales. Usa Node 20+ en macOS, Linux o Windows arm64/x64.";
879
+ readonly memoryUpdated: "[Melu] Memoria actualizada: '{summary}' reemplazó a '{previous}'";
880
+ readonly memoryNew: "[Melu] Nueva memoria: [{category}] {summary}";
881
+ readonly embeddingFailed: "[Melu] Falló el embedding:";
882
+ readonly claudePExtracting: "[Melu:DEBUG] Extrayendo memoria mediante claude -p";
883
+ readonly claudePExitCode: "[Melu] claude -p salió con código {code}, stderr: {stderr}";
884
+ readonly claudePStartFailed: "[Melu] No se pudo iniciar claude -p: {message}";
885
+ };
886
+ readonly pt: {
887
+ readonly programDescription: "Melu - proxy transparente de memória de IA";
888
+ readonly cmdInitDescription: "Configuração inicial: criar diretórios, configuração e arquivo de memória padrão";
889
+ readonly cmdRunDescription: "Executar qualquer agent com memória persistente";
890
+ readonly cmdStopDescription: "Parar o serviço de proxy em segundo plano";
891
+ readonly cmdListDescription: "Listar as entradas de memória atuais";
892
+ readonly cmdDeleteDescription: "Excluir uma memória pelo prefixo do ID";
893
+ readonly cmdClearDescription: "Limpar a memória atual (com confirmação)";
894
+ readonly cmdExportDescription: "Exportar a memória atual para um arquivo .memory";
895
+ readonly cmdImportDescription: "Importar memórias de um arquivo .memory";
896
+ readonly cmdStatusDescription: "Mostrar status do serviço, quantidade de memórias e informações do modelo";
897
+ readonly optMirrorDescription: "Fonte espelho do modelo (huggingface | modelscope)";
898
+ readonly optMemoryDescription: "Arquivo de memória";
899
+ readonly optMemoryNameOrPathDescription: "Nome ou caminho da memória";
900
+ readonly optAllDescription: "Incluir memórias inativas";
901
+ readonly optYesDescription: "Pular confirmação";
902
+ readonly optPortDescription: "Porta do proxy";
903
+ readonly optOutputDescription: "Caminho do arquivo de saída";
904
+ readonly argCommandDescription: "Comando a executar";
905
+ readonly initTitle: "Configuração do Melu";
906
+ readonly labelDirectory: "Diretório";
907
+ readonly labelConfig: "Configuração";
908
+ readonly labelMemory: "Memória";
909
+ readonly initComplete: "Configuração concluída!";
910
+ readonly labelMirrorSource: "Fonte espelho";
911
+ readonly embeddingModelReady: "O modelo de embedding está pronto.";
912
+ readonly usageRunClaude: "Uso: melu run -- claude";
913
+ readonly runProxy: "Proxy";
914
+ readonly runMemory: "Memória";
915
+ readonly memoryExtractionFailed: "[Melu] Falha na extração de memória:";
916
+ readonly proxyNotRunning: "O serviço de proxy não está em execução";
917
+ readonly proxyStopped: "Serviço de proxy parado (PID: {pid})";
918
+ readonly proxyAlreadyGone: "O serviço de proxy não existe mais";
919
+ readonly memoryFileNotFound: "Arquivo de memória não encontrado: {path}";
920
+ readonly noMemories: "Ainda não há memórias";
921
+ readonly memoriesTitle: "Memórias ({count})";
922
+ readonly tableType: "Tipo";
923
+ readonly tableSubject: "Assunto";
924
+ readonly tableSummary: "Resumo";
925
+ readonly tableCreatedAt: "Criado em";
926
+ readonly tableStatus: "Status";
927
+ readonly listShowHint: "Use \"melu show <prefixo-ID>\" para ver os detalhes de uma memória.";
928
+ readonly memoryNotFoundByPrefix: "Nenhuma memória encontrada com o prefixo de ID '{id}'";
929
+ readonly multipleMemoryMatches: "Várias memórias corresponderam. Forneça um ID mais específico.";
930
+ readonly deletedMemory: "Excluído: {summary}";
931
+ readonly memoryAlreadyEmpty: "A memória já está vazia";
932
+ readonly confirmClearMemories: "Excluir {count} memórias? Esta ação não pode ser desfeita (y/N): ";
933
+ readonly clearedMemories: "{count} memórias excluídas";
934
+ readonly exportedTo: "Exportado para: {path}";
935
+ readonly sourceFileNotFound: "Arquivo não encontrado: {path}";
936
+ readonly importedMemories: "{count} memórias importadas";
937
+ readonly statusRunning: "Status do proxy: em execução (PID: {pid}, porta: {port})";
938
+ readonly statusStopped: "Status do proxy: parado";
939
+ readonly statusMemoryFile: "Arquivo de memória: {path}";
940
+ readonly statusActiveMemories: "Memórias ativas: {count}";
941
+ readonly statusEmbedding: "Embedding: {model}";
942
+ readonly statusMirrorSource: "Fonte espelho: {label}";
943
+ readonly statusModelFile: "Arquivo do modelo: {status}";
944
+ readonly statusDownloaded: "baixado";
945
+ readonly statusNotDownloaded: "não baixado";
946
+ readonly notSet: "Não definido";
947
+ readonly portInUse: "A porta {port} já está em uso. Encerre o processo em conflito ou escolha outra porta.";
948
+ readonly proxyStartupTimeout: "Tempo limite ao iniciar o serviço de proxy";
949
+ readonly extractingConversationMemories: "[Melu] Extraindo memórias de {count} conversas...";
950
+ readonly singleExtractionFailed: "[Melu] Falha ao extrair um item da fila:";
951
+ readonly extractedNewMemories: "[Melu] Nesta execução foram extraídas {count} novas memórias";
952
+ readonly noNewMemories: "[Melu] Nenhuma nova memória foi extraída nesta execução";
953
+ readonly runSummaryTitle: "[Melu] resumo da execução ({runId})";
954
+ readonly runSummaryProcessed: "[Melu] processadas: {count}";
955
+ readonly runSummaryEffectiveNewMemories: "[Melu] novas memórias úteis: {count}";
956
+ readonly runSummaryFailed: "[Melu] falhas: {count}";
957
+ readonly runSummaryRemainingQueue: "[Melu] fila restante: {count}";
958
+ readonly languagePromptTitle: "Selecione o idioma de exibição do Melu:";
959
+ readonly menuHint: "Use as setas para navegar e Enter para confirmar.";
960
+ readonly languagePromptInput: "Selecione um idioma:";
961
+ readonly languagePromptRetry: "Selecione uma opção válida.";
962
+ readonly languageSet: "Idioma de exibição: {language}";
963
+ readonly mirrorPromptTitle: "Selecione a fonte do modelo GGUF de embedding:";
964
+ readonly mirrorPromptInput: "Selecione a fonte do modelo:";
965
+ readonly mirrorPromptRetry: "Selecione uma opção válida.";
966
+ readonly mirrorHintHuggingFace: "Recomendado para redes globais";
967
+ readonly mirrorHintModelScope: "Recomendado para redes da China continental";
968
+ readonly mirrorSelectionRequired: "Você precisa escolher uma fonte espelho antes de configurar o modelo. Execute `melu init --mirror huggingface` ou `melu init --mirror modelscope`.";
969
+ readonly embeddingDownload: "[Melu] Baixando modelo de embedding: {file}";
970
+ readonly labelSource: "[Melu] Fonte: {label}";
971
+ readonly labelSavedTo: "[Melu] Salvando em: {path}";
972
+ readonly downloadProgressDownloadingTo: "Baixando para";
973
+ readonly downloadProgressDownloadedTo: "Baixado para";
974
+ readonly modelAlreadyAvailable: "[Melu] Modelo de embedding já encontrado: {path}";
975
+ readonly modelSkipDownload: "[Melu] Ignorando download.";
976
+ readonly runtimeBinaryUnavailable: "Não há um runtime pré-compilado do llama.cpp disponível para esta plataforma. O Melu não compila automaticamente dependências nativas locais. Use Node 20+ no macOS, Linux ou Windows arm64/x64.";
977
+ readonly memoryUpdated: "[Melu] Memória atualizada: '{summary}' substituiu '{previous}'";
978
+ readonly memoryNew: "[Melu] Nova memória: [{category}] {summary}";
979
+ readonly embeddingFailed: "[Melu] Falha no embedding:";
980
+ readonly claudePExtracting: "[Melu:DEBUG] Extraindo memória via claude -p";
981
+ readonly claudePExitCode: "[Melu] claude -p terminou com código {code}, stderr: {stderr}";
982
+ readonly claudePStartFailed: "[Melu] Falha ao iniciar claude -p: {message}";
983
+ };
984
+ };
985
+ export type TranslationKey = keyof typeof MESSAGES.en;
986
+ export declare function resolveUiLanguage(language: UiLanguage | null | undefined): UiLanguage;
987
+ export declare function getUiLanguageLabel(language: UiLanguage): string;
988
+ export declare function t(language: UiLanguage | null | undefined, key: TranslationKey, params?: TranslationParams): string;
989
+ export declare function createI18n(language: UiLanguage | null | undefined): {
990
+ language: "en" | "zh-CN" | "zh-TW" | "ja" | "ko" | "fr" | "ru" | "de" | "es" | "pt";
991
+ t(key: TranslationKey, params?: TranslationParams): string;
992
+ };
993
+ export declare function getLocalizedMirrorLabel(mirror: MirrorName, _language: UiLanguage | null | undefined): string;
994
+ export {};
995
+ //# sourceMappingURL=i18n.d.ts.map