{
    "phases": {
        "planning": "Planning Storyboard",
        "cinematography": "Cinematography Design",
        "acting": "Acting Direction",
        "detail": "Adding Details"
    },
    "prompts": {
        "imagePrompt": "Image Prompt",
        "aiInstruction": "AI Modify Instruction",
        "supportReference": "(Support @ referencing asset library)",
        "instructionPlaceholder": "e.g. Change location to @Hospital_Day, character to @ProtagonistA",
        "selectAsset": "Select Asset",
        "character": "Character",
        "location": "Location",
        "referencedAssets": "Referenced Assets:",
        "removeAsset": "Remove Asset",
        "aiModify": "AI Modify & Generate",
        "aiModifying": "Modifying...",
        "aiModifyTip": "Click to auto-save prompt and generate new image",
        "save": "Save",
        "currentPrompt": "Current Prompt",
        "enterInstruction": "Please enter instruction",
        "modifyFailed": "Operation Failed: {error}",
        "updateFailed": "Update Failed: {error}",
        "enterContinuation": "Please enter content to append",
        "appendTitle": "Continue Content",
        "appendDescription": "Enter new SRT content. The system will split and generate new shots, then append them to the end.",
        "appendSubmit": "Append and Generate Shots",
        "appendSuccess": "Append succeeded. New shots were added to the end of the list.",
        "appendFailed": "Append failed: {error}",
        "customStyle": "Custom Style"
    },
    "group": {
        "generating": "Generating...",
        "hasSynced": "✓ Generated",
        "failed": "Failed",
        "retry": "Retry",
        "regenerate": "Regenerate All",
        "generateAll": "Generate All",
        "expand": "Expand",
        "collapse": "Collapse",
        "addPanel": "Add Panel",
        "regenerating": "Regenerating...",
        "aiAnalyzing": "AI Analyzing...",
        "regenerateText": "Regenerate Text",
        "generateMissingImages": "Generate all panels without images in this segment",
        "segment": "Segment",
        "addAtStart": "Add new storyboard group at the start",
        "insertHere": "Insert new storyboard group here"
    },
    "header": {
        "title": "Storyboard Editing",
        "panels": "Panels",
        "submit": "Submit Generation",
        "submitting": "Submitting...",
        "storyboardPanel": "Storyboard Panel",
        "segments": "segments",
        "segmentsCount": "Total {count} segments,",
        "panelsCount": "{count} panels",
        "generatingStatus": "({count} generating)",
        "generateAllPanels": "Generate All Panels",
        "generatePendingPanels": "Generate {count} panels without images",
        "downloadAll": "Download All",
        "downloading": "Packing...",
        "noImages": "No images to download",
        "downloadAllImages": "Download all images",
        "generateVideo": "Generate Video →",
        "back": "← Back",
        "concurrencyLimit": "Concurrency limit {count}"
    },
    "panel": {
        "shotType": "Shot Type:",
        "duration": "seconds",
        "location": "Location:",
        "characters": "Characters:",
        "description": "Description:",
        "text": "Corresponding Text:",
        "regenerate": "Regenerate",
        "delete": "Delete",
        "insertBefore": "Insert Before",
        "insertAfter": "Insert After",
        "moveUp": "Move Up",
        "moveDown": "Move Down",
        "plot": "Plot:",
        "summary": "Summary:",
        "pov": "POV:",
        "focus": "Focus:",
        "mode": "Mode:",
        "shot": "Shot",
        "segment": "Segment",
        "stylePrompt": "Style/Prompt",
        "shotMode": "Shot/Mode",
        "regenerateImage": "Regenerate Image",
        "generateImage": "Generate Image",
        "cardView": "Card View",
        "tableView": "Table View",
        "shotTypeLabel": "Shot Type",
        "cameraMove": "Camera Move",
        "sourceText": "Source Text",
        "sceneDescription": "Scene Description",
        "videoPrompt": "Video Prompt",
        "videoPromptHint": "Describe subject movement, environment, and camera language",
        "locationLabel": "Location",
        "editLocation": "Edit Location",
        "characterLabel": "Character",
        "characterLabelWithCount": "Characters ({count})",
        "editCharacter": "Edit Characters",
        "select": "+ Select",
        "add": "+ Add",
        "noLocation": "No location selected",
        "locationNotEdited": "Location not edited yet",
        "noCharacters": "No characters selected",
        "charactersNotEdited": "Characters not edited yet",
        "shotTypePlaceholder": "Overhead medium shot...",
        "cameraMovePlaceholder": "Slow push, static...",
        "videoPromptPlaceholder": "Prompt for video generation...",
        "sceneDescriptionPlaceholder": "Describe subject, composition, lighting, and mood",
        "selectCharacter": "Select Character",
        "selectLocation": "Select Location",
        "noCharacterAssets": "No character assets",
        "noLocationAssets": "No location assets",
        "selected": "Selected",
        "defaultAppearance": "Default appearance",
        "newPanelDescription": "New shot description",
        "noShotType": "Shot type not set"
    },
    "image": {
        "generating": "Generating...",
        "regenerate": "Regenerate",
        "edit": "Edit",
        "editImage": "Edit Image",
        "candidate": "Candidate",
        "selectCandidate": "Select Candidate",
        "variants": "Variants",
        "generateVariants": "Generate Variants",
        "forceRegenerate": "Force Regenerate",
        "failed": "Generation Failed",
        "clickToPreview": "Click to preview",
        "enlargePreview": "Enlarge Preview",
        "candidateCount": "Candidate {count}",
        "candidateGenerating": "{count} generating",
        "selectingCandidate": "Selecting candidate...",
        "confirmCandidate": "Confirm Selection",
        "cancelSelection": "Cancel Selection",
        "noValidCandidates": "No valid candidates",
        "selectCount": "Select count",
        "generateMultiple": "Generate multiple candidates",
        "generateCount": "Generate {count}",
        "generateCountSuffix": "candidates",
        "undoShort": "Back"
    },
    "candidate": {
        "title": "Select Candidate Image",
        "select": "Select",
        "cancel": "Cancel",
        "noImages": "No candidate images",
        "original": "Original"
    },
    "variant": {
        "title": "Image Variants",
        "generate": "Generate Variants",
        "select": "Use This Image",
        "close": "Close",
        "shotTitle": "Shot Variant - Based on #{number}",
        "originalDescription": "Original Shot Description",
        "noDescription": "No description",
        "noImage": "No image",
        "shotNum": "Shot {number}",
        "aiRecommend": "AI Recommended Variants",
        "reanalyze": "Re-analyze",
        "shotType": "Shot type:",
        "cameraMove": "Camera move:",
        "generating": "Generating",
        "clickToAnalyze": "Click Re-analyze to get AI recommendations",
        "customInstruction": "Or custom instruction",
        "customPlaceholder": "Enter the shot effect you want, e.g.: switch to reverse shot, focus on another character's expression...",
        "includeCharacter": "Include character reference",
        "includeLocation": "Include location reference",
        "customVariant": "Custom variant",
        "defaultShotType": "Medium Shot",
        "defaultCameraMove": "Static",
        "useCustomGenerate": "Generate with custom",
        "analyzeFailed": "Analysis failed",
        "creativeScore": "Creativity {score}/5"
    },
    "insert": {
        "title": "Insert New Panel",
        "position": "Insert Position",
        "before": "Before Panel {number}",
        "after": "After Panel {number}",
        "content": "Panel Content",
        "shotType": "Shot Type",
        "location": "Location",
        "characters": "Characters",
        "description": "Description",
        "text": "Corresponding Text",
        "placeholder": {
            "shotType": "Select shot type...",
            "location": "Enter location...",
            "characters": "Enter characters, comma separated",
            "description": "Describe the scene...",
            "text": "Corresponding script text..."
        },
        "insert": "Insert",
        "cancel": "Cancel"
    },
    "common": {
        "actions": "Actions",
        "add": "Add",
        "cancel": "Cancel",
        "confirm": "Confirm",
        "copy": "Copy",
        "delete": "Delete",
        "download": "Download",
        "edit": "Edit",
        "generate": "Generate",
        "loading": "Loading...",
        "none": "None",
        "unknownError": "Unknown error",
        "preview": "Preview",
        "refresh": "Refresh",
        "regenerate": "Regenerate",
        "deleting": "Deleting",
        "editing": "Editing",
        "saving": "Saving...",
        "saveFailed": "Save failed, changes not synced",
        "retrySave": "Retry save",
        "save": "Save",
        "status": "Status",
        "submitFailed": "Submit Failed",
        "upload": "Upload"
    },
    "confirm": {
        "deletePanel": "Delete this shot? This action cannot be undone.",
        "deleteGroup": "Delete this storyboard group? This will remove all {count} shots in this segment. This action cannot be undone."
    },
    "messages": {
        "episodeNotFound": "Episode information not found",
        "downloadFailed": "Download failed: {error}",
        "panelNotFound": "Shot information not found",
        "modifyFailed": "Modify failed: {error}",
        "selectCandidateFailed": "Select candidate failed: {error}",
        "insertPanelFailed": "Insert shot failed: {error}",
        "addPanelFailed": "Add shot failed: {error}",
        "deletePanelFailed": "Delete shot failed: {error}",
        "deleteGroupFailed": "Delete storyboard group failed: {error}",
        "regenerateGroupFailed": "Regenerate storyboard failed: {error}",
        "addGroupFailed": "Add storyboard group failed: {error}",
        "moveGroupFailed": "Move storyboard group failed: {error}",
        "batchGenerateCompleted": "Batch generation completed:\nSucceeded: {succeeded}\nFailed: {failed}\n\nSample errors: {errors}",
        "batchGenerateFailed": "Batch generation failed: {error}"
    },
    "canvas": {
        "emptyTitle": "No storyboard data yet",
        "emptyDescription": "Generate clips and storyboard text first, or add a storyboard group above"
    },
    "imageEdit": {
        "title": "Edit Storyboard Image",
        "subtitle": "Enter a modify instruction and optionally upload reference images or assets",
        "promptPlaceholder": "Describe what to modify, e.g. change background color or adjust expression...",
        "referenceImagesLabel": "Reference Images",
        "referenceImagesHint": "(optional, paste supported)",
        "start": "Start Editing",
        "selectAsset": "Select Assets",
        "selectedAssetsLabel": "Referenced Assets",
        "selectedAssetsCount": "{count}",
        "addAsset": "Add Asset",
        "noAssets": "No assets selected. Click \"Add Asset\" to choose."
    },
    "screenplay": {
        "tabs": {
            "formatted": "Screenplay",
            "original": "Original"
        },
        "scene": "Scene {number}",
        "characters": "Characters",
        "voiceover": "Voiceover",
        "parseFailedTitle": "Failed to parse screenplay format",
        "parseFailedDescription": "Please check the original content"
    },
    "assets": {
        "character": {
            "confirming": "Confirming...",
            "editing": "Editing..."
        },
        "image": {
            "undo": "Undo to Previous Version"
        },
        "location": {
            "generateImage": "Generate Image"
        },
        "stage": {
            "analyzing": "Analyzing..."
        }
    },
    "video": {
        "toolbar": {
            "showPending": "Pending"
        },
        "panelCard": {
            "forceRegenerate": "Force Regenerate (if stuck)"
        }
    },
    "smartImport": {
        "errors": {
            "analyzeFailed": "Analysis Failed"
        },
        "preview": {
            "reanalyze": "Re-analyze"
        },
        "smartImport": {
            "recommended": "Recommended"
        }
    },
    "aiData": {
        "title": "AI Data Editor",
        "subtitle": "Panel {number} - Complete data sent to image generation AI",
        "basicData": "Storyboard Basic Data",
        "shotType": "Shot Type",
        "cameraMove": "Camera Movement",
        "shotTypePlaceholder": "Overhead, wide shot, eye-level, medium shot...",
        "cameraMovePlaceholder": "Slow push, static, follow...",
        "scene": "Scene (Read-only)",
        "notSelected": "Not selected",
        "summary": "Scene Summary",
        "characters": "Characters (Read-only)",
        "plot": "Plot",
        "summarize": "Summary",
        "visualDescription": "Visual Description",
        "videoPrompt": "Video Prompt",
        "negativePrompt": "Negative Prompt",
        "save": "Save",
        "cancel": "Cancel",
        "lightingDirection": "Lighting Direction",
        "lightingQuality": "Lighting Quality",
        "depthOfField": "Depth of Field",
        "colorTone": "Color Tone",
        "characterPosition": "Character Position Rules",
        "position": "Position",
        "posture": "Posture",
        "facing": "Facing",
        "photographyRules": "Photography Rules",
        "viewData": "View Data",
        "jsonPreview": "JSON Preview",
        "actingNotes": "Acting Direction (acting_notes)",
        "actingTitle": "Acting Direction",
        "actingDescription": "Performance Notes",
        "noActingData": "No acting data"
    },
    "insertModal": {
        "insertBetween": "Insert between #{before} and #{after}",
        "panel": "Panel",
        "noImage": "No image",
        "insertAtEnd": "End",
        "aiAnalyze": "AI Auto-analyze",
        "analyzing": "AI analyzing...",
        "insert": "Insert",
        "inserting": "Inserting...",
        "placeholder": "Optional: Add notes, e.g. add a reaction shot..."
    },
    "panelActions": {
        "insertPanel": "Insert Panel",
        "panelVariant": "Panel Variant",
        "insertHere": "Insert panel here",
        "generateVariant": "Generate variant based on this panel",
        "needImage": "Need to generate image first",
        "deleteShot": "Delete Shot",
        "pasteSrtPlaceholder": "Paste new SRT content..."
    },
    "firstLastFrame": {
        "placeholder": "Enter first/last frame video prompt...",
        "modelTitle": "First/Last Frame Model"
    }
}
