a2b5fa4669
The detail panel (LaneCard/PipelineMap/proof gallery/console) could grow tall enough to visually crowd out the lane-strip carousel above it once a run was attached in split view. Move the lane list into its own scrolling vertical column beside the detail panel instead of stacking it above, so neither can cover the other; also collapse the info block by default in 2/4-pane split view (toggle to expand) and move the pane-count control into the detail header.
133 lines
8.5 KiB
JSON
133 lines
8.5 KiB
JSON
{
|
|
"action.clear": "Dọn trạng thái",
|
|
"action.forget": "Xóa làn",
|
|
"action.purge": "Xóa lịch sử",
|
|
"action.remove": "Xóa làn + worktree",
|
|
"action.reset": "Đặt lại worktree",
|
|
"action.start": "Bắt đầu",
|
|
"action.stop": "Dừng",
|
|
"actionError": "Thao tác làn đường thất bại: {{message}}",
|
|
"actionErrorUnknown": "Lỗi không xác định",
|
|
"actions.agentsInstall": "Cài agent",
|
|
"actions.agentsInstallResult": "Đã cài: {{files}}",
|
|
"actions.busy": "…",
|
|
"actions.mcpSync": "Đồng bộ MCP",
|
|
"actions.mcpSyncResult": "Đã đồng bộ: {{servers}}",
|
|
"actions.syncCheck": "Kiểm tra đồng bộ dev",
|
|
"actions.syncCheckClean": "DEV_DELTA: {{count}} file, trùng: {{overlap}}",
|
|
"actions.syncCheckCollision": "Trùng migration: {{file}} → đổi tên thành {{suggestion}}",
|
|
"add": "Thêm lane",
|
|
"addLane": "Tạo lane từ một thư mục làm việc",
|
|
"addLaneBaseLabel": "Nhánh để tạo nhánh mới",
|
|
"addLaneBranchHint": "Phải là tên nhánh git hợp lệ và chưa tồn tại.",
|
|
"addLaneBranchLabel": "Tên nhánh mới",
|
|
"addLaneBranchPlaceholder": "feat/tinh-nang-cua-toi",
|
|
"addLaneNoBranches": "Repo này chưa có commit nào — worktree sẽ bắt đầu trống.",
|
|
"addLaneNotARepo": "Chưa phải repo git (hoặc không có quyền đọc).",
|
|
"addLanePipelineHint": "Bản đồ lane này sẽ hiện những stage nào. Chọn đúng cái mà skill điều khiển nó khai báo — sau này không màn hình nào đổi được.",
|
|
"addLanePipelineLabel": "Mẫu pipeline",
|
|
"addLaneProvisionFailed": "Tạo worktree thất bại hoặc quá thời gian chờ — lane vẫn tồn tại nhưng tự động thiết lập đã bị bỏ qua. Kiểm tra git facts của lane, rồi chạy thiết lập agents/mcp thủ công.",
|
|
"addLaneRepoHint": "Một repo git có sẵn. Dashboard tự tạo worktree mới cho lane, không phải thư mục bạn chọn.",
|
|
"addLaneRepoHintAdopt": "Một thư mục có sẵn. Dashboard theo dõi nguyên trạng — không tạo worktree, không tạo nhánh mới.",
|
|
"addLaneRepoLabel": "Repo nguồn",
|
|
"addLaneRepoLabelAdopt": "Thư mục",
|
|
"addLaneSetupAgents": "Agent",
|
|
"addLaneSetupMcp": "MCP server",
|
|
"addLaneSetupProfile": "Profile",
|
|
"addLaneSetupTitle": "Thiết lập",
|
|
"addLaneTitleLabel": "Tiêu đề",
|
|
"mode.repo": "Repo",
|
|
"mode.repoHint": "Gắn thẳng thư mục này làm lane, nguyên trạng — không worktree, không nhánh mới.",
|
|
"mode.worktree": "Worktree",
|
|
"mode.worktreeHint": "Tạo worktree git mới + nhánh mới từ repo nguồn.",
|
|
"browse.button": "Duyệt",
|
|
"browse.empty": "Thư mục này trống.",
|
|
"browse.select": "Chọn thư mục này",
|
|
"browse.title": "Duyệt chọn thư mục",
|
|
"worktrees.heading_one": "{{count}} worktree",
|
|
"worktrees.heading_other": "{{count}} worktree",
|
|
"addLaneTitlePlaceholder": "Không bắt buộc",
|
|
"autoStage": "tự động: {{stage}}",
|
|
"cardId": "Làn đường {{id}}",
|
|
"confirmRemoveCancel": "Hủy",
|
|
"confirmRemoveConfirm": "Xóa",
|
|
"confirmRemoveMessage": "Hành động này không thể hoàn tác.",
|
|
"confirmRemoveTitle": "Xóa làn đường?",
|
|
"countDead": "đã chết",
|
|
"countNeedsYou": "cần bạn",
|
|
"countRunning": "đang chạy",
|
|
"countTotal": "làn đường",
|
|
"destructive.blocked.adopted": "Đây là thư mục đã nhận và không thể thay đổi bằng thao tác worktree.",
|
|
"destructive.blocked.missing": "Thư mục làn đường không còn, nên không thể tiếp tục thao tác này.",
|
|
"destructive.blocked.unreadable": "Không thể đọc thư mục làn đường như một Git worktree, nên không thể tiếp tục thao tác này.",
|
|
"destructive.cancel": "Hủy",
|
|
"destructive.count.bytesEstimate": "Dung lượng giải phóng (ước tính)",
|
|
"destructive.count.dirty": "Tệp đã sửa",
|
|
"destructive.count.events": "Sự kiện",
|
|
"destructive.count.head": "HEAD",
|
|
"destructive.count.sessions": "Phiên",
|
|
"destructive.count.tokenRows": "Dòng token",
|
|
"destructive.count.unpushed": "Commit chưa đẩy",
|
|
"destructive.count.untracked": "Tệp chưa theo dõi",
|
|
"destructive.force": "Tôi hiểu các commit chưa đẩy này sẽ bị loại bỏ.",
|
|
"destructive.loading": "Đang tải trạng thái hiện tại…",
|
|
"destructive.notice.activeSessionSkipped": "Một hoặc nhiều phiên trong làn đường này vẫn đang hoạt động và sẽ được giữ lại, không bị dọn.",
|
|
"destructive.notice.adopted": "Làn đường này trỏ tới thư mục của bạn. Chỉ bản ghi trên bảng điều khiển bị xóa — thư mục và các tệp bên trong không bị thay đổi.",
|
|
"destructive.notice.missing": "Thư mục làn đường đã không còn. Việc xóa chỉ bỏ bản ghi trên bảng điều khiển và dọn mục worktree cũ trong Git; không tệp nào bị xóa khỏi đĩa.",
|
|
"destructive.notice.unreadable": "Không thể đọc thư mục làn đường như một Git worktree. Hệ thống sẽ thử xóa; nếu Git tự chối, mục ghi worktree của nó sẽ được dọn trực tiếp thay thế. Trong mọi trường hợp, thư mục vẫn không bị thay đổi.",
|
|
"destructive.purge.confirm": "Xóa lịch sử",
|
|
"destructive.purge.message": "Hãy xác nhận các số liệu hiện tại trước khi xóa lịch sử phiên đã lưu.",
|
|
"destructive.purge.title": "Xóa lịch sử làn đường?",
|
|
"destructive.remove.confirm": "Xóa làn đường",
|
|
"destructive.remove.message": "Hãy xác nhận các số liệu hiện tại trước khi thực hiện thao tác này.",
|
|
"destructive.remove.title": "Xóa làn đường?",
|
|
"destructive.reset.confirm": "Đặt lại worktree",
|
|
"destructive.reset.message": "Hãy xác nhận các số liệu hiện tại trước khi đặt lại worktree này.",
|
|
"destructive.reset.survives": "Các tệp Git bỏ qua như node_modules và .env được giữ lại; các tệp chưa theo dõi sẽ bị xóa.",
|
|
"destructive.reset.title": "Đặt lại worktree được quản lý?",
|
|
"destructive.warning.no-remote": "Chưa cấu hình Git remote, nên không có bản sao lưu ở xa. Bạn vẫn có thể tiếp tục.",
|
|
"emptyState": "Chưa có làn đường nào. Tạo một từ thư mục làm việc:",
|
|
"git.uncommitted": "{{dirty}} đã sửa · {{untracked}} chưa theo dõi",
|
|
"kind.adopted": "đã nhận",
|
|
"kind.managed": "được quản lý",
|
|
"laneDetail.hide": "Ẩn chi tiết",
|
|
"laneDetail.show": "Chi tiết lane",
|
|
"laneHeader": "Làn đường {{id}} · {{title}} · {{pipeline}}",
|
|
"locks.held_one": "Đang giữ {{count}} khóa",
|
|
"locks.held_other": "Đang giữ {{count}} khóa",
|
|
"moreActions": "Thêm hành động",
|
|
"pipelinePicker.label": "Mẫu pipeline",
|
|
"pipelinePicker.stageMismatch": "Stage \"{{stage}}\" không khớp node nào trong \"{{pipeline}}\" — khai báo một trong: {{nodes}}",
|
|
"preflightError": "Không thể tải trạng thái làn đường hiện tại.",
|
|
"preflightErrorWithMessage": "Không thể tải trạng thái làn đường hiện tại: {{message}}",
|
|
"runtime.boot": "▶ chạy",
|
|
"runtime.busy.down": "đang dừng…",
|
|
"runtime.busy.up": "đang khởi động…",
|
|
"runtime.down": "tắt",
|
|
"runtime.healthy": "khoẻ",
|
|
"runtime.partial": "một phần",
|
|
"runtime.slot": "slot {{slot}}",
|
|
"runtime.steppedAsideTitle": "Đã lùi khỏi {{expected}} vì cổng đó đang bận",
|
|
"runtime.stop": "■ dừng",
|
|
"runtime.toggleTitle": "Chạy hoặc dừng stack ứng dụng của lane này (khác với phiên Claude của nó)",
|
|
"integrations.ci_wait": "CI wait",
|
|
"integrations.dev_qc": "dev QC",
|
|
"integrations.tracker": "tracker",
|
|
"stageUndeclared": "chưa khai báo",
|
|
"status.failed": "thất bại",
|
|
"status.idle": "rảnh",
|
|
"status.provisioning": "đang khởi tạo",
|
|
"status.running": "đang chạy",
|
|
"features.live": "Phiên bản trực tiếp",
|
|
"features.archived": "đã lưu trữ",
|
|
"features.viewingArchived": "Xem tính năng đã lưu trữ \"{{slug}}\" — lane tiếp tục chạy; đây là ảnh chụp nhanh chỉ đọc.",
|
|
"proof.ticketReport": "Báo cáo nhiệm vụ",
|
|
"splitView.emptyPane": "Chưa chọn lane cho ô này.",
|
|
"splitView.paneLaneLabel": "Bộ chọn lane cho ô",
|
|
"splitView.paneCount": "{{count}} ô",
|
|
"splitView.pickLane": "Chọn lane",
|
|
"statusDead": "ĐÃ CHẾT",
|
|
"title": "Làn đường",
|
|
"tooltipStart": "Tạo một lần chạy ở chế độ hội thoại mà không có lời nhắc ban đầu; được điều khiển từ CLI hoặc qua tin nhắn"
|
|
}
|