Files
AgentHub/client/src/i18n/locales/vi/alerts.json
T
nntrivi2001 4aae61297f feat: analytics parity — tool cost, date ranges, budgets, query explorer, replay, snapshots (v2.4.0)
Analytics parity phases 2–7 (docs/plans/analytics-parity/), built on
138e706 and ported onto v2.3.1:
- Cost by AI tool (?tool= on cost/analytics/stats/workflows, by_tool,
  Codex fast/priority and flex tiers, agenthub_cost_usd_total{tool,model})
- Date ranges (from/to) on cost/analytics/workflows; Analytics range select
  with Today / This week (Monday) / This month (1st) / 7d / 30d / 90d / All /
  Custom; workflow filters carried into workflow-stats.js (read worker)
- Budgets and cost alerts as alert rule types (alert_rules rebuilt without
  its rule_type CHECK), GET /api/budgets/status, rule preview, spend pace,
  status-bar budget chip; rules stay editable in place
- Query Explorer (/query, allowlisted sort, CSV/JSON export) and scheduled
  reports (report_definitions/report_runs, Settings → Reports)
- Session Replay tab and immutable snapshots (session_snapshots, /snapshot/:token)
- Remote Codex sync, push ingest with a hashed token, privacy redaction and
  ignored folders (Settings → Data), Cursor sessions (no cost)
- Read-only MCP server, statusline, Grafana/Prometheus files

Also: resizable sidebar, pet run/wave animations, the workspace home keeps a
half-typed prompt, and the pre-commit hook runs only the related tests for a
small commit.
2026-10-06 17:12:28 +07:00

