mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-14 03:30:19 +00:00
09b5e926bf
* ✨ feat(conversation): add op status tray above chat input Show elapsed time, total tokens, and total cost while an AI-runtime operation is running in the current conversation. Lives in the floating overlay above the chat input alongside QueueTray and TodoProgress, attaches flush to the input panel below. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 🐛 fix(conversation): read top-level message.usage in op status tray Token totals stayed at 0 during regular agent runs because the standard agent path writes usage to `message.usage` (top-level) while the heterogeneous executor writes `metadata.usage`. Read both. Also drop the fragile createdAt window — assistant messages can be created before the AI_RUNTIME op's startTime, which excluded otherwise-valid rows — and aggregate across the whole conversation instead. UI: a little more padding, a pulsing dot to mark the running state, a tokens label, and a divider between tokens and cost. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ✨ feat(conversation): streaming phase, ping dot, and richer metrics in op status tray - Left side now shows the current streaming phase (thinking / calling tools / searching / compressing / generating) derived from the most recent running sub-operation; server runtimes surface no sub-ops on the client and fall back to 'generating'. - Pulse dot upgraded to an expanding ping ring animation. - Zero-valued metrics are hidden entirely (no more '0 tokens / $0'). - Long-running tasks additionally surface turns and tool-call counts next to tokens and total cost. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * 💄 style(conversation): polish op status tray display * 💄 style(conversation): unify op status tray glyph to a single hue The activity glyph mixed purple and cyan accents into the primary color; all layers now derive from colorPrimary alone (opacity-only variation). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * 💄 style(conversation): strip glyph halo fill and drop-shadow The halo's tinted fill plus the drop-shadow rendered as a muddy disc behind the glyph (worst in light theme). Reduce to a breathing core dot plus a single rotating dashed orbit, primary hue only. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * 💄 style(conversation): drop dollar prefix and code font in op status tray The dollar icon already conveys currency, and the code font made the numbers feel out of place next to the body text. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * ✨ feat(conversation): show per-message cost next to the token chip Renders usage.cost beside the token count in the assistant message footer; hidden in credit mode (credits already express cost) and when the value is zero/absent. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * 💄 style(conversation): hide per-message cost below $0.20 Cheap messages don't need a cost callout — the chip only surfaces once the cost is large enough to matter. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * 🐛 fix(conversation): anchor reconnected op timer to real run start, surface steps - Page-refresh reconnect recreated the gateway operation with startTime=Date.now(), resetting the tray timer to 00:00 mid-run. Anchor it to the assistant message's createdAt instead. - Mirror the server's authoritative stepIndex onto op.metadata.stepCount at every step_start event, so the steps metric shows for real server-side runs (and survives reconnects). - Drop the tool-call count metric from the tray. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * ✅ test(conversation): stub updateOperationMetadata in gateway event handler mock store Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1105 lines
66 KiB
JSON
1105 lines
66 KiB
JSON
{
|
||
"ModelSwitch.title": "Model",
|
||
"active": "Active",
|
||
"agentBuilder.installPlugin.authRequired": "Cloud MCP requires sign-in to continue",
|
||
"agentBuilder.installPlugin.cancel": "Cancel",
|
||
"agentBuilder.installPlugin.clickApproveToConnect": "Click \"Approve\" to connect and authorize this Integration",
|
||
"agentBuilder.installPlugin.clickApproveToInstall": "Click \"Approve\" to install this Skill",
|
||
"agentBuilder.installPlugin.connectedAndEnabled": "Connected and enabled",
|
||
"agentBuilder.installPlugin.connectionFailed": "Connection failed. Retry, or check authorization and network settings.",
|
||
"agentBuilder.installPlugin.installFailed": "Installation failed. Retry, or view details and try again.",
|
||
"agentBuilder.installPlugin.installPlugin": "Install Skill",
|
||
"agentBuilder.installPlugin.installToEnable": "Install to enable this Skill for the Agent (you can do it later)",
|
||
"agentBuilder.installPlugin.installedAndEnabled": "Installed and enabled",
|
||
"agentBuilder.installPlugin.requiresAuth": "Requires authorization. Click \"Approve\" to connect",
|
||
"agentBuilder.installPlugin.retry": "Retry",
|
||
"agentBuilder.title": "Agent Builder",
|
||
"agentBuilder.welcome": "Tell me your use case.\n\nWriting, coding, or data analysis—anything works. You own the goal and standards; I’ll break it down into collaborative, runnable Agents.",
|
||
"agentConfigError.retry": "Retry",
|
||
"agentConfigError.title": "Failed to load agent settings",
|
||
"agentDefaultMessage": "Hi, I’m **{{name}}**. One sentence is enough.\n\nWant me to match your workflow better? Go to [Agent Settings]({{url}}) and fill in the Agent Profile (you can edit it anytime).",
|
||
"agentDefaultMessageWithSystemRole": "Hi, I’m **{{name}}**. One sentence is enough—you're in control.",
|
||
"agentDefaultMessageWithoutEdit": "Hi, I’m **{{name}}**. One sentence is enough—you're in control.",
|
||
"agentProfile.files_one": "{{count}} file",
|
||
"agentProfile.files_other": "{{count}} files",
|
||
"agentProfile.knowledgeBases_one": "{{count}} knowledge base",
|
||
"agentProfile.knowledgeBases_other": "{{count}} knowledge bases",
|
||
"agentProfile.skills_one": "{{count}} skill",
|
||
"agentProfile.skills_other": "{{count}} skills",
|
||
"agentSignal.receipts.agentSignalLabel": "Agent Signal",
|
||
"agentSignal.receipts.memory.detail": "Saved this for future replies",
|
||
"agentSignal.receipts.memory.title": "Memory saved",
|
||
"agentSignal.receipts.recentActivity": "Recent activity",
|
||
"agentSignal.receipts.skill.detail": "Self-refined how this agent handles similar requests",
|
||
"agentSignal.receipts.skill.title": "Auto-learned a new skill",
|
||
"agents": "Agents",
|
||
"artifact.generating": "Generating",
|
||
"artifact.inThread": "Cannot view in subtopic, please switch to the main conversation area to open",
|
||
"artifact.thinking": "Thinking",
|
||
"artifact.thought": "Thought process",
|
||
"artifact.unknownTitle": "Untitled Work",
|
||
"availableAgents": "Available Agents",
|
||
"backToBottom": "Jump to latest",
|
||
"beforeUnload.confirmLeave": "A request is still running. Leave anyway?",
|
||
"builtinCopilot": "Built-in Copilot",
|
||
"chatList.expandMessage": "Expand Message",
|
||
"chatList.longMessageDetail": "View Details",
|
||
"chatMode.agent": "Agent",
|
||
"chatMode.agentCap.env": "Runtime env",
|
||
"chatMode.agentCap.files": "File access",
|
||
"chatMode.agentCap.memory": "Memory",
|
||
"chatMode.agentCap.tools": "Tool calls",
|
||
"chatMode.agentCap.web": "Web search",
|
||
"chatMode.agentDesc": "Agent can use tools and environment to complete tasks automatically",
|
||
"chatMode.chat": "Chat",
|
||
"chatMode.chatDesc": "No runtime environment or autonomy; uses fewer tokens",
|
||
"chatMode.select": "Switch Mode",
|
||
"claudeCodeInstallGuide.actions.openDocs": "Open Install Guide",
|
||
"claudeCodeInstallGuide.actions.openSystemTools": "Open System Tools",
|
||
"claudeCodeInstallGuide.afterInstall": "After installing, run Claude Code once to sign in, then retry your message or click Re-detect in System Tools.",
|
||
"claudeCodeInstallGuide.desc": "Claude Code needs the Claude Code CLI to run locally. Install it and make sure the `claude` command is available in your PATH.",
|
||
"claudeCodeInstallGuide.installWithBrew": "Homebrew",
|
||
"claudeCodeInstallGuide.installWithNpm": "Recommended install",
|
||
"claudeCodeInstallGuide.menuNotification.title": "Claude Code CLI not found",
|
||
"claudeCodeInstallGuide.reason": "LobeHub could not start Claude Code: {{message}}",
|
||
"claudeCodeInstallGuide.title": "Install Claude Code CLI",
|
||
"clearCurrentMessages": "Clear current session messages",
|
||
"cliAuthGuide.actions.openDocs": "Open Sign-in Guide",
|
||
"cliAuthGuide.actions.openSystemTools": "Open System Tools",
|
||
"cliAuthGuide.afterLogin": "After signing in again or refreshing credentials, retry your message. You can also re-detect in System Tools.",
|
||
"cliAuthGuide.desc": "{{name}} could not continue because its sign-in session expired or the credentials are invalid.",
|
||
"cliAuthGuide.errorDetails": "Error details",
|
||
"cliAuthGuide.runCommand": "Run this in Terminal",
|
||
"cliAuthGuide.title": "Sign in to {{name}}",
|
||
"cliOverloadedGuide.actions.retry": "Retry",
|
||
"cliOverloadedGuide.desc": "{{name}}'s upstream model service is temporarily overloaded. This usually clears in a moment.",
|
||
"cliOverloadedGuide.errorDetails": "Error details",
|
||
"cliOverloadedGuide.retryHint": "Wait a few seconds and retry. If it keeps failing, the provider may be having a wider incident.",
|
||
"cliOverloadedGuide.title": "{{name}} is temporarily overloaded",
|
||
"cliRateLimitGuide.actions.openSystemTools": "Open System Tools",
|
||
"cliRateLimitGuide.actions.retry": "Retry",
|
||
"cliRateLimitGuide.afterReset": "Wait until the reset time, then retry your message. If you are using API authorization, you can also check your provider quota and billing status.",
|
||
"cliRateLimitGuide.desc": "{{name}} has reached its current usage limit and cannot continue this run right now.",
|
||
"cliRateLimitGuide.limitType": "Limit window",
|
||
"cliRateLimitGuide.limitTypes.weekCycle": "Week cycle",
|
||
"cliRateLimitGuide.relative.day_one": "{{count}} day",
|
||
"cliRateLimitGuide.relative.day_other": "{{count}} days",
|
||
"cliRateLimitGuide.relative.hour_one": "{{count}} hour",
|
||
"cliRateLimitGuide.relative.hour_other": "{{count}} hours",
|
||
"cliRateLimitGuide.relative.minute_one": "{{count}} minute",
|
||
"cliRateLimitGuide.relative.minute_other": "{{count}} minutes",
|
||
"cliRateLimitGuide.relative.soon": "Resets soon",
|
||
"cliRateLimitGuide.resetAt": "Resets at",
|
||
"cliRateLimitGuide.resetInApprox": "Resets in about {{duration}}",
|
||
"cliRateLimitGuide.title": "{{name}} usage limit reached",
|
||
"codexInstallGuide.actions.openDocs": "Open Install Guide",
|
||
"codexInstallGuide.actions.openSystemTools": "Open System Tools",
|
||
"codexInstallGuide.afterInstall": "After installing, run Codex once to sign in, then retry your message or click Re-detect in System Tools.",
|
||
"codexInstallGuide.desc": "Codex Agent needs the Codex CLI to run locally. Install it and make sure the codex command is available in your PATH.",
|
||
"codexInstallGuide.installWithBrew": "Homebrew (macOS)",
|
||
"codexInstallGuide.installWithNpm": "Recommended install",
|
||
"codexInstallGuide.menuNotification.title": "Codex CLI not found",
|
||
"codexInstallGuide.reason": "LobeHub could not start Codex: {{message}}",
|
||
"codexInstallGuide.title": "Install Codex CLI",
|
||
"compressedHistory": "Compressed History",
|
||
"compression.cancel": "Uncompress",
|
||
"compression.cancelConfirm": "Are you sure you want to uncompress? This will restore the original messages.",
|
||
"compression.history": "History",
|
||
"compression.summary": "Summary",
|
||
"confirmClearCurrentMessages": "You are about to clear the current session messages. Once cleared, they cannot be retrieved. Please confirm your action.",
|
||
"confirmRemoveChatGroupItemAlert": "This Group will be deleted. Group-specific assistants will also be deleted, while external assistants will not be affected.",
|
||
"confirmRemoveGroupItemAlert": "You are about to delete this category. After deletion, its agents will be moved to the default list. Please confirm your action.",
|
||
"confirmRemoveGroupSuccess": "Group deleted successfully",
|
||
"confirmRemoveSessionItemAlert": "You are about to delete this agent. Once deleted, it cannot be retrieved. Please confirm your action.",
|
||
"confirmRemoveSessionSuccess": "Agent removed successfully",
|
||
"createModal.createBlank": "Create Blank",
|
||
"createModal.groupPlaceholder": "Describe what this group should do...",
|
||
"createModal.groupTitle": "What should your group do?",
|
||
"createModal.placeholder": "Describe what your agent should do...",
|
||
"createModal.title": "What should your agent do?",
|
||
"createTask.assignee": "Assignee",
|
||
"createTask.collapse": "Hide input",
|
||
"createTask.expandToInline": "Dock to page",
|
||
"createTask.instructionPlaceholder": "Add task instruction...",
|
||
"createTask.submit": "Create task",
|
||
"createTask.titlePlaceholder": "Task title",
|
||
"defaultAgent": "Default Agent",
|
||
"defaultGroupChat": "Group",
|
||
"defaultList": "Default List",
|
||
"defaultSession": "Default Agent",
|
||
"desktopNotification.aiReplyCompleted.body": "Agent reply is ready",
|
||
"desktopNotification.aiReplyCompleted.title": "Reply completed",
|
||
"desktopNotification.humanApprovalRequired.body": "An Agent needs your approval to continue",
|
||
"desktopNotification.humanApprovalRequired.title": "Approval required",
|
||
"dm.placeholder": "Your private messages with {{agentTitle}} will appear here.",
|
||
"dm.tooltip": "Send a private message",
|
||
"dm.visibleTo": "Visible to {{target}} only",
|
||
"dm.you": "You",
|
||
"duplicateSession.loading": "Copying...",
|
||
"duplicateSession.success": "Copy successful",
|
||
"duplicateSession.title": "{{title}} Copy",
|
||
"duplicateTitle": "{{title}} Copy",
|
||
"emptyAgent": "No Agents yet. Start with your first Agent—build your system over time.",
|
||
"emptyAgentAction": "Create Agent",
|
||
"extendParams.disableContextCaching.desc": "Reduce by up to 90% of the cost of generating a single conversation and bring a max of 4x speed. <1>Learn more</1>",
|
||
"extendParams.disableContextCaching.title": "Enable Context Caching",
|
||
"extendParams.effort.desc": "Control how many tokens Claude uses when responding with the effort parameter.",
|
||
"extendParams.effort.title": "Effort",
|
||
"extendParams.enableAdaptiveThinking.desc": "Let Claude dynamically decide when and how much to think with adaptive thinking mode.",
|
||
"extendParams.enableAdaptiveThinking.title": "Enable Adaptive Thinking",
|
||
"extendParams.enableReasoning.desc": "Let the model reason before answering. Use it for complex tasks.",
|
||
"extendParams.enableReasoning.title": "Enable Deep Thinking",
|
||
"extendParams.imageAspectRatio.title": "Image Aspect Ratio",
|
||
"extendParams.imageResolution.title": "Image Resolution",
|
||
"extendParams.preserveThinking.desc": "When enabled, assistant historical reasoning will be sent back as context for models. This may increase token usage.",
|
||
"extendParams.preserveThinking.title": "Preserve Historical Thinking",
|
||
"extendParams.reasoningBudgetToken.title": "Thinking Consumption Token",
|
||
"extendParams.reasoningEffort.title": "Reasoning Intensity",
|
||
"extendParams.textVerbosity.title": "Output Text Detail Level",
|
||
"extendParams.thinking.title": "Deep Thinking Switch",
|
||
"extendParams.thinkingBudget.title": "Thinking Budget",
|
||
"extendParams.thinkingLevel.title": "Level of Thinking",
|
||
"extendParams.title": "Model Extension Features",
|
||
"extendParams.urlContext.desc": "When enabled, web links will be automatically parsed to retrieve the actual webpage context content",
|
||
"extendParams.urlContext.title": "Extract Webpage Link Content",
|
||
"followUpPlaceholder": "Follow up.",
|
||
"followUpPlaceholderHeterogeneous": "Follow up.",
|
||
"group.desc": "Move a task forward with multiple Agents in one shared space.",
|
||
"group.memberTooltip": "There are {{count}} members in the group",
|
||
"group.orchestratorThinking": "Orchestrator is thinking...",
|
||
"group.profile.contentPlaceholder": "Set the group objectives/work modes here. This information will be shared with all group members.",
|
||
"group.profile.external": "External",
|
||
"group.profile.externalAgentWarning": "This is an external agent. Changes made here will directly modify the original agent configuration.",
|
||
"group.profile.groupSettings": "Group Settings",
|
||
"group.profile.supervisor": "Supervisor",
|
||
"group.profile.supervisorPlaceholder": "The supervisor coordinates different agents. Setting supervisor information here enables more precise workflow coordination.",
|
||
"group.removeMember": "Remove Member",
|
||
"group.title": "Group",
|
||
"groupDescription": "Group description",
|
||
"groupSidebar.agentProfile.chat": "Chat",
|
||
"groupSidebar.agentProfile.model": "Model",
|
||
"groupSidebar.agentProfile.settings": "Settings",
|
||
"groupSidebar.members.addMember": "Add Member",
|
||
"groupSidebar.members.enableOrchestrator": "Enable Orchestrator",
|
||
"groupSidebar.members.memberSettings": "Member Settings",
|
||
"groupSidebar.members.orchestrator": "Orchestrator",
|
||
"groupSidebar.members.orchestratorThinking": "Orchestrator is thinking...",
|
||
"groupSidebar.members.removeMember": "Remove Member",
|
||
"groupSidebar.members.stopOrchestrator": "Stop",
|
||
"groupSidebar.members.triggerOrchestrator": "Start",
|
||
"groupSidebar.tabs.host": "Orchestrator",
|
||
"groupSidebar.tabs.members": "Members",
|
||
"groupSidebar.tabs.role": "Profile",
|
||
"groupWizard.chooseMembers": "Select existing agents...",
|
||
"groupWizard.createGroup": "Create Group",
|
||
"groupWizard.existingMembers": "Current Agents",
|
||
"groupWizard.groupMembers": "These agents will also be added to your list",
|
||
"groupWizard.host.description": "Let the Group move forward automatically. You can step in anytime.",
|
||
"groupWizard.host.title": "Enable Orchestrator",
|
||
"groupWizard.host.tooltip": "When off, you’ll need to @mention members to get their replies.",
|
||
"groupWizard.memberCount": "{{count}} members",
|
||
"groupWizard.noMatchingTemplates": "No matching templates",
|
||
"groupWizard.noSelectedTemplates": "No templates selected",
|
||
"groupWizard.noTemplateMembers": "No members in the template",
|
||
"groupWizard.noTemplates": "No templates available",
|
||
"groupWizard.searchTemplates": "Search templates...",
|
||
"groupWizard.title": "Create Group",
|
||
"groupWizard.useTemplate": "Use Template",
|
||
"heteroAgent.cloudNotConfigured.action": "Configure",
|
||
"heteroAgent.cloudNotConfigured.desc": "Configure your Claude Code token in agent profile to start sending messages.",
|
||
"heteroAgent.cloudNotConfigured.title": "Cloud credentials required",
|
||
"heteroAgent.cloudRepo.multiSelected": "{{count}} repos selected",
|
||
"heteroAgent.cloudRepo.noRepos": "No repositories configured. Add them in agent settings.",
|
||
"heteroAgent.cloudRepo.notSet": "No repo selected",
|
||
"heteroAgent.cloudRepo.sectionTitle": "Repositories",
|
||
"heteroAgent.executionTarget.downloadDesktop": "Get Desktop App",
|
||
"heteroAgent.executionTarget.downloadDesktopDesc": "Run agents with access to your computer",
|
||
"heteroAgent.executionTarget.downloadDesktopTitle": "Get the desktop app",
|
||
"heteroAgent.executionTarget.infoTooltip": "Pick a device and the agent uses it as its runtime environment — reading and writing files and operating the computer. Cloud sandbox is provided by LobeHub Marketplace.",
|
||
"heteroAgent.executionTarget.loading": "Loading devices…",
|
||
"heteroAgent.executionTarget.local": "This device",
|
||
"heteroAgent.executionTarget.localDesc": "Run as a local process on this desktop app",
|
||
"heteroAgent.executionTarget.noDevices": "No remote devices yet. Run `lh connect` on another machine to add one.",
|
||
"heteroAgent.executionTarget.none": "No device",
|
||
"heteroAgent.executionTarget.noneDesc": "No device enabled",
|
||
"heteroAgent.executionTarget.offline": "Offline",
|
||
"heteroAgent.executionTarget.online": "Online",
|
||
"heteroAgent.executionTarget.sandbox": "Cloud Sandbox",
|
||
"heteroAgent.executionTarget.sandboxDesc": "Run in an ephemeral cloud sandbox",
|
||
"heteroAgent.executionTarget.title": "Execution Device",
|
||
"heteroAgent.executionTarget.unknownDevice": "Unknown device",
|
||
"heteroAgent.fullAccess.label": "Full access",
|
||
"heteroAgent.fullAccess.tooltip": "Claude Code runs locally with full read/write access to the working directory. Switching permission modes is not available yet.",
|
||
"heteroAgent.resumeReset.cwdChanged": "Working directory changed. Previous Claude Code session can only be resumed from its original directory, so a new conversation has started.",
|
||
"heteroAgent.resumeReset.resumeFailed": "The saved Codex thread could not be resumed safely, so a new conversation has started for this topic.",
|
||
"heteroAgent.switchCwd.cancel": "Cancel",
|
||
"heteroAgent.switchCwd.content": "Claude Code sessions are pinned to a working directory. Switching will start a new session for this topic — chat messages stay, but the previous session context cannot be resumed.",
|
||
"heteroAgent.switchCwd.ok": "Switch and start new session",
|
||
"heteroAgent.switchCwd.title": "Switch working directory?",
|
||
"hideForYou": "Direct message content is hidden. Please enable 'Show Direct Message Content' in settings to view.",
|
||
"history.title": "The Agent will keep only the latest {{count}} messages.",
|
||
"historyRange": "History Range",
|
||
"historySummary": "Historical Message Summary",
|
||
"inactive": "Inactive",
|
||
"inbox.desc": "Collaborate in one Workspace and move ideas into outcomes.",
|
||
"inbox.title": "Lobe AI",
|
||
"input.addAi": "Add an AI message",
|
||
"input.addUser": "Add a user message",
|
||
"input.costEstimate.creditsPerMillionTokens": "{{credits}} credits/M tokens",
|
||
"input.costEstimate.hint": "Estimated cost: ~{{credits}} credits",
|
||
"input.costEstimate.inputLabel": "Input",
|
||
"input.costEstimate.outputLabel": "Output",
|
||
"input.costEstimate.settingsLink": "Adjust warning threshold",
|
||
"input.costEstimate.tokenCount": "~{{tokens}} tokens",
|
||
"input.costEstimate.tooltip": "Estimated from current context, tools, and model pricing. Actual cost may vary.",
|
||
"input.disclaimer": "Agents can make mistakes. Use your judgment for critical info.",
|
||
"input.errorMsg": "Send failed: {{errorMsg}}. Retry, or send again later.",
|
||
"input.inputCompletionError.desc": "Input suggestions stopped after an error. Retry, or adjust the suggestion model in Settings.",
|
||
"input.inputCompletionError.retry": "Retry",
|
||
"input.inputCompletionError.settings": "Settings",
|
||
"input.inputCompletionError.title": "Input suggestions paused",
|
||
"input.more": "More",
|
||
"input.send": "Send",
|
||
"input.sendWithCmdEnter": "Press <key/> to send",
|
||
"input.sendWithEnter": "Press <key/> to send",
|
||
"input.stop": "Stop",
|
||
"input.warp": "New Line",
|
||
"input.warpWithKey": "Press <key/> to insert a line break",
|
||
"inputQueue.delete": "Delete",
|
||
"inputQueue.edit": "Edit",
|
||
"inputQueue.sendNow": "Send now (interrupts current run)",
|
||
"intentUnderstanding.title": "Understanding your intent...",
|
||
"inviteMembers": "Invite members",
|
||
"knowledgeBase.all": "All Content",
|
||
"knowledgeBase.allFiles": "All Files",
|
||
"knowledgeBase.allLibraries": "All Libraries",
|
||
"knowledgeBase.disabled": "Library chat isn’t available in this deployment. Switch to a server-side database, or use {{cloud}}.",
|
||
"knowledgeBase.files": "Files",
|
||
"knowledgeBase.libraries": "Libraries",
|
||
"knowledgeBase.library.action.add": "Add",
|
||
"knowledgeBase.library.action.detail": "Details",
|
||
"knowledgeBase.library.action.remove": "Remove",
|
||
"knowledgeBase.library.title": "Files / Libraries",
|
||
"knowledgeBase.relativeFilesOrLibraries": "Related Files/Libraries",
|
||
"knowledgeBase.title": "Library",
|
||
"knowledgeBase.uploadGuide": "Uploaded files can be viewed in the 'Resources' section.",
|
||
"knowledgeBase.viewMore": "View More",
|
||
"memberSelection.addMember": "Add Member",
|
||
"memberSelection.allMembers": "All members",
|
||
"memberSelection.createGroup": "Create Group",
|
||
"memberSelection.noAvailableAgents": "No available agents to invite",
|
||
"memberSelection.noSelectedAgents": "No agents selected yet",
|
||
"memberSelection.searchAgents": "Search agents...",
|
||
"memberSelection.selectedAgents": "Selected ({{count}})",
|
||
"memberSelection.setInitialMembers": "Select Group members",
|
||
"members": "Members",
|
||
"memory.effort.desc": "Control how aggressively the AI retrieves and updates memory.",
|
||
"memory.effort.high.title": "High",
|
||
"memory.effort.low.title": "Low",
|
||
"memory.effort.medium.title": "Medium",
|
||
"memory.effort.title": "Aggressiveness",
|
||
"memory.off.desc": "AI will not search, create, or update memories in this conversation.",
|
||
"memory.off.title": "Disable Memory Tool",
|
||
"memory.on.desc": "Allow AI to actively search and manage your memories during conversation.",
|
||
"memory.on.title": "Enable Memory Tool",
|
||
"memory.title": "Memory",
|
||
"mention.category.agents": "Agents",
|
||
"mention.category.members": "Members",
|
||
"mention.category.skills": "Skills",
|
||
"mention.category.tools": "Tools",
|
||
"mention.category.topics": "Topics",
|
||
"mention.title": "Mention Members",
|
||
"messageAction.collapse": "Collapse Message",
|
||
"messageAction.continueGeneration": "Continue Generating",
|
||
"messageAction.delAndRegenerate": "Delete and Regenerate",
|
||
"messageAction.deleteDisabledByThreads": "This message has a subtopic and can’t be deleted",
|
||
"messageAction.expand": "Expand Message",
|
||
"messageAction.interrupted": "Interrupted",
|
||
"messageAction.interruptedHint": "What should I do instead?",
|
||
"messageAction.reaction": "Add Reaction",
|
||
"messageAction.regenerate": "Regenerate",
|
||
"messageLongCollapse.collapse": "Show less",
|
||
"messageLongCollapse.expand": "Show more",
|
||
"messages.dm.sentTo": "Visible only to {{name}}",
|
||
"messages.dm.title": "DM",
|
||
"messages.modelCard.credit": "Credits",
|
||
"messages.modelCard.creditPricing": "Pricing",
|
||
"messages.modelCard.creditTooltip": "For counting, we treat $1 as 1M credits. Example: $3/M tokens → 3 credits per token.",
|
||
"messages.modelCard.pricing.inputCachedTokens": "Cached input {{amount}} credits · ${{amount}}/M",
|
||
"messages.modelCard.pricing.inputCharts": "${{amount}}/M characters",
|
||
"messages.modelCard.pricing.inputMinutes": "${{amount}}/minute",
|
||
"messages.modelCard.pricing.inputTokens": "Input {{amount}} credits · ${{amount}}/M",
|
||
"messages.modelCard.pricing.outputTokens": "Output {{amount}} credits · ${{amount}}/M",
|
||
"messages.modelCard.pricing.writeCacheInputTokens": "Cache write {{amount}} credits · ${{amount}}/M",
|
||
"messages.tokenDetails.average": "Average unit price",
|
||
"messages.tokenDetails.input": "Input",
|
||
"messages.tokenDetails.inputAudio": "Audio Input",
|
||
"messages.tokenDetails.inputCached": "Cached Input",
|
||
"messages.tokenDetails.inputCitation": "Input citation",
|
||
"messages.tokenDetails.inputText": "Text Input",
|
||
"messages.tokenDetails.inputTitle": "Input Details",
|
||
"messages.tokenDetails.inputTool": "Tool Use Input",
|
||
"messages.tokenDetails.inputUncached": "Uncached Input",
|
||
"messages.tokenDetails.inputWriteCached": "Input cache write",
|
||
"messages.tokenDetails.output": "Output",
|
||
"messages.tokenDetails.outputAudio": "Audio Output",
|
||
"messages.tokenDetails.outputImage": "Image Output",
|
||
"messages.tokenDetails.outputText": "Text Output",
|
||
"messages.tokenDetails.outputTitle": "Output Details",
|
||
"messages.tokenDetails.reasoning": "Deep Thinking",
|
||
"messages.tokenDetails.speed.tps.title": "TPS",
|
||
"messages.tokenDetails.speed.tps.tooltip": "Tokens Per Second (TPS). This indicates the average speed of AI-generated content (Tokens/second), calculated from the moment the first Token is received.",
|
||
"messages.tokenDetails.speed.ttft.title": "TTFT",
|
||
"messages.tokenDetails.speed.ttft.tooltip": "Time To First Token (TTFT). This refers to the time interval from when you send a message to when the client receives the first Token.",
|
||
"messages.tokenDetails.title": "Generation Details",
|
||
"messages.tokenDetails.total": "Total Consumption",
|
||
"minimap.emptyPreview": "(No text content)",
|
||
"minimap.jumpToMessage": "Jump to message {{index}}",
|
||
"minimap.nextMessage": "Next message",
|
||
"minimap.previousMessage": "Previous message",
|
||
"minimap.senderAssistant": "Agent",
|
||
"minimap.senderUser": "You",
|
||
"newAgent": "Create Agent",
|
||
"newClaudeCodeAgent": "Add Claude Code",
|
||
"newCodexAgent": "Add Codex",
|
||
"newGroupChat": "Create Group",
|
||
"newPage": "Create Page",
|
||
"newPlatformAgent": "Connect Agent",
|
||
"noAgentsYet": "This group has no members yet. Click the + button to invite agents.",
|
||
"noAvailableAgents": "No members available to invite",
|
||
"noMatchingAgents": "No matching members found",
|
||
"noMembersYet": "This group doesn't have any members yet. Click the + button to invite agents.",
|
||
"noSelectedAgents": "No members selected yet",
|
||
"opStatusTray.status.compressing": "Compressing context",
|
||
"opStatusTray.status.generating": "Generating",
|
||
"opStatusTray.status.reasoning": "Thinking",
|
||
"opStatusTray.status.searching": "Searching",
|
||
"opStatusTray.status.toolCalling": "Calling tools",
|
||
"opStatusTray.steps": "steps",
|
||
"opStatusTray.tokens": "tokens",
|
||
"openInNewWindow": "Open in New Window",
|
||
"operation.contextCompression": "Context too long, compressing history...",
|
||
"operation.execAgentRuntime": "Preparing response",
|
||
"operation.execClientSubAgent": "Running sub-agent",
|
||
"operation.execHeterogeneousAgent": "{{name}} is running",
|
||
"operation.execServerAgentRuntime": "Task is running in the server. You are safe to leave this page",
|
||
"operation.heterogeneousAgentFallback": "External agent",
|
||
"operation.sendMessage": "Sending message",
|
||
"owner": "Group owner",
|
||
"pageCopilot.title": "Page Agent",
|
||
"pageCopilot.welcome": "**Clearer, sharper writing**\n\nDraft, rewrite, or polish—tell me your intent and I'll refine the rest.",
|
||
"pageSelection.lines": "Lines {{start}}-{{end}}",
|
||
"pageSelection.reference": "Selected Text",
|
||
"pin": "Pin",
|
||
"pinOff": "Unpin",
|
||
"platformAgent.create.available": "Available",
|
||
"platformAgent.create.back": "Back",
|
||
"platformAgent.create.checkFailed": "Check failed",
|
||
"platformAgent.create.checking": "Checking availability...",
|
||
"platformAgent.create.comingSoon": "Coming Soon",
|
||
"platformAgent.create.create": "Connect",
|
||
"platformAgent.create.creating": "Connecting...",
|
||
"platformAgent.create.desc.amp": "Connect to Amp running on one of your devices",
|
||
"platformAgent.create.desc.hermes": "Connect to Hermes running on one of your devices",
|
||
"platformAgent.create.desc.openclaw": "Connect to OpenClaw running on one of your devices",
|
||
"platformAgent.create.desc.opencode": "Connect to OpenCode running on one of your devices",
|
||
"platformAgent.create.descriptionPlaceholder": "Brief description (optional)",
|
||
"platformAgent.create.downloadDesktop": "Download Desktop App",
|
||
"platformAgent.create.fetchingProfile": "Fetching profile...",
|
||
"platformAgent.create.namePlaceholder": "e.g. My OpenClaw Agent",
|
||
"platformAgent.create.next": "Next",
|
||
"platformAgent.create.noDevices": "No devices connected",
|
||
"platformAgent.create.noDevicesCliHint": "Or connect any machine via CLI, then click Refresh:",
|
||
"platformAgent.create.noDevicesCmd": "lh connect",
|
||
"platformAgent.create.noDevicesDesktopHint": "Install the Desktop App — it connects automatically after login",
|
||
"platformAgent.create.notInstalled": "{{name}} not installed on this device",
|
||
"platformAgent.create.refresh": "Refresh",
|
||
"platformAgent.create.selectDevice": "Select a device",
|
||
"platformAgent.create.step1": "Select Agent",
|
||
"platformAgent.create.step2": "Select Device",
|
||
"platformAgent.create.step3": "Configure Agent",
|
||
"platformAgent.create.title": "Connect Agent",
|
||
"platformAgent.create.upgradeCmd": "npm install -g @lobehub/cli",
|
||
"platformAgent.create.versionTooLow": "lh version is too low",
|
||
"platformAgent.create.versionTooLowHint": "Update lh to the latest version:",
|
||
"platformAgent.device.online": "Online",
|
||
"platformAgent.deviceGuard.configure": "Configure",
|
||
"platformAgent.deviceGuard.deviceOffline.desc": "The bound device is not connected. Run `lh connect` on that machine then refresh.",
|
||
"platformAgent.deviceGuard.deviceOffline.title": "Device not connected",
|
||
"platformAgent.deviceGuard.noDevice.desc": "This agent has no bound device. Edit the agent profile to configure one.",
|
||
"platformAgent.deviceGuard.noDevice.title": "No device bound",
|
||
"platformAgent.deviceGuard.platformUnavailable.desc": "{{name}} is not installed on the connected device.",
|
||
"platformAgent.deviceGuard.platformUnavailable.title": "{{name}} not available",
|
||
"platformAgent.deviceGuard.refresh": "Refresh",
|
||
"plus.addAttachments": "Attachments",
|
||
"plus.addSkills": "Add Skills...",
|
||
"plus.search.appSearch": "Smart Search",
|
||
"plus.search.appSearchDesc": "LobeHub optimized search service, delivering best retrieval results.",
|
||
"plus.search.modelSearch": "Provider Search",
|
||
"plus.search.modelSearchDesc": "May cause unexpected behavior when enabled, not recommended.",
|
||
"plus.search.off": "Off",
|
||
"plus.search.offDesc": "",
|
||
"plus.title": "Add",
|
||
"plus.tooltip": "Add files, skills, and more context...",
|
||
"rag.referenceChunks": "Reference Source",
|
||
"rag.userQuery.actions.delete": "Delete Query Rewrite",
|
||
"rag.userQuery.actions.regenerate": "Regenerate Query",
|
||
"regenerate": "Regenerate",
|
||
"roleAndArchive": "Agent Profile & History",
|
||
"runtimeEnv.mode.cloud": "Cloud Sandbox",
|
||
"runtimeEnv.mode.cloudDesc": "Run in a secure cloud sandbox",
|
||
"runtimeEnv.mode.local": "Local",
|
||
"runtimeEnv.mode.localDesc": "Access local files and commands",
|
||
"runtimeEnv.mode.none": "Off",
|
||
"runtimeEnv.mode.noneDesc": "Disable runtime environment",
|
||
"runtimeEnv.selectMode": "Select Runtime Environment",
|
||
"runtimeEnv.title": "Runtime Environment",
|
||
"search.grounding.imageSearchQueries": "Image Search Keywords",
|
||
"search.grounding.imageTitle": "Found {{count}} images",
|
||
"search.grounding.searchQueries": "Search Keywords",
|
||
"search.grounding.title": "Found {{count}} results",
|
||
"search.mode.auto.desc": "Search the web automatically when needed.",
|
||
"search.mode.auto.title": "Auto",
|
||
"search.mode.off.desc": "Disable web access.",
|
||
"search.mode.off.title": "Off",
|
||
"search.mode.on.desc": "Always search the web for the latest information.",
|
||
"search.mode.on.title": "Always on",
|
||
"search.mode.useModelBuiltin": "Use model built-in web search",
|
||
"search.searchModel.desc": "The current model does not support function calls, so it needs to be paired with a model that does support function calls for online searching.",
|
||
"search.searchModel.title": "Search helper model",
|
||
"search.title": "Web search",
|
||
"searchAgentPlaceholder": "Search agents...",
|
||
"searchAgents": "Search agents...",
|
||
"selectedAgents": "Selected agents",
|
||
"sendPlaceholder": "Ask, create, or start a task, <hotkey><hotkey/>",
|
||
"sendPlaceholderChat": "Ask, search, or brainstorm, <hotkey><hotkey/>",
|
||
"sendPlaceholderChatWithAgentAssignment": "Ask, search, or brainstorm. @ to bring in other agents.",
|
||
"sendPlaceholderHeterogeneous": "Describe a task or ask a question to {{name}}",
|
||
"sendPlaceholderWithAgentAssignment": "Ask, create, or start a task. @ to assign tasks to other agents.",
|
||
"sessionGroup.config": "Category Management",
|
||
"sessionGroup.confirmRemoveGroupAlert": "This category is about to be deleted. After deletion, the agents in this category will be moved to the default list. Please confirm your operation.",
|
||
"sessionGroup.createAgentSuccess": "Agent created successfully",
|
||
"sessionGroup.createGroup": "Add New Category",
|
||
"sessionGroup.createGroupFailed": "Failed to create category",
|
||
"sessionGroup.createGroupSuccess": "Category created successfully",
|
||
"sessionGroup.createSuccess": "Created successfully",
|
||
"sessionGroup.creatingAgent": "Creating agent...",
|
||
"sessionGroup.groupName": "Category Name",
|
||
"sessionGroup.inputPlaceholder": "Please enter category name...",
|
||
"sessionGroup.moveGroup": "Move to Category",
|
||
"sessionGroup.newGroup": "New Category",
|
||
"sessionGroup.noAvailableAgents": "No available agents",
|
||
"sessionGroup.noMatchingAgents": "No matching agents found",
|
||
"sessionGroup.noSelectedAgents": "Please select agents",
|
||
"sessionGroup.rename": "Rename Category",
|
||
"sessionGroup.renameSuccess": "Renamed successfully",
|
||
"sessionGroup.searchAgents": "Search agents",
|
||
"sessionGroup.selectedAgents": "Selected agents ({{count}})",
|
||
"sessionGroup.sortSuccess": "Reorder successful",
|
||
"sessionGroup.sorting": "Category sorting updating...",
|
||
"sessionGroup.tooLong": "Category name length should be between 1-20",
|
||
"shareModal.copy": "Copy",
|
||
"shareModal.copyLink": "Copy Link",
|
||
"shareModal.copyLinkSuccess": "Share link copied to clipboard",
|
||
"shareModal.download": "Download Screenshot",
|
||
"shareModal.downloadError": "Download failed",
|
||
"shareModal.downloadFile": "Download File",
|
||
"shareModal.downloadPdf": "Download PDF",
|
||
"shareModal.downloadSuccess": "Download successful",
|
||
"shareModal.exportMode.full": "Default",
|
||
"shareModal.exportMode.label": "Export Mode",
|
||
"shareModal.exportMode.simple": "OpenAI Compatible",
|
||
"shareModal.exportPdf": "Export as PDF",
|
||
"shareModal.exportTitle": "Default Title",
|
||
"shareModal.generatePdf": "Generate PDF",
|
||
"shareModal.generatingPdf": "Generating PDF...",
|
||
"shareModal.imageType": "Image Format",
|
||
"shareModal.includeTool": "Include Skill messages",
|
||
"shareModal.includeUser": "Include User Messages",
|
||
"shareModal.link": "Link",
|
||
"shareModal.link.linkHint": "Anyone with the link can view this topic",
|
||
"shareModal.link.noTopic": "Start a conversation first to share",
|
||
"shareModal.link.permissionLink": "Anyone with the link",
|
||
"shareModal.link.permissionPrivate": "Private",
|
||
"shareModal.link.privateHint": "Only you can access this link",
|
||
"shareModal.link.updateError": "Failed to update sharing settings",
|
||
"shareModal.link.visibilityUpdated": "Visibility updated",
|
||
"shareModal.loadingPdf": "Loading PDF...",
|
||
"shareModal.noPdfData": "No PDF data available",
|
||
"shareModal.pdf": "PDF",
|
||
"shareModal.pdfErrorDescription": "An error occurred while generating the PDF, please try again",
|
||
"shareModal.pdfGenerationError": "PDF generation failed",
|
||
"shareModal.pdfReady": "PDF is ready",
|
||
"shareModal.popover.export": "Export",
|
||
"shareModal.popover.privacyWarning.confirm": "Share & copy link",
|
||
"shareModal.popover.privacyWarning.content": "Anyone with the link can open this whole conversation, so take a moment to make sure there's nothing here you'd rather keep private. A shared topic may include:",
|
||
"shareModal.popover.privacyWarning.doNotShowAgain": "Don't show this again",
|
||
"shareModal.popover.privacyWarning.items.credentials": "Credentials",
|
||
"shareModal.popover.privacyWarning.items.files": "Uploaded files",
|
||
"shareModal.popover.privacyWarning.items.images": "Images",
|
||
"shareModal.popover.privacyWarning.items.toolCalls": "Connector calling details",
|
||
"shareModal.popover.privacyWarning.note": "You can switch back to private anytime.",
|
||
"shareModal.popover.privacyWarning.title": "Before you share this link",
|
||
"shareModal.popover.title": "Share Topic",
|
||
"shareModal.popover.visibility": "Visibility",
|
||
"shareModal.regeneratePdf": "Regenerate PDF",
|
||
"shareModal.screenshot": "Screenshot",
|
||
"shareModal.settings": "Export Settings",
|
||
"shareModal.text": "Text",
|
||
"shareModal.title": "Export",
|
||
"shareModal.widthMode.label": "Width Mode",
|
||
"shareModal.widthMode.narrow": "Narrow",
|
||
"shareModal.widthMode.wide": "Wide",
|
||
"shareModal.withBackground": "Include Background Image",
|
||
"shareModal.withFooter": "Include Footer",
|
||
"shareModal.withPluginInfo": "Include Skill Information",
|
||
"shareModal.withRole": "Include Message Role",
|
||
"shareModal.withSystemRole": "Include Agent Profile",
|
||
"sharePage.actions.findMord": "Find more",
|
||
"sharePage.actions.tryItYourself": "Try it yourself",
|
||
"sharePage.error.forbidden.subtitle": "This share is private and not accessible.",
|
||
"sharePage.error.forbidden.title": "Access Denied",
|
||
"sharePage.error.notFound.subtitle": "This topic does not exist or has been removed.",
|
||
"sharePage.error.notFound.title": "Topic Not Found",
|
||
"sharePage.error.unauthorized.action": "Sign In",
|
||
"sharePage.error.unauthorized.subtitle": "Please sign in to view this shared topic.",
|
||
"sharePage.error.unauthorized.title": "Sign In Required",
|
||
"sharePage.menu.copyLink": "Copy Link",
|
||
"sharePage.menu.goToLobeHub": "Go to LobeHub",
|
||
"sharePage.menu.more": "More",
|
||
"sharePage.menu.report": "Report",
|
||
"sharePageDisclaimer": "Shared by a user. The content reflects their views, not LobeHub's, and LobeHub takes no responsibility for it.",
|
||
"signalCallbacks.collapse": "Hide details",
|
||
"signalCallbacks.empty": "No callback messages",
|
||
"signalCallbacks.expand": "Show details",
|
||
"signalCallbacks.title": "{{tool}} · {{count}} callback updates",
|
||
"stt.action": "Voice Input",
|
||
"stt.loading": "Recognizing...",
|
||
"stt.prettifying": "Polishing...",
|
||
"supervisor.label": "Supervisor",
|
||
"supervisor.todoList.allComplete": "All tasks completed",
|
||
"supervisor.todoList.title": "Tasks Completed",
|
||
"tab.groupProfile": "Group Profile",
|
||
"tab.integration": "Channels",
|
||
"tab.profile": "Agent Profile",
|
||
"tab.search": "Search",
|
||
"tab.tasks": "Tasks",
|
||
"task.activity.calling": "Calling Skill...",
|
||
"task.activity.clientExecuting": "Executing locally...",
|
||
"task.activity.generating": "Generating response...",
|
||
"task.activity.gotResult": "Tool result received",
|
||
"task.activity.toolCalling": "Calling {{toolName}}...",
|
||
"task.activity.toolResult": "{{toolName}} result received",
|
||
"task.batchTasks": "{{count}} Batch Subtasks",
|
||
"task.groupTasks": "{{count}} Parallel Tasks",
|
||
"task.groupTasksTitle": "{{agents}} and {{count}} agents tasks",
|
||
"task.groupTasksTitleSimple": "{{agents}} {{count}} tasks",
|
||
"task.instruction": "Task Instruction",
|
||
"task.intermediateSteps": "{{count}} intermediate steps",
|
||
"task.metrics.duration": "(took {{duration}})",
|
||
"task.metrics.stepsShort": "steps",
|
||
"task.metrics.toolCallsShort": "skill uses",
|
||
"task.status.cancelled": "Task Cancelled",
|
||
"task.status.failed": "Task Failed",
|
||
"task.status.fetchingDetails": "Fetching details...",
|
||
"task.status.initializing": "Initializing task...",
|
||
"task.subtask": "Subtask",
|
||
"task.title": "Tasks",
|
||
"taskDetail.activities": "Activities",
|
||
"taskDetail.activities.agentTag": "Agent",
|
||
"taskDetail.activities.fallback.brief": "posted a brief",
|
||
"taskDetail.activities.fallback.comment": "left a comment",
|
||
"taskDetail.activities.fallback.created": "created the task",
|
||
"taskDetail.activities.fallback.topic": "started a topic",
|
||
"taskDetail.activitiesEmpty": "No activity yet",
|
||
"taskDetail.addSubtask": "Add sub-task",
|
||
"taskDetail.artifactMenu.delete": "Remove from task",
|
||
"taskDetail.artifactMenu.deleteConfirm.content": "This artifact will no longer appear in this task workspace.",
|
||
"taskDetail.artifactMenu.deleteConfirm.ok": "Remove",
|
||
"taskDetail.artifactMenu.deleteConfirm.title": "Remove this artifact?",
|
||
"taskDetail.artifactSize": "{{value}} chars",
|
||
"taskDetail.artifacts": "Artifacts",
|
||
"taskDetail.blockedBy": "Blocked by {{id}}",
|
||
"taskDetail.cancelSchedule": "Cancel schedule",
|
||
"taskDetail.comment.cancel": "Cancel",
|
||
"taskDetail.comment.delete": "Delete",
|
||
"taskDetail.comment.deleteConfirm.content": "This comment will be permanently removed.",
|
||
"taskDetail.comment.deleteConfirm.ok": "Delete",
|
||
"taskDetail.comment.deleteConfirm.title": "Delete this comment?",
|
||
"taskDetail.comment.edit": "Edit",
|
||
"taskDetail.comment.save": "Save",
|
||
"taskDetail.commentPlaceholder": "Leave feedback to guide the agent — your comments shape the next run...",
|
||
"taskDetail.deleteConfirm.content": "This action cannot be undone.",
|
||
"taskDetail.deleteConfirm.ok": "Delete",
|
||
"taskDetail.deleteConfirm.title": "Delete this task?",
|
||
"taskDetail.instruction": "Instruction",
|
||
"taskDetail.instructionPlaceholder": "Add task instruction...",
|
||
"taskDetail.latestActivity.brief": "Brief: {{title}}",
|
||
"taskDetail.latestActivity.briefWithAction": "{{title}} - {{action}}",
|
||
"taskDetail.latestActivity.briefWithType": "Brief ({{type}}): {{title}}",
|
||
"taskDetail.latestActivity.briefWithTypeOnly": "Brief ({{type}})",
|
||
"taskDetail.latestActivity.topic": "Topic: {{title}}",
|
||
"taskDetail.latestActivity.topicWithSeq": "Topic #{{seq}}: {{title}}",
|
||
"taskDetail.latestActivity.untitledTopic": "Untitled topic",
|
||
"taskDetail.modelConfig": "Model Override",
|
||
"taskDetail.navigation": "Navigation",
|
||
"taskDetail.nextRunCountdown": "Next run in {{countdown}}",
|
||
"taskDetail.notFound.backToTasks": "Back to all tasks",
|
||
"taskDetail.notFound.desc": "This task may have been deleted, or you don't have permission to view it.",
|
||
"taskDetail.notFound.title": "Task not found",
|
||
"taskDetail.pauseTask": "Pause task",
|
||
"taskDetail.priority.high": "High",
|
||
"taskDetail.priority.low": "Low",
|
||
"taskDetail.priority.none": "No priority",
|
||
"taskDetail.priority.normal": "Normal",
|
||
"taskDetail.priority.urgent": "Urgent",
|
||
"taskDetail.properties": "Properties",
|
||
"taskDetail.reassignDisabled": "Cannot reassign agent while task is running",
|
||
"taskDetail.replyInThread": "Reply in this thread",
|
||
"taskDetail.replyPlaceholder": "Reply in this thread...",
|
||
"taskDetail.rerunTask": "Re-run task",
|
||
"taskDetail.runAll": "Run all",
|
||
"taskDetail.runAll.cancel": "Cancel",
|
||
"taskDetail.runAll.confirm": "Run {{count}} subtask(s)",
|
||
"taskDetail.runAll.cycleWarning": "Circular dependency detected. Tasks involved in or blocked by the cycle will not run: {{members}}",
|
||
"taskDetail.runAll.description": "Subtasks will run layer by layer. Each layer waits for the previous one to finish. Tasks with no dependencies run in layer 1.",
|
||
"taskDetail.runAll.empty": "Nothing to run — every subtask is already completed, in flight, or stuck in a cycle.",
|
||
"taskDetail.runAll.kickedOff": "Started {{count}} subtask(s); downstream layers will follow.",
|
||
"taskDetail.runAll.layer": "Layer {{index}}",
|
||
"taskDetail.runAll.layerHint.first": "Starts immediately",
|
||
"taskDetail.runAll.layerHint.next": "Waits for layer {{prev}} to finish",
|
||
"taskDetail.runAll.loading": "Loading subtask plan...",
|
||
"taskDetail.runAll.partialFailure": "Started {{ok}} of {{total}} subtask(s); {{failed}} failed.",
|
||
"taskDetail.runAll.skipped.alreadyDone": "{{count}} task(s) already completed or canceled — skipped",
|
||
"taskDetail.runAll.skipped.blockedExternally": "{{count}} task(s) waiting on a blocker outside this batch — will run automatically when unblocked",
|
||
"taskDetail.runAll.skipped.ineligible": "{{count}} task(s) running or scheduled — skipped",
|
||
"taskDetail.runAll.title": "Run subtasks in dependency order",
|
||
"taskDetail.runNow": "Run now",
|
||
"taskDetail.runTask": "Run",
|
||
"taskDetail.saveModelConfig": "Save",
|
||
"taskDetail.sendFollowUp": "Send follow up message",
|
||
"taskDetail.status.backlog": "Backlog",
|
||
"taskDetail.status.canceled": "Canceled",
|
||
"taskDetail.status.completed": "Completed",
|
||
"taskDetail.status.failed": "Failed",
|
||
"taskDetail.status.paused": "Pending review",
|
||
"taskDetail.status.running": "In progress",
|
||
"taskDetail.status.scheduled": "Scheduled",
|
||
"taskDetail.stopTask": "Stop task",
|
||
"taskDetail.subIssueOf": "Sub-issue of",
|
||
"taskDetail.subtaskInstructionPlaceholder": "Describe the sub-task...",
|
||
"taskDetail.subtasks": "Subtasks",
|
||
"taskDetail.titlePlaceholder": "Task title",
|
||
"taskDetail.topicDrawer.untitled": "Untitled",
|
||
"taskDetail.untitled": "Untitled",
|
||
"taskDetail.updateFailed": "Failed to update task",
|
||
"taskList.activeTasks": "Active Tasks",
|
||
"taskList.all": "All tasks",
|
||
"taskList.assigneeSearch.empty": "No matching agent",
|
||
"taskList.assigneeSearch.placeholder": "Search agent...",
|
||
"taskList.breadcrumb.task": "Task",
|
||
"taskList.contextMenu.copyConfirm": "Copy",
|
||
"taskList.contextMenu.copyDescription": "Clone this task (and all its subtasks) into another workspace. Status resets to backlog.",
|
||
"taskList.contextMenu.copyFailed": "Failed to copy task",
|
||
"taskList.contextMenu.copyId": "Copy ID",
|
||
"taskList.contextMenu.copyIdSuccess": "ID copied",
|
||
"taskList.contextMenu.copyLink": "Copy Link",
|
||
"taskList.contextMenu.copyLinkSuccess": "Link copied",
|
||
"taskList.contextMenu.copySuccess": "Task copied",
|
||
"taskList.contextMenu.copyTitle": "Copy task",
|
||
"taskList.contextMenu.copyTo": "Copy to…",
|
||
"taskList.contextMenu.priority": "Priority",
|
||
"taskList.contextMenu.runNow": "Run now",
|
||
"taskList.contextMenu.status": "Status",
|
||
"taskList.contextMenu.transferConfirm": "Transfer",
|
||
"taskList.contextMenu.transferDescription": "Move this task (and all its subtasks) to another workspace. Identifiers will be re-assigned.",
|
||
"taskList.contextMenu.transferFailed": "Failed to transfer task",
|
||
"taskList.contextMenu.transferSuccess": "Task transferred",
|
||
"taskList.contextMenu.transferTitle": "Transfer task",
|
||
"taskList.contextMenu.transferTo": "Transfer to…",
|
||
"taskList.contextMenu.transferWarning": "Cross-workspace references like assigned agent and active topic will be cleared.",
|
||
"taskList.empty": "No tasks yet",
|
||
"taskList.emptyHero.greeting": "What should we tackle today?",
|
||
"taskList.emptyHero.subtitle": "Describe a task for your agent, or start from a template below.",
|
||
"taskList.emptyHero.templatesTitle": "Templates picked for you",
|
||
"taskList.form.grouping": "Grouping",
|
||
"taskList.form.orderCompletedByRecency": "Sort completed tasks by recency",
|
||
"taskList.form.ordering": "Ordering",
|
||
"taskList.form.showCompleted": "Show completed & canceled",
|
||
"taskList.form.subGrouping": "Sub-grouping",
|
||
"taskList.groupBy.assignee": "Assignee",
|
||
"taskList.groupBy.none": "No grouping",
|
||
"taskList.groupBy.priority": "Priority",
|
||
"taskList.groupBy.status": "Status",
|
||
"taskList.hiddenCompleted.count_one": "{{count}} task",
|
||
"taskList.hiddenCompleted.count_other": "{{count}} tasks",
|
||
"taskList.hiddenCompleted.show": "Show",
|
||
"taskList.hiddenCompleted.suffix": "hidden by display options",
|
||
"taskList.kanban.addTask": "Create task",
|
||
"taskList.kanban.backlog": "Backlog",
|
||
"taskList.kanban.canceled": "Canceled",
|
||
"taskList.kanban.done": "Done",
|
||
"taskList.kanban.emptyColumn": "No tasks",
|
||
"taskList.kanban.hiddenColumns": "Hidden columns",
|
||
"taskList.kanban.hideColumn": "Hide column",
|
||
"taskList.kanban.needsInput": "Pending review",
|
||
"taskList.kanban.running": "In progress",
|
||
"taskList.kanban.showColumn": "Show column",
|
||
"taskList.orderBy.assignee": "Assignee",
|
||
"taskList.orderBy.createdAt": "Created at",
|
||
"taskList.orderBy.priority": "Priority",
|
||
"taskList.orderBy.status": "Status",
|
||
"taskList.orderBy.title": "Title",
|
||
"taskList.orderBy.updatedAt": "Updated at",
|
||
"taskList.title": "Tasks",
|
||
"taskList.unassigned": "Unassigned",
|
||
"taskList.unassignedHint": "Lobe AI will run this task when no assignee is set",
|
||
"taskList.view.board": "Board",
|
||
"taskList.view.list": "List",
|
||
"taskList.viewAll": "View all",
|
||
"taskSchedule.advancedSettings": "Advanced settings",
|
||
"taskSchedule.clear": "Clear",
|
||
"taskSchedule.continuous": "Continuous",
|
||
"taskSchedule.enable": "Enable automation",
|
||
"taskSchedule.every": "Every",
|
||
"taskSchedule.frequency": "Frequency",
|
||
"taskSchedule.heading": "Automation",
|
||
"taskSchedule.hours": "Hours",
|
||
"taskSchedule.intervalLabel": "Run interval",
|
||
"taskSchedule.intervalSuffix": "each time",
|
||
"taskSchedule.intervalTab": "Heartbeat",
|
||
"taskSchedule.maxExecutions": "Max runs",
|
||
"taskSchedule.maxExecutionsPlaceholder": "Unlimited",
|
||
"taskSchedule.minutes": "Minutes",
|
||
"taskSchedule.nextRun": "Next run",
|
||
"taskSchedule.nextRun.format": "MMM D HH:mm",
|
||
"taskSchedule.scheduleType.daily": "Daily",
|
||
"taskSchedule.scheduleType.hourly": "Hourly",
|
||
"taskSchedule.scheduleType.weekly": "Weekly",
|
||
"taskSchedule.scheduler": "Scheduler",
|
||
"taskSchedule.schedulerTab": "Scheduled",
|
||
"taskSchedule.startScheduling": "Start scheduling",
|
||
"taskSchedule.summary.daily": "Daily at {{time}}",
|
||
"taskSchedule.summary.disabled": "Automation is off",
|
||
"taskSchedule.summary.everyNHours": "Every {{count}} hours",
|
||
"taskSchedule.summary.everyNHoursHalfPast": "Every {{count}} hours at half past",
|
||
"taskSchedule.summary.heartbeat": "Runs every {{interval}}",
|
||
"taskSchedule.summary.hourly": "Every hour",
|
||
"taskSchedule.summary.hourlyHalfPast": "Every hour at half past",
|
||
"taskSchedule.summary.weekly": "Every {{days}} at {{time}}",
|
||
"taskSchedule.tag.add": "Set schedule",
|
||
"taskSchedule.tag.every": "Every {{interval}}",
|
||
"taskSchedule.tag.heartbeat": "Heartbeat · {{every}}",
|
||
"taskSchedule.tag.schedule": "Schedule · {{schedule}}{{timezone}}",
|
||
"taskSchedule.time": "Time",
|
||
"taskSchedule.timezone": "Timezone",
|
||
"taskSchedule.timezoneSearchEmpty": "No matching timezone",
|
||
"taskSchedule.timezoneSearchPlaceholder": "Search timezone",
|
||
"taskSchedule.title": "Schedule",
|
||
"taskSchedule.unit.hour_one": "{{count}} hr",
|
||
"taskSchedule.unit.hour_other": "{{count}} hrs",
|
||
"taskSchedule.unit.minute_one": "{{count}} min",
|
||
"taskSchedule.unit.minute_other": "{{count}} mins",
|
||
"taskSchedule.unit.second_one": "{{count}} sec",
|
||
"taskSchedule.unit.second_other": "{{count}} secs",
|
||
"taskSchedule.weekday": "Weekday",
|
||
"taskSchedule.weekdays.fri": "Fri",
|
||
"taskSchedule.weekdays.mon": "Mon",
|
||
"taskSchedule.weekdays.sat": "Sat",
|
||
"taskSchedule.weekdays.sun": "Sun",
|
||
"taskSchedule.weekdays.thu": "Thu",
|
||
"taskSchedule.weekdays.tue": "Tue",
|
||
"taskSchedule.weekdays.wed": "Wed",
|
||
"thread.closeSubagentThread": "Hide Detail",
|
||
"thread.divider": "Subtopic",
|
||
"thread.openSubagentThread": "View Detail",
|
||
"thread.subagentMetrics.modelLabel": "Model",
|
||
"thread.subagentMetrics.tokens": "{{count}} tokens",
|
||
"thread.subagentMetrics.toolCalls_one": "{{count}} tool call",
|
||
"thread.subagentMetrics.toolCalls_other": "{{count}} tool calls",
|
||
"thread.subagentMetrics.toolsShort_one": "{{count}} tool",
|
||
"thread.subagentMetrics.toolsShort_other": "{{count}} tools",
|
||
"thread.subagentReadOnlyHint": "SubAgent conversations are read-only — execution is driven by the parent agent.",
|
||
"thread.threadMessageCount": "{{messageCount}} messages",
|
||
"thread.title": "Subtopic",
|
||
"todoProgress.allCompleted": "All tasks completed",
|
||
"todoProgress.title": "Tasks",
|
||
"toggleWideScreen.off": "Turn off widescreen mode",
|
||
"toggleWideScreen.on": "Turn on widescreen mode",
|
||
"tokenDetails.chats": "Chat Messages",
|
||
"tokenDetails.historySummary": "History Summary",
|
||
"tokenDetails.rest": "Remaining",
|
||
"tokenDetails.supervisor": "Group Host",
|
||
"tokenDetails.systemRole": "Role Settings",
|
||
"tokenDetails.title": "Context Details",
|
||
"tokenDetails.tools": "Skill Settings",
|
||
"tokenDetails.total": "Total Available",
|
||
"tokenDetails.used": "Total Used",
|
||
"tokenTag.overload": "Exceeded Limit",
|
||
"tokenTag.remained": "Remaining",
|
||
"tokenTag.used": "Used",
|
||
"tool.intervention.approvalMode": "Approval Mode",
|
||
"tool.intervention.approve": "Approve",
|
||
"tool.intervention.mode.allowList": "Allow List",
|
||
"tool.intervention.mode.allowListDesc": "Only automatically execute approved tools",
|
||
"tool.intervention.mode.autoRun": "Auto Approve",
|
||
"tool.intervention.mode.autoRunDesc": "Automatically approve all tool executions",
|
||
"tool.intervention.mode.manual": "Manual",
|
||
"tool.intervention.mode.manualDesc": "Manual approval required for each invocation",
|
||
"tool.intervention.onboarding.agentIdentity.editHint": "You can edit the name or avatar directly below.",
|
||
"tool.intervention.onboarding.agentIdentity.namePlaceholder": "Agent name",
|
||
"tool.intervention.onboarding.agentIdentity.title": "I'll update my name and avatar",
|
||
"tool.intervention.onboarding.agentIdentity.titleAvatarOnly": "I'll update my avatar",
|
||
"tool.intervention.onboarding.agentIdentity.titleNameOnly": "I'll update my name",
|
||
"tool.intervention.onboarding.userProfile.applyHint": "These details will be saved to your profile after approval.",
|
||
"tool.intervention.onboarding.userProfile.description": "Approving this change updates your onboarding profile so the Agent can tailor future replies.",
|
||
"tool.intervention.onboarding.userProfile.eyebrow": "Onboarding approval",
|
||
"tool.intervention.onboarding.userProfile.fullName": "Full name",
|
||
"tool.intervention.onboarding.userProfile.responseLanguage": "Response language",
|
||
"tool.intervention.onboarding.userProfile.title": "Confirm your profile update",
|
||
"tool.intervention.optionApprove": "Approve",
|
||
"tool.intervention.pending": "Pending",
|
||
"tool.intervention.reject": "Reject",
|
||
"tool.intervention.rejectOnly": "Reject",
|
||
"tool.intervention.rejectReasonPlaceholder": "Tell the agent what you'd like instead",
|
||
"tool.intervention.rejectedWithReason": "This Skill call was rejected: {{reason}}",
|
||
"tool.intervention.rememberSimilar": "Don't ask again for similar actions",
|
||
"tool.intervention.scrollToIntervention": "View",
|
||
"tool.intervention.submit": "Submit",
|
||
"tool.intervention.toolAbort": "You canceled this Skill call",
|
||
"tool.intervention.toolRejected": "This Skill call was rejected",
|
||
"tool.intervention.viewParameters": "View parameters ({{count}})",
|
||
"toolAuth.authorize": "Authorize",
|
||
"toolAuth.authorizing": "Authorizing...",
|
||
"toolAuth.hint": "When Skills aren't authorized or configured, the related Skills won't work and the Agent's capabilities may be limited or run into errors.",
|
||
"toolAuth.signIn": "Sign In",
|
||
"toolAuth.title": "Authorize Skills for this Agent",
|
||
"topic.checkOpenNewTopic": "Start a new topic?",
|
||
"topic.checkSaveCurrentMessages": "Do you want to save the current conversation as a topic?",
|
||
"topic.defaultTitle": "Untitled Topic",
|
||
"topic.openNewTopic": "Open New Topic",
|
||
"topic.recent": "Recent Topics",
|
||
"topic.saveCurrentMessages": "Save current session as topic",
|
||
"topic.viewAll": "View All Topics",
|
||
"translate.action": "Translate",
|
||
"translate.clear": "Clear Translation",
|
||
"tts.action": "Text-to-Speech",
|
||
"tts.clear": "Clear Speech",
|
||
"untitledAgent": "Untitled Agent",
|
||
"untitledGroup": "Untitled Group",
|
||
"updateAgent": "Update Agent Information",
|
||
"upload.action.fileOrImageUpload": "Upload File or Image",
|
||
"upload.action.fileUpload": "Upload File",
|
||
"upload.action.folderUpload": "Upload Folder",
|
||
"upload.action.imageDisabled": "The current model does not support visual recognition. Please switch models to use this feature.",
|
||
"upload.action.imageUpload": "Upload Image",
|
||
"upload.action.tooltip": "Upload",
|
||
"upload.clientMode.actionFiletip": "Upload File",
|
||
"upload.clientMode.actionTooltip": "Upload",
|
||
"upload.clientMode.disabled": "The current model does not support visual recognition and file analysis. Please switch models to use this feature.",
|
||
"upload.clientMode.fileNotSupported": "File uploads are not supported in browser mode; only images are allowed.",
|
||
"upload.clientMode.visionNotSupported": "The current model does not support visual recognition. Please switch to a different model to use this feature.",
|
||
"upload.preview.prepareTasks": "Preparing chunks...",
|
||
"upload.preview.status.pending": "Preparing to upload...",
|
||
"upload.preview.status.processing": "Processing file...",
|
||
"upload.validation.unsupportedFileType": "Unsupported file type: {{files}}. Supported images: JPG, PNG, GIF, WebP. Supported documents include PDF, Word, Excel, PowerPoint, Markdown, text, CSV, JSON, and code files.",
|
||
"upload.validation.videoSizeExceeded": "Video file size must not exceed {{maxSize}}. Current file size is {{actualSize}}.",
|
||
"viewMode.fullWidth": "Full Width",
|
||
"viewMode.normal": "Standard",
|
||
"viewMode.wideScreen": "Widescreen",
|
||
"viewSwitcher.chat": "Chat",
|
||
"viewSwitcher.page": "Page",
|
||
"viewSwitcher.task": "Task",
|
||
"workflow.awaitingConfirmation": "Awaiting your confirmation",
|
||
"workflow.collapse": "Collapse",
|
||
"workflow.expandFull": "Expand fully",
|
||
"workflow.failedSuffix": "(failed)",
|
||
"workflow.summaryFailed": "{{count}} failed",
|
||
"workflow.summaryMoreTools": "{{count}} tool kinds",
|
||
"workflow.summaryTotalCalls": "{{count}} calls total",
|
||
"workflow.thoughtForDuration": "Thought for {{duration}}",
|
||
"workflow.toolDisplayName.activateDevice": "Activated device",
|
||
"workflow.toolDisplayName.activateSkill": "Activated a skill",
|
||
"workflow.toolDisplayName.activateTools": "Activated tools",
|
||
"workflow.toolDisplayName.addActivityMemory": "Saved memory",
|
||
"workflow.toolDisplayName.addContextMemory": "Saved memory",
|
||
"workflow.toolDisplayName.addExperienceMemory": "Saved memory",
|
||
"workflow.toolDisplayName.addIdentityMemory": "Saved memory",
|
||
"workflow.toolDisplayName.addPreferenceMemory": "Saved memory",
|
||
"workflow.toolDisplayName.calculate": "Calculated",
|
||
"workflow.toolDisplayName.callAgent": "Called an agent",
|
||
"workflow.toolDisplayName.callMcpTool": "Called MCP tool",
|
||
"workflow.toolDisplayName.callSubAgent": "Called a sub-agent",
|
||
"workflow.toolDisplayName.clearTodos": "Cleared todos",
|
||
"workflow.toolDisplayName.copyDocument": "Copied a document",
|
||
"workflow.toolDisplayName.crawlMultiPages": "Crawled pages",
|
||
"workflow.toolDisplayName.crawlSinglePage": "Crawled a page",
|
||
"workflow.toolDisplayName.createAgent": "Created an agent",
|
||
"workflow.toolDisplayName.createDocument": "Created a document",
|
||
"workflow.toolDisplayName.createPlan": "Created a plan",
|
||
"workflow.toolDisplayName.createTodos": "Created todos",
|
||
"workflow.toolDisplayName.deleteAgent": "Deleted an agent",
|
||
"workflow.toolDisplayName.deleteDocument": "Deleted a document",
|
||
"workflow.toolDisplayName.editLocalFile": "Edited a file",
|
||
"workflow.toolDisplayName.editTitle": "Edited title",
|
||
"workflow.toolDisplayName.evaluate": "Evaluated expression",
|
||
"workflow.toolDisplayName.execScript": "Executed a script",
|
||
"workflow.toolDisplayName.execute": "Executed calculation",
|
||
"workflow.toolDisplayName.executeCode": "Executed code",
|
||
"workflow.toolDisplayName.finishOnboarding": "Finished onboarding",
|
||
"workflow.toolDisplayName.getCommandOutput": "Read command output",
|
||
"workflow.toolDisplayName.getDocument": "Read a document",
|
||
"workflow.toolDisplayName.getPageContent": "Read Page content",
|
||
"workflow.toolDisplayName.getTopicContext": "Read topic context",
|
||
"workflow.toolDisplayName.globLocalFiles": "Searched files",
|
||
"workflow.toolDisplayName.grepContent": "Searched content",
|
||
"workflow.toolDisplayName.importFromMarket": "Imported from market",
|
||
"workflow.toolDisplayName.importSkill": "Imported a skill",
|
||
"workflow.toolDisplayName.initPage": "Initialized Page",
|
||
"workflow.toolDisplayName.killCommand": "Stopped a command",
|
||
"workflow.toolDisplayName.listDocuments": "Listed documents",
|
||
"workflow.toolDisplayName.listLocalFiles": "Listed files",
|
||
"workflow.toolDisplayName.listOnlineDevices": "Listed devices",
|
||
"workflow.toolDisplayName.modifyNodes": "Modified Page",
|
||
"workflow.toolDisplayName.moveLocalFiles": "Moved files",
|
||
"workflow.toolDisplayName.readDocument": "Read a document",
|
||
"workflow.toolDisplayName.readKnowledge": "Read knowledge",
|
||
"workflow.toolDisplayName.readLocalFile": "Read a file",
|
||
"workflow.toolDisplayName.removeDocument": "Removed a document",
|
||
"workflow.toolDisplayName.removeIdentityMemory": "Removed memory",
|
||
"workflow.toolDisplayName.renameDocument": "Renamed a document",
|
||
"workflow.toolDisplayName.renameLocalFile": "Renamed a file",
|
||
"workflow.toolDisplayName.replaceDocumentContent": "Replaced document content",
|
||
"workflow.toolDisplayName.replaceText": "Replaced text",
|
||
"workflow.toolDisplayName.runCommand": "Ran a command",
|
||
"workflow.toolDisplayName.saveUserQuestion": "Recorded info",
|
||
"workflow.toolDisplayName.search": "Searched the web",
|
||
"workflow.toolDisplayName.searchAgent": "Searched agents",
|
||
"workflow.toolDisplayName.searchKnowledgeBase": "Searched knowledge base",
|
||
"workflow.toolDisplayName.searchLocalFiles": "Searched files",
|
||
"workflow.toolDisplayName.searchSkill": "Searched skills",
|
||
"workflow.toolDisplayName.searchUserMemory": "Searched memory",
|
||
"workflow.toolDisplayName.showAgentMarketplace": "Assembled agent team",
|
||
"workflow.toolDisplayName.solve": "Solved equation",
|
||
"workflow.toolDisplayName.submitAgentPick": "Picked agents",
|
||
"workflow.toolDisplayName.updateAgent": "Updated an agent",
|
||
"workflow.toolDisplayName.updateDocument": "Updated a document",
|
||
"workflow.toolDisplayName.updateIdentityMemory": "Updated memory",
|
||
"workflow.toolDisplayName.updateLoadRule": "Updated load rule",
|
||
"workflow.toolDisplayName.updatePlan": "Updated plan",
|
||
"workflow.toolDisplayName.updateTodos": "Updated todos",
|
||
"workflow.toolDisplayName.writeDocument": "Wrote a document",
|
||
"workflow.toolDisplayName.writeLocalFile": "Wrote a file",
|
||
"workflow.working": "Working...",
|
||
"workingPanel.agentDocuments": "Agent Documents",
|
||
"workingPanel.documents.close": "Close",
|
||
"workingPanel.documents.discard": "Discard",
|
||
"workingPanel.documents.edit": "Edit",
|
||
"workingPanel.documents.error": "Failed to load document",
|
||
"workingPanel.documents.loading": "Loading document...",
|
||
"workingPanel.documents.preview": "Preview",
|
||
"workingPanel.documents.save": "Save",
|
||
"workingPanel.documents.saved": "All changes saved",
|
||
"workingPanel.documents.title": "Document",
|
||
"workingPanel.documents.unsaved": "Unsaved changes",
|
||
"workingPanel.files.copyAbsolutePath": "Copy Path",
|
||
"workingPanel.files.copyRelativePath": "Copy Relative Path",
|
||
"workingPanel.files.count_one": "{{count}} file",
|
||
"workingPanel.files.count_other": "{{count}} files",
|
||
"workingPanel.files.empty": "No files in this workspace",
|
||
"workingPanel.files.open": "Open File",
|
||
"workingPanel.files.refresh": "Refresh",
|
||
"workingPanel.files.showInReview": "Show in Review",
|
||
"workingPanel.files.showInSystem": "Reveal in Folder",
|
||
"workingPanel.files.title": "Files",
|
||
"workingPanel.localFile.binary": "Binary file — preview unavailable",
|
||
"workingPanel.localFile.close": "Close",
|
||
"workingPanel.localFile.closeLeft": "Close to the Left",
|
||
"workingPanel.localFile.closeOther": "Close Others",
|
||
"workingPanel.localFile.closeRight": "Close to the Right",
|
||
"workingPanel.localFile.error": "Couldn't load this file",
|
||
"workingPanel.localFile.preview.raw": "Raw",
|
||
"workingPanel.localFile.preview.reload": "Reload preview",
|
||
"workingPanel.localFile.preview.render": "Preview",
|
||
"workingPanel.localFile.preview.source": "Source",
|
||
"workingPanel.localFile.truncated": "File preview truncated to {{limit}} characters",
|
||
"workingPanel.progress": "Progress",
|
||
"workingPanel.progress.allCompleted": "All tasks completed",
|
||
"workingPanel.resources": "Resources",
|
||
"workingPanel.resources.deleteConfirm": "This action cannot be undone.",
|
||
"workingPanel.resources.deleteError": "Failed to delete document",
|
||
"workingPanel.resources.deleteSuccess": "Document deleted",
|
||
"workingPanel.resources.deleteTitle": "Delete document?",
|
||
"workingPanel.resources.deleteTitleMulti": "Delete {{count}} items?",
|
||
"workingPanel.resources.empty": "No webpages. Webpages crawled in this agent will show up here.",
|
||
"workingPanel.resources.error": "Failed to load resources",
|
||
"workingPanel.resources.filter.documents": "Documents",
|
||
"workingPanel.resources.filter.skills": "Skills",
|
||
"workingPanel.resources.filter.web": "Web",
|
||
"workingPanel.resources.loading": "Loading resources...",
|
||
"workingPanel.resources.previewError": "Failed to load preview",
|
||
"workingPanel.resources.previewLoading": "Loading preview...",
|
||
"workingPanel.resources.renameEmpty": "Title cannot be empty",
|
||
"workingPanel.resources.renameError": "Failed to rename document",
|
||
"workingPanel.resources.renameSuccess": "Document renamed",
|
||
"workingPanel.resources.tree.createError": "Failed to create",
|
||
"workingPanel.resources.tree.deleteSelected": "Delete selected ({{count}})",
|
||
"workingPanel.resources.tree.moveError": "Failed to move",
|
||
"workingPanel.resources.tree.newDocument": "New document",
|
||
"workingPanel.resources.tree.newFolder": "New folder",
|
||
"workingPanel.resources.tree.parentMissing": "Parent folder is unavailable",
|
||
"workingPanel.resources.tree.rename": "Rename",
|
||
"workingPanel.resources.tree.untitledDocument": "Untitled document",
|
||
"workingPanel.resources.tree.untitledFolder": "Untitled folder",
|
||
"workingPanel.resources.updatedAt": "Updated {{time}}",
|
||
"workingPanel.resources.viewMode.list": "List view",
|
||
"workingPanel.resources.viewMode.tree": "Tree view",
|
||
"workingPanel.review.baseRef.default": "default",
|
||
"workingPanel.review.baseRef.loading": "Loading branches…",
|
||
"workingPanel.review.baseRef.reset": "Reset to default branch",
|
||
"workingPanel.review.baseRef.unresolved": "Pick a base branch",
|
||
"workingPanel.review.binary": "Binary file — diff not shown",
|
||
"workingPanel.review.collapseAll": "Collapse all",
|
||
"workingPanel.review.copied": "Path copied",
|
||
"workingPanel.review.copyPath": "Copy file path",
|
||
"workingPanel.review.empty": "No working tree changes",
|
||
"workingPanel.review.empty.branch": "No changes vs {{baseRef}}",
|
||
"workingPanel.review.empty.noBaseRef": "Couldn't determine the remote default branch. Run `git remote set-head origin --auto` in your terminal.",
|
||
"workingPanel.review.error": "Couldn't load this file's diff",
|
||
"workingPanel.review.expandAll": "Expand all",
|
||
"workingPanel.review.group.collapseDiffs": "Collapse all diffs in this group",
|
||
"workingPanel.review.group.expandDiffs": "Expand all diffs in this group",
|
||
"workingPanel.review.group.fileCount": "{{count}} files",
|
||
"workingPanel.review.group.submoduleClean": "No internal changes",
|
||
"workingPanel.review.mode.branch": "Branch",
|
||
"workingPanel.review.mode.unstaged": "Unstaged",
|
||
"workingPanel.review.more": "More options",
|
||
"workingPanel.review.refresh": "Refresh",
|
||
"workingPanel.review.revealInTree": "Reveal in tree",
|
||
"workingPanel.review.revert": "Discard changes",
|
||
"workingPanel.review.revert.confirm.cancel": "Cancel",
|
||
"workingPanel.review.revert.confirm.description": "Working tree changes to {{filePath}} will be permanently discarded. Untracked files are deleted from disk.",
|
||
"workingPanel.review.revert.confirm.ok": "Discard",
|
||
"workingPanel.review.revert.confirm.title": "Discard changes to this file?",
|
||
"workingPanel.review.revert.failed": "Couldn't discard changes: {{error}}",
|
||
"workingPanel.review.revert.success": "Discarded changes to {{filePath}}",
|
||
"workingPanel.review.textDiff.disable": "Disable inline text diff",
|
||
"workingPanel.review.textDiff.enable": "Enable inline text diff",
|
||
"workingPanel.review.title": "Review",
|
||
"workingPanel.review.tooLarge": "File is too large to diff inline",
|
||
"workingPanel.review.unstaged": "Unstaged",
|
||
"workingPanel.review.viewMode.split": "Switch to split view",
|
||
"workingPanel.review.viewMode.unified": "Switch to unified view",
|
||
"workingPanel.review.wordWrap.disable": "Disable word wrap",
|
||
"workingPanel.review.wordWrap.enable": "Enable word wrap",
|
||
"workingPanel.skills.empty": "No skills available",
|
||
"workingPanel.skills.section.agent": "Agent skills",
|
||
"workingPanel.skills.section.project": "Project skills",
|
||
"workingPanel.skills.section.user": "User skills",
|
||
"workingPanel.skills.title": "Skills",
|
||
"workingPanel.space": "Space",
|
||
"workingPanel.title": "Working Panel",
|
||
"you": "You",
|
||
"zenMode": "Zen Mode"
|
||
}
|