import type { TranslationMap } from '../types';

// English chunk 1/5. Source of truth for translators.
const en1: TranslationMap = {
  'nav.home': 'Home',
  'nav.human': 'Human',
  'nav.chat': 'Chat',
  'nav.connections': 'Connections',
  'nav.memory': 'Intelligence',
  'nav.alerts': 'Alerts',
  'nav.rewards': 'Rewards',
  'nav.settings': 'Settings',
  'common.cancel': 'Cancel',
  'common.save': 'Save',
  'common.confirm': 'Confirm',
  'common.delete': 'Delete',
  'common.edit': 'Edit',
  'common.create': 'Create',
  'common.search': 'Search',
  'common.loading': 'loading…',
  'common.error': 'Error',
  'common.success': 'Success',
  'common.back': 'Back',
  'common.next': 'Next',
  'common.finish': 'Finish',
  'common.close': 'Close',
  'common.enabled': 'Enabled',
  'common.disabled': 'Disabled',
  'common.on': 'On',
  'common.off': 'Off',
  'common.yes': 'Yes',
  'common.no': 'No',
  'common.ok': 'Got it',
  'common.retry': 'Try again',
  'common.copy': 'Copy',
  'common.copied': 'Copied',
  'common.learnMore': 'Learn more',
  'common.seeAll': 'View',
  'common.dismiss': 'Dismiss',
  'common.clear': 'Clear',
  'common.reset': 'Reset',
  'common.refresh': 'Refresh',
  'common.export': 'Export',
  'common.import': 'Import',
  'common.upload': 'Upload',
  'common.download': 'Download',
  'common.add': 'Add',
  'common.remove': 'Remove',
  'common.showMore': 'Show more',
  'common.showLess': 'Show less',
  'common.submit': 'Submit',
  'common.continue': 'Continue',
  'settings.general': 'General',
  'settings.featuresAndAI': 'Features & AI',
  'settings.billingAndRewards': 'Billing & Rewards',
  'settings.support': 'Support',
  'settings.advanced': 'Advanced',
  'settings.dangerZone': 'Danger Zone',
  'settings.account': 'Account',
  'settings.accountDesc': 'Recovery phrase, team, connections, and privacy',
  'settings.notifications': 'Notifications',
  'settings.notificationsDesc': 'Do Not Disturb and per-account notification controls',
  'settings.features': 'Features',
  'settings.featuresDesc': 'Screen awareness, messaging, and tools',
  'settings.aiModels': 'AI & Models',
  'settings.aiModelsDesc': 'Local AI model setup, downloads, and LLM provider',
  'settings.ai': 'AI Configuration',
  'settings.aiDesc': 'Cloud providers, local Ollama models, and per-workload routing',
  'settings.billingUsage': 'Billing & Usage',
  'settings.billingUsageDesc': 'Subscription plan, credits, and payment methods',
  'settings.rewards': 'Rewards',
  'settings.rewardsDesc': 'Referrals, coupons, and earned credits',
  'settings.restartTour': 'Restart Tour',
  'settings.restartTourDesc': 'Replay the product walkthrough from the beginning',
  'settings.about': 'About',
  'settings.aboutDesc': 'App version and software updates',
  'settings.developerOptions': 'Advanced',
  'settings.developerOptionsDesc':
    'AI configuration, messaging channels, tools, diagnostics, and debug panels',
  'settings.clearAppData': 'Clear App Data',
  'settings.clearAppDataDesc': 'Sign out and permanently clear all local app data',
  'settings.logOut': 'Log out',
  'settings.logOutDesc': 'Sign out of your account',
  'settings.language': 'Language',
  'settings.languageDesc': 'Display language for the app interface',
  'settings.alerts': 'Alerts',
  'settings.alertsDesc': 'View recent alerts and activity in your inbox',
  'settings.account.recoveryPhrase': 'Recovery Phrase',
  'settings.account.recoveryPhraseDesc': 'View and back up your account recovery phrase',
  'settings.account.team': 'Team',
  'settings.account.teamDesc': 'Manage team members and permissions',
  'settings.account.connections': 'Connections',
  'settings.account.connectionsDesc': 'Manage linked accounts and services',
  'settings.account.privacy': 'Privacy',
  'settings.account.privacyDesc': 'Control what data leaves your computer',
  'migration.title': 'Import from another assistant',
  'migration.description':
    'Migrate memory and notes from another local assistant into this workspace. Start with a Preview to see exactly what would change, then Apply to copy the data over. Your current memory is backed up first.',
  'migration.vendorLabel': 'Source vendor',
  'migration.sourceLabel': 'Source workspace path (optional)',
  'migration.sourcePlaceholder': 'Leave blank to auto-detect (e.g. ~/.openclaw/workspace)',
  'migration.sourceHint':
    "Defaults to the vendor's standard location when blank. Set an explicit path if you've moved the workspace elsewhere.",
  'migration.previewAction': 'Preview',
  'migration.previewRunning': 'Previewing…',
  'migration.applyAction': 'Apply import',
  'migration.applyRunning': 'Importing…',
  'migration.applyDisclaimer':
    'Apply is unlocked after a successful Preview of the same source. Existing memory is backed up before any import.',
  'migration.reportTitlePreview': 'Preview — nothing imported yet',
  'migration.reportTitleApplied': 'Import complete',
  'migration.report.source': 'Source workspace',
  'migration.report.target': 'Target workspace',
  'migration.report.fromSqlite': 'From SQLite (brain.db)',
  'migration.report.fromMarkdown': 'From Markdown',
  'migration.report.imported': 'Imported',
  'migration.report.skippedUnchanged': 'Skipped (unchanged)',
  'migration.report.renamedConflicts': 'Renamed on conflict',
  'migration.report.warnings': 'Warnings',
  'migration.report.previewHint':
    'No data has been imported yet. Click Apply import to copy it over.',
  'migration.report.appliedHint':
    'Imported entries are now in your memory. Re-run Preview if you want to compare again.',
  'migration.hermesComingSoonPrefix': 'Hermes importer is on the roadmap — see ',
  'migration.hermesComingSoonSuffix':
    ' for context. Pick OpenClaw to migrate today; Hermes lands in a follow-up.',
  'migration.hermesLinkText': '#1440',
  'migration.confirmImport.singular':
    'Import {count} entry into the current workspace?\n\nSource: {source}\nTarget: {target}\n\nExisting memory will be backed up before the import runs.',
  'migration.confirmImport.plural':
    'Import {count} entries into the current workspace?\n\nSource: {source}\nTarget: {target}\n\nExisting memory will be backed up before the import runs.',
  'settings.notifications.doNotDisturb': 'Do Not Disturb',
  'settings.notifications.doNotDisturbDesc': 'Pause all notifications for a set period',
  'settings.notifications.channelControls': 'Per-Channel Controls',
  'settings.notifications.channelControlsDesc':
    'Configure notification preferences for each channel',
  'settings.features.screenAwareness': 'Screen Awareness',
  'settings.features.screenAwarenessDesc': 'Let the assistant see your active window',
  'settings.features.messaging': 'Messaging',
  'settings.features.messagingDesc': 'Channel and messaging integration settings',
  'settings.features.tools': 'Tools',
  'settings.features.toolsDesc': 'Manage connected tools and integrations',
  'settings.ai.localSetup': 'Local AI Setup',
  'settings.ai.localSetupDesc': 'Download and configure local AI models',
  'settings.ai.llmProvider': 'LLM Provider',
  'settings.ai.llmProviderDesc': 'Choose and configure your AI provider',
  'clearData.title': 'Clear App Data',
  'clearData.warning': 'This will sign you out and permanently delete local app data including:',
  'clearData.bulletSettings': 'App settings and conversations',
  'clearData.bulletCache': 'All local integration cache data',
  'clearData.bulletWorkspace': 'Workspace data',
  'clearData.bulletOther': 'All other local data',
  'clearData.irreversible': 'This action cannot be undone.',
  'clearData.clearing': 'Clearing App Data...',
  'clearData.failed': 'Failed to clear data and logout. Please try again.',
  'clearData.failedLogout': 'Failed to log out. Please try again.',
  'clearData.failedPersist': 'Failed to clear persisted app state. Please try again.',
  'welcome.title': 'Welcome to OpenHuman',
  'welcome.subtitle':
    'Your personal AI super intelligence. Private, simple and extremely powerful.',
  'welcome.connectPrompt': 'Configure RPC URL (Advanced)',
  'welcome.selectRuntime': 'Select a Runtime',
  'welcome.urlPlaceholder': 'http://localhost:8089',
  'welcome.invalidUrl': 'Please enter a valid HTTP or HTTPS URL',
  'welcome.connecting': 'Testing',
  'welcome.connect': 'Test',
  'home.greeting': 'Good morning',
  'home.greetingAfternoon': 'Good afternoon',
  'home.greetingEvening': 'Good evening',
  'home.askAssistant': 'Ask your assistant anything...',
  'home.statusOk':
    'Your device is connected. Keep the app running to keep the connection alive. Message your agent with the button below.',
  'home.statusBackendOnly': 'Reconnecting to backend… your agent will be available again shortly.',
  'home.statusCoreUnreachable':
    "Local core sidecar isn't responding. The OpenHuman background process may have crashed or failed to start.",
  'home.statusInternetOffline':
    'Your device is offline right now. Check your network or restart the app to reconnect.',
  'home.restartCore': 'Restart Core',
  'home.restartingCore': 'Restarting core…',
  'home.themeToggle.toLight': 'Switch to light mode',
  'home.themeToggle.toDark': 'Switch to dark mode',
  'chat.newThread': 'New thread',
  'chat.typeMessage': 'Type a message...',
  'chat.send': 'Send message',
  'chat.thinking': 'Thinking...',
  'chat.noMessages': 'No messages yet',
  'chat.startConversation': 'Start a conversation',
  'chat.regenerate': 'Regenerate',
  'chat.copyResponse': 'Copy response',
  'chat.citations': 'Citations',
  'chat.toolUsed': 'Tool used',
  'scope.legacy': 'Legacy',
  'scope.user': 'User',
  'scope.project': 'Project',
  'skills.title': 'Connections',
  'skills.search': 'Search connections...',
  'skills.noResults': 'No connections found',
  'skills.connect': 'Connect',
  'skills.disconnect': 'Disconnect',
  'skills.configure': 'Manage',
  'skills.connected': 'Connected',
  'skills.available': 'Available',
  'skills.addAccount': 'Add Account',
  'skills.channels': 'Channels',
  'skills.integrations': 'Integrations',
  'memory.title': 'Memory',
  'memory.search': 'Search memories...',
  'memory.noResults': 'No memories found',
  'memory.empty': 'No memories yet. Memories are created automatically as you interact.',
  'memory.tab.memory': 'Memory',
  'memory.tab.subconscious': 'Subconscious',
  'memory.tab.dreams': 'Dreams',
  'memory.tab.calls': 'Calls',
  'memory.tab.settings': 'Settings',
  'memory.analyzeNow': 'Analyze Now',
  'alerts.title': 'Alerts',
  'alerts.empty': 'No alerts yet',
  'alerts.markAllRead': 'Mark all as read',
  'alerts.unread': 'unread',
  'rewards.title': 'Rewards',
  'rewards.referrals': 'Referrals',
  'rewards.coupons': 'Redeem',
  'rewards.credits': 'Credits',
  'rewards.referralCode': 'Your referral code',
  'rewards.copyCode': 'Copy code',
  'rewards.share': 'Share',
  'onboarding.welcome': "Hi. I'm OpenHuman.",
  'onboarding.welcomeDesc':
    'Your super-intelligent AI assistant that runs on your computer. Private, simple, and extremely powerful.',
  'onboarding.context': 'Context Gathering',
  'onboarding.contextDesc': 'Connect the tools and services you use every day.',
  'onboarding.localAI': 'Local AI',
  'onboarding.localAIDesc': 'Set up a local AI model that runs on your machine.',
  'onboarding.chatProvider': 'Chat Provider',
  'onboarding.chatProviderDesc': 'Choose how you want to interact with your assistant.',
  'onboarding.referral': 'Referral',
  'onboarding.referralDesc': 'Apply a referral code if you have one.',
  'onboarding.finish': 'Finish Setup',
  'onboarding.finishDesc': "You're all set! Start using OpenHuman.",
  'onboarding.skip': 'Skip',
  'onboarding.getStarted': 'Get Started',
  'onboarding.runtimeChoice.title': 'How would you like to run OpenHuman?',
  'onboarding.runtimeChoice.subtitle':
    'Pick how much OpenHuman manages for you. You can change this later in Settings.',
  'onboarding.runtimeChoice.cloud.title': 'Simple',
  'onboarding.runtimeChoice.cloud.tagline':
    'Use OpenHuman-hosted sign-in, model routing, search, and managed integrations.',
  'onboarding.runtimeChoice.cloud.f1': 'Backend-brokered OAuth and model routing',
  'onboarding.runtimeChoice.cloud.f2': 'Token compression to stretch your usage further',
  'onboarding.runtimeChoice.cloud.f3': 'One subscription, every model included',
  'onboarding.runtimeChoice.cloud.f4': 'No model, search, or Composio keys to manage',
  'onboarding.runtimeChoice.cloud.f5': 'Local Memory Tree, managed network services',
  'onboarding.runtimeChoice.custom.title': 'Run Custom',
  'onboarding.runtimeChoice.custom.tagline':
    'Bring your own keys. Choose which services OpenHuman should call.',
  'onboarding.runtimeChoice.custom.f1': "You'll need API keys for almost everything",
  'onboarding.runtimeChoice.custom.f2': 'Reuses services you already pay for',
  'onboarding.runtimeChoice.custom.f3': 'Keep supported workloads on your machine',
  'onboarding.runtimeChoice.custom.f4': 'More setup, more knobs',
  'onboarding.runtimeChoice.custom.f5': 'Best for power users and developers',
  'onboarding.runtimeChoice.cloud.creditHighlight': '$1 free credit to try it out',
  'onboarding.runtimeChoice.continueCloud': 'Continue with Simple',
  'onboarding.runtimeChoice.continueCustom': 'Continue with Custom',
  'onboarding.runtimeChoice.recommended': 'Recommended',
  'onboarding.apiKeys.title': "Let's Add Your API Keys",
  'onboarding.apiKeys.subtitle':
    'You can paste them now or skip and add them later in Settings › AI. Keys are stored on this device, encrypted at rest.',
  'onboarding.apiKeys.openaiLabel': 'OpenAI API key',
  'onboarding.apiKeys.openaiPlaceholder': 'sk-...',
  'onboarding.apiKeys.anthropicLabel': 'Anthropic API key',
  'onboarding.apiKeys.anthropicPlaceholder': 'sk-ant-...',
  'onboarding.apiKeys.saveError': "Couldn't save that key. Please double-check it and try again.",
  'onboarding.apiKeys.skipForNow': 'Skip for now',
  'onboarding.apiKeys.continue': 'Save and continue',
  'onboarding.apiKeys.saving': 'Saving…',
  'onboarding.custom.stepperInference': 'Inference',
  'onboarding.custom.stepperVoice': 'Voice',
  'onboarding.custom.stepperOAuth': 'OAuth',
  'onboarding.custom.stepperSearch': 'Search',
  'onboarding.custom.stepperMemory': 'Memory',
  'onboarding.custom.stepCounter': 'Step {n} of {total}',
  'onboarding.custom.defaultTitle': 'Default',
  'onboarding.custom.defaultSubtitle': 'Let OpenHuman manage it for you.',
  'onboarding.custom.configureTitle': 'Configure',
  'onboarding.custom.configureSubtitle': "I'll pick what to use.",
  'onboarding.custom.progressAriaLabel': 'Onboarding progress',
  'onboarding.custom.continue': 'Continue',
  'onboarding.custom.back': 'Back',
  'onboarding.custom.finish': 'Finish Setup',
  'onboarding.custom.configureLater':
    "You can finish wiring this up after onboarding. We'll drop you on the matching Settings page once you're done.",
  'onboarding.custom.openSettings': 'Open in Settings',
  'onboarding.custom.inference.title': 'Inference (Text)',
  'onboarding.custom.inference.subtitle':
    'Which language model should answer your questions and run your agents?',
  'onboarding.custom.inference.defaultDesc':
    'OpenHuman routes workloads through its managed backend by default. No keys, no setup.',
  'onboarding.custom.inference.configureDesc':
    'Bring your own OpenAI or Anthropic key. We use it for every text-based workload.',
  'onboarding.custom.voice.title': 'Voice',
  'onboarding.custom.voice.subtitle': 'Speech-to-text and text-to-speech for voice mode.',
  'onboarding.custom.voice.defaultDesc':
    'OpenHuman ships with managed STT/TTS providers that may send audio/text to hosted services.',
  'onboarding.custom.voice.configureDesc':
    'Use your own ElevenLabs / OpenAI Whisper / etc. Configure in Settings › Voice.',
  'onboarding.custom.oauth.title': 'Connections (OAuth)',
  'onboarding.custom.oauth.subtitle':
    'Gmail, Slack, Notion, and other connected services that need OAuth.',
  'onboarding.custom.oauth.defaultDesc':
    'OpenHuman brokers OAuth and tool calls through a managed Composio workspace.',
  'onboarding.custom.oauth.configureDesc':
    'Bring your own Composio account / API key. Configure in Settings › Connections.',
  'onboarding.custom.search.title': 'Web Search',
  'onboarding.custom.search.subtitle': 'How OpenHuman searches the web on your behalf.',
  'onboarding.custom.search.defaultDesc':
    'OpenHuman uses a managed search proxy by default. No search API key needed.',
  'onboarding.custom.search.configureDesc':
    'Bring your own search provider key (Tavily, Brave, etc.). Configure in Settings › Tools.',
  'onboarding.custom.memory.title': 'Memory',
  'onboarding.custom.memory.subtitle':
    'How OpenHuman remembers your context, preferences, and prior conversations.',
  'onboarding.custom.memory.defaultDesc':
    'OpenHuman manages memory storage and retrieval automatically. Nothing to set up.',
  'onboarding.custom.memory.configureDesc':
    'Inspect, export, or wipe memory yourself. Configure in Settings › Memory.',
  'accounts.addAccount': 'Add Account',
  'accounts.manageAccounts': 'Manage Accounts',
  'accounts.noAccounts': 'No accounts connected',
  'accounts.connectAccount': 'Connect an account to get started',
  'accounts.agent': 'Agent',
  'accounts.respondQueue': 'Respond Queue',
  'accounts.disconnect': 'Disconnect',
  'accounts.disconnectConfirm': 'Are you sure you want to disconnect this account?',
  'accounts.searchAccounts': 'Search accounts...',
  'channels.title': 'Channels',
  'channels.configure': 'Configure Channel',
  'channels.setup': 'Setup',
  'channels.noChannels': 'No channels configured',
  'channels.addChannel': 'Add Channel',
  'channels.status.connected': 'Connected',
  'channels.status.disconnected': 'Disconnected',
  'channels.status.error': 'Error',
  'channels.status.configuring': 'Configuring',
  'channels.defaultMessaging': 'Default Messaging Channel',
  'webhooks.title': 'Webhooks',
  'webhooks.create': 'Create Webhook',
  'webhooks.noWebhooks': 'No webhooks configured',
  'webhooks.url': 'URL',
  'webhooks.secret': 'Secret',
  'webhooks.events': 'Events',
  'webhooks.archiveDirectory': 'Archive Directory',
  'webhooks.todayFile': "Today's File",
  'invites.title': 'Invites',
  'invites.create': 'Create Invite',
  'invites.noInvites': 'No pending invites',
  'invites.code': 'Invite Code',
  'invites.copyLink': 'Copy Link',
  'devOptions.title': 'Advanced',
  'devOptions.diagnostics': 'Diagnostics',
  'devOptions.diagnosticsDesc': 'System health, logs, and performance metrics',
  'devOptions.debugPanels': 'Debug Panels',
  'devOptions.debugPanelsDesc': 'Feature flags, state inspection, and debugging tools',
  'devOptions.webhooks': 'Webhooks',
  'devOptions.webhooksDesc': 'Configure and test webhook integrations',
  'devOptions.memoryInspection': 'Memory Inspection',
  'devOptions.memoryInspectionDesc': 'Browse, query, and manage memory entries',
  'voice.pushToTalk': 'Push to Talk',
  'voice.recording': 'Recording...',
  'voice.processing': 'Processing...',
  'voice.languageHint': 'Language',
  'misc.rehydrating': 'Loading your data...',
  'misc.checkingServices': 'Checking services...',
  'misc.serviceUnavailable': 'Service Unavailable',
  'misc.somethingWentWrong': 'Something went wrong',
  'misc.tryAgainLater': 'Please try again later.',
  'misc.restartApp': 'Restart App',
  'misc.updateAvailable': 'Update Available',
  'misc.updateNow': 'Update Now',
  'misc.updateLater': 'Later',
  'misc.downloading': 'Downloading...',
  'misc.installing': 'Installing...',
  'misc.beta':
    'OpenHuman is in early beta. Feel free to share feedback or report any bugs you run into — every report helps us ship faster.',
  'misc.betaFeedback': 'Send feedback',
  'mnemonic.title': 'Recovery Phrase',
  'mnemonic.warning': 'Write down these words in order and store them somewhere safe.',
  'mnemonic.copyWarning':
    'Never share your recovery phrase. Anyone with these words can access your account.',
  'mnemonic.copied': 'Recovery phrase copied to clipboard',
  'mnemonic.reveal': 'Reveal phrase',
  'mnemonic.hidden': 'Recovery phrase is hidden',
  'privacy.title': 'Privacy & Security',
  'privacy.description': 'Transparency report of data sent to external services.',
  'privacy.empty': 'No external data transfers detected.',
  'privacy.whatLeavesComputer': 'What leaves your computer',
  'privacy.loading': 'Loading privacy details...',
  'privacy.loadError': 'Could not load the live privacy list. Analytics controls below still work.',
  'privacy.noCapabilities': 'No capabilities currently disclose data movement.',
  'privacy.sentTo': 'Sent to',
  'privacy.leavesDevice': 'Leaves device',
  'privacy.staysLocal': 'Stays local',
  'privacy.anonymizedAnalytics': 'Anonymized Analytics',
  'privacy.shareAnonymizedData': 'Share Anonymized Usage Data',
  'privacy.shareAnonymizedDataDesc':
    'Help improve OpenHuman by sharing anonymous crash reports and usage analytics. All data is fully anonymized — no personal data, messages, wallet keys, or session information is ever collected.',
  'privacy.meetingFollowUps': 'Meeting follow-ups',
  'privacy.autoHandoffMeet': 'Auto-handoff Google Meet transcripts to the orchestrator',
  'privacy.autoHandoffMeetDesc':
    "When a Google Meet call ends, OpenHuman's orchestrator can read the transcript and may take actions like drafting messages, scheduling follow-ups, or posting summaries to your connected Slack workspace. Off by default.",
  'privacy.analyticsDisclaimer':
    'All analytics and bug reports are fully anonymized. When enabled, we collect only crash information, device type, and the file location of errors. We never access your messages, session data, wallet keys, API keys, or any personally identifiable information. You can change this setting at any time.',
  'settings.about.version': 'Version',
  'settings.about.updateAvailable': 'is available',
  'settings.about.softwareUpdates': 'Software updates',
  'settings.about.lastChecked': 'Last checked',
  'settings.about.checking': 'Checking...',
  'settings.about.checkForUpdates': 'Check for updates',
  'settings.about.releases': 'Releases',
  'settings.about.releasesDesc': 'Browse release notes and earlier builds on GitHub.',
  'settings.about.openReleases': 'Open GitHub releases',
  'settings.ai.overview': 'AI System Overview',
  // Settings menu: Appearance + Mascot (#2225)
  'settings.appearance': 'Appearance',
  'settings.appearanceDesc': 'Pick light, dark, or match your system theme',
  'settings.mascot': 'Mascot',
  'settings.mascotDesc': 'Pick the mascot color used across the app',
};

export default en1;
