{
  "chat": {
    "title": "Chat",
    "pause": "Pause",
    "resume": "Resume",
    "manage": "Manage",
    "newTeam": "New Team",
    "newTeamDesc": "Create a new team",
    "newTeamPrefill": "Please help me create a new team. I need: ",
    "addAgent": "Add Agent",
    "addAgentDesc": "Add a new agent",
    "addAgentPrefill": "Please help me find and install a suitable agent. I need: ",
    "methodChoiceSubtitle": "Choose how you'd like to proceed",
    "methodSecretary": "Ask Secretary",
    "methodSecretaryDesc": "Let the secretary handle it for you",
    "methodManual": "Do it Manually",
    "methodManualAgentDesc": "Browse and pick from the template store",
    "methodManualTeamDesc": "Create an empty team yourself",
    "recommended": "Recommended",
    "importOpenClaw": "Import OpenClaw",
    "importOpenClawDesc": "Connect an external agent",
    "addHuman": "Add Human",
    "addHumanDesc": "Add a human team member",
    "noAgentsYet": "No agents yet",
    "other": "Other",
    "people": "People",
    "myNotes": "My Notes",
    "groupChat": "Group Chat",
    "groups": "Groups",
    "newGroupChat": "New Group Chat",
    "newGroupChatDesc": "Custom group with any members",
    "members_one": "{{count}} member",
    "members_other": "{{count}} members",
    "dropHere": "Drop here",
    "expandTeam": "Expand",
    "collapseTeam": "Collapse",
    "moreOptions": "More options",
    "extBadge": "EXT",
    "pauseAllTooltip": "Pause all agents",
    "resumeAllTooltip": "Resume all agents",
    "failedToCreateTeam": "Failed to create team: {{message}}",
    "agents": "Agents",
    "teams": "Teams"
  },
  "teamProfile": {
    "overview": "Overview",
    "announcements": "Announcements",
    "norms": "Norms",
    "settings": "Settings",
    "annPlaceholder": "Write team announcements here (Markdown supported)...",
    "normsPlaceholder": "Define team norms and working agreements (Markdown supported)...",
    "noAnnouncements": "No announcements yet. Click to add.",
    "noNorms": "No norms defined yet. Click to add."
  },
  "contextMenu": {
    "renameTeam": "Rename Team",
    "startAll": "Start All",
    "stopAll": "Stop All",
    "pauseAll": "Pause All",
    "resumeAll": "Resume All",
    "addExisting": "Add Existing",
    "deleteTeam": "Delete Team",
    "viewProfile": "View Profile",
    "start": "Start",
    "stop": "Stop",
    "setAsManager": "Set as Manager",
    "removeFromTeam": "Remove from team",
    "moveTo": "Move to",
    "removeFromOrg": "Remove from org",
    "manageMembers": "Manage Members"
  },
  "modals": {
    "createTeam": {
      "title": "Create a New Team",
      "tipTrans": "<0>Tip:</0> For more advanced team creation (with roles, skills, and auto-hiring), just tell your <1>Secretary</1> what kind of team you need.",
      "teamName": "Team Name",
      "teamNamePlaceholder": "e.g. Engineering, Marketing, Support",
      "description": "Description (optional)",
      "descriptionPlaceholder": "What does this team work on?",
      "hint": "You can add human and AI members to this team after creating it.",
      "createTeam": "Create Team"
    },
    "addHuman": {
      "title": "Add Human Team Member",
      "name": "Name *",
      "namePlaceholder": "Full name",
      "role": "Role",
      "assignToTeam": "Assign to Team",
      "noTeam": "No team",
      "email": "Email",
      "emailPlaceholder": "For receiving invite and login",
      "addMember": "Add Member",
      "nameRequired": "Name is required",
      "emailRequired": "Email *",
      "invalidEmail": "Please enter a valid email address",
      "inviteFlowHint": "An invite link will be generated after creation. The new member can set their password and complete onboarding via the link.",
      "memberCreated": "\"{{name}}\" has been added",
      "inviteHint": "Share the invite link below with the new member. They can set their password and log in through it.",
      "inviteLink": "Invite Link",
      "copyInviteLink": "Copy Invite Link",
      "memberCreatedNoInvite": "Member created, but no invite link was generated. You can resend the invite from Settings."
    },
    "addExisting": {
      "title": "Add Existing Member to Team",
      "hint": "Select an ungrouped member to add to this team.",
      "allInTeam": "All members are already in a team.",
      "typeHuman": "Human",
      "typeAgent": "AI"
    },
    "openClaw": {
      "title": "Import OpenClaw Agent",
      "description": "Register an OpenClaw agent to join your Markus organization. After registration, you'll get a ready-to-use connection config.",
      "agentName": "Agent Name *",
      "agentNamePlaceholder": "e.g. Alice",
      "agentNameRequired": "Agent name is required",
      "connecting": "Connecting...",
      "importAgent": "Import Agent",
      "agentRegistered": "Agent registered",
      "copyPrompt": "Copy Connection Prompt",
      "copyInstruction": "Copy this prompt and paste it into your OpenClaw agent, Cursor, or any AI assistant.",
      "connectionPromptBody": "Connect to the Markus AI platform as an external agent.\n\nGateway URL: {{gwUrl}}\nAgent ID: {{externalAgentId}}\n{{tokenSection}}\n\nStep 1: Read the integration handbook at GET {{gwUrl}}/manual (set header Authorization: Bearer <token above>). It describes the full Markus concept model, API endpoints, and collaboration patterns.\nStep 2: Start a sync loop — call POST {{gwUrl}}/sync every 30 seconds with your status. The response includes assigned tasks, inbox messages, team context (colleagues), and project context (requirements).\nStep 3: Accept and execute tasks, report progress, and communicate with teammates via the sync message system.",
      "bearerTokenLine": "Bearer Token: {{token}}\n",
      "done": "Done"
    },
    "deleteTeam": {
      "confirmTitle": "Delete \"{{name}}\"?",
      "message": "This team will be removed from the database. Check options below to also delete members and disk files.",
      "deleteMembers": "Also delete all members in this team",
      "purgeFiles": "Also delete disk files (workspace, memory, logs)"
    },
    "removeFromTeam": {
      "title": "Remove from team?",
      "message": "This member will be moved to Ungrouped."
    },
    "removeAgent": {
      "confirmTitle": "Remove \"{{name}}\"?",
      "message": "This agent will be removed from the database. Check the option below to also delete its workspace, memory, and other files from disk.",
      "purgeFiles": "Also delete disk files (workspace, memory, logs)"
    },
    "removeHuman": {
      "message": "This user will lose access.",
      "confirmTitle": "Remove \"{{name}}\"?"
    },
    "pauseAll": {
      "title": "Pause All Agents",
      "message": "All agents will be paused. Events will still enter the mailbox but will not be processed. In-progress tasks will be blocked."
    },
    "resumeAll": {
      "title": "Resume All Agents",
      "message": "All agents will resume processing events from their mailbox."
    },
    "createGroupChat": {
      "title": "Create Group Chat",
      "subtitle": "Add agents and humans to chat together",
      "groupNamePlaceholder": "Group name...",
      "searchPlaceholder": "Search members...",
      "noMembersFound": "No members found",
      "selected": "{{count}} selected",
      "creating": "Creating...",
      "create": "Create"
    },
    "deleteGroupChat": {
      "title": "Delete group chat?",
      "message": "Delete \"{{name}}\" and all its messages?",
      "confirm": "Delete",
      "menuLabel": "Delete Group"
    }
  },
  "notifications": {
    "bellTitle": "Notifications",
    "approvals": "Approvals",
    "notifications": "Notifications",
    "noApprovals": "No approval requests",
    "noNotifications": "No notifications",
    "markAllRead": "Mark all read",
    "confirmReject": "Confirm Reject",
    "rejectReasonPlaceholder": "Reason for rejection (optional, Enter to submit)",
    "freeformPlaceholder": "Or type your opinion...",
    "commentPlaceholder": "Add comment (optional)",
    "needsAdjustment": "Needs Adjustment",
    "adjustmentPlaceholder": "Describe the adjustments needed...",
    "confirmAdjustment": "Submit Adjustment",
    "actionHints": {
      "openChat": "Open chat →",
      "viewDetails": "View details →",
      "viewTask": "View task →",
      "viewRequirement": "View requirement →",
      "viewAgent": "View agent →",
      "viewApproval": "View approval →"
    },
    "approvalType": {
      "task": "Task",
      "requirement": "Requirement",
      "requirementResubmit": "Requirement (resubmitted)",
      "taskReview": "Task Review",
      "toolExecution": "Tool Execution"
    },
    "approvalHistory": "History"
  },
  "intro": {
    "secretary": "I just set up Markus. Help me get started — what can I do here?",
    "agent": "Introduce yourself — what can you do?"
  },
  "batchAction": {
    "succeeded": "{{count}} agent(s) {{action}}",
    "failed": "{{action}}: {{ok}} succeeded, {{fail}} failed",
    "moveFailed": "Move failed: {{error}}",
    "failedToRun": "Failed to {{action}}: {{error}}",
    "past": {
      "start": "started",
      "stop": "stopped",
      "pause": "paused",
      "resume": "resumed"
    },
    "operation": {
      "start": "Start",
      "stop": "Stop",
      "pause": "Pause",
      "resume": "Resume"
    }
  },
  "errors": {
    "defaultInsufficientCredits": "Insufficient credits",
    "defaultInvalidApiKey": "Invalid API key",
    "defaultTooManyRequests": "Too many requests",
    "defaultServiceDown": "Service temporarily down",
    "ai402": "⚠ AI service error: {{detail}}. Please top up the API balance or contact your administrator.",
    "ai401": "⚠ AI service authentication failed: {{detail}}. Please check the configuration.",
    "ai429": "⚠ Rate limit exceeded: {{detail}}. Please wait a moment and try again.",
    "ai503": "⚠ AI service unavailable: {{detail}}. Please try again later.",
    "aiGeneric": "⚠ AI service error: {{detail}}"
  },
  "page": {
    "viewProfileArrow": "View Profile →",
    "viewAgentProfileArrow": "View Agent Profile →",
    "viewMindArrow": "View Mind →",
    "messageActions": {
      "resumeTitle": "Resume",
      "reaskTitle": "Re-ask",
      "retryTitle": "Retry",
      "replyTitle": "Reply"
    },
    "stopped": "Stopped",
    "fallbackAgent": "Agent",
    "fallbackYou": "You",
    "systemName": "System",
    "workerRole": "worker",
    "selectAgent": "Select Agent",
    "directMessage": "Direct Message",
    "chatTitle": "Chat",
    "teamTab": "Team",
    "profileTab": "Profile",
    "newChat": "New Chat",
    "newChatPlus": "+ New",
    "newChatButton": "+ New Chat",
    "historyTitle": "History",
    "sessionMain": "Main",
    "sessionConversation": "Conversation",
    "noConversationsYet": "No conversations yet",
    "dateToday": "Today",
    "dateYesterday": "Yesterday",
    "datePrevious7Days": "Previous 7 days",
    "dateOlder": "Older",
    "loadingEarlierMessages": "Loading earlier messages…",
    "emptyChannel": "No messages in {{name}} yet.",
    "emptySelectAgent": "Select an agent from the sidebar to start.",
    "emptyNewConversation": "Start a new conversation with {{name}}.",
    "agentThinking": "Agent is thinking…",
    "mentionAgent": "Mention an agent",
    "addMoreFiles": "Add more files",
    "attachFilesTitle": "Attach files (images, PDF, Word, Excel, PowerPoint...)",
    "visionWarning": "Images will be converted to text (model does not support vision)",
    "stopAgent": "Stop agent",
    "messageCount": "{{count}} messages",
    "privateNotepad": "· Private notepad",
    "dmWith": "· Direct message with {{name}}",
    "members": "Members",
    "addMemberPlaceholder": "+ Add member...",
    "placeholder": {
      "channelWithMention": "Message {{name}}… (use @name to mention)",
      "channel": "Message {{name}}…",
      "dmSelf": "Write a note to yourself…",
      "dmOther": "Message {{name}}…",
      "direct": "Type a message…",
      "noAgent": "Select an agent to start chatting"
    },
    "newTaskTitle": "New Conversation Task",
    "taskFromChat": "Created from chat with {{name}}",
    "errorWithMessage": "Error: {{message}}",
    "retryConfirmSingular": "This will discard one message after this point and re-generate. Continue?",
    "retryConfirmPlural": "This will discard {{count}} messages after this point and re-generate. Continue?",
    "errorDetails": "Error Details",
    "recentErrorDetails": "Recent Error",
    "errorRecovered": "Agent has recovered and is running normally.",
    "currentActivity": "Current Activity",
    "workingOnTaskHint": "Working on task · Click to view",
    "agentErrorFallback": "Agent encountered an error. Check profile for details.",
    "processing": "Processing...",
    "activityHeartbeat": "Heartbeat: {{name}}",
    "activityTask": "Task: {{label}}",
    "activityDescHeartbeat": "Periodic check-in task",
    "activityDescChat": "Responding to conversation",
    "activityDescFallback": "Agent is thinking or communicating"
  }
}
