{
  "tab": {
    "chatExplorer": "Chat Explorer",
    "sqlLab": "SQL Lab",
    "featureInDev": "{name} is in development",
    "comingSoon": "Coming soon...",
    "followNotice": "Follow me on X for updates"
  },
  "chat": {
    "welcome": {
      "configReady": "✅ AI service is configured and ready!",
      "configNeeded": "**Note**: Please configure AI service in Settings (sidebar bottom) before using ⚙️"
    },
    "capture": "Capture Chat",
    "scrollToBottom": "Back to Bottom",
    "input": {
      "placeholder": "Enter your question...",
      "placeholderWithSlash": "Enter your question, or type / for skills and {'@'} for members...",
      "placeholderWithActiveSkill": "/{name} selected. Enter your specific question...",
      "removeSkill": "Remove active skill",
      "slashHint": "Type / to pick a skill",
      "useSkill": "Choose Skill",
      "mentionHint": "Type {'@'} to pick a member",
      "mentionEmpty": "No matching members",
      "mentionEmptyHint": "Search by nickname, alias, or account",
      "slashEmpty": "No matching skills",
      "slashEmptyHint": "Open Skill Manager to import built-in skills or create a custom one",
      "manageSkills": "Manage Skills",
      "previewTitle": "Skill Prompt",
      "previewTagsLabel": "Tags",
      "previewToolsLabel": "Tools",
      "previewUnavailable": "No skill prompt available for preview",
      "presetMore": "More",
      "presetCollapse": "Collapse",
      "quickAsk": "Quick Ask",
      "editQuickAsk": "Edit Quick Ask",
      "send": "Send",
      "needMoreThanSkill": "Selecting a skill alone is not enough. Enter a specific question.",
      "needQuestion": "Enter a question before sending"
    },
    "backgroundTask": {
      "runningShort": "Running",
      "runningTitle": "AI is still thinking",
      "runningDescription": "The previous question is still running. Please wait for it to finish or stop it first.",
      "blockedAction": "The current answer is still being generated. Wait for it to finish or stop it first.",
      "return": "Return"
    },
    "message": {
      "userAvatar": "User Avatar",
      "calling": "Calling",
      "copy": {
        "tooltip": "Copy Markdown",
        "success": "Markdown copied to clipboard",
        "failed": "Failed to copy Markdown"
      },
      "tools": {
        "get_chat_overview": "Get Chat Overview",
        "search_messages": "Search Messages",
        "deep_search_messages": "Deep Search Messages",
        "get_recent_messages": "Get Recent Messages",
        "get_member_stats": "Get Member Stats",
        "get_time_stats": "Get Time Stats",
        "get_members": "Get Members",
        "get_member_name_history": "Get Nickname History",
        "get_conversation_between": "Get Conversation",
        "get_message_context": "Get Message Context",
        "search_sessions": "Search Sessions",
        "get_session_messages": "Get Session Messages",
        "get_session_summaries": "Get Session Summaries",
        "response_time_analysis": "Response Time Analysis",
        "keyword_frequency": "Keyword Frequency",
        "message_type_breakdown": "Message Type Breakdown",
        "peak_chat_hours_by_member": "Peak Hours by Member",
        "member_activity_trend": "Member Activity Trend",
        "silent_members": "Silent Members",
        "reply_interaction_ranking": "Reply Interaction Ranking",
        "mutual_interaction_pairs": "Mutual Interaction Pairs",
        "member_message_length_stats": "Message Length Stats",
        "daily_active_members": "Daily Active Members",
        "conversation_initiator_stats": "Conversation Initiators",
        "activity_heatmap": "Activity Heatmap",
        "unanswered_messages": "Unanswered Messages"
      },
      "generating": "Generating response...",
      "summary": {
        "label": "Context Summary",
        "expand": "Expand summary",
        "collapse": "Collapse summary",
        "info": "Previous conversation has been compressed into a summary to save context space"
      },
      "think": {
        "labels": {
          "think": "Thinking",
          "analysis": "Analysis",
          "reasoning": "Reasoning",
          "reflection": "Reflection",
          "other": "Thinking ({tag})"
        },
        "loading": "Thinking",
        "duration": "Took {seconds}s"
      },
      "toolParams": {
        "keywords": "Keywords",
        "time": "Time",
        "getMessages": "Get {count} messages",
        "limit": "Limit {count}",
        "contextWithMessages": "Context of {contextSize} messages around {msgCount} messages",
        "context": "{size} messages context",
        "topMembers": "Top {count} members",
        "search": "Search",
        "getMemberList": "Get member list",
        "memberId": "Member ID",
        "timeStats": {
          "hourly": "Hourly",
          "weekday": "By Weekday",
          "daily": "Daily"
        }
      }
    },
    "thinking": {
      "processingResult": "Processing result",
      "called": "Called:",
      "analyzing": "Analyzing question...",
      "compressing": "Compressing context..."
    },
    "statusBar": {
      "preset": {
        "default": "Default Preset",
        "groupTitle": "Group Chat Presets",
        "privateTitle": "Private Chat Presets",
        "manage": "Manage Presets"
      },
      "model": {
        "title": "AI Model Configs",
        "notConfigured": "AI Not Configured",
        "empty": "No configs",
        "manage": "Manage Configs",
        "switchFailed": "Failed to switch model"
      },
      "messageLimit": {
        "label": "Limit: ",
        "title": "Max messages per request, click to configure"
      },
      "agent": {
        "label": "Agent",
        "contextTokens": "Context",
        "stats": "seg {segment} · tags {tags}",
        "phase": {
          "compressing": "Compressing",
          "preparing": "Preparing",
          "thinking": "Thinking",
          "tool_running": "Running tool",
          "responding": "Responding",
          "completed": "Completed",
          "aborted": "Stopped",
          "error": "Error"
        },
        "phaseShort": {
          "compressing": "Compress",
          "preparing": "Prep",
          "thinking": "Think",
          "tool_running": "Tool",
          "responding": "Reply",
          "completed": "Done",
          "aborted": "Stop",
          "error": "Err"
        }
      },
      "tokenUsageTitle": "Total token usage",
      "export": {
        "label": "Export",
        "title": "Export current conversation"
      },
      "log": {
        "label": "Logs",
        "title": "Open current AI log file",
        "openFailed": "Failed to open log",
        "openFailedDesc": "Please try again later"
      },
      "compress": {
        "label": "Compress",
        "title": "Manually compress context",
        "compressing": "Compressing...",
        "success": "Context compressed",
        "successDesc": "{before} → {after} tokens",
        "skipped": "Compression skipped",
        "skippedDesc": "Not enough messages to compress",
        "failed": "Compression failed"
      },
      "status": {
        "connected": "AI Connected",
        "notConfigured": "Please configure AI service in Settings"
      }
    },
    "conversation": {
      "title": "AI Conversations",
      "newChat": "New Chat",
      "newConversation": "New Chat",
      "empty": "No history yet",
      "startNew": "Start New Chat",
      "titlePlaceholder": "Enter title...",
      "group": {
        "last7Days": "Last 7 Days",
        "last30Days": "Last 30 Days"
      },
      "rename": "Rename",
      "delete": "Delete",
      "export": {
        "createdAt": "Created",
        "user": "User",
        "assistant": "AI Assistant",
        "noMessages": "No messages to export"
      }
    },
    "error": {
      "title": "Processing Failed",
      "detail": "Error Details",
      "viewDetail": "View Details",
      "requestUrl": "Request URL",
      "statusCode": "Status Code",
      "responseBody": "Response Body",
      "responseHeaders": "Response Headers",
      "requestBody": "Request Body",
      "name": "Error Name",
      "message": "Error Message",
      "stack": "Stack Trace",
      "cause": "Error Cause",
      "provider": "Provider",
      "copyAll": "Copy All",
      "copied": "Copied to clipboard",
      "unknown": "Unknown error"
    },
    "dataSource": {
      "title": "Data Source",
      "keywords": "Keywords:",
      "empty": "No data",
      "emptyHint": "Related records will appear here after asking questions",
      "totalRecords": "{count} records",
      "loadMore": "Load More"
    }
  },
  "sqlLab": {
    "editor": {
      "errorEmptySQL": "Please enter an SQL statement",
      "placeholder": "Enter SQL query...",
      "promptTip": "Describe your query in natural language. SQL will be generated and executed automatically",
      "tip": "Tip: Double-click column names to insert into SQL",
      "history": "History",
      "aiGenerate": "AI Generate",
      "generateAndRun": "Generate and Run",
      "switchToSQLMode": "Switch to SQL Mode",
      "switchToPromptMode": "Switch to Prompt Mode",
      "shortcut": "Ctrl/⌘ + Enter to run",
      "run": "Run"
    },
    "schema": {
      "tables": "Tables",
      "doubleClickToInsert": "Double-click to insert into SQL",
      "primaryKey": "Primary Key"
    },
    "result": {
      "queryError": "Query Error",
      "rows": "{count} rows",
      "readableTime": "Readable time",
      "viewChat": "View chat history",
      "summarize": "Summarize",
      "pageSize": "Per page",
      "pageInfo": "Page {current} / {total}",
      "emptyResult": "Query returned no results",
      "initialState": "Enter SQL and run to see results",
      "initialHint": "Only read-only queries are supported (SELECT / WITH). Add LIMIT for better performance",
      "summaryTitle": "AI Result Summary",
      "analyzing": "AI is analyzing results...",
      "errorSummary": "Summary failed"
    },
    "generate": {
      "title": "AI Generate SQL",
      "description": "Describe what you want to query in natural language, and AI will generate the corresponding SQL.",
      "placeholder": "E.g.: Find top 10 members by message count, count daily messages, find messages containing 'keyword'...",
      "errorEmptyPrompt": "Please enter your query requirement",
      "errorGenerate": "AI generation failed",
      "aiOutput": "AI Output",
      "waitingAI": "Waiting for AI response...",
      "sqlStatement": "SQL Statement",
      "explanation": "Explanation",
      "generateSQL": "Generate SQL",
      "useSQL": "Use SQL",
      "run": "Run",
      "defaultPromptPrivate": "For the last 1 year of this private chat, compare both participants by total messages, message share, active days, average messages per active day, first message time, and latest message time; sort by total messages desc.",
      "defaultPromptGroup": "For the last 1 year of this group chat, rank members by total messages, message share, active days, average messages per active day, and text-message ratio; include display names and return top 20 by total messages desc."
    },
    "history": {
      "title": "AI Generation History",
      "execute": "Execute",
      "empty": "No history records",
      "justNow": "Just now",
      "minutesAgo": "{count} min ago",
      "hoursAgo": "{count} hr ago",
      "today": "Today"
    }
  },
  "assistant": {
    "selector": {
      "title": "Choose an assistant to start",
      "heroTitlePrefix": "Chat with",
      "heroTitleSuffix": "",
      "subtitle": "Each assistant specializes in different types of analysis tasks. Pick the one that best fits your needs.",
      "noAssistants": "No assistants available for this context",
      "manage": "Manage Assistants",
      "addNew": "New Assistant"
    },
    "config": {
      "viewTitle": "View Config",
      "createTitle": "New Assistant",
      "editTitle": "Assistant Config",
      "betaWarning": "This feature is in beta. Configuration logic may change, so please back up your prompts.",
      "tabs": {
        "basic": "Basic",
        "tools": "Tools"
      },
      "name": "Name",
      "systemPrompt": "System Prompt",
      "chatType": "Chat Type",
      "chatTypeAll": "All",
      "chatTypeGroup": "Group",
      "chatTypePrivate": "Private",
      "locale": "Language",
      "localeHint": "None selected = all languages",
      "presetQuestions": "Preset Questions",
      "addQuestion": "Add a question...",
      "builtinTools": "Built-in Tools",
      "coreTools": "Core Tools",
      "coreToolsHint": "Essential data retrieval tools, always enabled",
      "analysisTools": "Analysis Tools",
      "analysisToolsHint": "Enable on demand. Only checked tools will be available to AI",
      "selectAll": "Select All",
      "deselectAll": "Deselect All",
      "builtinToolsHint": "No selection = all tools available. Only checked tools will be enabled.",
      "toolGroupQuery": "Data Query Tools",
      "resetDefault": "Reset to Default",
      "create": "Create"
    },
    "market": {
      "title": "Assistant Manager",
      "tabs": {
        "local": "Local",
        "market": "Market"
      },
      "localHint": "Manage imported assistants, configure or delete",
      "marketHint": "Browse the assistant market, import to use and customize",
      "default": "Default",
      "updateAvailable": "Update Available",
      "reimport": "Re-import",
      "imported": "Imported",
      "import": "Import",
      "importing": "Importing...",
      "importSuccess": "Import successful",
      "importFailed": "Import failed",
      "viewConfig": "View Config",
      "duplicate": "Duplicate",
      "addAssistant": "Add Assistant",
      "noLocal": "No imported assistants yet",
      "noCatalog": "No assistants available, please check your network",
      "loading": "Loading...",
      "loadFailed": "Failed to load, please check your network",
      "retry": "Retry"
    },
    "fallbackName": "Assistant",
    "duplicateSuffix": " (Copy)",
    "toast": {
      "loadFailed": "Failed to load",
      "createSuccess": "Created successfully",
      "createFailed": "Failed to create",
      "saveSuccess": "Saved successfully",
      "saveFailed": "Failed to save",
      "resetSuccess": "Reset to default",
      "resetFailed": "Failed to reset",
      "unknownError": "Unknown error"
    },
    "builtinToolDesc": {
      "get_chat_overview": "Get chat overview information",
      "search_messages": "Search chat messages",
      "deep_search_messages": "Deep search chat messages",
      "get_recent_messages": "Get recent messages",
      "get_message_context": "Get message context",
      "get_conversation_between": "Get conversation between two members",
      "get_members": "Get members",
      "get_member_stats": "Get member statistics",
      "get_member_name_history": "Get member name history",
      "get_time_stats": "Get time statistics",
      "search_sessions": "Search sessions",
      "get_session_messages": "Get session messages",
      "get_session_summaries": "Get session summaries",
      "message_type_breakdown": "Message type distribution",
      "peak_chat_hours_by_member": "Member peak hours",
      "member_activity_trend": "Member activity trend",
      "silent_members": "Silent member detection",
      "reply_interaction_ranking": "Reply interaction ranking",
      "mutual_interaction_pairs": "Mutual interaction pairs",
      "member_message_length_stats": "Message length stats",
      "unanswered_messages": "Unanswered messages",
      "daily_active_members": "Daily active members",
      "conversation_initiator_stats": "Conversation initiators",
      "activity_heatmap": "Activity heatmap",
      "response_time_analysis": "Response time analysis",
      "keyword_frequency": "Keyword frequency"
    }
  },
  "skill": {
    "selector": {
      "title": "Select Skill",
      "freeChat": "Free Chat",
      "freeChatDesc": "No preset skill, AI responds freely",
      "manage": "Manage Skills",
      "incompatible": "Incompatible with current assistant",
      "noSkills": "No skills available",
      "noSkillsHint": "Import built-in skills or create custom skills via Skill Manager",
      "autoSkill": "AI auto-select skill",
      "autoSkillHint": "When enabled, AI can automatically choose the best skill for your question"
    },
    "config": {
      "createTitle": "New Skill",
      "editTitle": "Skill Config",
      "name": "Name",
      "description": "Description",
      "tags": "Tags",
      "chatScope": "Scope",
      "chatScopeAll": "All",
      "chatScopeGroup": "Group",
      "chatScopePrivate": "Private",
      "prompt": "Skill Prompt",
      "tools": "Required Tools",
      "rawEditor": "Markdown Editor",
      "rawEditorHint": "Edit the full skill Markdown file (with YAML frontmatter)",
      "create": "Create",
      "save": "Save"
    },
    "market": {
      "title": "Skill Manager",
      "tabs": {
        "local": "Local",
        "market": "Market"
      },
      "localHint": "Manage imported skills, configure or delete",
      "marketHint": "Browse the skill market, import to use and customize",
      "updateAvailable": "Update Available",
      "reimport": "Re-import",
      "imported": "Imported",
      "import": "Import",
      "importing": "Importing...",
      "importSuccess": "Import successful",
      "importFailed": "Import failed",
      "noLocal": "No imported skills yet",
      "noCatalog": "No skills available, please check your network",
      "addSkill": "Create Custom Skill",
      "loading": "Loading...",
      "loadFailed": "Failed to load, please check your network",
      "retry": "Retry"
    },
    "block": {
      "label": "Skill: {name}"
    },
    "active": {
      "label": "Manually Invoked Skill: {name}"
    },
    "toast": {
      "createSuccess": "Skill created successfully",
      "createFailed": "Failed to create skill",
      "saveSuccess": "Skill saved successfully",
      "saveFailed": "Failed to save skill",
      "deleteSuccess": "Skill deleted",
      "deleteFailed": "Failed to delete"
    }
  },
  "lab": {
    "basicTools": "Basic Tools",
    "toolTest": {
      "selectTool": "Select Tool",
      "selectToolPlaceholder": "Select a tool...",
      "coreTools": "Core Tools",
      "analysisTools": "Analysis Tools",
      "parameters": "Parameters",
      "arrayPlaceholder": "Separate values with commas",
      "execute": "Execute",
      "cancel": "Cancel",
      "elapsed": "Elapsed {ms}ms",
      "result": "Result",
      "truncated": "Result too large, truncated. Try reducing the limit parameter for complete data."
    }
  }
}
