{ "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}", "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" } }