From 098bf5a1e8ef8e9dfa229a0a2aaf03f6d4b179ab Mon Sep 17 00:00:00 2001 From: IanShaw027 <131567472+IanShaw027@users.noreply.github.com> Date: Mon, 12 Jan 2026 14:10:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(i18n):=20=E8=A1=A5=E5=85=85=E7=BC=BA?= =?UTF-8?q?=E5=A4=B1=E7=9A=84=E8=8B=B1=E6=96=87=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 admin.ops.requestsTitle - 添加 admin.ops.alertRules.manage 和 saveSuccess/deleteSuccess - 添加 common.settings - 添加完整的 admin.ops.settings 部分 - 添加 admin.ops.tooltips.totalRequests 和 upstreamErrors --- frontend/src/i18n/locales/en.ts | 57 ++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/frontend/src/i18n/locales/en.ts b/frontend/src/i18n/locales/en.ts index f0e7db55..c8607a92 100644 --- a/frontend/src/i18n/locales/en.ts +++ b/frontend/src/i18n/locales/en.ts @@ -156,6 +156,7 @@ export default { unknownError: 'Unknown error occurred', saving: 'Saving...', selectedCount: '({count} selected)', refresh: 'Refresh', + settings: 'Settings', notAvailable: 'N/A', now: 'Now', unknown: 'Unknown', @@ -1902,6 +1903,7 @@ export default { max: 'max:', qps: 'QPS', requests: 'Requests', + requestsTitle: 'Requests', upstream: 'Upstream', client: 'Client', system: 'System', @@ -2114,7 +2116,10 @@ export default { empty: 'No alert rules', loadFailed: 'Failed to load alert rules', saveFailed: 'Failed to save alert rule', + saveSuccess: 'Alert rule saved successfully', deleteFailed: 'Failed to delete alert rule', + deleteSuccess: 'Alert rule deleted successfully', + manage: 'Manage Alert Rules', create: 'Create Rule', createTitle: 'Create Alert Rule', editTitle: 'Edit Alert Rule', @@ -2297,6 +2302,54 @@ export default { accountHealthThresholdRange: 'Account health threshold must be between 0 and 100' } }, + settings: { + title: 'Ops Monitoring Settings', + loadFailed: 'Failed to load settings', + saveSuccess: 'Ops monitoring settings saved successfully', + saveFailed: 'Failed to save settings', + dataCollection: 'Data Collection', + evaluationInterval: 'Evaluation Interval (seconds)', + evaluationIntervalHint: 'Frequency of detection tasks, recommended to keep default', + alertConfig: 'Alert Configuration', + enableAlert: 'Enable Alerts', + alertRecipients: 'Alert Recipient Emails', + emailPlaceholder: 'Enter email address', + recipientsHint: 'If empty, the system will use the first admin email as default recipient', + minSeverity: 'Minimum Severity', + reportConfig: 'Report Configuration', + enableReport: 'Enable Reports', + reportRecipients: 'Report Recipient Emails', + dailySummary: 'Daily Summary', + weeklySummary: 'Weekly Summary', + metricThresholds: 'Metric Thresholds', + metricThresholdsHint: 'Configure alert thresholds for metrics, values exceeding thresholds will be displayed in red', + slaMinPercent: 'SLA Minimum Percentage', + slaMinPercentHint: 'SLA below this value will be displayed in red (default: 99.5%)', + latencyP99MaxMs: 'Latency P99 Maximum (ms)', + latencyP99MaxMsHint: 'Latency P99 above this value will be displayed in red (default: 2000ms)', + ttftP99MaxMs: 'TTFT P99 Maximum (ms)', + ttftP99MaxMsHint: 'TTFT P99 above this value will be displayed in red (default: 500ms)', + requestErrorRateMaxPercent: 'Request Error Rate Maximum (%)', + requestErrorRateMaxPercentHint: 'Request error rate above this value will be displayed in red (default: 5%)', + upstreamErrorRateMaxPercent: 'Upstream Error Rate Maximum (%)', + upstreamErrorRateMaxPercentHint: 'Upstream error rate above this value will be displayed in red (default: 5%)', + advancedSettings: 'Advanced Settings', + dataRetention: 'Data Retention Policy', + enableCleanup: 'Enable Data Cleanup', + cleanupSchedule: 'Cleanup Schedule (Cron)', + cleanupScheduleHint: 'Example: 0 2 * * * means 2 AM daily', + errorLogRetentionDays: 'Error Log Retention Days', + minuteMetricsRetentionDays: 'Minute Metrics Retention Days', + hourlyMetricsRetentionDays: 'Hourly Metrics Retention Days', + retentionDaysHint: 'Recommended 7-90 days, longer periods will consume more storage', + aggregation: 'Pre-aggregation Tasks', + enableAggregation: 'Enable Pre-aggregation', + aggregationHint: 'Pre-aggregation improves query performance for long time windows', + validation: { + title: 'Please fix the following issues', + retentionDaysRange: 'Retention days must be between 1-365 days' + } + }, concurrency: { title: 'Concurrency / Queue', byPlatform: 'By Platform', @@ -2330,12 +2383,13 @@ export default { accountError: 'Error' }, tooltips: { + totalRequests: 'Total number of requests (including both successful and failed requests) in the selected time window.', throughputTrend: 'Requests/QPS + Tokens/TPS in the selected window.', latencyHistogram: 'Latency distribution (duration_ms) for successful requests.', errorTrend: 'Error counts over time (SLA scope excludes business limits; upstream excludes 429/529).', errorDistribution: 'Error distribution by status code.', goroutines: - 'Number of Go runtime goroutines (lightweight threads). There is no absolute “safe” number—use your historical baseline. Heuristic: <2k is common; 2k–8k watch; >8k plus rising queue/latency often suggests blocking/leaks.', + 'Number of Go runtime goroutines (lightweight threads). There is no absolute "safe" number—use your historical baseline. Heuristic: <2k is common; 2k–8k watch; >8k plus rising queue/latency often suggests blocking/leaks.', cpu: 'CPU usage percentage, showing system processor load.', memory: 'Memory usage, including used and total available memory.', db: 'Database connection pool status, including active, idle, and waiting connections.', @@ -2345,6 +2399,7 @@ export default { tokens: 'Total number of tokens processed in the current time window.', sla: 'Service Level Agreement success rate, excluding business limits (e.g., insufficient balance, quota exceeded).', errors: 'Error statistics, including total errors, error rate, and upstream error rate.', + upstreamErrors: 'Upstream error statistics, excluding rate limit errors (429/529).', latency: 'Request latency statistics, including p50, p90, p95, p99 percentiles.', ttft: 'Time To First Token, measuring the speed of first byte return in streaming responses.', health: 'System health score (0-100), considering SLA, error rate, and resource usage.'