新增功能: - errors/: Sentry 錯誤儀表板 (overview-card, trend-chart, issues-list) - genui/ApprovalCard: GenUI 風格簽核卡片 - terminal/OmniTerminal: AI 終端機組件 - useErrors.ts: 錯誤數據 hooks - terminal.store.ts: 終端機狀態管理 更新: - conversational-view.tsx: 改進對話式 UI - providers.tsx: 新增 provider - sidebar.tsx: 新增 Errors 導航 - api-client.ts: 錯誤 API 整合 - i18n messages: 新增錯誤相關翻譯 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
467 lines
15 KiB
JSON
467 lines
15 KiB
JSON
{
|
|
"metadata": {
|
|
"title": "AWOOOI - Zero-Touch Ops. Human-Centric Decisions.",
|
|
"description": "AI-Powered Intelligent Operations Platform"
|
|
},
|
|
"common": {
|
|
"loading": "Loading...",
|
|
"error": "An error occurred",
|
|
"success": "Success",
|
|
"cancel": "Cancel",
|
|
"confirm": "Confirm",
|
|
"close": "Close",
|
|
"save": "Save",
|
|
"delete": "Delete",
|
|
"edit": "Edit",
|
|
"back": "Back",
|
|
"clear": "Clear",
|
|
"refresh": "Refresh",
|
|
"viewDetails": "View Details",
|
|
"later": "Later",
|
|
"keyboardShortcuts": "Keyboard Shortcuts",
|
|
"showShortcuts": "Show Shortcuts"
|
|
},
|
|
"brand": {
|
|
"name": "AWOOOI",
|
|
"slogan": "Zero-Touch Ops. Human-Centric Decisions.",
|
|
"sloganAlt": "零干預維運,以人為本的決策。",
|
|
"tagline": "AI-Powered Intelligent Operations Platform",
|
|
"version": "v1.0.0",
|
|
"environment": "Production"
|
|
},
|
|
"nav": {
|
|
"home": "Home",
|
|
"dashboard": "Dashboard",
|
|
"approvals": "Approvals",
|
|
"errors": "Error Tracking",
|
|
"actions": "Action Log",
|
|
"knowledge": "Knowledge Base",
|
|
"settings": "Settings"
|
|
},
|
|
"locale": {
|
|
"switch": "Switch Language",
|
|
"zhTW": "繁體中文",
|
|
"en": "English"
|
|
},
|
|
"demo": {
|
|
"title": "AWOOOI Demo",
|
|
"subtitle": "Visual Acceptance Test",
|
|
"mockMode": "MOCK MODE",
|
|
"spikeControls": "CPU Spike Demo Controls",
|
|
"spikeActive": "SPIKE ACTIVE",
|
|
"triggerSpike": "Spike {host}",
|
|
"clearSpike": "Clear Spike",
|
|
"liveDashboard": "Live Dashboard (SSE)",
|
|
"approvalCards": "HITL Approval Cards (CPO-107)",
|
|
"statusShowcase": "StatusOrb Showcase",
|
|
"lowRiskDemo": "LOW RISK - 1 second hold",
|
|
"highRiskDemo": "HIGH RISK - 1 second hold",
|
|
"criticalDemo": "CRITICAL + DESTRUCTIVE - 2 second hold + red glow",
|
|
"hitlRealApi": "HITL Multi-Sig (Real API)",
|
|
"addCritical": "+ Critical",
|
|
"addMedium": "+ Medium",
|
|
"creating": "Creating..."
|
|
},
|
|
"host": {
|
|
"devops": {
|
|
"name": "DevOps Vault",
|
|
"shortName": "DevOps"
|
|
},
|
|
"security": {
|
|
"name": "Kali Security Center",
|
|
"shortName": "Kali"
|
|
},
|
|
"k3s": {
|
|
"name": "K3s Master Node",
|
|
"shortName": "K3s"
|
|
},
|
|
"aiWeb": {
|
|
"name": "AI+Web Center",
|
|
"shortName": "AI+Web"
|
|
}
|
|
},
|
|
"dashboard": {
|
|
"title": "Command Center",
|
|
"subtitle": "AI-Powered Unified Operations View",
|
|
"liveStats": "Live Stats",
|
|
"activeNodes": "Active Nodes",
|
|
"pendingAlerts": "Pending Alerts",
|
|
"pendingApprovals": "Pending Approvals",
|
|
"overallStatus": "Overall Status",
|
|
"waitingData": "Waiting for data...",
|
|
"cpu": "CPU",
|
|
"memory": "MEM",
|
|
"baseline": "Baseline",
|
|
"baselineFormat": "(Baseline: {value}%)",
|
|
"criticality": "Criticality",
|
|
"systemStatus": "System Status",
|
|
"eventStream": "Event Stream",
|
|
"aiAgent": "AI Agent",
|
|
"globalPulse": "Global Pulse",
|
|
"liveUpdates": "Live Updates",
|
|
"loadingMetrics": "Loading metrics...",
|
|
"metricsError": "Failed to load metrics"
|
|
},
|
|
"openclaw": {
|
|
"name": "OpenClaw",
|
|
"monitoring": "Monitoring",
|
|
"statusOk": "OK",
|
|
"statusWarning": "WARNING",
|
|
"messageOk": "All systems operational. No action required.",
|
|
"messageWarning": "{host} status abnormal. Recommend checking related services."
|
|
},
|
|
"ai": {
|
|
"title": "AI Decision Engine",
|
|
"intercepting": "[SYS] Intercepting anomaly signals...",
|
|
"analyzing": "OpenClaw analyzing blast radius...",
|
|
"calculating": "Calculating risk matrix & approval threshold...",
|
|
"generating": "Generating remediation script...",
|
|
"complete": "Analysis complete. Approval card created.",
|
|
"processingAlert": "Processing alert...",
|
|
"analysisComplete": "Analysis complete",
|
|
"patrolling": "Patrolling...",
|
|
"standby": "STANDBY",
|
|
"processFlow": "AI Decision Flow",
|
|
"processing": "Processing"
|
|
},
|
|
"agent": {
|
|
"title": "AI Agent",
|
|
"state": "State",
|
|
"idle": "Idle",
|
|
"standby": "Standby",
|
|
"patrolling": "Patrolling",
|
|
"intercepting": "Intercepting",
|
|
"analyzing": "Analyzing",
|
|
"generating": "Generating",
|
|
"complete": "Complete",
|
|
"executing": "Executing",
|
|
"waitingApproval": "Awaiting Approval",
|
|
"error": "Error",
|
|
"lastCheck": "Last check"
|
|
},
|
|
"metrics": {
|
|
"title": "Global Pulse",
|
|
"realtime": "Real-time",
|
|
"rps": "Requests/sec",
|
|
"errorRate": "Error Rate",
|
|
"p99Latency": "P99 Latency",
|
|
"aiSuccess": "AI Success"
|
|
},
|
|
"connection": {
|
|
"disconnected": "Disconnected",
|
|
"connecting": "Connecting...",
|
|
"connected": "Live",
|
|
"reconnecting": "Reconnecting...",
|
|
"error": "Connection Error",
|
|
"mockMode": "MOCK"
|
|
},
|
|
"terminal": {
|
|
"title": "AWOOOI Terminal",
|
|
"version": "Version",
|
|
"waiting": "Waiting for command...",
|
|
"initiate": "INITIATE SYNC",
|
|
"executing": "EXECUTING...",
|
|
"events": "events",
|
|
"stream": "STREAM",
|
|
"waitingForData": "Waiting for decision chain data...",
|
|
"steps": "Steps",
|
|
"streaming": "Streaming",
|
|
"paused": "Paused"
|
|
},
|
|
"incident": {
|
|
"title": "Incident Management",
|
|
"activeIncidents": "Active Incidents",
|
|
"noActiveIncidents": "No active incidents",
|
|
"systemStable": "System Stable",
|
|
"activeAlerts": "active alerts",
|
|
"signals": "signals",
|
|
"proposals": "proposals",
|
|
"affectedServices": "Affected Services",
|
|
"emptyState": "No active incidents",
|
|
"emptyStateDescription": "All systems operational",
|
|
"status": {
|
|
"investigating": "Investigating",
|
|
"mitigating": "Mitigating",
|
|
"resolved": "Resolved",
|
|
"closed": "Closed"
|
|
},
|
|
"severity": {
|
|
"P0": "P0 (Critical)",
|
|
"P1": "P1 (High)",
|
|
"P2": "P2 (Warning)",
|
|
"P3": "P3 (Info)"
|
|
},
|
|
"generateProposal": "Generate Proposal",
|
|
"viewDetails": "View Details",
|
|
"card": {
|
|
"executing": "Executing...",
|
|
"approved": "[ APPROVED ]",
|
|
"rejected": "[ REJECTED ]",
|
|
"error": "Error",
|
|
"timeout": "Timeout",
|
|
"retry": "Retry",
|
|
"timeoutMessage": "Execution timeout, please check API logs",
|
|
"checkApiLogs": "Please check API logs",
|
|
"analyzing": "Brain analyzing...",
|
|
"waitingDecision": "Waiting for decision",
|
|
"authorizeExecution": "Authorize execution",
|
|
"rejectProposal": "Reject proposal",
|
|
"aiExecuting": ">_ AI Executing (Tier 1)",
|
|
"brainAnalyzing": ">_ Brain analyzing...",
|
|
"decisionReady": ">_ Decision ready (Tier {tier})",
|
|
"waitingCommander": ">_ Awaiting commander approval (Tier {tier})",
|
|
"suggestedAction": "> Suggested action:"
|
|
}
|
|
},
|
|
"status": {
|
|
"idle": "Idle",
|
|
"thinking": "Thinking",
|
|
"syncing": "Syncing",
|
|
"executing": "Executing",
|
|
"waitingApproval": "Waiting Approval",
|
|
"error": "Error",
|
|
"healthy": "Healthy",
|
|
"warning": "Warning",
|
|
"critical": "Critical",
|
|
"degraded": "Degraded",
|
|
"unhealthy": "Unhealthy"
|
|
},
|
|
"approval": {
|
|
"title": "Approval Request",
|
|
"card": "Approval Card",
|
|
"approve": "APPROVE",
|
|
"reject": "REJECT",
|
|
"holdToApprove": "HOLD TO APPROVE",
|
|
"holdToConfirm": "HOLD TO CONFIRM",
|
|
"holdToSign": "HOLD TO SIGN",
|
|
"confirming": "CONFIRMING...",
|
|
"signing": "SIGNING...",
|
|
"needMore": "NEED {count} MORE",
|
|
"confirmDestructive": "CONFIRM DESTRUCTIVE",
|
|
"approveDestructive": "APPROVE (DESTRUCTIVE)",
|
|
"pendingApprovals": "Pending Approvals",
|
|
"riskLevel": "Risk Level",
|
|
"signatures": "SIGNATURES",
|
|
"requiredSignatures": "Required Signatures",
|
|
"currentSignatures": "Current Signatures",
|
|
"requestedBy": "Requested by",
|
|
"expiresAt": "Expires At",
|
|
"holdHint": "Hold button for {seconds}s to {action}",
|
|
"actionApprove": "approve",
|
|
"actionConfirm": "confirm destructive action",
|
|
"actionSign": "sign",
|
|
"waitingSecondSig": "Waiting for second approver",
|
|
"signedBy": "Signed by {name}",
|
|
"signedAt": "at {time}",
|
|
"signSuccess": "Signed successfully",
|
|
"executionTriggered": "Execution triggered",
|
|
"rejectSuccess": "Rejected",
|
|
"rejectReason": "Rejection reason",
|
|
"enterReason": "Enter rejection reason...",
|
|
"signComment": "Sign comment (optional)",
|
|
"enterComment": "Enter comment...",
|
|
"noApprovals": "No pending approvals",
|
|
"fetchError": "Failed to fetch approvals",
|
|
"noPendingApprovals": "No pending approvals",
|
|
"selectApproval": "Select an approval to view details",
|
|
"backToList": "Back to list",
|
|
"previousApproval": "Previous",
|
|
"nextApproval": "Next",
|
|
"holdToApproveHint": "Hold button to approve or reject",
|
|
"swipeHint": "Swipe left for details, swipe right to go back",
|
|
"holdYToApprove": "Hold Y to approve (2s)",
|
|
"pressNToReject": "Press N to reject",
|
|
"justNow": "just now",
|
|
"minutesAgo": "{count}m ago",
|
|
"hoursAgo": "{count}h ago",
|
|
"daysAgo": "{count}d ago",
|
|
"batch": {
|
|
"title": "Batch Mode",
|
|
"bulkApprove": "Accept All",
|
|
"sequential": "Review One by One",
|
|
"criticalOnly": "CRITICAL Only",
|
|
"eligible": "eligible",
|
|
"items": "items",
|
|
"securityNote": "CRITICAL risk and DESTRUCTIVE data impact items require individual review."
|
|
}
|
|
},
|
|
"risk": {
|
|
"low": "LOW RISK",
|
|
"medium": "MEDIUM RISK",
|
|
"high": "HIGH RISK",
|
|
"critical": "CRITICAL"
|
|
},
|
|
"dryRun": {
|
|
"title": "Dry-Run",
|
|
"validation": "DRY-RUN VALIDATION",
|
|
"passed": "Passed",
|
|
"failed": "Failed",
|
|
"checks": "Checks",
|
|
"rbac": "RBAC Check",
|
|
"syntax": "Syntax Check",
|
|
"resource": "Resource Check",
|
|
"replicaCount": "Replica Count",
|
|
"backupAvailable": "Backup Available",
|
|
"clusterAdmin": "cluster-admin",
|
|
"dbAdmin": "db-admin",
|
|
"deploymentAdmin": "deployment-admin",
|
|
"noRecentBackup": "No recent backup!",
|
|
"ok": "OK"
|
|
},
|
|
"blastRadius": {
|
|
"title": "BLAST RADIUS",
|
|
"affectedPods": "AFFECTED PODS",
|
|
"estimatedDowntime": "EST. DOWNTIME",
|
|
"relatedServices": "RELATED SERVICES",
|
|
"dataImpact": "DATA IMPACT",
|
|
"none": "NONE",
|
|
"readOnly": "READ ONLY",
|
|
"write": "WRITE",
|
|
"destructive": "DESTRUCTIVE"
|
|
},
|
|
"graphRag": {
|
|
"title": "Topology Analysis",
|
|
"blastRadius": "Blast Radius",
|
|
"rootCause": "Root Cause",
|
|
"upstreamImpact": "Upstream Impact",
|
|
"downstreamChain": "Downstream Chain",
|
|
"dependsOn": "depends on",
|
|
"calls": "calls",
|
|
"affectedCount": "Affected Count",
|
|
"probableRootCauses": "Probable Root Causes"
|
|
},
|
|
"finops": {
|
|
"title": "Cost Analysis",
|
|
"totalWasted": "Monthly Waste",
|
|
"realizableSavings": "Realizable Savings",
|
|
"freedResources": "Freed Resources",
|
|
"annualProjection": "Annual Projection",
|
|
"topActions": "Top Actions",
|
|
"orphanedPvc": "Orphaned PVC",
|
|
"zombiePod": "Zombie Pod",
|
|
"overProvisioned": "Over-provisioned"
|
|
},
|
|
"trustEngine": {
|
|
"title": "Trust Engine",
|
|
"trustScore": "Trust Score",
|
|
"progressive": "Progressive Autonomy",
|
|
"approved": "Approved",
|
|
"rejected": "Rejected",
|
|
"neverDowngrade": "Never Downgrade"
|
|
},
|
|
"multiSig": {
|
|
"title": "Multi-Sig",
|
|
"signature": "Signature",
|
|
"signedBy": "Signed By",
|
|
"signedAt": "Signed At",
|
|
"voided": "Voided",
|
|
"toctouWarning": "State Changed Warning"
|
|
},
|
|
"privacy": {
|
|
"title": "Privacy Shield",
|
|
"redacted": "Redacted",
|
|
"piiDetected": "PII Detected"
|
|
},
|
|
"mockData": {
|
|
"deletePod": "Delete Pod: nginx-frontend-7d4b8c9f5-xk2m3",
|
|
"deletePodDesc": "Clean up unresponsive frontend Pod, ReplicaSet will auto-rebuild",
|
|
"dropTable": "DROP TABLE: user_sessions",
|
|
"dropTableDesc": "Clear all user sessions, will force logout all users",
|
|
"scaleDeployment": "Scale Deployment: api-backend",
|
|
"scaleDeploymentDesc": "Scale from 3 to 5 replicas for increased traffic",
|
|
"testActions": {
|
|
"lowAction": "Scale deployment api-backend to 5 replicas",
|
|
"lowDesc": "Increase backend replicas to handle traffic growth",
|
|
"mediumAction": "kubectl delete pod nginx-ingress-7d6f8c9b5-abc12",
|
|
"mediumDesc": "Clean up unresponsive frontend Pod, ReplicaSet will auto-rebuild",
|
|
"criticalAction": "DROP TABLE user_sessions",
|
|
"criticalDesc": "Clear all user sessions to force re-login. This will affect all online users."
|
|
}
|
|
},
|
|
"actionLog": {
|
|
"title": "Action Log",
|
|
"subtitle": "K8s Operation Execution Audit Trail",
|
|
"noLogs": "No execution records",
|
|
"loading": "Loading...",
|
|
"fetchError": "Failed to fetch audit logs",
|
|
"columns": {
|
|
"time": "Execution Time",
|
|
"operation": "Operation Type",
|
|
"target": "Target Resource",
|
|
"namespace": "Namespace",
|
|
"status": "Status",
|
|
"duration": "Duration",
|
|
"executor": "Executor"
|
|
},
|
|
"operations": {
|
|
"DELETE_POD": "Delete Pod",
|
|
"RESTART_DEPLOYMENT": "Restart Deployment",
|
|
"SCALE_DEPLOYMENT": "Scale Deployment"
|
|
},
|
|
"status": {
|
|
"success": "Success",
|
|
"failure": "Failure"
|
|
},
|
|
"stats": {
|
|
"title": "Statistics",
|
|
"total": "Total Executions",
|
|
"successRate": "Success Rate",
|
|
"avgDuration": "Avg Duration",
|
|
"last24h": "Last 24 Hours"
|
|
},
|
|
"dryRun": {
|
|
"passed": "Dry-Run Passed",
|
|
"failed": "Dry-Run Failed"
|
|
},
|
|
"pagination": {
|
|
"page": "Page {current} of {total}",
|
|
"prev": "Previous",
|
|
"next": "Next"
|
|
}
|
|
},
|
|
"footer": {
|
|
"copyright": "© 2026 岑洋國際行銷有限公司",
|
|
"poweredBy": "Powered by leWOOOgo Engine"
|
|
},
|
|
"errorBoundary": {
|
|
"systemFailure": "[SYSTEM FAILURE]",
|
|
"criticalError": "Critical UI rendering error detected. Auto-healing attempts exhausted.",
|
|
"escalating": "Escalating to OpenClaw AIOps Agent...",
|
|
"forceRestart": "FORCE MANUAL RESTART",
|
|
"detectingAnomaly": "[ DETECTING ANOMALY ]",
|
|
"autoHealingAttempt": "Initiating Auto-Healing Protocol (Attempt {attempt}/3)"
|
|
},
|
|
"errors": {
|
|
"title": "Error Tracking",
|
|
"subtitle": "Sentry Error Tracking + OpenClaw AI Analysis",
|
|
"overview": "Error Overview",
|
|
"recentIssues": "Recent Issues",
|
|
"errorTrend": "Error Trend",
|
|
"noData": "No error data",
|
|
"noIssues": "No issues at the moment",
|
|
"noTrendData": "No trend data",
|
|
"unresolvedIssues": "Unresolved Issues",
|
|
"errors24h": "Errors (24h)",
|
|
"criticalErrors": "Critical Errors",
|
|
"totalIssues": "Total Issues",
|
|
"totalErrors": "Total Errors ({period})",
|
|
"projects": "Projects",
|
|
"aiAnalyze": "AI Analyze",
|
|
"aiAnalysis": "AI Analysis Result",
|
|
"analyzing": "Analyzing...",
|
|
"rootCause": "Root Cause",
|
|
"fixSummary": "Fix Recommendation",
|
|
"category": "Category",
|
|
"confidence": "Confidence",
|
|
"loading": "Loading...",
|
|
"refresh": "Refresh",
|
|
"sentryDashboard": "Sentry Dashboard",
|
|
"footerInfo": "Data from Sentry Self-Hosted (192.168.0.110:9000) | AI Analysis: OpenClaw | Auto-refresh: 60s",
|
|
"timeAgo": {
|
|
"minutes": "{count}m ago",
|
|
"hours": "{count}h ago",
|
|
"days": "{count}d ago"
|
|
}
|
|
}
|
|
}
|