export default {
  '_cloud.officialProvider': '{{name}} Official Model Service',
  'about.title': 'About',
  'agentImport.action': 'Copy to Workspace...',
  'agentImport.description':
    'Create an independent copy in a Workspace. The original Agent stays in your personal account.',
  'agentImport.failed': 'Failed to copy agent.',
  'agentImport.modal.configIncluded': 'Agent configuration is copied by default.',
  'agentImport.modal.confirm': 'Copy',
  'agentImport.modal.includeHistory': 'Copy topics and messages',
  'agentImport.modal.includeHistoryDesc':
    'Optional. Copies this agent’s conversation history into the new agent.',
  'agentImport.modal.knowledgeNotice': 'Knowledge bindings and files are not copied yet.',
  'agentImport.success': 'Agent copied to {{name}}.',
  'agentImport.title': 'Copy to Workspace',
  'accountDeletion.cancelButton': 'Cancel Deletion',
  'accountDeletion.cancelConfirmTitle': 'Cancel account deletion request?',
  'accountDeletion.cancelFailed': 'Failed to cancel deletion request',
  'accountDeletion.cancelSuccess': 'Deletion request cancelled',
  'accountDeletion.confirmCheckbox':
    'I have read and understood the above, and confirm to proceed with account deletion',
  'accountDeletion.confirmContent':
    'After submission, you will enter a <0>72-hour</0> cooling-off period during which you can cancel at any time. Once the period ends, your account data will be permanently deleted, unpaid invoices will be canceled immediately, and paid fees will not be refunded. Your registration and deletion records will be retained for compliance purposes.',
  'accountDeletion.confirmOk': 'Delete Account',
  'accountDeletion.confirmRequired': 'Please confirm you understand the consequences',
  'accountDeletion.confirmTitle': 'Delete Account?',
  'accountDeletion.desc':
    'Permanently delete your account and all associated data. This action cannot be undone.',
  'accountDeletion.pendingDesc': 'Your account is scheduled for deletion',
  'accountDeletion.pendingMessage': 'Your account will be deleted in {{hours}} hours',
  'accountDeletion.reasonPlaceholder': 'Please tell us why you want to delete your account...',
  'accountDeletion.reasonRequired': 'Please provide a reason for deletion',
  'accountDeletion.requestButton': 'Request Account Deletion',
  'accountDeletion.requestFailed': 'Failed to request account deletion',
  'accountDeletion.requestSuccess': 'Deletion request submitted',
  'accountDeletion.sectionTitle': 'Account Deletion',
  'accountDeletion.title': 'Delete Account',
  'advancedSettings': 'Advanced Settings',
  'agentCronJobs.addJob': 'Add Scheduled Task',
  'agentCronJobs.clearTopics': 'Clear Topics',
  'agentCronJobs.clearTopicsFailed': 'Failed to clear topics',
  'agentCronJobs.confirmClearTopics': 'Are you sure you want to clear {{count}} topics?',
  'agentCronJobs.confirmDelete': 'Are you sure you want to delete this scheduled task?',
  'agentCronJobs.confirmDeleteCronJob':
    'Are you sure you want to delete this scheduled task? All associated topics will also be deleted.',
  'agentCronJobs.content': 'Task Content',
  'agentCronJobs.create': 'Create',
  'agentCronJobs.createSuccess': 'Scheduled task created successfully',
  'agentCronJobs.deleteCronJob': 'Delete Scheduled Task',
  'agentCronJobs.deleteFailed': 'Failed to delete scheduled task',
  'agentCronJobs.deleteJob': 'Delete Task',
  'agentCronJobs.deleteSuccess': 'Scheduled task deleted successfully',
  'agentCronJobs.description': 'Automate your agent with scheduled executions',
  'agentCronJobs.disable': 'Disable',
  'agentCronJobs.editJob': 'Edit Scheduled Task',
  'agentCronJobs.empty.description': 'Create your first scheduled task to automate your agent',
  'agentCronJobs.empty.title': 'No scheduled tasks yet',
  'agentCronJobs.enable': 'Enable',
  'agentCronJobs.form.at': 'at',
  'agentCronJobs.form.content.placeholder': 'Enter the prompt or instruction for the agent',
  'agentCronJobs.form.every': 'Every',
  'agentCronJobs.form.frequency': 'Frequency',
  'agentCronJobs.form.hours': 'hour(s)',
  'agentCronJobs.form.maxExecutions': 'Stop after',
  'agentCronJobs.form.maxExecutions.placeholder': 'Leave empty for unlimited',
  'agentCronJobs.form.name.placeholder': 'Enter task name',
  'agentCronJobs.form.time': 'Time',
  'agentCronJobs.form.timeRange.end': 'End Time',
  'agentCronJobs.form.timeRange.start': 'Start Time',
  'agentCronJobs.form.times': 'times',
  'agentCronJobs.form.timezone': 'Timezone',
  'agentCronJobs.form.unlimited': 'Run continuously',
  'agentCronJobs.form.validation.contentRequired': 'Task content is required',
  'agentCronJobs.form.validation.invalidTimeRange': 'Start time must be before end time',
  'agentCronJobs.form.validation.nameRequired': 'Task name is required',
  'agentCronJobs.interval.12hours': 'Every 12 hours',
  'agentCronJobs.interval.1hour': 'Every hour',
  'agentCronJobs.interval.30min': 'Every 30 minutes',
  'agentCronJobs.interval.6hours': 'Every 6 hours',
  'agentCronJobs.interval.daily': 'Daily',
  'agentCronJobs.interval.weekly': 'Weekly',
  'agentCronJobs.lastExecuted': 'Last Executed',
  'agentCronJobs.maxExecutions': 'Max Executions',
  'agentCronJobs.name': 'Task Name',
  'agentCronJobs.never': 'Never',
  'agentCronJobs.noExecutionResults': 'No execution results',
  'agentCronJobs.remainingExecutions': 'Remaining: {{count}}',
  'agentCronJobs.save': 'Save',
  'agentCronJobs.saveAsNew': 'Save as New',
  'agentCronJobs.schedule': 'Schedule',
  'agentCronJobs.scheduleType.daily': 'Daily',
  'agentCronJobs.scheduleType.hourly': 'Hourly',
  'agentCronJobs.scheduleType.weekly': 'Weekly',
  'agentCronJobs.status.depleted': 'Depleted',
  'agentCronJobs.status.disabled': 'Disabled',
  'agentCronJobs.status.enabled': 'Enabled',
  'agentCronJobs.timeRange': 'Time Range',
  'agentCronJobs.title': 'Scheduled Tasks',
  'agentCronJobs.unlimited': 'Unlimited',
  'agentCronJobs.unnamedTask': 'Unnamed Task',
  'agentCronJobs.updateSuccess': 'Scheduled task updated successfully',
  'agentCronJobs.weekday.friday': 'Friday',
  'agentCronJobs.weekday.monday': 'Monday',
  'agentCronJobs.weekday.saturday': 'Saturday',
  'agentCronJobs.weekday.short.friday': 'Fri',
  'agentCronJobs.weekday.short.monday': 'Mon',
  'agentCronJobs.weekday.short.saturday': 'Sat',
  'agentCronJobs.weekday.short.sunday': 'Sun',
  'agentCronJobs.weekday.short.thursday': 'Thu',
  'agentCronJobs.weekday.short.tuesday': 'Tue',
  'agentCronJobs.weekday.short.wednesday': 'Wed',
  'agentCronJobs.weekday.sunday': 'Sunday',
  'agentCronJobs.weekday.thursday': 'Thursday',
  'agentCronJobs.weekday.tuesday': 'Tuesday',
  'agentCronJobs.weekday.wednesday': 'Wednesday',
  'agentCronJobs.weekdays': 'Weekdays',
  'agentCronJobs.weekdays.fri': 'Fri',
  'agentCronJobs.weekdays.mon': 'Mon',
  'agentCronJobs.weekdays.sat': 'Sat',
  'agentCronJobs.weekdays.sun': 'Sun',
  'agentCronJobs.weekdays.thu': 'Thu',
  'agentCronJobs.weekdays.tue': 'Tue',
  'agentCronJobs.weekdays.wed': 'Wed',
  'agentInfoDescription.basic.avatar': 'Avatar',
  'agentInfoDescription.basic.description': 'Description',
  'agentInfoDescription.basic.name': 'Name',
  'agentInfoDescription.basic.tags': 'Tags',
  'agentInfoDescription.basic.title': 'Agent info',
  'agentInfoDescription.chat.enableHistoryCount': 'Enable Message History Count',
  'agentInfoDescription.chat.historyCount': 'Message History Count',
  'agentInfoDescription.chat.no': 'No',
  'agentInfoDescription.chat.searchMode': 'Search Mode',
  'agentInfoDescription.chat.title': 'Chat Preferences',
  'agentInfoDescription.chat.yes': 'Yes',
  'agentInfoDescription.model.maxTokens': 'Max Token Count',
  'agentInfoDescription.model.model': 'Model',
  'agentInfoDescription.model.provider': 'Provider',
  'agentInfoDescription.model.temperature': 'Temperature',
  'agentInfoDescription.model.title': 'Model Settings',
  'agentInfoDescription.model.topP': 'Top P Value',
  'agentInfoDescription.plugins.count': 'Skill Settings ({{count}})',
  'agentInfoDescription.plugins.empty': 'No Skills installed yet',
  'agentInfoDescription.plugins.title': 'Installed Skills',
  'agentInfoDescription.role.systemRole': 'Agent Profile',
  'agentInfoDescription.role.title': 'Agent Profile',
  'agentInfoDescription.value.unset': 'Not Set',

  'agentInfoDescription.value.untitled': 'Untitled Agent',
  'agentSkillDetail.addedAt': 'Added',
  'agentSkillDetail.publishedAt': 'Published',
  'agentSkillDetail.repository': 'GitHub Repository',
  'agentSkillDetail.skillContent': 'Skill Content',
  'agentSkillDetail.sourceUrl': 'Skill Import Source',
  'agentSkillDetail.updatedAt': 'Updated',
  'agentSkillEdit.descriptionDesc':
    'A brief summary of what the skill does, helping the agent understand when to use it',
  'agentSkillEdit.fileReadonly':
    'This file is read-only. Only skill description and instructions can be edited.',
  'agentSkillEdit.instructions': 'Instructions',
  'agentSkillEdit.instructionsDesc':
    'The core instructions in Markdown that define the skill behavior and workflow',
  'agentSkillEdit.instructionsPlaceholder': 'Enter the skill instructions in Markdown format...',
  'agentSkillEdit.nameDesc': 'The unique identifier for this skill, not editable after creation',
  'agentSkillEdit.saveSuccess': 'Skill updated successfully',
  'agentSkillEdit.title': 'Skill Settings',
  'agentSkillItem.deleteConfirm.desc':
    'Are you sure you want to delete the agent skill "{{name}}"? This action cannot be undone.',
  'agentSkillItem.deleteConfirm.title': 'Delete Agent Skill',
  'agentSkillModal.content': 'Skill Content',
  'agentSkillModal.contentPlaceholder': 'Enter skill content in Markdown format...',
  'agentSkillModal.description': 'Description',
  'agentSkillModal.descriptionPlaceholder': 'Briefly describe this skill',
  'agentSkillModal.github.desc':
    'Paste the URL of a skill directory from a public GitHub repository. The directory must contain a SKILL.md file.',
  'agentSkillModal.github.title': 'Import from GitHub',
  'agentSkillModal.github.urlPlaceholder':
    'https://github.com/username/repo/tree/main/skills/my-skill',
  'agentSkillModal.importError': 'Import failed: {{error}}',
  'agentSkillModal.importSuccess': 'Agent Skill imported successfully',
  'agentSkillModal.upload.desc': 'Upload a local .zip or .skill file to install.',
  'agentSkillModal.upload.dragText': 'Drag and drop or click to upload',
  'agentSkillModal.upload.requirementSkillMd':
    'SKILL.md contains skill name and description in YAML format',
  'agentSkillModal.upload.requirementZip': '.zip or .skill file with SKILL.md in root directory',
  'agentSkillModal.upload.requirements': 'File Requirements',
  'agentSkillModal.upload.title': 'Upload Skill',
  'agentSkillModal.upload.uploading': 'Uploading...',
  'agentSkillModal.url.desc': 'Import a skill by providing a direct link to a SKILL.md file.',
  'agentSkillModal.url.title': 'Import from URL',
  'agentSkillModal.url.urlPlaceholder': 'https://example.com/path/to/SKILL.md',
  'agentSkillTag': 'Agent Skill',
  'agentTab.opening': 'Opening Settings',
  'agentTab.plugin': 'Skill Settings',
  'agentTab.prompt': 'Agent Profile',
  'agentTab.selfIteration': 'Self-Iteration',
  'agentTab.tts': 'Voice Service',
  'agentDocuments.createSuccess': 'Documents created from template',
  'agentDocuments.createWithTemplate': 'Create with this template',
  'agentDocuments.columns.actions': 'Actions',
  'agentDocuments.columns.document': 'Document',
  'agentDocuments.columns.template': 'Template',
  'agentDocuments.deleteConfirm': 'Delete this document?',
  'agentDocuments.deleteSuccess': 'Document deleted',
  'agentDocuments.desc':
    'Manage documents for this agent and create starter files from a template.',
  'agentDocuments.empty': 'No documents yet',
  'agentDocuments.overwriteConfirm.confirm': 'Overwrite and apply',
  'agentDocuments.overwriteConfirm.more': 'and {{count}} more',
  'agentDocuments.overwriteConfirm.summary':
    'Applying {{templateName}} will create {{createCount}} new documents and overwrite {{overwriteCount}} existing documents.',
  'agentDocuments.overwriteConfirm.title': 'Overwrite existing documents?',
  'agentDocuments.overwriteConfirm.warning':
    'Existing documents with the same filename will be replaced.',
  'agentDocuments.title': 'Agent Documents',
  'analytics.telemetry.desc': 'Help us improve {{appName}} with anonymous usage data',
  'analytics.telemetry.title': 'Send Anonymous Usage Data',
  'analytics.title': 'Analytics',

  // Heterogeneous agent CLI status (shown on agent profile page in integration mode)
  'heterogeneousStatus.account.label': 'Account',
  'heterogeneousStatus.auth.api': 'API',
  'heterogeneousStatus.auth.label': 'Auth Method',
  'heterogeneousStatus.auth.subscription': 'Subscription',
  'heterogeneousStatus.command.edit': 'Edit command',
  'heterogeneousStatus.command.label': 'Launch Command',
  'heterogeneousStatus.command.placeholder': 'Command name or absolute path',
  'heterogeneousStatus.detecting': 'Detecting {{name}} CLI...',
  'heterogeneousStatus.plan.label': 'Plan',
  'heterogeneousStatus.redetect': 'Re-detect',
  'heterogeneousStatus.unavailable': '{{name}} CLI not found. Please install or configure it.',

  // Heterogeneous agent — Cloud tab (web environment config)
  'heterogeneousStatus.cloud.tabLabel': 'Cloud',
  'heterogeneousStatus.cloud.tokenLabel': 'Claude Code Token',
  'heterogeneousStatus.cloud.tokenDesc':
    'Your Claude Code OAuth token. Saved securely to Credentials once submitted. Run `claude setup-token` in your terminal to generate one.',
  'heterogeneousStatus.cloud.tokenPlaceholder': 'Paste your OAuth token here',
  'heterogeneousStatus.cloud.tokenChange': 'Change',
  'heterogeneousStatus.cloud.tokenSave': 'Save',
  'heterogeneousStatus.cloud.tokenCancel': 'Cancel',
  'heterogeneousStatus.cloud.githubLabel': 'GitHub Connection',
  'heterogeneousStatus.cloud.githubDesc':
    'Select a GitHub OAuth credential to allow the sandbox to clone your private repositories.',
  'heterogeneousStatus.cloud.githubPlaceholder': 'Select a GitHub credential...',
  'heterogeneousStatus.cloud.githubNoCreds': 'No GitHub credentials found.',
  'heterogeneousStatus.cloud.manageCredentials': 'Manage Credentials →',
  'heterogeneousStatus.cloud.repoLabel': 'Repositories',
  'heterogeneousStatus.cloud.repoDesc':
    'Add repositories to the list. Switch the active one from the bottom bar in the chat view.',
  'heterogeneousStatus.cloud.repoPlaceholder': 'owner/repo or https://github.com/owner/repo',
  'heterogeneousStatus.cloud.repoAdd': 'Add',

  // Heterogeneous agent — Desktop tab
  'heterogeneousStatus.desktop.tabLabel': 'Desktop',

  // Connected agent profile config panel (openclaw / hermes)
  'platformAgentConfig.title': 'Connection',
  'platformAgentConfig.platform.label': 'Connected to',
  'platformAgentConfig.device.label': 'Bound Device',
  'platformAgentConfig.device.none': 'None',
  'platformAgentConfig.device.online': 'Online',
  'platformAgentConfig.device.offline': 'Offline',
  'platformAgentConfig.availability.label': 'Availability',
  'platformAgentConfig.availability.checking': 'Checking...',
  'platformAgentConfig.availability.available': 'Available',
  'platformAgentConfig.availability.notInstalled': 'Not installed',
  'platformAgentConfig.availability.noDevice': 'No device bound',
  'platformAgentConfig.changeDevice': 'Change Device',
  'platformAgentConfig.redetect': 'Re-detect',
  'platformAgentConfig.selectDevice': 'Select a device',

  'checking': 'Checking...',

  // Credentials Management
  'creds.actions.delete': 'Delete',
  'creds.actions.deleteConfirm.cancel': 'Cancel',
  'creds.actions.deleteConfirm.content':
    'This credential will be permanently deleted. This action cannot be undone.',
  'creds.actions.deleteConfirm.ok': 'Delete',
  'creds.actions.deleteConfirm.title': 'Delete Credential?',
  'creds.actions.edit': 'Edit',
  'creds.actions.view': 'View',
  'creds.create': 'New Credential',
  'creds.createModal.fillForm': 'Fill Details',
  'creds.createModal.selectType': 'Select Type',
  'creds.createModal.title': 'Create Credential',
  'creds.edit.title': 'Edit Credential',
  'creds.empty': 'No credentials configured yet',
  'creds.file.authRequired': 'Please sign in to the Market first',
  'creds.file.uploadFailed': 'File upload failed',
  'creds.file.uploadSuccess': 'File uploaded successfully',
  'creds.file.uploading': 'Uploading...',
  'creds.signIn': 'Sign In to Market',
  'creds.signInRequired': 'Please sign in to the Market to manage your credentials',
  'creds.form.addPair': 'Add Key-Value Pair',
  'creds.form.back': 'Back',
  'creds.form.cancel': 'Cancel',
  'creds.form.connectionRequired': 'Please select an OAuth connection',
  'creds.form.description': 'Description',
  'creds.form.descriptionPlaceholder': 'Optional description for this credential',
  'creds.form.file': 'Credential File',
  'creds.form.fileRequired': 'Please upload a file',
  'creds.form.key': 'Identifier',
  'creds.form.keyPattern': 'Identifier can only contain letters, numbers, underscores, and hyphens',
  'creds.form.keyRequired': 'Identifier is required',
  'creds.form.name': 'Display Name',
  'creds.form.nameRequired': 'Display name is required',
  'creds.form.save': 'Save',
  'creds.form.selectConnection': 'Select OAuth Connection',
  'creds.form.selectConnectionPlaceholder': 'Choose a connected account',
  'creds.form.selectedFile': 'Selected file',
  'creds.form.submit': 'Create',
  'creds.form.uploadDesc': 'Supports JSON, PEM, and other credential file formats',
  'creds.form.uploadHint': 'Click or drag file to upload',
  'creds.form.valuePlaceholder': 'Enter value',
  'creds.form.values': 'Key-Value Pairs',
  'creds.oauth.noConnections': 'No OAuth connections available. Please connect an account first.',
  'creds.table.actions': 'Actions',
  'creds.table.key': 'Identifier',
  'creds.table.lastUsed': 'Last Used',
  'creds.table.name': 'Name',
  'creds.table.neverUsed': 'Never',
  'creds.table.preview': 'Preview',
  'creds.table.type': 'Type',
  'creds.typeDesc.file': 'Upload credential files like service accounts or certificates',
  'creds.typeDesc.kv-env': 'Store API keys and tokens as environment variables',
  'creds.typeDesc.kv-header': 'Store authorization values as HTTP headers',
  'creds.typeDesc.oauth': 'Link to an existing OAuth connection',
  'creds.types.all': 'All',
  'creds.types.file': 'File',
  'creds.types.kv-env': 'Environment',
  'creds.types.kv-header': 'Header',
  'creds.types.oauth': 'OAuth',
  'creds.view.error': 'Failed to load credential',
  'creds.view.noValues': 'No Values',
  'creds.view.oauthNote': 'OAuth credentials are managed by the connected service.',
  'creds.view.title': 'View Credential: {{name}}',
  'creds.view.values': 'Credential Values',
  'creds.view.warning': 'These values are sensitive. Do not share them with others.',
  'devices.actions.edit': 'Edit',
  'devices.actions.remove': 'Remove',
  'devices.channel.connected': 'Connected {{time}}',
  'devices.currentBadge': 'This device',
  'devices.detail.addDir': 'Add directory',
  'devices.detail.connections': 'Connections',
  'devices.detail.noRecent': 'No recent directories',
  'devices.detail.recentDirs': 'Recent directories',
  'devices.edit.browse': 'Browse…',
  'devices.edit.cancel': 'Cancel',
  'devices.edit.defaultCwd': 'Default working directory',
  'devices.edit.defaultCwdPlaceholder': 'e.g. /Users/me/projects',
  'devices.edit.friendlyName': 'Name',
  'devices.edit.friendlyNamePlaceholder': 'A name to recognize this device',
  'devices.edit.save': 'Save',
  'devices.edit.title': 'Edit device',
  'devices.capabilities.commands.desc': 'Safely execute terminal commands in your environment.',
  'devices.capabilities.commands.title': 'Run commands',
  'devices.capabilities.files.desc':
    'Let agents directly access and organize the files on your computer.',
  'devices.capabilities.files.title': 'Read & write local files',
  'devices.capabilities.title': 'What you can do once connected',
  'devices.capabilities.tools.desc': 'Connect local tools to extend what agents can do.',
  'devices.capabilities.tools.title': 'Call system tools',
  'devices.connectWizard.button': 'Connect Device',
  'devices.connectWizard.cli.connectDesc':
    'Start the background daemon to keep the device online and listening for remote operations.',
  'devices.connectWizard.cli.connectTitle': 'Start the daemon',
  'devices.connectWizard.cli.installDesc':
    'Install the LobeHub CLI globally with your preferred package manager to enable device connectivity and management.',
  'devices.connectWizard.cli.installTitle': 'Install the CLI',
  'devices.connectWizard.cli.loginDesc':
    'Complete OAuth authorization in your browser to link the CLI with your account.',
  'devices.connectWizard.cli.loginTitle': 'Sign in',
  'devices.connectWizard.desktop.downloadLink': 'Download LobeHub Desktop',
  'devices.connectWizard.desktop.step1': 'Download the desktop app',
  'devices.connectWizard.desktop.step1Desc':
    'Visit the LobeHub downloads page and get the app for your operating system.',
  'devices.connectWizard.desktop.step2': 'Sign in and open the device gateway',
  'devices.connectWizard.desktop.step2Desc':
    "After signing in, click the device gateway icon in the top-right corner and confirm it's turned on.",
  'devices.connectWizard.desktop.step3': 'Your device appears automatically',
  'devices.connectWizard.desktop.step3Desc':
    "The desktop app registers itself as a device on launch — you'll see it in the list once connected.",
  'devices.connectWizard.footer':
    'Only device metadata is registered — your data is never accessed.',
  'devices.connectWizard.method.cli': 'Via CLI',
  'devices.connectWizard.method.desktop': 'Via Desktop',
  'devices.connectWizard.subtitle': 'Choose how to connect your computer to LobeHub.',
  'devices.connectWizard.title': 'Connect Device',
  'devices.empty.desc':
    'Once connected, LobeHub agents can read/write files, run commands, and call system tools directly on your computer.',
  'devices.empty.methodCli.desc':
    'Install the CLI in your terminal — great for servers or headless machines.',
  'devices.empty.methodCli.title': 'Connect via CLI',
  'devices.empty.methodDesktop.badge': 'Recommended',
  'devices.empty.methodDesktop.desc':
    'Download the desktop app, sign in, and your device connects automatically.',
  'devices.empty.methodDesktop.title': 'Connect via Desktop',
  'devices.empty.title': 'Connect your first device',
  'devices.fallbackBadge': 'Unstable identity',
  'devices.fallbackTooltip':
    "This device couldn't be identified by its machine ID, so reinstalling the app may create a duplicate entry.",
  'devices.lastSeen': 'Last active {{time}}',
  'devices.remove.confirm': 'Remove this device?',
  'devices.remove.confirmDesc':
    'This disconnects the device from your account. It does not sign the device out, and it can re-register on next connect.',
  'devices.status.offline': 'Offline',
  'devices.status.online': 'Online',
  'devices.title': 'My Devices',
  'devices.workingDirectory': 'Working dir: {{path}}',
  'checkingPermissions': 'Checking permissions...',
  'danger.clear.action': 'Clear Now',
  'danger.clear.confirm': "Clear all chat data? This can't be undone.",
  'danger.clear.desc':
    'Delete all data, including agents, files, messages, and skills. Your account will NOT be deleted.',
  'danger.clear.success': 'All conversation messages have been cleared',
  'danger.clear.title': 'Clear Data',
  'danger.reset.action': 'Reset Now',
  'danger.reset.confirm': 'Reset all settings?',
  'danger.reset.currentVersion': 'Current Version',
  'danger.reset.desc': 'Restore all settings to defaults. Your data wont be deleted.',
  'danger.reset.success': 'All settings have been reset',
  'danger.reset.title': 'Reset All Settings',
  'defaultAgent.model.desc': 'Model used when creating new agents',
  'defaultAgent.model.title': 'Model',
  'defaultAgent.title': 'New Agent',
  'group.aiConfig': 'Agent',
  'group.common': 'General',
  'group.profile': 'Account',
  'group.subscription': 'Plans',
  'group.system': 'System',
  'groupTab.chat': 'Chat',
  'groupTab.members': 'Members',
  'groupTab.meta': 'Basic Info',
  'header.desc': 'Preferences and model settings',
  'header.global': 'Global Settings',
  'header.group': 'Group Settings',
  'header.groupDesc': 'Manage group and chat preferences',
  'header.session': 'Agent Settings',
  'header.sessionDesc': 'Agent Profile and chat preferences',
  'header.sessionWithName': 'Agent Settings · {{name}}',
  'header.title': 'Settings',
  'hotkey.clearBinding': 'Clear binding',
  'hotkey.conflicts': 'Conflicts with existing hotkeys',
  'hotkey.errors.CONFLICT': 'Hotkey conflict: This hotkey is already assigned to another function',
  'hotkey.errors.INVALID_FORMAT':
    'Invalid hotkey format: Please use the correct format (e.g., CommandOrControl+E)',
  'hotkey.errors.INVALID_ID': 'Invalid hotkey ID',
  'hotkey.errors.NO_MODIFIER': 'Hotkey must include a modifier key (Ctrl, Alt, Shift, etc.)',
  'hotkey.errors.SYSTEM_OCCUPIED': 'Hotkey is occupied by the system or another application',
  'hotkey.errors.UNKNOWN': 'Update failed: Unknown error',
  'hotkey.group.conversation': 'Conversation',
  'hotkey.group.desktop': 'Desktop',
  'hotkey.group.essential': 'Essential',
  'hotkey.invalidCombination':
    'The hotkey must include at least one modifier key (Ctrl, Alt, Shift) and one regular key',
  'hotkey.record': 'Press a key to record the hotkey',
  'hotkey.reset': 'Reset to default hotkeys',
  'hotkey.title': 'Hotkeys',
  'hotkey.updateError': 'Failed to update hotkey: Network or system error',
  'hotkey.updateSuccess': 'Hotkey updated successfully',
  'llm.aesGcm':
    'Your keys and proxy address will be encrypted using the <1>AES-GCM</1> encryption algorithm',
  'llm.apiKey.desc': 'Please enter your {{name}} API Key',
  'llm.apiKey.placeholder': '{{name}} API Key',
  'llm.apiKey.title': 'API Key',
  'llm.checker.button': 'Check',
  'llm.checker.desc': 'Test if the API Key and proxy address are filled in correctly',
  'llm.checker.pass': 'Check Passed',
  'llm.checker.title': 'Connectivity Check',
  'llm.customModelCards.addNew': 'Create and add {{id}} model',
  'llm.customModelCards.config': 'Model Configuration',
  'llm.customModelCards.confirmDelete':
    'You are about to delete this custom model. Once deleted, it cannot be recovered. Please proceed with caution.',
  'llm.customModelCards.modelConfig.azureDeployName.extra':
    'The field actually requested in Azure OpenAI',
  'llm.customModelCards.modelConfig.azureDeployName.placeholder':
    'Enter the model deployment name in Azure',
  'llm.customModelCards.modelConfig.azureDeployName.title': 'Model Deployment Name',
  'llm.customModelCards.modelConfig.displayName.placeholder':
    'Enter the display name of the model, such as ChatGPT, GPT-4, etc.',
  'llm.customModelCards.modelConfig.displayName.title': 'Model Display Name',
  'llm.customModelCards.modelConfig.files.extra':
    'The current file upload implementation is merely a hack solution and is intended for personal experimentation only. Please wait for a complete file upload capability in future updates.',
  'llm.customModelCards.modelConfig.files.title': 'Support File Upload',
  'llm.customModelCards.modelConfig.functionCall.extra':
    'This only enables Skill calling in the app. Whether the model actually supports Skill calling depends on the model itself—please test it.',
  'llm.customModelCards.modelConfig.functionCall.title': 'Supports Skill calling',
  'llm.customModelCards.modelConfig.id.extra': 'Will be displayed as the model label',
  'llm.customModelCards.modelConfig.id.placeholder':
    'Enter the model ID, such as gpt-4-turbo-preview or claude-2.1',
  'llm.customModelCards.modelConfig.id.title': 'Model ID',
  'llm.customModelCards.modelConfig.modalTitle': 'Custom Model Configuration',
  'llm.customModelCards.modelConfig.tokens.title': 'Maximum Token Count',
  'llm.customModelCards.modelConfig.vision.extra':
    'This only enables image upload in the app. Whether the model supports vision depends on the model itself—please test it.',
  'llm.customModelCards.modelConfig.vision.title': 'Supports vision',
  'llm.fetchOnClient.desc': 'Send requests directly from the browser to improve latency.',
  'llm.fetchOnClient.title': 'Use client request mode',
  'llm.fetcher.clear': 'Clear fetched model',
  'llm.fetcher.fetch': 'Get Model List',
  'llm.fetcher.fetching': 'Fetching Model List...',
  'llm.fetcher.latestTime': 'Last Updated: {{time}}',
  'llm.fetcher.noLatestTime': 'No list available yet',
  'llm.helpDoc': 'Configuration Guide',
  'llm.modelList.desc':
    'Select the models to display in conversations. The selected models will be displayed in the model list.',
  'llm.modelList.placeholder': 'Please select a model from the list',
  'llm.modelList.title': 'Model List',
  'llm.modelList.total': '{{count}} models available in total',
  'llm.proxyUrl.desc': 'Must include http(s):// in addition to the default address',
  'llm.proxyUrl.title': 'API proxy URL',
  'llm.waitingForMore': 'More models are <1>planned to be added</1>, stay tuned',
  'llm.waitingForMoreLinkAriaLabel': 'Open the Provider request form',
  'marketPublish.status.underReview': 'Under Review',
  'memory.effort.desc': 'Control how aggressively the AI retrieves and updates memory.',
  'memory.effort.high': 'High — Proactive retrieval and updates',
  'memory.effort.level.high': 'High',
  'memory.effort.level.low': 'Low',
  'memory.effort.level.medium': 'Medium',
  'memory.effort.low': 'Low — Minimal memory operations',
  'memory.effort.medium': 'Medium — Balanced behavior',
  'memory.effort.title': 'Aggressiveness',
  'memory.enabled.desc':
    'Allow LobeHub to extract preferences and info from conversations and use them later. You can view, edit, or clear memory anytime.',
  'memory.enabled.title': 'Enable Memory',
  'memory.title': 'Memory Settings',
  'message.success': 'Update successful',
  'notification.enabled': 'Enabled',
  'notification.email.desc': 'Receive email notifications when important events occur',
  'notification.email.title': 'Email Notifications',
  'notification.inbox.desc': 'Show notifications in the in-app inbox',
  'notification.inbox.title': 'Inbox Notifications',
  'notification.push.desc':
    'Send push notifications to your mobile devices (LobeHub mobile app required)',
  'notification.push.title': 'Mobile Push Notifications',
  'notification.category.billing.title': 'Billing',
  'notification.category.generation.title': 'Generation',
  'notification.category.schedule.title': 'Scheduled tasks',
  'notification.category.workspace.title': 'Workspace',
  'notification.item.agent_cron_job_failed': 'Scheduled task failed',
  'notification.item.image_generation_completed': 'Image generation completed',
  'notification.item.storage_overage_cap_reached': 'Storage pay-as-you-go cap reached',
  'notification.item.video_generation_completed': 'Video generation completed',
  'notification.item.workspace_member_invited': 'Workspace invitation',
  'notification.item.workspace_member_joined': 'New member joined',
  'notification.item.workspace_member_removed': 'Removed from workspace',
  'notification.item.workspace_payment_failed': 'Renewal payment failed',
  'notification.item.workspace_payment_method_removed': 'Payment method removed',
  'notification.item.workspace_primary_ownership_transferred': 'Primary ownership transferred',
  'notification.item.workspace_subscription_expired': 'Subscription ended',
  'notification.title': 'Notification Channels',
  'myAgents.actions.cancel': 'Cancel',
  'myAgents.actions.confirmDeprecate': 'Confirm Deprecate',
  'myAgents.actions.deprecate': 'Deprecate Permanently',
  'myAgents.actions.deprecateConfirmContent':
    'After deprecation, this agent will be permanently removed from the market and cannot be republished. This action is irreversible, please proceed with caution.',
  'myAgents.actions.deprecateConfirmTitle': 'Confirm Deprecate Agent?',
  'myAgents.actions.deprecateError': 'Failed to deprecate agent',
  'myAgents.actions.deprecateLoading': 'Deprecating agent...',
  'myAgents.actions.deprecateSuccess': 'Agent deprecated',
  'myAgents.actions.edit': 'Edit Agent',
  'myAgents.actions.viewDetail': 'View Details',
  'myAgents.detail.category': 'Category',
  'myAgents.detail.description': 'Description',
  'myAgents.detail.identifier': 'Identifier',
  'myAgents.detail.title': 'Agent Details',
  'myAgents.empty.description': "You haven't published any agents to the market yet",
  'myAgents.empty.title': 'No Published Agents',
  'myAgents.errors.editFailed': 'Failed to edit agent, please try again later',
  'myAgents.errors.fetchFailed': 'Failed to fetch agent details',
  'myAgents.errors.notAuthenticated': 'Please sign in to your market account first',
  'myAgents.loginRequired.button': 'Sign in to Market',
  'myAgents.loginRequired.description':
    'Please sign in to your market account to view your published agents',
  'myAgents.loginRequired.title': 'Sign In Required',
  'myAgents.status.archived': 'Archived',
  'myAgents.status.deprecated': 'Deprecated',
  'myAgents.status.published': 'Published',
  'myAgents.status.unpublished': 'Unpublished',
  'myAgents.title': 'My Published Agents',
  'plugin.addMCPPlugin': 'Add MCP',
  'plugin.addTooltip': 'Custom Skills',
  'plugin.clearDeprecated': 'Remove Deprecated Skills',
  'plugin.empty': 'No Skills installed yet. Explore the <1>Skill Store</1> to get started.',
  'plugin.installStatus.deprecated': 'Uninstalled',
  'plugin.settings.hint': 'Please fill in the following configurations based on the description',
  'plugin.settings.title': '{{id}} Skill Configuration',
  'plugin.settings.tooltip': 'Skill Configuration',
  'plugin.store': 'Skill Store',
  'settingAgent.avatar.sizeExceeded': 'Image size exceeds 1MB limit, please choose a smaller image',
  'settingAgent.avatar.title': 'Avatar',
  'settingAgent.backgroundColor.title': 'Background Color',
  'settingAgent.description.desc': 'A brief introduction to your agent, not for character setting',
  'settingAgent.description.placeholder': 'Enter agent description',
  'settingAgent.description.title': 'Agent Description',
  'settingAgent.export.dialogTitle': 'Export Agent Profile',
  'settingAgent.export.enabledPlugins': 'Enabled Skills',
  'settingAgent.export.error': 'Failed to export the agent profile',
  'settingAgent.export.metadata': 'Metadata',
  'settingAgent.export.model': 'Model',
  'settingAgent.export.provider': 'Provider',
  'settingAgent.export.success': 'Agent profile exported successfully',
  'settingAgent.export.tags': 'Tags',
  'settingAgent.export.untitled': 'Untitled Agent',
  'settingAgent.export.untitledFileName': 'agent-profile',
  'settingAgent.name.placeholder': 'Enter agent name',
  'settingAgent.name.title': 'Name',
  'settingAgent.prompt.placeholder': 'Enter agent settings, press / to open the command menu',
  'settingAgent.prompt.templatePlaceholder':
    '#### Goal\n' +
    'Describe the main purpose and objective of this agent.\n\n' +
    '#### Skills\n' +
    '- List the key capabilities\n' +
    '- And specialized knowledge areas\n\n' +
    '#### Workflow\n' +
    '1. Step-by-step process\n' +
    '2. How the agent should approach tasks\n' +
    '3. Expected interactions with users\n\n' +
    '#### Constraints\n' +
    '- Important limitations to follow\n' +
    '- Guidelines for behavior',
  'settingAgent.prompt.title': 'Agent Profile',
  'settingAgent.submit': 'Update Agent',
  'settingAgent.tag.desc': 'Agent tags will be displayed in the Agent Community',
  'settingAgent.tag.placeholder': 'Enter tag',
  'settingAgent.tag.title': 'Tag',
  'settingAgent.title': 'Agent info',
  'settingAppearance.appTray.desc':
    'Show the LobeHub icon in the system tray or macOS menu bar. Disabling it also removes tray menu access.',
  'settingAppearance.appTray.title': 'Show App Tray',
  'settingAppearance.animationMode.agile': 'Agile',
  'settingAppearance.animationMode.desc':
    'Select the animation speed for application response actions',
  'settingAppearance.animationMode.disabled': 'Off',
  'settingAppearance.animationMode.elegant': 'Elegant',
  'settingAppearance.animationMode.title': 'Response Animation',
  'settingAppearance.contextMenuMode.default': 'Default',
  'settingAppearance.contextMenuMode.desc': 'Enable the right-click menu for some list items.',
  'settingAppearance.contextMenuMode.disabled': 'Disabled',
  'settingAppearance.contextMenuMode.title': 'Right-Click Menu Mode',
  'settingAppearance.desktop.title': 'Desktop',
  'settingAppearance.neutralColor.desc': 'Custom grayscale with different color tendencies',
  'settingAppearance.neutralColor.title': 'Neutral Color',
  'settingAppearance.noAnimation.desc': 'Disable all animation effects in the application',
  'settingAppearance.noAnimation.title': 'No Animation Mode',
  'settingAppearance.preview.title': 'Color Palette',
  'settingAppearance.primaryColor.desc': 'Custom theme color',
  'settingAppearance.primaryColor.title': 'Theme Color',
  'settingAppearance.title': 'Application Appearance',
  'settingChat.chatStyleType.title': 'Chat Window Style',
  'settingChat.chatStyleType.type.chat': 'Conversation Mode',
  'settingChat.chatStyleType.type.docs': 'Page Mode',
  'settingChat.compressThreshold.desc':
    'When the uncompressed history messages exceed this value, compression will be applied',
  'settingChat.compressThreshold.title': 'History Message Length Compression Threshold',
  'settingChat.enableAutoScrollOnStreaming.desc': 'Override global setting for this assistant',
  'settingChat.enableAutoScrollOnStreaming.title': 'Auto-scroll During AI Response',
  'settingChat.enableCompressHistory.title': 'Enable Automatic Summary of Chat History',
  'settingChat.enableFollowUpChips.desc':
    'After each reply, show one-click follow-up reply chips below the message. Requires the global Follow-up model to be configured.',
  'settingChat.enableFollowUpChips.notConfiguredHint':
    'Configure the global Follow-up model first to enable this.',
  'settingChat.enableFollowUpChips.title': 'Follow-up Suggestions',
  'settingChat.enableHistoryCount.alias': 'Unlimited',
  'settingChat.enableHistoryCount.limited': 'Include only {{number}} conversation messages',
  'settingChat.enableHistoryCount.setlimited': 'Set limited history messages',
  'settingChat.enableHistoryCount.title': 'Limit History Message Count',
  'settingChat.enableHistoryCount.unlimited': 'Unlimited history message count',
  'settingChat.enableStreaming.desc':
    'Enable streaming output to display responses in real-time. When disabled, only the complete response is shown.',
  'settingChat.enableStreaming.title': 'Enable Streaming Output',
  'settingChat.historyCount.desc': 'Number of historical messages carried with each request',
  'settingChat.historyCount.title': 'Attached History Message Count',
  'settingChat.inputTemplate.desc': "The user's latest message will be filled into this template",
  'settingChat.inputTemplate.placeholder':
    'Preprocessing template {{text}} will be replaced with real-time input information',
  'settingChat.inputTemplate.title': 'User Input Preprocessing',
  'settingChat.submit': 'Update Chat Preferences',
  'settingChat.title': 'Chat Settings',
  'settingChatAppearance.autoScrollOnStreaming.desc':
    'Automatically scroll to bottom when AI is generating response',
  'settingChatAppearance.autoScrollOnStreaming.title': 'Auto-scroll During AI Response',
  'settingChatAppearance.fontSize.desc': 'Font size of messages',
  'settingChatAppearance.fontSize.marks.normal': 'Standard',
  'settingChatAppearance.fontSize.title': 'Font Size',
  'settingChatAppearance.highlighterTheme.title': 'Code Highlight Theme',
  'settingChatAppearance.mermaidTheme.title': 'Mermaid Theme',
  'settingChatAppearance.title': 'Chat Appearance',
  'settingChatAppearance.transitionMode.desc': 'Choose how chat messages appear',
  'settingChatAppearance.transitionMode.options.fadeIn': 'Fade In',
  'settingChatAppearance.transitionMode.options.none.desc':
    "This depends on the model's response output method; please test it yourself.",
  'settingChatAppearance.transitionMode.options.none.value': 'None',
  'settingChatAppearance.transitionMode.options.smooth': 'Smooth',
  'settingChatAppearance.transitionMode.title': 'Transition Animation',
  'settingCommon.devMode.desc':
    'Show technical details and manual controls for chats, models, and local tools. This does not change model responses.',
  'settingCommon.devMode.title': 'Advanced tools',
  'settingCommon.lang.autoMode': 'Follow System',
  'settingCommon.lang.title': 'Language',
  'settingCommon.liteMode.desc': 'Simplify the interface and hide advanced features',
  'settingCommon.liteMode.title': 'Lite Mode',
  'settingCommon.responseLanguage.auto': 'Follow System',
  'settingCommon.responseLanguage.desc': 'Choose the Agent’s reply language',
  'settingCommon.responseLanguage.placeholder': 'Select response language',
  'settingCommon.responseLanguage.title': 'Response Language',
  'settingCommon.themeMode.auto': 'Automatic',
  'settingCommon.themeMode.dark': 'Dark',
  'settingCommon.themeMode.light': 'Light',
  'settingCommon.themeMode.title': 'Theme',
  'settingCommon.title': 'General Settings',
  'settingGroup.description.placeholder': 'Enter Group description',
  'settingGroup.description.title': 'Group description',
  'settingGroup.name.placeholder': 'Enter Group name',
  'settingGroup.name.title': 'Group name',
  'settingGroup.scene.desc': 'Select Group scenario',
  'settingGroup.scene.options.casual': 'Casual',
  'settingGroup.scene.options.productive': 'Productive',
  'settingGroup.scene.title': 'Group scenario',
  'settingGroup.submit': 'Update Group',
  'settingGroup.systemPrompt.placeholder': 'Please enter the Orchestrator system prompt',
  'settingGroup.systemPrompt.title': 'Orchestrator System Prompt',
  'settingGroup.title': 'Group Information',
  'settingGroupChat.allowDM.desc':
    'When turned off, you can still send direct messages to the agent',
  'settingGroupChat.allowDM.title': 'Allow Direct Messages from Agent',
  'settingGroupChat.enableSupervisor.desc':
    'Enable the Orchestrator feature to manage Group conversations',
  'settingGroupChat.enableSupervisor.title': 'Enable Orchestrator',
  'settingGroupChat.maxResponseInRow.desc':
    'Select how many consecutive messages a member can reply with. Set to 0 to disable this limit.',
  'settingGroupChat.maxResponseInRow.title': 'Consecutive Reply Count',
  'settingGroupChat.model.desc':
    'Group members aren’t affected. Some models can’t be used as the Orchestrator model.',
  'settingGroupChat.model.title': 'Orchestrator model',
  'settingGroupChat.orchestratorTitle': 'Orchestrator',
  'settingGroupChat.responseOrder.desc': 'Agents reply based on their order in the chat',
  'settingGroupChat.responseOrder.options.natural': 'Natural',
  'settingGroupChat.responseOrder.options.sequential': 'Sequential',
  'settingGroupChat.responseOrder.placeholder': 'Select reply order',
  'settingGroupChat.responseOrder.title': 'Reply Order',
  'settingGroupChat.responseSpeed.desc': 'Control the overall pace of the conversation',
  'settingGroupChat.responseSpeed.options.fast': 'Fast',
  'settingGroupChat.responseSpeed.options.medium': 'Medium',
  'settingGroupChat.responseSpeed.options.slow': 'Slow',
  'settingGroupChat.responseSpeed.placeholder': 'Select reply speed',
  'settingGroupChat.responseSpeed.title': 'Reply Speed',
  'settingGroupChat.revealDM.desc': 'Make private messages sent to other members visible to you.',
  'settingGroupChat.revealDM.title': 'Show Private Messages',
  'settingGroupChat.submit': 'Update Settings',
  'settingGroupChat.systemPrompt.desc':
    'Custom system prompt for the group chat Orchestrator. This may affect the default Orchestrator behavior.',
  'settingGroupChat.systemPrompt.placeholder':
    'Please enter a custom Orchestrator system prompt...',
  'settingGroupChat.systemPrompt.title': 'Orchestrator System Prompt',
  'settingGroupChat.title': 'Chat Settings',
  'settingGroupMembers.addToGroup': 'Add to Group',
  'settingGroupMembers.availableAgents': 'Available Agents',
  'settingGroupMembers.createMember': 'Create Member',
  'settingGroupMembers.defaultAgent': 'Custom Agent',
  'settingGroupMembers.disableHost': 'Disable Orchestrator',
  'settingGroupMembers.edit': 'Edit Member',
  'settingGroupMembers.empty': 'This Group has no members yet. Click + to add members.',
  'settingGroupMembers.enableHost': 'Enable Orchestrator',
  'settingGroupMembers.groupHost': 'Orchestrator',
  'settingGroupMembers.groupMembers': 'Group Members',
  'settingGroupMembers.host.description':
    'With an Orchestrator, the Group can run more automatically—great for open-ended tasks.',
  'settingGroupMembers.host.title': 'Orchestrator',
  'settingGroupMembers.noAvailableAgents': 'No available agents',
  'settingGroupMembers.noDescription': 'No description',
  'settingGroupMembers.noMembersInGroup': 'No members in the group',
  'settingGroupMembers.owner': 'You (Owner)',
  'settingGroupMembers.remove': 'Remove Member',
  'settingGroupMembers.removeFromGroup': 'Remove from Group',
  'settingGroupMembers.you': 'You',
  'settingImage.defaultCount.desc':
    'Set the default number of images generated when creating a new task in the image generation panel.',
  'settingImage.defaultCount.label': 'Default Image Count',
  'settingImage.defaultCount.title': 'AI Image',
  'settingModel.enableContextCompression.desc':
    'Automatically compress historical messages into summaries when conversation exceeds 64,000 tokens, saving 60-80% token usage',
  'settingModel.enableContextCompression.title': 'Enable Auto Context Compression',
  'settingModel.enableMaxTokens.title': 'Enable Max Tokens Limit',
  'settingModel.enableReasoningEffort.title': 'Enable Reasoning Effort Adjustment',
  'settingModel.frequencyPenalty.desc':
    'The higher the value, the more diverse and rich the vocabulary; the lower the value, the simpler and more straightforward the language.',
  'settingModel.frequencyPenalty.title': 'Vocabulary Richness',
  'settingModel.maxTokens.desc': 'The maximum number of tokens used for each interaction',
  'settingModel.maxTokens.title': 'Max Tokens Limit',
  'settingModel.model.desc': '{{provider}} model',
  'settingModel.model.title': 'Model',
  'settingModel.params.title': 'Advanced Parameters',
  'settingModel.params.panel.advanced': 'Advanced Settings',
  'settingModel.params.panel.agentTitle': 'Agent Advanced Settings',
  'settingModel.params.panel.contextCompression': 'Auto-compress Context',
  'settingModel.params.panel.creativity': 'Creativity',
  'settingModel.params.panel.historyLimit': 'Limit History Messages',
  'settingModel.params.panel.openness': 'Openness',
  'settingModel.params.panel.responseLength': 'Limit Response Length',
  'settingModel.params.panel.tab': 'Params',
  'settingModel.params.panel.title': 'Chat Parameter Settings',
  'settingModel.params.panel.topicDivergence': 'Topic Divergence',
  'settingModel.params.panel.vocabularyRichness': 'Vocabulary Richness',
  'settingModel.presencePenalty.desc':
    'The higher the value, the more inclined to use different expressions and avoid concept repetition; the lower the value, the more inclined to use repeated concepts or narratives, resulting in more consistent expression.',
  'settingModel.presencePenalty.title': 'Expression Divergence',
  'settingModel.reasoningEffort.desc':
    'Higher values enhance reasoning ability but may increase response time and token usage.',
  'settingModel.reasoningEffort.options.high': 'High',
  'settingModel.reasoningEffort.options.low': 'Low',
  'settingModel.reasoningEffort.options.medium': 'Medium',
  'settingModel.reasoningEffort.title': 'Reasoning Effort',
  'settingModel.submit': 'Update Model Settings',
  'settingModel.temperature.desc':
    'The higher the value, the more creative and imaginative the responses; the lower the value, the more rigorous the responses.',
  'settingModel.temperature.title': 'Creativity Level',
  'settingModel.temperature.warning':
    'If the creativity level is set too high, the output may become garbled.',
  'settingModel.title': 'Model Settings',
  'settingModel.topP.desc':
    'How many possibilities to consider; a higher value accepts more potential answers, while a lower value tends to choose the most likely answer. It is not recommended to change this alongside the creativity level.',
  'settingModel.topP.title': 'Openness to Ideas',
  'settingOpening.openingMessage.desc':
    "The opening message displayed when the conversation starts, used to introduce the agent's features",
  'settingOpening.openingMessage.placeholder':
    'Hello, I am your Custom Agent. You can start chatting with me right away, or go to Agent Settings to complete my information.',
  'settingOpening.openingMessage.title': 'Opening Message',
  'settingOpening.openingQuestions.desc':
    'Guiding questions displayed at the beginning of the conversation',
  'settingOpening.openingQuestions.empty':
    'Add opening questions to help users start the conversation quickly',
  'settingOpening.openingQuestions.placeholder': 'Please enter a question',
  'settingOpening.openingQuestions.repeat': 'Question already exists',
  'settingOpening.openingQuestions.title': 'Opening Questions',
  'settingOpening.title': 'Opening Settings',
  'settingPlugin.title': 'Skill List',
  'settingSelfIteration.enabled.desc':
    'Allow this assistant to review recent signals and improve its own skills when the self-iteration workflow runs.',
  'settingSelfIteration.enabled.managedDesc':
    'Always on for Lobe AI while Self-Iteration is available.',
  'settingSelfIteration.enabled.title': 'Enable Self-Iteration',
  'settingSelfIteration.title': 'Self-Iteration',
  'settingSystem.oauth.info.desc': 'Logged in',
  'settingSystem.oauth.info.title': 'Account Information',
  'settingSystem.oauth.signin.action': 'Sign In',
  'settingSystem.oauth.signin.desc': 'Sign in using SSO to unlock the app',
  'settingSystem.oauth.signin.title': 'Sign In to Your Account',
  'settingSystem.oauth.signout.action': 'Sign Out',
  'settingSystem.oauth.signout.confirm': 'Confirm sign out?',
  'settingSystem.oauth.signout.success': 'Sign out successful',
  'settingSystem.title': 'System Settings',
  'serviceModel.modelAssignments.title': 'Model Assignments',
  'serviceModel.contextLimit.placeholder': 'Context limit',
  'serviceModel.memoryModels.title': 'Memory Models',
  'serviceModel.optionalFeatures.title': 'Optional Features',
  'settingSystemTools.appEnvironment.chromium.desc': 'Chromium browser engine version',
  'settingSystemTools.appEnvironment.desc': 'Built-in runtime versions in the desktop app',
  'settingSystemTools.appEnvironment.electron.desc': 'Electron framework version',
  'settingSystemTools.appEnvironment.node.desc': 'Embedded Node.js version',
  'settingSystemTools.appEnvironment.title': 'Built-in App Tools',
  'settingSystemTools.category.browserAutomation': 'Browser Automation',
  'settingSystemTools.category.browserAutomation.desc':
    'Tools for headless browser automation and web interaction',
  'settingSystemTools.category.cliAgents': 'CLI Agents',
  'settingSystemTools.category.cliAgents.desc':
    'Agentic coding CLIs detected on your system, such as Claude Code, Codex, and Kimi',
  'settingSystemTools.category.contentSearch': 'Content Search',
  'settingSystemTools.category.contentSearch.desc': 'Tools for searching text content within files',
  'settingSystemTools.category.fileSearch': 'File Search',
  'settingSystemTools.category.fileSearch.desc': 'Tools for finding files by name or pattern',
  'settingSystemTools.category.runtimeEnvironment': 'Runtime Environment',
  'settingSystemTools.category.runtimeEnvironment.desc':
    'Development runtime environments for executing scripts and packages',
  'settingSystemTools.detecting': 'Detecting...',
  'settingSystemTools.redetect': 'Re-detect',
  'settingSystemTools.status.available': 'Available',
  'settingSystemTools.status.notDetected': 'Not detected',
  'settingSystemTools.status.unavailable': 'Unavailable',
  'settingSystemTools.title': 'System Tools',
  'settingSystemTools.tools.agentBrowser.desc':
    'Agent-browser - headless browser automation CLI for AI agents',
  'settingSystemTools.tools.ag.desc': 'The Silver Searcher - fast code searching tool',
  'settingSystemTools.tools.aider.desc': 'Aider - AI pair programming in your terminal',
  'settingSystemTools.tools.claude.desc': 'Claude Code - Anthropic official agentic coding CLI',
  'settingSystemTools.tools.codex.desc': 'Codex - OpenAI agentic coding CLI',
  'settingSystemTools.tools.fd.desc': 'fd - fast and user-friendly alternative to find',
  'settingSystemTools.tools.find.desc': 'Unix find - standard file search command',
  'settingSystemTools.tools.gemini.desc': 'Gemini CLI - Google agentic coding CLI',
  'settingSystemTools.tools.grep.desc': 'GNU grep - standard text search tool',
  'settingSystemTools.tools.kimi.desc': 'Kimi CLI - Moonshot AI agentic coding CLI',
  'settingSystemTools.tools.mdfind.desc': 'macOS Spotlight search (fast indexed search)',
  'settingSystemTools.tools.lobehub.desc': 'LobeHub CLI - manage and connect to LobeHub services',
  'settingSystemTools.tools.bun.desc': 'Bun - fast JavaScript runtime and package manager',
  'settingSystemTools.tools.bunx.desc': 'bunx - Bun package runner for executing npm packages',
  'settingSystemTools.tools.node.desc': 'Node.js - JavaScript runtime for executing JS/TS',
  'settingSystemTools.tools.npm.desc': 'npm - Node.js package manager for installing dependencies',
  'settingSystemTools.tools.pnpm.desc': 'pnpm - fast, disk space efficient package manager',
  'settingSystemTools.tools.python.desc': 'Python - programming language runtime',
  'settingSystemTools.tools.qwen.desc': 'Qwen Code - Alibaba Qwen agentic coding CLI',
  'settingSystemTools.tools.rg.desc': 'ripgrep - extremely fast text search tool',
  'settingSystemTools.tools.uv.desc': 'uv - extremely fast Python package manager',
  'settingTTS.openai.sttModel': 'OpenAI Speech-to-Text Model',
  'settingTTS.openai.title': 'OpenAI',
  'settingTTS.openai.ttsModel': 'OpenAI Text-to-Speech Model',
  'settingTTS.showAllLocaleVoice.desc':
    'If closed, only voices in the current language will be displayed',
  'settingTTS.showAllLocaleVoice.title': 'Show All Locale Voices',
  'settingTTS.stt': 'Speech Recognition Settings',
  'settingTTS.sttAutoStop.desc':
    'When closed, speech recognition will not end automatically and requires manual click to stop',
  'settingTTS.sttAutoStop.title': 'Auto Stop Speech Recognition',
  'settingTTS.sttLocale.desc':
    'The language of the speech input, this option can improve the accuracy of speech recognition',
  'settingTTS.sttLocale.title': 'Speech Recognition Language',
  'settingTTS.sttService.desc':
    "Where 'browser' is the native speech recognition service of the browser",
  'settingTTS.sttService.title': 'Speech Recognition Service',
  'settingTTS.submit': 'Update Voice Service',
  'settingTTS.title': 'Speech Service',
  'settingTTS.tts': 'Text-to-Speech Settings',
  'settingTTS.ttsService.desc':
    'If using OpenAI text-to-speech service, make sure the OpenAI model service is enabled',
  'settingTTS.ttsService.title': 'Text-to-Speech Service',
  'settingTTS.voice.desc':
    'Select a voice for the current agent, different TTS services support different voices',
  'settingTTS.voice.preview': 'Voice Preview',
  'settingTTS.voice.title': 'Text-to-Speech Voice',
  'skillStore.button': 'Skill Store',
  'skillStore.empty': 'Browse the Skill store. Install one to get started, add more later.',
  'skillStore.emptySearch': 'No matching Skills',
  'skillStore.networkError': 'Network error, please try again',
  'skillStore.search': 'Search skills by name or keyword, press Enter to search…',
  'skillStore.tabs.community': 'Community',
  'skillStore.tabs.custom': 'Custom',
  'skillStore.tabs.lobehub': 'LobeHub',
  'skillStore.tabs.mcp': 'MCP',
  'skillStore.tabs.skills': 'Skills',
  'skillStore.title': 'Skill Store',
  'skillStore.wantMore.action': 'Submit a request →',
  'skillStore.wantMore.feedback.message': `## Skill Name
[Please fill in]

## Use Case
When I am ___, I need ___

## Expected Features
1.
2.
3.

## Reference Examples
(Optional) Are there any similar tools or features for reference?

---
💡 Tip: The more specific your description, the better we can meet your needs`,
  'skillStore.wantMore.feedback.title':
    '[Skill Request] Summarize the skill you need in one sentence',
  'skillStore.wantMore.reachedEnd': "You've reached the end. Can't find what you need?",
  'startConversation': 'Start Conversation',
  'storage.actions.transfer.button': 'Move to...',
  'storage.actions.transfer.desc':
    'Move agents and their data to another Workspace or your personal account. The originals leave the current space. LobeAI cannot be moved; copy it instead.',
  'storage.actions.transfer.title': 'Move Agents',
  'storage.actions.transferAgentGroups.button': 'Move to...',
  'storage.actions.transferAgentGroups.desc':
    'Move groups, member Agents, and group conversation data to another Workspace or your personal account.',
  'storage.actions.transferAgentGroups.title': 'Move Groups',
  'storage.actions.copyLobeAI.button': 'Copy to...',
  'storage.actions.copyLobeAI.desc':
    'Keep the originals and create independent copies in another Workspace or your personal account. Topics and messages are optional.',
  'storage.actions.copyLobeAI.title': 'Copy Agents',
  'storage.actions.copyAgentGroups.button': 'Copy to...',
  'storage.actions.copyAgentGroups.desc':
    'Copy agent groups and their member agents into another workspace or personal account.',
  'storage.actions.copyAgentGroups.title': 'Agent Groups Copy',
  'storage.actions.export.button': 'Export',
  'storage.actions.export.exportType.agent': 'Export Agent Settings',
  'storage.actions.export.exportType.agentWithMessage': 'Export Agent and Messages',
  'storage.actions.export.exportType.all': 'Export Global Settings and All Agent Data',
  'storage.actions.export.exportType.allAgent': 'Export All Agent Settings',
  'storage.actions.export.exportType.allAgentWithMessage': 'Export All Agents and Messages',
  'storage.actions.export.exportType.globalSetting': 'Export Global Settings',
  'storage.actions.export.title': 'Export Data',
  'storage.actions.import.button': 'Import',
  'storage.actions.import.title': 'Import Data',
  'storage.actions.title': 'Advanced Operations',
  'storage.desc': 'Current storage usage in the browser',
  'storage.embeddings.used': 'Vector Storage',
  'storage.migration.title': 'Data Migration',
  'storage.title': 'Data Storage',
  'storage.used': 'Storage Usage',
  'storageOverage.addPaymentMethod': 'Add payment method',
  'storageOverage.capped': 'Monthly spending cap reached. Overage uploads are paused.',
  'storageOverage.capUpdateFailed': 'Failed to update monthly cap.',
  'storageOverage.capUpdated': 'Monthly cap updated.',
  'storageOverage.consent.billedMonthlyForYearly':
    'Storage overage is billed monthly, separate from your yearly plan renewal',
  'storageOverage.consent.billedTogether': 'Billed together with your subscription',
  'storageOverage.consent.canDisable': 'Can be disabled anytime',
  'storageOverage.consent.description': 'Storage exceeding your plan quota will be charged:',
  'storageOverage.consent.enable': 'Agree and enable',
  'storageOverage.consent.onlyOverage': 'Only overage is charged',
  'storageOverage.consent.rate':
    'About {{limitedMonthlyRate}}/GB/month for a limited time (regular {{regularMonthlyRate}}).',
  'storageOverage.consent.title': 'Enable Storage Pay-as-you-go',
  'storageOverage.currentPlanLocked.desc':
    'Your current plan does not support storage pay-as-you-go. After it ends, subscribe to a plan to enable it.',
  'storageOverage.desc':
    'Subscription plans can enable metered billing for storage beyond the included quota.',
  'storageOverage.disableConfirm.blockUploads':
    'If your storage is still above the included quota, new uploads will be blocked.',
  'storageOverage.disableConfirm.canEnableAgain':
    'You can enable storage pay-as-you-go again later.',
  'storageOverage.disableConfirm.confirm': 'Disable',
  'storageOverage.disableConfirm.description':
    'After disabling, storage overage will no longer be billed.',
  'storageOverage.disableConfirm.existingCharges':
    'Charges already incurred in this billing cycle will still be included on your subscription invoice.',
  'storageOverage.disableConfirm.title': 'Disable storage pay-as-you-go?',
  'storageOverage.disableFailed': 'Failed to disable storage pay-as-you-go.',
  'storageOverage.disabled': 'Storage pay-as-you-go disabled.',
  'storageOverage.enableFailed': 'Failed to enable storage pay-as-you-go.',
  'storageOverage.enabled': 'Storage pay-as-you-go enabled.',
  'storageOverage.monthlyCap': 'Monthly Spending Cap',
  'storageOverage.monthlyCapDesc':
    'Leave empty for unlimited. Uploads will be blocked when the cap is reached.',
  'storageOverage.noPaymentMethod': 'Please add a payment method to enable storage pay-as-you-go.',
  'storageOverage.rate':
    'About {{limitedMonthlyRate}}/GB/month for a limited time (regular {{regularMonthlyRate}}).',
  'storageOverage.subscriptionRequired.action': 'View plans',
  'storageOverage.subscriptionRequired.desc':
    'Subscribe to a plan to enable storage pay-as-you-go for overage usage.',
  'storageOverage.title': 'File Storage Pay-as-you-go',
  'storageOverage.toggle': 'Enable overage billing',
  'storageOverage.unlimited': 'Unlimited',
  'storageOverage.usage.current': 'Usage',
  'storageOverage.usage.estimatedCharge': 'Est. Cycle Charge',
  'storageOverage.usage.incurredCharge': 'Incurred This Cycle',
  'storageOverage.usage.overage': 'Overage',
  'sync.device.deviceName.hint': 'Add a name for easy identification',
  'sync.device.deviceName.placeholder': 'Enter device name',
  'sync.device.deviceName.title': 'Device Name',
  'sync.device.title': 'Device Information',
  'sync.device.unknownBrowser': 'Unknown Browser',
  'sync.device.unknownOS': 'Unknown OS',
  'sync.warning.tip':
    'After a long period of community testing, WebRTC synchronization may not reliably meet general data synchronization needs. Please <1>deploy a signaling server</1> before use.',
  'sync.webrtc.channelName.desc':
    'WebRTC will use this name to create a sync channel. Ensure the channel name is unique.',
  'sync.webrtc.channelName.placeholder': 'Enter sync channel name',
  'sync.webrtc.channelName.shuffle': 'Generate Randomly',
  'sync.webrtc.channelName.title': 'Sync Channel Name',
  'sync.webrtc.channelPassword.desc':
    'Add a password to ensure channel privacy. Only devices with the correct password can join the channel.',
  'sync.webrtc.channelPassword.placeholder': 'Enter sync channel password',
  'sync.webrtc.channelPassword.title': 'Sync Channel Password',
  'sync.webrtc.desc':
    'Real-time, peer-to-peer data communication requires all devices to be online for synchronization.',
  'sync.webrtc.enabled.invalid':
    'Please fill in the signaling server and synchronization channel name before enabling.',
  'sync.webrtc.enabled.title': 'Enable Sync',
  'sync.webrtc.signaling.desc': 'WebRTC will use this address for synchronization',
  'sync.webrtc.signaling.placeholder': 'Enter signaling server address',
  'sync.webrtc.signaling.title': 'Signaling Server',
  'sync.webrtc.title': 'WebRTC Sync',
  'systemAgent.agentMeta.label': 'Model',
  'systemAgent.agentMeta.modelDesc':
    'Model used to generate names, descriptions, avatars, and tags',
  'systemAgent.agentMeta.title': 'Profile Generation',
  'systemAgent.customPrompt.addPrompt': 'Add Custom Prompt',
  'systemAgent.customPrompt.desc':
    'Once filled out, the system agent will use the custom prompt when generating content',
  'systemAgent.customPrompt.placeholder': 'Please enter custom prompt',
  'systemAgent.customPrompt.title': 'Custom Prompt',
  'systemAgent.followUpAction.label': 'Follow-up Suggestions Model',
  'systemAgent.followUpAction.modelDesc':
    'Model used to suggest one-click follow-up replies under each assistant message',
  'systemAgent.followUpAction.title': 'Follow-up Suggestions',
  'systemAgent.generationTopic.label': 'Model',
  'systemAgent.generationTopic.modelDesc': 'Model used to name AI image topics',
  'systemAgent.generationTopic.title': 'AI Image Topic Naming',
  'systemAgent.helpInfo':
    'When creating a new agent, the default agent settings will be used as preset values.',
  'systemAgent.historyCompress.label': 'Model',
  'systemAgent.historyCompress.modelDesc': 'Model used to compress conversation history',
  'systemAgent.historyCompress.title': 'Conversation History Compression',
  'systemAgent.inputCompletion.label': 'Model',
  'systemAgent.inputCompletion.modelDesc':
    'Suggests text while you type. When enabled, this model generates the suggestions.',
  'systemAgent.inputCompletion.title': 'Input Suggestions',
  'systemAgent.userMemoryEmbedding.label': 'Model',
  'systemAgent.userMemoryEmbedding.modelDesc':
    'Model used to embed memory content for retrieval. The context limit caps each embedding input.',
  'systemAgent.userMemoryEmbedding.title': 'Memory Embedding',
  'systemAgent.memoryAnalysisAgentConfig.label': 'Model',
  'systemAgent.memoryAnalysisAgentConfig.modelDesc':
    'Model used to decide whether conversations contain memory and extract identities, preferences, contexts, activities, and experiences.',
  'systemAgent.memoryAnalysisAgentConfig.title': 'Memory Analysis',
  'systemAgent.userMemoryPersonaWriter.label': 'Model',
  'systemAgent.userMemoryPersonaWriter.modelDesc':
    'Model used to write persona-oriented memory summaries.',
  'systemAgent.userMemoryPersonaWriter.title': 'Memory Persona Writer',
  'systemAgent.promptRewrite.label': 'Model',
  'systemAgent.promptRewrite.modelDesc':
    'Improves prompts before generation. When enabled, this model rewrites the prompt.',
  'systemAgent.promptRewrite.title': 'Prompt Rewriting',
  'systemAgent.thread.label': 'Model',
  'systemAgent.thread.modelDesc': 'Model used to rename subtopics',
  'systemAgent.thread.title': 'Subtopic Auto-Naming',
  'systemAgent.title': 'System Tasks',
  'systemAgent.topic.label': 'Model',
  'systemAgent.topic.modelDesc': 'Model used to rename topics',
  'systemAgent.topic.title': 'Topic Auto-Naming',
  'systemAgent.translation.label': 'Model',
  'systemAgent.translation.modelDesc': 'Model used to translate messages',
  'systemAgent.translation.title': 'Message Translation',
  'tab.about': 'About',
  'tab.advanced': 'Advanced',
  'tab.advanced.appUpdates.title': 'App updates',
  'tab.advanced.gatewayMode.desc':
    'Run supported agent tasks through the cloud Gateway by default. Individual agents can override this from the chat menu.',
  'tab.advanced.gatewayMode.title': 'Gateway Mode',
  'tab.advanced.toolsAndDiagnostics.title': 'Tools and diagnostics',
  'tab.addAgentSkill': 'Add Agent Skill',
  'tab.advanced.updateChannel.canary': 'Canary',
  'tab.advanced.updateChannel.canaryDesc':
    'Triggered on every PR merge, multiple builds per day. Most unstable.',
  'tab.advanced.updateChannel.desc':
    'By default, get notifications for stable updates. The Canary channel receives pre-release builds that may be unstable for production work.',
  'tab.advanced.updateChannel.nightly': 'Nightly',
  'tab.advanced.updateChannel.nightlyDesc': 'Automated daily builds with the latest changes.',
  'tab.advanced.updateChannel.stable': 'Stable',
  'tab.advanced.updateChannel.stableDesc': 'Production-ready releases.',
  'tab.advanced.updateChannel.title': 'Update channel',
  'tab.addCustomMcp': 'Add Custom MCP Skill',
  'tab.addCustomMcp.desc': 'Manually configure a custom MCP server',
  'tab.addCustomSkill': 'Add',
  'tab.agent': 'Agent',
  'tab.all': 'All',
  'tab.apikey': 'API Keys',
  'tab.appearance': 'Appearance',
  'tab.chatAppearance': 'Chat Appearance',
  'tab.common': 'Appearance',
  'tab.creds': 'Credentials',
  'tab.devices': 'Devices',
  'tab.experiment': 'Experiment',
  'tab.hotkey': 'Hotkeys',
  'tab.image': 'Image Generation',
  'tab.importFromGithub': 'Import from GitHub',
  'tab.importFromGithub.desc': 'Import from a public GitHub repository',
  'tab.importFromUrl': 'Import from URL',
  'tab.importFromUrl.desc': 'Import via a direct link to SKILL.md',
  'tab.llm': 'Language Model',
  'tab.manualFill': 'Manually Fill In',
  'tab.manualFill.desc': 'Configure a custom MCP skill manually',
  'tab.memory': 'Memory',
  'tab.messenger': 'Messenger',
  'tab.notification': 'Notifications',
  'tab.profile': 'My Account',
  'tab.provider': 'Provider',
  'tab.proxy': 'Proxy',
  'tab.security': 'Security',
  'tab.serviceModel': 'Service Model',
  'tab.skill': 'Skills',
  'tab.skillDesc': 'Manage your connected skills and integrations',
  'tab.skillDetail': 'Skill Details',
  'tab.skillEmpty': 'No skills connected yet',
  'tab.skillInstalled': 'Installed Skills',
  'tab.skillIntegration': 'Integration',
  'tab.stats': 'Analytics',
  'tab.storage': 'Storage',
  'tab.sync': 'Cloud Sync',
  'tab.systemTools': 'System Tools',
  'tab.tts': 'Text-to-Speech',
  'tab.uploadZip': 'Upload Zip',
  'tab.uploadZip.desc': 'Upload a local .zip or .skill file',
  'tab.usage': 'Usage',
  'workspace.create.descPlaceholder': 'Describe what this workspace is for (optional)',
  'workspace.create.namePlaceholder': 'e.g. Acme Team',
  'workspace.create.submit': 'Create workspace',
  'workspace.billing.credits.label': 'Credits this month',
  'workspace.billing.hobbyHint': 'Free workspace · shared monthly pool',
  'workspace.billing.platformLine': 'Pro Platform · monthly',
  'workspace.billing.plan.enterprise': 'Enterprise',
  'workspace.billing.plan.hobby': 'Hobby',
  'workspace.billing.plan.pro': 'Pro',
  'workspace.billing.seatLine': 'Additional seats × {{count}}',
  'workspace.billing.seats.cancel': 'Cancel',
  'workspace.billing.seats.confirmContent':
    'Seats will change from {{previousSeats}} to {{newSeats}}. Stripe will charge or refund a prorated amount for the remainder of this billing cycle.',
  'workspace.billing.seats.confirmTitle': 'Update seats?',
  'workspace.billing.seats.editCta': 'Manage seats',
  'workspace.billing.seats.editorLabel': 'Total seats (including owner)',
  'workspace.billing.seats.failedToast': 'Failed to update seats.',
  'workspace.billing.seats.save': 'Save',
  'workspace.billing.seats.successToast': 'Seats updated to {{seats}}.',
  'workspace.billing.paymentMethods.addCta': 'Add payment method',
  'workspace.billing.paymentMethods.defaultBadge': 'Default',
  'workspace.billing.paymentMethods.empty':
    'No payment methods yet. Add one via Stripe portal — this workspace will be billed once a card is set as default.',
  'workspace.billing.paymentMethods.expires': 'Expires {{date}}',
  'workspace.billing.paymentMethods.managePortalCta': 'Manage in Stripe portal',
  'workspace.billing.paymentMethods.portalFailed': 'Failed to open billing portal',
  'workspace.billing.paymentMethods.remove': 'Remove',
  'workspace.billing.paymentMethods.removeConfirmContent':
    'This card will no longer be used to pay for this workspace.',
  'workspace.billing.paymentMethods.removeConfirmTitle': 'Remove this card?',
  'workspace.billing.paymentMethods.removeDefaultWarning':
    'This is the default card. Removing it without setting another one will cause the next renewal to fail.',
  'workspace.billing.paymentMethods.removeFailed': 'Failed to remove payment method',
  'workspace.billing.paymentMethods.setDefault': 'Set as default',
  'workspace.billing.paymentMethods.setDefaultFailed': 'Failed to set default',
  'workspace.billing.paymentMethods.setDefaultSuccess': 'Default updated',
  'workspace.billing.paymentMethods.subtitle': 'Cards on file for this workspace.',
  'workspace.billing.paymentMethods.title': 'Payment methods',
  'workspace.billing.title': 'Bills',
  'workspace.billing.totalHint': 'Billed monthly · cancel anytime',
  'workspace.billing.totalLabel': 'Total / month',
  'workspace.billingPage.billing.activeHint':
    'Cancel anytime — you keep access until the end of the cycle.',
  'workspace.billingPage.billing.autoRenewOff': 'Auto-renew off',
  'workspace.billingPage.billing.autoRenewOffOnDate': 'Ends on {{date}}',
  'workspace.billingPage.billing.autoRenewOn': 'Auto-renew on',
  'workspace.billingPage.billing.autoRenewOnDate': 'Renews on {{date}}',
  'workspace.billingPage.billing.banner.cancelledDesc':
    'Cancellation scheduled. Your subscription stops renewing at the end of the current billing cycle — the workspace then falls back to Hobby.',
  'workspace.billingPage.billing.banner.cancelledTitle': 'Subscription pending cancellation',
  'workspace.billingPage.billing.banner.expiredDesc':
    'Your subscription has ended. Re-subscribe to restore Pro features, or downgrade to Solo.',
  'workspace.billingPage.billing.banner.expiredTitle': 'Subscription cancelled',
  'workspace.billingPage.billing.banner.inactiveDesc':
    'Subscription is inactive — credits will not refresh until you re-subscribe.',
  'workspace.billingPage.billing.banner.inactiveTitle': 'Subscription inactive',
  'workspace.billingPage.billing.banner.resumeCta': 'Resume',
  'workspace.billingPage.billing.banner.subscribeCta': 'Subscribe',
  'workspace.billingPage.billing.breakdown.creditsLine_one':
    '{{seats}} seat · {{credits}} credits / month',
  'workspace.billingPage.billing.breakdown.creditsLine_other':
    '{{seats}} seats · {{credits}} credits / month',
  'workspace.billingPage.billing.breakdown.extraSeats': 'Extra seats',
  'workspace.billingPage.billing.breakdown.platform': 'Platform fee',
  'workspace.billingPage.billing.breakdown.product': 'Product',
  'workspace.billingPage.billing.breakdown.quantity': 'Quantity',
  'workspace.billingPage.billing.breakdown.seatCount_one': '{{count}} Seat',
  'workspace.billingPage.billing.breakdown.seatCount_other': '{{count}} Seats',
  'workspace.billingPage.billing.breakdown.totalCost': 'Total Cost',
  'workspace.billingPage.billing.cancelConfirm':
    'Subscription will keep running until the end of the current billing cycle, then stop renewing. You can resume at any time before the cycle ends.',
  'workspace.billingPage.billing.cancelCta': 'Cancel subscription',
  'workspace.billingPage.billing.cancelSuccess': 'Cancellation scheduled.',
  'workspace.billingPage.billing.cancelTitle': 'Cancel subscription?',
  'workspace.billingPage.billing.downgrade.confirmBody':
    'This immediately downgrades the workspace to Solo. The current billing period is non-refundable, and every member except the primary owner will be removed from this workspace.',
  'workspace.billingPage.billing.downgrade.confirmCta': 'Downgrade now',
  'workspace.billingPage.billing.downgrade.confirmInputLabel':
    'Type the workspace name "{{name}}" to confirm:',
  'workspace.billingPage.billing.downgrade.confirmInputPlaceholder': 'Workspace name',
  'workspace.billingPage.billing.downgrade.confirmTitle': 'Downgrade to Solo?',
  'workspace.billingPage.billing.downgrade.failedToast': 'Failed to downgrade.',
  'workspace.billingPage.billing.downgrade.successToast': 'Workspace downgraded to Solo.',
  'workspace.billingPage.billing.hobby.subtitle':
    'Hobby workspace · shared monthly pool · no team seats',
  'workspace.billingPage.billing.hobby.title': 'Free workspace',
  'workspace.billingPage.billing.hobby.upgradeCta': 'Upgrade to Pro',
  'workspace.billingPage.billing.invoice.empty':
    'No invoices yet. Your first invoice will appear after the next renewal.',
  'workspace.billingPage.billing.invoice.emptyHint': 'Workspace created on {{date}}.',
  'workspace.billingPage.billing.invoice.nonOwner':
    'Only workspace owners can view billing history.',
  'workspace.billingPage.billing.invoice.tab.all': 'All',
  'workspace.billingPage.billing.invoice.tab.failed': 'Closed',
  'workspace.billingPage.billing.invoice.tab.open': 'Unpaid',
  'workspace.billingPage.billing.invoice.tab.paid': 'Paid',
  'workspace.billingPage.billing.invoice.subtitle': 'View and download invoices for this workspace',
  'workspace.billingPage.billing.invoice.title': 'Billing history',
  'workspace.billingPage.billing.manage.cancelItem': 'Cancel Subscription',
  'workspace.billingPage.billing.manage.cta': 'Manage',
  'workspace.billingPage.billing.manage.downgradeItem': 'Downgrade',
  'workspace.billingPage.billing.manage.resumeItem': 'Resume subscription',
  'workspace.billingPage.billing.monthlyFeeLabel': '/ month',
  'workspace.billingPage.billing.planBadge.active': 'Active',
  'workspace.billingPage.billing.planBadge.cancelled': 'Cancelled',
  'workspace.billingPage.billing.planBadge.cancelling': 'Cancelling',
  'workspace.billingPage.billing.planBadge.inactive': 'Inactive',
  'workspace.billingPage.billing.resumeCta': 'Resume subscription',
  'workspace.billingPage.billing.resumeSuccess':
    'Cancellation reversed. Your subscription will renew normally.',
  'workspace.billingPage.billing.scheduledHint':
    'Subscription will end at the close of the current billing cycle.',
  'workspace.billingPage.billing.seats.deltaDown': 'Δ -${{amount}} / mo',
  'workspace.billingPage.billing.seats.deltaUp': 'Δ +${{amount}} / mo',
  'workspace.billingPage.billing.seats.editCta': 'Edit',
  'workspace.billingPage.billing.seats.from': '{{previous}} seats → {{next}} seats',
  'workspace.billingPage.billing.seats.previewLabel': 'Price preview (approximate)',
  'workspace.billingPage.billing.seats.priceDelta': '${{previous}} / mo → ${{next}} / mo',
  'workspace.billingPage.billing.seats.proration':
    'Seat changes are settled on the next monthly invoice — no immediate charge or refund.',
  'workspace.billingPage.billing.seats.subtitle_one':
    'Currently {{count}} seat · ${{seatFee}} per extra seat / month',
  'workspace.billingPage.billing.seats.subtitle_other':
    'Currently {{count}} seats · ${{seatFee}} per extra seat / month',
  'workspace.billingPage.billing.seats.title': 'Seats',
  'workspace.billingPage.billing.subscriptionTitle': 'Subscription controls',
  'workspace.billingPage.billing.currentPlan.descHobby':
    'Solo workspace · pay only for what you use',
  'workspace.billingPage.billing.currentPlan.descPro':
    'Team workspace with monthly credits allowance',
  'workspace.billingPage.billing.currentPlan.title': 'Current plan',
  'workspace.billingPage.billing.summarySubtitle': 'Workspace subscription and billing breakdown',
  'workspace.billingPage.billing.summaryTitle': 'Subscription',
  'workspace.billingPage.billing.totalLabel': 'Total',
  'workspace.billingPage.billing.upgradeFailedToast': 'Failed to start checkout.',
  'workspace.billingPage.credits.breakdownCount': 'Ops',
  'workspace.billingPage.credits.breakdownSpend': 'Spend',
  'workspace.billingPage.credits.breakdownTitle': 'Spend by category',
  'workspace.billingPage.credits.breakdownType': 'Category',
  'workspace.billingPage.credits.empty': 'No credit data yet',
  'workspace.billingPage.credits.hero.cycleHint': '{{from}} → {{to}}',
  'workspace.billingPage.credits.hero.percentOfTotal': '{{percent}}% of {{total}}',
  'workspace.billingPage.credits.hero.planHobby': 'Hobby · solo workspace',
  'workspace.billingPage.credits.hero.planPro_one': 'Pro · {{count}} seat',
  'workspace.billingPage.credits.hero.planPro_other': 'Pro · {{count}} seats',
  'workspace.billingPage.credits.hero.poolDesc':
    'Shared across all seats. Resets each billing cycle.',
  'workspace.billingPage.credits.hero.remainingLine': 'Remaining {{amount}} credits',
  'workspace.billingPage.credits.hero.resetsIn_one': 'Resets in {{count}} day',
  'workspace.billingPage.credits.hero.resetsIn_other': 'Resets in {{count}} days',
  'workspace.billingPage.credits.hero.resetsToday': 'Resets today',
  'workspace.billingPage.credits.hero.seePlans': 'See Plans',
  'workspace.billingPage.credits.hero.title': 'Credit pool',
  'workspace.billingPage.credits.hero.usedLabel': 'Used',
  'workspace.billingPage.credits.hero.viewUsage': 'View detailed usage',
  'workspace.billingPage.credits.monthly': 'Monthly allowance',
  'workspace.billingPage.credits.packageExpiry': 'Expires',
  'workspace.billingPage.credits.packageId': 'Package',
  'workspace.billingPage.credits.packageLimit': 'Allowance',
  'workspace.billingPage.credits.packageSpend': 'Used',
  'workspace.billingPage.credits.packages.empty.cta': 'See Plans',
  'workspace.billingPage.credits.packages.empty.title':
    'No add-on packages yet. Upgrade via Plans or contact sales for extra capacity.',
  'workspace.billingPage.credits.packages.expired': 'Expired',
  'workspace.billingPage.credits.packages.expiringIn_one': 'in {{count}} day',
  'workspace.billingPage.credits.packages.expiringIn_other': 'in {{count}} days',
  'workspace.billingPage.credits.packages.fallback': 'Package #{{index}}',
  'workspace.billingPage.credits.packages.remaining': 'Remaining',
  'workspace.billingPage.credits.packages.source': 'Source',
  'workspace.billingPage.credits.packages.sourceLabel.autoTopUp': 'Auto top-up',
  'workspace.billingPage.credits.packages.sourceLabel.systemGift': 'System gift',
  'workspace.billingPage.credits.packages.sourceLabel.userPurchase': 'Sales add-on',
  'workspace.billingPage.credits.packages.subtitle': 'All credit packages owned by this workspace',
  'workspace.billingPage.credits.packages.title': 'Workspace credit packages',
  'workspace.billingPage.credits.packages.usedPercent': 'Used',
  'workspace.billingPage.credits.poolDesc': 'Shared across all seats. Resets each billing cycle.',
  'workspace.billingPage.credits.poolTitle': 'Workspace credit pool',
  'workspace.billingPage.credits.resetAt': 'Next reset: {{date}}',
  'workspace.billingPage.credits.status.cancelledCta': 'Resume subscription',
  'workspace.billingPage.credits.status.cancelledDesc':
    'Subscription is scheduled to end on {{date}}. Credits will stop refreshing after that.',
  'workspace.billingPage.credits.balance.creditBalance': 'Top-up credits balance',
  'workspace.billingPage.credits.balance.hobbyDesc':
    'Hobby workspaces do not include subscription credits — top up below or upgrade to Pro.',
  'workspace.billingPage.credits.balance.link.history': 'Top-up history',
  'workspace.billingPage.credits.balance.link.usage': 'View usage',
  'workspace.billingPage.credits.balance.plansUsage': 'Subscription credits',
  'workspace.billingPage.credits.balance.plansUsageDesc':
    'Subscription credits are used first, then top-up credits',
  'workspace.billingPage.credits.balance.sharedHint': 'Shared by all workspace members',
  'workspace.billingPage.credits.balance.sharedTag': 'Workspace-shared',
  'workspace.billingPage.credits.balance.title': 'Balance',
  'workspace.billingPage.credits.title': 'Credits',
  'workspace.billingPage.credits.topUp.custom': 'Custom',
  'workspace.billingPage.credits.topUp.maxAmountError':
    'Purchase amount cannot exceed ${{max}} per transaction.',
  'workspace.billingPage.credits.topUp.purchaseNow': 'Purchase now',
  'workspace.billingPage.credits.topUp.purchaseSuccess': 'Purchase successful.',
  'workspace.billingPage.credits.topUp.selectPackage': 'Select a credit pack',
  'workspace.billingPage.credits.topUp.subtitle':
    'Add credits to this workspace with a one-time purchase',
  'workspace.billingPage.credits.topUp.title': 'Purchase credits',
  'workspace.billingPage.credits.topUp.total': 'Total',
  'workspace.billingPage.credits.topUp.unitPriceFormat': '${{price}} per million compute credits',
  'workspace.billingPage.credits.topUp.upgradePlanName': 'Pro',
  'workspace.billingPage.credits.topUp.upgradePrefix': 'Upgrade to',
  'workspace.billingPage.credits.topUp.upgradeSuffix': 'to save ${{savings}}',
  'workspace.billingPage.credits.topUp.validityInfo': 'valid for {{months}} months',
  'workspace.billingPage.credits.autoTopUp.enable': 'Enable auto top-up',
  'workspace.billingPage.credits.autoTopUp.monthlyCap': 'Monthly cap',
  'workspace.billingPage.credits.autoTopUp.noCustomerHint':
    'Purchase credits once and save a payment method to enable auto top-up.',
  'workspace.billingPage.credits.autoTopUp.noPaymentMethodHint':
    'No saved payment method. Set one up to enable auto top-up.',
  'workspace.billingPage.credits.autoTopUp.purchaseCredits': 'Purchase credits',
  'workspace.billingPage.credits.autoTopUp.setupPaymentMethod': 'Set up payment method',
  'workspace.billingPage.credits.autoTopUp.monthlyLimitReached':
    "This month's auto top-up has reached the cap; will resume next month.",
  'workspace.billingPage.credits.autoTopUp.pausedReason.manual': 'Auto top-up was paused manually.',
  'workspace.billingPage.credits.autoTopUp.pausedReason.monthly_cap':
    'Monthly cap reached. Auto top-up will resume on the next billing cycle, or you can raise the cap and re-enable.',
  'workspace.billingPage.credits.autoTopUp.pausedReason.payment_failed':
    'A recent charge failed. Update the payment method and re-enable.',
  'workspace.billingPage.credits.autoTopUp.pausedTitle': 'Auto top-up paused',
  'workspace.billingPage.credits.autoTopUp.save': 'Save',
  'workspace.billingPage.credits.autoTopUp.saveSuccess': 'Auto top-up settings updated.',
  'workspace.billingPage.credits.autoTopUp.subtitle':
    'Keep credits topped up automatically so the team is never blocked.',
  'workspace.billingPage.credits.autoTopUp.target': 'Target balance',
  'workspace.billingPage.credits.autoTopUp.threshold': 'Trigger threshold',
  'workspace.billingPage.credits.autoTopUp.title': 'Auto top-up',
  'workspace.billingPage.credits.autoTopUp.validation.targetMustExceedThreshold':
    'Target balance must be greater than the trigger threshold.',
  'workspace.billingPage.plans.cancelled': 'Pending cancellation',
  'workspace.billingPage.plans.currentTag': 'Current plan',
  'workspace.billingPage.plans.currentTitle': 'Current plan',
  'workspace.billingPage.plans.enterprise.contactCta': 'Contact',
  'workspace.billingPage.plans.enterprise.features.brandTheming': 'Brand theming',
  'workspace.billingPage.plans.enterprise.features.commercialLicense': 'Commercial license',
  'workspace.billingPage.plans.enterprise.features.customIntegration':
    'Custom integration & support',
  'workspace.billingPage.plans.enterprise.features.privateModels': 'Private models',
  'workspace.billingPage.plans.enterprise.features.selfHostedProvider': 'Self-hosted Provider',
  'workspace.billingPage.plans.enterprise.features.userManagement': 'User management',
  'workspace.billingPage.plans.enterprise.priceCaption': 'Tailored to your needs',
  'workspace.billingPage.plans.enterprise.priceText': 'Custom',
  'workspace.billingPage.plans.enterprise.tagline':
    'For teams that need private deployment or custom solutions',
  'workspace.billingPage.plans.enterprise.title': 'Enterprise Edition',
  'workspace.billingPage.plans.creditsHint':
    'Shared monthly pool · every seat draws from the same balance',
  'workspace.billingPage.plans.creditsTitle': 'Workspace credits',
  'workspace.billingPage.plans.creditsTooltip':
    'Workspace-wide monthly credits. Adding seats does NOT grow the pool — overage flows through AutoTopUp.',
  'workspace.billingPage.plans.headline': 'Choose a plan',
  'workspace.billingPage.plans.hobbyCapacity': '1 seat · solo workspace',
  'workspace.billingPage.plans.hobbyCta': 'Free forever',
  'workspace.billingPage.plans.hobbyCreditsHint': 'No monthly credits included by default',
  'workspace.billingPage.plans.hobbyCreditsTooltip':
    'Hobby workspaces do not include monthly credits. Configure your own model API or top up credits as needed.',
  'workspace.billingPage.plans.manageSeatsLink': 'Manage seats',
  'workspace.billingPage.plans.modelsHint': 'Estimated messages from the shared pool',
  'workspace.billingPage.plans.modelsTitle': 'Featured models',
  'workspace.billingPage.plans.perMonth': '/ month',
  'workspace.billingPage.plans.popularTag': 'Recommended',
  'workspace.billingPage.plans.priceProCaption': 'Platform fee · billed monthly',
  'workspace.billingPage.plans.priceProHeadline': '${{fee}} / mo',
  'workspace.billingPage.plans.proCapacity': 'Up to {{max}} seats · ${{seatFee}}/seat / month',
  'workspace.billingPage.plans.pricingBannerCta': 'View pricing',
  'workspace.billingPage.plans.pricingBannerDesc':
    'See detailed input/output rates and message estimates for every supported model.',
  'workspace.billingPage.plans.pricingBannerTitle': 'Looking for per-model pricing?',
  'workspace.billingPage.plans.pricingNote': 'For per-model pricing, see {{url}}',
  'workspace.billingPage.plans.upgradeCta': 'Upgrade to Pro',
  'workspace.billingPage.plans.upgradeFailed': 'Failed to start checkout',
  'workspace.billingPage.summary.cancelling': 'Cancelling',
  'workspace.billingPage.summary.upgradeCta': 'See plans',
  'workspace.billingPage.summary.viewFullCta': 'View full billing',
  'workspace.billingPage.usage.activity.filterByMember': 'Filter member',
  'workspace.billingPage.usage.activity.filterByModel': 'Filter model',
  'workspace.billingPage.usage.activity.filterByType': 'Filter type',
  'workspace.billingPage.usage.activity.model': 'Model',
  'workspace.billingPage.usage.activity.viewAll': 'View all',
  'workspace.billingPage.usage.activity.viewAllTitle': 'All recent activity',
  'workspace.billingPage.usage.at': 'When',
  'workspace.billingPage.usage.byMemberDesc': 'Spend distribution across workspace members',
  'workspace.billingPage.usage.byMemberTitle': 'Spend by member',
  'workspace.billingPage.usage.byModelDesc': 'Spend distribution across models',
  'workspace.billingPage.usage.byTypeDesc': 'Spend distribution across credit categories',
  'workspace.billingPage.usage.creditUsage.desc':
    'Credits usage for AI chat, image generation, speech synthesis',
  'workspace.billingPage.usage.creditUsage.resetDesc': 'Quota resets in {{time}}',
  'workspace.billingPage.usage.creditUsage.title': 'Computing Credits Usage',
  'workspace.billingPage.usage.byModelTitle': 'Spend by model',
  'workspace.billingPage.usage.byTypeTitle': 'Spend by category',
  'workspace.billingPage.usage.categories.chat': 'Chat',
  'workspace.billingPage.usage.categories.embedding': 'Embedding',
  'workspace.billingPage.usage.categories.imageGeneration': 'Image generation',
  'workspace.billingPage.usage.categories.tts': 'Text to speech',
  'workspace.billingPage.usage.categories.videoGeneration': 'Video generation',
  'workspace.billingPage.usage.cycleHint': '{{from}} → {{to}}',
  'workspace.billingPage.usage.empty': 'No spend yet',
  'workspace.billingPage.usage.hero.percentOfBudget': '{{percent}}% of {{total}}',
  'workspace.billingPage.usage.hero.resetsIn_one': 'Resets in {{count}} day',
  'workspace.billingPage.usage.hero.resetsIn_other': 'Resets in {{count}} days',
  'workspace.billingPage.usage.hero.resetsToday': 'Resets today',
  'workspace.billingPage.usage.hero.usedLabel': 'Used',
  'workspace.billingPage.usage.last30': 'Last 30 days',
  'workspace.billingPage.usage.logsTitle': 'Recent activity',
  'workspace.billingPage.usage.member': 'Member',
  'workspace.billingPage.usage.messages': 'Messages',
  'workspace.billingPage.usage.model.moreModels_one': '{{count}} more model',
  'workspace.billingPage.usage.model.moreModels_other': '{{count}} more models',
  'workspace.billingPage.usage.model.showLess': 'Show less',
  'workspace.billingPage.usage.model.unknown': 'Unknown model',
  'workspace.billingPage.usage.ops': 'Operations',
  'workspace.billingPage.usage.range.30d': 'Last 30 days',
  'workspace.billingPage.usage.range.all': 'All time',
  'workspace.billingPage.usage.range.cycle': 'This cycle',
  'workspace.billingPage.usage.rank': 'Rank',
  'workspace.billingPage.usage.remaining': 'Remaining: {{amount}}',
  'workspace.billingPage.usage.selfTitle': 'Your usage',
  'workspace.billingPage.usage.spend': 'Spend',
  'workspace.billingPage.usage.summaryCardTitle': 'Credits usage statistics',
  'workspace.billingPage.usage.summaryTitle': 'Workspace credits usage',
  'workspace.billingPage.usage.topSpender': 'Top spender: {{name}} ({{amount}})',
  'workspace.billingPage.usage.trendTitle': 'Daily spend trend',
  'workspace.billingPage.usage.trendTooltip': '{{date}}: {{value}}',
  'workspace.billingPage.usage.type': 'Type',
  'workspace.create.title': 'Create a new workspace',
  'workspace.description.title': 'Description',
  'workspace.general.avatar.description': "This is your workspace's avatar.",
  'workspace.general.avatar.hint': 'An avatar is optional but strongly recommended.',
  'workspace.general.avatar.title': 'Workspace Avatar',
  'workspace.general.avatar.tooLarge': 'Avatar file must be smaller than 5MB.',
  'workspace.general.avatar.uploadFailed': 'Failed to upload avatar',
  'workspace.general.delete.confirm.content':
    'This action cannot be undone. Type the workspace name "{{name}}" to confirm.',
  'workspace.general.delete.confirm.continue': 'Continue',
  'workspace.general.delete.confirm.mismatch': "The name doesn't match. Deletion aborted.",
  'workspace.general.delete.confirm.namePrompt': 'To confirm, type "{{name}}"',
  'workspace.general.delete.confirm.ok': 'Delete workspace',
  'workspace.general.delete.confirm.phrase': 'delete my workspace',
  'workspace.general.delete.confirm.phrasePrompt': 'To confirm, type "{{phrase}}"',
  'workspace.general.delete.confirm.preparation':
    'Before deleting, cancel any active subscription. Billing and spend history will be retained for audit.',
  'workspace.general.delete.confirm.title': 'Delete Workspace',
  'workspace.general.delete.confirm.warning.items.agents':
    'All agents, skills, and their configurations',
  'workspace.general.delete.confirm.warning.items.billing':
    'Subscription, budget settings, and auto top-up',
  'workspace.general.delete.confirm.warning.items.conversations': 'All messages, topics, and tasks',
  'workspace.general.delete.confirm.warning.items.files':
    'Uploaded files, generations, and knowledge base data',
  'workspace.general.delete.confirm.warning.items.members':
    'Members, pending invitations, and audit logs',
  'workspace.general.delete.confirm.warning.lead':
    'The {{name}} workspace will be permanently deleted, along with:',
  'workspace.general.delete.confirm.warning.tail':
    'This cannot be undone. Spend and top-up history will be retained for audit only.',
  'workspace.general.delete.cta': 'Delete Workspace',
  'workspace.general.delete.description':
    'Permanently delete this workspace and everything inside it — agents, messages, files, members, and invitations. This action cannot be reversed.',
  'workspace.general.delete.failed': 'Failed to delete workspace',
  'workspace.general.delete.hint':
    'Cancel any active subscription before deletion. Billing history is kept for audit.',
  'workspace.general.delete.notOwner': 'Only the workspace owner can delete this workspace.',
  'workspace.general.delete.title': 'Delete Workspace',
  'workspace.general.devReset.confirm.cancel': 'Cancel',
  'workspace.general.devReset.confirm.description':
    'This clears finishedAt / skippedAt / step / scenarios and reopens the wizard.',
  'workspace.general.devReset.confirm.ok': 'Reset',
  'workspace.general.devReset.confirm.title': 'Reset workspace onboarding?',
  'workspace.general.devReset.cta': 'Reset onboarding',
  'workspace.general.devReset.description':
    'Clears the onboarding gate (finishedAt / skippedAt / step / scenarios) and reopens the wizard. Dev-only — not visible in production.',
  'workspace.general.devReset.failed': 'Failed to reset onboarding',
  'workspace.general.devReset.hint': 'Dev only',
  'workspace.general.devReset.success': 'Workspace onboarding reset',
  'workspace.general.devReset.title': 'Reset workspace onboarding',
  'workspace.general.id.copied': 'Workspace ID copied',
  'workspace.general.id.description': "This is your workspace's unique ID.",
  'workspace.general.id.hint': 'Used when interacting with the API.',
  'workspace.general.id.title': 'Workspace ID',
  'workspace.general.leave.confirm.content':
    'You will lose access to "{{name}}" immediately. You can rejoin only if you are invited again.',
  'workspace.general.transferAgents.modal.back': 'Back',
  'workspace.general.transferAgents.modal.continue': 'Continue',
  'workspace.general.transferAgents.modal.failed': 'Failed to move agents',
  'workspace.general.transferAgents.modal.loadFailed': 'Failed to load agents',
  'workspace.general.transferAgents.modal.noAgents': 'No agents in this workspace',
  'workspace.general.transferAgents.modal.selectAgents': 'Select Agents to move to {{target}}.',
  'workspace.general.transferAgents.modal.selectPlaceholder':
    'Select workspace or personal account...',
  'workspace.general.transferAgents.modal.selectTarget':
    'Choose where to move the Agents. They will leave the current space.',
  'workspace.general.transferAgents.modal.selected': 'selected',
  'workspace.general.transferAgents.modal.selectedAgent':
    'This Agent will move to {{target}} and leave the current space.',
  'workspace.general.transferAgents.modal.success': '{{count}} agent(s) moved',
  'workspace.general.transferAgents.modal.title': 'Move Agents',
  'workspace.general.transferAgents.modal.transfer': 'Move {{count}} agent(s)',
  'workspace.general.transferAgents.modal.warning':
    'Custom plugins may not be available and multi-agent group associations will be removed.',
  'workspace.general.transferAgents.personalAccount': 'Personal Account',
  'workspace.general.transferAgentGroups.modal.back': 'Back',
  'workspace.general.transferAgentGroups.modal.continue': 'Continue',
  'workspace.general.transferAgentGroups.modal.failed': 'Failed to transfer agent groups',
  'workspace.general.transferAgentGroups.modal.loadFailed': 'Failed to load agent groups',
  'workspace.general.transferAgentGroups.modal.noGroups': 'No agent groups in this workspace',
  'workspace.general.transferAgentGroups.modal.selectGroups': 'Select agent groups to transfer.',
  'workspace.general.transferAgentGroups.modal.selectPlaceholder':
    'Select workspace or personal account...',
  'workspace.general.transferAgentGroups.modal.selectTarget':
    'Choose a workspace or personal account to transfer agent groups to.',
  'workspace.general.transferAgentGroups.modal.selected': 'selected',
  'workspace.general.transferAgentGroups.modal.selectedGroup': 'Agent group to transfer.',
  'workspace.general.transferAgentGroups.modal.success':
    '{{count}} agent group(s) transferred successfully',
  'workspace.general.transferAgentGroups.modal.title': 'Transfer Agent Groups',
  'workspace.general.transferAgentGroups.modal.transfer': 'Transfer {{count}} agent group(s)',
  'workspace.general.transferAgentGroups.modal.untitledGroup': 'Untitled Agent Group',
  'workspace.general.copyLobeAI.modal.back': 'Back',
  'workspace.general.copyLobeAI.modal.continue': 'Continue',
  'workspace.general.copyLobeAI.modal.copyOptions.config.desc':
    'Required. Copies the model, prompt, tools, and Agent profile into a new Agent.',
  'workspace.general.copyLobeAI.modal.copyOptions.config.title': 'Agent configuration',
  'workspace.general.copyLobeAI.modal.copyOptions.history.desc':
    'Optional. Copies selected Agents’ topics and messages into the new Agents.',
  'workspace.general.copyLobeAI.modal.copyOptions.history.title': 'Topics and messages',
  'workspace.general.copyLobeAI.modal.copyOptions.knowledgeBase.reason':
    'Not supported yet. Reconnect them in the target workspace or personal account after copying.',
  'workspace.general.copyLobeAI.modal.copyOptions.knowledgeBase.title': 'Knowledge bases and files',
  'workspace.general.copyLobeAI.modal.copyOptions.optional': 'Optional',
  'workspace.general.copyLobeAI.modal.copyOptions.required': 'Selected by default',
  'workspace.general.copyLobeAI.modal.copyOptions.title': 'Copy options',
  'workspace.general.copyLobeAI.modal.copyOptions.unsupported': 'Unavailable',
  'workspace.general.copyLobeAI.modal.create': 'Copy {{count}} agent(s)',
  'workspace.general.copyLobeAI.modal.defaultInboxTitle': 'LobeAI',
  'workspace.general.copyLobeAI.modal.failed': 'Failed to copy agents',
  'workspace.general.copyLobeAI.modal.includeHistory': 'Copy topics and messages',
  'workspace.general.copyLobeAI.modal.includeHistoryDesc':
    'Optional. Copies selected Agents’ conversation history into the new Agents.',
  'workspace.general.copyLobeAI.modal.loadFailed': 'Failed to load agents',
  'workspace.general.copyLobeAI.modal.noAgents': 'No agents available to copy',
  'workspace.general.copyLobeAI.modal.selected': 'selected',
  'workspace.general.copyLobeAI.modal.selectedAgent':
    'This Agent will be copied. The original stays where it is.',
  'workspace.general.copyLobeAI.modal.selectAgents':
    'Select Agents to copy. Originals stay where they are.',
  'workspace.general.copyLobeAI.modal.selectPlaceholder': 'Select workspace or personal account...',
  'workspace.general.copyLobeAI.modal.selectTarget':
    'Choose where to create the copies. The originals stay where they are.',
  'workspace.general.copyLobeAI.modal.success': '{{count}} agent(s) copied',
  'workspace.general.copyLobeAI.modal.title': 'Copy Agents',
  'workspace.general.copyLobeAI.modal.untitledAgent': 'Untitled Agent',
  'workspace.general.copyAgentGroups.modal.back': 'Back',
  'workspace.general.copyAgentGroups.modal.continue': 'Continue',
  'workspace.general.copyAgentGroups.modal.copyOptions.config.desc':
    'Required. Copies group metadata, members, member roles, and Agent profiles.',
  'workspace.general.copyAgentGroups.modal.copyOptions.config.title': 'Agent group configuration',
  'workspace.general.copyAgentGroups.modal.copyOptions.history.desc':
    'Optional. Copies selected groups’ topics and messages into the new groups.',
  'workspace.general.copyAgentGroups.modal.copyOptions.history.title': 'Topics and messages',
  'workspace.general.copyAgentGroups.modal.copyOptions.knowledgeBase.reason':
    'Not supported yet. Reconnect them in the target workspace or personal account after copying.',
  'workspace.general.copyAgentGroups.modal.copyOptions.knowledgeBase.title':
    'Knowledge bases and files',
  'workspace.general.copyAgentGroups.modal.copyOptions.optional': 'Optional',
  'workspace.general.copyAgentGroups.modal.copyOptions.required': 'Selected by default',
  'workspace.general.copyAgentGroups.modal.copyOptions.title': 'Copy options',
  'workspace.general.copyAgentGroups.modal.copyOptions.unsupported': 'Unavailable',
  'workspace.general.copyAgentGroups.modal.create': 'Copy {{count}} agent group(s)',
  'workspace.general.copyAgentGroups.modal.failed': 'Failed to copy agent groups',
  'workspace.general.copyAgentGroups.modal.loadFailed': 'Failed to load agent groups',
  'workspace.general.copyAgentGroups.modal.noGroups': 'No agent groups available to copy',
  'workspace.general.copyAgentGroups.modal.selectGroups': 'Select agent groups to copy.',
  'workspace.general.copyAgentGroups.modal.selectPlaceholder':
    'Select workspace or personal account...',
  'workspace.general.copyAgentGroups.modal.selectTarget':
    'Choose the target workspace or personal account. Group configuration and members are copied.',
  'workspace.general.copyAgentGroups.modal.selected': 'selected',
  'workspace.general.copyAgentGroups.modal.selectedGroup': 'Agent group to copy.',
  'workspace.general.copyAgentGroups.modal.success': '{{count}} agent group(s) copied',
  'workspace.general.copyAgentGroups.modal.title': 'Copy Agent Groups',
  'workspace.general.copyAgentGroups.modal.untitledGroup': 'Untitled Agent Group',
  'workspace.general.transferPrimary.cta': 'Transfer Primary Owner',
  'workspace.general.transferPrimary.description':
    'Transfer primary ownership to another owner. The new primary owner will take over billing and primary privileges for this workspace.',
  'workspace.general.transferPrimary.hint': 'You will remain an owner but lose primary privileges.',
  'workspace.general.transferPrimary.title': 'Transfer Primary Ownership',
  'workspace.general.leave.confirm.ok': 'Leave workspace',
  'workspace.general.leave.confirm.title': 'Leave this workspace?',
  'workspace.general.leave.cta': 'Leave Workspace',
  'workspace.general.leave.description':
    "Revoke your access to this workspace. Any resources you've added will remain.",
  'workspace.general.leave.failed': 'Failed to leave workspace',
  'workspace.general.leave.hint': 'To rejoin later, another member must invite you again.',
  'workspace.general.leave.ownerHint':
    'Transfer ownership to another member before leaving the workspace.',
  'workspace.general.leave.title': 'Leave Workspace',
  'workspace.general.name.description':
    "This is your workspace's visible name. For example, the name of your company or department.",
  'workspace.general.name.hint': 'Please use {{max}} characters at maximum.',
  'workspace.general.name.title': 'Workspace Name',
  'workspace.general.noPermissionHint': 'You need additional permissions to manage this setting.',
  'workspace.general.role.label': 'Your role',
  'workspace.general.save': 'Save',
  'workspace.general.scenarios.description':
    'Pick the areas this workspace is mainly used for. We will recommend relevant agents based on your selection.',
  'workspace.general.scenarios.hint': 'You can adjust these any time.',
  'workspace.general.scenarios.title': 'Scenarios',
  'workspace.general.subtitle': 'Manage your workspace name, URL, avatar and other settings',
  'workspace.general.title': 'General',
  'workspace.general.updateFailed': 'Failed to update workspace',
  'workspace.general.updateSuccess': 'Workspace updated',
  'workspace.general.url.confirm.content':
    'Existing links to "/{{old}}" will stop working immediately. Anyone who shared a link to this workspace will need a new one. This change cannot be undone.',
  'workspace.general.url.confirm.ok': 'Yes, change URL',
  'workspace.general.url.confirm.title': 'Change workspace URL to "{{next}}"?',
  'workspace.general.url.description':
    "This is your workspace's URL namespace. Members can use it to access shared resources.",
  'workspace.general.url.hint': 'Please use {{max}} characters at maximum.',
  'workspace.general.url.invalidBrandProtected':
    'This workspace URL is associated with a protected brand. Please apply from your organization email.',
  'workspace.general.url.invalidConsecutive': 'Slug cannot contain consecutive dashes.',
  'workspace.general.url.invalidLength': 'Slug must be 3–32 characters long.',
  'workspace.general.url.invalidPattern':
    'Slug must start and end with a letter or number; only lowercase letters, numbers and single dashes are allowed.',
  'workspace.general.url.invalidReserved': 'That slug is reserved. Please choose another.',
  'workspace.general.url.renameWarning': 'Renaming will break existing links to this workspace.',
  'workspace.general.url.taken': 'This URL is already taken.',
  'workspace.general.url.title': 'Workspace URL',
  'workspace.slugBrandApply.button': 'Apply',
  'workspace.slugBrandApply.mailBody':
    'Hi LobeHub team,\n\nI would like to request the workspace URL "{{slug}}" (https://lobehub.com/{{slug}}).\n\n- Brand / organization I represent:\n- Official website / domain:\n- My role in the organization:\n- Organization email (please reply from this address):\n\nThanks!',
  'workspace.slugBrandApply.mailButton': 'Apply via email',
  'workspace.slugBrandApply.mailSubject': 'Workspace URL brand request: {{slug}}',
  'workspace.slugBrandApply.modalCreateTip':
    'You can also create your workspace with another URL now and email us at {{email}} from your organization email to request this one later.',
  'workspace.slugBrandApply.modalDesc':
    'This URL is reserved for a protected brand. If you own this brand, apply from your organization email and we’ll review your request shortly.',
  'workspace.slugBrandApply.modalTitle': 'Request a protected brand URL',
  'workspace.member.demote': 'Demote to member',
  'workspace.member.demoteConfirm.content': 'This member will lose owner privileges.',
  'workspace.member.demoteConfirm.title': 'Demote owner?',
  'workspace.member.invite': 'Invite members',
  'workspace.member.manageAccess': 'Manage access',
  'workspace.member.manageAccessModal.current': 'Current',
  'workspace.member.manageAccessModal.failed': 'Failed to update access',
  'workspace.member.manageAccessModal.save': 'Save Changes',
  'workspace.member.manageAccessModal.sectionLabel': 'Select a role',
  'workspace.member.manageAccessModal.subtitleMiddle': 'has for',
  'workspace.member.manageAccessModal.subtitlePrefix': 'Manage the roles',
  'workspace.member.manageAccessModal.subtitleSuffix': '',
  'workspace.member.manageAccessModal.success': 'Access updated',
  'workspace.member.manageAccessModal.title': 'Manage Team Access',
  'workspace.member.primaryOwner': 'Primary',
  'workspace.member.promote': 'Promote to owner',
  'workspace.member.transferPrimaryConfirm.billingNotice.acknowledge':
    'I understand the saved payment method will keep being charged until the new primary owner replaces it.',
  'workspace.member.transferPrimaryConfirm.billingNotice.description':
    'Subscription charges will keep using the payment method on file ({{email}}) until the new primary owner adds their own card in Billing → Payment Methods. Remind the new owner to update it after transfer, or agree that this account will keep paying.',
  'workspace.member.transferPrimaryConfirm.billingNotice.title':
    "Payment method stays on the previous owner's card",
  'workspace.member.transferPrimaryConfirm.failed': 'Failed to transfer primary ownership',
  'workspace.member.transferPrimaryConfirm.noOwners':
    'No other owners in this workspace. Promote a member to owner first before transferring primary ownership.',
  'workspace.member.transferPrimaryConfirm.ok': 'Transfer ownership',
  'workspace.member.transferPrimaryConfirm.selectOwner':
    'Select the owner who will become the new primary owner and take over billing for this workspace.',
  'workspace.member.transferPrimaryConfirm.success': 'Primary ownership transferred',
  'workspace.member.transferPrimaryConfirm.title': 'Transfer primary ownership',
  'workspace.member.promoteConfirm.content':
    'This member will gain full owner privileges — billing, member management, and workspace deletion.',
  'workspace.member.promoteConfirm.title': 'Promote to owner?',
  'workspace.member.remove': 'Remove from Workspace',
  'workspace.member.removeConfirm.confirm': 'Confirm',
  'workspace.member.removeConfirm.content':
    'You are about to remove the following member from the workspace, are you sure you want to continue?',
  'workspace.member.removeConfirm.title': 'Remove Workspace Member',
  'workspace.member.removeSuccess': 'Member removed from workspace successfully.',
  'workspace.member.roles.freeBadge': 'Free',
  'workspace.member.roles.member': 'Member',
  'workspace.member.roles.memberDescription':
    'Run AI generations, manage conversations, and collaborate on workspace assets.',
  'workspace.member.roles.owner': 'Owner',
  'workspace.member.roles.ownerDescription':
    'Full team access — billing, member management, and workspace deletion. Only invite people you trust.',
  'workspace.member.roles.viewer': 'Viewer',
  'workspace.member.roles.viewerDescription':
    "Browse the workspace, but can't run AI generations — doesn't count toward billable seats.",
  'workspace.invitePage.accept': 'Accept Invitation',
  'workspace.invitePage.acceptedSubtitle': 'You have been added to the workspace.',
  'workspace.invitePage.acceptedTitle': 'Invitation Accepted',
  'workspace.invitePage.alreadyAcceptedSubtitle':
    'This invitation has already been used. You should already be a member of the workspace.',
  'workspace.invitePage.alreadyAcceptedTitle': 'Invitation already accepted',
  'workspace.invitePage.decline': 'Decline',
  'workspace.invitePage.declineSubtitle': 'You can close this window.',
  'workspace.invitePage.declineTitle': 'Invitation Declined',
  'workspace.invitePage.differentEmailNotice':
    'You are signed in as {{currentEmail}}, but this invitation was sent to {{inviteEmail}}.',
  'workspace.invitePage.expiredSubtitle':
    'This invitation has expired. Ask the team owner to send a new one.',
  'workspace.invitePage.expiredTitle': 'Invitation Expired',
  'workspace.invitePage.expiresLabel': 'Expires',
  'workspace.invitePage.goHome': 'Go Home',
  'workspace.invitePage.goToWorkspace': 'Go to Workspace',
  'workspace.invitePage.invitedAs': 'Invited as',
  'workspace.invitePage.invitedBy': 'Invited by',
  'workspace.invitePage.invitedEmail': 'Invited email',
  'workspace.invitePage.invitedTo': '{{inviter}} invited you to join the workspace',
  'workspace.invitePage.memberLimitSubtitle':
    'This workspace already has {{limit}} members. Ask an owner to remove a member before joining.',
  'workspace.invitePage.memberLimitTitle': 'Workspace Is Full',
  'workspace.invitePage.notFoundSubtitle':
    'This invitation link is invalid. Double-check the URL or ask the team owner to send a new one.',
  'workspace.invitePage.notFoundTitle': 'Invitation Not Found',
  'workspace.invitePage.revokedSubtitle':
    'This invitation has been revoked by the workspace owner.',
  'workspace.invitePage.revokedTitle': 'Invitation Revoked',
  'workspace.invitePage.signInToAccept': 'Sign in to accept',
  'workspace.invitePage.switchAccountToAccept': 'Sign in as {{email}} to accept',
  'workspace.invitePage.signUpToJoin': 'Create account & join',
  'workspace.invitePage.title': 'Workspace Invitation',
  'workspace.invitePage.workspaceLimitSubtitle':
    "You've reached the maximum of {{limit}} workspaces. Leave one before joining another.",
  'workspace.invitePage.workspaceLimitTitle': 'Workspace Limit Reached',
  'workspace.members.empty': 'No members yet',
  'workspace.members.invite.emailLabel': 'Email Address',
  'workspace.members.invite.emailPlaceholder': 'jane@example.com',
  'workspace.members.invite.errors.alreadyInvited':
    '{{email}} already has a pending invitation. Resend or revoke it from the list below.',
  'workspace.members.invite.errors.alreadyMember':
    '{{email}} is already a member of this workspace.',
  'workspace.members.invite.failed': 'Failed to send invitation',
  'workspace.members.invite.limitReached':
    'This workspace can have up to {{limit}} members. Remove a member before inviting more.',
  'workspace.members.invite.roleLabel': 'Role',
  'workspace.members.invite.submit': 'Invite',
  'workspace.members.invite.subtitle':
    'Add new members by entering their email address and assigning a role',
  'workspace.members.invite.addAnother': 'Add another',
  'workspace.members.invite.button': 'Invite',
  'workspace.members.invite.modal.billIncrease': ' Your bill will increase by ${{amount}}/mo.',
  'workspace.members.invite.modal.cancel': 'Cancel',
  'workspace.members.invite.modal.confirm': 'Confirm',
  'workspace.members.invite.modal.description_one':
    'Your team is expanding! By confirming, you will invite 1 new team member to this workspace.',
  'workspace.members.invite.modal.description_other':
    'Your team is expanding! By confirming, you will invite {{count}} new team members to this workspace.',
  'workspace.members.invite.modal.expiryWarning': 'Team invites expire after 1 week.',
  'workspace.members.invite.modal.title': 'Invite Team Members',
  'workspace.members.invite.noPermissionHint':
    'Additional permissions are required to manage Team Members',
  'workspace.members.invite.partialSuccess':
    '{{success}} invited, {{failed}} failed. Check the addresses and try again.',
  'workspace.members.invite.success': 'Team members invited successfully.',
  'workspace.members.invite.title': 'Invite Members',
  'workspace.members.invite.upgradeCta': 'Upgrade',
  'workspace.members.invite.upgradeHint': 'This feature is available on the Pro plan.',
  'workspace.members.pending.empty': 'No pending invitations',
  'workspace.members.pending.expiresAt': 'Expires {{date}}',
  'workspace.members.pending.resend': 'Resend',
  'workspace.members.pending.resendFailed': 'Failed to resend invitation',
  'workspace.members.pending.resendSuccess': 'Invitation email resent',
  'workspace.members.pending.revoke': 'Revoke',
  'workspace.members.pending.revokeConfirm.content': 'The invitation link will no longer be valid.',
  'workspace.members.pending.revokeConfirm.title': 'Revoke this invitation?',
  'workspace.members.subtitle': 'Manage workspace members and invitations',
  'workspace.members.tabs.members': 'Team Members',
  'workspace.members.tabs.pending': 'Pending Invitations',
  'workspace.members.title': 'Members',
  'workspace.name.placeholder': 'Workspace name',
  'workspace.name.title': 'Name',
  'workspace.newWorkspace': 'New workspace',
  'workspace.personalTag': 'Personal',
  'workspace.switchWorkspace': 'Switch workspace',
  'workspace.upgradeModal.alreadyUpgraded': 'Already upgraded',
  'workspace.upgradeModal.changeWorkspace': 'Back',
  'workspace.upgradeModal.chargeDisclosure':
    'Clicking Upgrade charges ${{fee}} now, plus any applicable taxes. The subscription renews monthly until you cancel. Seats and on-demand usage are billed at month-end.',
  'workspace.upgradeModal.inviteLaterHint':
    'You can invite more members to your team in the next step.',
  'workspace.upgradeModal.memberCount_one': '{{count}} member',
  'workspace.upgradeModal.memberCount_other': '{{count}} members',
  'workspace.upgradeModal.memberIncluded': 'Included',
  'workspace.upgradeModal.ownerTag': 'Owner',
  'workspace.upgradeModal.totalPerMonth': '${{amount}} / month',
  'workspace.upgradeModal.youLabel': 'You',
  'workspace.upgradeModal.continueCta': 'Continue',
  'workspace.upgradeModal.createTeam': 'Create workspace',
  'workspace.upgradeModal.formSubtitle':
    'Only the platform fee is charged today — seat fees are settled at month-end.',
  'workspace.upgradeModal.formDescription': 'Review the details below and confirm your upgrade.',
  'workspace.upgradeModal.formTitle': 'Upgrade {{name}} to Pro',
  'workspace.upgradeModal.heading': 'Upgrade a workspace to Pro',
  'workspace.upgradeModal.hobbyTag': 'Hobby',
  'workspace.upgradeModal.noHobbyHint': "You don't own any Hobby workspaces to upgrade.",
  'workspace.upgradeModal.payFailed': 'Failed to start checkout',
  'workspace.upgradeModal.pickerLabel': 'Select a workspace',
  'workspace.upgradeModal.proTag': 'Pro',
  'workspace.upgradeModal.subtitle':
    'Unlock collaboration, larger credits, and higher rate limits.',
  'workspace.upgradeModal.successPage.amountLabel': 'Total paid',
  'workspace.upgradeModal.successPage.activating':
    'Activating your subscription — this usually takes a few seconds…',
  'workspace.upgradeModal.successPage.continueCta': 'Invite & continue',
  'workspace.upgradeModal.successPage.desc':
    '{{name}} is now on Pro. Invite teammates to start collaborating.',
  'workspace.upgradeModal.successPage.inviteDesc':
    'Send invites by email. They will receive a link to join the workspace.',
  'workspace.upgradeModal.successPage.inviteTitle': 'Invite teammates to {{name}}',
  'workspace.upgradeModal.successPage.paidAtLabel': 'Paid at',
  'workspace.upgradeModal.successPage.planTag': 'Workspace Pro',
  'workspace.upgradeModal.successPage.processingDesc':
    'Hang tight — we are confirming the payment with Stripe. This usually takes a few seconds.',
  'workspace.upgradeModal.successPage.processingTitle': 'Processing your payment…',
  'workspace.upgradeModal.successPage.recurring.monthly': 'Monthly',
  'workspace.upgradeModal.successPage.recurring.yearly': 'Yearly',
  'workspace.upgradeModal.successPage.recurringLabel': 'Billing cycle',
  'workspace.upgradeModal.successPage.seatsSummary': '{{count}} included seat',
  'workspace.upgradeModal.successPage.seatsSummary_other': '{{count}} included seats',
  'workspace.upgradeModal.successPage.skipCta': 'Skip for now',
  'workspace.upgradeModal.successPage.title': 'Upgrade complete',
  'workspace.upgradeModal.successToast': 'Upgrade complete — refreshing your plan…',
  'workspace.upgradeModal.title': 'Upgrade to Pro',
  'workspace.upgradeModal.upgradeButton': 'Upgrade',
  'workspace.wizard.back': 'Back',
  'workspace.wizard.cancel': 'Cancel',
  'workspace.wizard.next': 'Next',
  'workspace.wizard.step1.avatar.hint': 'Add an avatar to help your team recognize this workspace.',
  'workspace.wizard.step1.avatar.tooLarge': 'Avatar file must be smaller than 5MB.',
  'workspace.wizard.step1.avatar.uploadFailed': 'Failed to upload avatar',
  'workspace.wizard.step1.avatar.uploading': 'Uploading avatar…',
  'workspace.wizard.step1.cardNamePlaceholder': 'Your Workspace',
  'workspace.wizard.step1.description.label': 'Description',
  'workspace.wizard.step1.description.placeholder': "What's this workspace for? (optional)",
  'workspace.wizard.step1.features.admin': 'Centralized billing & admin controls',
  'workspace.wizard.step1.features.collaboration': 'Invite members to one shared workspace',
  'workspace.wizard.step1.features.roles': 'Roles & permissions',
  'workspace.wizard.step1.features.sharedAssets': 'Shared agents, files & knowledge bases',
  'workspace.wizard.step1.features.sharedCredits': 'Shared team credits pool',
  'workspace.wizard.step1.formSubtitle': 'Give your workspace a name and URL.',
  'workspace.wizard.step1.formTitle': 'Setup Your Workspace',
  'workspace.wizard.step1.name.label': 'Workspace name',
  'workspace.wizard.step1.name.placeholder': 'Example Team',
  'workspace.wizard.step1.name.required': 'Workspace name is required',
  'workspace.wizard.step1.slug.available': 'This URL is available',
  'workspace.wizard.step1.slug.checking': 'Checking availability…',
  'workspace.wizard.step1.slug.invalidBrandProtected':
    'This workspace URL is associated with a protected brand. Please apply from your organization email.',
  'workspace.wizard.step1.slug.invalidConsecutive': 'Slug cannot contain consecutive dashes.',
  'workspace.wizard.step1.slug.invalidLength':
    'Workspace URL must be {{min}}–{{max}} characters long.',
  'workspace.wizard.step1.slug.invalidPattern':
    'Slug must start and end with a letter or number; only lowercase letters, numbers and single dashes are allowed.',
  'workspace.wizard.step1.slug.invalidReserved': 'That slug is reserved. Please choose another.',
  'workspace.wizard.step1.slug.label': 'Workspace URL',
  'workspace.wizard.step1.slug.placeholder': 'example-team',
  'workspace.wizard.step1.slug.required': 'Workspace URL is required',
  'workspace.wizard.step1.slug.taken': 'This URL is already taken',
  'workspace.wizard.step1.subtitle': 'Unlock Agent Collaboration With Your Teammates',
  'workspace.wizard.step1.title': 'Workspace details',
  'workspace.wizard.step2.billing.freeSummary': 'Solo workspace · free',
  'workspace.wizard.step2.billing.inviteAfterCreateHint':
    'Invite teammates after creating this workspace.',
  'workspace.wizard.step2.billing.platformLine': 'Pro platform · monthly',
  'workspace.wizard.step2.billing.seatLine': 'Additional seats × {{count}}',
  'workspace.wizard.step2.billing.seatPostpaidNote':
    'Seats are billed at month-end: ${{seatFee}}/seat/month, based on actual use.',
  'workspace.wizard.step2.billing.title': 'Cost details',
  'workspace.wizard.step2.billing.total': 'Total',
  'workspace.wizard.step2.billing.totalFreeHint': 'Free for a solo workspace.',
  'workspace.wizard.step2.billing.totalMonthHint': 'Platform fee today · seats billed at month-end',
  'workspace.wizard.step2.chargeDisclosure':
    'Confirming creates this workspace on Pro and charges ${{fee}} now, plus any applicable taxes. The subscription renews monthly until you cancel. Seats and on-demand usage are billed at month-end.',
  'workspace.wizard.step2.confirmPurchase': 'Confirm purchase',
  'workspace.wizard.step2.createFailed': 'Failed to create workspace',
  'workspace.wizard.step2.details.description': "See what's included in your selected plan.",
  'workspace.wizard.step2.details.title': 'Plan Details',
  'workspace.wizard.step2.createFree': 'Create workspace',
  'workspace.wizard.step2.createdToast': 'Workspace {{name}} created.',
  'workspace.wizard.step2.hobbyAgreement':
    'Hobby is free to create and has no monthly credits. Top-ups or AutoTopUp are billed only after you confirm them.',
  'workspace.wizard.step2.header.description': 'Each workspace is billed separately.',
  'workspace.wizard.step2.header.title': 'Select Your Plan',
  'workspace.wizard.step2.freeLimitReached':
    "You've reached the free workspace limit ({{limit}}). Upgrade to Pro to create more.",
  'workspace.wizard.step2.totalLimitReached':
    "You've reached the maximum of {{limit}} workspaces. Leave one before creating another.",
  'workspace.wizard.step2.features.hobby.share': 'Single-owner workspace',
  'workspace.wizard.step2.features.hobby.solo': 'Solo workspace, no member seats',
  'workspace.wizard.step2.features.hobby.onDemand':
    'On-demand usage · Auto top-up (${{price}} / 1M credits)',
  'workspace.wizard.step2.features.hobby.upgradable': 'Upgrade anytime to invite members',
  'workspace.wizard.step2.features.pro.adminControls': 'Centralized billing, roles, and audit logs',
  'workspace.wizard.step2.features.pro.collaboration': 'Invite members · share agents and files',
  'workspace.wizard.step2.features.pro.onDemand':
    'On-demand usage · Auto top-up (${{price}} / 1M credits)',
  'workspace.wizard.step2.features.pro.priorityModels': 'Priority premium models',
  'workspace.wizard.step2.features.pro.support': 'Priority email support',
  'workspace.wizard.step2.left.creditsHobbyHint': 'No monthly credits · pay as you go',
  'workspace.wizard.step2.left.creditsLabel': 'Credits per month',
  'workspace.wizard.step2.left.creditsProHint': 'Shared workspace pool · seats do not add credits',
  'workspace.wizard.step2.left.freeHeadline': 'Solo workspace',
  'workspace.wizard.step2.left.freeTagline': 'For individual use. Upgrade later to invite members.',
  'workspace.wizard.step2.left.headline': 'Team workspace',
  'workspace.wizard.step2.left.hobbyTopUpHint':
    'Top up anytime: ${{price}}/M ({{percent}}% above base, with no subscription fee)',
  'workspace.wizard.step2.left.proTagline': '${{fee}}/seat/month. Extra usage is billed on demand.',
  'workspace.wizard.step2.left.proTopUpHint':
    'Top up when credits run low: ${{price}}/M ({{percent}}% off the standard rate)',
  'workspace.wizard.step2.payFailed': 'Failed to start checkout',
  'workspace.wizard.step2.pill.free': 'Free',
  'workspace.wizard.step2.pill.freeUsed': '{{used}}/{{limit}} used',
  'workspace.wizard.step2.pill.proPerSeat': '${{fee}} / seat / month',
  'workspace.wizard.step2.plans.hobby': 'Hobby',
  'workspace.wizard.step2.plans.pro': 'Pro',
  'workspace.wizard.step2.seats.hint': 'Between {{min}} and {{max}} seats.',
  'workspace.wizard.step2.seats.label': 'Seats',
  'workspace.wizard.step2.subtitle':
    'Each workspace is billed separately. Choose a plan to finish.',
  'workspace.wizard.step2.title': 'Choose plan',
  'workspace.wizard.step3.addMore': 'Add more',
  'workspace.wizard.step3.allFailed': 'Could not send invitations',
  'workspace.wizard.step3.emailPlaceholder': 'name@company.com',
  'workspace.wizard.step3.invitedCount': 'Invited {{count}} member(s)',
  'workspace.wizard.step3.inviteAndContinue': 'Invite and continue',
  'workspace.wizard.step3.noEmails': 'No valid emails entered. Skipping invitations.',
  'workspace.wizard.step3.skip': 'Skip for now',
  'workspace.wizard.step3.subtitle':
    'Add your team members by email. You can also invite them later.',
  'workspace.wizard.step3.title': 'Welcome to {{name}}!',
  'workspace.wizard.closeConfirm.cancel': 'Keep editing',
  'workspace.wizard.closeConfirm.content':
    'Your workspace details have not been saved. Closing now will discard them.',
  'workspace.wizard.closeConfirm.ok': 'Discard',
  'workspace.wizard.closeConfirm.title': 'Discard workspace setup?',
  'workspace.wizard.title': 'Create Workspace',
  // Tooltips for action buttons disabled by the active user's workspace role.
  // Wired through `usePermission`; the two role buckets correspond to the
  // RBAC matrix (member can create/edit own; owner has everything).
  'workspace.permission.requiresMember':
    "You don't have permission to do this. Ask a workspace owner to grant you Member or higher.",
  'workspace.permission.requiresOwner':
    'Only workspace owners can do this. Ask an owner if you need this changed.',
  'workspace.permission.requiresPrimaryOwner':
    'Only the primary owner can delete this workspace. Transfer primary ownership first if needed.',
  'workspace.onboarding.title': 'Set up your workspace',
  'workspace.onboarding.stepLabel': 'Step {{current}} of {{total}}',
  'workspace.onboarding.skip': 'Skip',
  'workspace.onboarding.prev': 'Back',
  'workspace.onboarding.next': 'Next',
  'workspace.onboarding.finish': 'Finish',
  'workspace.onboarding.skipConfirm.title': 'Skip workspace setup?',
  'workspace.onboarding.skipConfirm.description':
    'You can always customize LobeAI and add agents later in Workspace settings.',
  'workspace.onboarding.skipConfirm.ok': 'Skip',
  'workspace.onboarding.skipConfirm.cancel': 'Continue setup',
  'workspace.onboarding.toast.saved': 'Saved',
  'workspace.onboarding.toast.failed': 'Could not save. Please try again.',
  'workspace.onboarding.step1.heading': 'Personalize LobeAI',
  'workspace.onboarding.step1.subtitle':
    'Give your workspace assistant an identity your team will recognize.',
  'workspace.onboarding.step1.avatarLabel': 'Avatar',
  'workspace.onboarding.step1.avatarHint': 'Pick an emoji or upload an image.',
  'workspace.onboarding.step1.avatarTooLarge': 'Avatar file must be smaller than 5MB.',
  'workspace.onboarding.step1.avatarUploadFailed': 'Failed to upload avatar',
  'workspace.onboarding.step1.nameLabel': "LobeAI's name",
  'workspace.onboarding.step1.namePlaceholder': 'e.g. LobeAI',
  'workspace.onboarding.step1.suggestion.title': 'Need ideas? Pick one to start.',
  'workspace.onboarding.step1.suggestion.switch': 'Try another set',
  'workspace.onboarding.step1.guide.name.title': 'Give It a Name',
  'workspace.onboarding.step1.guide.name.desc':
    'A name your teammates instantly recognize keeps collaboration smooth.',
  'workspace.onboarding.step1.guide.knowYou.title': 'Get to Know the Team',
  'workspace.onboarding.step1.guide.knowYou.desc':
    "Share what you're working on — more context means better help.",
  'workspace.onboarding.step1.guide.growTogether.title': 'Grow with the Team',
  'workspace.onboarding.step1.guide.growTogether.desc':
    "Every conversation teaches me your team's vibe — the longer we work together, the better.",
  'workspace.onboarding.step1.footer':
    "Set up your workspace's LobeAI assistant — it learns from every conversation and grows into your team's go-to teammate.",
  'workspace.onboarding.step1.sentence.1': "Ready? Let me be your team's go-to teammate.",
  'workspace.onboarding.step1.sentence.2': 'What role do you want me to play in this workspace?',
  'workspace.onboarding.step1.sentence.3': 'First, give me a name your team will love :)',
  'workspace.onboarding.step2.heading': "What's this workspace mostly for?",
  'workspace.onboarding.step2.sentence.1': "What's this workspace mostly for?",
  'workspace.onboarding.step2.sentence.2': 'Which areas should I prioritize for your team?',
  'workspace.onboarding.step2.sentence.3': "Pick a few — I'll recommend matching teammates :)",
  'workspace.onboarding.step2.subtitle':
    "Pick one or more — we'll suggest starter agents to match. You can change this later.",
  'workspace.onboarding.step2.scenario.business': 'Business & Strategy',
  'workspace.onboarding.step2.scenario.coding': 'Programming & Development',
  'workspace.onboarding.step2.scenario.creator': 'Creator Economy',
  'workspace.onboarding.step2.scenario.design': 'Design & Creativity',
  'workspace.onboarding.step2.scenario.education': 'Learning & Research',
  'workspace.onboarding.step2.scenario.finance-legal': 'Finance & Legal',
  'workspace.onboarding.step2.scenario.health': 'Health & Habits',
  'workspace.onboarding.step2.scenario.hobbies': 'Hobbies & Culture',
  'workspace.onboarding.step2.scenario.hr': 'People & HR',
  'workspace.onboarding.step2.scenario.investing': 'Investing & Finance',
  'workspace.onboarding.step2.scenario.marketing': 'Marketing & Promotion',
  'workspace.onboarding.step2.scenario.operations': 'Operations & Admin',
  'workspace.onboarding.step2.scenario.parenting': 'Family & Parenting',
  'workspace.onboarding.step2.scenario.personal': 'Personal Life',
  'workspace.onboarding.step2.scenario.product': 'Product & Management',
  'workspace.onboarding.step2.scenario.sales': 'Sales & Customer Relations',
  'workspace.onboarding.step2.scenario.writing': 'Content Creation',
  'workspace.onboarding.step3.heading': 'Add a few agents to your workspace',
  'workspace.onboarding.step3.subtitle': 'Pick a few to start — discover more anytime.',
  'workspace.onboarding.step3.categoryAll': 'All',
  'workspace.onboarding.step3.skipInstall': "Don't install any",
  'workspace.onboarding.step3.installed': 'Added {{count}} agent(s) to your workspace',
  'workspace.onboarding.step3.empty': 'No recommendations available right now.',
  'workspaceSetting.breadcrumb.settings': 'Settings',
  'workspaceSetting.group.admin': 'Admin',
  'workspaceSetting.group.agent': 'Agent',
  'workspaceSetting.group.general': 'General',
  'workspaceSetting.group.subscription': 'Plans',
  'workspaceSetting.tab.billing': 'Bills',
  'workspaceSetting.tab.credits': 'Credits',
  'workspaceSetting.tab.general': 'General',
  'workspaceSetting.tab.members': 'Members',
  'workspaceSetting.tab.plans': 'Plans',
  'workspaceSetting.storage.comingSoon': 'Workspace-scoped data import & export is coming soon.',
  'workspaceSetting.storage.danger.clear.desc':
    'Delete all data in this workspace, including agents, files, messages, and skills. The workspace itself will NOT be deleted.',
  'workspaceSetting.storage.danger.clear.title': 'Clear Workspace Data',
  'workspaceSetting.storage.danger.reset.desc':
    'Restore all workspace settings to defaults. Workspace data will not be deleted.',
  'workspaceSetting.storage.danger.reset.title': 'Reset Workspace Settings',
  'workspaceSetting.storage.telemetry.desc':
    'Help us improve {{appName}} with anonymous workspace usage data',
  'workspaceSetting.storage.telemetry.title': 'Send Anonymous Workspace Usage Data',
  'workspaceSetting.tab.skill': 'Skills',
  'workspaceSetting.tab.usage': 'Usage',
  'tools.add': 'Add Skill',
  'tools.addSkillOrConnector': 'Add Skills / Connector',
  'tools.builtins.groupName': 'Built-ins',
  'tools.builtins.install': 'Install',
  'tools.builtins.installed': 'Installed',
  'tools.builtins.lobe-artifacts.description':
    'Generate and preview interactive UI components and visualizations',
  'tools.builtins.lobe-artifacts.readme':
    'Generate and live-preview interactive UI components, data visualizations, charts, SVG graphics, and web applications. Create rich visual content that users can interact with directly.',
  'tools.builtins.lobe-artifacts.title': 'Artifacts',
  'tools.builtins.lobe-calculator.title': 'Calculator',
  'tools.builtins.lobe-calculator.description':
    'Perform mathematical calculations, solve equations, and work with symbolic expressions',
  'tools.builtins.lobe-calculator.readme':
    'Advanced mathematical calculator supporting basic arithmetic, algebraic equations, calculus operations, and symbolic math. Includes base conversion, equation solving, differentiation, integration, and more.',
  'tools.builtins.lobe-cloud-sandbox.description':
    'Execute code, run commands, and manage files in a secure cloud environment',
  'tools.builtins.lobe-cloud-sandbox.readme':
    'Execute Python, JavaScript, and TypeScript code in an isolated cloud environment. Run shell commands, manage files, search content with regex, and export results securely.',
  'tools.builtins.lobe-cloud-sandbox.title': 'Cloud Sandbox',
  'tools.builtins.lobe-local-system.description':
    'Access and manage local files, run shell commands on your desktop',
  'tools.builtins.lobe-local-system.readme':
    'Access your local filesystem on desktop. Read, write, search, and organize files. Execute shell commands with background task support and grep content with regex patterns.',
  'tools.builtins.lobe-local-system.title': 'Local System',
  'tools.builtins.lobe-notebook.description': 'Create and manage documents in the topic notebook',
  'tools.builtins.lobe-notebook.readme':
    'Create and manage persistent documents within conversation topics. Save notes, reports, articles, and markdown content that stays accessible across sessions.',
  'tools.builtins.lobe-notebook.title': 'Notebook',
  'tools.builtins.lobe-user-memory.description':
    'Remember user preferences, activities, and experiences across conversations',
  'tools.builtins.lobe-user-memory.readme':
    'Build a personalized knowledge base about you. Remember preferences, track activities and experiences, store identity information, and recall relevant context in future conversations.',
  'tools.builtins.lobe-user-memory.title': 'Memory',
  // ===== Additional Builtin Tools =====
  'tools.builtins.lobe-activator.description': 'Discover and activate tools and skills',
  'tools.builtins.lobe-activator.title': 'Tools & Skills Activator',
  'tools.builtins.lobe-agent-builder.description':
    'Configure agent metadata, model settings, plugins, and the system prompt',
  'tools.builtins.lobe-agent-builder.title': 'Agent Builder',
  'tools.builtins.lobe-agent-documents.description':
    'Manage agent-scoped documents (list, create, read, edit, remove, rename) and load rules',
  'tools.builtins.lobe-agent-documents.title': 'Documents',
  'tools.builtins.lobe-agent-management.description': 'Create, manage, and orchestrate AI agents',
  'tools.builtins.lobe-agent-management.title': 'Agent Management',
  'tools.builtins.lobe-agent.description':
    'Built-in Lobe Agent capabilities: plan and todo management, sub-agent dispatch, and visual media analysis',
  'tools.builtins.lobe-agent.title': 'Lobe Agent',
  'tools.builtins.lobe-brief.description':
    'Report progress, deliver results, and request user decisions',
  'tools.builtins.lobe-brief.title': 'Brief Tools',
  'tools.builtins.lobe-creds.description':
    'Manage user credentials for authentication, environment variable injection, and API verification — handle API keys, OAuth tokens, and secrets for third-party integrations.',
  'tools.builtins.lobe-creds.title': 'Credentials',
  'tools.builtins.lobe-cron.description':
    'Manage scheduled tasks that run automatically at specified times. Create, update, enable/disable, and monitor recurring tasks for your agents.',
  'tools.builtins.lobe-cron.title': 'Scheduled Tasks',
  'tools.builtins.lobe-group-agent-builder.description':
    'Configure group metadata, members, and shared content for multi-agent groups',
  'tools.builtins.lobe-group-agent-builder.title': 'Group Agent Builder',
  'tools.builtins.lobe-group-management.description':
    'Orchestrate and manage multi-agent group conversations',
  'tools.builtins.lobe-group-management.title': 'Group Management',
  'tools.builtins.lobe-knowledge-base.description':
    'Search uploaded documents and domain knowledge via semantic vector search — for persistent, reusable reference',
  'tools.builtins.lobe-knowledge-base.title': 'Knowledge Base',
  'tools.builtins.lobe-message.description':
    'Send, read, edit, and manage messages across multiple messaging platforms with a unified interface',
  'tools.builtins.lobe-message.readme':
    'Cross-platform messaging tool supporting Discord, Telegram, Slack, Google Chat, and IRC. Provides unified APIs for message operations, reactions, pins, threads, channel management, and platform-specific features like polls.',
  'tools.builtins.lobe-message.title': 'Message',
  'tools.builtins.lobe-page-agent.description':
    'Create, read, update, and delete nodes in XML-structured documents',
  'tools.builtins.lobe-page-agent.readme':
    'Create and edit structured documents with precise node-level control. Initialize from Markdown, perform batch insert/modify/remove operations, and find-and-replace text across documents.',
  'tools.builtins.lobe-page-agent.title': 'Document',
  'tools.builtins.lobe-remote-device.description':
    'Discover and manage remote desktop device connections',
  'tools.builtins.lobe-remote-device.readme':
    'Manage connections to your desktop devices. List online devices, activate a device for remote operations, and check connection status.',
  'tools.builtins.lobe-remote-device.title': 'Remote Device',
  'tools.builtins.lobe-skill-store.description':
    'Browse and install agent skills from the LobeHub marketplace. Use this when you need extended capabilities or want to install a specific skill.',
  'tools.builtins.lobe-skill-store.title': 'Skill Store',
  'tools.builtins.lobe-skills.description': 'Activate and use reusable skill packages',
  'tools.builtins.lobe-skills.title': 'Skills',
  'tools.builtins.lobe-task.description':
    'Create, list, edit, and delete tasks with dependencies and review configuration',
  'tools.builtins.lobe-task.title': 'Task Tools',
  'tools.builtins.lobe-topic-reference.description':
    'Retrieve context from referenced topic conversations',
  'tools.builtins.lobe-topic-reference.title': 'Topic Reference',
  'tools.builtins.lobe-user-interaction.description':
    'Ask users questions through UI interactions and observe their lifecycle outcomes',
  'tools.builtins.lobe-user-interaction.title': 'User Interaction',
  'tools.builtins.lobe-web-browsing.description':
    'Search the web for current information and crawl web pages to extract content. Supports multiple search engines, categories, and time ranges.',
  'tools.builtins.lobe-web-browsing.readme':
    'Search the web for current information and crawl web pages to extract content. Supports multiple search engines, categories, and time ranges for comprehensive research.',
  'tools.builtins.lobe-web-browsing.title': 'Web Browsing',
  'tools.builtins.lobe-web-onboarding.description':
    'Drive the web onboarding flow with a controlled agent runtime',
  'tools.builtins.lobe-web-onboarding.title': 'Web Onboarding',
  // ===== Builtin Agent Skills =====
  'tools.builtins.find-skills.description':
    'Helps users discover and install agent skills when they ask "how do I do X", "find a skill for X", or want to extend capabilities',
  'tools.builtins.find-skills.title': 'Find Skills',
  'tools.builtins.lobe-agent-browser.description':
    'Browser automation CLI for AI agents. Use when tasks involve website or Electron interaction such as navigation, form filling, clicking, screenshot capture, scraping data, login flows, and end-to-end app testing.',
  'tools.builtins.lobe-agent-browser.title': 'Agent Browser',
  'tools.builtins.lobehub.description':
    'Manage the LobeHub platform via CLI — knowledge bases, memory, agents, files, search, generation, and more.',
  'tools.builtins.lobehub.title': 'LobeHub',
  'tools.builtins.task.description':
    'Task management and execution — create, track, review, and complete tasks via CLI.',
  'tools.builtins.task.title': 'Task',
  'tools.builtins.configure': 'Configure',
  'tools.builtins.notInstalled': 'Not Installed',
  'tools.builtins.uninstall': 'Uninstall',
  'tools.builtins.uninstallConfirm.desc':
    'Are you sure you want to uninstall {{name}}? This skill will be removed from the current agent.',
  'tools.builtins.uninstallConfirm.title': 'Uninstall {{name}}',
  'tools.builtins.uninstalled': 'Uninstalled',
  'tools.disabled': 'The current model does not support function calls and cannot use the skill',
  'tools.composio.addServer': 'Add Server',
  'tools.composio.authCompleted': 'Authentication Completed',
  'tools.composio.authFailed': 'Authentication Failed',
  'tools.composio.authRequired': 'Authentication Required',
  'tools.composio.connect': 'Connect',
  'tools.composio.connected': 'Connected',
  'tools.composio.disconnect': 'Disconnect',
  'tools.composio.disconnected': 'Disconnected',
  'tools.composio.error': 'Error',
  'tools.composio.remove': 'Remove',
  'tools.composio.removeConfirm.desc':
    '{{name}} will be permanently removed from your connected services. This action cannot be undone.',
  'tools.composio.removeConfirm.title': 'Remove {{name}}?',
  'tools.composio.groupName': 'Composio Tools',
  'tools.composio.manage': 'Manage Composio',
  'tools.composio.manageTitle': 'Manage Composio Integration',
  'tools.composio.noServers': 'No connected servers',
  'tools.composio.notEnabled': 'Composio service not enabled',
  'tools.composio.oauthRequired': 'Please complete OAuth authentication in the new window',
  'tools.composio.pendingAuth': 'Pending Authentication',
  'tools.composio.reauthorize': 'Re-authorize',
  'tools.composio.serverCreated': 'Server created successfully',
  'tools.composio.serverCreatedFailed': 'Failed to create server',
  'tools.composio.serverRemoved': 'Server removed',
  'tools.composio.servers': 'servers',

  'tools.composio.servers.airtable.description':
    'Airtable is a cloud-based database and spreadsheet platform that combines the flexibility of a spreadsheet with the power of a database, enabling teams to organize, track, and collaborate on projects with customizable views and powerful automation features',

  'tools.composio.servers.airtable.readme':
    'Integrate with Airtable to manage your databases and workflows. Query records, create entries, update data, and automate operations with customizable views and powerful tracking features.',

  'tools.composio.servers.cal-com.description':
    'Cal.com is an open-source scheduling platform that helps you schedule meetings without the back-and-forth emails. Manage event types, bookings, availability, and integrate with calendars for seamless appointment scheduling',

  'tools.composio.servers.cal-com.readme':
    'Connect to Cal.com to manage your scheduling and appointments. View availability, book meetings, manage event types, and automate your calendar through natural conversation.',

  'tools.composio.servers.clickup.description':
    'ClickUp is a comprehensive project management and productivity platform that helps teams organize tasks, manage projects, and collaborate effectively with customizable workflows and powerful tracking features',

  'tools.composio.servers.clickup.readme':
    'Connect to ClickUp to manage tasks, track projects, and organize your work. Create tasks, update statuses, manage custom workflows, and collaborate with your team through natural language commands.',

  'tools.composio.servers.confluence.description':
    'Confluence is a team workspace where knowledge and collaboration meet',

  'tools.composio.servers.confluence.readme':
    'Connect to Confluence to access and manage team documentation. Search pages, create content, organize spaces, and build your knowledge base through conversational AI assistance.',

  'tools.composio.servers.dropbox.description':
    'Complete file management solution for Dropbox cloud storage. Upload, download, organize files and folders, manage sharing and collaboration, handle file versions, create file requests, and perform batch operations on your Dropbox files and folders',

  'tools.composio.servers.dropbox.readme':
    'Integrate with Dropbox to access and manage your files. Upload, download, share files, manage folders, handle file versions, and organize your cloud storage through conversational AI.',

  'tools.composio.servers.figma.description':
    'Figma is a collaborative interface design tool for web and mobile applications.',

  'tools.composio.servers.figma.readme':
    'Connect to Figma to access design files and collaborate on projects. View designs, export assets, browse components, and manage your design workflow through natural conversation.',

  'tools.composio.servers.github.description': 'Enhanced GitHub MCP Server',

  'tools.composio.servers.github.readme':
    'Connect to GitHub to manage repositories, issues, pull requests, and code. Search code, review changes, create branches, and collaborate on software development projects through conversational AI.',

  // Composio Servers i18n
  'tools.composio.servers.gmail.description': 'Gmail is a free email service provided by Google',

  'tools.composio.servers.gmail.readme':
    'Bring the power of Gmail directly into your AI assistant. Read, compose, and send emails, search your inbox, manage labels, and organize your communications—all through natural conversation.',

  'tools.composio.servers.google-calendar.description':
    'Google Calendar is a time-management and scheduling calendar service',

  'tools.composio.servers.google-calendar.readme':
    'Integrate Google Calendar to view, create, and manage your events seamlessly. Schedule meetings, set reminders, check availability, and coordinate your time—all through natural language commands.',

  'tools.composio.servers.google-docs.description':
    'Google Docs is a word processor included as part of the free, web-based Google Docs Editors suite',

  'tools.composio.servers.google-docs.readme':
    'Integrate with Google Docs to create, edit, and manage documents. Write content, format text, collaborate in real-time, and access your documents through natural conversation.',

  'tools.composio.servers.google-drive.description': 'Google Drive is a cloud storage service',

  'tools.composio.servers.google-drive.readme':
    'Connect to Google Drive to access, organize, and manage your files. Search documents, upload files, share content, and navigate your cloud storage efficiently through AI assistance.',

  'tools.composio.servers.google-sheets.description':
    'Google Sheets is a web-based spreadsheet application that allows users to create, edit, and collaborate on spreadsheets online',

  'tools.composio.servers.google-sheets.readme':
    'Connect to Google Sheets to read, write, and analyze spreadsheet data. Perform calculations, generate reports, create charts, and manage tabular data collaboratively with AI assistance.',

  'tools.composio.servers.hubspot.description':
    'HubSpot is a developer and marketer of software products for inbound marketing, sales, and customer service',

  'tools.composio.servers.hubspot.readme':
    'Integrate with HubSpot to manage contacts, deals, and marketing campaigns. Access CRM data, track pipelines, automate workflows, and streamline your sales and marketing operations.',

  'tools.composio.servers.jira.description':
    'Jira is a project management and issue tracking tool developed by Atlassian',

  'tools.composio.servers.jira.readme':
    'Integrate with Jira to manage issues, track progress, and organize sprints. Create tickets, update statuses, query project data, and streamline your development workflow through natural conversation.',

  'tools.composio.servers.notion.description':
    'Notion is a collaborative productivity and note-taking application',

  'tools.composio.servers.notion.readme':
    'Connect to Notion to access and manage your workspace. Create pages, search content, update databases, and organize your knowledge base—all through natural conversation with your AI assistant.',

  'tools.composio.servers.onedrive.description':
    'OneDrive is a file hosting service and synchronization service operated by Microsoft',

  'tools.composio.servers.onedrive.readme':
    'Connect to OneDrive to access and manage your Microsoft cloud files. Upload, download, share files, organize folders, and collaborate on documents through AI-powered assistance.',

  'tools.composio.servers.outlook-mail.description':
    'Outlook Mail is a web-based suite of webmail, contacts, tasks, and calendaring services from Microsoft.',

  'tools.composio.servers.outlook-mail.readme':
    'Integrate with Outlook Mail to read, send, and manage your Microsoft emails. Search messages, compose emails, manage folders, and organize your inbox through natural conversation.',

  'tools.composio.servers.salesforce.description':
    "Salesforce is the world's leading customer relationship management (CRM) platform that helps businesses connect with customers, partners, and potential customers",

  'tools.composio.servers.salesforce.readme':
    'Connect to Salesforce to manage customer relationships and sales data. Query records, update opportunities, track leads, and automate your CRM workflows through natural language commands.',

  'tools.composio.servers.slack.description':
    'Slack is a messaging app for business that connects people to the information they need',

  'tools.composio.servers.slack.readme':
    'Integrate with Slack to send messages, search conversations, and manage channels. Connect with your team, automate communication workflows, and access workspace information through natural language.',

  'tools.composio.servers.supabase.description': 'Supabase official MCP Server',

  'tools.composio.servers.supabase.readme':
    'Integrate with Supabase to manage your database and backend services. Query data, manage authentication, handle storage, and interact with your application backend through natural conversation.',

  'tools.composio.servers.whatsapp.description':
    'WhatsApp Business API integration that enables sending text messages, media, and managing conversations with customers. Perfect for customer support, marketing campaigns, and automated messaging workflows through the official WhatsApp Business platform.',

  'tools.composio.servers.whatsapp.readme':
    'Integrate with WhatsApp Business to send messages, manage conversations, and engage with customers. Automate messaging workflows and handle communications through conversational AI.',

  'tools.composio.servers.youtube.description':
    'YouTube is a video-sharing platform where users can upload, share, and discover content. Access video information, transcripts, and metadata programmatically.',

  'tools.composio.servers.youtube.readme':
    'Connect to YouTube to search videos, access transcripts, and retrieve video information. Analyze content, extract metadata, and discover videos through natural conversation.',

  'tools.composio.servers.zendesk.description': 'Zendesk is a customer service software company',

  'tools.composio.servers.zendesk.readme':
    'Integrate with Zendesk to manage support tickets and customer interactions. Create, update, and track support requests, access customer data, and streamline your support operations.',

  'tools.composio.tools': 'tools',

  'tools.composio.verifyAuth': 'I have completed authentication',

  'tools.lobehubSkill.authorize': 'Authorize',

  'tools.lobehubSkill.connect': 'Connect',

  'tools.lobehubSkill.connected': 'Connected',

  'tools.lobehubSkill.disconnect': 'Disconnect',

  'tools.lobehubSkill.disconnectConfirm.desc':
    "You can still continue previous chats that reference {{name}} content. However, the assistant won't be able to access new content or perform new tasks.",

  'tools.lobehubSkill.disconnectConfirm.title': 'Disconnect {{name}}?',

  'tools.lobehubSkill.disconnected': 'Disconnected',

  'tools.lobehubSkill.error': 'Error',
  // LobeHub Skill Providers i18n
  'tools.lobehubSkill.providers.github.description':
    'GitHub is a platform for version control and collaboration, enabling developers to host, review, and manage code repositories.',
  'tools.lobehubSkill.providers.github.readme':
    'Connect to GitHub to access your repositories, create and manage issues, review pull requests, and collaborate on code—all through natural conversation with your AI assistant.',
  'tools.lobehubSkill.providers.linear.description':
    'Linear is a modern issue tracking and project management tool designed for high-performance teams to build better software faster',
  'tools.lobehubSkill.providers.linear.readme':
    'Bring the power of Linear directly into your AI assistant. Create and update issues, manage sprints, track project progress, and streamline your development workflow—all through natural conversation.',
  'tools.lobehubSkill.providers.microsoft.description':
    'Outlook Calendar is an integrated scheduling tool within Microsoft Outlook that enables users to create appointments, organize meetings with others, and manage their time and events effectively.',
  'tools.lobehubSkill.providers.microsoft.readme':
    'Integrate with Outlook Calendar to view, create, and manage your events seamlessly. Schedule meetings, check availability, set reminders, and coordinate your time—all through natural language commands.',
  'tools.lobehubSkill.providers.notion.description':
    'Notion is a collaborative productivity and note-taking application.',
  'tools.lobehubSkill.providers.notion.readme':
    'Connect to Notion to access and manage your workspace. Create pages, search content, update databases, and organize your knowledge base—all through natural conversation with your AI assistant.',
  'tools.lobehubSkill.providers.twitter.description':
    'X (Twitter) is a social media platform for sharing real-time updates, news, and engaging with your audience through posts, replies, and direct messages.',
  'tools.lobehubSkill.providers.twitter.readme':
    'Connect to X (Twitter) to post tweets, manage your timeline, and engage with your audience. Create content, schedule posts, monitor mentions, and build your social media presence through conversational AI.',
  'tools.lobehubSkill.providers.vercel.description':
    'Vercel is a cloud platform for frontend developers, providing hosting and serverless functions to deploy web applications with ease.',
  'tools.lobehubSkill.providers.vercel.readme':
    'Connect to Vercel to manage your deployments, monitor project status, and control your infrastructure. Deploy applications, check build logs, manage environment variables, and scale your projects through conversational AI.',

  'tools.notInstalled': 'Not Installed',
  'tools.notInstalledWarning':
    'This skill is not currently installed, which may affect agent functionality.',
  'tools.plugins.enabled': 'Enabled: {{num}}',
  'tools.plugins.groupName': 'Skills',
  'tools.plugins.management': 'Skill Management',
  'tools.plugins.noEnabled': 'No skills enabled',
  'tools.plugins.store': 'Add skill',
  'tools.search': 'Search skills...',
  'tools.activation.auto': 'Auto',
  'tools.activation.auto.desc': 'Smart',
  'tools.activation.fixed.hint': 'Always on — managed by the app and can’t be turned off',
  'tools.activation.pin': 'Pin',
  'tools.activation.pinned': 'Pinned',
  'tools.activation.pinned.desc': 'Always On',
  'tools.skillActivateMode.auto.desc':
    'AI can autonomously activate tools, run skills, and install new skills from the store',
  'tools.skillActivateMode.auto.title': 'Auto',
  'tools.skillActivateMode.manual.desc': 'Only user-selected tools and skills are available to AI',
  'tools.skillActivateMode.manual.title': 'Manual',
  'tools.skillActivateMode.title': 'Activate Mode',
  'tools.tabs.all': 'All',
  'tools.tabs.installed': 'Enabled',
  'tools.title': 'Skills',
};
