import type { TranslationMap } from "./index";

export const enUS: TranslationMap = {
  // App header
  "app.title": "AI Vision Assistant",
  "app.stats.requests": "requests",

  // Connection status
  "status.connected": "Connected",
  "status.connecting": "Connecting...",
  "status.disconnected": "Disconnected",

  // Settings
  "settings.title": "Settings",
  "settings.appearance": "Appearance",
  "settings.theme": "Theme",
  "settings.theme.desc": "Switch between light and dark theme",
  "settings.theme.dark": "Dark",
  "settings.theme.light": "Light",
  "settings.session": "Session",
  "settings.tts": "Voice Response",
  "settings.tts.desc": "Play voice along with AI response",
  "settings.detail": "Image Quality",
  "settings.detail.desc": "High quality for text recognition, low saves bandwidth",
  "settings.detail.low": "Low",
  "settings.detail.high": "High",
  "settings.language": "Language",
  "settings.language.desc": "Interaction language preference",
  "settings.scenario": "Scenario",
  "settings.scenario.desc": "Choose the AI's role",

  // Scenarios
  "scenario.choose": "Choose a scenario",
  "scenario.freeChat": "Free Chat",
  "scenario.freeChat.desc": "AI visual assistant, chat freely",
  "scenario.freeChat.hint": "AI will act as a visual assistant to answer your questions",
  "scenario.interviewer": "Mock Interviewer",
  "scenario.interviewer.desc": "AI plays interviewer for practice",
  "scenario.interviewer.hint": "AI will act as an interviewer, asking professional questions and providing feedback",
  "scenario.englishTeacher": "English Tutor",
  "scenario.englishTeacher.desc": "AI English tutor, corrects grammar",
  "scenario.englishTeacher.hint": "AI will converse in English, correct grammar mistakes, and guide deeper conversations",
  "scenario.debate": "Debate Opponent",
  "scenario.debate.desc": "AI challenges your viewpoints",
  "scenario.debate.hint": "AI will argue against your viewpoints using logic and evidence",
  "scenario.interpreter": "Interpreter",
  "scenario.interpreter.desc": "Real-time Chinese-English translation",
  "scenario.interpreter.hint": "AI will translate your speech in real-time (Chinese-English), without explanations",

  // Video indicators
  "video.listening": "🎤 Listening...",
  "video.playing": "🔊 Playing...",
  "video.initVad": "Initializing voice detection...",
  "video.clickToStart": "Click the button below to start",
  "video.placeholder": "Type in the chat panel to start",
  "video.cameraOff": "Camera is off",
  "video.cameraOff.hint": "You can type in the chat panel",
  "video.ended": "Video Ended",
  "video.ended.hint": "You can continue chatting below",

  // Controls
  "controls.connecting": "Connecting...",
  "controls.start": "🎙️ Start Session",
  "controls.startVideo": "🎙️ Start Video Call",
  "controls.cameraOff": "Turn off camera",
  "controls.cameraOn": "Turn on camera",
  "controls.micOff": "Turn off microphone",
  "controls.micOn": "Turn on microphone",
  "controls.interrupt": "⏹ Interrupt",
  "controls.stop": "End Session",
  "controls.stopVideo": "End Video",
  "controls.endSession": "End Session",
  "controls.resumeVideo": "📹 Resume Video",

  // Chat panel
  "chat.title": "Chat",
  "chat.reconnecting": "Connection lost, reconnecting...",
  "chat.connecting": "Connecting to server...",
  "chat.vadInit": "Initializing voice detection...",
  "chat.empty.prompt": "Type below to start chatting",
  "chat.empty.hint": "Type to chat with AI, or click the button on the left to start video",
  "chat.welcome.prompt": "Type below to start chatting",
  "chat.welcome.hint": "Or enable microphone for voice chat",
  "chat.userLabel": "You",
  "chat.input.placeholder": "Type a message...",
  "chat.send": "Send",
  "chat.scenarioSwitched": "Switched to {name} mode",

  // Session messages
  "session.recognizing": "(Recognizing speech...)",
  "session.sttFailed": "(Speech recognition failed, please try again)",
  "session.noSpeech": "(No speech detected)",
  "session.interrupted": "(Interrupted)",

  // Errors
  "error.INVALID_MESSAGE": "Invalid message format, please retry",
  "error.SESSION_NOT_FOUND": "Session expired, please reconnect",
  "error.RATE_LIMITED": "Too many requests, please try again later",
  "error.IMAGE_TOO_LARGE": "Image too large, please reduce resolution",
  "error.AUDIO_TOO_SHORT": "Audio too short, please try again",
  "error.LLM_TIMEOUT": "AI response timed out, please retry",
  "error.LLM_ERROR": "AI service error, please try again later",
  "error.STT_ERROR": "Speech recognition failed, please retry",
  "error.TTS_ERROR": "Voice synthesis failed",
  "error.INTERNAL_ERROR": "Internal server error, please retry",
  "error.unknown": "Unknown error",

  // Sidebar
  "sidebar.new": "New Chat",
  "sidebar.expand": "Expand sidebar",
  "sidebar.collapse": "Collapse sidebar",
  "sidebar.empty": "No chat history",
  "sidebar.messages": " messages",
  "sidebar.rename": "Rename",
  "sidebar.delete": "Delete",
  "sidebar.search": "Search conversations...",
  "sidebar.today": "Today",
  "sidebar.yesterday": "Yesterday",
  "sidebar.earlier": "Earlier",
  "sidebar.pinned": "Pinned",
  "sidebar.video": "Video",
  "sidebar.clearHistory": "Clear History",

  // Scene cards (empty state)
  "scene.describe": "Describe my surroundings",
  "scene.describe.desc": "Let AI observe and describe the current scene",
  "scene.text": "Recognize text in view",
  "scene.text.desc": "Extract and translate text from the scene",
  "scene.object": "Analyze this object",
  "scene.object.desc": "Identify objects and provide information",
  "scene.suggest": "Give me suggestions",
  "scene.suggest.desc": "Practical suggestions based on the current scene",

  // Video controls (enhanced)
  "controls.recognize": "Analyze Scene",
  "controls.device.default": "Default",

  // Status bar
  "statusbar.ready": "Ready · Select devices to start",
  "statusbar.calling": "In call",
  "statusbar.duration": "Duration",
  "statusbar.recognitions": "recognitions",
  "statusbar.tokens": "Tokens",

  // Input enhanced
  "chat.input.voice": "Voice input",

  // Device errors
  "error.vadInit": "VAD initialization failed",
  "error.cameraAccess": "Cannot access camera",
  "error.micAccess": "Cannot access microphone",

  // Auth
  "auth.subtitle": "AI Vision Assistant",
  "auth.login": "Sign In",
  "auth.register": "Sign Up",
  "auth.username": "Username",
  "auth.username.placeholder": "3-64 characters",
  "auth.password": "Password",
  "auth.password.placeholder": "8-72 characters",
  "auth.submitting": "Please wait...",
  "auth.noAccount": "Don't have an account?",
  "auth.hasAccount": "Already have an account?",
  "auth.error.usernameLength": "Username must be 3-64 characters",
  "auth.error.passwordLength": "Password must be 8-72 characters",
  "auth.logout": "Sign Out",

  // Account (in settings)
  "settings.account": "Account",
  "settings.account.user": "Current user",

  // Custom scenarios
  "settings.scenario.system": "System Scenarios",
  "settings.scenario.custom": "My Scenarios",
  "settings.scenario.empty": "No custom scenarios yet. Click the button above to create one.",
  "scenario.create.button": "New Scenario",
  "scenario.createChip": "New",
  "scenario.create.title": "Create Custom Scenario",
  "scenario.edit.title": "Edit Scenario",
  "scenario.create.name": "Scenario Name",
  "scenario.create.namePlaceholder": "e.g. Creative Writing Coach",
  "scenario.create.icon": "Icon",
  "scenario.create.description": "Brief Description",
  "scenario.create.descriptionPlaceholder": "One-line summary of this scenario",
  "scenario.create.prompt": "System Prompt",
  "scenario.create.promptPlaceholder": "Define the AI's role and interaction rules...",
  "scenario.create.promptGuide": "View Guide",
  "scenario.create.promptGuide.tips": "Writing tips:",
  "scenario.create.promptGuide.tip1": "Clearly define the role: who you are, who you are not",
  "scenario.create.promptGuide.tip2": "List interaction rules: how to respond, how many sentences",
  "scenario.create.promptGuide.tip3": "Add constraints: what not to do",
  "scenario.create.promptGuide.example": "Example:",
  "scenario.create.greeting": "Greeting (Optional)",
  "scenario.create.greetingPlaceholder": "The first message when switching to this scenario...",
  "scenario.create.language": "Default Language",
  "scenario.error.nameLength": "Scenario name must be 2-50 characters",
  "scenario.error.promptLength": "Prompt must be 10-2000 characters",
  "scenario.error.greetingLength": "Greeting must not exceed 500 characters",

  // Common actions
  "common.cancel": "Cancel",
  "common.create": "Create",
  "common.creating": "Creating...",
  "common.save": "Save",
  "common.saving": "Saving...",
  "common.edit": "Edit",
  "common.delete": "Delete",
  "common.confirmDelete": "Click again to confirm",
};
