cc-viewer 0.1.6 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Claude Code Viewer</title>
7
7
 
8
- <script type="module" crossorigin src="/assets/index-B_2FZecC.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-BX8W4MxH.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-C7-c9XfU.css">
10
10
  </head>
11
11
  <body>
package/lib/server.js CHANGED
@@ -4,6 +4,7 @@ import { fileURLToPath } from 'node:url';
4
4
  import { dirname, join, extname, basename } from 'node:path';
5
5
  import { homedir } from 'node:os';
6
6
  import { LOG_FILE } from '../interceptor.js';
7
+ import { t } from '../i18n.js';
7
8
 
8
9
  const LOG_DIR = join(homedir(), '.claude', 'cc-viewer');
9
10
  const SHOW_ALL_FILE = '/tmp/cc-viewer-show-all';
@@ -326,7 +327,7 @@ export async function startViewer() {
326
327
  if (alive) {
327
328
  actualPort = existingPort;
328
329
  releaseLock();
329
- console.log(`\n🔍 CC Viewer 已在运行: http://${HOST}:${existingPort}\n`);
330
+ console.log(t('server.reuse', { host: HOST, port: existingPort }));
330
331
  return null;
331
332
  }
332
333
  }
@@ -340,7 +341,7 @@ export async function startViewer() {
340
341
  return new Promise((resolve, reject) => {
341
342
  function tryListen(port) {
342
343
  if (port > MAX_PORT) {
343
- console.log(`⚠️ 端口 ${START_PORT}-${MAX_PORT} 均被占用,请求监控服务未启动`);
344
+ console.log(t('server.portsBusy', { start: START_PORT, end: MAX_PORT }));
344
345
  releaseLock();
345
346
  resolve(null);
346
347
  return;
@@ -353,7 +354,7 @@ export async function startViewer() {
353
354
  actualPort = port;
354
355
  try { writeFileSync(PORT_FILE, String(port)); } catch {}
355
356
  releaseLock();
356
- console.log(`\n🔍 Claude 请求监控服务已启动: http://${HOST}:${port}\n`);
357
+ console.log(t('server.started', { host: HOST, port }));
357
358
  startWatching();
358
359
  resolve(server);
359
360
  });
@@ -0,0 +1,62 @@
1
+ {
2
+ "cli.inject.success": "✅ CC Viewer تم الحقن بنجاح",
3
+ "cli.inject.exists": "✅ CC Viewer محقون بالفعل، لا حاجة لأي إجراء",
4
+ "cli.inject.fail": "❌ فشل الحقن: {error}",
5
+ "cli.inject.notFound": "❌ لم يتم العثور على Claude Code cli.js: {path}",
6
+ "cli.inject.notFoundHint": " يرجى التأكد من تثبيت @anthropic-ai/claude-code",
7
+ "cli.hook.installed": "✅ تم كتابة hook إعادة الحقن التلقائي في {path}",
8
+ "cli.hook.exists": "✅ hook إعادة الحقن التلقائي موجود بالفعل في {path}",
9
+ "cli.hook.fail": "⚠️ فشل كتابة shell hook: {error}",
10
+ "cli.usage.hint": "\nقم بتشغيل claude مباشرة. سيتم إعادة الحقن تلقائياً بعد تحديثات Claude Code",
11
+ "cli.usage.uninstallHint": "لإلغاء التثبيت، قم بتشغيل: ccv --uninstall",
12
+ "cli.uninstall.cliCleaned": "✅ تم تنظيف حقن cli.js",
13
+ "cli.uninstall.cliNotFound": "⚠️ لم يتم العثور على Claude Code cli.js، تم التخطي",
14
+ "cli.uninstall.cliFail": "❌ فشل تنظيف حقن cli.js",
15
+ "cli.uninstall.hookRemoved": "✅ تم إزالة shell hook من {path}",
16
+ "cli.uninstall.hookClean": "✅ لا حاجة للتنظيف في {path}",
17
+ "cli.uninstall.hookFail": "❌ فشل تنظيف shell hook: {error}",
18
+ "cli.uninstall.done": "\n🗑️ تم إلغاء تثبيت CC Viewer بالكامل",
19
+
20
+ "server.started": "\n🔍 تم تشغيل CC Viewer: http://{host}:{port}\n",
21
+ "server.reuse": "\n🔍 CC Viewer يعمل بالفعل: http://{host}:{port}\n",
22
+ "server.portsBusy": "⚠️ المنافذ {start}-{end} كلها مشغولة، لم يتم تشغيل خدمة المراقبة",
23
+
24
+ "ui.requestList": "الطلبات",
25
+ "ui.totalRequests": "الإجمالي: {count}",
26
+ "ui.waitingRequests": "في انتظار الطلبات...",
27
+ "ui.importLocalLogs": "استيراد السجلات المحلية",
28
+ "ui.saveLog": "حفظ السجل الحالي",
29
+ "ui.exportPrompts": "تصدير Prompt المستخدم",
30
+ "ui.tokenStats": "إحصائيات Token",
31
+ "ui.liveMonitoring": "مباشر",
32
+ "ui.historyLog": "السجل: {file}",
33
+ "ui.chatMode": "وضع المحادثة",
34
+ "ui.rawMode": "العودة للوضع الخام",
35
+ "ui.cacheExpired": "منتهي الصلاحية",
36
+ "ui.cacheCountdown": "ينتهي cache{type} لـ MainAgent خلال: ",
37
+ "ui.minuteSecond": "{m}د{s}ث",
38
+ "ui.second": "{s}ث",
39
+ "ui.hitRate": "معدل الإصابة",
40
+ "ui.userPrompt": "Prompt المستخدم",
41
+ "ui.noPrompt": "لا توجد Prompt للمستخدم بعد",
42
+ "ui.unknownTime": "وقت غير معروف",
43
+ "ui.userSelection": "👤 اختيار المستخدم",
44
+ "ui.noAnswer": "لا إجابة",
45
+ "ui.systemContext": "سياق النظام #{index}",
46
+ "ui.logCount": "{count} سجلات",
47
+ "ui.noLogs": "لا توجد ملفات سجلات",
48
+
49
+ "ui.toolReturn": "نتيجة الأداة",
50
+ "ui.toolReturnNamed": "نتيجة {name}",
51
+ "ui.lastResponse": "Last Response",
52
+
53
+ "ui.copySuccess": "تم النسخ",
54
+ "ui.noHeaders": "لا يوجد Headers",
55
+ "ui.noBody": "لا يوجد Body",
56
+ "ui.streamingResponse": "⚡ استجابة متدفقة — استخدم هذا الطلب بث SSE، لا يمكن التقاط محتوى الاستجابة بالكامل.",
57
+ "ui.responseNotCaptured": "لم يتم التقاط بيانات الاستجابة",
58
+
59
+ "ui.expand": "▶ توسيع",
60
+ "ui.collapse": "▼ طي",
61
+ "ui.noChat": "لا توجد بيانات محادثة MainAgent"
62
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "cli.inject.success": "✅ CC Viewer indsprøjtet korrekt",
3
+ "cli.inject.exists": "✅ CC Viewer allerede indsprøjtet, ingen handling nødvendig",
4
+ "cli.inject.fail": "❌ Indsprøjtning mislykkedes: {error}",
5
+ "cli.inject.notFound": "❌ Claude Code cli.js ikke fundet: {path}",
6
+ "cli.inject.notFoundHint": " Sørg for at @anthropic-ai/claude-code er installeret",
7
+ "cli.hook.installed": "✅ Auto-reinject hook skrevet til {path}",
8
+ "cli.hook.exists": "✅ Auto-reinject hook findes allerede i {path}",
9
+ "cli.hook.fail": "⚠️ Kunne ikke skrive shell hook: {error}",
10
+ "cli.usage.hint": "\nKør claude direkte. Det vil automatisk genindsprøjte efter Claude Code opdateringer",
11
+ "cli.usage.uninstallHint": "For at afinstallere, kør: ccv --uninstall",
12
+ "cli.uninstall.cliCleaned": "✅ cli.js indsprøjtning renset",
13
+ "cli.uninstall.cliNotFound": "⚠️ Claude Code cli.js ikke fundet, sprunget over",
14
+ "cli.uninstall.cliFail": "❌ Kunne ikke rense cli.js indsprøjtning",
15
+ "cli.uninstall.hookRemoved": "✅ Shell hook fjernet fra {path}",
16
+ "cli.uninstall.hookClean": "✅ Ingen oprydning nødvendig i {path}",
17
+ "cli.uninstall.hookFail": "❌ Kunne ikke rense shell hook: {error}",
18
+ "cli.uninstall.done": "\n🗑️ CC Viewer fuldstændigt afinstalleret",
19
+
20
+ "server.started": "\n🔍 CC Viewer startet: http://{host}:{port}\n",
21
+ "server.reuse": "\n🔍 CC Viewer kører allerede: http://{host}:{port}\n",
22
+ "server.portsBusy": "⚠️ Porte {start}-{end} er alle i brug, overvågningstjeneste ikke startet",
23
+
24
+ "ui.requestList": "Forespørgsler",
25
+ "ui.totalRequests": "Total: {count}",
26
+ "ui.waitingRequests": "Venter på forespørgsler...",
27
+ "ui.importLocalLogs": "Importér lokale logs",
28
+ "ui.saveLog": "Gem nuværende log",
29
+ "ui.exportPrompts": "Eksportér bruger-prompts",
30
+ "ui.tokenStats": "Token-statistik",
31
+ "ui.liveMonitoring": "Live",
32
+ "ui.historyLog": "Historik: {file}",
33
+ "ui.chatMode": "Chat-tilstand",
34
+ "ui.rawMode": "Tilbage til rå tilstand",
35
+ "ui.cacheExpired": "Udløbet",
36
+ "ui.cacheCountdown": "MainAgent cache{type} udløber om: ",
37
+ "ui.minuteSecond": "{m}m{s}s",
38
+ "ui.second": "{s}s",
39
+ "ui.hitRate": "Hitrate",
40
+ "ui.userPrompt": "Bruger-Prompt",
41
+ "ui.noPrompt": "Ingen bruger-prompts endnu",
42
+ "ui.unknownTime": "Ukendt tid",
43
+ "ui.userSelection": "👤 Brugervalg",
44
+ "ui.noAnswer": "Intet svar",
45
+ "ui.systemContext": "Systemkontekst #{index}",
46
+ "ui.logCount": "{count} logs",
47
+ "ui.noLogs": "Ingen logfiler",
48
+
49
+ "ui.toolReturn": "Værktøjsresultat",
50
+ "ui.toolReturnNamed": "{name}-resultat",
51
+ "ui.lastResponse": "Last Response",
52
+
53
+ "ui.copySuccess": "Kopieret",
54
+ "ui.noHeaders": "Ingen Headers",
55
+ "ui.noBody": "Ingen Body",
56
+ "ui.streamingResponse": "⚡ Streaming-svar — Denne forespørgsel brugte SSE-streaming, svarindholdet kunne ikke fuldt indfanges.",
57
+ "ui.responseNotCaptured": "Svardata ikke indfanget",
58
+
59
+ "ui.expand": "▶ Udvid",
60
+ "ui.collapse": "▼ Fold sammen",
61
+ "ui.noChat": "Ingen MainAgent samtaledata"
62
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "cli.inject.success": "✅ CC Viewer erfolgreich injiziert",
3
+ "cli.inject.exists": "✅ CC Viewer bereits injiziert, keine Aktion nötig",
4
+ "cli.inject.fail": "❌ Injektion fehlgeschlagen: {error}",
5
+ "cli.inject.notFound": "❌ Claude Code cli.js nicht gefunden: {path}",
6
+ "cli.inject.notFoundHint": " Bitte stellen Sie sicher, dass @anthropic-ai/claude-code installiert ist",
7
+ "cli.hook.installed": "✅ Auto-Reinject-Hook in {path} geschrieben",
8
+ "cli.hook.exists": "✅ Auto-Reinject-Hook existiert bereits in {path}",
9
+ "cli.hook.fail": "⚠️ Shell-Hook konnte nicht geschrieben werden: {error}",
10
+ "cli.usage.hint": "\nFühren Sie claude direkt aus. Nach Claude Code Updates wird automatisch neu injiziert",
11
+ "cli.usage.uninstallHint": "Zum Deinstallieren: ccv --uninstall",
12
+ "cli.uninstall.cliCleaned": "✅ cli.js-Injektion bereinigt",
13
+ "cli.uninstall.cliNotFound": "⚠️ Claude Code cli.js nicht gefunden, übersprungen",
14
+ "cli.uninstall.cliFail": "❌ cli.js-Injektion konnte nicht bereinigt werden",
15
+ "cli.uninstall.hookRemoved": "✅ Shell-Hook aus {path} entfernt",
16
+ "cli.uninstall.hookClean": "✅ Keine Bereinigung in {path} nötig",
17
+ "cli.uninstall.hookFail": "❌ Shell-Hook-Bereinigung fehlgeschlagen: {error}",
18
+ "cli.uninstall.done": "\n🗑️ CC Viewer vollständig deinstalliert",
19
+
20
+ "server.started": "\n🔍 CC Viewer gestartet: http://{host}:{port}\n",
21
+ "server.reuse": "\n🔍 CC Viewer läuft bereits: http://{host}:{port}\n",
22
+ "server.portsBusy": "⚠️ Ports {start}-{end} sind alle belegt, Überwachungsdienst nicht gestartet",
23
+
24
+ "ui.requestList": "Anfragen",
25
+ "ui.totalRequests": "Gesamt: {count}",
26
+ "ui.waitingRequests": "Warte auf Anfragen...",
27
+ "ui.importLocalLogs": "Lokale Logs importieren",
28
+ "ui.saveLog": "Aktuelles Log speichern",
29
+ "ui.exportPrompts": "Benutzer-Prompts exportieren",
30
+ "ui.tokenStats": "Token-Statistik",
31
+ "ui.liveMonitoring": "Live",
32
+ "ui.historyLog": "Verlauf: {file}",
33
+ "ui.chatMode": "Chat-Modus",
34
+ "ui.rawMode": "Zurück zum Rohmodus",
35
+ "ui.cacheExpired": "Abgelaufen",
36
+ "ui.cacheCountdown": "MainAgent Cache{type} läuft ab in: ",
37
+ "ui.minuteSecond": "{m}m{s}s",
38
+ "ui.second": "{s}s",
39
+ "ui.hitRate": "Trefferquote",
40
+ "ui.userPrompt": "Benutzer-Prompt",
41
+ "ui.noPrompt": "Noch keine Benutzer-Prompts",
42
+ "ui.unknownTime": "Unbekannte Zeit",
43
+ "ui.userSelection": "👤 Benutzerauswahl",
44
+ "ui.noAnswer": "Keine Antwort",
45
+ "ui.systemContext": "Systemkontext #{index}",
46
+ "ui.logCount": "{count} Logs",
47
+ "ui.noLogs": "Keine Log-Dateien",
48
+
49
+ "ui.toolReturn": "Tool-Ergebnis",
50
+ "ui.toolReturnNamed": "{name}-Ergebnis",
51
+ "ui.lastResponse": "Last Response",
52
+
53
+ "ui.copySuccess": "Kopiert",
54
+ "ui.noHeaders": "Keine Headers",
55
+ "ui.noBody": "Kein Body",
56
+ "ui.streamingResponse": "⚡ Streaming-Antwort — Diese Anfrage nutzte SSE-Streaming, der Antwortinhalt konnte nicht vollständig erfasst werden.",
57
+ "ui.responseNotCaptured": "Antwortdaten nicht erfasst",
58
+
59
+ "ui.expand": "▶ Aufklappen",
60
+ "ui.collapse": "▼ Zuklappen",
61
+ "ui.noChat": "Keine MainAgent-Gesprächsdaten"
62
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "cli.inject.success": "✅ CC Viewer injected successfully",
3
+ "cli.inject.exists": "✅ CC Viewer already injected, no action needed",
4
+ "cli.inject.fail": "❌ Injection failed: {error}",
5
+ "cli.inject.notFound": "❌ Claude Code cli.js not found: {path}",
6
+ "cli.inject.notFoundHint": " Please make sure @anthropic-ai/claude-code is installed",
7
+ "cli.hook.installed": "✅ Auto-reinject hook written to {path}",
8
+ "cli.hook.exists": "✅ Auto-reinject hook already exists in {path}",
9
+ "cli.hook.fail": "⚠️ Failed to write shell hook: {error}",
10
+ "cli.usage.hint": "\nJust run claude directly. It will auto-reinject after Claude Code updates",
11
+ "cli.usage.uninstallHint": "To uninstall, run: ccv --uninstall",
12
+ "cli.uninstall.cliCleaned": "✅ cli.js injection cleaned",
13
+ "cli.uninstall.cliNotFound": "⚠️ Claude Code cli.js not found, skipped",
14
+ "cli.uninstall.cliFail": "❌ Failed to clean cli.js injection",
15
+ "cli.uninstall.hookRemoved": "✅ Shell hook removed from {path}",
16
+ "cli.uninstall.hookClean": "✅ No cleanup needed in {path}",
17
+ "cli.uninstall.hookFail": "❌ Failed to clean shell hook: {error}",
18
+ "cli.uninstall.done": "\n🗑️ CC Viewer fully uninstalled",
19
+
20
+ "server.started": "\n🔍 CC Viewer started: http://{host}:{port}\n",
21
+ "server.reuse": "\n🔍 CC Viewer already running: http://{host}:{port}\n",
22
+ "server.portsBusy": "⚠️ Ports {start}-{end} are all in use, monitoring service not started",
23
+
24
+ "ui.requestList": "Requests",
25
+ "ui.totalRequests": "Total: {count}",
26
+ "ui.waitingRequests": "Waiting for requests...",
27
+ "ui.importLocalLogs": "Import local logs",
28
+ "ui.saveLog": "Save current log",
29
+ "ui.exportPrompts": "Export user prompts",
30
+ "ui.tokenStats": "Token Stats",
31
+ "ui.liveMonitoring": "Live",
32
+ "ui.historyLog": "History: {file}",
33
+ "ui.chatMode": "Chat mode",
34
+ "ui.rawMode": "Back to Raw",
35
+ "ui.cacheExpired": "Expired",
36
+ "ui.cacheCountdown": "MainAgent cache{type} expires in: ",
37
+ "ui.minuteSecond": "{m}m{s}s",
38
+ "ui.second": "{s}s",
39
+ "ui.hitRate": "Hit rate",
40
+ "ui.userPrompt": "User Prompt",
41
+ "ui.noPrompt": "No user prompts yet",
42
+ "ui.unknownTime": "Unknown time",
43
+ "ui.userSelection": "👤 User selection",
44
+ "ui.noAnswer": "No answer",
45
+ "ui.systemContext": "System context #{index}",
46
+ "ui.logCount": "{count} logs",
47
+ "ui.noLogs": "No log files",
48
+
49
+ "ui.toolReturn": "Tool result",
50
+ "ui.toolReturnNamed": "{name} result",
51
+ "ui.lastResponse": "Last Response",
52
+
53
+ "ui.copySuccess": "Copied",
54
+ "ui.noHeaders": "No Headers",
55
+ "ui.noBody": "No Body",
56
+ "ui.streamingResponse": "⚡ Streaming response — This request used SSE streaming, response content cannot be fully captured.",
57
+ "ui.responseNotCaptured": "Response not captured",
58
+
59
+ "ui.expand": "▶ Expand",
60
+ "ui.collapse": "▼ Collapse",
61
+ "ui.noChat": "No MainAgent conversation data"
62
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "cli.inject.success": "✅ CC Viewer inyectado correctamente",
3
+ "cli.inject.exists": "✅ CC Viewer ya inyectado, no se requiere acción",
4
+ "cli.inject.fail": "❌ Inyección fallida: {error}",
5
+ "cli.inject.notFound": "❌ Claude Code cli.js no encontrado: {path}",
6
+ "cli.inject.notFoundHint": " Asegúrese de que @anthropic-ai/claude-code esté instalado",
7
+ "cli.hook.installed": "✅ Hook de reinyección automática escrito en {path}",
8
+ "cli.hook.exists": "✅ Hook de reinyección automática ya existe en {path}",
9
+ "cli.hook.fail": "⚠️ Error al escribir el shell hook: {error}",
10
+ "cli.usage.hint": "\nEjecute claude directamente. Se reinyectará automáticamente tras actualizaciones de Claude Code",
11
+ "cli.usage.uninstallHint": "Para desinstalar, ejecute: ccv --uninstall",
12
+ "cli.uninstall.cliCleaned": "✅ Inyección de cli.js limpiada",
13
+ "cli.uninstall.cliNotFound": "⚠️ Claude Code cli.js no encontrado, omitido",
14
+ "cli.uninstall.cliFail": "❌ Error al limpiar la inyección de cli.js",
15
+ "cli.uninstall.hookRemoved": "✅ Shell hook eliminado de {path}",
16
+ "cli.uninstall.hookClean": "✅ No se necesita limpieza en {path}",
17
+ "cli.uninstall.hookFail": "❌ Error al limpiar el shell hook: {error}",
18
+ "cli.uninstall.done": "\n🗑️ CC Viewer desinstalado completamente",
19
+
20
+ "server.started": "\n🔍 CC Viewer iniciado: http://{host}:{port}\n",
21
+ "server.reuse": "\n🔍 CC Viewer ya en ejecución: http://{host}:{port}\n",
22
+ "server.portsBusy": "⚠️ Puertos {start}-{end} están todos en uso, servicio de monitoreo no iniciado",
23
+
24
+ "ui.requestList": "Solicitudes",
25
+ "ui.totalRequests": "Total: {count}",
26
+ "ui.waitingRequests": "Esperando solicitudes...",
27
+ "ui.importLocalLogs": "Importar logs locales",
28
+ "ui.saveLog": "Guardar log actual",
29
+ "ui.exportPrompts": "Exportar prompts de usuario",
30
+ "ui.tokenStats": "Estadísticas de Token",
31
+ "ui.liveMonitoring": "En vivo",
32
+ "ui.historyLog": "Historial: {file}",
33
+ "ui.chatMode": "Modo chat",
34
+ "ui.rawMode": "Volver al modo raw",
35
+ "ui.cacheExpired": "Expirado",
36
+ "ui.cacheCountdown": "Cache{type} de MainAgent expira en: ",
37
+ "ui.minuteSecond": "{m}m{s}s",
38
+ "ui.second": "{s}s",
39
+ "ui.hitRate": "Tasa de aciertos",
40
+ "ui.userPrompt": "Prompt de usuario",
41
+ "ui.noPrompt": "Sin prompts de usuario aún",
42
+ "ui.unknownTime": "Hora desconocida",
43
+ "ui.userSelection": "👤 Selección del usuario",
44
+ "ui.noAnswer": "Sin respuesta",
45
+ "ui.systemContext": "Contexto del sistema #{index}",
46
+ "ui.logCount": "{count} logs",
47
+ "ui.noLogs": "Sin archivos de log",
48
+
49
+ "ui.toolReturn": "Resultado de herramienta",
50
+ "ui.toolReturnNamed": "Resultado de {name}",
51
+ "ui.lastResponse": "Last Response",
52
+
53
+ "ui.copySuccess": "Copiado",
54
+ "ui.noHeaders": "Sin Headers",
55
+ "ui.noBody": "Sin Body",
56
+ "ui.streamingResponse": "⚡ Respuesta en streaming — Esta solicitud usó streaming SSE, el contenido de la respuesta no se pudo capturar completamente.",
57
+ "ui.responseNotCaptured": "Datos de respuesta no capturados",
58
+
59
+ "ui.expand": "▶ Expandir",
60
+ "ui.collapse": "▼ Contraer",
61
+ "ui.noChat": "Sin datos de conversación de MainAgent"
62
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "cli.inject.success": "✅ CC Viewer injecté avec succès",
3
+ "cli.inject.exists": "✅ CC Viewer déjà injecté, aucune action nécessaire",
4
+ "cli.inject.fail": "❌ Échec de l'injection : {error}",
5
+ "cli.inject.notFound": "❌ Claude Code cli.js introuvable : {path}",
6
+ "cli.inject.notFoundHint": " Veuillez vérifier que @anthropic-ai/claude-code est installé",
7
+ "cli.hook.installed": "✅ Hook de réinjection automatique écrit dans {path}",
8
+ "cli.hook.exists": "✅ Hook de réinjection automatique déjà présent dans {path}",
9
+ "cli.hook.fail": "⚠️ Échec de l'écriture du shell hook : {error}",
10
+ "cli.usage.hint": "\nExécutez claude directement. La réinjection se fera automatiquement après les mises à jour de Claude Code",
11
+ "cli.usage.uninstallHint": "Pour désinstaller, exécutez : ccv --uninstall",
12
+ "cli.uninstall.cliCleaned": "✅ Injection cli.js nettoyée",
13
+ "cli.uninstall.cliNotFound": "⚠️ Claude Code cli.js introuvable, ignoré",
14
+ "cli.uninstall.cliFail": "❌ Échec du nettoyage de l'injection cli.js",
15
+ "cli.uninstall.hookRemoved": "✅ Shell hook supprimé de {path}",
16
+ "cli.uninstall.hookClean": "✅ Aucun nettoyage nécessaire dans {path}",
17
+ "cli.uninstall.hookFail": "❌ Échec du nettoyage du shell hook : {error}",
18
+ "cli.uninstall.done": "\n🗑️ CC Viewer entièrement désinstallé",
19
+
20
+ "server.started": "\n🔍 CC Viewer démarré : http://{host}:{port}\n",
21
+ "server.reuse": "\n🔍 CC Viewer déjà en cours d'exécution : http://{host}:{port}\n",
22
+ "server.portsBusy": "⚠️ Ports {start}-{end} tous occupés, service de surveillance non démarré",
23
+
24
+ "ui.requestList": "Requêtes",
25
+ "ui.totalRequests": "Total : {count}",
26
+ "ui.waitingRequests": "En attente de requêtes...",
27
+ "ui.importLocalLogs": "Importer les logs locaux",
28
+ "ui.saveLog": "Enregistrer le log actuel",
29
+ "ui.exportPrompts": "Exporter les prompts utilisateur",
30
+ "ui.tokenStats": "Statistiques Token",
31
+ "ui.liveMonitoring": "En direct",
32
+ "ui.historyLog": "Historique : {file}",
33
+ "ui.chatMode": "Mode conversation",
34
+ "ui.rawMode": "Retour au mode brut",
35
+ "ui.cacheExpired": "Expiré",
36
+ "ui.cacheCountdown": "Cache{type} MainAgent expire dans : ",
37
+ "ui.minuteSecond": "{m}m{s}s",
38
+ "ui.second": "{s}s",
39
+ "ui.hitRate": "Taux de succès",
40
+ "ui.userPrompt": "Prompt utilisateur",
41
+ "ui.noPrompt": "Aucun prompt utilisateur",
42
+ "ui.unknownTime": "Heure inconnue",
43
+ "ui.userSelection": "👤 Sélection utilisateur",
44
+ "ui.noAnswer": "Pas de réponse",
45
+ "ui.systemContext": "Contexte système #{index}",
46
+ "ui.logCount": "{count} logs",
47
+ "ui.noLogs": "Aucun fichier de log",
48
+
49
+ "ui.toolReturn": "Résultat d'outil",
50
+ "ui.toolReturnNamed": "Résultat de {name}",
51
+ "ui.lastResponse": "Last Response",
52
+
53
+ "ui.copySuccess": "Copié",
54
+ "ui.noHeaders": "Pas de Headers",
55
+ "ui.noBody": "Pas de Body",
56
+ "ui.streamingResponse": "⚡ Réponse en streaming — Cette requête a utilisé le streaming SSE, le contenu de la réponse n'a pas pu être entièrement capturé.",
57
+ "ui.responseNotCaptured": "Données de réponse non capturées",
58
+
59
+ "ui.expand": "▶ Déplier",
60
+ "ui.collapse": "▼ Replier",
61
+ "ui.noChat": "Aucune donnée de conversation MainAgent"
62
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "cli.inject.success": "✅ CC Viewer iniettato con successo",
3
+ "cli.inject.exists": "✅ CC Viewer già iniettato, nessuna azione necessaria",
4
+ "cli.inject.fail": "❌ Iniezione fallita: {error}",
5
+ "cli.inject.notFound": "❌ Claude Code cli.js non trovato: {path}",
6
+ "cli.inject.notFoundHint": " Assicurati che @anthropic-ai/claude-code sia installato",
7
+ "cli.hook.installed": "✅ Hook di reiniezione automatica scritto in {path}",
8
+ "cli.hook.exists": "✅ Hook di reiniezione automatica già presente in {path}",
9
+ "cli.hook.fail": "⚠️ Impossibile scrivere il shell hook: {error}",
10
+ "cli.usage.hint": "\nEsegui claude direttamente. Si reinietterà automaticamente dopo gli aggiornamenti di Claude Code",
11
+ "cli.usage.uninstallHint": "Per disinstallare, esegui: ccv --uninstall",
12
+ "cli.uninstall.cliCleaned": "✅ Iniezione cli.js pulita",
13
+ "cli.uninstall.cliNotFound": "⚠️ Claude Code cli.js non trovato, saltato",
14
+ "cli.uninstall.cliFail": "❌ Pulizia iniezione cli.js fallita",
15
+ "cli.uninstall.hookRemoved": "✅ Shell hook rimosso da {path}",
16
+ "cli.uninstall.hookClean": "✅ Nessuna pulizia necessaria in {path}",
17
+ "cli.uninstall.hookFail": "❌ Pulizia shell hook fallita: {error}",
18
+ "cli.uninstall.done": "\n🗑️ CC Viewer completamente disinstallato",
19
+
20
+ "server.started": "\n🔍 CC Viewer avviato: http://{host}:{port}\n",
21
+ "server.reuse": "\n🔍 CC Viewer già in esecuzione: http://{host}:{port}\n",
22
+ "server.portsBusy": "⚠️ Porte {start}-{end} tutte in uso, servizio di monitoraggio non avviato",
23
+
24
+ "ui.requestList": "Richieste",
25
+ "ui.totalRequests": "Totale: {count}",
26
+ "ui.waitingRequests": "In attesa di richieste...",
27
+ "ui.importLocalLogs": "Importa log locali",
28
+ "ui.saveLog": "Salva log corrente",
29
+ "ui.exportPrompts": "Esporta prompt utente",
30
+ "ui.tokenStats": "Statistiche Token",
31
+ "ui.liveMonitoring": "Live",
32
+ "ui.historyLog": "Cronologia: {file}",
33
+ "ui.chatMode": "Modalità chat",
34
+ "ui.rawMode": "Torna alla modalità raw",
35
+ "ui.cacheExpired": "Scaduto",
36
+ "ui.cacheCountdown": "Cache{type} MainAgent scade tra: ",
37
+ "ui.minuteSecond": "{m}m{s}s",
38
+ "ui.second": "{s}s",
39
+ "ui.hitRate": "Tasso di successo",
40
+ "ui.userPrompt": "Prompt utente",
41
+ "ui.noPrompt": "Nessun prompt utente",
42
+ "ui.unknownTime": "Ora sconosciuta",
43
+ "ui.userSelection": "👤 Selezione utente",
44
+ "ui.noAnswer": "Nessuna risposta",
45
+ "ui.systemContext": "Contesto di sistema #{index}",
46
+ "ui.logCount": "{count} log",
47
+ "ui.noLogs": "Nessun file di log",
48
+
49
+ "ui.toolReturn": "Risultato strumento",
50
+ "ui.toolReturnNamed": "Risultato di {name}",
51
+ "ui.lastResponse": "Last Response",
52
+
53
+ "ui.copySuccess": "Copiato",
54
+ "ui.noHeaders": "Nessun Header",
55
+ "ui.noBody": "Nessun Body",
56
+ "ui.streamingResponse": "⚡ Risposta in streaming — Questa richiesta ha utilizzato lo streaming SSE, il contenuto della risposta non può essere catturato completamente.",
57
+ "ui.responseNotCaptured": "Dati di risposta non catturati",
58
+
59
+ "ui.expand": "▶ Espandi",
60
+ "ui.collapse": "▼ Comprimi",
61
+ "ui.noChat": "Nessun dato di conversazione MainAgent"
62
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "cli.inject.success": "✅ CC Viewer インジェクション成功",
3
+ "cli.inject.exists": "✅ CC Viewer は既にインジェクト済み、操作不要",
4
+ "cli.inject.fail": "❌ インジェクション失敗: {error}",
5
+ "cli.inject.notFound": "❌ Claude Code cli.js が見つかりません: {path}",
6
+ "cli.inject.notFoundHint": " @anthropic-ai/claude-code がインストールされていることを確認してください",
7
+ "cli.hook.installed": "✅ 自動再インジェクト hook を {path} に書き込みました",
8
+ "cli.hook.exists": "✅ 自動再インジェクト hook は既に {path} に存在します",
9
+ "cli.hook.fail": "⚠️ shell hook の書き込みに失敗: {error}",
10
+ "cli.usage.hint": "\nclaude を直接実行してください。Claude Code 更新後に自動で再インジェクトされます",
11
+ "cli.usage.uninstallHint": "アンインストールするには: ccv --uninstall",
12
+ "cli.uninstall.cliCleaned": "✅ cli.js インジェクションをクリーンアップしました",
13
+ "cli.uninstall.cliNotFound": "⚠️ Claude Code cli.js が見つかりません、スキップ",
14
+ "cli.uninstall.cliFail": "❌ cli.js インジェクションのクリーンアップに失敗",
15
+ "cli.uninstall.hookRemoved": "✅ shell hook を {path} から削除しました",
16
+ "cli.uninstall.hookClean": "✅ {path} のクリーンアップは不要です",
17
+ "cli.uninstall.hookFail": "❌ shell hook のクリーンアップに失敗: {error}",
18
+ "cli.uninstall.done": "\n🗑️ CC Viewer を完全にアンインストールしました",
19
+
20
+ "server.started": "\n🔍 CC Viewer 起動: http://{host}:{port}\n",
21
+ "server.reuse": "\n🔍 CC Viewer は既に実行中: http://{host}:{port}\n",
22
+ "server.portsBusy": "⚠️ ポート {start}-{end} はすべて使用中、監視サービスは起動されませんでした",
23
+
24
+ "ui.requestList": "リクエスト一覧",
25
+ "ui.totalRequests": "合計: {count}",
26
+ "ui.waitingRequests": "リクエスト待機中...",
27
+ "ui.importLocalLogs": "ローカルログをインポート",
28
+ "ui.saveLog": "現在のログを保存",
29
+ "ui.exportPrompts": "ユーザー Prompt をエクスポート",
30
+ "ui.tokenStats": "Token 消費統計",
31
+ "ui.liveMonitoring": "リアルタイム監視中",
32
+ "ui.historyLog": "履歴: {file}",
33
+ "ui.chatMode": "チャットモード",
34
+ "ui.rawMode": "Raw モードに戻る",
35
+ "ui.cacheExpired": "期限切れ",
36
+ "ui.cacheCountdown": "MainAgent cache{type} 期限切れまで: ",
37
+ "ui.minuteSecond": "{m}分{s}秒",
38
+ "ui.second": "{s}秒",
39
+ "ui.hitRate": "ヒット率",
40
+ "ui.userPrompt": "ユーザー Prompt",
41
+ "ui.noPrompt": "ユーザー Prompt はまだありません",
42
+ "ui.unknownTime": "不明な時刻",
43
+ "ui.userSelection": "👤 ユーザー選択",
44
+ "ui.noAnswer": "回答なし",
45
+ "ui.systemContext": "システムコンテキスト #{index}",
46
+ "ui.logCount": "{count} 件のログ",
47
+ "ui.noLogs": "ログファイルなし",
48
+
49
+ "ui.toolReturn": "ツール結果",
50
+ "ui.toolReturnNamed": "{name} 結果",
51
+ "ui.lastResponse": "Last Response",
52
+
53
+ "ui.copySuccess": "コピーしました",
54
+ "ui.noHeaders": "Headers なし",
55
+ "ui.noBody": "Body なし",
56
+ "ui.streamingResponse": "⚡ ストリーミングレスポンス — このリクエストは SSE ストリーミングを使用しており、レスポンス内容を完全にキャプチャできませんでした。",
57
+ "ui.responseNotCaptured": "レスポンスデータ未キャプチャ",
58
+
59
+ "ui.expand": "▶ 展開",
60
+ "ui.collapse": "▼ 折りたたむ",
61
+ "ui.noChat": "MainAgent の会話データがありません"
62
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "cli.inject.success": "✅ CC Viewer 주입 성공",
3
+ "cli.inject.exists": "✅ CC Viewer 이미 주입됨, 추가 작업 불필요",
4
+ "cli.inject.fail": "❌ 주입 실패: {error}",
5
+ "cli.inject.notFound": "❌ Claude Code cli.js를 찾을 수 없음: {path}",
6
+ "cli.inject.notFoundHint": " @anthropic-ai/claude-code가 설치되어 있는지 확인하세요",
7
+ "cli.hook.installed": "✅ 자동 재주입 hook이 {path}에 작성됨",
8
+ "cli.hook.exists": "✅ 자동 재주입 hook이 이미 {path}에 존재함",
9
+ "cli.hook.fail": "⚠️ shell hook 작성 실패: {error}",
10
+ "cli.usage.hint": "\nclaude를 직접 실행하세요. Claude Code 업데이트 후 자동으로 재주입됩니다",
11
+ "cli.usage.uninstallHint": "제거하려면 실행: ccv --uninstall",
12
+ "cli.uninstall.cliCleaned": "✅ cli.js 주입 정리 완료",
13
+ "cli.uninstall.cliNotFound": "⚠️ Claude Code cli.js를 찾을 수 없음, 건너뜀",
14
+ "cli.uninstall.cliFail": "❌ cli.js 주입 정리 실패",
15
+ "cli.uninstall.hookRemoved": "✅ shell hook이 {path}에서 제거됨",
16
+ "cli.uninstall.hookClean": "✅ {path}에서 정리할 항목 없음",
17
+ "cli.uninstall.hookFail": "❌ shell hook 정리 실패: {error}",
18
+ "cli.uninstall.done": "\n🗑️ CC Viewer 완전히 제거됨",
19
+
20
+ "server.started": "\n🔍 CC Viewer 시작됨: http://{host}:{port}\n",
21
+ "server.reuse": "\n🔍 CC Viewer 이미 실행 중: http://{host}:{port}\n",
22
+ "server.portsBusy": "⚠️ 포트 {start}-{end} 모두 사용 중, 모니터링 서비스 미시작",
23
+
24
+ "ui.requestList": "요청 목록",
25
+ "ui.totalRequests": "총 요청 수: {count}",
26
+ "ui.waitingRequests": "요청 대기 중...",
27
+ "ui.importLocalLogs": "로컬 로그 가져오기",
28
+ "ui.saveLog": "현재 로그 저장",
29
+ "ui.exportPrompts": "사용자 Prompt 내보내기",
30
+ "ui.tokenStats": "Token 소비 통계",
31
+ "ui.liveMonitoring": "실시간 모니터링",
32
+ "ui.historyLog": "기록: {file}",
33
+ "ui.chatMode": "대화 모드",
34
+ "ui.rawMode": "원문 모드로 돌아가기",
35
+ "ui.cacheExpired": "만료됨",
36
+ "ui.cacheCountdown": "MainAgent cache{type} 만료 카운트다운: ",
37
+ "ui.minuteSecond": "{m}분{s}초",
38
+ "ui.second": "{s}초",
39
+ "ui.hitRate": "적중률",
40
+ "ui.userPrompt": "사용자 Prompt",
41
+ "ui.noPrompt": "사용자 Prompt 없음",
42
+ "ui.unknownTime": "알 수 없는 시간",
43
+ "ui.userSelection": "👤 사용자 선택",
44
+ "ui.noAnswer": "응답 없음",
45
+ "ui.systemContext": "시스템 컨텍스트 #{index}",
46
+ "ui.logCount": "{count}개 로그",
47
+ "ui.noLogs": "로그 파일 없음",
48
+
49
+ "ui.toolReturn": "도구 결과",
50
+ "ui.toolReturnNamed": "{name} 결과",
51
+ "ui.lastResponse": "Last Response",
52
+
53
+ "ui.copySuccess": "복사됨",
54
+ "ui.noHeaders": "Headers 없음",
55
+ "ui.noBody": "Body 없음",
56
+ "ui.streamingResponse": "⚡ 스트리밍 응답 — 이 요청은 SSE 스트리밍을 사용하여 응답 내용을 완전히 캡처할 수 없습니다.",
57
+ "ui.responseNotCaptured": "응답 데이터 미캡처",
58
+
59
+ "ui.expand": "▶ 펼치기",
60
+ "ui.collapse": "▼ 접기",
61
+ "ui.noChat": "MainAgent 대화 데이터 없음"
62
+ }