{
    "title": "Voice Lines",
    "linesCount": "{count} lines total, ",
    "audioGeneratedCount": "{count} audio generated",
    "emotionPrompt": "Emotion Prompt",
    "emotionPromptTip": "(Leave empty for auto-reference)",
    "emotionPlaceholder": "e.g. laugh, English only...",
    "emotionStrength": "Emotion Strength",
    "flat": "Flat",
    "intense": "Intense",
    "generating": "Generating...",
    "generateVoice": "Generate Voice",
    "toolbar": {
        "back": "← Back",
        "analyzeLines": "Analyze Lines",
        "addLine": "+ Add Voice",
        "generateAll": "Generate All Voices",
        "downloadAll": "Download Voices",
        "generatingCount": "Generating ({count})",
        "packing": "Packing...",
        "stats": "{total} lines | {withVoice} with voice | {withAudio} generated",
        "noDownload": "No voices to download",
        "downloadCount": "Download {count} voices",
        "uploadReferenceHint": "Please upload reference audio for all characters first"
    },
    "speakerVoice": {
        "title": "Speaker Voice Status",
        "hint": "Please upload reference audio for characters in Asset Library",
        "linesCount": "{count} lines",
        "noVoice": "No reference voice",
        "configured": "✓ Configured",
        "playVoice": "Play current voice",
        "aiDesign": "AI Design Voice",
        "aiDesignVoice": "AI Design Voice",
        "redesign": "Redesign voice with AI",
        "uploadAudio": "Upload audio",
        "uploading": "Uploading",
        "upload": "Upload",
        "microsoftVoice": "Microsoft Voice",
        "microsoft": "MS",
        "maleVoices": "Male",
        "femaleVoices": "Female",
        "openAssetLibrary": "Asset Library",
        "configuredStatus": "Voice Set",
        "pendingStatus": "Voice Pending",
        "voiceSettings": "Voice Settings",
        "inlineLabel": "Inline"
    },
    "inlineBinding": {
        "title": "Set voice for \"{speaker}\"",
        "description": "This speaker is not in the asset library. Choose a method to set a reference voice.",
        "selectFromLibrary": "Select from Voice Library",
        "selectFromLibraryDesc": "Choose an existing global voice",
        "uploadAudio": "Upload Reference Audio",
        "uploadAudioDesc": "Upload MP3, WAV or other audio files as reference voice",
        "uploadQwenHint": "Uploaded voices can only be synthesized with IndexTTS, not QwenTTS. QwenTTS requires an AI-designed voice.",
        "aiDesign": "AI Design Voice",
        "aiDesignDesc": "Use AI to generate an exclusive reference voice"
    },
    "embedded": {
        "linesStats": "{total} lines · {audio} generated",
        "reanalyze": "Re-analyze",
        "analyzeLines": "Analyze Lines",
        "reanalyzeHint": "Re-analyze lines and update shot matching",
        "analyzeHint": "Extract lines from script",
        "downloadVoice": "Download Voices",
        "generateAllVoice": "Generate All Voices",
        "pendingCount": "({count} pending)",
        "generatingProgress": "Generating ({current}/{total})",
        "generatingHint": "Generating...",
        "noVoiceHint": "Please set voice for all characters above first",
        "noLinesHint": "No lines to generate",
        "allDoneHint": "All lines generated",
        "generateHint": "Click to generate {count} pending voices",
        "addLine": "+ Add Voice",
        "speakerVoiceStatus": "Speaker Voice Status",
        "speakersCount": "{count}",
        "listen": "Listen",
        "listenVoice": "Listen to voice",
        "reset": "Reset",
        "resetDesign": "Redesign",
        "aiDesign": "AI Design",
        "assetLibrary": "Asset Library"
    },
    "lineCard": {
        "generatingVoice": "Generating",
        "speaker": "Speaker",
        "speakerPlaceholder": "Speaker name",
        "content": "Content",
        "contentPlaceholder": "Line content",
        "emotionConfigured": "Emotion set",
        "emotionSettings": "Emotion Settings",
        "voiceConfigured": "✓ Configured",
        "needVoice": "Please set voice above",
        "locatePanel": "Locate bound shot",
        "locateVideo": "Locate Video",
        "play": "Play",
        "pause": "Pause",
        "locatePanelCta": "Jump to Shot {index}",
        "editLine": "Edit line",
        "deleteLine": "Delete line",
        "deleteAudio": "Delete audio"
    },
    "lineEditor": {
        "addTitle": "Add Voice Line",
        "editTitle": "Edit Voice Line",
        "contentLabel": "Line Content",
        "contentPlaceholder": "Enter line content",
        "speakerLabel": "Speaker",
        "speakerPlaceholder": "Enter speaker name",
        "selectSpeaker": "Select a speaker",
        "noSpeakerOptions": "No available speakers in this project yet. Analyze lines first.",
        "bindPanelLabel": "Bind Shot",
        "unboundPanel": "Unbound",
        "panelLabel": "Shot {index}",
        "saveAdd": "Add Voice",
        "saveEdit": "Save Changes"
    },
    "empty": {
        "title": "No Voice Lines",
        "description": "Extract lines and speakers from script",
        "analyzeButton": "Analyze Lines",
        "hint": "Please upload reference audio for characters in Asset Library first"
    },
    "confirm": {
        "deleteLine": "Are you sure you want to delete this line?\n\n\"{content}\"\n\nThis action cannot be undone.",
        "deleteAudio": "Are you sure you want to delete this audio?\n\n\"{content}\"\n\nThis action cannot be undone."
    },
    "errors": {
        "saveFailed": "Save Failed",
        "analyzeFailed": "Analysis Failed",
        "generateFailed": "Generation Failed",
        "batchFailed": "Batch Generation Failed",
        "downloadFailed": "Download Failed",
        "deleteFailed": "Delete Failed",
        "addFailed": "Add Voice Failed",
        "invalidLineInput": "Content and speaker cannot be empty",
        "bindFailed": "Bind shot failed",
        "deleteAudioFailed": "Delete Audio Failed",
        "uploadFailed": "Upload Failed",
        "voiceDesignFailed": "Voice Design Save Failed",
        "emotionSaveFailed": "Emotion Settings Save Failed",
        "voiceGenerateFailed": "Voice Generation Failed"
    },
    "alerts": {
        "insufficientBalance": "Insufficient Balance",
        "insufficientBalanceMsg": "Account balance insufficient, please top up to continue",
        "noLinesToGenerate": "No lines to generate (please upload reference audio for characters first)",
        "generateComplete": "Complete: {success}/{total} successful",
        "generateFailed": "{count} failed",
        "speakerVoiceSet": "Reference audio set for {speaker}",
        "speakerVoiceUploaded": "Reference audio uploaded for {speaker}",
        "voiceDesignSet": "AI designed voice set for {speaker}"
    },
    "common": {
        "loading": "Loading...",
        "save": "Save",
        "cancel": "Cancel",
        "cancelling": "Cancelling...",
        "upload": "Upload",
        "download": "Download",
        "generate": "Generate",
        "regenerate": "Regenerate"
    },
    "assets": {
        "image": {
            "uploadFailed": "Upload Failed"
        },
        "stage": {
            "analyzing": "Analyzing..."
        }
    },
    "smartImport": {
        "errors": {
            "analyzeFailed": "Analysis Failed"
        }
    },
    "video": {
        "panelCard": {
            "play": "Play"
        }
    },
    "tts": {
        "generatedAudio": "Generated Audio",
        "browserNotSupport": "Your browser does not support audio playback",
        "audioDuration": "Audio Duration:",
        "subtitleCount": "Subtitle Count:",
        "noAudio": "No audio",
        "srtPreview": "SRT Subtitle Preview",
        "noSubtitle": "No subtitles",
        "stats": "Generation Stats",
        "minute": "min",
        "second": "sec",
        "items": "items",
        "completed": "✓ Completed",
        "regenerating": "Regenerating...",
        "regenerateTTS": "Regenerate TTS",
        "nextStep": "Next: Analyze Assets",
        "readyTip": "Click to proceed to asset analysis",
        "needGenerate": "Please generate TTS audio first"
    },
    "voiceCreate": {
        "aiDesignMode": "AI Design Voice",
        "uploadMode": "Upload Audio",
        "dropOrClick": "Drop file or click to select",
        "supportedFormats": "Supports MP3, WAV, OGG, M4A, AAC formats",
        "invalidFileType": "Unsupported file format. Please upload an audio file",
        "fileTooLarge": "File too large. Maximum 50MB supported",
        "previewAudio": "Preview Audio",
        "uploading": "Uploading...",
        "uploadFailed": "Upload failed",
        "uploadSuccess": "Upload successful"
    },
    "voiceDesign": {
        "presets": {
            "maleBroadcaster": "Male Broadcaster",
            "gentleFemale": "Gentle Female",
            "matureMale": "Mature Male",
            "livelyFemale": "Lively Girl",
            "intellectualFemale": "Intellectual Female",
            "narrator": "Narrator"
        },
        "presetsPrompts": {
            "maleBroadcaster": "Middle-aged male broadcaster with steady, deep voice, clear pronunciation",
            "gentleFemale": "Gentle and sweet young woman with clear, melodious voice",
            "matureMale": "Mature male with charismatic and expressive voice",
            "livelyFemale": "Lively young girl with sweet, cute, energetic voice",
            "intellectualFemale": "Elegant intellectual woman with clear, pleasant voice",
            "narrator": "Emotional narrator with warm, storytelling voice"
        },
        "defaultPreviewText": "Hello, nice to meet you. This is your AI-designed exclusive voice. Let me demonstrate its features for you. Whether it's a gentle conversation or an excited narration, I can deliver it perfectly. I hope you enjoy this voice, let's create amazing content together.",
        "pleaseSelectStyle": "Please enter or select a voice style",
        "designVoiceFor": "Design AI Voice for \"{speaker}\"",
        "hasExistingVoice": "Has voice",
        "selectStyle": "Select voice style:",
        "orCustomDescription": "Or custom description:",
        "describePlaceholder": "Describe voice characteristics: age, gender, tone, pitch...",
        "generateSchemesPrefix": "Generate",
        "generateSchemesSuffix": "Voice Schemes",
        "schemeCountAriaLabel": "Number of voice schemes to generate",
        "editPreviewText": "Edit preview text",
        "generating3Schemes": "Generating 3 voice schemes...",
        "estimatedTime": "Est. 15-30 seconds",
        "selectScheme": "Select voice scheme:",
        "schemeN": "Scheme {n}",
        "regenerate": "Regenerate",
        "confirmUse": "✓ Confirm Use",
        "confirmReplace": "Confirm Replace Voice?",
        "replaceWarning": "'s original voice, irreversible",
        "confirmReplaceBtn": "Confirm Replace",
        "noVoiceGenerated": "No voice generated",
        "generationError": "Voice generation failed",
        "generateFailed": "Failed to generate voice {n}",
        "preview": "Preview",
        "playing": "Playing"
    }
}