120 lines
7.6 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"title": "Cảnh báo",
"subtitle": "Cảnh báo theo quy tắc cho phiên, agent, sự kiện và mức dùng token",
"refresh": "Làm mới",
"ackAll": "Xác nhận tất cả ({{count}})",
"ruleTypes": {
"event_pattern": "Mẫu sự kiện",
"inactivity": "Không hoạt động",
"status_duration": "Agent bị kẹt",
"token_threshold": "Ngưỡng token",
"cost_threshold": "Ngưỡng chi phí",
"budget": "Ngân sách chi tiêu"
},
"ruleTypeHints": {
"event_pattern": "Kích hoạt khi một sự kiện khớp với mẫu. Đặt số lần lớn hơn 1 để yêu cầu N sự kiện khớp trong khung thời gian (ví dụ: hơn 5 lỗi trong 2 phút).",
"inactivity": "Kích hoạt khi một phiên đang hoạt động không nhận được sự kiện nào trong số phút đã cấu hình.",
"status_duration": "Kích hoạt khi một agent giữ nguyên trạng thái đã chọn mà không có hoạt động trong số phút đã cấu hình.",
"token_threshold": "Kích hoạt khi tổng mức dùng token của phiên (đầu vào + đầu ra + bộ nhớ đệm) vượt ngưỡng.",
"cost_threshold": "Kích hoạt khi chi phí của một phiên chạm mức này, tính giá như chi phí riêng của phiên.",
"budget": "Kích hoạt một lần mỗi kỳ ở từng ngưỡng của hạn mức chi tiêu — theo ngày, tuần hoặc tháng theo giờ địa phương, có thể chỉ cho một công cụ AI."
},
"ruleDesc": {
"eventPattern": "Khớp {{pattern}}",
"eventPatternCount": "≥{{count}} × {{pattern}} trong {{window}} phút",
"inactivity": "Phiên không hoạt động trong {{minutes}} phút",
"statusDuration": "Agent kẹt ở trạng thái {{status}} trong {{minutes}} phút",
"tokenThreshold": "Token của phiên vượt {{tokens}}",
"costThreshold": "Chi phí phiên chạm {{usd}}",
"budget": "{{limit}} mỗi {{period}} · cảnh báo ở {{thresholds}}"
},
"rules": {
"title": "Quy tắc cảnh báo",
"add": "Thêm quy tắc",
"cancel": "Hủy",
"create": "Tạo quy tắc",
"saving": "Đang lưu…",
"empty": "Chưa có quy tắc cảnh báo nào",
"enabled": "Đang bật",
"disabled": "Đang tắt",
"enable": "Bật quy tắc",
"disable": "Tắt quy tắc",
"delete": "Xóa quy tắc",
"confirmDelete": "Xóa quy tắc \"{{name}}\" và lịch sử cảnh báo của nó?",
"cooldown": "thời gian chờ {{seconds}}s",
"form": {
"name": "Tên quy tắc",
"namePlaceholder": "ví dụ: Lỗi dồn dập",
"type": "Loại quy tắc",
"eventType": "Loại sự kiện (chính xác)",
"toolName": "Tên công cụ (chính xác)",
"summaryContains": "Tóm tắt chứa",
"count": "Số lần kích hoạt",
"windowMinutes": "Khung thời gian (phút)",
"agentStatus": "Trạng thái agent",
"minutes": "Phút",
"totalTokens": "Tổng token",
"cooldown": "Thời gian chờ (giây)",
"usd": "Chi phí (USD)",
"period": "Kỳ",
"limitUsd": "Hạn mức (USD)",
"thresholds": "Cảnh báo ở (%)",
"budgetTool": "Công cụ AI",
"allTools": "Mọi công cụ AI"
},
"deleteTitle": "Xóa quy tắc cảnh báo?",
"help": {
"name": "Nhãn cho quy tắc này. Hiển thị trong danh sách cảnh báo và đính kèm trong payload webhook (rule_name). vd: 'Lỗi Bash lặp lại'.",
"type": "Quy tắc theo dõi gì. event_pattern khớp luồng sự kiện trực tiếp; inactivity = phiên đang hoạt động im lặng; status_duration = agent kẹt ở một trạng thái; token_threshold = token của phiên vượt ngưỡng.",
"eventType": "Sự kiện hook của Claude Code cần khớp. Để trống để khớp mọi loại. Khớp chính xác (phân biệt hoa thường).",
"toolName": "Công cụ mà agent gọi (trong sự kiện PreToolUse / PostToolUse). Để trống để khớp mọi công cụ. Khớp chính xác.",
"summaryContains": "Khớp chuỗi con (không phân biệt hoa thường) trong tóm tắt sự kiện. Hữu ích để bắt lỗi hoặc cụm từ cụ thể. Để trống để bỏ qua.",
"count": "Cần bao nhiêu sự kiện khớp trước khi cảnh báo kích hoạt. 1 = kích hoạt ở lần khớp đầu. Đặt lớn hơn 1 để phát hiện bùng phát (vd lỗi lặp lại).",
"window": "Cửa sổ nhìn lại cho bộ đếm. vd count 5 + window 2 nghĩa là '5 sự kiện khớp trong bất kỳ khoảng 2 phút nào'.",
"status": "Trạng thái agent cần theo dõi. 'working' bắt agent kẹt giữa tác vụ; 'waiting' bắt agent chờ nhập liệu/quyền.",
"minutesInactivity": "Kích hoạt khi một phiên đang hoạt động không có sự kiện nào trong bấy nhiêu phút (phiên bị treo hoặc bị quên).",
"minutesStatus": "Kích hoạt khi agent ở trạng thái đã chọn mà không có hoạt động trong bấy nhiêu phút (agent bị kẹt).",
"totalTokens": "Kích hoạt khi tổng token của phiên (input + output + cache read + cache write) vượt số này. vd 1000000 = 1 triệu token.",
"cooldown": "Số giây tối thiểu giữa các cảnh báo lặp cho cùng quy tắc + phiên + agent. Tránh trùng lặp gây nhiễu. Mặc định 300 (5 phút); 0 = không có thời gian chờ.",
"usd": "Một phiên chạm số đô la này sẽ kích hoạt cảnh báo.",
"period": "Ngày bắt đầu lúc nửa đêm giờ địa phương, tuần từ thứ Hai, tháng từ ngày 1.",
"limitUsd": "Hạn mức chi tiêu cho một kỳ, tính bằng đô la Mỹ.",
"thresholds": "Phần trăm hạn mức, cách nhau bằng dấu phẩy, vd 50, 80, 100. Mỗi ngưỡng kích hoạt một lần mỗi kỳ.",
"budgetTool": "Chỉ tính các phiên của công cụ AI này."
},
"preview": "Xem trước",
"previewing": "Đang kiểm tra…",
"previewHint": "Quy tắc này lẽ ra đã kích hoạt những gì trong 7 ngày qua — không lưu, không gửi gì",
"previewResult": "Lẽ ra đã kích hoạt {{fires}} lần ở {{sessions}} phiên trong {{days}} ngày qua.",
"previewBudget": "Chi tiêu mỗi kỳ (kỳ này và năm kỳ trước):",
"previewUnsupported": "Loại quy tắc này không phát lại được từ lịch sử.",
"edit": "Sửa quy tắc",
"save": "Lưu quy tắc",
"typeFixed": "Không đổi được loại của quy tắc — hãy tạo quy tắc mới.",
"cooldownInvalid": "Nhập số giây nguyên (từ 0 trở lên)."
},
"feed": {
"title": "Luồng cảnh báo",
"unackedCount": "{{count}} chưa xác nhận",
"unackedOnly": "Chỉ chưa xác nhận",
"ack": "Xác nhận",
"viewSession": "Xem phiên",
"loadMore": "Tải thêm ({{shown}} / {{total}})",
"emptyTitle": "Không có cảnh báo",
"emptyDescription": "Cảnh báo do các quy tắc của bạn kích hoạt sẽ hiển thị tại đây theo thời gian thực.",
"emptyUnacked": "Tất cả đã được xác nhận. Cảnh báo mới sẽ hiển thị tại đây khi được kích hoạt."
},
"periods": {
"day": "ngày",
"week": "tuần",
"month": "tháng"
},
"errors": {
"loadRules": "Không tải được quy tắc cảnh báo: {{error}}",
"loadAlerts": "Không tải được cảnh báo: {{error}}",
"toggleRule": "Không thay đổi được quy tắc: {{error}}",
"deleteRule": "Không xoá được quy tắc: {{error}}",
"ack": "Không xác nhận được: {{error}}"
}
}