f2f1cd9b6c
- Today's spend in the status bar and the Claude Code statusline is the
caller's own (`GET /api/pricing/cost?mine=1`, scope.ownSessionWhere), not
every user's sum for an admin or analyst.
- A screenshot pasted into a local claude pane is sent as Claude Code's own
image-paste key: Alt+V on Windows (Ctrl+V did nothing there), ^V elsewhere,
and only when the machine can read its clipboard (wl-paste/xclip + a
display on Linux), else it is uploaded (GET /api/run/native-paste {key}).
- A file manager's files pasted or dropped on a local browser go in by their
own paths, read from the OS clipboard or the file manager's selection
(server/lib/file-manager.js, POST /api/run/clipboard-files and
/selected-files): no upload, no size limit. A copied image file is pasted
by path, text that comes with a picture of it (spreadsheet cells) is
pasted as text, Windows paths go in as `C:/…` mentions.
- Tab titles for Snapshot, Artifacts, Files and Administration.
- An npm tool AgentHub installed under ~/.local is updated there, not by its
own updater into npm's global prefix.
177 lines
8.6 KiB
JSON
177 lines
8.6 KiB
JSON
{
|
|
"emptyPane": "Pane này chưa có phiên nào. Hãy tạo phiên từ ô prompt của workspace.",
|
|
"actions": {
|
|
"newSession": "Phiên mới"
|
|
},
|
|
"autocomplete": {
|
|
"fileHint": "Gõ @ để tham chiếu file",
|
|
"noMatches": "Không có",
|
|
"slashHint": "Gõ / để tìm lệnh slash"
|
|
},
|
|
"binary": {
|
|
"missing": "Không thấy CLI `{{cli}}` trong PATH. Cài đặt {{tool}} hoặc đặt PATH."
|
|
},
|
|
"empty": {
|
|
"body": "Gõ prompt và bấm Chạy. Output sẽ stream khi model suy nghĩ, gọi tool, và trả lời.",
|
|
"title": "Chưa có gì"
|
|
},
|
|
"errors": {
|
|
"attachFailed": "Không gắn được vào run: {{message}}",
|
|
"cwdRequired": "Cần thư mục làm việc để bắt đầu run",
|
|
"laneCreateFailed": "Không thể tạo workspace: {{message}}",
|
|
"noLaneSelected": "Chưa chọn workspace hoặc không thể tạo workspace",
|
|
"runStartedButNotAttached": "Run đã khởi động nhưng không thể gắn vào bảng điều khiển: {{message}}",
|
|
"sendFailed": "Không gửi được: {{message}}"
|
|
},
|
|
"fields": {
|
|
"approval": "Phê duyệt",
|
|
"approvalNever": "Không bao giờ",
|
|
"approvalOnRequest": "Khi cần",
|
|
"cwdGroups": {
|
|
"dashboard": "Máy chủ dashboard",
|
|
"home": "Home",
|
|
"repo": "Repo nguồn",
|
|
"recent": "Gần đây - Claude Code đã dùng"
|
|
},
|
|
"cwdNoMatches": "Không khớp. Gõ đường dẫn tuyệt đối để dùng trực tiếp.",
|
|
"cwdPlaceholder": "Gõ để tìm hoặc dán đường dẫn tuyệt đối…",
|
|
"effort": "Mức độ suy nghĩ",
|
|
"model": "Model",
|
|
"moreModels": "Thêm model",
|
|
"effortDefault": "Mặc định",
|
|
"effortFaster": "Nhanh hơn",
|
|
"effortSmarter": "Kỹ hơn",
|
|
"effortReset": "Về mặc định của model",
|
|
"effortDefaultHint": "Model tự quyết — không truyền --effort",
|
|
"modelCustom": "Tuỳ chỉnh…",
|
|
"modelCustomPlaceholder": "model id (vd: claude-opus-5)",
|
|
"modelInheritLabel": "Kế thừa từ settings",
|
|
"permissionAcceptEdits": "acceptEdits (sửa file không hỏi)",
|
|
"permissionAuto": "auto (khuyên dùng - chỉ hỏi khi hành động rủi ro)",
|
|
"permissionBypass": "bypassPermissions (NGUY HIỂM - cho phép tất cả mà không hỏi)",
|
|
"bypass": "Bỏ qua xin quyền cho lần chạy này",
|
|
"yolo": "YOLO",
|
|
"yoloHint": "Chế độ YOLO cho phiên này: không sandbox, không hỏi phê duyệt (--dangerously-bypass-approvals-and-sandbox)",
|
|
"bypassShort": "Bỏ qua quyền",
|
|
"permissionDefault": "default (prompt tương tác - headless sẽ treo)",
|
|
"permissionMode": "Chế độ quyền",
|
|
"permissionPlan": "plan (chỉ đọc, lập kế hoạch)",
|
|
"sandbox": "Sandbox",
|
|
"sandboxFullAccess": "Truy cập đầy đủ (nguy hiểm)",
|
|
"sandboxReadOnly": "Chỉ đọc",
|
|
"sandboxWorkspaceWrite": "Ghi vào workspace"
|
|
},
|
|
"hint": {
|
|
"permissionWarning": "bypassPermissions cho phép gọi mọi tool không cần xác nhận. Chỉ dùng cho prompt bạn tin tưởng.",
|
|
"bypassWarning": "{{tool}} sẽ chạy mọi lệnh và sửa mọi file mà không hỏi. Chỉ dùng với prompt và thư mục bạn tin tưởng.",
|
|
"sandboxWarning": "Codex sẽ chạy lệnh mà không có sandbox."
|
|
},
|
|
"drop": {
|
|
"hint": "Thả file hoặc ảnh để đính kèm",
|
|
"paste": "Thả để dán vào terminal",
|
|
"uploading": "Đang tải lên…",
|
|
"failed": "Không đính kèm được file",
|
|
"tooBig": "File quá lớn để tải lên (tối đa {{mb}} MB) — hãy đặt file vào thư mục workspace rồi đính kèm từ Files",
|
|
"tooBigLocal": "File quá lớn để tải lên (tối đa {{mb}} MB) — hãy đính kèm bằng đường dẫn: + → Chọn file trên máy này",
|
|
"tooBigLocalPaste": "File quá lớn để tải lên (tối đa {{mb}} MB) — hãy copy file trong trình quản lý file rồi dán vào đây (Ctrl+V): file được dán sẽ dùng đường dẫn gốc",
|
|
"remove": "Bỏ đính kèm",
|
|
"view": "Xem ảnh"
|
|
},
|
|
"terminal": {
|
|
"ended": "[phiên đã kết thúc, mã thoát {{code}}]",
|
|
"reconnecting": "Đang kết nối lại… phím gõ chưa tới được phiên cho tới khi terminal kết nối lại.",
|
|
"keyboardHint": "Terminal. Nhấn Ctrl+M để bật/tắt chế độ Tab chuyển focus ra khỏi terminal; Ctrl+Shift+F (Cmd+F trên macOS) để tìm chữ.",
|
|
"tabMoves": "Tab chuyển focus — Ctrl+M để trả Tab lại cho terminal",
|
|
"selectHint": "Shift+kéo để chọn chữ trong trình duyệt; kéo thường sẽ chọn trong tmux và sao chép khi thả chuột.",
|
|
"dismissHint": "Bỏ qua",
|
|
"find": "Tìm trong terminal",
|
|
"findPrev": "Kết quả trước",
|
|
"findNext": "Kết quả sau",
|
|
"findClose": "Đóng tìm kiếm"
|
|
},
|
|
"chat": {
|
|
"codexPicker": "Mở bộ chọn của chính Codex — trả lời ngay trong chat",
|
|
"placeholder": "Viết tin nhắn…",
|
|
"send": "Gửi",
|
|
"notSent": "Terminal chưa kết nối — tin nhắn chưa được gửi.",
|
|
"notStarted": "Có thể Claude Code đang hỏi bạn trong terminal — ví dụ có tin tưởng (trust) thư mục này không. Gửi lúc này sẽ nhấn Enter ở đó và có thể trả lời câu hỏi ấy (lựa chọn mặc định là \"No, exit\"). Hãy mở terminal để trả lời trước.",
|
|
"notStartedTitle": "Phiên chưa bắt đầu",
|
|
"sendAnyway": "Vẫn gửi",
|
|
"stop": "Ngưng",
|
|
"notStopped": "Terminal chưa kết nối — chưa ngưng được.",
|
|
"add": "Thêm file, skill…",
|
|
"upload": "Tải lên hoặc thêm file",
|
|
"pickLocal": "Chọn file trên máy này",
|
|
"pickLocalHint": "Đính kèm file trên máy này bằng đường dẫn — không tải lên gì cả",
|
|
"pickLocalOpen": "Hộp chọn file đang mở trên màn hình máy này…",
|
|
"projectFiles": "File trong dự án",
|
|
"contextFiles": "File ngữ cảnh",
|
|
"recentUploads": "Đã tải lên gần đây",
|
|
"searchFiles": "Tìm file và thư mục…",
|
|
"skills": "Skills",
|
|
"plugins": "Plugins",
|
|
"manageSkills": "Quản lý skills",
|
|
"managePlugins": "Quản lý plugins",
|
|
"none": "Chưa có gì",
|
|
"fromPlugin": "Plugin {{name}}",
|
|
"modeFailed": "Không đổi được permission mode: {{message}}",
|
|
"outline": {
|
|
"progress": "Tiến độ",
|
|
"outputs": "Kết quả",
|
|
"connectors": "Kết nối",
|
|
"empty": "Chưa có gì",
|
|
"resize": "Kéo giãn thanh bên",
|
|
"hide": "Ẩn thanh bên",
|
|
"show": "Bảng hoạt động",
|
|
"copyPath": "Sao chép đường dẫn: {{path}}",
|
|
"panel": "Bảng hoạt động của phiên",
|
|
"used": "Đã dùng trong phiên",
|
|
"uploads": "Tệp tải lên",
|
|
"files": "Tệp đã đọc",
|
|
"memory": "Bộ nhớ",
|
|
"skills": "Skills",
|
|
"close": "Đóng",
|
|
"noPreview": "Không xem trước được tệp này ở đây",
|
|
"truncated": "Chỉ hiện phần đầu của tệp"
|
|
},
|
|
"contextTitle": "Ngữ cảnh: {{used}} / {{size}} token — gần đầy thì Claude Code tự compact",
|
|
"tab": {
|
|
"waiting": "Đang chờ",
|
|
"done": "Xong"
|
|
},
|
|
"menu": {
|
|
"placeholder": "Nhập câu trả lời của bạn…",
|
|
"cancel": "Huỷ (Esc)",
|
|
"prev": "Câu trước",
|
|
"next": "Câu tiếp"
|
|
},
|
|
"request": {
|
|
"notePlaceholder": "Nói cho model biết nên làm gì thay vào đó…",
|
|
"send": "Gửi",
|
|
"denyWithNote": "Từ chối kèm lời nhắn"
|
|
},
|
|
"artifact": {
|
|
"preview": "Xem trước",
|
|
"code": "Mã",
|
|
"copy": "Sao chép",
|
|
"download": "Tải xuống",
|
|
"share": "Lưu vào Artifacts",
|
|
"shared": "Đã lưu vào thư viện Artifacts của bạn — chia sẻ từ trang Artifacts.",
|
|
"cannotShare": "Không lưu được file này vào Artifacts.",
|
|
"expand": "Toàn màn hình",
|
|
"collapse": "Thoát toàn màn hình",
|
|
"older": "Phiên bản cũ hơn",
|
|
"newer": "Phiên bản mới hơn",
|
|
"version": "Phiên bản {{n}}/{{total}}"
|
|
}
|
|
},
|
|
"interrupted": {
|
|
"title": "Tiếp tục các phiên bị gián đoạn?",
|
|
"message": "Các phiên này dừng ngoài ý muốn (tắt máy ngang, tmux bị tắt, hoặc CLI bị lỗi). Đánh dấu những phiên muốn tiếp tục — mỗi phiên sẽ đọc lại toàn bộ hội thoại.",
|
|
"resume_one": "Tiếp tục {{count}} phiên",
|
|
"resume_other": "Tiếp tục {{count}} phiên",
|
|
"none": "Không tiếp tục",
|
|
"failed": "Không tiếp tục được {{name}}: {{message}}"
|
|
}
|
|
}
|