{
  "panelCard": {
    "play": "Play",
    "pause": "Pause",
    "retry": "Retry",
    "regenerate": "Regenerate",
    "download": "Download",
    "edit": "Edit",
    "save": "Save",
    "cancel": "Cancel",
    "generating": "Generating...",
    "failed": "Failed",
    "lipSync": "Lip Sync",
    "lipSyncVideo": "Lip Sync Video",
    "lipSyncLabel": "Lip Sync",
    "lipSyncTitle": "Lip Sync",
    "original": "Original",
    "synced": "Synced",
    "videoFixed": "✓ Video",
    "imagePreview": "Image Preview",
    "playVoice": "Play Voice",
    "stopVoice": "Stop",
    "noVoice": "No voice available",
    "forceRegenerate": "Force Regenerate (use if stuck)",
    "regenerateVideo": "Regenerate Video",
    "lipSyncStatus": "Lip syncing...",
    "lipSyncInProgress": "Lip syncing in progress...",
    "lipSyncMayTakeMinutes": "This may take a few minutes",
    "audioEnabled": "Audio enabled",
    "audioDisabled": "Audio disabled",
    "isSynced": "(Synced)",
    "needVideo": "(Please generate video first)",
    "needAudio": "(Please generate audio first)",
    "generateAudio": "Generate Audio",
    "regenerateLipSync": "Regenerate Lip Sync",
    "editPrompt": "Edit Prompt",
    "clickToEditPrompt": "Click to edit prompt...",
    "shot": "Shot {number}",
    "unknownShotType": "Unknown",
    "correspondingText": "Corresponding Text",
    "generateVideo": "Generate Video",
    "selectModel": "Select Video Model",
    "selectVoice": "Select voice to use:",
    "willAutoPad": "(will auto-pad)",
    "autoPadding": "Padding",
    "redo": "Redo",
    "generatingAudio": "Generating...",
    "error": {
      "audioFailed": "Audio generation failed"
    },
    "batchMode": "Batch Mode",
    "batchModeDesc": "Offline inference, 50% cheaper, completes within 24 hours",
    "batchModeEnabled": "Batch mode enabled",
    "batchModeDisabled": "Batch mode disabled"
  },
  "promptModal": {
    "title": "Edit Shot #{number} Video Prompt",
    "shotType": "Shot Type:",
    "duration": "s",
    "location": "Location:",
    "locationUnknown": "Unknown",
    "characters": "Characters:",
    "charactersNone": "None",
    "description": "Description:",
    "text": "Corresponding Text:",
    "promptLabel": "Video Prompt",
    "placeholder": "Enter video prompt...",
    "tip": "Tip: Video models don't recognize character names, use appearance descriptions like \"young man with black hair and blue eyes\" instead of \"Victor\"",
    "save": "Save",
    "cancel": "Cancel"
  },
  "toolbar": {
    "title": "Video Generation",
    "filter": "Filter",
    "viewAll": "View All",
    "showGenerated": "Generated",
    "showPending": "Pending",
    "showFailed": "Failed",
    "totalShots": "Total {count} shots",
    "generatingShots": "{count} generating",
    "completedShots": "{count} completed",
    "failedShots": "{count} failed",
    "generateAll": "Generate All Videos",
    "batchConfigTitle": "Batch Generation Settings",
    "batchConfigDesc": "Choose model and parameters before generating all videos.",
    "confirmGenerateAll": "Confirm and Generate All",
    "confirming": "Submitting...",
    "noVideos": "No videos to download",
    "downloadCount": "Download {count} videos",
    "packing": "Packing...",
    "downloadAll": "Download All",
    "enterEditor": "Enter Video Editor",
    "enterEdit": "Enter Editor",
    "back": "Back"
  },
  "stage": {
    "title": "Video Generation",
    "generateAll": "Generate All",
    "regenerateFailed": "Retry Failed",
    "downloadAll": "Download All Videos",
    "enterEditor": "Enter Editor",
    "lipSyncStatus": "Lip syncing...",
    "hasSynced": "✓ Generated",
    "generating": "Generating...",
    "downloading": "Downloading...",
    "downloadProgress": "Preparing video files... {current}/{total}",
    "noVideos": "No generated videos",
    "scrollTo": "Jump to shot",
    "error": {
      "saveFailed": "Failed to save video prompt",
      "lipSyncFailed": "Lip sync failed",
      "fetchVideosFailed": "Failed to fetch video list"
    },
    "downloadFailed": "Download failed",
    "unknownError": "Unknown error"
  },
  "firstLastFrame": {
    "title": "First/Last Frame Settings",
    "firstFrame": "First Frame",
    "lastFrame": "Last Frame",
    "range": "Shot {from} → Shot {to}",
    "link": "Link",
    "unlink": "Unlink",
    "unlinkAction": "Unlink",
    "asLastFrameFor": "As last frame for Shot {number}",
    "asFirstFrameFor": "As first frame for Shot {number}",
    "customPrompt": "Custom Prompt",
    "promptPlaceholder": "Enter first/last frame video prompt...",
    "useDefault": "Use Default",
    "generate": "Generate First/Last Frame Video",
    "generated": "First/Last Frame Video Generated",
    "model": "Model",
    "withAudio": "With Audio",
    "audioOn": "On",
    "audioOff": "Off",
    "linkToNext": "Link to next panel (First/Last Frame)",
    "asLastFrame": "As last frame for Panel {number}",
    "thenTransitionTo": "then transition to"
  },
  "editor": {
    "alert": {
      "saveSuccess": "Saved successfully",
      "saveFailed": "Save failed",
      "exportStarted": "Export has started. Please wait...",
      "exportFailed": "Export failed"
    },
    "toolbar": {
      "back": "← Back",
      "saveDirty": "Save *",
      "saved": "Saved",
      "export": "Export Video"
    },
    "left": {
      "title": "Media Library",
      "description": "Clips imported from the video stage will appear here"
    },
    "right": {
      "title": "Properties",
      "clipLabel": "Clip:",
      "clipFallback": "Clip {index}",
      "durationLabel": "Duration:",
      "transitionLabel": "Transition to Next Clip",
      "deleteConfirm": "Delete this clip?",
      "deleteClip": "Delete Clip",
      "selectClipHint": "Select a clip to view properties"
    },
    "preview": {
      "emptyStartEditing": "Add media to start editing"
    },
    "timeline": {
      "zoomLabel": "Zoom:",
      "videoTrack": "Video",
      "emptyHint": "Drag video clips from media library to here",
      "audioTrack": "Voice",
      "audioBadge": "A"
    },
    "transition": {
      "title": "Transition",
      "duration": "Duration",
      "options": {
        "none": "None",
        "dissolve": "Dissolve",
        "fade": "Fade",
        "slide": "Slide"
      }
    }
  },
  "errors": {
    "unknownError": "Unknown error"
  },
  "capability": {
    "generationMode": "Generation mode",
    "generateAudio": "Generate audio",
    "duration": "Duration",
    "fps": "Frame rate",
    "resolution": "Resolution",
    "aspectRatio": "Aspect ratio",
    "reasoningEffort": "Reasoning effort",
    "voice": "Voice",
    "rate": "Rate",
    "mode": "Mode"
  },
  "unit": {
    "second": "s",
    "frame": "fps"
  },
  "common": {
    "generate": "Generate"
  }
}