Files
AgentHub/client/src/i18n/locales/vi/sessions.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

211 lines
8.7 KiB
JSON

{
"title": "Phiên",
"searchPlaceholder": "Tìm phiên...",
"filterAll": "Tất cả",
"filterActive": "Đang hoạt động",
"filterWaiting": "Đang chờ",
"filterCompleted": "Hoàn tất",
"filterError": "Lỗi",
"filterAbandoned": "Bị bỏ dở",
"sessionCount": "Đã ghi nhận {{count}} phiên",
"sessionCount_plural": "Đã ghi nhận {{count}} phiên",
"noSessions": "Không tìm thấy phiên",
"noSessionsDesc": "Hãy thử điều chỉnh tìm kiếm hoặc bộ lọc.",
"noSessionsHint": "Bắt đầu một phiên Claude Code với hooks đã cài để theo dõi.",
"tableSession": "Phiên",
"tableStatus": "Trạng thái",
"tableLastActive": "Hoạt động gần nhất",
"tableDuration": "Thời lượng",
"tableAgents": "Agent",
"tableCost": "Chi phí",
"tableDirectory": "Thư mục",
"defaultName": "Phiên ",
"detail": {
"waitingBanner": {
"title": "Đang chờ phản hồi của bạn",
"generic": "Claude Code đang tạm dừng trong phiên này cho đến khi bạn phản hồi trong terminal."
},
"failedLoad": "Không thể tải phiên",
"loading": "Đang tải phiên...",
"notFound": "Không tìm thấy phiên",
"backToSessions": "Quay lại danh sách phiên",
"agents": "Agent",
"noAgents": "Chưa có Agent được ghi nhận.",
"unparented": "Subagent không có cha",
"costBreakdown": "Phân rã chi phí",
"eventTimeline": "Dòng thời gian sự kiện",
"noEvents": "Chưa có sự kiện được ghi nhận.",
"conversation": "Hội thoại",
"timeline": "Dòng thời gian ({{shown}}/{{total}})",
"transcriptNotFound": "Không tìm thấy bản ghi hội thoại cho agent này. Tệp transcript có thể bị thiếu hoặc chưa được liên kết.",
"back": "Quay lại",
"collapseSubagents": "Thu gọn subagent",
"expandSubagents": "Mở rộng subagent",
"dashboardRun": {
"title": "Một pane trên dashboard đang chạy phiên này",
"body": "Mở pane trong workspace để gửi tiếp, xem đầu ra hoặc dừng nó."
}
},
"toolBadgeTitle": "Ghi lại bởi {{tool}}",
"menu": {
"details": "Mở chi tiết session",
"inWorkspace": "Mở trong workspace của nó",
"copyId": "Sao chép ID session",
"copyFolder": "Sao chép đường dẫn thư mục"
},
"replay": {
"tab": "Phát lại",
"loading": "Đang tải sự kiện…",
"label": "Phát lại phiên",
"truncated": "Đang phát lại {{shown}} sự kiện mới nhất trong {{total}}.",
"start": "Về đầu (Home)",
"back": "Lùi một bước (←)",
"play": "Phát (Space)",
"pause": "Tạm dừng (Space)",
"forward": "Tiến một bước (→)",
"end": "Đến cuối (End)",
"speed": "Tốc độ phát",
"position": "{{at}} / {{n}}",
"scrubber": "Vị trí sự kiện",
"minimap": "Mốc vòng đời",
"marker": {
"SessionStart": "Bắt đầu phiên",
"UserPromptSubmit": "Prompt",
"Compaction": "Nén ngữ cảnh",
"SubagentStop": "Subagent xong",
"APIError": "Lỗi API",
"Stop": "Kết thúc lượt"
},
"state": {
"status": "Trạng thái",
"tool": "Công cụ đang chạy",
"prompts": "Prompt",
"errors": "Lỗi",
"compactions": "Lần nén",
"elapsed": "Đã trôi qua",
"toolCounts": "Số lần gọi công cụ đến lúc này"
}
},
"snapshot": {
"create": "Snapshot",
"hint": "Đóng băng phiên này thành một bản chỉ đọc kèm liên kết chia sẻ",
"title": "Tạo snapshot",
"body": "Đóng băng phiên như hiện tại — agent, sự kiện, thống kê và chi phí — thành một bản chỉ đọc dưới một liên kết riêng. Hoạt động sau đó không làm nó thay đổi, và nó vẫn còn sau khi Xóa dữ liệu.",
"redactPaths": "Che đường dẫn (thư mục làm việc, transcript và đường dẫn tệp)",
"confirm": "Tạo và sao chép liên kết",
"cancel": "Hủy",
"open": "Mở snapshot",
"notFound": "Không tìm thấy snapshot",
"banner": "Snapshot chụp lúc {{date}}",
"bannerBody": "Bản chỉ đọc của phiên tại thời điểm đó. Không có gì ở đây được cập nhật.",
"redacted": "Đã che đường dẫn",
"openLive": "Mở phiên đang có",
"timeline": "Dòng thời gian ({{n}})"
},
"exportCsv": "CSV",
"exportJson": "JSON",
"exportCapped": "Tệp chỉ gồm {{shown}} trên {{total}} phiên (giới hạn xuất) — hãy thu hẹp bộ lọc để xuất phần còn lại.",
"filterDirectory": "Lọc theo thư mục",
"allDirectories": "Tất cả thư mục",
"sortLabel": "Sắp xếp phiên",
"sortTimeDesc": "Theo thời gian (mới nhất)",
"sortTimeAsc": "Theo thời gian (cũ nhất)",
"sortDurationDesc": "Theo thời lượng (dài nhất)",
"sortDurationAsc": "Theo thời lượng (ngắn nhất)",
"sortPriceDesc": "Theo chi phí (cao nhất)",
"sortPriceAsc": "Theo chi phí (thấp nhất)",
"descending": "Giảm dần",
"ascending": "Tăng dần",
"filterTool": "Lọc theo công cụ AI",
"allTools": "Mọi công cụ AI",
"filterWorkspace": "Lọc theo workspace",
"allWorkspaces": "Mọi workspace",
"dateFrom": "Từ",
"dateTo": "Đến",
"clearFilters": "Xóa bộ lọc",
"failedList": "Không thể tải danh sách phiên",
"tableRegion": "Bảng phiên",
"openInWorkspace": "Mở trong workspace",
"openInWorkspaceTitle": "Một pane trên dashboard đang chạy phiên này — mở nó",
"remoteSourceBadgeTitle": "Được thu thập từ máy từ xa",
"datePicker": {
"placeholder": "Chọn ngày và giờ",
"clear": "Xóa ngày",
"prevMonth": "Tháng trước",
"nextMonth": "Tháng sau",
"time": "Giờ"
},
"conversation": {
"failedLoad": "Không thể tải transcript",
"transcript": "Transcript",
"messages_one": "{{count}} tin nhắn",
"messages_other": "{{count}} tin nhắn",
"refresh": "Làm mới hội thoại",
"loadingHistory": "Đang tải lịch sử…",
"scrollForOlder": "Cuộn lên để xem tin nhắn cũ hơn",
"loading": "Đang tải hội thoại…",
"empty": "Không tìm thấy bản ghi hội thoại.",
"emptyBody": "Siêu dữ liệu của phiên này đã được nhập, nhưng tệp transcript không còn trên đĩa. Claude Code tự động xóa transcript của phiên không hoạt động sau một thời gian lưu giữ (cleanupPeriodDays, mặc định 30 ngày), nên các hội thoại cũ có thể đã mất. Các phiên được nhập từ nay sẽ được chụp lại và giữ nguyên ngay cả khi Claude Code xóa bản gốc.",
"newMessages": "Tin nhắn mới",
"systemReminder": "Nhắc nhở hệ thống",
"persistedOutput": "Đầu ra đã lưu",
"taskNotification": "Thông báo tác vụ",
"thinking": "Suy nghĩ",
"chars_one": "{{formatted}} ký tự",
"chars_other": "{{formatted}} ký tự",
"sender": {
"user": "Người dùng",
"assistant": "Trợ lý",
"orchestrator": "Agent chính",
"system": "Hệ thống",
"tool": "Công cụ"
},
"lines_one": "{{count}} dòng",
"lines_other": "{{count}} dòng",
"copyCode": "Sao chép mã",
"copy": "Sao chép",
"tool": {
"inputTruncated": "Đầu vào (bị cắt bớt)",
"command": "Lệnh",
"newFile": "Tệp mới",
"replaceAll": "thay tất cả",
"removed": "Đã xóa",
"added": "Đã thêm",
"pattern": "Mẫu",
"path": "Đường dẫn",
"glob": "Glob",
"input": "Đầu vào",
"empty": "trống",
"error": "Lỗi",
"output": "Đầu ra",
"statusError": "lỗi",
"statusOk": "ok",
"statusPending": "đang chờ"
}
},
"overview": {
"agent": "Agent",
"running": "đang chạy",
"events": "Sự kiện",
"perMin": "{{rate}}/phút",
"toolCalls": "Lần gọi công cụ",
"unique": "{{count}} loại",
"subagents": "Subagent",
"plusMain_one": "+{{count}} chính",
"plusMain_other": "+{{count}} chính",
"compactions": "Lần nén",
"errors": "Lỗi",
"duration": "Thời lượng",
"topTools": "Công cụ dùng nhiều",
"distinctTotal": "tổng {{count}}",
"noToolCalls": "Chưa có lần gọi công cụ nào.",
"contextCompaction": "Nén ngữ cảnh",
"runs_one": "{{count}} lần chạy",
"runs_other": "{{count}} lần chạy",
"noSubagents": "Phiên này không có subagent.",
"tokenFlow": "Luồng token",
"total": "tổng {{value}}",
"eventMix": "Cơ cấu sự kiện"
}
}