{
  "appName": "Basjoo",
  "tagline": "Intelligent System",
  "theme": {
    "light": "Light Mode",
    "dark": "Dark Mode",
    "system": "System"
  },
  "buttons": {
    "login": "Login",
    "logout": "Logout",
    "register": "Register",
    "save": "Save",
    "cancel": "Cancel",
    "delete": "Delete",
    "edit": "Edit",
    "confirm": "Confirm",
    "submit": "Submit",
    "refresh": "Refresh",
    "search": "Search",
    "add": "Add",
    "export": "Export",
    "copy": "Copy",
    "import": "Import",
    "back": "Back",
    "manage": "Manage",
    "send": "Send",
    "rebuild": "Rebuild Index",
    "clear": "Clear",
    "test": "Test",
    "skip": "Skip",
    "complete": "Complete",
    "show": "Show",
    "hide": "Hide",
    "leaveAnyway": "Leave Anyway"
  },
  "status": {
    "loading": "Loading...",
    "success": "Success",
    "error": "Error",
    "pending": "Pending",
    "completed": "Completed",
    "failed": "Failed",
    "active": "Active",
    "takenOver": "Taken Over",
    "ended": "Ended",
    "all": "All",
    "established": "Established",
    "notEstablished": "Not Established",
    "configured": "Configured",
    "notConfigured": "Not Configured",
    "thinking": "Thinking...",
    "importing": "Importing...",
    "saving": "Saving...",
    "saved": "Saved",
    "testing": "Testing...",
    "fetching": "Fetching",
    "successBadge": "Success"
  },
  "navigation": {
    "dashboard": "Dashboard",
    "playground": "Playground",
    "knowledge": "Knowledge Base",
    "websites": "Websites",
    "files": "Files",
    "fileManagement": "File Upload",
    "urlKnowledge": "Website Management",
    "sessions": "Sessions",
    "aiSettings": "AI Settings",
    "systemSettings": "System Settings",
    "administrator": "Administrator",
    "users": "Users"
  },
  "errors": {
    "required": "This field is required",
    "invalidEmail": "Invalid email format",
    "passwordTooShort": "Password must be at least 8 characters",
    "networkError": "Network connection failed, please check your network",
    "serverError": "Server error, please try again later",
    "unauthorized": "Unauthorized, please login first",
    "unknown": "Unknown error",
    "loadFailed": "Failed to load",
    "loadAgentFailed": "Failed to load Agent",
    "saveFailed": "Failed to save",
    "deleteFailed": "Failed to delete",
    "importFailed": "Failed to import",
    "qaContentRequired": "Please enter Q&A content",
    "customPersonaRequired": "Please enter custom persona content",
    "importError": "Import error",
    "invalidJson": "Invalid JSON format",
    "noValidQaItems": "No valid Q&A items found",
    "aiApiTestFailed": "AI API test failed, please check your API Key",
    "jinaApiTestFailed": "Jina API test failed, please check your API Key",
    "siliconflowEmbeddingApiTestFailed": "SiliconFlow Embedding API test failed, please check your SiliconFlow API Key",
    "aiApiKeyInvalid": "AI API Key is invalid or expired",
    "jinaApiKeyInvalid": "Jina API Key is invalid or expired",
    "siliconflowApiKeyInvalid": "SiliconFlow API Key is invalid or expired",
    "customEmbeddingApiKeyInvalid": "Custom Embedding API Key is invalid or expired",
    "aiApiError": "AI API call failed, please check your network or try again later",
    "aiApiTimeout": "AI API response timeout, please try again later",
    "aiApiRateLimit": "AI API rate limit exceeded, please try again later",
    "aiApiInsufficientQuota": "AI API quota insufficient, please check your account balance",
    "aiApiModelNotFound": "AI model not found, please check the model name",
    "jinaApiError": "Jina Embedding API call failed",
    "jinaApiTimeout": "Jina API response timeout, please try again later",
    "jinaApiRateLimit": "Jina API rate limit exceeded, please try again later",
    "rateLimitExceeded": "Conversation limit reached, please try again later",
    "dailyQuotaExceeded": "Daily conversation quota exceeded, please try again tomorrow",
    "noApiKeyConfigured": "No API Key configured, please configure in AI Settings",
    "agentErrorBanner": "Agent issue detected",
    "agentErrorDismiss": "Dismiss",
    "agentErrorAPI_KEY_INVALID": "The AI API key is invalid or expired. Please check your configuration.",
    "agentErrorAPI_KEY_MISSING": "No AI API key is configured yet.",
    "agentErrorPROVIDER_RATE_LIMITED": "The AI provider is rate limiting requests. Please try again later.",
    "agentErrorPROVIDER_UNAVAILABLE": "The AI provider is temporarily unavailable. Please check network or provider status.",
    "agentErrorMODEL_NOT_FOUND": "The configured AI model was not found. Please verify the model name.",
    "agentErrorPROVIDER_ERROR": "The AI provider request failed. Please review the configuration or try again later.",
    "sendFailed": "Failed to send message",
    "takeoverFailed": "Failed to take over session"
  },
  "time": {
    "goodMorning": "Good morning",
    "goodAfternoon": "Good afternoon",
    "goodEvening": "Good evening"
  },
  "roles": {
    "visitor": "Visitor",
    "agent": "AI/Agent"
  },
  "placeholders": {
    "enterMessage": "Enter message...",
    "enterQuestion": "Enter your question...",
    "searchPlaceholder": "Search visitor ID or message...",
    "enterCustomPersona": "Enter custom persona prompt...",
    "enterNewApiKey": "Enter new key to update...",
    "enterJinaKey": "Enter Jina key to update...",
    "embedWhitelist": "https://example.com\nhttps://www.example.com",
    "question": "Question",
    "answer": "Answer",
    "csvFormat": "Question,Answer\nHow to reset password?,Click forgot password button..."
  },
  "labels": {
    "welcome": "Welcome back to Basjoo",
    "quickStart": "Quick Start",
    "systemStatus": "System Status",
    "urlKnowledgeSource": "Web Pages",
    "fileItems": "Files",
    "indexedDocBlocks": "Indexed Document Blocks",
    "vectorIndex": "Vector Index",
    "apiStatus": "API Status",
    "normalOperation": "Normal Operation",
    "totalItems": "Total {{total}} items",
    "items": "items",
    "batchImport": "Batch Import",
    "qaList": "Q&A List",
    "noData": "No data",
    "pleaseImportFirst": "Please import data first",
    "noMessages": "No messages",
    "selectSession": "Select a session",
    "selectSessionDesc": "Select a session from the left list to view chat history and interact with visitors",
    "conversation": "Conversation",
    "quotaInfo": "Quota Info",
    "messagesPerDay": "messages/day",
    "indexInfo": "Index Info",
    "indexedUrls": "Indexed URLs",
    "indexedFiles": "Indexed Files",
    "docBlocks": "Document Blocks",
    "indexStatus": "Index Status",
    "testAiEffect": "Test AI conversation",
    "manageFiles": "Upload and manage files for AI knowledge",
    "knowledgeDescription": "Manage AI knowledge sources including web pages and uploaded files",
    "addWebKnowledge": "Add web knowledge base",
    "configModelParams": "Configure model parameters",
    "configSystemParams": "Configure system settings and embed code",
    "tips": "Tips",
    "testAgentTip1": "Enter questions to test Agent responses",
    "testAgentTip2": "View citation sources to verify retrieval",
    "testAgentTip3": "Click 'Rebuild Index' to update knowledge base",
    "session": "Session",
    "visitor": "Visitor",
    "takeoverSession": "Take over session",
    "releaseSession": "Release session",
    "qaBatchImport": "Q&A Batch Import",
    "qaBatchImportDesc": "Quickly add multiple FAQs and answers.",
    "supportFormats": "Supports JSON and CSV formats.",
    "jsonFormat": "JSON format: [{\"question\":\"Question\",\"answer\":\"Answer\"}]",
    "csvFormat": "CSV format: One question per line, separated by comma or tab",
    "format": "Format",
    "content": "Content",
    "loadSample": "Load Sample",
    "jsonFormatSample": "JSON Format Sample:",
    "question1": "Question 1",
    "answer1": "Answer 1",
    "question2": "Question 2",
    "answer2": "Answer 2",
    "noQaData": "No Q&A data",
    "confirmDelete": "Are you sure you want to delete this item?",
    "confirmClearAIKey": "Are you sure you want to clear the configured AI API Key?",
    "confirmClearJinaKey": "Are you sure you want to clear the configured Jina API Key?",
    "qa": {
      "unsavedChanges": "Unsaved changes",
      "unsavedChangesWarning": "You have unsaved Q&A changes. Are you sure you want to leave?",
      "unsavedChangesHint": "Click \"Save and Rebuild Index\" button to apply changes",
      "clickSaveToRebuild": "Click \"Save and Rebuild Index\" button to update the knowledge base index",
      "saveAndRebuild": "Save and Rebuild Index",
      "saveSuccess": "Q&A saved, index rebuild started",
      "saveFailed": "Save failed",
      "confirmImport": "Are you sure you want to import this Q&A data? You need to click \"Save and Rebuild Index\" for it to take effect.",
      "confirmClearImport": "Are you sure you want to clear the input? The entered content will be lost.",
      "willLoseItems": "Will lose {{count}} unsaved Q&A items",
      "pending": "Pending",
      "crawlInProgress": "URL crawling in progress, please wait before saving",
      "rebuildInProgress": "Index rebuild in progress, please try again later"
    },
    "welcomeMessage": "Hello! I'm a Basjoo assistant. How can I help you?",
    "widgetTitle": "Window Title",
    "themeColor": "Theme Color",
    "previewEffect": "Preview",
    "welcomeMessageSettings": "Welcome Message Settings",
    "welcomeMessageSettingsDesc": "The first message visitors see when they open the chat window.",
    "welcomeMessageTip1": "Suggest using friendly and professional greetings.",
    "welcomeMessageTip2": "Briefly explain the features and scope of customer service.",
    "welcomeMessageExample": "Example: 'Hello! I'm a Basjoo assistant. How can I help you?'",
    "firstMessageDesc": "First message displayed when visitors open the chat window",
    "historyRetention": "Conversation History Retention (Days)",
    "historyRetentionDesc": "Set the retention time for conversation records.",
    "historyRetentionTip1": "Conversations older than this will be automatically cleaned up to free up storage space.",
    "historyRetentionTip2": "Suggested setting: 7-90 days",
    "historyRetentionTip3": "Shorter duration saves space, longer duration facilitates historical queries.",
    "historyRetentionWarning": "Conversation records older than this will be automatically cleaned up",
    "days": "days",
    "historyRetentionAdvice": "Suggested to set 7-90 days to balance storage space and historical query needs",
    "jinaApiKey": "Jina API Key",
    "jinaApiKeyDesc": "For Jina Reader API, improving URL scraping stability.",
    "jinaApiKeyTip1": "The system will prioritize free APIs and automatically use this key when quota is exhausted.",
    "jinaApiKeyTip2": "Get it at: jina.ai/reader",
    "jinaApiKeyTip3": "Free tier: 1 million requests per month",
    "jinaApiKeyTip4": "Optional configuration, does not affect basic functionality.",
    "jinaApiKeyShort": "For URL content scraping (optional, needed when free quota is exhausted)",
    "jinaKeyConfigured": "✓ Jina API Key configured",
    "jinaUsageTip": "The system will prioritize free APIs and automatically use API Key on failure.",
    "jinaGetKey": "Get API Key: jina.ai/reader",
    "jinaEmbeddingApiKey": "Embedding API Key (Jina)",
    "jinaKeyRequired": "Please fill in the Jina Embedding API Key in Playground before using knowledge base features. You can choose Jina or SiliconFlow in the Embedding API dropdown above.",
    "embeddingKeyStatusUnavailable": "Unable to verify the Embedding API key status. Please refresh and try again.",
    "siliconflowKeyRequired": "Please fill in the SiliconFlow Embedding API Key in Playground before using knowledge base features. You can choose Jina or SiliconFlow in the Embedding API dropdown above.",
    "embedCode": "Embed Code",
    "widgetEmbedCode": "Widget Embed Code",
    "embedCodeDesc": "Copy and paste this code into your website's HTML.",
    "embedCodeTip1": "Suggested to place before the </body> tag.",
    "embedCodeTip2": "Supports all mainstream website platforms.",
    "embedCodeTip3": "Use agent system features without modifying code.",
    "embedCodeTip4": "The embed code will automatically update after each setting modification.",
    "embedCodeFinal": "Add this code to your website's HTML to integrate the agent system widget",
    "agentName": "Agent Name",
    "agentId": "Agent ID",
    "aiAssistant": "AI Assistant",
    "presetPersona": "Preset Persona",
    "presetPersonaDesc": "Select a preset persona to quickly configure AI's role and response style.",
    "genericPersona": "Generic: Universal AI assistant for various scenarios",
    "customerServicePersona": "Customer Service: Professional customer service assistant, enthusiastic and friendly",
    "salesPersona": "Sales: Sales consultant, good at discovering customer needs",
    "customPersona": "Custom: Completely customize AI's persona and response style",
    "restoreDefault": "Restore Default",
    "customPersonaLabel": "Custom Persona: Full control over AI's role and response style",
    "customPersonaEdit": "Editable, or click 'Restore Default' to reset",
    "aiProvider": "AI Provider",
    "aiProviderDesc": "Select your AI service provider.",
    "openaiNative": "OpenAI (ChatGPT)",
    "openaiNativeDesc": "Official OpenAI API, supports GPT-4o, GPT-4 models",
    "openaiCompatible": "Custom",
    "openaiCompatibleDesc": "Custom AI provider, requires manual API URL and model name",
    "googleDesc": "Official Google API, supports Gemini Pro/Flash models",
    "volcengine": "Volcengine (Doubao)",
    "moonshot": "Moonshot (Kimi)",
    "aliyun_bailian": "Alibaba Cloud Bailian",
    "siliconflow": "SiliconFlow",
    "siliconflowOfficialSite": "Official site",
    "jinaEmbeddingApiKeyPrefix": "Embedding API Key",
    "siliconflowEmbeddingApi": "SiliconFlow Embedding API",
    "siliconflowEmbeddingDescription": "SiliconFlow embeddings will use the SiliconFlow API Key above.",
    "confirmClearSiliconflowKey": "Are you sure you want to clear the SiliconFlow Embedding API Key?",
    "embeddingModel": "Embedding model",
    "embeddingProvider": "Embedding API",
    "embeddingProviderJina": "Jina",
    "embeddingProviderSiliconFlow": "SiliconFlow",
    "siliconflowEmbeddingUsesAiKey": "SiliconFlow embeddings use the dedicated SiliconFlow Embedding API Key below.",
    "jinaEmbeddingDescription": "Jina embeddings use the Jina API Key below.",
    "embeddingProviderCustom": "Custom OpenAI Compatible",
    "customEmbeddingDescription": "Use a custom OpenAI-compatible Embedding endpoint.",
    "customEmbeddingApiKey": "Custom Embedding API Key",
    "customEmbeddingKeyRequired": "Please enter your Custom Embedding API Key",
    "embeddingApiBase": "Embedding API Base",
    "apiKey": "API Key",
    "configured": "Configured",
    "apiBase": "API Base URL",
    "modelName": "Model Name",
    "modelNameDesc": "Specify the LLM model to use, such as deepseek-chat, gpt-4, etc.",
    "modelNamePreferNonThinking": "We recommend configuring a non-thinking model first, as it is usually more stable and easier to control in final output.",
    "modelNameThinkingAdvice": "If you plan to use a built-in thinking model, test it thoroughly in Playground before using it in production scenarios.",
    "modelNameTip1": "Different models have different performance and cost characteristics.",
    "modelNameTip2": "Ensure your API key supports the selected model.",
    "temperature": "Temperature",
    "reasoningEffort": "Reasoning Effort",
    "reasoningEffortOff": "Off",
    "reasoningEffortLow": "Low",
    "reasoningEffortMedium": "Medium",
    "reasoningEffortHigh": "High",
    "temperatureDesc": "Control the randomness and creativity of responses.",
    "tempTip1": "0: More deterministic, high consistency, suitable for factual answers",
    "tempTip2": "1: More balanced, suitable for daily conversations",
    "tempTip3": "2: More creative, suitable for brainstorming",
    "tempAdvice": "Suggested value: 0.3-0.8",
    "maxTokens": "Max Tokens",
    "maxTokensDesc": "Control the maximum length of a single AI response.",
    "maxTokensTip1": "The larger the value, the longer the response can be, but it consumes more API quota.",
    "maxTokensTip2": "Short response: 512-1024",
    "maxTokensTip3": "Medium response: 1024-2048",
    "maxTokensTip4": "Long response: 2048-4096",
    "topK": "Top-K Results",
    "topKDesc": "How many most relevant results to return when retrieving from the knowledge base.",
    "topKTip1": "Larger values retrieve more context but may increase noise.",
    "topKTip2": "Precise Q&A: 3-5",
    "topKTip3": "Comprehensive query: 5-10",
    "topKTip4": "Complex question: 10-15",
    "similarityThreshold": "Similarity Threshold",
    "similarityThresholdDesc": "Only include results with score above this threshold. Scores range ~10%-50%, recommended: 10%.",
    "similarityThresholdTip1": "0%: return all results",
    "similarityThresholdTip2": "Higher values: fewer results, higher precision",
    "apiFormat": "API Format",
    "enableContext": "Enable Context",
    "conversationContext": "Conversation Context",
    "conversationContextDesc": "When enabled, conversation history will be retained for multi-turn conversations.",
    "conversationContextTip1": "AI can remember previous conversation content and provide more coherent answers.",
    "conversationContextTip2": "When disabled, each conversation is independent, suitable for single Q&A scenarios.",
    "conversationContextShort": "Conversation history will be retained for multi-turn conversations when enabled",
    "embedWhitelist": "Embed Whitelist",
    "embedWhitelistDesc": "Only allow embeds from the domains listed here.",
    "embedWhitelistShort": "Restrict where this embed code can be used.",
    "embedWhitelistTip1": "Add one full origin per line, including http:// or https://.",
    "embedWhitelistTip2": "Example: https://example.com or https://support.example.com.",
    "embedWhitelistTip3": "Leave empty to allow all origins.",
    "embedWhitelistInput": "Embed Whitelist",
    "embedWhitelistInputDesc": "Requests from other origins will be rejected. Admin dashboard requests are not affected.",
    "embedWhitelistFormatHint": "Enter one full origin per line or separate multiple origins with commas. Example: https://example.com",
    "embedWhitelistInvalid": "Invalid origin format: {{origins}}",
    "testConnection": "Test Connection",
    "apiConnectionSuccess": "API connection successful!",
    "apiConnectionFailed": "API connection failed",
    "settingsSaved": "Settings saved successfully!",
    "aiConversationLimit": "AI Conversation Limit",
    "aiConversationLimitDesc": "Set per-minute conversation limit per visitor to prevent API abuse",
    "limitTip1": "• Per-minute limit applies to conversation count per single visitor",
    "limitTip2": "• Automatically reply with custom message when service is restricted, without consuming API quota",
    "limitTip3": "• Limits reset every minute in real-time",
    "limitTip4": "• Suggested to set 5-20 times/minute to balance user experience and cost",
    "limitDesc": "Prevent API abuse and protect system resources",
    "perMinuteLimit": "Per-Minute Conversation Limit",
    "zeroMeansNoLimit": "Set to 0 means no limit",
    "restrictedReplyLabel": "Auto Reply",
    "restrictedReplyPlaceholder": "Sorry, the service is currently restricted. Please try again later.",
    "restrictedReplyDesc": "Message shown to visitors when service is restricted (e.g., rate limit exceeded, AI service unavailable)",
    "multilingualSettings": "Auto translation",
    "multilingualSettingsDesc": "When AI settings are available, the system automatically generates Chinese and English versions from your default copy and shows the right one based on the visitor's browser language.",
    "secureStorage": "Your API key will be securely stored and will not be leaked",
    "pleaseConfigureApiKey": "Please configure API key first to use AI conversation features",
    "widgetAppearance": "Widget Appearance",
    "widgetAppearanceDesc": "Customize the display effect of the chat window.",
    "windowTitleDesc": "Window Title: Title text displayed at the top of the chat window.",
    "themeColorDesc": "Theme Color: Controls the color of chat bubbles and buttons.",
    "themeColorAdvice": "Suggest choosing a color that matches your brand.",
    "customizeTitleColor": "Customize chat window title and color",
    "firstMessageSettings": "Welcome Message Settings",
    "firstMessageSettingsDesc": "The first message visitors see when they open the chat window.",
    "friendlyGreeting": "Suggest using friendly and professional greetings.",
    "explainService": "Briefly explain the features and scope of customer service.",
    "exampleMessage": "Example: 'Hello! I'm a Basjoo assistant. How can I help you?'",
    "firstMessageDisplay": "First message displayed when visitors open the chat window",
    "retentionDays": "Conversation History Retention Days",
    "retentionDaysDesc": "Set the retention time for conversation records.",
    "autoCleanup": "Conversations older than this will be automatically cleaned up to free up storage space.",
    "retentionAdvice": "Suggested setting: 7-90 days",
    "retentionTip1": "Shorter duration saves space, longer duration facilitates historical queries.",
    "cleanupWarning": "Conversation records older than this will be automatically cleaned up",
    "retentionFinalAdvice": "Suggested to set 7-90 days to balance storage space and historical query needs",
    "sampleQuestion1": "How to reset password?",
    "sampleAnswer1": "Click the 'Forgot Password' link on the login page, enter your email address, and follow the instructions in the email.",
    "sampleQuestion2": "How to contact customer service?",
    "sampleAnswer2": "You can send an email to support@example.com or call 400-123-4567 to contact us.",
    "sampleQuestion3": "What payment methods are supported?",
    "sampleAnswer3": "We support WeChat Pay, Alipay, bank cards and other payment methods.",
    "urlManagement": {
      "title": "Website Management",
      "description": "Add and manage web knowledge sources",
      "total": "Total {{total}}",
      "addUrl": "Website Crawl",
      "addUrlHelpTitle": "Add URL Knowledge Source",
      "addUrlHelpContent1": "Add web page URLs as AI knowledge sources.",
      "addUrlHelpContent2": "The system will automatically crawl web content and build indexes.",
      "addUrlHelpContent3": "Supports static HTML pages, automatically extracts main content.",
      "addUrlHelpContent4": "Up to 50 URL sources can be added.",
      "addUrlHelpDetail": "💡 Details:",
      "addUrlHelpBullet1": "• Supports static HTML pages",
      "addUrlHelpBullet2": "• Automatically extracts main content",
      "addUrlHelpBullet3": "• Index rebuild required after crawling",
      "addUrlHelpBullet4": "• Maximum 50 URLs",
      "singlePageCrawl": "Single Page",
      "webpageUrl": "Webpage URL",
      "webpageUrlHelpTitle": "Webpage URL",
      "webpageUrlHelpContent1": "Enter the full address of the webpage to crawl.",
      "webpageUrlHelpContent2": "Recommended to use structured content pages such as help docs, product introductions.",
      "webpageUrlHelpContent3": "Avoid adding pages that require login or dynamic loading.",
      "urlPlaceholder": "https://example.com/docs",
      "adding": "Adding...",
      "refetching": "Refetching...",
      "refetchAll": "Refetch All",
      "autoFetch": "URL Auto Fetch",
      "autoFetchDescription": "Periodically refetch URL content to keep knowledge base updated",
      "enableAutoFetch": "Enable Auto Fetch",
      "enableAutoFetchHelpTitle": "URL Auto Fetch",
      "enableAutoFetchHelpContent1": "Periodically and automatically refetch URL content to keep knowledge base updated.",
      "enableAutoFetchHelpContent2": "The system will automatically detect content changes and update indexes at set intervals.",
      "enableAutoFetchHelpContent3": "Suitable for pages with frequent content changes.",
      "enableAutoFetchDesc": "Once enabled, URL content will be automatically updated at set intervals",
      "fetchInterval": "Fetch Interval",
      "fetchIntervalHelpTitle": "Fetch Interval",
      "fetchIntervalHelpContent1": "Set the day interval between automatic fetches.",
      "fetchIntervalHelpContent2": "Shorter interval means more timely knowledge base but higher server load.",
      "fetchIntervalHelpContent3": "Recommended to set 7-14 days to balance real-time and load.",
      "fetchIntervalDesc": "Recommended to set 7-14 days to avoid frequent fetching",
      "days": "days",
      "saveSettings": "Save Settings",
      "urlList": "URL List",
      "noUrls": "No URLs",
      "pleaseAddUrl": "Please add webpage links first",
      "lastFetch": "Last fetch",
      "enterUrl": "Please enter URL",
      "loadAgentFailed": "Failed to load Agent",
      "loadFailed": "Failed to load",
      "addFailed": "Failed to add",
      "addedCount": "Successfully added {{count}} URLs",
      "discoveredCount": "Discovered {{discovered}} subpages, added {{created}} new links",
      "discoverFailed": "Failed to discover subpages",
      "refetchFailed": "Failed to refetch",
      "refetchStarted": "Refetch started: {{jobId}}",
      "confirmRefetch": "Are you sure you want to refetch all URLs?",
      "confirmDelete": "Are you sure you want to delete this URL?",
      "deleteFailed": "Failed to delete",
      "autoFetchSaved": "Auto fetch settings saved successfully!",
      "crawlSite": "Crawl Site",
      "crawling": "Crawling...",
      "crawlStarted": "Site crawl started: {{jobId}}",
      "crawlFailed": "Site crawl failed",
      "crawlDepth": "Crawl Depth",
      "crawlDepthDesc": "Set the maximum depth for site crawling (1-5), 1 means current page and direct links only",
      "crawlMaxPages": "Max Pages",
      "crawlMaxPagesDesc": "Set the maximum number of pages for site crawling (1-500)",
      "crawlInProgress": "Crawling in progress...",
      "crawlDiscovered": "Discovered {{count}} pages",
      "crawlComplete": "Crawl complete, added {{count}} pages",
      "crawlPolling": "Live updating",
      "stopPolling": "Stop updating",
      "clearAll": "Clear All",
      "confirmClearAll": "Are you sure you want to clear all URLs? This action cannot be undone.",
      "clearFailed": "Failed to clear",
      "clearing": "Clearing...",
      "clearSuccess": "Successfully cleared {{count}} URLs",
      "pollingStopped": "Updates stopped",
      "indexRebuildInProgress": "Index rebuild in progress, please wait...",
      "invalidUrl": "Invalid URL, please re-enter"
    },
    "embeddingGetKey": "Get API Key:"
  },
  "personas": {
    "generic": {
      "name": "Generic",
      "prompt": "You are a professional customer service assistant, enthusiastic, friendly, and professional."
    },
    "customerService": {
      "name": "Customer Service",
      "prompt": "You are a professional customer service representative, enthusiastic, friendly, patient, and meticulous. You are good at listening to user needs, providing clear answers, and always maintaining a polite and professional attitude."
    },
    "sales": {
      "name": "Sales",
      "prompt": "You are a friendly sales consultant, good at discovering customer needs and providing appropriate solutions. You have professional knowledge and good communication skills, able to guide customers to complete purchase decisions."
    },
    "custom": {
      "name": "Custom"
    }
  },
  "settings": {
    "aiConfigWizard": "AI Configuration Wizard",
    "aiConfigWizardDesc": "Configure AI services to start using the agent system.",
    "apiKey": "API Key",
    "apiKeyDesc": "OpenAI compatible API Key. You can modify it later in AI Settings.",
    "baseUrl": "Base URL",
    "modelName": "Model Name",
    "defaultSystemPrompt": "You are a professional customer service assistant, enthusiastic, friendly, and professional.",
    "defaultReply": "Sorry, the service is currently busy. Please try again later.",
    "definePersona": "Define AI's role and response style",
    "completeSetup": "Complete Setup",
    "skipSetup": "Skip, configure later",
    "setupFailed": "Setup failed",
    "setupFailedRetry": "Setup failed, please try again.",
    "saving": "Saving...",
    "rebuildIndexConfirm": "Are you sure you want to rebuild the index? This may take some time.",
    "indexRebuildStarted": "Index rebuild started",
    "indexRebuildComplete": "Index rebuild completed!",
    "indexRebuildFailed": "Index rebuild failed",
    "clearConversationConfirm": "Are you sure you want to clear the conversation?",
    "showDebug": "Show Debug",
    "hideDebug": "Hide Debug",
    "model": "Model:",
    "temperatureShort": "Temperature:",
    "startConversation": "Start Conversation",
    "testMessage": "Enter message to test your AI Agent",
    "chatCenter": "Sessions Center",
    "chatCenterDesc": "Monitor and manage all visitor sessions in real time.",
    "activeDesc": "Active: Sessions where visitors are chatting with AI.",
    "takenOverDesc": "Taken Over: Sessions where administrators have intervened.",
    "endedDesc": "Ended: Closed session records.",
    "searchSupport": "Support searching visitor IDs and message content.",
    "sessionWithId": "Session #{{id}}",
    "visitorWithId": "Visitor: {{id}}",
    "widgetSettings": "Widget Appearance Settings",
    "widgetSettingsDesc": "Configure chat window appearance and embed code",
    "appearance": "Appearance",
    "appearanceDesc": "Customize theme and language preferences",
    "theme": "Theme",
    "language": "Language"
  },
  "playground": {
    "testAiEffect": "Test your AI Agent conversation",
    "preview": "Preview",
    "confirmRebuild": "Are you sure you want to rebuild the index? This may take some time.",
    "rebuildStarted": "Index rebuild started",
    "rebuildCompleted": "Index rebuild completed!",
    "rebuildFailed": "Index rebuild failed",
    "rebuilding": "Rebuilding...",
    "urlsFetching": "URLs are being fetched. Please wait until complete before rebuilding index.",
    "alreadyRebuilding": "Index rebuild is already in progress, please try again later",
    "confirmClear": "Are you sure you want to clear the conversation?",
    "debug": "Debug",
    "agent": "Agent",
    "model": "Model",
    "temperature": "Temperature",
    "maxTokens": "Max Tokens",
    "startChat": "Start Conversation",
    "startChatHint": "Enter message to test your AI Agent",
    "inputPlaceholder": "Enter your question...",
    "messagesPerDay": "messages/day",
    "indexedUrls": "Indexed URLs",
    "indexedFiles": "Indexed Files",
    "chunks": "Chunks",
    "indexStatus": "Index Status",
    "indexBuilt": "Built",
    "indexNotBuilt": "Not Built",
    "usageTips": "Usage Tips",
    "tip1": "Enter questions to test Agent responses",
    "tip2": "View citation sources to verify retrieval",
    "tip3": "Click 'Rebuild Index' to update knowledge base"
  },
  "sources": {
    "title": "Knowledge Sources",
    "links": "Web Links",
    "fileItems": "Uploaded Files",
    "totalSize": "Total Size",
    "retrainAgent": "Train Agent",
    "retraining": "Training...",
    "trained": "Trained",
    "pending": "Pending",
    "processing": "Processing",
    "hasPendingHint": "Has pending content",
    "retrainStarted": "Agent training started",
    "retrainFailed": "Training failed",
    "resetKnowledgeBase": "Reset Knowledge Base",
    "resetConfirmTitle": "Reset Knowledge Base",
    "resetConfirmMessage": "After reset, you will need to reconfigure the Embedding provider. Are you sure?",
    "resetting": "Resetting...",
    "resetFailed": "Failed to reset knowledge base",
    "setupKnowledgeBase": "Configure Knowledge Base",
    "embeddingBatchSize": "Embedding Batch Size",
    "embeddingBatchSizeHint": "Number of text chunks per embedding API call, range 1-64"
  },
  "files": {
    "description": "Upload files to use as AI knowledge sources",
    "uploadTitle": "Upload Files",
    "dropzoneText": "Drag and drop files here, or click to browse",
    "supportedFormats": "Supports PDF, TXT, JSON, CSV, MD, DOCX, HTML, XML",
    "uploading": "Uploading {{count}} file(s)...",
    "uploadFailed": "Upload failed",
    "uploadPartial": "Uploaded {{uploaded}} file(s), {{failed}} failed",
    "fileList": "File List",
    "noFiles": "No files uploaded",
    "uploadHint": "Upload files to get started",
    "ready": "Ready",
    "processing": "Processing",
    "uploadingStatus": "Uploading",
    "pending": "Pending",
    "confirmDelete": "Are you sure you want to delete this file?",
    "clearAll": "Clear All",
    "confirmClearAll": "Are you sure you want to delete all files? This action cannot be undone.",
    "clearing": "Clearing...",
    "clearSuccess": "Successfully deleted {{count}} file(s)",
    "clearFailed": "Failed to clear files"
  },
  "citations": {
    "references": "References"
  },
  "users": {
    "title": "User Management",
    "addAdmin": "Add Admin",
    "email": "Email",
    "name": "Name",
    "password": "Password",
    "role": "Role",
    "create": "Create",
    "adminList": "Admin List",
    "id": "ID",
    "status": "Status",
    "actions": "Actions",
    "save": "Save",
    "cancel": "Cancel",
    "edit": "Edit",
    "delete": "Delete",
    "statusEnabled": "Enabled",
    "statusDisabled": "Disabled",
    "newPasswordPlaceholder": "New password, leave empty to keep unchanged",
    "roleLabels": {
      "super_admin": "Super Admin",
      "admin": "Admin",
      "support": "Support",
      "readonly": "Read Only"
    },
    "confirmDelete": "Are you sure you want to delete this admin account?",
    "userCreated": "Admin created: {{email}}",
    "userUpdated": "User updated",
    "userDeleted": "User deleted",
    "loadUsersFailed": "Failed to load users",
    "createFailed": "Failed to create",
    "saveFailed": "Failed to save",
    "deleteFailed": "Failed to delete"
  },
  "kb": {
    "title": "Knowledge Base Settings",
    "setupTitle": "Initialize Knowledge Base",
    "setupDescription": "Configure the embedding model to enable knowledge base retrieval.",
    "provider": "Embedding Provider",
    "providerJina": "Jina AI",
    "providerSiliconflow": "SiliconFlow",
    "providerCustom": "Custom (OpenAI Compatible)",
    "apiKey": "API Key",
    "apiKeyPlaceholder": "Enter API Key",
    "modelName": "Model Name",
    "apiBaseUrl": "Embedding API Base URL",
    "apiBaseUrlPlaceholder": "https://your-api.example.com/v1",
    "testConnection": "Test Connection",
    "testSuccess": "Connection successful",
    "testFailed": "Connection failed",
    "initButton": "Initialize Knowledge Base",
    "warning": "Cannot be changed after setup, only can be reset",
    "locked": "Locked",
    "lockedDescription": "Knowledge base initialized. Embedding configuration is locked.",
    "resetButton": "Reset Embedding",
    "resetConfirmTitle": "Reset Embedding Configuration",
    "resetConfirmMessage": "Index needs to be rebuilt and all files need to be re-uploaded. Are you sure?",
    "resetSuccess": "Embedding configuration has been reset",
    "setupSuccess": "Knowledge base initialization complete",
    "apiKeyConfigured": "Configured",
    "apiKeyNotConfigured": "Not configured",
    "setupRequired": "Please complete knowledge base setup first",
    "goToSetup": "Go to Setup",
    "batchSize": "Batch Size",
    "manageUrlsDesc": "Manage website knowledge sources, add and crawl web content",
    "manageFilesDesc": "Upload and manage files, supports PDF, TXT, CSV and more"
  }
}
