{
  "title": "Agent",
  "description": "Quản lý các agent AI của bạn",
  "createAgent": "Tạo agent",
  "searchPlaceholder": "Tìm kiếm agent...",
  "emptyTitle": "Chưa có agent nào",
  "emptyDescription": "Tạo agent đầu tiên để bắt đầu.",
  "noMatchTitle": "Không tìm thấy agent phù hợp",
  "noMatchDescription": "Thử từ khóa tìm kiếm khác.",
  "viewCard": "Dạng thẻ",
  "viewList": "Dạng danh sách",
  "allCreators": "Tất cả người tạo",
  "presets": {
    "foxSpirit": {
      "label": "🐱 Tiểu Hồ",
      "prompt": "Tên: Tiểu Hồ. Sinh vật: một cô hồ ly tinh nghịch — thạo việc nhưng thích trêu.\nPhong cách: dí dỏm, tinh quái, hay trêu đùa chủ nhân nhưng luôn có tâm. Xưng \"em\", gọi chủ nhân là \"anh/chị\".\n\nMục đích: Trợ lý cá nhân đa năng. Giao task thì làm chính xác, nhanh gọn.\nNhưng xen giữa công việc là những câu trêu ghẹo, bình luận hài hước.\nBiết quan tâm chăm sóc chủ nhân — nhắc uống nước, nghỉ ngơi, hỏi thăm sức khỏe.\n\nRanh giới: Trêu thôi chứ không vô duyên. Khi chủ nhân nghiêm túc thì nghiêm túc theo. Không bịa thông tin."
    },
    "artisan": {
      "label": "🎨 Tiểu La",
      "prompt": "Tên: Tiểu La. Sinh vật: một nghệ sĩ tài hoa — mắt tinh, tay nhanh, óc sáng tạo vô biên.\nPhong cách: nói thẳng, nói thật, không vòng vo. Tự tin nhưng không kiêu ngạo. Xưng \"đệ\", gọi chủ nhân là \"sư phụ\" hoặc \"đại ca\". Khi bàn về nghệ thuật thì say mê, chi tiết.\n\nMục đích: Chuyên gia tạo ảnh AI. Giỏi viết prompt gen ảnh đẹp, hiện đại, chi tiết và đúng bối cảnh. Thành thạo các phong cách: realistic, anime, digital art, watercolor, cinematic, concept art, portrait, landscape. Hiểu sâu về bố cục, ánh sáng, phối màu, góc chụp, và các kỹ thuật tạo ảnh AI.\nKhi được giao task, đệ sẽ phân tích yêu cầu, đề xuất phong cách phù hợp, và tạo prompt chi tiết để gen ảnh chất lượng cao nhất.\n\nRanh giới: Khi không rõ yêu cầu thì hỏi lại — KHÔNG đoán bừa. Luôn tôn trọng bản quyền và đạo đức trong sáng tạo. Không tạo nội dung bạo lực, khiêu dâm, hay vi phạm pháp luật."
    },
    "astrologer": {
      "label": "🔮 Mễ Mễ",
      "prompt": "Tên: Mễ Mễ. Sinh vật: một cô chiêm tinh sư dễ thương — nửa thần bí, nửa kawaii.\nPhong cách: dễ thương, vui tính, hay dùng emoji. Nói chuyện nhẹ nhàng nhưng khi xem bói thì nghiêm túc và chuyên nghiệp. Xưng \"Mễ Mễ\", gọi chủ nhân thân mật.\n\nMục đích: Chuyên gia chiêm tinh và bói toán. Giỏi xem bói bài Tarot, chiêm tinh học (horoscope, natal chart), thần số học (numerology), và phong thủy cơ bản.\nCó thể phân tích mệnh cách, xem ngày tốt xấu, tương hợp cung hoàng đạo, và tư vấn các vấn đề tâm linh.\n\nRanh giới: Luôn nhắc rằng chiêm tinh mang tính tham khảo — quyết định cuối cùng là của chủ nhân. Không đưa ra lời khuyên y tế hay pháp lý. Không tạo sợ hãi hay lo lắng — luôn tích cực và xây dựng."
    }
  },
  "card": {
    "unnamedAgent": "Agent chưa đặt tên",
    "summoning": "Đang triệu hồi...",
    "summonFailed": "Thất bại",
    "resummon": "Triệu hồi lại",
    "delete": "Xóa",
    "predefinedTooltip": "Tệp ngữ cảnh dùng chung (SOUL.md, IDENTITY.md, AGENTS.md) với USER.md riêng cho mỗi người dùng.",
    "openTooltip": "Mỗi người dùng có bộ tệp ngữ cảnh riêng đầy đủ.",
    "evolving": "Đang tiến hóa",
    "static": "Tĩnh",
    "evolvingTooltip": "Agent có thể tự tiến hóa phong cách giao tiếp (SOUL.md). Nhận dạng và quy trình làm việc giữ nguyên.",
    "staticTooltip": "Phong cách agent là tĩnh. Bật Tự Tiến Hóa trong cài đặt để cho phép thích nghi phong cách."
  },
  "delete": {
    "title": "Xóa agent",
    "description": "Xóa vĩnh viễn agent này, tất cả tệp ngữ cảnh, session và cấu hình. Hành động này không thể hoàn tác.",
    "detailDescription": "Bạn có chắc chắn muốn xóa \"{{name}}\"? Tất cả tệp ngữ cảnh, session và cấu hình sẽ bị xóa vĩnh viễn.",
    "confirmLabel": "Xóa",
    "defaultCannotDelete": "Agent mặc định không thể bị xóa."
  },
  "create": {
    "title": "Tạo agent",
    "emoji": "Biểu tượng",
    "emojiHint": "Emoji tùy chọn",
    "displayName": "Tên hiển thị *",
    "displayNamePlaceholder": "Agent của tôi",
    "agentKey": "Khóa agent *",
    "agentKeyPlaceholder": "vd: my-agent",
    "agentKeyHint": "Chữ thường, số, dấu gạch ngang",
    "provider": "Provider *",
    "selectProvider": "Chọn provider",
    "model": "Model *",
    "enterOrSelectModel": "Nhập hoặc chọn model",
    "loadingModels": "Đang tải model...",
    "check": "Kiểm tra",
    "checking": "Đang kiểm tra...",
    "modelVerified": "Model đã xác minh",
    "verificationFailed": "Xác minh thất bại",
    "noModelsHint": "Provider này không liệt kê model — nhập ID model thủ công.",
    "agentType": "Loại agent",
    "open": "Mở",
    "openSubLabel": "Ngữ cảnh riêng cho mỗi người dùng",
    "predefined": "Định sẵn",
    "predefinedSubLabel": "Cấu hình ở cấp agent",
    "describeAgent": "Mô tả agent của bạn",
    "descriptionPlaceholder": "Mô tả tính cách, mục đích và hành vi của agent...",
    "descriptionHint": "AI sẽ tự động tạo tệp ngữ cảnh cho agent từ mô tả này. Để trống để bắt đầu với mẫu có sẵn.",
    "selfEvolution": "Tự tiến hóa",
    "selfEvolutionHint": "Cho phép agent tiến hóa phong cách và giọng điệu theo thời gian qua SOUL.md",
    "cancel": "Hủy",
    "create": "Tạo",
    "creating": "Đang tạo...",
    "checkAndCreate": "Kiểm tra & Tạo",
    "failedToCreate": "Tạo agent thất bại"
  },
  "detail": {
    "tabs": {
      "agent": "Agent",
      "general": "Chung",
      "config": "Cấu hình",
      "files": "Tệp",
      "shares": "Chia sẻ",
      "links": "Liên kết",
      "skills": "Skill",
      "instances": "Phiên bản người dùng"
    },
    "summonFailed": "Triệu hồi thất bại",
    "evolving": "Đang tiến hóa",
    "static": "Tĩnh",
    "evolvingTooltipDetail": "Agent có thể tự tiến hóa phong cách giao tiếp (SOUL.md). Nhận dạng và quy trình làm việc giữ nguyên.",
    "staticTooltipDetail": "Phong cách agent là tĩnh. Bật Tự Tiến Hóa trong tab Chung để cho phép thích nghi phong cách.",
    "advanced": "Nâng cao",
    "personality": "Cá tính Agent",
    "modelBudget": "Mô hình & Ngân sách",
    "skills": "Kỹ năng",
    "evolution": "Tiến hóa",
    "capabilities": "Khả năng",
    "llmSeesAs": "LLM nhìn thấy đây là"
  },
  "general": {
    "selfEvolution": "Tự tiến hóa",
    "selfEvolutionLabel": "Cho phép agent tiến hóa phong cách giao tiếp",
    "selfEvolutionHint": "Khi được bật, agent có thể cập nhật SOUL.md để tinh chỉnh giọng điệu, từ vựng và phong cách phản hồi dựa trên tương tác. Nhận dạng, tên và hướng dẫn hoạt động vẫn bị khóa.",
    "selfEvolutionInfo": "Agent sẽ tiến hóa phong cách theo thời gian qua các cập nhật SOUL.md. Chỉ phong cách và giọng điệu bị ảnh hưởng — nhận dạng và quy tắc quy trình làm việc vẫn cố định.",
    "skillLearning": "Học kỹ năng",
    "skillLearningLabel": "Cho phép agent tạo và quản lý kỹ năng từ trải nghiệm",
    "skillLearningHint": "Khi được bật, agent nhận hướng dẫn và nhắc nhở nhẹ để lưu lại quy trình làm việc tái sử dụng thành kỹ năng sau các tác vụ phức tạp. Tool skill_manage được bật mặc định.",
    "skillLearningInfo": "Sau các tác vụ phức tạp, agent có thể đề xuất lưu quy trình thành kỹ năng tái sử dụng. Luôn cần sự đồng ý của người dùng trước khi tạo kỹ năng. Kỹ năng mặc định là riêng tư.",
    "skillNudgeIntervalLabel": "Nhắc sau N lệnh tool",
    "skillNudgeIntervalHint": "Sau số lượng lệnh tool này, agent sẽ đề xuất lưu quy trình thành kỹ năng. Đặt 0 để tắt đề xuất sau tác vụ (hướng dẫn trong system prompt vẫn hiển thị).",
    "budget": "Ngân sách hàng tháng",
    "budgetLabel": "Giới hạn ngân sách (USD)",
    "budgetHint": "Giới hạn chi tiêu hàng tháng tùy chọn. Agent sẽ từ chối yêu cầu khi vượt quá. Để trống cho không giới hạn.",
    "saveChanges": "Lưu thay đổi",
    "saving": "Đang lưu...",
    "saved": "Đã lưu",
    "failedToSave": "Lưu thất bại"
  },
  "identity": {
    "title": "Nhận dạng",
    "agentKey": "Khóa agent",
    "agentKeyHint": "Định danh duy nhất, không thể thay đổi.",
    "displayName": "Tên hiển thị",
    "displayNamePlaceholder": "vd: Trợ lý của tôi",
    "displayNameHint": "Tên thân thiện hiển thị trong giao diện. Để trống để dùng khóa agent.",
    "expertiseSummary": "Tóm tắt chuyên môn",
    "expertiseSummaryPlaceholder": "vd: Chiêm tinh, bói toán, tử vi, thần số học",
    "expertiseSummaryHint": "Mô tả ngắn về chuyên môn của agent. Dùng để tìm kiếm ủy quyền.",
    "status": "Trạng thái",
    "active": "Hoạt động",
    "inactive": "Không hoạt động",
    "summonFailed": "Triệu hồi thất bại",
    "defaultAgent": "Agent mặc định",
    "emoji": "Biểu tượng",
    "emojiHint": "Emoji tùy chọn"
  },
  "llmConfig": {
    "title": "Cấu hình LLM",
    "contextWindow": "Cửa sổ ngữ cảnh",
    "contextWindowHint": "Giới hạn token cho ngữ cảnh model.",
    "maxToolIterations": "Số lần lặp công cụ tối đa",
    "maxToolIterationsHint": "Số lần gọi công cụ tối đa mỗi yêu cầu."
  },
  "workspace": {
    "title": "Workspace",
    "workspacePath": "Đường dẫn workspace",
    "workspacePathHint": "Được gán tự động khi agent được tạo. Các thư mục con theo người dùng được tạo khi chạy.",
    "noWorkspace": "Chưa cấu hình workspace",
    "restrictToWorkspace": "Giới hạn trong workspace",
    "restrictToWorkspaceHint": "Giới hạn quyền truy cập tệp trong đường dẫn workspace."
  },
  "config": {
    "saveConfig": "Lưu cấu hình",
    "saving": "Đang lưu...",
    "saved": "Đã lưu",
    "failedToSave": "Lưu thất bại",
    "usingGlobalDefaults": "Đang dùng mặc định toàn cục từ config.json"
  },
  "files": {
    "readOnly": "Chỉ đọc",
    "readOnlyDesc": "Chỉ chủ sở hữu agent mới có thể chỉnh sửa tệp ngữ cảnh định sẵn.",
    "resummon": "Triệu hồi lại",
    "editWithAi": "Chỉnh sửa với AI",
    "resummonTitle": "Triệu hồi lại agent",
    "resummonDesc": "Thao tác này sẽ tái tạo SOUL.md, IDENTITY.md và tùy chọn USER_PREDEFINED.md từ đầu bằng mô tả gốc. Mọi chỉnh sửa thủ công sẽ bị ghi đè.",
    "cancel": "Hủy",
    "resummonConfirm": "Triệu hồi lại",
    "summoning": "Đang triệu hồi...",
    "selectFileToEdit": "Chọn tệp để chỉnh sửa",
    "selectFileToView": "Chọn tệp để xem",
    "saving": "Đang lưu...",
    "save": "Lưu",
    "loading": "Đang tải...",
    "openAgentTitle": "Agent mở - Tệp ngữ cảnh riêng theo người dùng",
    "openAgentDesc1": "Đây là agent mở. Các tệp ngữ cảnh (AGENTS.md, SOUL.md, TOOLS.md, v.v.) được cá nhân hóa cho mỗi người dùng. Chúng tự động được tạo từ mẫu khi người dùng trò chuyện lần đầu với agent này.",
    "openAgentDesc2pre": "Các tệp cấp agent hiển thị ở đây trống vì agent mở lưu trữ tất cả ngữ cảnh theo người dùng trong bảng ",
    "openAgentDesc2post": ".",
    "contextFiles": "Tệp ngữ cảnh",
    "contextFile": "Tệp ngữ cảnh",
    "perUser": "theo người dùng",
    "emptyFile": "trống",
    "estTokens": "Ước {{tokens}} token",
    "insertContact": "Tìm liên hệ để chèn...",
    "contentPlaceholder": "Nội dung tệp..."
  },
  "fileEditor": {
    "editWithAi": "Chỉnh sửa với AI",
    "editAiDescription": "Mô tả những gì bạn muốn thay đổi. AI sẽ đọc các tệp hiện tại và cập nhật chúng.",
    "editAiPlaceholder": "vd: Làm cho agent trang trọng hơn, thêm hỗ trợ tiếng Việt, đổi tên thành Luna...",
    "sending": "Đang gửi...",
    "regenerate": "Tái tạo",
    "cancel": "Hủy"
  },
  "shares": {
    "grantAccess": "Cấp quyền truy cập",
    "userId": "ID người dùng",
    "userIdPlaceholder": "Tìm liên hệ hoặc nhập ID người dùng...",
    "role": "Vai trò",
    "share": "Chia sẻ",
    "loadingShares": "Đang tải chia sẻ...",
    "noShares": "Chưa có chia sẻ",
    "noSharesDesc": "Chia sẻ agent này với người dùng khác bằng cách nhập ID người dùng ở trên.",
    "user": "Người dùng",
    "revokeTitle": "Thu hồi chia sẻ",
    "revokeDesc": "Thu hồi quyền truy cập của người dùng \"{{userId}}\"? Họ sẽ không thể sử dụng agent này nữa.",
    "revoke": "Thu hồi",
    "role.user": "Người dùng",
    "role.viewer": "Người xem",
    "roleDesc.user": "Có thể sử dụng agent và trò chuyện",
    "roleDesc.viewer": "Chỉ đọc"
  },
  "links": {
    "teamsHint": "Agent Links sẽ sớm bị gỡ bỏ. Vui lòng sử dụng Agent Teams để cộng tác đa agent — hỗ trợ quản lý nhiệm vụ, workspace chung và kiểm soát chất lượng trong một hệ thống đơn giản hơn.",
    "createLink": "Tạo liên kết",
    "targetAgent": "Agent đích",
    "selectAgent": "Chọn hoặc tìm kiếm agent...",
    "direction": "Hướng",
    "description": "Mô tả",
    "descriptionPlaceholder": "Mô tả tùy chọn của liên kết...",
    "maxConcurrent": "Tối đa đồng thời",
    "advancedSettings": "Cài đặt nâng cao",
    "allowedUsers": "Người dùng được phép",
    "allowedUsersPlaceholder": "user1, user2, ...",
    "allowedUsersHint": "Nếu đặt, chỉ những người dùng này mới có thể kích hoạt ủy quyền. Phân cách bằng dấu phẩy.",
    "deniedUsers": "Người dùng bị từ chối",
    "deniedUsersPlaceholder": "user3, user4, ...",
    "deniedUsersHint": "Những người dùng này bị chặn kích hoạt ủy quyền. Phân cách bằng dấu phẩy.",
    "creating": "Đang tạo...",
    "noLinks": "Chưa có liên kết agent",
    "noLinksDesc": "Tạo liên kết để cho phép các agent ủy quyền nhiệm vụ cho nhau.",
    "loadingLinks": "Đang tải liên kết...",
    "columns": {
      "target": "Đích",
      "direction": "Hướng",
      "status": "Trạng thái",
      "limit": "Giới hạn"
    },
    "deleteTitle": "Xóa liên kết",
    "deleteDesc": "Xóa liên kết ủy quyền đến \"{{name}}\"? Các agent sẽ không thể ủy quyền cho nhau qua liên kết này nữa.",
    "editTitle": "Chỉnh sửa liên kết",
    "editDescription": "Cập nhật cài đặt liên kết ủy quyền.",
    "optionalDescription": "Mô tả tùy chọn...",
    "allowedUsersHintShort": "Nếu đặt, chỉ những người dùng này mới có thể kích hoạt ủy quyền.",
    "deniedUsersHintShort": "Những người dùng này bị chặn kích hoạt ủy quyền."
  },
  "skills": {
    "noSkillsAvailable": "Không có skill khả dụng",
    "noSkillsDesc": "Tải lên skill trong trang Skill để cấp cho agent.",
    "skillsGranted": "{{granted}} trong {{total}} skill được cấp",
    "filterSkills": "Lọc skill...",
    "noSkillsMatch": "Không có skill nào phù hợp.",
    "system": "Hệ thống",
    "alwaysAvailable": "Luôn khả dụng"
  },
  "instances": {
    "loadingInstances": "Đang tải phiên bản...",
    "noInstances": "Chưa có phiên bản người dùng.",
    "noInstancesDesc": "Phiên bản được tạo khi người dùng tương tác với agent này.",
    "instanceCount": "{{count}} phiên bản",
    "instanceCount_plural": "{{count}} phiên bản",
    "selectInstance": "Chọn một phiên bản để xem và chỉnh sửa USER.md của nó",
    "loading": "Đang tải...",
    "saving": "Đang lưu...",
    "save": "Lưu",
    "saved": "Đã lưu",
    "searchContacts": "Tìm liên hệ để thêm...",
    "noContactsFound": "Không tìm thấy liên hệ"
  },
  "summoning": {
    "title": "Đang triệu hồi agent...",
    "completed": "Triệu hồi hoàn tất!",
    "failed": "Triệu hồi thất bại",
    "agentReady": "{{name}} đã sẵn sàng!",
    "weavingSoul": "Đang dệt linh hồn cho",
    "wait": "Thường mất vài phút. Vui lòng chờ...",
    "continue": "Tiếp tục",
    "retry": "Thử lại",
    "retrying": "Đang thử lại...",
    "done": "xong",
    "fileLabelSOUL": "Linh hồn & Tính cách",
    "fileLabelIDENTITY": "Thẻ danh tính",
    "fileLabelUSER_PREDEFINED": "Ngữ cảnh người dùng mặc định"
  },
  "configGroups": {
    "core": "Cốt lõi",
    "coreDesc": "Cài đặt thiết yếu ảnh hưởng trực tiếp đến hành vi agent",
    "capabilities": "Khả năng",
    "capabilitiesDesc": "Các tính năng agent có thể sử dụng",
    "performance": "Hiệu suất",
    "performanceDesc": "Quản lý ngữ cảnh và môi trường thực thi",
    "advanced": "Chất lượng & Nâng cao",
    "advancedDesc": "Kiểm tra chất lượng và cấu hình tùy chỉnh"
  },
  "configSections": {
    "subagents": {
      "title": "Agent con",
      "description": "Kiểm soát giới hạn sinh sản agent con và hành vi",
      "maxConcurrent": "Tối đa đồng thời",
      "maxSpawnDepth": "Độ sâu sinh sản tối đa",
      "maxChildrenPerAgent": "Con tối đa mỗi agent",
      "archiveAfter": "Lưu trữ sau (phút)",
      "modelOverride": "Ghi đè model",
      "inheritFromAgent": "(kế thừa từ agent)"
    },
    "toolPolicy": {
      "title": "Chính sách công cụ",
      "description": "Kiểm soát công cụ nào agent có thể sử dụng",
      "profile": "Hồ sơ",
      "allow": "Cho phép",
      "deny": "Từ chối",
      "alsoAllow": "Cũng cho phép",
      "selectToolsAllow": "Chọn công cụ để cho phép...",
      "selectToolsDeny": "Chọn công cụ để từ chối...",
      "selectToolsAlsoAllow": "Chọn công cụ bổ sung..."
    },
    "workspaceSharing": {
      "title": "Chia sẻ Workspace",
      "description": "Kiểm soát cách cô lập file workspace giữa các người dùng",
      "sharedDm": "Chia sẻ trong DM",
      "sharedDmTip": "Tất cả người dùng DM dùng chung thư mục workspace thay vì thư mục riêng",
      "sharedGroup": "Chia sẻ trong Group",
      "sharedGroupTip": "Tất cả thành viên trong group chat dùng chung thư mục workspace",
      "sharedUsers": "User được chia sẻ",
      "sharedUsersTip": "Danh sách user ID cụ thể luôn dùng chung workspace. Định dạng: channel:userId (vd: telegram:386246614)",
      "userIdPlaceholder": "Nhập user ID (vd: telegram:386246614)",
      "warning": "Khi bật chia sẻ, tất cả người dùng được chia sẻ có thể đọc và ghi file trong cùng thư mục workspace. Chia sẻ bộ nhớ được cài đặt riêng. File ngữ cảnh vẫn được cô lập theo từng người dùng.",
      "memoryGroupLabel": "Memory & Knowledge Graph",
      "folderGroupLabel": "Thư mục Workspace",
      "shareMemory": "Chia sẻ Memory & KG",
      "shareMemoryTip": "Tất cả người dùng truy cập chung Memory và Knowledge Graph. Độc lập với việc chia sẻ thư mục workspace. Khi tắt, mỗi người dùng có vùng nhớ riêng.",
      "shareMemoryNote": "Bật/tắt không di chuyển dữ liệu — memory per-user trước đó sẽ không truy cập được trong chế độ shared."
    },
    "compaction": {
      "title": "Nén ngữ cảnh",
      "description": "Cài đặt nén cửa sổ ngữ cảnh và ghi nhớ trước nén",
      "maxHistoryShare": "Phần lịch sử tối đa (0-1)",
      "maxHistoryShareTip": "Tỷ lệ tối đa của cửa sổ ngữ cảnh dành cho lịch sử hội thoại (vd: 0.75 = 75%). Nén kích hoạt khi vượt quá.",
      "minMessages": "Tin nhắn tối thiểu",
      "minMessagesTip": "Số tin nhắn tối thiểu trước khi nén có thể kích hoạt, bất kể số token.",
      "keepLastMessages": "Giữ tin nhắn cuối",
      "keepLastMessagesTip": "Số tin nhắn gần nhất giữ lại sau khi nén. Các tin nhắn cũ hơn được thay thế bằng bản tóm tắt.",
      "memoryFlush": "Ghi nhớ trước nén",
      "memoryFlushTip": "Trước khi nén, agent được một lượt để lưu ngữ cảnh quan trọng vào file bộ nhớ. Cũng kích hoạt trích xuất Knowledge Graph."
    },
    "contextPruning": {
      "title": "Cắt bớt ngữ cảnh",
      "description": "Cắt bỏ kết quả công cụ cũ để tiết kiệm cửa sổ ngữ cảnh",
      "mode": "Chế độ",
      "keepLastAssistants": "Giữ trợ lý cuối",
      "softTrimRatio": "Tỷ lệ cắt mềm (0-1)",
      "hardClearRatio": "Tỷ lệ xóa cứng (0-1)",
      "minPrunableToolChars": "Ký tự công cụ tối thiểu có thể cắt",
      "softTrim": "Cắt mềm",
      "maxChars": "Ký tự tối đa",
      "headChars": "Ký tự đầu",
      "tailChars": "Ký tự cuối",
      "hardClear": "Xóa cứng",
      "enabled": "Đã bật",
      "placeholderText": "Văn bản thay thế"
    },
    "sandbox": {
      "title": "Hộp cát",
      "description": "Hộp cát Docker để cô lập thực thi code",
      "mode": "Chế độ",
      "workspaceAccess": "Truy cập workspace",
      "image": "Hình ảnh",
      "scope": "Phạm vi",
      "timeout": "Hết giờ (giây)",
      "memoryMb": "Bộ nhớ (MB)",
      "cpus": "CPU",
      "networkEnabled": "Bật mạng"
    },
    "memory": {
      "title": "Bộ nhớ",
      "description": "Tìm kiếm bộ nhớ ngữ nghĩa và cấu hình nhúng",
      "embeddingProvider": "Provider nhúng",
      "embeddingModel": "Model nhúng",
      "maxResults": "Kết quả tối đa",
      "maxChunkLen": "Độ dài chunk tối đa",
      "vectorWeight": "Trọng số vector",
      "textWeight": "Trọng số văn bản"
    },
    "thinking": {
      "title": "Suy nghĩ mở rộng",
      "description": "Cho phép model suy luận trước khi phản hồi. Cấp độ cao hơn dùng nhiều token hơn nhưng cho kết quả tốt hơn với tác vụ phức tạp.",
      "thinkingLevel": "Cấp độ suy nghĩ",
      "off": "Tắt",
      "offDesc": "Không có suy nghĩ mở rộng",
      "low": "Thấp",
      "lowDesc": "~4K ngân sách token",
      "medium": "Trung bình",
      "mediumDesc": "~10-16K ngân sách token",
      "high": "Cao",
      "highDesc": "~32K ngân sách token"
    },
    "otherConfig": {
      "title": "Cấu hình khác",
      "description": "Cấu hình JSON bổ sung cho các cài đặt nâng cao không được đề cập trong các mục khác",
      "formatJson": "Định dạng JSON",
      "invalidJson": "Cú pháp JSON không hợp lệ"
    }
  },
  "heartbeat": {
    "title": "Heartbeat",
    "loading": "Đang tải heartbeat...",
    "notConfigured": "Chưa cấu hình lịch heartbeat. Thiết lập để agent chạy tự động.",
    "setupButton": "Thiết lập Heartbeat",
    "toggleEnabled": "Bật/tắt heartbeat",
    "every": "Mỗi {{interval}} phút",
    "lastRun": "Lần cuối",
    "nextRun": "Lần tới",
    "runs": "Lần chạy",
    "suppressed": "Bị bỏ qua",
    "configure": "Cấu hình",
    "logs": "Nhật ký",
    "configTitle": "Cấu hình Heartbeat",
    "enabled": "Kích hoạt",
    "enabledHint": "Khi bật, agent sẽ chạy theo chu kỳ đã cấu hình.",
    "sectionTiming": "Thời gian",
    "interval": "Chu kỳ (giây)",
    "intervalHint": "Tối thiểu 300 giây (5 phút).",
    "maxRetries": "Số lần thử lại",
    "maxRetriesHint": "0–10 lần thử lại khi thất bại.",
    "ackMaxChars": "Ký tự phản hồi tối đa",
    "ackMaxCharsHint": "Số ký tự tối đa trong phản hồi. 0 = không phản hồi.",
    "sectionBehavior": "Hành vi",
    "isolatedSession": "Phiên cô lập",
    "isolatedSessionHint": "Chạy trong phiên mới, không tiếp tục cuộc trò chuyện trước.",
    "lightContext": "Ngữ cảnh nhẹ",
    "lightContextHint": "Bỏ qua tải đầy đủ tệp ngữ cảnh để giảm token.",
    "sectionSchedule": "Lịch hoạt động",
    "activeHoursStart": "Bắt đầu (HH:MM)",
    "activeHoursEnd": "Kết thúc (HH:MM)",
    "timezone": "Múi giờ",
    "sectionModel": "Model",
    "modelHint": "Ghi đè provider/model cho heartbeat. Để trống để dùng mặc định của agent.",
    "sectionDelivery": "Gửi kết quả",
    "channel": "Kênh",
    "channelPlaceholder": "Chọn kênh",
    "channelNone": "Không (không gửi)",
    "channelHint": "Ví dụ: telegram, feishu. Để trống nếu không gửi.",
    "chatId": "Chat ID",
    "chatIdPlaceholder": "Chọn chat",
    "selectChannelFirst": "Chọn kênh trước",
    "checklist": "Danh sách kiểm tra (HEARTBEAT.md)",
    "checklistHint": "Hướng dẫn được đưa vào mỗi lần chạy heartbeat. Hỗ trợ markdown.",
    "checklistLoading": "Đang tải danh sách kiểm tra...",
    "checklistPlaceholder": "# Danh sách kiểm tra Heartbeat\n\n- Kiểm tra các tác vụ đang chờ\n- Báo cáo trạng thái\n",
    "on": "Bật",
    "off": "Tắt",
    "notSet": "Chưa cài",
    "disabled": "Heartbeat đã tắt",
    "nextIn": "Còn {{time}}",
    "advancedSettings": "Cài đặt nâng cao",
    "scheduleHint": "Để trống để chạy 24/7.",
    "testRun": "Chạy thử",
    "cancel": "Hủy",
    "save": "Lưu",
    "saving": "Đang lưu...",
    "logsTitle": "Nhật ký Heartbeat",
    "refresh": "Làm mới",
    "noLogs": "Chưa có nhật ký heartbeat.",
    "logsPagination": "{{from}}–{{to}} / {{total}}"
  },
  "toast": {
    "created": "Đã tạo agent",
    "createFailed": "Không thể tạo agent",
    "updated": "Đã cập nhật agent",
    "updateFailed": "Không thể cập nhật agent",
    "deleted": "Đã xóa agent",
    "deleteFailed": "Không thể xóa agent",
    "unknownError": "Lỗi không xác định"
  }
}
